diff --git a/.env b/.env index 16dc03a7..3bdd726b 100644 --- a/.env +++ b/.env @@ -1 +1,2 @@ VITE_INFURA_ENDPOINT='2599df54929b47099bda360958d75aaf' +VITE_WALLET_CONNECT_PROJECT_ID='' \ No newline at end of file diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index d2987e73..32299863 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -94,6 +94,11 @@ websocket. Do this by going to `about:config` and setting the Additionally you need to run with the `HTTPS` environment variable set to `true`. Note that `npm run pilot` will handle this automatically. +## WalletConnect + +To get WalletConnect working you need to set the `VITE_WALLET_CONNECT_PROJECT_ID` +environment variable with a project id that you can get at https://cloud.walletconnect.com/sign-in + ## Testing Automated tests for critical user journeys are coming Soon™️. Until then, here are several manual test cases to consider when making changes. It's worth noting that what to test depends on what the changes are. These test cases have limited utility when you are making a small change on a single screen; however, they are certainly a good idea when touching critical pieces such as transaction sending or secrets derivation. @@ -140,6 +145,7 @@ const baseUrl = 'https://gas-tank.urbit.org:3011'; 1. On the Bridge landing page, click the small "Activate" link 2. Paste the Invite code from the previous test case, and click "Go" 3. Download the Passport file, then use the enclosed Master Ticket and ID to login to Bridge again + ### Known Issues When testing the invite acceptance and login flow on Goerli, some of the Azimuth API calls will fail (e.g., `getConditional`). diff --git a/package-lock.json b/package-lock.json index b3ce94ef..96b2423b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -30,8 +30,10 @@ "@types/styled-system__css": "^5.0.15", "@urbit/nockjs": "^0.0.1", "@urbit/roller-api": "^0.1.15", - "@walletconnect/client": "^1.8.0", - "@walletconnect/qrcode-modal": "^1.8.0", + "@walletconnect/encoding": "^1.0.2", + "@walletconnect/sign-client": "^2.7.6", + "@walletconnect/types": "^2.7.6", + "@web3modal/standalone": "^2.4.1", "@welldone-software/why-did-you-render": "^3.2.3", "agent-base": "^6.0.2", "async-retry": "^1.2.3", @@ -1700,6 +1702,19 @@ "version": "5.50.0", "license": "Apache-2.0" }, + "node_modules/@lit-labs/ssr-dom-shim": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.1.1.tgz", + "integrity": "sha512-kXOeFbfCm4fFf2A3WwVEeQj55tMZa8c8/f9AKHMobQMkzNUfUj+antR3fRPaZJawsa1aZiP/Da3ndpZrwEe4rQ==" + }, + "node_modules/@lit/reactive-element": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.1.tgz", + "integrity": "sha512-va15kYZr7KZNNPZdxONGQzpUr+4sxVu7V/VG7a8mRfPPXUyhEYj5RzXCQmGrlP3tAh0L3HHm5AjBMFYRqlM9SA==", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.0.0" + } + }, "node_modules/@metamask/detect-provider": { "version": "1.2.0", "license": "ISC", @@ -1707,6 +1722,117 @@ "node": ">= 10" } }, + "node_modules/@motionone/animation": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/@motionone/animation/-/animation-10.15.1.tgz", + "integrity": "sha512-mZcJxLjHor+bhcPuIFErMDNyrdb2vJur8lSfMCsuCB4UyV8ILZLvK+t+pg56erv8ud9xQGK/1OGPt10agPrCyQ==", + "dependencies": { + "@motionone/easing": "^10.15.1", + "@motionone/types": "^10.15.1", + "@motionone/utils": "^10.15.1", + "tslib": "^2.3.1" + } + }, + "node_modules/@motionone/animation/node_modules/tslib": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" + }, + "node_modules/@motionone/dom": { + "version": "10.16.2", + "resolved": "https://registry.npmjs.org/@motionone/dom/-/dom-10.16.2.tgz", + "integrity": "sha512-bnuHdNbge1FutZXv+k7xub9oPWcF0hsu8y1HTH/qg6av58YI0VufZ3ngfC7p2xhMJMnoh0LXFma2EGTgPeCkeg==", + "dependencies": { + "@motionone/animation": "^10.15.1", + "@motionone/generators": "^10.15.1", + "@motionone/types": "^10.15.1", + "@motionone/utils": "^10.15.1", + "hey-listen": "^1.0.8", + "tslib": "^2.3.1" + } + }, + "node_modules/@motionone/dom/node_modules/tslib": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" + }, + "node_modules/@motionone/easing": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/@motionone/easing/-/easing-10.15.1.tgz", + "integrity": "sha512-6hIHBSV+ZVehf9dcKZLT7p5PEKHGhDwky2k8RKkmOvUoYP3S+dXsKupyZpqx5apjd9f+php4vXk4LuS+ADsrWw==", + "dependencies": { + "@motionone/utils": "^10.15.1", + "tslib": "^2.3.1" + } + }, + "node_modules/@motionone/easing/node_modules/tslib": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" + }, + "node_modules/@motionone/generators": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/@motionone/generators/-/generators-10.15.1.tgz", + "integrity": "sha512-67HLsvHJbw6cIbLA/o+gsm7h+6D4Sn7AUrB/GPxvujse1cGZ38F5H7DzoH7PhX+sjvtDnt2IhFYF2Zp1QTMKWQ==", + "dependencies": { + "@motionone/types": "^10.15.1", + "@motionone/utils": "^10.15.1", + "tslib": "^2.3.1" + } + }, + "node_modules/@motionone/generators/node_modules/tslib": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" + }, + "node_modules/@motionone/svelte": { + "version": "10.16.2", + "resolved": "https://registry.npmjs.org/@motionone/svelte/-/svelte-10.16.2.tgz", + "integrity": "sha512-38xsroKrfK+aHYhuQlE6eFcGy0EwrB43Q7RGjF73j/kRUTcLNu/LAaKiLLsN5lyqVzCgTBVt4TMT/ShWbTbc5Q==", + "dependencies": { + "@motionone/dom": "^10.16.2", + "tslib": "^2.3.1" + } + }, + "node_modules/@motionone/svelte/node_modules/tslib": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" + }, + "node_modules/@motionone/types": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/@motionone/types/-/types-10.15.1.tgz", + "integrity": "sha512-iIUd/EgUsRZGrvW0jqdst8st7zKTzS9EsKkP+6c6n4MPZoQHwiHuVtTQLD6Kp0bsBLhNzKIBlHXponn/SDT4hA==" + }, + "node_modules/@motionone/utils": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/@motionone/utils/-/utils-10.15.1.tgz", + "integrity": "sha512-p0YncgU+iklvYr/Dq4NobTRdAPv9PveRDUXabPEeOjBLSO/1FNB2phNTZxOxpi1/GZwYpAoECEa0Wam+nsmhSw==", + "dependencies": { + "@motionone/types": "^10.15.1", + "hey-listen": "^1.0.8", + "tslib": "^2.3.1" + } + }, + "node_modules/@motionone/utils/node_modules/tslib": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" + }, + "node_modules/@motionone/vue": { + "version": "10.16.2", + "resolved": "https://registry.npmjs.org/@motionone/vue/-/vue-10.16.2.tgz", + "integrity": "sha512-7/dEK/nWQXOkJ70bqb2KyNfSWbNvWqKKq1C8juj+0Mg/AorgD8O5wE3naddK0G+aXuNMqRuc4jlsYHHWHtIzVw==", + "dependencies": { + "@motionone/dom": "^10.16.2", + "tslib": "^2.3.1" + } + }, + "node_modules/@motionone/vue/node_modules/tslib": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" + }, "node_modules/@noble/hashes": { "version": "1.1.2", "funding": [ @@ -2047,6 +2173,152 @@ "@scure/base": "~1.1.0" } }, + "node_modules/@stablelib/aead": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/aead/-/aead-1.0.1.tgz", + "integrity": "sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg==" + }, + "node_modules/@stablelib/binary": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz", + "integrity": "sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==", + "dependencies": { + "@stablelib/int": "^1.0.1" + } + }, + "node_modules/@stablelib/bytes": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/bytes/-/bytes-1.0.1.tgz", + "integrity": "sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ==" + }, + "node_modules/@stablelib/chacha": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/chacha/-/chacha-1.0.1.tgz", + "integrity": "sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg==", + "dependencies": { + "@stablelib/binary": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/chacha20poly1305": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz", + "integrity": "sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA==", + "dependencies": { + "@stablelib/aead": "^1.0.1", + "@stablelib/binary": "^1.0.1", + "@stablelib/chacha": "^1.0.1", + "@stablelib/constant-time": "^1.0.1", + "@stablelib/poly1305": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/constant-time/-/constant-time-1.0.1.tgz", + "integrity": "sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg==" + }, + "node_modules/@stablelib/ed25519": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@stablelib/ed25519/-/ed25519-1.0.3.tgz", + "integrity": "sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg==", + "dependencies": { + "@stablelib/random": "^1.0.2", + "@stablelib/sha512": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/hash": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/hash/-/hash-1.0.1.tgz", + "integrity": "sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==" + }, + "node_modules/@stablelib/hkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/hkdf/-/hkdf-1.0.1.tgz", + "integrity": "sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g==", + "dependencies": { + "@stablelib/hash": "^1.0.1", + "@stablelib/hmac": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/hmac": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/hmac/-/hmac-1.0.1.tgz", + "integrity": "sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA==", + "dependencies": { + "@stablelib/constant-time": "^1.0.1", + "@stablelib/hash": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/int": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz", + "integrity": "sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==" + }, + "node_modules/@stablelib/keyagreement": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/keyagreement/-/keyagreement-1.0.1.tgz", + "integrity": "sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg==", + "dependencies": { + "@stablelib/bytes": "^1.0.1" + } + }, + "node_modules/@stablelib/poly1305": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/poly1305/-/poly1305-1.0.1.tgz", + "integrity": "sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA==", + "dependencies": { + "@stablelib/constant-time": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/random": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz", + "integrity": "sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==", + "dependencies": { + "@stablelib/binary": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/sha256": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/sha256/-/sha256-1.0.1.tgz", + "integrity": "sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ==", + "dependencies": { + "@stablelib/binary": "^1.0.1", + "@stablelib/hash": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/sha512": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/sha512/-/sha512-1.0.1.tgz", + "integrity": "sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw==", + "dependencies": { + "@stablelib/binary": "^1.0.1", + "@stablelib/hash": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "node_modules/@stablelib/wipe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz", + "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" + }, + "node_modules/@stablelib/x25519": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@stablelib/x25519/-/x25519-1.0.3.tgz", + "integrity": "sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw==", + "dependencies": { + "@stablelib/keyagreement": "^1.0.1", + "@stablelib/random": "^1.0.2", + "@stablelib/wipe": "^1.0.1" + } + }, "node_modules/@styled-system/background": { "version": "5.1.2", "license": "MIT", @@ -2898,6 +3170,11 @@ "@types/jest": "*" } }, + "node_modules/@types/trusted-types": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz", + "integrity": "sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==" + }, "node_modules/@types/warning": { "version": "3.0.0", "license": "MIT" @@ -2984,178 +3261,496 @@ "node": ">=0.10.0" } }, - "node_modules/@walletconnect/browser-utils": { - "version": "1.8.0", - "license": "Apache-2.0", + "node_modules/@walletconnect/encoding": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/encoding/-/encoding-1.0.2.tgz", + "integrity": "sha512-CrwSBrjqJ7rpGQcTL3kU+Ief+Bcuu9PH6JLOb+wM6NITX1GTxR/MfNwnQfhLKK6xpRAyj2/nM04OOH6wS8Imag==", "dependencies": { - "@walletconnect/safe-json": "1.0.0", - "@walletconnect/types": "^1.8.0", - "@walletconnect/window-getters": "1.0.0", - "@walletconnect/window-metadata": "1.0.0", - "detect-browser": "5.2.0" + "is-typedarray": "1.0.0", + "tslib": "1.14.1", + "typedarray-to-buffer": "3.1.5" } }, - "node_modules/@walletconnect/client": { - "version": "1.8.0", - "license": "Apache-2.0", + "node_modules/@walletconnect/environment": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/environment/-/environment-1.0.1.tgz", + "integrity": "sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg==", "dependencies": { - "@walletconnect/core": "^1.8.0", - "@walletconnect/iso-crypto": "^1.8.0", - "@walletconnect/types": "^1.8.0", - "@walletconnect/utils": "^1.8.0" + "tslib": "1.14.1" } }, - "node_modules/@walletconnect/core": { - "version": "1.8.0", - "license": "Apache-2.0", + "node_modules/@walletconnect/events": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/events/-/events-1.0.1.tgz", + "integrity": "sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ==", "dependencies": { - "@walletconnect/socket-transport": "^1.8.0", - "@walletconnect/types": "^1.8.0", - "@walletconnect/utils": "^1.8.0" + "keyvaluestorage-interface": "^1.0.0", + "tslib": "1.14.1" } }, - "node_modules/@walletconnect/crypto": { + "node_modules/@walletconnect/heartbeat": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@walletconnect/heartbeat/-/heartbeat-1.2.1.tgz", + "integrity": "sha512-yVzws616xsDLJxuG/28FqtZ5rzrTA4gUjdEMTbWB5Y8V1XHRmqq4efAxCw5ie7WjbXFSUyBHaWlMR+2/CpQC5Q==", + "dependencies": { + "@walletconnect/events": "^1.0.1", + "@walletconnect/time": "^1.0.2", + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/jsonrpc-provider": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.13.tgz", + "integrity": "sha512-K73EpThqHnSR26gOyNEL+acEex3P7VWZe6KE12ZwKzAt2H4e5gldZHbjsu2QR9cLeJ8AXuO7kEMOIcRv1QEc7g==", + "dependencies": { + "@walletconnect/jsonrpc-utils": "^1.0.8", + "@walletconnect/safe-json": "^1.0.2", + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/jsonrpc-provider/node_modules/@walletconnect/safe-json": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.2.tgz", + "integrity": "sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==", "dependencies": { - "@walletconnect/encoding": "^1.0.1", - "@walletconnect/environment": "^1.0.0", - "@walletconnect/randombytes": "^1.0.2", - "aes-js": "^3.1.2", - "hash.js": "^1.1.7" + "tslib": "1.14.1" } }, - "node_modules/@walletconnect/crypto/node_modules/aes-js": { - "version": "3.1.2", - "license": "MIT" + "node_modules/@walletconnect/jsonrpc-types": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.3.tgz", + "integrity": "sha512-iIQ8hboBl3o5ufmJ8cuduGad0CQm3ZlsHtujv9Eu16xq89q+BG7Nh5VLxxUgmtpnrePgFkTwXirCTkwJH1v+Yw==", + "dependencies": { + "keyvaluestorage-interface": "^1.0.0", + "tslib": "1.14.1" + } }, - "node_modules/@walletconnect/encoding": { - "version": "1.0.1", - "license": "MIT", + "node_modules/@walletconnect/jsonrpc-utils": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.8.tgz", + "integrity": "sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw==", "dependencies": { - "is-typedarray": "1.0.0", - "typedarray-to-buffer": "3.1.5" + "@walletconnect/environment": "^1.0.1", + "@walletconnect/jsonrpc-types": "^1.0.3", + "tslib": "1.14.1" } }, - "node_modules/@walletconnect/environment": { - "version": "1.0.0", - "license": "MIT" + "node_modules/@walletconnect/jsonrpc-ws-connection": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.11.tgz", + "integrity": "sha512-TiFJ6saasKXD+PwGkm5ZGSw0837nc6EeFmurSPgIT/NofnOV4Tv7CVJqGQN0rQYoJUSYu21cwHNYaFkzNpUN+w==", + "dependencies": { + "@walletconnect/jsonrpc-utils": "^1.0.6", + "@walletconnect/safe-json": "^1.0.2", + "events": "^3.3.0", + "tslib": "1.14.1", + "ws": "^7.5.1" + } }, - "node_modules/@walletconnect/iso-crypto": { - "version": "1.8.0", - "license": "Apache-2.0", + "node_modules/@walletconnect/jsonrpc-ws-connection/node_modules/@walletconnect/safe-json": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.2.tgz", + "integrity": "sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==", "dependencies": { - "@walletconnect/crypto": "^1.0.2", - "@walletconnect/types": "^1.8.0", - "@walletconnect/utils": "^1.8.0" + "tslib": "1.14.1" } }, - "node_modules/@walletconnect/jsonrpc-types": { - "version": "1.0.1", - "license": "MIT", + "node_modules/@walletconnect/logger": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/logger/-/logger-2.0.1.tgz", + "integrity": "sha512-SsTKdsgWm+oDTBeNE/zHxxr5eJfZmE9/5yp/Ku+zJtcTAjELb3DXueWkDXmE9h8uHIbJzIb5wj5lPdzyrjT6hQ==", "dependencies": { - "keyvaluestorage-interface": "^1.0.0" + "pino": "7.11.0", + "tslib": "1.14.1" } }, - "node_modules/@walletconnect/jsonrpc-utils": { - "version": "1.0.3", - "license": "MIT", + "node_modules/@walletconnect/relay-api": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@walletconnect/relay-api/-/relay-api-1.0.9.tgz", + "integrity": "sha512-Q3+rylJOqRkO1D9Su0DPE3mmznbAalYapJ9qmzDgK28mYF9alcP3UwG/og5V7l7CFOqzCLi7B8BvcBUrpDj0Rg==", "dependencies": { - "@walletconnect/environment": "^1.0.0", - "@walletconnect/jsonrpc-types": "^1.0.1" + "@walletconnect/jsonrpc-types": "^1.0.2", + "tslib": "1.14.1" } }, - "node_modules/@walletconnect/mobile-registry": { - "version": "1.4.0", - "license": "MIT" + "node_modules/@walletconnect/relay-auth": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@walletconnect/relay-auth/-/relay-auth-1.0.4.tgz", + "integrity": "sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ==", + "dependencies": { + "@stablelib/ed25519": "^1.0.2", + "@stablelib/random": "^1.0.1", + "@walletconnect/safe-json": "^1.0.1", + "@walletconnect/time": "^1.0.2", + "tslib": "1.14.1", + "uint8arrays": "^3.0.0" + } }, - "node_modules/@walletconnect/qrcode-modal": { - "version": "1.8.0", - "license": "Apache-2.0", + "node_modules/@walletconnect/relay-auth/node_modules/@walletconnect/safe-json": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.2.tgz", + "integrity": "sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==", + "dependencies": { + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/sign-client": { + "version": "2.7.6", + "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.7.6.tgz", + "integrity": "sha512-u3wVjK1XAhj1ZVzAs+SP5VYEP2FWYH/y6tnaLHLqZcsoZ/a2sGCnJlK9y7HA6q3jLBt6lVBkT1qSU4pmBY4xlw==", "dependencies": { - "@walletconnect/browser-utils": "^1.8.0", - "@walletconnect/mobile-registry": "^1.4.0", - "@walletconnect/types": "^1.8.0", - "copy-to-clipboard": "^3.3.1", - "preact": "10.4.1", - "qrcode": "1.4.4" + "@walletconnect/core": "2.7.6", + "@walletconnect/events": "^1.0.1", + "@walletconnect/heartbeat": "1.2.1", + "@walletconnect/jsonrpc-utils": "1.0.8", + "@walletconnect/logger": "^2.0.1", + "@walletconnect/time": "^1.0.2", + "@walletconnect/types": "2.7.6", + "@walletconnect/utils": "2.7.6", + "events": "^3.3.0" } }, - "node_modules/@walletconnect/randombytes": { + "node_modules/@walletconnect/sign-client/node_modules/@walletconnect/core": { + "version": "2.7.6", + "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.7.6.tgz", + "integrity": "sha512-EPzKfH9EpOVmJhfedddpNjG6Lz0zWnAZSBvXSeuBlOyD3Aayiky3HuiDcpK+YyRzyWEsh2kWMvvTZ6v0uFAApQ==", + "dependencies": { + "@walletconnect/heartbeat": "1.2.1", + "@walletconnect/jsonrpc-provider": "1.0.13", + "@walletconnect/jsonrpc-types": "1.0.3", + "@walletconnect/jsonrpc-utils": "1.0.8", + "@walletconnect/jsonrpc-ws-connection": "^1.0.11", + "@walletconnect/keyvaluestorage": "^1.0.2", + "@walletconnect/logger": "^2.0.1", + "@walletconnect/relay-api": "^1.0.9", + "@walletconnect/relay-auth": "^1.0.4", + "@walletconnect/safe-json": "^1.0.2", + "@walletconnect/time": "^1.0.2", + "@walletconnect/types": "2.7.6", + "@walletconnect/utils": "2.7.6", + "events": "^3.3.0", + "lodash.isequal": "4.5.0", + "uint8arrays": "^3.1.0" + } + }, + "node_modules/@walletconnect/sign-client/node_modules/@walletconnect/keyvaluestorage": { "version": "1.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.0.2.tgz", + "integrity": "sha512-U/nNG+VLWoPFdwwKx0oliT4ziKQCEoQ27L5Hhw8YOFGA2Po9A9pULUYNWhDgHkrb0gYDNt//X7wABcEWWBd3FQ==", "dependencies": { - "@walletconnect/encoding": "^1.0.1", - "@walletconnect/environment": "^1.0.0", - "randombytes": "^2.1.0" + "safe-json-utils": "^1.1.1", + "tslib": "1.14.1" + }, + "peerDependencies": { + "@react-native-async-storage/async-storage": "1.x", + "lokijs": "1.x" + }, + "peerDependenciesMeta": { + "@react-native-async-storage/async-storage": { + "optional": true + }, + "lokijs": { + "optional": true + } } }, - "node_modules/@walletconnect/safe-json": { - "version": "1.0.0", - "license": "MIT" + "node_modules/@walletconnect/sign-client/node_modules/@walletconnect/safe-json": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.2.tgz", + "integrity": "sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==", + "dependencies": { + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/sign-client/node_modules/@walletconnect/utils": { + "version": "2.7.6", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.7.6.tgz", + "integrity": "sha512-IS5eRWihW3L4qHG7pT9L8NtjuY5gbE0D5yqcgT2wnZ/1IDl9OihVT37CWM66Ppf6i195Uuwagfl+Qw8RlECeKg==", + "dependencies": { + "@stablelib/chacha20poly1305": "1.0.1", + "@stablelib/hkdf": "1.0.1", + "@stablelib/random": "^1.0.2", + "@stablelib/sha256": "1.0.1", + "@stablelib/x25519": "^1.0.3", + "@walletconnect/relay-api": "^1.0.9", + "@walletconnect/safe-json": "^1.0.2", + "@walletconnect/time": "^1.0.2", + "@walletconnect/types": "2.7.6", + "@walletconnect/window-getters": "^1.0.1", + "@walletconnect/window-metadata": "^1.0.1", + "detect-browser": "5.3.0", + "query-string": "7.1.3", + "uint8arrays": "^3.1.0" + } + }, + "node_modules/@walletconnect/sign-client/node_modules/@walletconnect/window-getters": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/window-getters/-/window-getters-1.0.1.tgz", + "integrity": "sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q==", + "dependencies": { + "tslib": "1.14.1" + } }, - "node_modules/@walletconnect/socket-transport": { - "version": "1.8.0", - "license": "Apache-2.0", + "node_modules/@walletconnect/sign-client/node_modules/@walletconnect/window-metadata": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz", + "integrity": "sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA==", "dependencies": { - "@walletconnect/types": "^1.8.0", - "@walletconnect/utils": "^1.8.0", - "ws": "7.5.3" + "@walletconnect/window-getters": "^1.0.1", + "tslib": "1.14.1" } }, - "node_modules/@walletconnect/socket-transport/node_modules/ws": { - "version": "7.5.3", - "license": "MIT", + "node_modules/@walletconnect/sign-client/node_modules/detect-browser": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/detect-browser/-/detect-browser-5.3.0.tgz", + "integrity": "sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==" + }, + "node_modules/@walletconnect/sign-client/node_modules/query-string": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz", + "integrity": "sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==", + "dependencies": { + "decode-uri-component": "^0.2.2", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + }, "engines": { - "node": ">=8.3.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@walletconnect/time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/time/-/time-1.0.2.tgz", + "integrity": "sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g==", + "dependencies": { + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/types": { + "version": "2.7.6", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.7.6.tgz", + "integrity": "sha512-678xFaf5AULHMsd1JdN1X+iMHUt75bPUAOsQ0oSA4mtKZW/vS1jMqe3siXQKEOXFWyIJoQD1Q8clDO9oZ00/hg==", + "dependencies": { + "@walletconnect/events": "^1.0.1", + "@walletconnect/heartbeat": "1.2.1", + "@walletconnect/jsonrpc-types": "1.0.3", + "@walletconnect/keyvaluestorage": "^1.0.2", + "@walletconnect/logger": "^2.0.1", + "events": "^3.3.0" + } + }, + "node_modules/@walletconnect/types/node_modules/@walletconnect/keyvaluestorage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.0.2.tgz", + "integrity": "sha512-U/nNG+VLWoPFdwwKx0oliT4ziKQCEoQ27L5Hhw8YOFGA2Po9A9pULUYNWhDgHkrb0gYDNt//X7wABcEWWBd3FQ==", + "dependencies": { + "safe-json-utils": "^1.1.1", + "tslib": "1.14.1" }, "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" + "@react-native-async-storage/async-storage": "1.x", + "lokijs": "1.x" }, "peerDependenciesMeta": { - "bufferutil": { + "@react-native-async-storage/async-storage": { "optional": true }, - "utf-8-validate": { + "lokijs": { "optional": true } } }, - "node_modules/@walletconnect/types": { - "version": "1.8.0", - "license": "Apache-2.0" + "node_modules/@web3modal/core": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@web3modal/core/-/core-2.4.1.tgz", + "integrity": "sha512-v6Y/eQJSI2YfUTv8rGqjFabqdk3ZPjx6Fe7j5Q8fw0ZWF1YRGM3mySG457qtKQ7D7E1kNKA3BHbaOZ3pgQoG6A==", + "dependencies": { + "buffer": "6.0.3", + "valtio": "1.10.5" + } + }, + "node_modules/@web3modal/standalone": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@web3modal/standalone/-/standalone-2.4.1.tgz", + "integrity": "sha512-ZrI5LwWeT9sd8A3FdIX/gBp3ZrzrX882Ln1vJN0LTCmeP2OUsYcW5bPxjv1PcJ1YUBY7Tg4aTgMUnAVTTuqb+w==", + "dependencies": { + "@web3modal/core": "2.4.1", + "@web3modal/ui": "2.4.1" + } + }, + "node_modules/@web3modal/ui": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@web3modal/ui/-/ui-2.4.1.tgz", + "integrity": "sha512-x1ceyd3mMJsIHs5UUTLvE+6qyCjhyjL6gB/wVmTDbwASHSQIVyshQJ+s7BwIEMP/pbAsYDg+/M8EiUuE+/E/kg==", + "dependencies": { + "@web3modal/core": "2.4.1", + "lit": "2.7.4", + "motion": "10.15.5", + "qrcode": "1.5.3" + } + }, + "node_modules/@web3modal/ui/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "node_modules/@web3modal/ui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/@web3modal/ui/node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@web3modal/ui/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@web3modal/ui/node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@web3modal/ui/node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@web3modal/ui/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@web3modal/ui/node_modules/pngjs": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", + "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==", + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@web3modal/ui/node_modules/qrcode": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.3.tgz", + "integrity": "sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==", + "dependencies": { + "dijkstrajs": "^1.0.1", + "encode-utf8": "^1.0.3", + "pngjs": "^5.0.0", + "yargs": "^15.3.1" + }, + "bin": { + "qrcode": "bin/qrcode" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@web3modal/ui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@web3modal/ui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@web3modal/ui/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } }, - "node_modules/@walletconnect/utils": { - "version": "1.8.0", - "license": "Apache-2.0", + "node_modules/@web3modal/ui/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", "dependencies": { - "@walletconnect/browser-utils": "^1.8.0", - "@walletconnect/encoding": "^1.0.1", - "@walletconnect/jsonrpc-utils": "^1.0.3", - "@walletconnect/types": "^1.8.0", - "bn.js": "4.11.8", - "js-sha3": "0.8.0", - "query-string": "6.13.5" + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + }, + "engines": { + "node": ">=8" } }, - "node_modules/@walletconnect/utils/node_modules/bn.js": { - "version": "4.11.8", - "license": "MIT" - }, - "node_modules/@walletconnect/utils/node_modules/js-sha3": { - "version": "0.8.0", - "license": "MIT" - }, - "node_modules/@walletconnect/window-getters": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/@walletconnect/window-metadata": { - "version": "1.0.0", - "license": "MIT", + "node_modules/@web3modal/ui/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", "dependencies": { - "@walletconnect/window-getters": "^1.0.0" + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" } }, "node_modules/@welldone-software/why-did-you-render": { @@ -3507,6 +4102,14 @@ "node": ">= 4.5.0" } }, + "node_modules/atomic-sleep": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", + "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", + "engines": { + "node": ">=8.0.0" + } + }, "node_modules/available-typed-arrays": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", @@ -4230,25 +4833,12 @@ "ieee754": "^1.2.1" } }, - "node_modules/buffer-alloc": { - "version": "1.2.0", - "license": "MIT", - "dependencies": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "node_modules/buffer-alloc-unsafe": { - "version": "1.1.0", - "license": "MIT" - }, - "node_modules/buffer-fill": { - "version": "1.0.0", - "license": "MIT" - }, "node_modules/buffer-from": { "version": "1.1.2", - "license": "MIT" + "dev": true, + "license": "MIT", + "optional": true, + "peer": true }, "node_modules/buffer-to-arraybuffer": { "version": "0.0.5", @@ -4666,15 +5256,6 @@ "dev": true, "license": "ISC" }, - "node_modules/cliui": { - "version": "5.0.0", - "license": "ISC", - "dependencies": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, "node_modules/clone-response": { "version": "1.0.2", "license": "MIT", @@ -5059,8 +5640,9 @@ } }, "node_modules/decode-uri-component": { - "version": "0.2.0", - "license": "MIT", + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==", "engines": { "node": ">=0.10" } @@ -5148,10 +5730,6 @@ "version": "1.0.4", "license": "MIT" }, - "node_modules/detect-browser": { - "version": "5.2.0", - "license": "MIT" - }, "node_modules/detect-indent": { "version": "4.0.0", "license": "MIT", @@ -5235,6 +5813,17 @@ "version": "0.1.4", "license": "BSD-3-Clause" }, + "node_modules/duplexify": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", + "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", + "dependencies": { + "end-of-stream": "^1.4.1", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1", + "stream-shift": "^1.0.0" + } + }, "node_modules/ecc-jsbn": { "version": "0.1.2", "license": "MIT", @@ -5267,7 +5856,14 @@ }, "node_modules/emoji-regex": { "version": "7.0.3", - "license": "MIT" + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/encode-utf8": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", + "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==" }, "node_modules/encodeurl": { "version": "1.0.2", @@ -6152,6 +6748,14 @@ "license": "MIT", "peer": true }, + "node_modules/fast-redact": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.2.0.tgz", + "integrity": "sha512-zaTadChr+NekyzallAMXATXLOR8MNx3zqpZ0MUF2aGf4EathnG0f32VLODNlY8IuGY3HoRO2L6/6fSzNsLaHIw==", + "engines": { + "node": ">=6" + } + }, "node_modules/fast-safe-stringify": { "version": "2.1.1", "license": "MIT" @@ -6214,6 +6818,14 @@ "minimatch": "^3.0.4" } }, + "node_modules/filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/final-form": { "version": "4.20.2", "license": "MIT", @@ -6257,6 +6869,7 @@ }, "node_modules/find-up": { "version": "3.0.0", + "dev": true, "license": "MIT", "dependencies": { "locate-path": "^3.0.0" @@ -7792,6 +8405,11 @@ "minimalistic-assert": "^1.0.1" } }, + "node_modules/hey-listen": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz", + "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==" + }, "node_modules/hmac-drbg": { "version": "1.0.1", "license": "MIT", @@ -8460,6 +9078,7 @@ }, "node_modules/is-fullwidth-code-point": { "version": "2.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -9058,6 +9677,34 @@ "dev": true, "license": "MIT" }, + "node_modules/lit": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/lit/-/lit-2.7.4.tgz", + "integrity": "sha512-cgD7xrZoYr21mbrkZIuIrj98YTMw/snJPg52deWVV4A8icLyNHI3bF70xsJeAgwTuiq5Kkd+ZR8gybSJDCPB7g==", + "dependencies": { + "@lit/reactive-element": "^1.6.0", + "lit-element": "^3.3.0", + "lit-html": "^2.7.0" + } + }, + "node_modules/lit-element": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.2.tgz", + "integrity": "sha512-xXAeVWKGr4/njq0rGC9dethMnYCq5hpKYrgQZYTzawt9YQhMiXfD+T1RgrdY3NamOxwq2aXlb0vOI6e29CKgVQ==", + "dependencies": { + "@lit-labs/ssr-dom-shim": "^1.1.0", + "@lit/reactive-element": "^1.3.0", + "lit-html": "^2.7.0" + } + }, + "node_modules/lit-html": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.7.4.tgz", + "integrity": "sha512-/Jw+FBpeEN+z8X6PJva5n7+0MzCVAH2yypN99qHYYkq8bI+j7I39GH+68Z/MZD6rGKDK9RpzBw7CocfmHfq6+g==", + "dependencies": { + "@types/trusted-types": "^2.0.2" + } + }, "node_modules/local-pkg": { "version": "0.4.2", "dev": true, @@ -9071,6 +9718,7 @@ }, "node_modules/locate-path": { "version": "3.0.0", + "dev": true, "license": "MIT", "dependencies": { "p-locate": "^3.0.0", @@ -9331,6 +9979,19 @@ "iced-runtime": ">=0.0.1" } }, + "node_modules/motion": { + "version": "10.15.5", + "resolved": "https://registry.npmjs.org/motion/-/motion-10.15.5.tgz", + "integrity": "sha512-ejP6KioN4pigTGxL93APzOnvtLklParL59UQB2T3HWXQBxFcIp5/7YXFmkgiA6pNKKzjvnLhnonRBN5iSFMnNw==", + "dependencies": { + "@motionone/animation": "^10.15.1", + "@motionone/dom": "^10.15.5", + "@motionone/svelte": "^10.15.5", + "@motionone/types": "^10.15.1", + "@motionone/utils": "^10.15.1", + "@motionone/vue": "^10.15.5" + } + }, "node_modules/ms": { "version": "2.0.0", "license": "MIT" @@ -9373,6 +10034,11 @@ "varint": "^5.0.0" } }, + "node_modules/multiformats": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" + }, "node_modules/multihashes": { "version": "0.4.21", "license": "MIT", @@ -9746,6 +10412,11 @@ "node": ">=0.10.0" } }, + "node_modules/on-exit-leak-free": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz", + "integrity": "sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==" + }, "node_modules/on-finished": { "version": "2.3.0", "license": "MIT", @@ -9839,6 +10510,7 @@ }, "node_modules/p-locate": { "version": "3.0.0", + "dev": true, "license": "MIT", "dependencies": { "p-limit": "^2.0.0" @@ -9903,6 +10575,7 @@ }, "node_modules/path-exists": { "version": "3.0.0", + "dev": true, "license": "MIT", "engines": { "node": ">=4" @@ -9998,6 +10671,41 @@ "node": ">=4" } }, + "node_modules/pino": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-7.11.0.tgz", + "integrity": "sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==", + "dependencies": { + "atomic-sleep": "^1.0.0", + "fast-redact": "^3.0.0", + "on-exit-leak-free": "^0.2.0", + "pino-abstract-transport": "v0.5.0", + "pino-std-serializers": "^4.0.0", + "process-warning": "^1.0.0", + "quick-format-unescaped": "^4.0.3", + "real-require": "^0.1.0", + "safe-stable-stringify": "^2.1.0", + "sonic-boom": "^2.2.1", + "thread-stream": "^0.15.1" + }, + "bin": { + "pino": "bin.js" + } + }, + "node_modules/pino-abstract-transport": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz", + "integrity": "sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==", + "dependencies": { + "duplexify": "^4.1.2", + "split2": "^4.0.0" + } + }, + "node_modules/pino-std-serializers": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz", + "integrity": "sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==" + }, "node_modules/please-upgrade-node": { "version": "3.2.0", "dev": true, @@ -10006,13 +10714,6 @@ "semver-compare": "^1.0.0" } }, - "node_modules/pngjs": { - "version": "3.4.0", - "license": "MIT", - "engines": { - "node": ">=4.0.0" - } - }, "node_modules/pnglib": { "version": "0.0.1", "license": "BSD" @@ -10021,14 +10722,6 @@ "version": "4.1.0", "license": "MIT" }, - "node_modules/preact": { - "version": "10.4.1", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/preact" - } - }, "node_modules/prelude-ls": { "version": "1.1.2", "dev": true, @@ -10100,6 +10793,11 @@ "node": ">= 0.6.0" } }, + "node_modules/process-warning": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-1.0.0.tgz", + "integrity": "sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==" + }, "node_modules/progress": { "version": "2.0.3", "dev": true, @@ -10129,6 +10827,11 @@ "node": ">= 0.10" } }, + "node_modules/proxy-compare": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/proxy-compare/-/proxy-compare-2.5.1.tgz", + "integrity": "sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA==" + }, "node_modules/pseudomap": { "version": "1.0.2", "dev": true, @@ -10172,52 +10875,6 @@ "bitcoin-ops": "^1.3.0" } }, - "node_modules/qrcode": { - "version": "1.4.4", - "license": "MIT", - "dependencies": { - "buffer": "^5.4.3", - "buffer-alloc": "^1.2.0", - "buffer-from": "^1.1.1", - "dijkstrajs": "^1.0.1", - "isarray": "^2.0.1", - "pngjs": "^3.3.0", - "yargs": "^13.2.4" - }, - "bin": { - "qrcode": "bin/qrcode" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/qrcode/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/qrcode/node_modules/isarray": { - "version": "2.0.5", - "license": "MIT" - }, "node_modules/qs": { "version": "6.7.0", "license": "BSD-3-Clause", @@ -10225,20 +10882,10 @@ "node": ">=0.6" } }, - "node_modules/query-string": { - "version": "6.13.5", - "license": "MIT", - "dependencies": { - "decode-uri-component": "^0.2.0", - "split-on-first": "^1.0.0", - "strict-uri-encode": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } + "node_modules/quick-format-unescaped": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", + "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" }, "node_modules/quick-lru": { "version": "5.1.1", @@ -10418,6 +11065,14 @@ "node": ">=8.10.0" } }, + "node_modules/real-require": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.1.0.tgz", + "integrity": "sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==", + "engines": { + "node": ">= 12.13.0" + } + }, "node_modules/redent": { "version": "3.0.0", "dev": true, @@ -10701,6 +11356,11 @@ ], "license": "MIT" }, + "node_modules/safe-json-utils": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/safe-json-utils/-/safe-json-utils-1.1.1.tgz", + "integrity": "sha512-SAJWGKDs50tAbiDXLf89PDwt9XYkWyANFWVzn4dTXl5QyI8t2o/bW5/OJl3lvc2WVU4MEpTo9Yz5NVFNsp+OJQ==" + }, "node_modules/safe-regex-test": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", @@ -10714,6 +11374,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/safe-stable-stringify": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", + "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==", + "engines": { + "node": ">=10" + } + }, "node_modules/safer-buffer": { "version": "2.1.2", "license": "MIT" @@ -11192,6 +11860,14 @@ "dev": true, "peer": true }, + "node_modules/sonic-boom": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-2.8.0.tgz", + "integrity": "sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==", + "dependencies": { + "atomic-sleep": "^1.0.0" + } + }, "node_modules/source-map": { "version": "0.5.7", "license": "BSD-3-Clause", @@ -11430,6 +12106,14 @@ "node": ">=6" } }, + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "engines": { + "node": ">= 10.x" + } + }, "node_modules/sprintf-js": { "version": "1.0.3", "dev": true, @@ -11475,6 +12159,11 @@ "readable-stream": "^3.5.0" } }, + "node_modules/stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" + }, "node_modules/strict-event-emitter-types": { "version": "2.0.0", "license": "ISC" @@ -11495,7 +12184,9 @@ }, "node_modules/string-width": { "version": "3.1.0", + "dev": true, "license": "MIT", + "peer": true, "dependencies": { "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", @@ -11549,7 +12240,9 @@ }, "node_modules/strip-ansi": { "version": "5.2.0", + "dev": true, "license": "MIT", + "peer": true, "dependencies": { "ansi-regex": "^4.1.0" }, @@ -11559,7 +12252,9 @@ }, "node_modules/strip-ansi/node_modules/ansi-regex": { "version": "4.1.0", + "dev": true, "license": "MIT", + "peer": true, "engines": { "node": ">=6" } @@ -12035,6 +12730,14 @@ "license": "MIT", "peer": true }, + "node_modules/thread-stream": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-0.15.2.tgz", + "integrity": "sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==", + "dependencies": { + "real-require": "^0.1.0" + } + }, "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -12265,6 +12968,14 @@ "node": "*" } }, + "node_modules/uint8arrays": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", + "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", + "dependencies": { + "multiformats": "^9.4.2" + } + }, "node_modules/ultron": { "version": "1.1.1", "license": "MIT" @@ -12478,6 +13189,14 @@ "node": ">= 4" } }, + "node_modules/use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/utf-8-validate": { "version": "5.0.5", "hasInstallScript": true, @@ -12529,6 +13248,26 @@ "spdx-expression-parse": "^3.0.0" } }, + "node_modules/valtio": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/valtio/-/valtio-1.10.5.tgz", + "integrity": "sha512-jTp0k63VXf4r5hPoaC6a6LCG4POkVSh629WLi1+d5PlajLsbynTMd7qAgEiOSPxzoX5iNvbN7iZ/k/g29wrNiQ==", + "dependencies": { + "proxy-compare": "2.5.1", + "use-sync-external-store": "1.2.0" + }, + "engines": { + "node": ">=12.20.0" + }, + "peerDependencies": { + "react": ">=16.8" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + } + } + }, "node_modules/varint": { "version": "5.0.2", "license": "MIT" @@ -13504,39 +14243,6 @@ "node": ">=0.10.0" } }, - "node_modules/wrap-ansi": { - "version": "5.1.0", - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "3.2.1", - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "1.9.3", - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.3", - "license": "MIT" - }, "node_modules/wrappy": { "version": "1.0.2", "license": "ISC" @@ -13555,8 +14261,9 @@ } }, "node_modules/ws": { - "version": "7.4.6", - "license": "MIT", + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", "engines": { "node": ">=8.3.0" }, @@ -13675,30 +14382,6 @@ "node": ">= 6" } }, - "node_modules/yargs": { - "version": "13.3.2", - "license": "MIT", - "dependencies": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "node_modules/yargs-parser": { - "version": "13.1.2", - "license": "ISC", - "dependencies": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, "node_modules/zustand": { "version": "3.5.9", "license": "MIT", @@ -14713,9 +15396,147 @@ } } }, + "@lit-labs/ssr-dom-shim": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.1.1.tgz", + "integrity": "sha512-kXOeFbfCm4fFf2A3WwVEeQj55tMZa8c8/f9AKHMobQMkzNUfUj+antR3fRPaZJawsa1aZiP/Da3ndpZrwEe4rQ==" + }, + "@lit/reactive-element": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.1.tgz", + "integrity": "sha512-va15kYZr7KZNNPZdxONGQzpUr+4sxVu7V/VG7a8mRfPPXUyhEYj5RzXCQmGrlP3tAh0L3HHm5AjBMFYRqlM9SA==", + "requires": { + "@lit-labs/ssr-dom-shim": "^1.0.0" + } + }, "@metamask/detect-provider": { "version": "1.2.0" }, + "@motionone/animation": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/@motionone/animation/-/animation-10.15.1.tgz", + "integrity": "sha512-mZcJxLjHor+bhcPuIFErMDNyrdb2vJur8lSfMCsuCB4UyV8ILZLvK+t+pg56erv8ud9xQGK/1OGPt10agPrCyQ==", + "requires": { + "@motionone/easing": "^10.15.1", + "@motionone/types": "^10.15.1", + "@motionone/utils": "^10.15.1", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" + } + } + }, + "@motionone/dom": { + "version": "10.16.2", + "resolved": "https://registry.npmjs.org/@motionone/dom/-/dom-10.16.2.tgz", + "integrity": "sha512-bnuHdNbge1FutZXv+k7xub9oPWcF0hsu8y1HTH/qg6av58YI0VufZ3ngfC7p2xhMJMnoh0LXFma2EGTgPeCkeg==", + "requires": { + "@motionone/animation": "^10.15.1", + "@motionone/generators": "^10.15.1", + "@motionone/types": "^10.15.1", + "@motionone/utils": "^10.15.1", + "hey-listen": "^1.0.8", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" + } + } + }, + "@motionone/easing": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/@motionone/easing/-/easing-10.15.1.tgz", + "integrity": "sha512-6hIHBSV+ZVehf9dcKZLT7p5PEKHGhDwky2k8RKkmOvUoYP3S+dXsKupyZpqx5apjd9f+php4vXk4LuS+ADsrWw==", + "requires": { + "@motionone/utils": "^10.15.1", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" + } + } + }, + "@motionone/generators": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/@motionone/generators/-/generators-10.15.1.tgz", + "integrity": "sha512-67HLsvHJbw6cIbLA/o+gsm7h+6D4Sn7AUrB/GPxvujse1cGZ38F5H7DzoH7PhX+sjvtDnt2IhFYF2Zp1QTMKWQ==", + "requires": { + "@motionone/types": "^10.15.1", + "@motionone/utils": "^10.15.1", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" + } + } + }, + "@motionone/svelte": { + "version": "10.16.2", + "resolved": "https://registry.npmjs.org/@motionone/svelte/-/svelte-10.16.2.tgz", + "integrity": "sha512-38xsroKrfK+aHYhuQlE6eFcGy0EwrB43Q7RGjF73j/kRUTcLNu/LAaKiLLsN5lyqVzCgTBVt4TMT/ShWbTbc5Q==", + "requires": { + "@motionone/dom": "^10.16.2", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" + } + } + }, + "@motionone/types": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/@motionone/types/-/types-10.15.1.tgz", + "integrity": "sha512-iIUd/EgUsRZGrvW0jqdst8st7zKTzS9EsKkP+6c6n4MPZoQHwiHuVtTQLD6Kp0bsBLhNzKIBlHXponn/SDT4hA==" + }, + "@motionone/utils": { + "version": "10.15.1", + "resolved": "https://registry.npmjs.org/@motionone/utils/-/utils-10.15.1.tgz", + "integrity": "sha512-p0YncgU+iklvYr/Dq4NobTRdAPv9PveRDUXabPEeOjBLSO/1FNB2phNTZxOxpi1/GZwYpAoECEa0Wam+nsmhSw==", + "requires": { + "@motionone/types": "^10.15.1", + "hey-listen": "^1.0.8", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" + } + } + }, + "@motionone/vue": { + "version": "10.16.2", + "resolved": "https://registry.npmjs.org/@motionone/vue/-/vue-10.16.2.tgz", + "integrity": "sha512-7/dEK/nWQXOkJ70bqb2KyNfSWbNvWqKKq1C8juj+0Mg/AorgD8O5wE3naddK0G+aXuNMqRuc4jlsYHHWHtIzVw==", + "requires": { + "@motionone/dom": "^10.16.2", + "tslib": "^2.3.1" + }, + "dependencies": { + "tslib": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", + "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" + } + } + }, "@noble/hashes": { "version": "1.1.2" }, @@ -14950,6 +15771,152 @@ "@scure/base": "~1.1.0" } }, + "@stablelib/aead": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/aead/-/aead-1.0.1.tgz", + "integrity": "sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg==" + }, + "@stablelib/binary": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/binary/-/binary-1.0.1.tgz", + "integrity": "sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q==", + "requires": { + "@stablelib/int": "^1.0.1" + } + }, + "@stablelib/bytes": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/bytes/-/bytes-1.0.1.tgz", + "integrity": "sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ==" + }, + "@stablelib/chacha": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/chacha/-/chacha-1.0.1.tgz", + "integrity": "sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg==", + "requires": { + "@stablelib/binary": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "@stablelib/chacha20poly1305": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz", + "integrity": "sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA==", + "requires": { + "@stablelib/aead": "^1.0.1", + "@stablelib/binary": "^1.0.1", + "@stablelib/chacha": "^1.0.1", + "@stablelib/constant-time": "^1.0.1", + "@stablelib/poly1305": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "@stablelib/constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/constant-time/-/constant-time-1.0.1.tgz", + "integrity": "sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg==" + }, + "@stablelib/ed25519": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@stablelib/ed25519/-/ed25519-1.0.3.tgz", + "integrity": "sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg==", + "requires": { + "@stablelib/random": "^1.0.2", + "@stablelib/sha512": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "@stablelib/hash": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/hash/-/hash-1.0.1.tgz", + "integrity": "sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg==" + }, + "@stablelib/hkdf": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/hkdf/-/hkdf-1.0.1.tgz", + "integrity": "sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g==", + "requires": { + "@stablelib/hash": "^1.0.1", + "@stablelib/hmac": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "@stablelib/hmac": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/hmac/-/hmac-1.0.1.tgz", + "integrity": "sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA==", + "requires": { + "@stablelib/constant-time": "^1.0.1", + "@stablelib/hash": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "@stablelib/int": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/int/-/int-1.0.1.tgz", + "integrity": "sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w==" + }, + "@stablelib/keyagreement": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/keyagreement/-/keyagreement-1.0.1.tgz", + "integrity": "sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg==", + "requires": { + "@stablelib/bytes": "^1.0.1" + } + }, + "@stablelib/poly1305": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/poly1305/-/poly1305-1.0.1.tgz", + "integrity": "sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA==", + "requires": { + "@stablelib/constant-time": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "@stablelib/random": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@stablelib/random/-/random-1.0.2.tgz", + "integrity": "sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==", + "requires": { + "@stablelib/binary": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "@stablelib/sha256": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/sha256/-/sha256-1.0.1.tgz", + "integrity": "sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ==", + "requires": { + "@stablelib/binary": "^1.0.1", + "@stablelib/hash": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "@stablelib/sha512": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/sha512/-/sha512-1.0.1.tgz", + "integrity": "sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw==", + "requires": { + "@stablelib/binary": "^1.0.1", + "@stablelib/hash": "^1.0.1", + "@stablelib/wipe": "^1.0.1" + } + }, + "@stablelib/wipe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@stablelib/wipe/-/wipe-1.0.1.tgz", + "integrity": "sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==" + }, + "@stablelib/x25519": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@stablelib/x25519/-/x25519-1.0.3.tgz", + "integrity": "sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw==", + "requires": { + "@stablelib/keyagreement": "^1.0.1", + "@stablelib/random": "^1.0.2", + "@stablelib/wipe": "^1.0.1" + } + }, "@styled-system/background": { "version": "5.1.2", "requires": { @@ -15532,6 +16499,11 @@ "@types/jest": "*" } }, + "@types/trusted-types": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz", + "integrity": "sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==" + }, "@types/warning": { "version": "3.0.0" }, @@ -15604,150 +16576,441 @@ } } }, - "@walletconnect/browser-utils": { - "version": "1.8.0", + "@walletconnect/encoding": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/encoding/-/encoding-1.0.2.tgz", + "integrity": "sha512-CrwSBrjqJ7rpGQcTL3kU+Ief+Bcuu9PH6JLOb+wM6NITX1GTxR/MfNwnQfhLKK6xpRAyj2/nM04OOH6wS8Imag==", "requires": { - "@walletconnect/safe-json": "1.0.0", - "@walletconnect/types": "^1.8.0", - "@walletconnect/window-getters": "1.0.0", - "@walletconnect/window-metadata": "1.0.0", - "detect-browser": "5.2.0" + "is-typedarray": "1.0.0", + "tslib": "1.14.1", + "typedarray-to-buffer": "3.1.5" } }, - "@walletconnect/client": { - "version": "1.8.0", + "@walletconnect/environment": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/environment/-/environment-1.0.1.tgz", + "integrity": "sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg==", "requires": { - "@walletconnect/core": "^1.8.0", - "@walletconnect/iso-crypto": "^1.8.0", - "@walletconnect/types": "^1.8.0", - "@walletconnect/utils": "^1.8.0" + "tslib": "1.14.1" } }, - "@walletconnect/core": { - "version": "1.8.0", + "@walletconnect/events": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/events/-/events-1.0.1.tgz", + "integrity": "sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ==", "requires": { - "@walletconnect/socket-transport": "^1.8.0", - "@walletconnect/types": "^1.8.0", - "@walletconnect/utils": "^1.8.0" + "keyvaluestorage-interface": "^1.0.0", + "tslib": "1.14.1" } }, - "@walletconnect/crypto": { - "version": "1.0.2", + "@walletconnect/heartbeat": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@walletconnect/heartbeat/-/heartbeat-1.2.1.tgz", + "integrity": "sha512-yVzws616xsDLJxuG/28FqtZ5rzrTA4gUjdEMTbWB5Y8V1XHRmqq4efAxCw5ie7WjbXFSUyBHaWlMR+2/CpQC5Q==", + "requires": { + "@walletconnect/events": "^1.0.1", + "@walletconnect/time": "^1.0.2", + "tslib": "1.14.1" + } + }, + "@walletconnect/jsonrpc-provider": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.13.tgz", + "integrity": "sha512-K73EpThqHnSR26gOyNEL+acEex3P7VWZe6KE12ZwKzAt2H4e5gldZHbjsu2QR9cLeJ8AXuO7kEMOIcRv1QEc7g==", "requires": { - "@walletconnect/encoding": "^1.0.1", - "@walletconnect/environment": "^1.0.0", - "@walletconnect/randombytes": "^1.0.2", - "aes-js": "^3.1.2", - "hash.js": "^1.1.7" + "@walletconnect/jsonrpc-utils": "^1.0.8", + "@walletconnect/safe-json": "^1.0.2", + "tslib": "1.14.1" }, "dependencies": { - "aes-js": { - "version": "3.1.2" + "@walletconnect/safe-json": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.2.tgz", + "integrity": "sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==", + "requires": { + "tslib": "1.14.1" + } } } }, - "@walletconnect/encoding": { - "version": "1.0.1", + "@walletconnect/jsonrpc-types": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.3.tgz", + "integrity": "sha512-iIQ8hboBl3o5ufmJ8cuduGad0CQm3ZlsHtujv9Eu16xq89q+BG7Nh5VLxxUgmtpnrePgFkTwXirCTkwJH1v+Yw==", "requires": { - "is-typedarray": "1.0.0", - "typedarray-to-buffer": "3.1.5" + "keyvaluestorage-interface": "^1.0.0", + "tslib": "1.14.1" } }, - "@walletconnect/environment": { - "version": "1.0.0" + "@walletconnect/jsonrpc-utils": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.8.tgz", + "integrity": "sha512-vdeb03bD8VzJUL6ZtzRYsFMq1eZQcM3EAzT0a3st59dyLfJ0wq+tKMpmGH7HlB7waD858UWgfIcudbPFsbzVdw==", + "requires": { + "@walletconnect/environment": "^1.0.1", + "@walletconnect/jsonrpc-types": "^1.0.3", + "tslib": "1.14.1" + } }, - "@walletconnect/iso-crypto": { - "version": "1.8.0", + "@walletconnect/jsonrpc-ws-connection": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.11.tgz", + "integrity": "sha512-TiFJ6saasKXD+PwGkm5ZGSw0837nc6EeFmurSPgIT/NofnOV4Tv7CVJqGQN0rQYoJUSYu21cwHNYaFkzNpUN+w==", "requires": { - "@walletconnect/crypto": "^1.0.2", - "@walletconnect/types": "^1.8.0", - "@walletconnect/utils": "^1.8.0" + "@walletconnect/jsonrpc-utils": "^1.0.6", + "@walletconnect/safe-json": "^1.0.2", + "events": "^3.3.0", + "tslib": "1.14.1", + "ws": "^7.5.1" + }, + "dependencies": { + "@walletconnect/safe-json": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.2.tgz", + "integrity": "sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==", + "requires": { + "tslib": "1.14.1" + } + } } }, - "@walletconnect/jsonrpc-types": { - "version": "1.0.1", + "@walletconnect/logger": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/logger/-/logger-2.0.1.tgz", + "integrity": "sha512-SsTKdsgWm+oDTBeNE/zHxxr5eJfZmE9/5yp/Ku+zJtcTAjELb3DXueWkDXmE9h8uHIbJzIb5wj5lPdzyrjT6hQ==", "requires": { - "keyvaluestorage-interface": "^1.0.0" + "pino": "7.11.0", + "tslib": "1.14.1" } }, - "@walletconnect/jsonrpc-utils": { - "version": "1.0.3", + "@walletconnect/relay-api": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@walletconnect/relay-api/-/relay-api-1.0.9.tgz", + "integrity": "sha512-Q3+rylJOqRkO1D9Su0DPE3mmznbAalYapJ9qmzDgK28mYF9alcP3UwG/og5V7l7CFOqzCLi7B8BvcBUrpDj0Rg==", "requires": { - "@walletconnect/environment": "^1.0.0", - "@walletconnect/jsonrpc-types": "^1.0.1" + "@walletconnect/jsonrpc-types": "^1.0.2", + "tslib": "1.14.1" } }, - "@walletconnect/mobile-registry": { - "version": "1.4.0" + "@walletconnect/relay-auth": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@walletconnect/relay-auth/-/relay-auth-1.0.4.tgz", + "integrity": "sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ==", + "requires": { + "@stablelib/ed25519": "^1.0.2", + "@stablelib/random": "^1.0.1", + "@walletconnect/safe-json": "^1.0.1", + "@walletconnect/time": "^1.0.2", + "tslib": "1.14.1", + "uint8arrays": "^3.0.0" + }, + "dependencies": { + "@walletconnect/safe-json": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.2.tgz", + "integrity": "sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==", + "requires": { + "tslib": "1.14.1" + } + } + } }, - "@walletconnect/qrcode-modal": { - "version": "1.8.0", + "@walletconnect/sign-client": { + "version": "2.7.6", + "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.7.6.tgz", + "integrity": "sha512-u3wVjK1XAhj1ZVzAs+SP5VYEP2FWYH/y6tnaLHLqZcsoZ/a2sGCnJlK9y7HA6q3jLBt6lVBkT1qSU4pmBY4xlw==", "requires": { - "@walletconnect/browser-utils": "^1.8.0", - "@walletconnect/mobile-registry": "^1.4.0", - "@walletconnect/types": "^1.8.0", - "copy-to-clipboard": "^3.3.1", - "preact": "10.4.1", - "qrcode": "1.4.4" + "@walletconnect/core": "2.7.6", + "@walletconnect/events": "^1.0.1", + "@walletconnect/heartbeat": "1.2.1", + "@walletconnect/jsonrpc-utils": "1.0.8", + "@walletconnect/logger": "^2.0.1", + "@walletconnect/time": "^1.0.2", + "@walletconnect/types": "2.7.6", + "@walletconnect/utils": "2.7.6", + "events": "^3.3.0" + }, + "dependencies": { + "@walletconnect/core": { + "version": "2.7.6", + "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.7.6.tgz", + "integrity": "sha512-EPzKfH9EpOVmJhfedddpNjG6Lz0zWnAZSBvXSeuBlOyD3Aayiky3HuiDcpK+YyRzyWEsh2kWMvvTZ6v0uFAApQ==", + "requires": { + "@walletconnect/heartbeat": "1.2.1", + "@walletconnect/jsonrpc-provider": "1.0.13", + "@walletconnect/jsonrpc-types": "1.0.3", + "@walletconnect/jsonrpc-utils": "1.0.8", + "@walletconnect/jsonrpc-ws-connection": "^1.0.11", + "@walletconnect/keyvaluestorage": "^1.0.2", + "@walletconnect/logger": "^2.0.1", + "@walletconnect/relay-api": "^1.0.9", + "@walletconnect/relay-auth": "^1.0.4", + "@walletconnect/safe-json": "^1.0.2", + "@walletconnect/time": "^1.0.2", + "@walletconnect/types": "2.7.6", + "@walletconnect/utils": "2.7.6", + "events": "^3.3.0", + "lodash.isequal": "4.5.0", + "uint8arrays": "^3.1.0" + } + }, + "@walletconnect/keyvaluestorage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.0.2.tgz", + "integrity": "sha512-U/nNG+VLWoPFdwwKx0oliT4ziKQCEoQ27L5Hhw8YOFGA2Po9A9pULUYNWhDgHkrb0gYDNt//X7wABcEWWBd3FQ==", + "requires": { + "safe-json-utils": "^1.1.1", + "tslib": "1.14.1" + } + }, + "@walletconnect/safe-json": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.2.tgz", + "integrity": "sha512-Ogb7I27kZ3LPC3ibn8ldyUr5544t3/STow9+lzz7Sfo808YD7SBWk7SAsdBFlYgP2zDRy2hS3sKRcuSRM0OTmA==", + "requires": { + "tslib": "1.14.1" + } + }, + "@walletconnect/utils": { + "version": "2.7.6", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.7.6.tgz", + "integrity": "sha512-IS5eRWihW3L4qHG7pT9L8NtjuY5gbE0D5yqcgT2wnZ/1IDl9OihVT37CWM66Ppf6i195Uuwagfl+Qw8RlECeKg==", + "requires": { + "@stablelib/chacha20poly1305": "1.0.1", + "@stablelib/hkdf": "1.0.1", + "@stablelib/random": "^1.0.2", + "@stablelib/sha256": "1.0.1", + "@stablelib/x25519": "^1.0.3", + "@walletconnect/relay-api": "^1.0.9", + "@walletconnect/safe-json": "^1.0.2", + "@walletconnect/time": "^1.0.2", + "@walletconnect/types": "2.7.6", + "@walletconnect/window-getters": "^1.0.1", + "@walletconnect/window-metadata": "^1.0.1", + "detect-browser": "5.3.0", + "query-string": "7.1.3", + "uint8arrays": "^3.1.0" + } + }, + "@walletconnect/window-getters": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/window-getters/-/window-getters-1.0.1.tgz", + "integrity": "sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q==", + "requires": { + "tslib": "1.14.1" + } + }, + "@walletconnect/window-metadata": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz", + "integrity": "sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA==", + "requires": { + "@walletconnect/window-getters": "^1.0.1", + "tslib": "1.14.1" + } + }, + "detect-browser": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/detect-browser/-/detect-browser-5.3.0.tgz", + "integrity": "sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==" + }, + "query-string": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.3.tgz", + "integrity": "sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==", + "requires": { + "decode-uri-component": "^0.2.2", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + } + } } }, - "@walletconnect/randombytes": { + "@walletconnect/time": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/time/-/time-1.0.2.tgz", + "integrity": "sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g==", "requires": { - "@walletconnect/encoding": "^1.0.1", - "@walletconnect/environment": "^1.0.0", - "randombytes": "^2.1.0" + "tslib": "1.14.1" } }, - "@walletconnect/safe-json": { - "version": "1.0.0" - }, - "@walletconnect/socket-transport": { - "version": "1.8.0", - "requires": { - "@walletconnect/types": "^1.8.0", - "@walletconnect/utils": "^1.8.0", - "ws": "7.5.3" + "@walletconnect/types": { + "version": "2.7.6", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.7.6.tgz", + "integrity": "sha512-678xFaf5AULHMsd1JdN1X+iMHUt75bPUAOsQ0oSA4mtKZW/vS1jMqe3siXQKEOXFWyIJoQD1Q8clDO9oZ00/hg==", + "requires": { + "@walletconnect/events": "^1.0.1", + "@walletconnect/heartbeat": "1.2.1", + "@walletconnect/jsonrpc-types": "1.0.3", + "@walletconnect/keyvaluestorage": "^1.0.2", + "@walletconnect/logger": "^2.0.1", + "events": "^3.3.0" }, "dependencies": { - "ws": { - "version": "7.5.3", - "requires": {} + "@walletconnect/keyvaluestorage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.0.2.tgz", + "integrity": "sha512-U/nNG+VLWoPFdwwKx0oliT4ziKQCEoQ27L5Hhw8YOFGA2Po9A9pULUYNWhDgHkrb0gYDNt//X7wABcEWWBd3FQ==", + "requires": { + "safe-json-utils": "^1.1.1", + "tslib": "1.14.1" + } } } }, - "@walletconnect/types": { - "version": "1.8.0" + "@web3modal/core": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@web3modal/core/-/core-2.4.1.tgz", + "integrity": "sha512-v6Y/eQJSI2YfUTv8rGqjFabqdk3ZPjx6Fe7j5Q8fw0ZWF1YRGM3mySG457qtKQ7D7E1kNKA3BHbaOZ3pgQoG6A==", + "requires": { + "buffer": "6.0.3", + "valtio": "1.10.5" + } }, - "@walletconnect/utils": { - "version": "1.8.0", + "@web3modal/standalone": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@web3modal/standalone/-/standalone-2.4.1.tgz", + "integrity": "sha512-ZrI5LwWeT9sd8A3FdIX/gBp3ZrzrX882Ln1vJN0LTCmeP2OUsYcW5bPxjv1PcJ1YUBY7Tg4aTgMUnAVTTuqb+w==", + "requires": { + "@web3modal/core": "2.4.1", + "@web3modal/ui": "2.4.1" + } + }, + "@web3modal/ui": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@web3modal/ui/-/ui-2.4.1.tgz", + "integrity": "sha512-x1ceyd3mMJsIHs5UUTLvE+6qyCjhyjL6gB/wVmTDbwASHSQIVyshQJ+s7BwIEMP/pbAsYDg+/M8EiUuE+/E/kg==", "requires": { - "@walletconnect/browser-utils": "^1.8.0", - "@walletconnect/encoding": "^1.0.1", - "@walletconnect/jsonrpc-utils": "^1.0.3", - "@walletconnect/types": "^1.8.0", - "bn.js": "4.11.8", - "js-sha3": "0.8.0", - "query-string": "6.13.5" + "@web3modal/core": "2.4.1", + "lit": "2.7.4", + "motion": "10.15.5", + "qrcode": "1.5.3" }, "dependencies": { - "bn.js": { - "version": "4.11.8" + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, - "js-sha3": { - "version": "0.8.0" + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "requires": { + "p-limit": "^2.2.0" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + }, + "pngjs": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", + "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==" + }, + "qrcode": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.3.tgz", + "integrity": "sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==", + "requires": { + "dijkstrajs": "^1.0.1", + "encode-utf8": "^1.0.3", + "pngjs": "^5.0.0", + "yargs": "^15.3.1" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } } } }, - "@walletconnect/window-getters": { - "version": "1.0.0" - }, - "@walletconnect/window-metadata": { - "version": "1.0.0", - "requires": { - "@walletconnect/window-getters": "^1.0.0" - } - }, "@welldone-software/why-did-you-render": { "version": "3.6.0", "requires": { @@ -15975,6 +17238,11 @@ "version": "2.1.2", "dev": true }, + "atomic-sleep": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", + "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==" + }, "available-typed-arrays": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", @@ -16508,21 +17776,11 @@ "ieee754": "^1.2.1" } }, - "buffer-alloc": { - "version": "1.2.0", - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0" - }, - "buffer-fill": { - "version": "1.0.0" - }, "buffer-from": { - "version": "1.1.2" + "version": "1.1.2", + "dev": true, + "optional": true, + "peer": true }, "buffer-to-arraybuffer": { "version": "0.0.5" @@ -16794,14 +18052,6 @@ } } }, - "cliui": { - "version": "5.0.0", - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - } - }, "clone-response": { "version": "1.0.2", "requires": { @@ -17078,7 +18328,9 @@ "version": "1.2.0" }, "decode-uri-component": { - "version": "0.2.0" + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.2.tgz", + "integrity": "sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==" }, "decompress-response": { "version": "3.3.0", @@ -17130,9 +18382,6 @@ "destroy": { "version": "1.0.4" }, - "detect-browser": { - "version": "5.2.0" - }, "detect-indent": { "version": "4.0.0", "requires": { @@ -17193,6 +18442,17 @@ "duplexer3": { "version": "0.1.4" }, + "duplexify": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-4.1.2.tgz", + "integrity": "sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==", + "requires": { + "end-of-stream": "^1.4.1", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1", + "stream-shift": "^1.0.0" + } + }, "ecc-jsbn": { "version": "0.1.2", "requires": { @@ -17220,7 +18480,14 @@ } }, "emoji-regex": { - "version": "7.0.3" + "version": "7.0.3", + "dev": true, + "peer": true + }, + "encode-utf8": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/encode-utf8/-/encode-utf8-1.0.3.tgz", + "integrity": "sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==" }, "encodeurl": { "version": "1.0.2" @@ -17869,6 +19136,11 @@ "dev": true, "peer": true }, + "fast-redact": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.2.0.tgz", + "integrity": "sha512-zaTadChr+NekyzallAMXATXLOR8MNx3zqpZ0MUF2aGf4EathnG0f32VLODNlY8IuGY3HoRO2L6/6fSzNsLaHIw==" + }, "fast-safe-stringify": { "version": "2.1.1" }, @@ -17918,6 +19190,11 @@ "minimatch": "^3.0.4" } }, + "filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==" + }, "final-form": { "version": "4.20.2", "requires": { @@ -17946,6 +19223,7 @@ }, "find-up": { "version": "3.0.0", + "dev": true, "requires": { "locate-path": "^3.0.0" } @@ -19034,6 +20312,11 @@ "minimalistic-assert": "^1.0.1" } }, + "hey-listen": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/hey-listen/-/hey-listen-1.0.8.tgz", + "integrity": "sha512-COpmrF2NOg4TBWUJ5UVyaCU2A88wEMkUPK4hNqyCkqHbxT92BbvfjoSozkAIIm6XhicGlJHhFdullInrdhwU8Q==" + }, "hmac-drbg": { "version": "1.0.1", "requires": { @@ -19474,7 +20757,8 @@ "version": "1.1.0" }, "is-fullwidth-code-point": { - "version": "2.0.0" + "version": "2.0.0", + "dev": true }, "is-function": { "version": "1.0.2" @@ -19880,12 +21164,41 @@ "version": "1.1.6", "dev": true }, + "lit": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/lit/-/lit-2.7.4.tgz", + "integrity": "sha512-cgD7xrZoYr21mbrkZIuIrj98YTMw/snJPg52deWVV4A8icLyNHI3bF70xsJeAgwTuiq5Kkd+ZR8gybSJDCPB7g==", + "requires": { + "@lit/reactive-element": "^1.6.0", + "lit-element": "^3.3.0", + "lit-html": "^2.7.0" + } + }, + "lit-element": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.2.tgz", + "integrity": "sha512-xXAeVWKGr4/njq0rGC9dethMnYCq5hpKYrgQZYTzawt9YQhMiXfD+T1RgrdY3NamOxwq2aXlb0vOI6e29CKgVQ==", + "requires": { + "@lit-labs/ssr-dom-shim": "^1.1.0", + "@lit/reactive-element": "^1.3.0", + "lit-html": "^2.7.0" + } + }, + "lit-html": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.7.4.tgz", + "integrity": "sha512-/Jw+FBpeEN+z8X6PJva5n7+0MzCVAH2yypN99qHYYkq8bI+j7I39GH+68Z/MZD6rGKDK9RpzBw7CocfmHfq6+g==", + "requires": { + "@types/trusted-types": "^2.0.2" + } + }, "local-pkg": { "version": "0.4.2", "dev": true }, "locate-path": { "version": "3.0.0", + "dev": true, "requires": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -20052,6 +21365,19 @@ "iced-runtime": ">=0.0.1" } }, + "motion": { + "version": "10.15.5", + "resolved": "https://registry.npmjs.org/motion/-/motion-10.15.5.tgz", + "integrity": "sha512-ejP6KioN4pigTGxL93APzOnvtLklParL59UQB2T3HWXQBxFcIp5/7YXFmkgiA6pNKKzjvnLhnonRBN5iSFMnNw==", + "requires": { + "@motionone/animation": "^10.15.1", + "@motionone/dom": "^10.15.5", + "@motionone/svelte": "^10.15.5", + "@motionone/types": "^10.15.1", + "@motionone/utils": "^10.15.1", + "@motionone/vue": "^10.15.5" + } + }, "ms": { "version": "2.0.0" }, @@ -20079,6 +21405,11 @@ "varint": "^5.0.0" } }, + "multiformats": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" + }, "multihashes": { "version": "0.4.21", "requires": { @@ -20326,6 +21657,11 @@ "unset-value": "^0.1.1" } }, + "on-exit-leak-free": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz", + "integrity": "sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==" + }, "on-finished": { "version": "2.3.0", "requires": { @@ -20380,6 +21716,7 @@ }, "p-locate": { "version": "3.0.0", + "dev": true, "requires": { "p-limit": "^2.0.0" } @@ -20420,7 +21757,8 @@ "version": "1.3.3" }, "path-exists": { - "version": "3.0.0" + "version": "3.0.0", + "dev": true }, "path-is-absolute": { "version": "1.0.1" @@ -20474,6 +21812,38 @@ "version": "3.0.0", "dev": true }, + "pino": { + "version": "7.11.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-7.11.0.tgz", + "integrity": "sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==", + "requires": { + "atomic-sleep": "^1.0.0", + "fast-redact": "^3.0.0", + "on-exit-leak-free": "^0.2.0", + "pino-abstract-transport": "v0.5.0", + "pino-std-serializers": "^4.0.0", + "process-warning": "^1.0.0", + "quick-format-unescaped": "^4.0.3", + "real-require": "^0.1.0", + "safe-stable-stringify": "^2.1.0", + "sonic-boom": "^2.2.1", + "thread-stream": "^0.15.1" + } + }, + "pino-abstract-transport": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz", + "integrity": "sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==", + "requires": { + "duplexify": "^4.1.2", + "split2": "^4.0.0" + } + }, + "pino-std-serializers": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz", + "integrity": "sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==" + }, "please-upgrade-node": { "version": "3.2.0", "dev": true, @@ -20481,18 +21851,12 @@ "semver-compare": "^1.0.0" } }, - "pngjs": { - "version": "3.4.0" - }, "pnglib": { "version": "0.0.1" }, "postcss-value-parser": { "version": "4.1.0" }, - "preact": { - "version": "10.4.1" - }, "prelude-ls": { "version": "1.1.2", "dev": true, @@ -20532,6 +21896,11 @@ "process": { "version": "0.11.10" }, + "process-warning": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-1.0.0.tgz", + "integrity": "sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==" + }, "progress": { "version": "2.0.3", "dev": true, @@ -20552,6 +21921,11 @@ "ipaddr.js": "1.9.1" } }, + "proxy-compare": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/proxy-compare/-/proxy-compare-2.5.1.tgz", + "integrity": "sha512-oyfc0Tx87Cpwva5ZXezSp5V9vht1c7dZBhvuV/y3ctkgMVUmiAGDVeeB0dKhGSyT0v1ZTEQYpe/RXlBVBNuCLA==" + }, "pseudomap": { "version": "1.0.2", "dev": true @@ -20586,42 +21960,13 @@ "bitcoin-ops": "^1.3.0" } }, - "qrcode": { - "version": "1.4.4", - "requires": { - "buffer": "^5.4.3", - "buffer-alloc": "^1.2.0", - "buffer-from": "^1.1.1", - "dijkstrajs": "^1.0.1", - "isarray": "^2.0.1", - "pngjs": "^3.3.0", - "yargs": "^13.2.4" - }, - "dependencies": { - "buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "requires": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "isarray": { - "version": "2.0.5" - } - } - }, "qs": { "version": "6.7.0" }, - "query-string": { - "version": "6.13.5", - "requires": { - "decode-uri-component": "^0.2.0", - "split-on-first": "^1.0.0", - "strict-uri-encode": "^2.0.0" - } + "quick-format-unescaped": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", + "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" }, "quick-lru": { "version": "5.1.1", @@ -20729,6 +22074,11 @@ "picomatch": "^2.2.1" } }, + "real-require": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.1.0.tgz", + "integrity": "sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==" + }, "redent": { "version": "3.0.0", "dev": true, @@ -20929,6 +22279,11 @@ "safe-buffer": { "version": "5.2.1" }, + "safe-json-utils": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/safe-json-utils/-/safe-json-utils-1.1.1.tgz", + "integrity": "sha512-SAJWGKDs50tAbiDXLf89PDwt9XYkWyANFWVzn4dTXl5QyI8t2o/bW5/OJl3lvc2WVU4MEpTo9Yz5NVFNsp+OJQ==" + }, "safe-regex-test": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.0.tgz", @@ -20939,6 +22294,11 @@ "is-regex": "^1.1.4" } }, + "safe-stable-stringify": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", + "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==" + }, "safer-buffer": { "version": "2.1.2" }, @@ -21278,6 +22638,14 @@ } } }, + "sonic-boom": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-2.8.0.tgz", + "integrity": "sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==", + "requires": { + "atomic-sleep": "^1.0.0" + } + }, "source-map": { "version": "0.5.7" }, @@ -21434,6 +22802,11 @@ "split-on-first": { "version": "1.1.0" }, + "split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==" + }, "sprintf-js": { "version": "1.0.3", "dev": true @@ -21465,6 +22838,11 @@ "readable-stream": "^3.5.0" } }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==" + }, "strict-event-emitter-types": { "version": "2.0.0" }, @@ -21479,6 +22857,8 @@ }, "string-width": { "version": "3.1.0", + "dev": true, + "peer": true, "requires": { "emoji-regex": "^7.0.1", "is-fullwidth-code-point": "^2.0.0", @@ -21516,12 +22896,16 @@ }, "strip-ansi": { "version": "5.2.0", + "dev": true, + "peer": true, "requires": { "ansi-regex": "^4.1.0" }, "dependencies": { "ansi-regex": { - "version": "4.1.0" + "version": "4.1.0", + "dev": true, + "peer": true } } }, @@ -21854,6 +23238,14 @@ "dev": true, "peer": true }, + "thread-stream": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-0.15.2.tgz", + "integrity": "sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==", + "requires": { + "real-require": "^0.1.0" + } + }, "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -21992,6 +23384,14 @@ "ua-parser-js": { "version": "0.7.28" }, + "uint8arrays": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.1.tgz", + "integrity": "sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg==", + "requires": { + "multiformats": "^9.4.2" + } + }, "ultron": { "version": "1.1.1" }, @@ -22144,6 +23544,12 @@ "url-to-options": { "version": "1.0.1" }, + "use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "requires": {} + }, "utf-8-validate": { "version": "5.0.5", "requires": { @@ -22185,6 +23591,15 @@ "spdx-expression-parse": "^3.0.0" } }, + "valtio": { + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/valtio/-/valtio-1.10.5.tgz", + "integrity": "sha512-jTp0k63VXf4r5hPoaC6a6LCG4POkVSh629WLi1+d5PlajLsbynTMd7qAgEiOSPxzoX5iNvbN7iZ/k/g29wrNiQ==", + "requires": { + "proxy-compare": "2.5.1", + "use-sync-external-store": "1.2.0" + } + }, "varint": { "version": "5.0.2" }, @@ -22882,31 +24297,6 @@ "dev": true, "peer": true }, - "wrap-ansi": { - "version": "5.1.0", - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" - }, - "dependencies": { - "ansi-styles": { - "version": "3.2.1", - "requires": { - "color-convert": "^1.9.0" - } - }, - "color-convert": { - "version": "1.9.3", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3" - } - } - }, "wrappy": { "version": "1.0.2" }, @@ -22921,7 +24311,9 @@ } }, "ws": { - "version": "7.4.6", + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz", + "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==", "requires": {} }, "xhr": { @@ -23001,28 +24393,6 @@ "version": "1.10.2", "dev": true }, - "yargs": { - "version": "13.3.2", - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" - } - }, - "yargs-parser": { - "version": "13.1.2", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - }, "zustand": { "version": "3.5.9", "requires": {} diff --git a/package.json b/package.json index 29461358..ee24f1dc 100644 --- a/package.json +++ b/package.json @@ -36,8 +36,10 @@ "@types/styled-system__css": "^5.0.15", "@urbit/nockjs": "^0.0.1", "@urbit/roller-api": "^0.1.15", - "@walletconnect/client": "^1.8.0", - "@walletconnect/qrcode-modal": "^1.8.0", + "@walletconnect/encoding": "^1.0.2", + "@walletconnect/sign-client": "^2.7.6", + "@walletconnect/types": "^2.7.6", + "@web3modal/standalone": "^2.4.1", "@welldone-software/why-did-you-render": "^3.2.3", "agent-base": "^6.0.2", "async-retry": "^1.2.3", @@ -162,4 +164,4 @@ "pre-commit": "npm-run-all lint:check" } } -} +} \ No newline at end of file diff --git a/src/lib/WalletConnect.ts b/src/lib/WalletConnect.ts index cf3ee75d..1f41be54 100644 --- a/src/lib/WalletConnect.ts +++ b/src/lib/WalletConnect.ts @@ -1,9 +1,9 @@ -import { ITxData } from '@walletconnect/types'; import { JsonTx, Transaction, FeeMarketEIP1559Transaction as EIP1559Transaction } from '@ethereumjs/tx'; import { stripHexPrefix } from './utils/address'; import { FakeSignableTx, FakeSignResult } from './txn'; import Web3 from 'web3'; import { EIP1559_TRANSACTION_TYPE } from './constants'; +import { ITxData } from './types/ITxData'; type SignWalletConnectTransactionArgs = { from: string; @@ -34,6 +34,7 @@ const walletConnectSignTransaction = async ({ if (e.message === 'METHOD_NOT_SUPPORTED' || e.message === '"eth_signTransaction" not implemented') { console.log('connected wc wallet does not support tx signing.'); return FakeSignResult( + //@ts-ignore wcFormattedTx, //@ts-ignore // TODO walletConnectSendTransaction(txnSender) diff --git a/src/lib/authToken.ts b/src/lib/authToken.ts index 5077f7eb..f9365c8c 100644 --- a/src/lib/authToken.ts +++ b/src/lib/authToken.ts @@ -2,7 +2,6 @@ import { crypto } from 'bitcoinjs-lib'; import { ecdsaSign } from 'secp256k1'; import Web3 from 'web3'; import { hexToBytes } from 'web3-utils'; -import WalletConnect from '@walletconnect/client'; import { hashPersonalMessage } from '@ethereumjs/util'; import { WALLET_TYPES } from './constants'; import BridgeWallet from './types/BridgeWallet'; @@ -56,7 +55,7 @@ type MetamaskAuthTokenArgs = { type WalletConnectAuthTokenArgs = { address: string; - connector: WalletConnect; + signPersonalMessage: Function; walletType: symbol; }; @@ -87,12 +86,12 @@ const getMetamaskAuthToken = ({ address, web3 }: MetamaskAuthTokenArgs) => { } }; -const getWalletConnectAuthToken = ({ +const getWalletConnectAuthToken = async ({ address, - connector, + signPersonalMessage }: WalletConnectAuthTokenArgs) => { - return connector.signPersonalMessage([MESSAGE, address]); -}; + return await signPersonalMessage({ message: MESSAGE, address: address }); +} const getDefaultAuthToken = ({ wallet, diff --git a/src/lib/txn.ts b/src/lib/txn.ts index 9fa98231..804a046d 100644 --- a/src/lib/txn.ts +++ b/src/lib/txn.ts @@ -1,6 +1,5 @@ import { Common, Chain, Hardfork } from '@ethereumjs/common'; import { Transaction, FeeMarketEIP1559Transaction as EIP1559Transaction, TxOptions, TxData, FeeMarketEIP1559TxData as EIP1559TxData } from '@ethereumjs/tx'; -import { ITxData } from '@walletconnect/types'; import { toHex, toWei } from 'web3-utils'; import retry from 'async-retry'; import { NETWORK_TYPES } from './network'; @@ -12,6 +11,7 @@ import Web3 from 'web3'; import { TransactionConfig, TransactionReceipt } from 'web3-core'; import BridgeWallet from './types/BridgeWallet'; import { GasPriceData } from 'components/L2/Dropdowns/FeeDropdown'; +import { ITxData } from './types/ITxData'; const RETRY_OPTIONS = { retries: 99999, @@ -85,7 +85,7 @@ const signTransaction = async ({ txnSender, // and a sending function, for wallets that need these passed in. }: signTransactionProps) => { const from = wallet.address; - const estimate = await estimateGasLimit({...txn, from }); + const estimate = await estimateGasLimit({ ...txn, from }); const maxFeePerGas = await getMaxFeePerGas(); const txParams: EIP1559TxData = { @@ -98,9 +98,9 @@ const signTransaction = async ({ chainId: toHex(chainId), type: toHex(EIP1559_TRANSACTION_TYPE), } - + const chain = - networkType === NETWORK_TYPES.GOERLI ? Chain.Goerli : Chain.Mainnet; + networkType === NETWORK_TYPES.GOERLI ? Chain.Goerli : Chain.Mainnet; const txConfig: TxOptions = { freeze: false, @@ -110,7 +110,7 @@ const signTransaction = async ({ }) }; - let stx = EIP1559Transaction.fromTxData(txParams, txConfig) + let stx = EIP1559Transaction.fromTxData(txParams, txConfig) if (walletType === WALLET_TYPES.METAMASK) { return metamaskSignTransaction(stx); diff --git a/src/lib/types/ITxData.ts b/src/lib/types/ITxData.ts new file mode 100644 index 00000000..fd130c2e --- /dev/null +++ b/src/lib/types/ITxData.ts @@ -0,0 +1,9 @@ +export type ITxData = { + from: string; + to?: string; + gas: string; + gasPrice?: string; + value?: string; + data?: string; + nonce?: string; +} \ No newline at end of file diff --git a/src/lib/types/L2Transaction.ts b/src/lib/types/L2Transaction.ts index a091fdb5..c36afe3b 100644 --- a/src/lib/types/L2Transaction.ts +++ b/src/lib/types/L2Transaction.ts @@ -11,8 +11,8 @@ import RollerRPCAPI, { Spawn, TransferPoint, } from '@urbit/roller-api'; -import WalletConnect from '@walletconnect/client'; import BridgeWallet from './BridgeWallet'; +import { SignClient as WalletConnect } from '@walletconnect/sign-client/dist/types/client'; export type TransactionType = | 'transferPoint' @@ -45,20 +45,22 @@ export interface L2TransactionArgs extends SendL2Params { walletType: symbol; web3: any; connector: WalletConnect | null; + isConnected: Function, + signPersonalMessage: Function, } export interface TransactionData { data: any; method: - | Spawn - | TransferPoint - | ConfigureKeys - | Escape - | CancelEscape - | Adopt - | Detach - | Reject - | (() => Promise); + | Spawn + | TransferPoint + | ConfigureKeys + | Escape + | CancelEscape + | Adopt + | Detach + | Reject + | (() => Promise); } export interface ReticketProgressCallback { diff --git a/src/lib/useReticketL2Spawn.ts b/src/lib/useReticketL2Spawn.ts index b9e9d503..2906c168 100644 --- a/src/lib/useReticketL2Spawn.ts +++ b/src/lib/useReticketL2Spawn.ts @@ -1,7 +1,6 @@ import { EthAddress, Ship } from '@urbit/roller-api'; import { useCallback } from 'react'; import Web3 from 'web3'; -import { ITxData } from '@walletconnect/types'; import { INITIAL_NETWORK_KEY_REVISION } from './constants'; import { reticketPointBetweenWallets } from './reticket'; import BridgeWallet from './types/BridgeWallet'; @@ -10,6 +9,7 @@ import useRoller from './useRoller'; import { registerProxyAddress } from './utils/roller'; import { useWallet } from 'store/wallet'; import { useWalletConnect } from './useWalletConnect'; +import { ITxData } from './types/ITxData'; interface ReticketL2SpawnParams { fromWallet: BridgeWallet; @@ -58,7 +58,7 @@ interface ReticketL2SpawnParams { export const useReticketL2Spawn = () => { const { api } = useRoller(); const { walletType }: any = useWallet(); - const { connector } = useWalletConnect(); + const { connector, signPersonalMessage, isConnected } = useWalletConnect(); const performL2SpawnReticket = useCallback( async ({ @@ -122,6 +122,8 @@ export const useReticketL2Spawn = () => { walletType, web3, connector, + isConnected, + signPersonalMessage, true ); }, @@ -131,4 +133,4 @@ export const useReticketL2Spawn = () => { return { performL2SpawnReticket, }; -}; +}; \ No newline at end of file diff --git a/src/lib/useRoller.ts b/src/lib/useRoller.ts index f2488c49..9b857094 100644 --- a/src/lib/useRoller.ts +++ b/src/lib/useRoller.ts @@ -60,7 +60,7 @@ export default function useRoller() { urbitWallet, walletType, }: any = useWallet(); - const { connector } = useWalletConnect(); + const { connector, isConnected, signPersonalMessage } = useWalletConnect(); const { pointCursor }: any = usePointCursor(); const { web3, contracts }: any = useNetwork(); const allPoints: any = usePointCache(); @@ -288,6 +288,8 @@ export default function useRoller() { walletType, web3: _web3, connector, + isConnected, + signPersonalMessage }); }, [ @@ -310,14 +312,14 @@ export default function useRoller() { proxy === 'own' ? await api.getOwnedPoints(address) : proxy === 'manage' - ? await api.getManagerFor(address) - : proxy === 'vote' - ? await api.getVotingFor(address) - : proxy === 'transfer' - ? await api.getTransferringFor(address) - : proxy === 'spawn' - ? await api.getSpawningFor(address) - : []; + ? await api.getManagerFor(address) + : proxy === 'vote' + ? await api.getVotingFor(address) + : proxy === 'transfer' + ? await api.getTransferringFor(address) + : proxy === 'spawn' + ? await api.getSpawningFor(address) + : []; return points; }, @@ -366,14 +368,14 @@ export default function useRoller() { const networkSeed = customNetworkSeed ? customNetworkSeed : await attemptNetworkSeedDerivation({ - urbitWallet, - wallet, - authMnemonic, - details: point, - authToken, - point: point.value, - revision: nextRevision, - }); + urbitWallet, + wallet, + authMnemonic, + details: point, + authToken, + point: point.value, + revision: nextRevision, + }); const txHash = await submitL2Transaction({ api, wallet: _wallet, @@ -385,6 +387,8 @@ export default function useRoller() { walletType, web3: _web3, connector, + isConnected, + signPersonalMessage, breach, }); @@ -419,7 +423,7 @@ export default function useRoller() { let nonce = await api.getNonce({ ship: point, proxy }); const progress = onUpdate ? (state: number) => onUpdate({ type: 'progress', state }) - : () => {}; + : () => { }; let requests = []; @@ -442,6 +446,8 @@ export default function useRoller() { type: 'configureKeys', web3: _web3, connector, + signPersonalMessage, + isConnected, }); nonce = nonce + 1; requests.push(configureKeysRequest); @@ -458,7 +464,9 @@ export default function useRoller() { manager, walletType, _web3, - connector + connector, + signPersonalMessage, + isConnected, ); nonce = nonce + 1; requests.push(registerMgmtRequest); @@ -476,7 +484,9 @@ export default function useRoller() { toWallet?.spawn?.keys?.address || to, walletType, _web3, - connector + connector, + signPersonalMessage, + isConnected, ); nonce = nonce + 1; requests.push(registerSpawnRequest); @@ -495,6 +505,8 @@ export default function useRoller() { walletType, web3: _web3, connector, + signPersonalMessage, + isConnected, }); requests.push(transferTxRequest); @@ -505,12 +517,12 @@ export default function useRoller() { return hashes; }; + const setProxyAddress = useCallback( async (proxyType: Proxy, address: EthAddress) => { if (quotaReached()) { return; } - const _wallet = wallet.getOrElse(null); const _web3 = web3.getOrElse(null); @@ -523,14 +535,12 @@ export default function useRoller() { // not using need because we want a custom error throw new Error('Internal Error: Invalid point'); } - const proxy = point.getAddressProxy(proxyType); if (proxy === undefined) throw new Error("Error: Address doesn't match expected proxy"); const nonce = await api.getNonce({ ship: point.value, proxy }); - const txHash = await registerProxyAddress( api, _wallet, @@ -541,12 +551,13 @@ export default function useRoller() { address, walletType, _web3, - connector + connector, + signPersonalMessage, + isConnected, ); - return api.getPendingTx(txHash); }, - [api, connector, point, wallet, web3, walletType, quotaReached] + [api, connector, signPersonalMessage, isConnected, point, wallet, web3, walletType, quotaReached] ); const changeSponsorship = useCallback( @@ -582,6 +593,8 @@ export default function useRoller() { walletType, web3: _web3, connector, + signPersonalMessage, + isConnected, }); return api.getPendingTx(txHash); @@ -622,6 +635,8 @@ export default function useRoller() { walletType, web3: _web3, connector, + signPersonalMessage, + isConnected, reset, }); @@ -651,6 +666,8 @@ export default function useRoller() { walletType, web3: _web3, connector, + signPersonalMessage, + isConnected, ship: point.value, }); }, diff --git a/src/lib/useRollerOptions.ts b/src/lib/useRollerOptions.ts index e68ddacb..a599428f 100644 --- a/src/lib/useRollerOptions.ts +++ b/src/lib/useRollerOptions.ts @@ -36,8 +36,8 @@ export const useRollerOptions = () => { (isMainnet ? ROLLER_HOSTS.MAINNET : isGoerli - ? ROLLER_HOSTS.GOERLI - : ROLLER_HOSTS.LOCAL); + ? ROLLER_HOSTS.GOERLI + : ROLLER_HOSTS.LOCAL); const port = (providedPort && convertToInt(providedPort, 10)) || (isMainnet || isGoerli ? 443 : 8080); diff --git a/src/lib/useWalletConnect.ts b/src/lib/useWalletConnect.ts index e3fe8d29..d33018cb 100644 --- a/src/lib/useWalletConnect.ts +++ b/src/lib/useWalletConnect.ts @@ -1,6 +1,7 @@ -import WalletConnect from '@walletconnect/client'; -import QRCodeModal from '@walletconnect/qrcode-modal'; -import { ITxData } from '@walletconnect/types'; +import { SignClient as Connector } from '@walletconnect/sign-client'; +import { SignClient } from '@walletconnect/sign-client/dist/types/client'; +import { Web3Modal } from '@web3modal/standalone'; +import { SessionTypes } from '@walletconnect/types'; import { useEffect, useMemo, useState } from 'react'; import { Just, Nothing } from 'folktale/maybe'; @@ -9,6 +10,9 @@ import { useWallet } from 'store/wallet'; import { getAuthToken } from './authToken'; import { WALLET_TYPES } from './constants'; import WalletConnectWallet from './types/WalletConnectWallet'; +import { isGoerli } from './flags'; +import { ITxData } from './types/ITxData'; +import { mayCreateHexString } from './utils/hex'; type PeerMeta = { description: string; @@ -17,72 +21,131 @@ type PeerMeta = { url: string; }; -type ConnectEvent = { - event: 'connect'; - params: [ - { - accounts: string[]; - chainId: number; - peerId: string; - peerMeta: PeerMeta; - } - ]; -}; +type PersonalSign = { + message: string; + address: string; +} + +const getChain = () => { + return isGoerli ? 'eip155:5' : 'eip155:1'; +} export const useWalletConnect = () => { const { + wallet, setWallet, setAuthToken, setFakeToken, skipLoginSigning, resetWallet, }: any = useWallet(); - const [connector, setConnector] = useState(null); + + const [connector, setConnector] = useState(null); const [address, setAddress] = useState(null); const [peerMeta, setPeerMeta] = useState(null); - - const resetConnector = () => { - const newConnector = new WalletConnect({ - bridge: 'https://bridge.walletconnect.org', - qrcodeModal: QRCodeModal, + const [session, setSession] = useState(null); + const [modal, setModal] = useState(null); + + const resetSession = () => { + setSession(null); + setAddress(null); + setPeerMeta(null); + } + + const updateSession = (_session: SessionTypes.Struct) => { + setSession(_session); + setAddress(_session.namespaces.eip155.accounts[0].slice(9)); + setPeerMeta(_session.peer.metadata); + } + + const initConnector = async () => { + if (connector) + return + + const newConnector = await Connector.init({ + projectId: import.meta.env.VITE_WALLET_CONNECT_PROJECT_ID }); setConnector(newConnector); + const newModal = new Web3Modal({ + projectId: import.meta.env.VITE_WALLET_CONNECT_PROJECT_ID, + standaloneChains: [getChain()], + walletConnectVersion: 2, + }) + + setModal(newModal); + // restore state from cached connection - if (newConnector.accounts.length > 0) { - setAddress(newConnector.accounts[0]); - } + if (Just.hasInstance(wallet) && !session) { + const cached_sessions = [...newConnector.session.map] + .map(([key, value]) => ({ key, value })) + + var restored: SessionTypes.Struct | null = null; + + // this will set restored to the last + // cached session with the same address + for (var key in cached_sessions) { + if (cached_sessions[key].value.namespaces.eip155.accounts[0].slice(9) + === wallet.value.address + ) { + restored = cached_sessions[key].value + } + } - if (newConnector.peerMeta) { - setPeerMeta(newConnector.peerMeta); + if (restored) { + updateSession(restored); + } } }; // Init connector useEffect(() => { - resetConnector(); + initConnector(); // eslint-disable-next-line react-hooks/exhaustive-deps }, []); // Behavior const connect = async () => { - if (!connector || connector.connected) { + if (!connector) { return; } - await connector.createSession(); + const proposalNamespace = { + eip155: { + chains: [getChain()], + methods: ["eth_sendTransaction", "eth_signTransaction", "personal_sign"], + events: ["connect", "disconnect"] + } + } + + const { uri, approval } = await connector.connect({ + requiredNamespaces: proposalNamespace + }) + + if (uri) { + modal?.openModal({ uri }); + const session = await approval(); + updateSession(session); + modal?.closeModal(); + } }; const disconnect = async () => { - if (!connector) { + if (!connector || !session) { return; } - await connector.killSession(); + await connector.disconnect({ + topic: session.topic, + reason: { code: 6000, message: "User disconnected" }, + }); + + resetSession(); }; const authenticate = async () => { + if (!(address && connector)) { return; } @@ -91,21 +154,23 @@ export const useWalletConnect = () => { address, }; setWallet(Just(wallet)); + if (skipLoginSigning) { setFakeToken(); return; } - let authToken = Nothing(); + try { const token = await getAuthToken({ - address, - connector, + address: address, walletType: WALLET_TYPES.WALLET_CONNECT, + signPersonalMessage: signPersonalMessage, }); authToken = Just(token); setAuthToken(authToken); - } catch (e) { + modal?.closeModal(); + } catch (e: any) { if (e.message === 'METHOD_NOT_SUPPORTED') { console.warn( 'wallet does not support message signing. proceeding without auth token.' @@ -118,11 +183,11 @@ export const useWalletConnect = () => { }; const isConnected = () => { - if (!connector) { + if (!connector || !session) { return false; } - return connector.connected; + return session?.acknowledged; }; const peerIcon = useMemo(() => { @@ -151,16 +216,22 @@ export const useWalletConnect = () => { return; } - return connector - .signTransaction({ - from, - to, - gas, - gasPrice, - value, - data, - nonce, - }) + return connector.request({ + topic: session?.topic!, + chainId: getChain(), + request: { + method: "eth_signTransaction", + params: [{ + to, + from, + data: mayCreateHexString(data), + nonce: mayCreateHexString(nonce), + gasPrice: mayCreateHexString(gasPrice), + gasLimit: mayCreateHexString(gas), + value: mayCreateHexString(value), + }], + }, + }) .then((signature: string) => resolve(signature)) .catch((error: Error) => reject(error)); }); @@ -181,97 +252,79 @@ export const useWalletConnect = () => { return; } - //REVIEW .then path untested - return connector - .sendTransaction({ - from, - to, - gas, - gasPrice, - value, - data, - nonce, - }) + return connector.request({ + topic: session?.topic!, + chainId: getChain(), + request: { + method: "eth_sendTransaction", + params: [{ + to, + from, + data: mayCreateHexString(data), + nonce: mayCreateHexString(nonce), + gasPrice: mayCreateHexString(gasPrice), + gasLimit: mayCreateHexString(gas), + value: mayCreateHexString(value), + }], + }, + }) .then((txHash: string) => resolve(txHash)) .catch((error: Error) => reject(error)); }); }; - // Event Handlers - const initConnectHandler = () => { - if (!connector) { - return; - } - - connector.on('connect', async (error, payload: ConnectEvent) => { - if (error) { - throw error; - } - - const address = payload.params[0].accounts[0]; - setAddress(address); - setPeerMeta(payload.params[0].peerMeta); - }); - }; - - const initDisconnectHandler = () => { - if (!connector) { - return; - } - - connector.on('disconnect', (error, _payload) => { - if (error) { - throw error; + const signPersonalMessage = async ({ + message, address + }: PersonalSign) => { + return new Promise((resolve, reject) => { + if (!connector || !isConnected()) { + reject(new Error('No connected wallet available for signing')); + return; } - setAddress(null); - setPeerMeta(null); - resetWallet(); + return connector.request({ + topic: session?.topic!, + chainId: getChain(), + request: { + method: "personal_sign", + params: [ + mayCreateHexString(message), + address + ], + }, + }) + .then((result) => { resolve(result) }) + .catch((error: Error) => reject(error)) }); - }; - - const initSessionUpdateHandler = () => { - if (!connector) { - return; - } + } - connector.on('session_update', (error, payload) => { - if (error) { - throw error; - } - - disconnect(); - }); - }; + // Event handlers - const initModalClosedHandler = () => { - if (!connector) { - return; - } + const onSessionDelete = () => { + setAddress(null); + setPeerMeta(null); + resetWallet(); + } - connector.on('modal_closed', () => { - resetWallet(); - resetConnector(); - }); - }; + const onSessionUpdate = ({ topic, params }: any) => { + const _session = connector?.session.get(topic); + if (_session) { + updateSession(_session) + }; + } // Init and clean up useEffect(() => { if (!connector) { return; } - - initConnectHandler(); - initDisconnectHandler(); - initSessionUpdateHandler(); - initModalClosedHandler(); + connector.on('session_delete', onSessionDelete); + connector.on('session_update', onSessionUpdate); return () => { // Clean up listeners - connector.off('connect'); - connector.off('disconnect'); - connector.off('session_update'); - connector.off('modal_closed'); + connector.off('session_delete', onSessionDelete); + connector.off('session_update', onSessionUpdate); }; // eslint-disable-next-line react-hooks/exhaustive-deps }, [connector]); @@ -285,8 +338,9 @@ export const useWalletConnect = () => { isConnected, peerIcon, peerMeta, - resetConnector, + initConnector, signTransaction, sendTransaction, + signPersonalMessage }; }; diff --git a/src/lib/utils/hex.ts b/src/lib/utils/hex.ts new file mode 100644 index 00000000..68e5aab0 --- /dev/null +++ b/src/lib/utils/hex.ts @@ -0,0 +1,12 @@ +import * as encoding from "@walletconnect/encoding"; + +export const mayCreateHexString = (data?: (number | string)) => { + if (!data || encoding.isHexString(data)) + return data; + + if (typeof data === 'number') + return encoding.sanitizeHex(encoding.numberToHex(data)); + + if (typeof data === 'string') + return encoding.sanitizeHex(encoding.utf8ToHex(data)); +} \ No newline at end of file diff --git a/src/lib/utils/roller.ts b/src/lib/utils/roller.ts index ec6c5490..ca7801fd 100644 --- a/src/lib/utils/roller.ts +++ b/src/lib/utils/roller.ts @@ -1,6 +1,6 @@ import { Just, Nothing } from 'folktale/maybe'; import { randomHex } from 'web3-utils'; -import WalletConnect from '@walletconnect/client'; +import { SignClient as WalletConnect } from '@walletconnect/sign-client/dist/types/client'; import RollerRPCAPI, { Proxy, Signature, @@ -62,9 +62,12 @@ export const generateHashAndSign = async ( data: any, walletType: symbol, web3: any, - connector: WalletConnect | null + connector: WalletConnect | null, + isConnected: Function, + signPersonalMessage: Function, ) => { if (walletType === WALLET_TYPES.METAMASK) { + const hash = await api.prepareForSigning(nonce, from, type, data); let sig; @@ -81,12 +84,12 @@ export const generateHashAndSign = async ( return sig; } else if (walletType === WALLET_TYPES.WALLET_CONNECT) { - if (!connector || !connector.connected) { + + if (!connector || !isConnected()) { throw new Error('Awaiting WalletConnect connection...'); } - const hash = await api.prepareForSigning(nonce, from, type, data); - const sig = await connector.signPersonalMessage([hash, wallet.address]); + const sig = await signPersonalMessage({ message: hash, address: wallet.address }); return sig; } else { const hash = await api.getUnsignedTx(nonce, from, type, data); @@ -105,6 +108,8 @@ export const configureKeys = async ( walletType: symbol, web3: any, connector: WalletConnect | null, + isConnected: Function, + signPersonalMessage: Function, breach?: boolean, force: boolean = false ) => { @@ -141,7 +146,9 @@ export const configureKeys = async ( data, walletType, web3, - connector + connector, + signPersonalMessage, + isConnected, ); return api.configureKeys(sig, force, from, wallet.address, data); }; @@ -156,6 +163,8 @@ export const transferPointRequest = async ( walletType: symbol, web3: any, connector: WalletConnect | null, + isConnected: Function, + signPersonalMessage: Function, reset?: boolean, force: boolean = false ) => { @@ -178,7 +187,9 @@ export const transferPointRequest = async ( data, walletType, web3, - connector + connector, + signPersonalMessage, + isConnected, ); return api.transferPoint(sig, force, from, wallet.address, data); @@ -229,6 +240,8 @@ export const registerProxyAddress = async ( walletType: symbol, web3: any, connector: WalletConnect | null, + isConnected: Function, + signPersonalMessage: Function, force?: boolean ) => { const from = { @@ -246,9 +259,10 @@ export const registerProxyAddress = async ( data, walletType, web3, - connector + connector, + signPersonalMessage, + isConnected ); - return setProxy( api, proxyAddressType, @@ -343,6 +357,8 @@ export const submitL2Transaction = async (args: L2TransactionArgs) => { walletType, web3, connector, + isConnected, + signPersonalMessage } = args; const from = { ship, proxy }; @@ -357,13 +373,15 @@ export const submitL2Transaction = async (args: L2TransactionArgs) => { data, walletType, web3, - connector + connector, + isConnected, + signPersonalMessage ); return method(sig, false, from, wallet.address, data); }; -export const reticketL2Point = async () => {}; +export const reticketL2Point = async () => { }; export const hasInvite = (point: number) => (invite: Invite) => invite.planet === point && invite.ticket.length > 0; diff --git a/src/views/Invite/useInvites.ts b/src/views/Invite/useInvites.ts index d830832d..9ad1ea1f 100644 --- a/src/views/Invite/useInvites.ts +++ b/src/views/Invite/useInvites.ts @@ -94,7 +94,7 @@ export const useInviteStore = create((set, get) => ({ export function useInvites() { const { wallet, authToken, walletType }: any = useWallet(); - const { connector } = useWalletConnect(); + const { connector, isConnected, signPersonalMessage } = useWalletConnect(); const { pointCursor }: any = usePointCursor(); const { web3, contracts }: any = useNetwork(); const allPoints: any = usePointCache(); @@ -175,7 +175,7 @@ export function useInvites() { // unclaimed point: if still owned by the deterministic invite wallet if ( invite.owner.toLowerCase() === - planetInfo.ownership?.owner?.address && + planetInfo.ownership?.owner?.address && planetInfo.dominion === POINT_DOMINIONS.L2 ) { setStoredInvite(ls, invite); @@ -277,6 +277,8 @@ export function useInvites() { walletType, web3: _web3, connector, + signPersonalMessage, + isConnected, }); const networkSeed = await deriveNetworkSeedFromUrbitWallet( @@ -294,6 +296,8 @@ export function useInvites() { walletType, web3: _web3, connector, + signPersonalMessage, + isConnected, }); await registerProxyAddress( @@ -306,7 +310,9 @@ export function useInvites() { inviteWallet.management.keys.address, walletType, _web3, - connector + connector, + signPersonalMessage, + isConnected, ); await submitL2Transaction({ @@ -320,6 +326,8 @@ export function useInvites() { walletType, web3: _web3, connector, + signPersonalMessage, + isConnected, }); } @@ -342,6 +350,8 @@ export function useInvites() { api, authToken, connector, + isConnected, + signPersonalMessage, contracts, pointCursor, point, diff --git a/src/views/Login/LoginSelector.tsx b/src/views/Login/LoginSelector.tsx index 51477fa2..bc5c643c 100644 --- a/src/views/Login/LoginSelector.tsx +++ b/src/views/Login/LoginSelector.tsx @@ -99,7 +99,7 @@ export default function LoginSelector({ /** * Ensure wallet is connected to expected chain */ - if (window.ethereum.chainId !== expectedChainId() ) { + if (window.ethereum.chainId !== expectedChainId()) { console.log(`unexpected chain: ${window.ethereum.chainId}`); await window.ethereum.request({ method: 'wallet_switchEthereumChain', @@ -167,7 +167,7 @@ export default function LoginSelector({ if (value === NAMES.METAMASK) { selectMetamask(); } else if (value === NAMES.WALLET_CONNECT) { - connect(); + !isConnected() && connect(); } else { setCurrentTab(value); } diff --git a/src/views/UrbitID/ResetKeys/ResetExecute.tsx b/src/views/UrbitID/ResetKeys/ResetExecute.tsx index c2c51a25..5b3d521b 100644 --- a/src/views/UrbitID/ResetKeys/ResetExecute.tsx +++ b/src/views/UrbitID/ResetKeys/ResetExecute.tsx @@ -127,10 +127,11 @@ export default function ResetExecute({ ); const performReticket = useCallback(async () => { + const { isConnected } = useWalletConnect(); // due to react shenanigans we may need to wait for the connector if ( walletType === WALLET_TYPES.WALLET_CONNECT && - (!connector || !connector.connected) + (!connector || isConnected()) ) { setGeneralError(new Error('Awaiting WalletConnect connection...')); return;