diff --git a/src/status_im/ethereum/eip681.cljs b/src/status_im/ethereum/eip681.cljs index fb9d24f1a920..135e96e7481c 100644 --- a/src/status_im/ethereum/eip681.cljs +++ b/src/status_im/ethereum/eip681.cljs @@ -51,7 +51,11 @@ (let [[_ authority-path query] (re-find uri-pattern s)] (when authority-path (let [[_ raw-address chain-id function-name] (re-find authority-path-pattern authority-path)] - (when (or (if (string/starts-with? raw-address "pay-") (ens/is-valid-eth-name? (string/replace-first raw-address "pay-" ""))) (ethereum/address? raw-address)) + (when (or (ethereum/address? raw-address) + (if (string/starts-with? raw-address "pay-") + (let [pay-address (string/replace-first raw-address "pay-" "")] + (or (ens/is-valid-eth-name? pay-address) + (ethereum/address? pay-address))))) (let [address (if (string/starts-with? raw-address "pay-") (string/replace-first raw-address "pay-" "") raw-address)] (when-let [arguments (parse-arguments function-name query)] (merge {:address address :chain-id (if chain-id (js/parseInt chain-id) (ethereum/chain-keyword->chain-id :mainnet))}