diff --git a/package-lock.json b/package-lock.json index d15e63bceb..5f9372c958 100644 --- a/package-lock.json +++ b/package-lock.json @@ -33,6 +33,7 @@ "husky": "^6.0.0", "jest": "^29.4.3", "jest-extended": "^3.2.3", + "jest-mock-extended": "^3.0.1", "lerna": "^4.0.0", "node-gyp-build": "^4.3.0", "semver": "^7.3.5", @@ -2011,7 +2012,6 @@ }, "node_modules/@cspotcode/source-map-support": { "version": "0.8.1", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "0.3.9" @@ -2022,7 +2022,6 @@ }, "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { "version": "0.3.9", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", @@ -2477,7 +2476,9 @@ "license": "MIT" }, "node_modules/@ethersproject/networks": { - "version": "5.7.0", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", + "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", "funding": [ { "type": "individual", @@ -2488,7 +2489,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/logger": "^5.7.0" } @@ -2529,7 +2529,9 @@ } }, "node_modules/@ethersproject/providers": { - "version": "5.7.0", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", + "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", "funding": [ { "type": "individual", @@ -2540,7 +2542,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/abstract-provider": "^5.7.0", "@ethersproject/abstract-signer": "^5.7.0", @@ -2777,7 +2778,9 @@ } }, "node_modules/@ethersproject/web": { - "version": "5.7.0", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", + "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", "funding": [ { "type": "individual", @@ -2788,7 +2791,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/base64": "^5.7.0", "@ethersproject/bytes": "^5.7.0", @@ -3859,6 +3861,45 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, + "node_modules/@json-rpc-tools/provider": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@json-rpc-tools/provider/-/provider-1.7.6.tgz", + "integrity": "sha512-z7D3xvJ33UfCGv77n40lbzOYjZKVM3k2+5cV7xS8G6SCvKTzMkhkUYuD/qzQUNT4cG/lv0e9mRToweEEVLVVmA==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dependencies": { + "@json-rpc-tools/utils": "^1.7.6", + "axios": "^0.21.0", + "safe-json-utils": "^1.1.1", + "ws": "^7.4.0" + } + }, + "node_modules/@json-rpc-tools/provider/node_modules/axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "dependencies": { + "follow-redirects": "^1.14.0" + } + }, + "node_modules/@json-rpc-tools/types": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@json-rpc-tools/types/-/types-1.7.6.tgz", + "integrity": "sha512-nDSqmyRNEqEK9TZHtM15uNnDljczhCUdBmRhpNZ95bIPKEDQ+nTDmGMFd2lLin3upc5h2VVVd9tkTDdbXUhDIQ==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dependencies": { + "keyvaluestorage-interface": "^1.0.0" + } + }, + "node_modules/@json-rpc-tools/utils": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@json-rpc-tools/utils/-/utils-1.7.6.tgz", + "integrity": "sha512-HjA8x/U/Q78HRRe19yh8HVKoZ+Iaoo3YZjakJYxR+rw52NHo6jM+VE9b8+7ygkCFXl/EHID5wh/MkXaE/jGyYw==", + "deprecated": "Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.", + "dependencies": { + "@json-rpc-tools/types": "^1.7.6", + "@pedrouid/environment": "^1.0.1" + } + }, "node_modules/@lerna/add": { "version": "4.0.0", "license": "MIT", @@ -4777,6 +4818,889 @@ "typedarray-to-buffer": "^3.1.5" } }, + "node_modules/@lit-labs/ssr-dom-shim": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.0.0.tgz", + "integrity": "sha512-ic93MBXfApIFTrup4a70M/+ddD8xdt2zxxj9sRwHQzhS9ag/syqkD8JPdTXsc1gUy2K8TTirhlCqyTEM/sifNw==" + }, + "node_modules/@lit-protocol/access-control-conditions": { + "version": "2.1.37", + "resolved": "https://registry.npmjs.org/@lit-protocol/access-control-conditions/-/access-control-conditions-2.1.37.tgz", + "integrity": "sha512-jaVNINPX4vI+7XUHN1jjYmazRsiBEDDVM8mgZOZB12mNQYd+iiuxa/a+qZw0pcQBVaWrha6SaHjEbE+36kKJQg==", + "dependencies": { + "@lit-protocol/constants": "2.1.36", + "@lit-protocol/misc": "2.1.36", + "@lit-protocol/uint8arrays": "2.1.36", + "ethers": "^5.7.1", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@lit-protocol/constants": "2.1.36", + "@lit-protocol/misc": "2.1.36", + "@lit-protocol/uint8arrays": "2.1.36", + "ethers": "^5.7.1", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/access-control-conditions/node_modules/@lit-protocol/constants": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.36.tgz", + "integrity": "sha512-eLPlcpFQHnrjeCwSbgkFyq7eTbr4JzNo8EihJI62S0XZqvwP/HFT7YYk67+HpDsuQ3wYycIXSWH9uBu2TFCwsw==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/access-control-conditions/node_modules/@lit-protocol/misc": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/misc/-/misc-2.1.36.tgz", + "integrity": "sha512-d0OmYMBAQLARjohYAAAKGUHXBuIE2ROTJbxiPK8UsBQ4vik+h6t3e0PI64Vx3DY0gzDQmhcXlo4M6heo72KmIQ==", + "dependencies": { + "@lit-protocol/constants": "2.1.34", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@lit-protocol/constants": "2.1.34", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/access-control-conditions/node_modules/@lit-protocol/misc/node_modules/@lit-protocol/constants": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.34.tgz", + "integrity": "sha512-zunEaYI4zAC7sdgjkjegGXXsCt1w+SiOUy4QybKaS34eBWm13prbyXu7rF6Kb+8CvuZk9Blpnx1tPs8J1pAdjw==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/access-control-conditions/node_modules/@lit-protocol/uint8arrays": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/uint8arrays/-/uint8arrays-2.1.36.tgz", + "integrity": "sha512-5agTKlONx5eNxFNmAVOF0TPZvLVHM06Px9/KFEB+y/cS59MU+9+j74Xun59WSMdk1LVZDNe49sCgnvkD1Zfbtw==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/auth-browser": { + "version": "2.1.37", + "resolved": "https://registry.npmjs.org/@lit-protocol/auth-browser/-/auth-browser-2.1.37.tgz", + "integrity": "sha512-UluMN75m0fbHsbEwpG0vk1okBIWeXFG3+qtiQv0992ahNKj/jshrfw1Qd87+ng88MoHTzJGnBHeS0EyyHoNbHw==", + "dependencies": { + "@lit-protocol/bls-sdk": "2.1.36", + "@lit-protocol/constants": "2.1.36", + "@lit-protocol/crypto": "2.1.36", + "@lit-protocol/ecdsa-sdk": "2.1.36", + "@lit-protocol/misc": "2.1.36", + "@lit-protocol/misc-browser": "2.1.36", + "@lit-protocol/nacl": "2.1.36", + "@lit-protocol/uint8arrays": "2.1.36", + "@walletconnect/ethereum-provider": "^2.1.2", + "ethers": "^5.7.1", + "lit-connect-modal": "0.1.8", + "lit-siwe": "^1.1.8", + "tslib": "^2.3.0", + "tweetnacl": "^1.0.3", + "tweetnacl-util": "^0.13.3", + "util": "^0.12.4", + "web-vitals": "^3.0.4" + }, + "peerDependencies": { + "@lit-protocol/bls-sdk": "2.1.36", + "@lit-protocol/constants": "2.1.36", + "@lit-protocol/crypto": "2.1.36", + "@lit-protocol/ecdsa-sdk": "2.1.36", + "@lit-protocol/misc": "2.1.36", + "@lit-protocol/misc-browser": "2.1.36", + "@lit-protocol/nacl": "2.1.36", + "@lit-protocol/uint8arrays": "2.1.36", + "@walletconnect/ethereum-provider": "^2.1.2", + "ethers": "^5.7.1", + "lit-connect-modal": "0.1.8", + "lit-siwe": "^1.1.8", + "tslib": "^2.3.0", + "tweetnacl": "^1.0.3", + "tweetnacl-util": "^0.13.3", + "util": "^0.12.4", + "web-vitals": "^3.0.4" + } + }, + "node_modules/@lit-protocol/auth-browser/node_modules/@lit-protocol/bls-sdk": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/bls-sdk/-/bls-sdk-2.1.36.tgz", + "integrity": "sha512-VPxXnEuXBGpaTjFGxW5mwitAEaiEEK8+bBAzvtJQjZNaUsgRZwdtjAwmO8OAmYABUWNnVamxBsj5NN2SJmgy9Q==", + "peerDependencies": { + "pako": "^2.1.0", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/auth-browser/node_modules/@lit-protocol/constants": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.36.tgz", + "integrity": "sha512-eLPlcpFQHnrjeCwSbgkFyq7eTbr4JzNo8EihJI62S0XZqvwP/HFT7YYk67+HpDsuQ3wYycIXSWH9uBu2TFCwsw==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/auth-browser/node_modules/@lit-protocol/crypto": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/crypto/-/crypto-2.1.36.tgz", + "integrity": "sha512-vvnCVqSKVEKXrB6DwmGz0dFgTQjs6tMHP3Hdn4388QL+dE3zrp+LYxYHgpkhDUu7hGRw1ku7Bi6iQ3ggP0OmSg==", + "dependencies": { + "@lit-protocol/bls-sdk": "2.1.34", + "@lit-protocol/constants": "2.1.34", + "@lit-protocol/ecdsa-sdk": "2.1.34", + "@lit-protocol/misc": "2.1.34", + "@lit-protocol/nacl": "2.1.34", + "@lit-protocol/uint8arrays": "2.1.34", + "ethers": "^5.7.1", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@lit-protocol/bls-sdk": "2.1.34", + "@lit-protocol/constants": "2.1.34", + "@lit-protocol/ecdsa-sdk": "2.1.34", + "@lit-protocol/misc": "2.1.34", + "@lit-protocol/nacl": "2.1.34", + "@lit-protocol/uint8arrays": "2.1.34", + "ethers": "^5.7.1", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/auth-browser/node_modules/@lit-protocol/crypto/node_modules/@lit-protocol/bls-sdk": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/bls-sdk/-/bls-sdk-2.1.34.tgz", + "integrity": "sha512-+7J2D3027RMCsz+OXgQ9hAMMrzodDeyLCJfCjm1QPQmXKKxSgoQEjxGmtw4t6/6k0rcGymsdo4kB0wr39q7jkg==", + "peerDependencies": { + "pako": "^2.1.0", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/auth-browser/node_modules/@lit-protocol/crypto/node_modules/@lit-protocol/constants": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.34.tgz", + "integrity": "sha512-zunEaYI4zAC7sdgjkjegGXXsCt1w+SiOUy4QybKaS34eBWm13prbyXu7rF6Kb+8CvuZk9Blpnx1tPs8J1pAdjw==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/auth-browser/node_modules/@lit-protocol/crypto/node_modules/@lit-protocol/ecdsa-sdk": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/ecdsa-sdk/-/ecdsa-sdk-2.1.34.tgz", + "integrity": "sha512-RsHrBm/uINzkA4h8LH0YtMbS18ZFihGTCiZuU8Z9R6BhsyZ3xpoOMiK2aaDT/88AIHMdF8pMdgfijE0NjQIXiQ==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/auth-browser/node_modules/@lit-protocol/crypto/node_modules/@lit-protocol/misc": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/misc/-/misc-2.1.34.tgz", + "integrity": "sha512-dj/pdpXihl5bpSL6Vpe19vqx5OTc1VctXeuTpqyagjB8X47mEbGMV9PzfA4cZA4WIug/KwhI6QOIyXIpTRdamA==", + "dependencies": { + "@lit-protocol/constants": "2.1.33", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@lit-protocol/constants": "2.1.33", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/auth-browser/node_modules/@lit-protocol/crypto/node_modules/@lit-protocol/misc/node_modules/@lit-protocol/constants": { + "version": "2.1.33", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.33.tgz", + "integrity": "sha512-Yhiv5idSrXMVFxBB03ZZznKml+4I9/3+NXxVQstgeLl/ys4CsJJgBkR2Xxtjr6h13RvF7j7FnqsJzcXGQI60XA==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/auth-browser/node_modules/@lit-protocol/crypto/node_modules/@lit-protocol/nacl": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/nacl/-/nacl-2.1.34.tgz", + "integrity": "sha512-NAtArXXXr6KFBidAA/r0AZc3GlN5SoPfK29kq+Ws6WLJvWhkfpYTAuzs332akZg5KeNrSHmL3tZKr5O9RmmKJw==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/auth-browser/node_modules/@lit-protocol/crypto/node_modules/@lit-protocol/uint8arrays": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/uint8arrays/-/uint8arrays-2.1.34.tgz", + "integrity": "sha512-Rc7CV60zgZ8DhXBkbyE4D7vyeZXp3NyDluCKXGhxsXhVL2mmZ8N4xlZ2+7wg0YjGNj3NAY8zRyv1sTz+BYILgw==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/auth-browser/node_modules/@lit-protocol/ecdsa-sdk": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/ecdsa-sdk/-/ecdsa-sdk-2.1.36.tgz", + "integrity": "sha512-FMMRlO6TjRz0H7/Oh0GNACg3QddCUWGcIF6x9dtTvdGc36ZU7/dADZzFAKLnPnarb6MsrFSLNfEu3x/1wIl+dQ==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/auth-browser/node_modules/@lit-protocol/misc": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/misc/-/misc-2.1.36.tgz", + "integrity": "sha512-d0OmYMBAQLARjohYAAAKGUHXBuIE2ROTJbxiPK8UsBQ4vik+h6t3e0PI64Vx3DY0gzDQmhcXlo4M6heo72KmIQ==", + "dependencies": { + "@lit-protocol/constants": "2.1.34", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@lit-protocol/constants": "2.1.34", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/auth-browser/node_modules/@lit-protocol/misc-browser": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/misc-browser/-/misc-browser-2.1.36.tgz", + "integrity": "sha512-MdN6X81Ria2xB5P8wAng3zoFE11rYizZwNxW2sabK4N0g1fn8qQKjIlvNVb41HX9Ga2bzFvtoxSV9pXblPMRtg==", + "dependencies": { + "@lit-protocol/constants": "2.1.34", + "@lit-protocol/misc": "2.1.34", + "@lit-protocol/uint8arrays": "2.1.34", + "ethers": "^5.7.1", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@lit-protocol/constants": "2.1.34", + "@lit-protocol/misc": "2.1.34", + "@lit-protocol/uint8arrays": "2.1.34", + "ethers": "^5.7.1", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/auth-browser/node_modules/@lit-protocol/misc-browser/node_modules/@lit-protocol/constants": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.34.tgz", + "integrity": "sha512-zunEaYI4zAC7sdgjkjegGXXsCt1w+SiOUy4QybKaS34eBWm13prbyXu7rF6Kb+8CvuZk9Blpnx1tPs8J1pAdjw==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/auth-browser/node_modules/@lit-protocol/misc-browser/node_modules/@lit-protocol/misc": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/misc/-/misc-2.1.34.tgz", + "integrity": "sha512-dj/pdpXihl5bpSL6Vpe19vqx5OTc1VctXeuTpqyagjB8X47mEbGMV9PzfA4cZA4WIug/KwhI6QOIyXIpTRdamA==", + "dependencies": { + "@lit-protocol/constants": "2.1.33", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@lit-protocol/constants": "2.1.33", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/auth-browser/node_modules/@lit-protocol/misc-browser/node_modules/@lit-protocol/misc/node_modules/@lit-protocol/constants": { + "version": "2.1.33", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.33.tgz", + "integrity": "sha512-Yhiv5idSrXMVFxBB03ZZznKml+4I9/3+NXxVQstgeLl/ys4CsJJgBkR2Xxtjr6h13RvF7j7FnqsJzcXGQI60XA==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/auth-browser/node_modules/@lit-protocol/misc-browser/node_modules/@lit-protocol/uint8arrays": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/uint8arrays/-/uint8arrays-2.1.34.tgz", + "integrity": "sha512-Rc7CV60zgZ8DhXBkbyE4D7vyeZXp3NyDluCKXGhxsXhVL2mmZ8N4xlZ2+7wg0YjGNj3NAY8zRyv1sTz+BYILgw==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/auth-browser/node_modules/@lit-protocol/misc/node_modules/@lit-protocol/constants": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.34.tgz", + "integrity": "sha512-zunEaYI4zAC7sdgjkjegGXXsCt1w+SiOUy4QybKaS34eBWm13prbyXu7rF6Kb+8CvuZk9Blpnx1tPs8J1pAdjw==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/auth-browser/node_modules/@lit-protocol/nacl": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/nacl/-/nacl-2.1.36.tgz", + "integrity": "sha512-fI94DvonE1g+RJc5JxbRqy3SIN6eQxWwfmlGCJvLA95rwlWxMVPMOwTZ7keqkn28tzElx5eF/z+eU3m7V+o70A==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/auth-browser/node_modules/@lit-protocol/uint8arrays": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/uint8arrays/-/uint8arrays-2.1.36.tgz", + "integrity": "sha512-5agTKlONx5eNxFNmAVOF0TPZvLVHM06Px9/KFEB+y/cS59MU+9+j74Xun59WSMdk1LVZDNe49sCgnvkD1Zfbtw==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/auth-browser/node_modules/@walletconnect/ethereum-provider": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@walletconnect/ethereum-provider/-/ethereum-provider-2.4.4.tgz", + "integrity": "sha512-zjJunZLo/9HfP0GBMqxtAs3fqwPym4qkZl6Q7RsEaLvbApHsYZLyHbbog7QV4zB6cB97HUtS18IJIGqtLcpzCg==", + "dependencies": { + "@walletconnect/jsonrpc-http-connection": "^1.0.4", + "@walletconnect/jsonrpc-provider": "^1.0.6", + "@walletconnect/jsonrpc-types": "^1.0.2", + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/sign-client": "2.4.4", + "@walletconnect/types": "2.4.4", + "@walletconnect/universal-provider": "2.4.4", + "@walletconnect/utils": "2.4.4", + "@web3modal/standalone": "2.1.1", + "events": "^3.3.0" + } + }, + "node_modules/@lit-protocol/auth-browser/node_modules/@walletconnect/types": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.4.4.tgz", + "integrity": "sha512-4XndBOlB0qbhaJvzcBZCfR69rfU5rV0U5b3YbJ1AmtxcJSJAIg68WDP7o4BE4w1LHzdsEWvbXHRYL+KsA+uG3w==", + "dependencies": { + "@walletconnect/events": "^1.0.1", + "@walletconnect/heartbeat": "1.2.0", + "@walletconnect/jsonrpc-types": "^1.0.2", + "@walletconnect/keyvaluestorage": "^1.0.2", + "@walletconnect/logger": "^2.0.1", + "events": "^3.3.0" + } + }, + "node_modules/@lit-protocol/auth-browser/node_modules/@walletconnect/utils": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.4.4.tgz", + "integrity": "sha512-PM4biwrvi5OwXIroLHDxtCOXlvZGCGNvbYS0Jkb6ZmP1EbGjVz1xA1hnp/lC3eGFQArSyvS7EHD6XQQpymZ2jA==", + "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/jsonrpc-utils": "^1.0.4", + "@walletconnect/relay-api": "^1.0.7", + "@walletconnect/safe-json": "^1.0.1", + "@walletconnect/time": "^1.0.2", + "@walletconnect/types": "2.4.4", + "@walletconnect/window-getters": "^1.0.1", + "@walletconnect/window-metadata": "^1.0.1", + "detect-browser": "5.3.0", + "query-string": "7.1.1", + "uint8arrays": "3.1.0" + } + }, + "node_modules/@lit-protocol/auth-browser/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/@lit-protocol/auth-browser/node_modules/@walletconnect/window-getters/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@lit-protocol/auth-browser/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/window-getters": "^1.0.1", + "tslib": "1.14.1" + } + }, + "node_modules/@lit-protocol/auth-browser/node_modules/@walletconnect/window-metadata/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@lit-protocol/auth-browser/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/@lit-protocol/auth-browser/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/@lit-protocol/auth-browser/node_modules/query-string": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.1.tgz", + "integrity": "sha512-MplouLRDHBZSG9z7fpuAAcI7aAYjDLhtsiVZsevsfaHWDS2IDdORKbSd1kWUA+V4zyva/HZoSfpwnYMMQDhb0w==", + "dependencies": { + "decode-uri-component": "^0.2.0", + "filter-obj": "^1.1.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/@lit-protocol/auth-browser/node_modules/tweetnacl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", + "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" + }, + "node_modules/@lit-protocol/auth-browser/node_modules/tweetnacl-util": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.13.5.tgz", + "integrity": "sha512-/4Q3hpPFAnbBjNLLOmdTdyvInBfZcQBTWy+LWbypmWxAKwOpSQOyyv4ZZts4CoiYtS8Skyix5CkOWytf7XNK9A==" + }, + "node_modules/@lit-protocol/bls-sdk": { + "version": "2.1.37", + "resolved": "https://registry.npmjs.org/@lit-protocol/bls-sdk/-/bls-sdk-2.1.37.tgz", + "integrity": "sha512-JIurP3KwZ5HTbPiVfGXlnFpnpHZtPUuuHFaHe6Xpr6Xa/PuEBM+8ZQxvA9v7l8El1uZhHo89xTaMbIAbVQLrXA==", + "peerDependencies": { + "pako": "^2.1.0", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/constants": { + "version": "2.1.37", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.37.tgz", + "integrity": "sha512-oeEd9CCkKjX61ZVThhWLVBMOJDQ7k2a2lC5yT9jM+EgmnP92tyCi7NDaptZkQ+dX8Da7WlnuC1T0WfqSUJZhIQ==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/crypto": { + "version": "2.1.37", + "resolved": "https://registry.npmjs.org/@lit-protocol/crypto/-/crypto-2.1.37.tgz", + "integrity": "sha512-H29gf2NFG9+qgwNLeRiTecUpoFbM92YN7u/Fg1kq8uo9pvtoG/Pd32SwAfk8BPHLMukXjfCxrPIZfeoL+Hqa3Q==", + "dependencies": { + "@lit-protocol/bls-sdk": "2.1.36", + "@lit-protocol/constants": "2.1.36", + "@lit-protocol/ecdsa-sdk": "2.1.36", + "@lit-protocol/misc": "2.1.36", + "@lit-protocol/nacl": "2.1.36", + "@lit-protocol/uint8arrays": "2.1.36", + "ethers": "^5.7.1", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@lit-protocol/bls-sdk": "2.1.36", + "@lit-protocol/constants": "2.1.36", + "@lit-protocol/ecdsa-sdk": "2.1.36", + "@lit-protocol/misc": "2.1.36", + "@lit-protocol/nacl": "2.1.36", + "@lit-protocol/uint8arrays": "2.1.36", + "ethers": "^5.7.1", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/crypto/node_modules/@lit-protocol/bls-sdk": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/bls-sdk/-/bls-sdk-2.1.36.tgz", + "integrity": "sha512-VPxXnEuXBGpaTjFGxW5mwitAEaiEEK8+bBAzvtJQjZNaUsgRZwdtjAwmO8OAmYABUWNnVamxBsj5NN2SJmgy9Q==", + "peerDependencies": { + "pako": "^2.1.0", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/crypto/node_modules/@lit-protocol/constants": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.36.tgz", + "integrity": "sha512-eLPlcpFQHnrjeCwSbgkFyq7eTbr4JzNo8EihJI62S0XZqvwP/HFT7YYk67+HpDsuQ3wYycIXSWH9uBu2TFCwsw==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/crypto/node_modules/@lit-protocol/ecdsa-sdk": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/ecdsa-sdk/-/ecdsa-sdk-2.1.36.tgz", + "integrity": "sha512-FMMRlO6TjRz0H7/Oh0GNACg3QddCUWGcIF6x9dtTvdGc36ZU7/dADZzFAKLnPnarb6MsrFSLNfEu3x/1wIl+dQ==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/crypto/node_modules/@lit-protocol/misc": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/misc/-/misc-2.1.36.tgz", + "integrity": "sha512-d0OmYMBAQLARjohYAAAKGUHXBuIE2ROTJbxiPK8UsBQ4vik+h6t3e0PI64Vx3DY0gzDQmhcXlo4M6heo72KmIQ==", + "dependencies": { + "@lit-protocol/constants": "2.1.34", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@lit-protocol/constants": "2.1.34", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/crypto/node_modules/@lit-protocol/misc/node_modules/@lit-protocol/constants": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.34.tgz", + "integrity": "sha512-zunEaYI4zAC7sdgjkjegGXXsCt1w+SiOUy4QybKaS34eBWm13prbyXu7rF6Kb+8CvuZk9Blpnx1tPs8J1pAdjw==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/crypto/node_modules/@lit-protocol/nacl": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/nacl/-/nacl-2.1.36.tgz", + "integrity": "sha512-fI94DvonE1g+RJc5JxbRqy3SIN6eQxWwfmlGCJvLA95rwlWxMVPMOwTZ7keqkn28tzElx5eF/z+eU3m7V+o70A==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/crypto/node_modules/@lit-protocol/uint8arrays": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/uint8arrays/-/uint8arrays-2.1.36.tgz", + "integrity": "sha512-5agTKlONx5eNxFNmAVOF0TPZvLVHM06Px9/KFEB+y/cS59MU+9+j74Xun59WSMdk1LVZDNe49sCgnvkD1Zfbtw==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/ecdsa-sdk": { + "version": "2.1.37", + "resolved": "https://registry.npmjs.org/@lit-protocol/ecdsa-sdk/-/ecdsa-sdk-2.1.37.tgz", + "integrity": "sha512-d6Z3h2dKn/r4bYMQ1E76zAuNIKnGAYDjIDrMa/OHyoADOkSNfX9kHM/DPRs6X7X51MiLwlusB8lf7Nfo3vpvfg==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/encryption": { + "version": "2.1.37", + "resolved": "https://registry.npmjs.org/@lit-protocol/encryption/-/encryption-2.1.37.tgz", + "integrity": "sha512-S9gUg3AtK2gGSLS/vxe2aeUL3b/vP8dFvk7f60tbK+egSt9UsZx6JRfccrjMtL7z+WufL8aZrvAOB/9RUtsPLA==", + "dependencies": { + "@lit-protocol/bls-sdk": "2.1.36", + "@lit-protocol/constants": "2.1.36", + "@lit-protocol/crypto": "2.1.36", + "@lit-protocol/ecdsa-sdk": "2.1.36", + "@lit-protocol/misc": "2.1.36", + "@lit-protocol/nacl": "2.1.36", + "@lit-protocol/uint8arrays": "2.1.36", + "ethers": "^5.7.1", + "jszip": "^3.10.1", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@lit-protocol/bls-sdk": "2.1.36", + "@lit-protocol/constants": "2.1.36", + "@lit-protocol/crypto": "2.1.36", + "@lit-protocol/ecdsa-sdk": "2.1.36", + "@lit-protocol/misc": "2.1.36", + "@lit-protocol/nacl": "2.1.36", + "@lit-protocol/uint8arrays": "2.1.36", + "ethers": "^5.7.1", + "jszip": "^3.10.1", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/encryption/node_modules/@lit-protocol/bls-sdk": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/bls-sdk/-/bls-sdk-2.1.36.tgz", + "integrity": "sha512-VPxXnEuXBGpaTjFGxW5mwitAEaiEEK8+bBAzvtJQjZNaUsgRZwdtjAwmO8OAmYABUWNnVamxBsj5NN2SJmgy9Q==", + "peerDependencies": { + "pako": "^2.1.0", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/encryption/node_modules/@lit-protocol/constants": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.36.tgz", + "integrity": "sha512-eLPlcpFQHnrjeCwSbgkFyq7eTbr4JzNo8EihJI62S0XZqvwP/HFT7YYk67+HpDsuQ3wYycIXSWH9uBu2TFCwsw==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/encryption/node_modules/@lit-protocol/crypto": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/crypto/-/crypto-2.1.36.tgz", + "integrity": "sha512-vvnCVqSKVEKXrB6DwmGz0dFgTQjs6tMHP3Hdn4388QL+dE3zrp+LYxYHgpkhDUu7hGRw1ku7Bi6iQ3ggP0OmSg==", + "dependencies": { + "@lit-protocol/bls-sdk": "2.1.34", + "@lit-protocol/constants": "2.1.34", + "@lit-protocol/ecdsa-sdk": "2.1.34", + "@lit-protocol/misc": "2.1.34", + "@lit-protocol/nacl": "2.1.34", + "@lit-protocol/uint8arrays": "2.1.34", + "ethers": "^5.7.1", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@lit-protocol/bls-sdk": "2.1.34", + "@lit-protocol/constants": "2.1.34", + "@lit-protocol/ecdsa-sdk": "2.1.34", + "@lit-protocol/misc": "2.1.34", + "@lit-protocol/nacl": "2.1.34", + "@lit-protocol/uint8arrays": "2.1.34", + "ethers": "^5.7.1", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/encryption/node_modules/@lit-protocol/crypto/node_modules/@lit-protocol/bls-sdk": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/bls-sdk/-/bls-sdk-2.1.34.tgz", + "integrity": "sha512-+7J2D3027RMCsz+OXgQ9hAMMrzodDeyLCJfCjm1QPQmXKKxSgoQEjxGmtw4t6/6k0rcGymsdo4kB0wr39q7jkg==", + "peerDependencies": { + "pako": "^2.1.0", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/encryption/node_modules/@lit-protocol/crypto/node_modules/@lit-protocol/constants": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.34.tgz", + "integrity": "sha512-zunEaYI4zAC7sdgjkjegGXXsCt1w+SiOUy4QybKaS34eBWm13prbyXu7rF6Kb+8CvuZk9Blpnx1tPs8J1pAdjw==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/encryption/node_modules/@lit-protocol/crypto/node_modules/@lit-protocol/ecdsa-sdk": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/ecdsa-sdk/-/ecdsa-sdk-2.1.34.tgz", + "integrity": "sha512-RsHrBm/uINzkA4h8LH0YtMbS18ZFihGTCiZuU8Z9R6BhsyZ3xpoOMiK2aaDT/88AIHMdF8pMdgfijE0NjQIXiQ==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/encryption/node_modules/@lit-protocol/crypto/node_modules/@lit-protocol/misc": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/misc/-/misc-2.1.34.tgz", + "integrity": "sha512-dj/pdpXihl5bpSL6Vpe19vqx5OTc1VctXeuTpqyagjB8X47mEbGMV9PzfA4cZA4WIug/KwhI6QOIyXIpTRdamA==", + "dependencies": { + "@lit-protocol/constants": "2.1.33", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@lit-protocol/constants": "2.1.33", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/encryption/node_modules/@lit-protocol/crypto/node_modules/@lit-protocol/misc/node_modules/@lit-protocol/constants": { + "version": "2.1.33", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.33.tgz", + "integrity": "sha512-Yhiv5idSrXMVFxBB03ZZznKml+4I9/3+NXxVQstgeLl/ys4CsJJgBkR2Xxtjr6h13RvF7j7FnqsJzcXGQI60XA==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/encryption/node_modules/@lit-protocol/crypto/node_modules/@lit-protocol/nacl": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/nacl/-/nacl-2.1.34.tgz", + "integrity": "sha512-NAtArXXXr6KFBidAA/r0AZc3GlN5SoPfK29kq+Ws6WLJvWhkfpYTAuzs332akZg5KeNrSHmL3tZKr5O9RmmKJw==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/encryption/node_modules/@lit-protocol/crypto/node_modules/@lit-protocol/uint8arrays": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/uint8arrays/-/uint8arrays-2.1.34.tgz", + "integrity": "sha512-Rc7CV60zgZ8DhXBkbyE4D7vyeZXp3NyDluCKXGhxsXhVL2mmZ8N4xlZ2+7wg0YjGNj3NAY8zRyv1sTz+BYILgw==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/encryption/node_modules/@lit-protocol/ecdsa-sdk": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/ecdsa-sdk/-/ecdsa-sdk-2.1.36.tgz", + "integrity": "sha512-FMMRlO6TjRz0H7/Oh0GNACg3QddCUWGcIF6x9dtTvdGc36ZU7/dADZzFAKLnPnarb6MsrFSLNfEu3x/1wIl+dQ==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/encryption/node_modules/@lit-protocol/misc": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/misc/-/misc-2.1.36.tgz", + "integrity": "sha512-d0OmYMBAQLARjohYAAAKGUHXBuIE2ROTJbxiPK8UsBQ4vik+h6t3e0PI64Vx3DY0gzDQmhcXlo4M6heo72KmIQ==", + "dependencies": { + "@lit-protocol/constants": "2.1.34", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@lit-protocol/constants": "2.1.34", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/encryption/node_modules/@lit-protocol/misc/node_modules/@lit-protocol/constants": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.34.tgz", + "integrity": "sha512-zunEaYI4zAC7sdgjkjegGXXsCt1w+SiOUy4QybKaS34eBWm13prbyXu7rF6Kb+8CvuZk9Blpnx1tPs8J1pAdjw==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/encryption/node_modules/@lit-protocol/nacl": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/nacl/-/nacl-2.1.36.tgz", + "integrity": "sha512-fI94DvonE1g+RJc5JxbRqy3SIN6eQxWwfmlGCJvLA95rwlWxMVPMOwTZ7keqkn28tzElx5eF/z+eU3m7V+o70A==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/encryption/node_modules/@lit-protocol/uint8arrays": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/uint8arrays/-/uint8arrays-2.1.36.tgz", + "integrity": "sha512-5agTKlONx5eNxFNmAVOF0TPZvLVHM06Px9/KFEB+y/cS59MU+9+j74Xun59WSMdk1LVZDNe49sCgnvkD1Zfbtw==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/lit-node-client": { + "version": "2.1.38", + "resolved": "https://registry.npmjs.org/@lit-protocol/lit-node-client/-/lit-node-client-2.1.38.tgz", + "integrity": "sha512-Db3Y7PD4Vv+w3Iw9NH7Aid6To9RynjlxAGCb7HNHZ0NyftF5vL+DajfkCw5VTjWatlhVAWg/3ZfLrBox0Jqb6Q==", + "dependencies": { + "@lit-protocol/access-control-conditions": "2.1.37", + "@lit-protocol/auth-browser": "2.1.37", + "@lit-protocol/bls-sdk": "2.1.37", + "@lit-protocol/constants": "2.1.37", + "@lit-protocol/crypto": "2.1.37", + "@lit-protocol/ecdsa-sdk": "2.1.37", + "@lit-protocol/encryption": "2.1.37", + "@lit-protocol/lit-third-party-libs": "2.1.37", + "@lit-protocol/misc": "2.1.37", + "@lit-protocol/misc-browser": "2.1.37", + "@lit-protocol/nacl": "2.1.37", + "@lit-protocol/uint8arrays": "2.1.37", + "@walletconnect/ethereum-provider": "1.7.8", + "ethers": "^5.7.1", + "jszip": "^3.10.1", + "lit-connect-modal": "0.1.8", + "lit-siwe": "^1.1.8", + "node-fetch": "^2.6.1", + "tslib": "^2.3.0", + "tweetnacl": "^1.0.3", + "tweetnacl-util": "^0.15.1" + }, + "peerDependencies": { + "@lit-protocol/access-control-conditions": "2.1.37", + "@lit-protocol/auth-browser": "2.1.37", + "@lit-protocol/bls-sdk": "2.1.37", + "@lit-protocol/constants": "2.1.37", + "@lit-protocol/crypto": "2.1.37", + "@lit-protocol/ecdsa-sdk": "2.1.37", + "@lit-protocol/encryption": "2.1.37", + "@lit-protocol/lit-third-party-libs": "2.1.37", + "@lit-protocol/misc": "2.1.37", + "@lit-protocol/misc-browser": "2.1.37", + "@lit-protocol/nacl": "2.1.37", + "@lit-protocol/uint8arrays": "2.1.37", + "@walletconnect/ethereum-provider": "1.7.8", + "ethers": "^5.7.1", + "jszip": "^3.10.1", + "lit-connect-modal": "0.1.8", + "lit-siwe": "^1.1.8", + "node-fetch": "^2.6.1", + "tslib": "^2.3.0", + "tweetnacl": "^1.0.3", + "tweetnacl-util": "^0.15.1" + } + }, + "node_modules/@lit-protocol/lit-node-client/node_modules/tweetnacl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", + "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" + }, + "node_modules/@lit-protocol/lit-third-party-libs": { + "version": "2.1.37", + "resolved": "https://registry.npmjs.org/@lit-protocol/lit-third-party-libs/-/lit-third-party-libs-2.1.37.tgz", + "integrity": "sha512-KeBbfANc3xaC+O6OzlgyzxmHgG6kPyUPJ9fmTMI6vejKjZ0bs/qzgdQGrZcwQvvvih3q0GfExdfMS/FPLMDWlw==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/misc": { + "version": "2.1.37", + "resolved": "https://registry.npmjs.org/@lit-protocol/misc/-/misc-2.1.37.tgz", + "integrity": "sha512-7aC8hhYPXBZCyEenstf2ejCVmeM5O0ddeEAQjfG2M8MfztF7m0d6qdB1Cq8EKmXPtNKZmZrpj9c2CN68w0eZtg==", + "dependencies": { + "@lit-protocol/constants": "2.1.36", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@lit-protocol/constants": "2.1.36", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/misc-browser": { + "version": "2.1.37", + "resolved": "https://registry.npmjs.org/@lit-protocol/misc-browser/-/misc-browser-2.1.37.tgz", + "integrity": "sha512-qwX7x4Lt5x6CvMhyh61QBkBm1IkJrXMhki9iliT2l2ACg9yhvi8yKyLnSlblK8s6wuFtdKKqDfgUfHqdM8r1pQ==", + "dependencies": { + "@lit-protocol/constants": "2.1.36", + "@lit-protocol/misc": "2.1.36", + "@lit-protocol/uint8arrays": "2.1.36", + "ethers": "^5.7.1", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@lit-protocol/constants": "2.1.36", + "@lit-protocol/misc": "2.1.36", + "@lit-protocol/uint8arrays": "2.1.36", + "ethers": "^5.7.1", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/misc-browser/node_modules/@lit-protocol/constants": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.36.tgz", + "integrity": "sha512-eLPlcpFQHnrjeCwSbgkFyq7eTbr4JzNo8EihJI62S0XZqvwP/HFT7YYk67+HpDsuQ3wYycIXSWH9uBu2TFCwsw==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/misc-browser/node_modules/@lit-protocol/misc": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/misc/-/misc-2.1.36.tgz", + "integrity": "sha512-d0OmYMBAQLARjohYAAAKGUHXBuIE2ROTJbxiPK8UsBQ4vik+h6t3e0PI64Vx3DY0gzDQmhcXlo4M6heo72KmIQ==", + "dependencies": { + "@lit-protocol/constants": "2.1.34", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@lit-protocol/constants": "2.1.34", + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/misc-browser/node_modules/@lit-protocol/misc/node_modules/@lit-protocol/constants": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.34.tgz", + "integrity": "sha512-zunEaYI4zAC7sdgjkjegGXXsCt1w+SiOUy4QybKaS34eBWm13prbyXu7rF6Kb+8CvuZk9Blpnx1tPs8J1pAdjw==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/misc-browser/node_modules/@lit-protocol/uint8arrays": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/uint8arrays/-/uint8arrays-2.1.36.tgz", + "integrity": "sha512-5agTKlONx5eNxFNmAVOF0TPZvLVHM06Px9/KFEB+y/cS59MU+9+j74Xun59WSMdk1LVZDNe49sCgnvkD1Zfbtw==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/misc/node_modules/@lit-protocol/constants": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.36.tgz", + "integrity": "sha512-eLPlcpFQHnrjeCwSbgkFyq7eTbr4JzNo8EihJI62S0XZqvwP/HFT7YYk67+HpDsuQ3wYycIXSWH9uBu2TFCwsw==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/nacl": { + "version": "2.1.37", + "resolved": "https://registry.npmjs.org/@lit-protocol/nacl/-/nacl-2.1.37.tgz", + "integrity": "sha512-+ZQRu/iJ9MiQOTSGUS28Alo2XUOfJ0I8mDtjYBzafoEHM1zvIIPoLfRNSoVlJIdXk0YHA0sjZP00M2Hu79xwew==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "node_modules/@lit-protocol/uint8arrays": { + "version": "2.1.37", + "resolved": "https://registry.npmjs.org/@lit-protocol/uint8arrays/-/uint8arrays-2.1.37.tgz", + "integrity": "sha512-oAOmFqRErzLYeBx8zFioJI5iCmIuFhc9bgwmqU4xsmNswfTRygYGhUT36H5xLzNqYu8ZQ2vUh2+uAvt3Sw9kzw==", + "peerDependencies": { + "tslib": "^2.3.0" + } + }, + "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/@malept/cross-spawn-promise": { "version": "2.0.0", "dev": true, @@ -5109,6 +6033,82 @@ "set-blocking": "^2.0.0" } }, + "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/dom": { + "version": "10.15.5", + "resolved": "https://registry.npmjs.org/@motionone/dom/-/dom-10.15.5.tgz", + "integrity": "sha512-Xc5avlgyh3xukU9tydh9+8mB8+2zAq+WlLsC3eEIp7Ax7DnXgY7Bj/iv0a4X2R9z9ZFZiaXK3BO0xMYHKbAAdA==", + "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/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/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/svelte": { + "version": "10.15.5", + "resolved": "https://registry.npmjs.org/@motionone/svelte/-/svelte-10.15.5.tgz", + "integrity": "sha512-Xyxtgp7BlVnSBwcoFmXGHUVnpNktzeXsEifu2NJJWc7VGuxutDsBZxNdz80qvpLIC5MeBa1wh7GGegZzTm1msg==", + "dependencies": { + "@motionone/dom": "^10.15.5", + "tslib": "^2.3.1" + } + }, + "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/vue": { + "version": "10.15.5", + "resolved": "https://registry.npmjs.org/@motionone/vue/-/vue-10.15.5.tgz", + "integrity": "sha512-cUENrLYAolUacHvCgU+8wF9OgSlVutfWbHMLERI/bElCJ+e2YVQvG/CpGhIM5fYOOJzuvg2T2wHmLLmvJoavEw==", + "dependencies": { + "@motionone/dom": "^10.15.5", + "tslib": "^2.3.1" + } + }, "node_modules/@mrmlnc/readdir-enhanced": { "version": "2.2.1", "license": "MIT", @@ -5385,6 +6385,11 @@ "@octokit/openapi-types": "^12.11.0" } }, + "node_modules/@pedrouid/environment": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@pedrouid/environment/-/environment-1.0.1.tgz", + "integrity": "sha512-HaW78NszGzRZd9SeoI3JD11JqY+lubnaOx7Pewj5pfjqWXOEATpeKIFb9Z4t2WBUK2iryiXX3lzWwmYWgUL0Ug==" + }, "node_modules/@polka/url": { "version": "1.0.0-next.21", "dev": true, @@ -5580,6 +6585,160 @@ "node": ">=14" } }, + "node_modules/@spruceid/siwe-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@spruceid/siwe-parser/-/siwe-parser-1.1.3.tgz", + "integrity": "sha512-oQ8PcwDqjGWJvLmvAF2yzd6iniiWxK0Qtz+Dw+gLD/W5zOQJiKIUXwslHOm8VB8OOOKW9vfR3dnPBhHaZDvRsw==", + "dependencies": { + "apg-js": "^4.1.1" + } + }, + "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/@streamr/cli-tools": { "resolved": "packages/cli-tools", "link": true @@ -5644,17 +6803,14 @@ }, "node_modules/@tsconfig/node10": { "version": "1.0.9", - "dev": true, "license": "MIT" }, "node_modules/@tsconfig/node12": { "version": "1.0.11", - "dev": true, "license": "MIT" }, "node_modules/@tsconfig/node14": { "version": "1.0.3", - "dev": true, "license": "MIT" }, "node_modules/@tsconfig/node16": { @@ -6131,6 +7287,11 @@ "@types/node": "*" } }, + "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/uuid": { "version": "8.3.4", "dev": true, @@ -6353,6 +7514,1087 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@walletconnect/browser-utils": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/browser-utils/-/browser-utils-1.8.0.tgz", + "integrity": "sha512-Wcqqx+wjxIo9fv6eBUFHPsW1y/bGWWRboni5dfD8PtOmrihrEpOCmvRJe4rfl7xgJW8Ea9UqKEaq0bIRLHlK4A==", + "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" + } + }, + "node_modules/@walletconnect/browser-utils/node_modules/@walletconnect/safe-json": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.0.tgz", + "integrity": "sha512-QJzp/S/86sUAgWY6eh5MKYmSfZaRpIlmCJdi5uG4DJlKkZrHEF7ye7gA+VtbVzvTtpM/gRwO2plQuiooIeXjfg==" + }, + "node_modules/@walletconnect/client": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/client/-/client-1.8.0.tgz", + "integrity": "sha512-svyBQ14NHx6Cs2j4TpkQaBI/2AF4+LXz64FojTjMtV4VMMhl81jSO1vNeg+yYhQzvjcGH/GpSwixjyCW0xFBOQ==", + "deprecated": "WalletConnect's v1 SDKs are now deprecated. Please upgrade to a v2 SDK. For details see: https://docs.walletconnect.com/", + "dependencies": { + "@walletconnect/core": "^1.8.0", + "@walletconnect/iso-crypto": "^1.8.0", + "@walletconnect/types": "^1.8.0", + "@walletconnect/utils": "^1.8.0" + } + }, + "node_modules/@walletconnect/core": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-1.8.0.tgz", + "integrity": "sha512-aFTHvEEbXcZ8XdWBw6rpQDte41Rxwnuk3SgTD8/iKGSRTni50gI9S3YEzMj05jozSiOBxQci4pJDMVhIUMtarw==", + "dependencies": { + "@walletconnect/socket-transport": "^1.8.0", + "@walletconnect/types": "^1.8.0", + "@walletconnect/utils": "^1.8.0" + } + }, + "node_modules/@walletconnect/crypto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@walletconnect/crypto/-/crypto-1.0.3.tgz", + "integrity": "sha512-+2jdORD7XQs76I2Odgr3wwrtyuLUXD/kprNVsjWRhhhdO9Mt6WqVzOPu0/t7OHSmgal8k7SoBQzUc5hu/8zL/g==", + "dependencies": { + "@walletconnect/encoding": "^1.0.2", + "@walletconnect/environment": "^1.0.1", + "@walletconnect/randombytes": "^1.0.3", + "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", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz", + "integrity": "sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==" + }, + "node_modules/@walletconnect/crypto/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "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": { + "is-typedarray": "1.0.0", + "tslib": "1.14.1", + "typedarray-to-buffer": "3.1.5" + } + }, + "node_modules/@walletconnect/encoding/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@walletconnect/encoding/node_modules/typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "dependencies": { + "is-typedarray": "^1.0.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": { + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/environment/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@walletconnect/ethereum-provider": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@walletconnect/ethereum-provider/-/ethereum-provider-1.7.8.tgz", + "integrity": "sha512-dnl560zFMdK/LD4MD2XwHbWj7RXOaeXWPc9jzDaosLQLAXfA5mKe4XbCFFUPbVMYuyBdRI9NZv3Ci/qDb5wncQ==", + "deprecated": "WalletConnect's v1 SDKs are now deprecated. Please upgrade to a v2 SDK. For details see: https://docs.walletconnect.com/", + "dependencies": { + "@walletconnect/client": "^1.7.8", + "@walletconnect/jsonrpc-http-connection": "^1.0.0", + "@walletconnect/jsonrpc-provider": "^1.0.3", + "@walletconnect/signer-connection": "^1.7.8", + "@walletconnect/types": "^1.7.8", + "@walletconnect/utils": "^1.7.8", + "eip1193-provider": "1.0.1", + "eventemitter3": "4.0.7" + } + }, + "node_modules/@walletconnect/events": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/events/-/events-1.0.1.tgz", + "integrity": "sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ==", + "dependencies": { + "keyvaluestorage-interface": "^1.0.0", + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/events/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@walletconnect/heartbeat": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@walletconnect/heartbeat/-/heartbeat-1.2.0.tgz", + "integrity": "sha512-0vbzTa/ARrpmMmOD+bQMxPvFYKtOLQZObgZakrYr0aODiMOO71CmPVNV2eAqXnw9rMmcP+z91OybLeIFlwTjjA==", + "dependencies": { + "@walletconnect/events": "^1.0.1", + "@walletconnect/time": "^1.0.2", + "chai": "^4.3.7", + "mocha": "^10.2.0", + "ts-node": "^10.9.1", + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/heartbeat/node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/@walletconnect/heartbeat/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@walletconnect/heartbeat/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@walletconnect/heartbeat/node_modules/decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@walletconnect/heartbeat/node_modules/diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/@walletconnect/heartbeat/node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "bin": { + "flat": "cli.js" + } + }, + "node_modules/@walletconnect/heartbeat/node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@walletconnect/heartbeat/node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@walletconnect/heartbeat/node_modules/mocha": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", + "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "dependencies": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.2.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "nanoid": "3.3.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "bin": { + "_mocha": "bin/_mocha", + "mocha": "bin/mocha.js" + }, + "engines": { + "node": ">= 14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mochajs" + } + }, + "node_modules/@walletconnect/heartbeat/node_modules/mocha/node_modules/minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@walletconnect/heartbeat/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/@walletconnect/heartbeat/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/@walletconnect/heartbeat/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@walletconnect/heartbeat/node_modules/yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "dependencies": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@walletconnect/iso-crypto": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/iso-crypto/-/iso-crypto-1.8.0.tgz", + "integrity": "sha512-pWy19KCyitpfXb70hA73r9FcvklS+FvO9QUIttp3c2mfW8frxgYeRXfxLRCIQTkaYueRKvdqPjbyhPLam508XQ==", + "dependencies": { + "@walletconnect/crypto": "^1.0.2", + "@walletconnect/types": "^1.8.0", + "@walletconnect/utils": "^1.8.0" + } + }, + "node_modules/@walletconnect/jsonrpc-http-connection": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.4.tgz", + "integrity": "sha512-ji79pspdBhmIbTwve383tMaDu5Le9plW+oj5GE2aqzxIl3ib8JvRBZRn5lGEBGqVCvqB3MBJL7gBlEwpyRtoxQ==", + "dependencies": { + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/safe-json": "^1.0.1", + "cross-fetch": "^3.1.4", + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/jsonrpc-http-connection/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@walletconnect/jsonrpc-provider": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.6.tgz", + "integrity": "sha512-f5vQxr53vUVQ51/9mRLb1OiNciT/546XZ68Byn9OYnDBGeGJXK2kQWDHp8sPWZbN5x0p7B6asdCWMVFJ6danlw==", + "dependencies": { + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/safe-json": "^1.0.1", + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/jsonrpc-provider/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@walletconnect/jsonrpc-types": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.2.tgz", + "integrity": "sha512-CZe8tjJX73OWdHjrBHy7HtAapJ2tT0Q3TYhPBhRxi3643lwPIQWC9En45ldY14TZwgSewkbZ0FtGBZK0G7Bbyg==", + "dependencies": { + "keyvaluestorage-interface": "^1.0.0", + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/jsonrpc-types/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@walletconnect/jsonrpc-utils": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.4.tgz", + "integrity": "sha512-y0+tDxcTZ9BHBBKBJbjZxLUXb+zQZCylf7y/jTvDPNx76J0hYYc+F9zHzyqBLeorSKepLTk6yI8hw3NXbAQB3g==", + "dependencies": { + "@walletconnect/environment": "^1.0.1", + "@walletconnect/jsonrpc-types": "^1.0.2", + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/jsonrpc-utils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@walletconnect/jsonrpc-ws-connection": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.7.tgz", + "integrity": "sha512-iEIWUAIQih0TDF+RRjExZL3jd84UWX/rvzAmQ6fZWhyBP/qSlxGrMuAwNhpk2zj6P8dZuf8sSaaNuWgXFJIa5A==", + "dependencies": { + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/safe-json": "^1.0.1", + "ws": "^7.5.1" + } + }, + "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": { + "@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/keyvaluestorage/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "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": { + "pino": "7.11.0", + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/logger/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/@walletconnect/logger/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/@walletconnect/logger/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@walletconnect/mobile-registry": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@walletconnect/mobile-registry/-/mobile-registry-1.4.0.tgz", + "integrity": "sha512-ZtKRio4uCZ1JUF7LIdecmZt7FOLnX72RPSY7aUVu7mj7CSfxDwUn6gBuK6WGtH+NZCldBqDl5DenI5fFSvkKYw==", + "deprecated": "Deprecated in favor of dynamic registry available from: https://github.com/walletconnect/walletconnect-registry" + }, + "node_modules/@walletconnect/qrcode-modal": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/qrcode-modal/-/qrcode-modal-1.8.0.tgz", + "integrity": "sha512-BueaFefaAi8mawE45eUtztg3ZFbsAH4DDXh1UNwdUlsvFMjqcYzLUG0xZvDd6z2eOpbgDg2N3bl6gF0KONj1dg==", + "deprecated": "WalletConnect's v1 SDKs are now deprecated. Please upgrade to a v2 SDK. For details see: https://docs.walletconnect.com/", + "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" + } + }, + "node_modules/@walletconnect/randombytes": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@walletconnect/randombytes/-/randombytes-1.0.3.tgz", + "integrity": "sha512-35lpzxcHFbTN3ABefC9W+uBpNZl1GC4Wpx0ed30gibfO/y9oLdy1NznbV96HARQKSBV9J9M/rrtIvf6a23jfYw==", + "dependencies": { + "@walletconnect/encoding": "^1.0.2", + "@walletconnect/environment": "^1.0.1", + "randombytes": "^2.1.0", + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/randombytes/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@walletconnect/relay-api": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@walletconnect/relay-api/-/relay-api-1.0.7.tgz", + "integrity": "sha512-Mf/Ql7Z0waZzAuondHS9bbUi12Kyvl95ihxVDM7mPO8o7Ke7S1ffpujCUhXbSacSKcw9aV2+7bKADlsBjQLR5Q==", + "dependencies": { + "@walletconnect/jsonrpc-types": "^1.0.2", + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/relay-api/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "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/relay-auth/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@walletconnect/safe-json": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.1.tgz", + "integrity": "sha512-Fm7e31oSYY15NQr8SsLJheKAy5L744udZf2lJKcz6wFmPJEzf7hOF0866o/rrldRzJnjZ4H2GJ45pFudsnLW5A==", + "dependencies": { + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/safe-json/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@walletconnect/sign-client": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.4.4.tgz", + "integrity": "sha512-ByF1Qi+r7EAZ8HX++aiHekSxiruIlUg3KWfXvki5n4PQNv9Ldad/RaMswk7CB7ESCZuHc7ylKcT3SwOJjHOopg==", + "dependencies": { + "@walletconnect/core": "2.4.4", + "@walletconnect/events": "^1.0.1", + "@walletconnect/heartbeat": "1.2.0", + "@walletconnect/jsonrpc-provider": "^1.0.6", + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/logger": "^2.0.1", + "@walletconnect/time": "^1.0.2", + "@walletconnect/types": "2.4.4", + "@walletconnect/utils": "2.4.4", + "events": "^3.3.0", + "pino": "7.11.0" + } + }, + "node_modules/@walletconnect/sign-client/node_modules/@walletconnect/core": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.4.4.tgz", + "integrity": "sha512-tdMmPNGgpTrk95hG8H5V6Du59HA4e3tVdvGngZjcja6VnmkfZdW4fGCWaJWyKYkrQQknDug4dH47/HZ6cAxj/g==", + "dependencies": { + "@walletconnect/heartbeat": "1.2.0", + "@walletconnect/jsonrpc-provider": "^1.0.6", + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/jsonrpc-ws-connection": "^1.0.7", + "@walletconnect/keyvaluestorage": "^1.0.2", + "@walletconnect/logger": "^2.0.1", + "@walletconnect/relay-api": "^1.0.7", + "@walletconnect/relay-auth": "^1.0.4", + "@walletconnect/safe-json": "^1.0.1", + "@walletconnect/time": "^1.0.2", + "@walletconnect/types": "2.4.4", + "@walletconnect/utils": "2.4.4", + "events": "^3.3.0", + "lodash.isequal": "4.5.0", + "pino": "7.11.0", + "uint8arrays": "3.1.0" + } + }, + "node_modules/@walletconnect/sign-client/node_modules/@walletconnect/types": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.4.4.tgz", + "integrity": "sha512-4XndBOlB0qbhaJvzcBZCfR69rfU5rV0U5b3YbJ1AmtxcJSJAIg68WDP7o4BE4w1LHzdsEWvbXHRYL+KsA+uG3w==", + "dependencies": { + "@walletconnect/events": "^1.0.1", + "@walletconnect/heartbeat": "1.2.0", + "@walletconnect/jsonrpc-types": "^1.0.2", + "@walletconnect/keyvaluestorage": "^1.0.2", + "@walletconnect/logger": "^2.0.1", + "events": "^3.3.0" + } + }, + "node_modules/@walletconnect/sign-client/node_modules/@walletconnect/utils": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.4.4.tgz", + "integrity": "sha512-PM4biwrvi5OwXIroLHDxtCOXlvZGCGNvbYS0Jkb6ZmP1EbGjVz1xA1hnp/lC3eGFQArSyvS7EHD6XQQpymZ2jA==", + "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/jsonrpc-utils": "^1.0.4", + "@walletconnect/relay-api": "^1.0.7", + "@walletconnect/safe-json": "^1.0.1", + "@walletconnect/time": "^1.0.2", + "@walletconnect/types": "2.4.4", + "@walletconnect/window-getters": "^1.0.1", + "@walletconnect/window-metadata": "^1.0.1", + "detect-browser": "5.3.0", + "query-string": "7.1.1", + "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/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/window-getters": "^1.0.1", + "tslib": "1.14.1" + } + }, + "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/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/@walletconnect/sign-client/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/@walletconnect/sign-client/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/@walletconnect/sign-client/node_modules/query-string": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.1.tgz", + "integrity": "sha512-MplouLRDHBZSG9z7fpuAAcI7aAYjDLhtsiVZsevsfaHWDS2IDdORKbSd1kWUA+V4zyva/HZoSfpwnYMMQDhb0w==", + "dependencies": { + "decode-uri-component": "^0.2.0", + "filter-obj": "^1.1.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/@walletconnect/sign-client/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@walletconnect/signer-connection": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/signer-connection/-/signer-connection-1.8.0.tgz", + "integrity": "sha512-+YAaTAP52MWZJ2wWnqKClKCPlPHBo6reURFe0cWidLADh9mi/kPWGALZ5AENK22zpem1bbKV466rF5Rzvu0ehA==", + "dependencies": { + "@walletconnect/client": "^1.8.0", + "@walletconnect/jsonrpc-types": "^1.0.1", + "@walletconnect/jsonrpc-utils": "^1.0.3", + "@walletconnect/qrcode-modal": "^1.8.0", + "@walletconnect/types": "^1.8.0", + "eventemitter3": "4.0.7" + } + }, + "node_modules/@walletconnect/socket-transport": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/socket-transport/-/socket-transport-1.8.0.tgz", + "integrity": "sha512-5DyIyWrzHXTcVp0Vd93zJ5XMW61iDM6bcWT4p8DTRfFsOtW46JquruMhxOLeCOieM4D73kcr3U7WtyR4JUsGuQ==", + "dependencies": { + "@walletconnect/types": "^1.8.0", + "@walletconnect/utils": "^1.8.0", + "ws": "7.5.3" + } + }, + "node_modules/@walletconnect/socket-transport/node_modules/ws": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz", + "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "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/time/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@walletconnect/types": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-1.8.0.tgz", + "integrity": "sha512-Cn+3I0V0vT9ghMuzh1KzZvCkiAxTq+1TR2eSqw5E5AVWfmCtECFkVZBP6uUJZ8YjwLqXheI+rnjqPy7sVM4Fyg==", + "deprecated": "WalletConnect's v1 SDKs are now deprecated. Please upgrade to a v2 SDK. For details see: https://docs.walletconnect.com/" + }, + "node_modules/@walletconnect/universal-provider": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@walletconnect/universal-provider/-/universal-provider-2.4.4.tgz", + "integrity": "sha512-tZ8dw34cWb5Nz7DS40KhgbuNjGIuVrIrMS9teRQfnwNg18ePPuT/YhcGQLbjLPqB7W7wFWwKACWIgAOBLhKyvQ==", + "dependencies": { + "@walletconnect/jsonrpc-http-connection": "^1.0.4", + "@walletconnect/jsonrpc-provider": "^1.0.6", + "@walletconnect/jsonrpc-types": "^1.0.2", + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/logger": "^2.0.1", + "@walletconnect/sign-client": "2.4.4", + "@walletconnect/types": "2.4.4", + "@walletconnect/utils": "2.4.4", + "eip1193-provider": "1.0.1", + "events": "^3.3.0", + "pino": "7.11.0" + } + }, + "node_modules/@walletconnect/universal-provider/node_modules/@walletconnect/types": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.4.4.tgz", + "integrity": "sha512-4XndBOlB0qbhaJvzcBZCfR69rfU5rV0U5b3YbJ1AmtxcJSJAIg68WDP7o4BE4w1LHzdsEWvbXHRYL+KsA+uG3w==", + "dependencies": { + "@walletconnect/events": "^1.0.1", + "@walletconnect/heartbeat": "1.2.0", + "@walletconnect/jsonrpc-types": "^1.0.2", + "@walletconnect/keyvaluestorage": "^1.0.2", + "@walletconnect/logger": "^2.0.1", + "events": "^3.3.0" + } + }, + "node_modules/@walletconnect/universal-provider/node_modules/@walletconnect/utils": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.4.4.tgz", + "integrity": "sha512-PM4biwrvi5OwXIroLHDxtCOXlvZGCGNvbYS0Jkb6ZmP1EbGjVz1xA1hnp/lC3eGFQArSyvS7EHD6XQQpymZ2jA==", + "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/jsonrpc-utils": "^1.0.4", + "@walletconnect/relay-api": "^1.0.7", + "@walletconnect/safe-json": "^1.0.1", + "@walletconnect/time": "^1.0.2", + "@walletconnect/types": "2.4.4", + "@walletconnect/window-getters": "^1.0.1", + "@walletconnect/window-metadata": "^1.0.1", + "detect-browser": "5.3.0", + "query-string": "7.1.1", + "uint8arrays": "3.1.0" + } + }, + "node_modules/@walletconnect/universal-provider/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/universal-provider/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/window-getters": "^1.0.1", + "tslib": "1.14.1" + } + }, + "node_modules/@walletconnect/universal-provider/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/universal-provider/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/@walletconnect/universal-provider/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/@walletconnect/universal-provider/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/@walletconnect/universal-provider/node_modules/query-string": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.1.tgz", + "integrity": "sha512-MplouLRDHBZSG9z7fpuAAcI7aAYjDLhtsiVZsevsfaHWDS2IDdORKbSd1kWUA+V4zyva/HZoSfpwnYMMQDhb0w==", + "dependencies": { + "decode-uri-component": "^0.2.0", + "filter-obj": "^1.1.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/@walletconnect/universal-provider/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "node_modules/@walletconnect/utils": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-1.8.0.tgz", + "integrity": "sha512-zExzp8Mj1YiAIBfKNm5u622oNw44WOESzo6hj+Q3apSMIb0Jph9X3GDIdbZmvVZsNPxWDL7uodKgZcCInZv2vA==", + "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" + } + }, + "node_modules/@walletconnect/utils/node_modules/bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" + }, + "node_modules/@walletconnect/utils/node_modules/query-string": { + "version": "6.13.5", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.13.5.tgz", + "integrity": "sha512-svk3xg9qHR39P3JlHuD7g3nRnyay5mHbrPctEBDUxUkHRifPHXJDhBUycdCC0NBjXoDf44Gb+IsOZL1Uwn8M/Q==", + "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/@walletconnect/window-getters": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@walletconnect/window-getters/-/window-getters-1.0.0.tgz", + "integrity": "sha512-xB0SQsLaleIYIkSsl43vm8EwETpBzJ2gnzk7e0wMF3ktqiTGS6TFHxcprMl5R44KKh4tCcHCJwolMCaDSwtAaA==" + }, + "node_modules/@walletconnect/window-metadata": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@walletconnect/window-metadata/-/window-metadata-1.0.0.tgz", + "integrity": "sha512-9eFvmJxIKCC3YWOL97SgRkKhlyGXkrHwamfechmqszbypFspaSk+t2jQXAEU7YClHF6Qjw5eYOmy1//zFi9/GA==", + "dependencies": { + "@walletconnect/window-getters": "^1.0.0" + } + }, + "node_modules/@web3modal/core": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@web3modal/core/-/core-2.1.1.tgz", + "integrity": "sha512-GAZAvfkPHoX2/fghQmf+y36uDspk9wBJxG7qLPUNTHzvIfRoNHWbTt3iEvRdPmUZwbTGDn1jvz9z0uU67gvZdw==", + "dependencies": { + "buffer": "6.0.3", + "valtio": "1.9.0" + } + }, + "node_modules/@web3modal/standalone": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@web3modal/standalone/-/standalone-2.1.1.tgz", + "integrity": "sha512-K06VkZqltLIBKpnLeM2oszRDSdLnwXJWCcItWEOkH4LDFQIiq8lSeLhcamuadRxRKF4ZyTSLHHJ5MFcMfZEHQQ==", + "dependencies": { + "@web3modal/core": "2.1.1", + "@web3modal/ui": "2.1.1" + } + }, + "node_modules/@web3modal/ui": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@web3modal/ui/-/ui-2.1.1.tgz", + "integrity": "sha512-0jRDxgPc/peaE5KgqnzzriXhdVu5xNyCMP5Enqdpd77VkknJIs7h16MYKidxgFexieyHpCOssWySsryWcP2sXA==", + "dependencies": { + "@web3modal/core": "2.1.1", + "lit": "2.6.1", + "motion": "10.15.5", + "qrcode": "1.5.1" + } + }, + "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/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/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/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.1", + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.1.tgz", + "integrity": "sha512-nS8NJ1Z3md8uTjKtP+SGGhfqmTCs5flU/xR623oI0JX+Wepz9R8UrRVCTBTJm3qGw3rH6jJ6MUHjkDx15cxSSg==", + "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/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/@web3modal/ui/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + }, + "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": { + "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/@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": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/@webassemblyjs/ast": { "version": "1.11.1", "dev": true, @@ -6622,7 +8864,6 @@ }, "node_modules/acorn-walk": { "version": "8.2.0", - "dev": true, "license": "MIT", "engines": { "node": ">=0.4.0" @@ -6823,6 +9064,11 @@ "node": ">= 8" } }, + "node_modules/apg-js": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/apg-js/-/apg-js-4.1.3.tgz", + "integrity": "sha512-XYyDcoBho8OpnWPRnedMwyL+76ovCtsESerHZEfY39dO4IrEqN97mdEYkOyHa0XTX5+3+U5FmpqPLttK0f7n6g==" + }, "node_modules/aproba": { "version": "2.0.0", "license": "ISC" @@ -6857,7 +9103,6 @@ }, "node_modules/arg": { "version": "4.1.3", - "dev": true, "license": "MIT" }, "node_modules/argparse": { @@ -7127,7 +9372,6 @@ }, "node_modules/assertion-error": { "version": "1.1.0", - "dev": true, "license": "MIT", "engines": { "node": "*" @@ -7202,7 +9446,6 @@ }, "node_modules/available-typed-arrays": { "version": "1.0.5", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4" @@ -7518,7 +9761,6 @@ }, "node_modules/binary-extensions": { "version": "2.2.0", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -7663,7 +9905,6 @@ }, "node_modules/browser-stdout": { "version": "1.3.1", - "dev": true, "license": "ISC" }, "node_modules/browserify-aes": { @@ -7826,6 +10067,20 @@ "ieee754": "^1.2.1" } }, + "node_modules/buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "dependencies": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "node_modules/buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" + }, "node_modules/buffer-crc32": { "version": "0.2.13", "license": "MIT", @@ -7833,6 +10088,11 @@ "node": "*" } }, + "node_modules/buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==" + }, "node_modules/buffer-from": { "version": "1.1.2", "license": "MIT" @@ -8124,6 +10384,23 @@ "node": ">=8" } }, + "node_modules/chai": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", + "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^4.1.2", + "get-func-name": "^2.0.0", + "loupe": "^2.3.1", + "pathval": "^1.1.1", + "type-detect": "^4.0.5" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/chai-nightwatch": { "version": "0.4.2", "dev": true, @@ -8160,9 +10437,16 @@ "version": "0.7.0", "license": "MIT" }, + "node_modules/check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==", + "engines": { + "node": "*" + } + }, "node_modules/chokidar": { "version": "3.5.3", - "dev": true, "funding": [ { "type": "individual", @@ -8188,7 +10472,6 @@ }, "node_modules/chokidar/node_modules/glob-parent": { "version": "5.1.2", - "dev": true, "license": "ISC", "dependencies": { "is-glob": "^4.0.1" @@ -8214,10 +10497,9 @@ }, "node_modules/chromedriver": { "version": "109.0.0", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-109.0.0.tgz", - "integrity": "sha512-jdmBq11IUwfThLFiygGTZ89qbROSQI4bICQjvOVQy2Bqr1LwC+MFkhwyZp3YG99eehQbZuTlQmmfCZBfpewTNA==", "dev": true, "hasInstallScript": true, + "license": "Apache-2.0", "dependencies": { "@testim/chrome-version": "^1.1.3", "axios": "^1.2.1", @@ -9007,6 +11289,14 @@ "node": ">=0.10.0" } }, + "node_modules/copy-to-clipboard": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", + "dependencies": { + "toggle-selection": "^1.0.6" + } + }, "node_modules/core-js": { "version": "3.24.1", "hasInstallScript": true, @@ -9116,7 +11406,6 @@ }, "node_modules/create-require": { "version": "1.1.1", - "dev": true, "license": "MIT" }, "node_modules/cross-fetch": { @@ -9363,6 +11652,17 @@ "version": "0.7.0", "license": "MIT" }, + "node_modules/deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/deep-extend": { "version": "0.6.0", "license": "MIT", @@ -9478,6 +11778,11 @@ "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/detect-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/detect-browser/-/detect-browser-5.2.0.tgz", + "integrity": "sha512-tr7XntDAu50BVENgQfajMLzacmSe34D+qZc4zjnniz0ZVuw/TZcLcyxHQjYpJTM36sGEkZZlYLnIM1hH7alTMA==" + }, "node_modules/detect-indent": { "version": "6.1.0", "license": "MIT", @@ -9553,6 +11858,11 @@ "dev": true, "license": "MIT" }, + "node_modules/dijkstrajs": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.2.tgz", + "integrity": "sha512-QV6PMaHTCNmKSeP6QoXhVTw9snc9VD8MulTT0Bd99Pacp4SS1cjcrYPgBPmibqKVtMJJfqC6XvOXgPMEEPH/fg==" + }, "node_modules/dir-glob": { "version": "3.0.1", "license": "MIT", @@ -9636,7 +11946,6 @@ }, "node_modules/duplexify": { "version": "4.1.2", - "dev": true, "license": "MIT", "dependencies": { "end-of-stream": "^1.4.1", @@ -9674,6 +11983,14 @@ "version": "1.1.1", "license": "MIT" }, + "node_modules/eip1193-provider": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/eip1193-provider/-/eip1193-provider-1.0.1.tgz", + "integrity": "sha512-kSuqwQ26d7CzuS/t3yRXo2Su2cVH0QfvyKbr2H7Be7O5YDyIq4hQGCNTo5wRdP07bt+E2R/8nPCzey4ojBHf7g==", + "dependencies": { + "@json-rpc-tools/provider": "^1.5.5" + } + }, "node_modules/ejs": { "version": "3.1.8", "dev": true, @@ -9966,6 +12283,11 @@ "node": ">= 4" } }, + "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", "license": "MIT", @@ -10662,7 +12984,9 @@ } }, "node_modules/ethers": { - "version": "5.7.0", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", "funding": [ { "type": "individual", @@ -10673,7 +12997,6 @@ "url": "https://www.buymeacoffee.com/ricmoo" } ], - "license": "MIT", "dependencies": { "@ethersproject/abi": "5.7.0", "@ethersproject/abstract-provider": "5.7.0", @@ -10690,10 +13013,10 @@ "@ethersproject/json-wallets": "5.7.0", "@ethersproject/keccak256": "5.7.0", "@ethersproject/logger": "5.7.0", - "@ethersproject/networks": "5.7.0", + "@ethersproject/networks": "5.7.1", "@ethersproject/pbkdf2": "5.7.0", "@ethersproject/properties": "5.7.0", - "@ethersproject/providers": "5.7.0", + "@ethersproject/providers": "5.7.2", "@ethersproject/random": "5.7.0", "@ethersproject/rlp": "5.7.0", "@ethersproject/sha2": "5.7.0", @@ -10703,7 +13026,7 @@ "@ethersproject/transactions": "5.7.0", "@ethersproject/units": "5.7.0", "@ethersproject/wallet": "5.7.0", - "@ethersproject/web": "5.7.0", + "@ethersproject/web": "5.7.1", "@ethersproject/wordlists": "5.7.0" } }, @@ -10726,7 +13049,6 @@ }, "node_modules/events": { "version": "3.3.0", - "dev": true, "license": "MIT", "engines": { "node": ">=0.8.x" @@ -11410,7 +13732,6 @@ }, "node_modules/for-each": { "version": "0.3.3", - "dev": true, "license": "MIT", "dependencies": { "is-callable": "^1.1.3" @@ -11742,6 +14063,14 @@ "node": "6.* || 8.* || >= 10.*" } }, + "node_modules/get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==", + "engines": { + "node": "*" + } + }, "node_modules/get-intrinsic": { "version": "1.1.2", "license": "MIT", @@ -11844,9 +14173,8 @@ }, "node_modules/get-symbol-from-current-process-h": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-symbol-from-current-process-h/-/get-symbol-from-current-process-h-1.0.2.tgz", - "integrity": "sha512-syloC6fsCt62ELLrr1VKBM1ggOpMdetX9hTrdW77UQdcApPHLmf7CI7OKcN1c9kYuNxKcDe4iJ4FY9sX3aw2xw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/get-uri": { "version": "3.0.2", @@ -11903,9 +14231,8 @@ }, "node_modules/get-uv-event-loop-napi-h": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/get-uv-event-loop-napi-h/-/get-uv-event-loop-napi-h-1.0.6.tgz", - "integrity": "sha512-t5c9VNR84nRoF+eLiz6wFrEp1SE2Acg0wS+Ysa2zF0eROes+LzOfuTaVHxGy8AbS8rq7FHEJzjnCZo1BupwdJg==", "dev": true, + "license": "MIT", "dependencies": { "get-symbol-from-current-process-h": "^1.0.1" } @@ -12700,7 +15027,6 @@ }, "node_modules/he": { "version": "1.2.0", - "dev": true, "license": "MIT", "bin": { "he": "bin/he" @@ -12727,6 +15053,11 @@ "node": ">=8" } }, + "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", @@ -12940,6 +15271,11 @@ "minimatch": "^3.0.4" } }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" + }, "node_modules/import-fresh": { "version": "3.3.0", "license": "MIT", @@ -13167,7 +15503,6 @@ }, "node_modules/is-arguments": { "version": "1.1.1", - "dev": true, "license": "MIT", "dependencies": { "call-bind": "^1.0.2", @@ -13196,7 +15531,6 @@ }, "node_modules/is-binary-path": { "version": "2.1.0", - "dev": true, "license": "MIT", "dependencies": { "binary-extensions": "^2.0.0" @@ -13371,7 +15705,6 @@ }, "node_modules/is-generator-function": { "version": "1.0.10", - "dev": true, "license": "MIT", "dependencies": { "has-tostringtag": "^1.0.0" @@ -13550,7 +15883,6 @@ }, "node_modules/is-typed-array": { "version": "1.1.9", - "dev": true, "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.5", @@ -15631,6 +17963,26 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, + "node_modules/jest-mock-extended": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/jest-mock-extended/-/jest-mock-extended-3.0.1.tgz", + "integrity": "sha512-RF4Ow8pXvbRuEcCTj56oYHmig5311BSFvbEGxPNYL51wGKGu93MvVQgx0UpFmjqyBXIcElkZo2Rke88kR1iSKQ==", + "dependencies": { + "ts-essentials": "^7.0.3" + }, + "peerDependencies": { + "jest": "^24.0.0 || ^25.0.0 || ^26.0.0 || ^27.0.0 || ^28.0.0 || ^29.0.0", + "typescript": "^3.0.0 || ^4.0.0" + } + }, + "node_modules/jest-mock-extended/node_modules/ts-essentials": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-7.0.3.tgz", + "integrity": "sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==", + "peerDependencies": { + "typescript": ">=3.7.0" + } + }, "node_modules/jest-mock/node_modules/@jest/schemas": { "version": "29.4.3", "license": "MIT", @@ -16710,6 +19062,39 @@ "node": ">=0.6.0" } }, + "node_modules/jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, + "node_modules/jszip/node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/jszip/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, "node_modules/just-extend": { "version": "4.2.1", "dev": true, @@ -18116,6 +20501,11 @@ "json-buffer": "3.0.0" } }, + "node_modules/keyvaluestorage-interface": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz", + "integrity": "sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==" + }, "node_modules/kind-of": { "version": "6.0.3", "license": "MIT", @@ -18743,10 +21133,69 @@ "node": ">= 10" } }, + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dependencies": { + "immediate": "~3.0.5" + } + }, "node_modules/lines-and-columns": { "version": "1.2.4", "license": "MIT" }, + "node_modules/lit": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/lit/-/lit-2.6.1.tgz", + "integrity": "sha512-DT87LD64f8acR7uVp7kZfhLRrHkfC/N4BVzAtnw9Yg8087mbBJ//qedwdwX0kzDbxgPccWRW6mFwGbRQIxy0pw==", + "dependencies": { + "@lit/reactive-element": "^1.6.0", + "lit-element": "^3.2.0", + "lit-html": "^2.6.0" + } + }, + "node_modules/lit-connect-modal": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/lit-connect-modal/-/lit-connect-modal-0.1.8.tgz", + "integrity": "sha512-dxBqSRFDtDGBLQbCqCHlx4b0M0Xc+5p/OId34F8mAccOKeOavQI/Iy/PKfwspfnEg1q+yWjcf2k7vOcJKU4loA==", + "dependencies": { + "micromodal": "^0.4.10" + } + }, + "node_modules/lit-element": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.2.2.tgz", + "integrity": "sha512-6ZgxBR9KNroqKb6+htkyBwD90XGRiqKDHVrW/Eh0EZ+l+iC+u+v+w3/BA5NGi4nizAVHGYvQBHUDuSmLjPp7NQ==", + "dependencies": { + "@lit/reactive-element": "^1.3.0", + "lit-html": "^2.2.0" + } + }, + "node_modules/lit-html": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.6.1.tgz", + "integrity": "sha512-Z3iw+E+3KKFn9t2YKNjsXNEu/LRLI98mtH/C6lnFg7kvaqPIzPn124Yd4eT/43lyqrejpc5Wb6BHq3fdv4S8Rw==", + "dependencies": { + "@types/trusted-types": "^2.0.2" + } + }, + "node_modules/lit-siwe": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/lit-siwe/-/lit-siwe-1.1.8.tgz", + "integrity": "sha512-gXI8GG0GAClw6G7T9p4p6Kn9ywDo8j2d90ShaYArJdsqqO9gwXfzxF84SMeY+bpsNqqQ3FahrhEwTCHd6w7wNw==", + "dependencies": { + "@spruceid/siwe-parser": "1.1.3", + "@stablelib/random": "^1.0.1", + "apg-js": "^4.1.1" + }, + "peerDependencies": { + "@ethersproject/contracts": "^5.2.0", + "@ethersproject/hash": "^5.4.0", + "@ethersproject/providers": "^5.2.0", + "@ethersproject/wallet": "^5.2.0" + } + }, "node_modules/load-json-file": { "version": "6.2.0", "license": "MIT", @@ -18912,6 +21361,11 @@ "dev": true, "license": "MIT" }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" + }, "node_modules/lodash.ismatch": { "version": "4.4.0", "license": "MIT" @@ -19003,6 +21457,14 @@ "node": ">=0.6" } }, + "node_modules/loupe": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", + "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", + "dependencies": { + "get-func-name": "^2.0.0" + } + }, "node_modules/lowercase-keys": { "version": "1.0.1", "license": "MIT", @@ -19378,6 +21840,14 @@ "node": ">=8.6" } }, + "node_modules/micromodal": { + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/micromodal/-/micromodal-0.4.10.tgz", + "integrity": "sha512-BUrEnzMPFBwK8nOE4xUDYHLrlGlLULQVjpja99tpJQPSUEWgw3kTLp1n1qv0HmKU29AiHE7Y7sMLiRziDK4ghQ==", + "engines": { + "node": ">=10" + } + }, "node_modules/miller-rabin": { "version": "4.0.1", "dev": true, @@ -20054,6 +22524,19 @@ "node": ">= 0.8" } }, + "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/mqemitter": { "version": "4.5.0", "license": "ISC", @@ -20206,6 +22689,11 @@ "version": "2.1.2", "license": "MIT" }, + "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/multimatch": { "version": "5.0.0", "license": "MIT", @@ -20234,6 +22722,17 @@ "version": "0.0.8", "license": "ISC" }, + "node_modules/nanoid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", + "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, "node_modules/nanomatch": { "version": "1.2.13", "license": "MIT", @@ -21403,6 +23902,11 @@ "dev": true, "license": "MIT" }, + "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.4.1", "license": "MIT", @@ -22013,7 +24517,6 @@ }, "node_modules/pako": { "version": "1.0.11", - "dev": true, "license": "(MIT AND Zlib)" }, "node_modules/parent-module": { @@ -22365,6 +24868,14 @@ "node": ">=8" } }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "engines": { + "node": "*" + } + }, "node_modules/pause-stream": { "version": "0.0.11", "license": [ @@ -22438,6 +24949,23 @@ "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-abstract-transport/node_modules/split2": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.1.0.tgz", + "integrity": "sha512-VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ==", + "engines": { + "node": ">= 10.x" + } + }, "node_modules/pino-pretty": { "version": "5.1.3", "license": "MIT", @@ -22536,6 +25064,14 @@ "dev": true, "license": "MIT" }, + "node_modules/pngjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==", + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/posix-character-classes": { "version": "0.1.1", "license": "MIT", @@ -22543,6 +25079,15 @@ "node": ">=0.10.0" } }, + "node_modules/preact": { + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.4.1.tgz", + "integrity": "sha512-WKrRpCSwL2t3tpOOGhf2WfTpcmbpxaWtDbdJdKdjd0aEiTkvOmS4NBkG6kzlaAHI9AkQ3iVqbFWM3Ei7mZ4o1Q==", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, "node_modules/prelude-ls": { "version": "1.2.1", "license": "MIT", @@ -22742,6 +25287,11 @@ "dev": true, "license": "ISC" }, + "node_modules/proxy-compare": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/proxy-compare/-/proxy-compare-2.4.0.tgz", + "integrity": "sha512-FD8KmQUQD6Mfpd0hywCOzcon/dbkFP8XBd9F1ycbKtvVsfv6TsFUKJ2eC0Iz2y+KzlkdT1Z8SY6ZSgm07zOyqg==" + }, "node_modules/proxy-from-env": { "version": "1.1.0", "dev": true, @@ -22816,6 +25366,219 @@ "node": ">= 14" } }, + "node_modules/qrcode": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.4.4.tgz", + "integrity": "sha512-oLzEC5+NKFou9P0bMj5+v6Z40evexeE29Z9cummZXZ9QXyMr3lphkURzxjXgPJC5azpxcshoDWV1xE46z+/c3Q==", + "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/ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==", + "engines": { + "node": ">=6" + } + }, + "node_modules/qrcode/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dependencies": { + "color-convert": "^1.9.0" + }, + "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/cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dependencies": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "node_modules/qrcode/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/qrcode/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "node_modules/qrcode/node_modules/emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "node_modules/qrcode/node_modules/find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dependencies": { + "locate-path": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/qrcode/node_modules/is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==", + "engines": { + "node": ">=4" + } + }, + "node_modules/qrcode/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "node_modules/qrcode/node_modules/locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dependencies": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/qrcode/node_modules/p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dependencies": { + "p-limit": "^2.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/qrcode/node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/qrcode/node_modules/string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dependencies": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/qrcode/node_modules/strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dependencies": { + "ansi-regex": "^4.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/qrcode/node_modules/wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dependencies": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/qrcode/node_modules/y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + }, + "node_modules/qrcode/node_modules/yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "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/qrcode/node_modules/yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dependencies": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + }, "node_modules/qs": { "version": "6.11.0", "license": "BSD-3-Clause", @@ -23256,7 +26019,6 @@ }, "node_modules/readdirp": { "version": "3.6.0", - "dev": true, "license": "MIT", "dependencies": { "picomatch": "^2.2.1" @@ -23265,6 +26027,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/realpath-native": { "version": "2.0.0", "dev": true, @@ -23564,7 +26334,6 @@ }, "node_modules/require-main-filename": { "version": "2.0.0", - "dev": true, "license": "ISC" }, "node_modules/require-package-name": { @@ -23780,6 +26549,11 @@ "version": "5.1.2", "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": { "version": "1.1.0", "license": "MIT", @@ -23787,6 +26561,14 @@ "ret": "~0.1.10" } }, + "node_modules/safe-stable-stringify": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.2.tgz", + "integrity": "sha512-gMxvPJYhP0O9n2pvcfYfIuYgbledAOJFcqRThtPRmjscaipiwcwPPKLytpVzMkG2HAN87Qmo2d4PtGiri1dSLA==", + "engines": { + "node": ">=10" + } + }, "node_modules/safer-buffer": { "version": "2.1.2", "license": "MIT" @@ -24238,7 +27020,6 @@ }, "node_modules/serialize-javascript": { "version": "6.0.0", - "dev": true, "license": "BSD-3-Clause", "dependencies": { "randombytes": "^2.1.0" @@ -24307,9 +27088,8 @@ }, "node_modules/setimmediate-napi": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/setimmediate-napi/-/setimmediate-napi-1.0.6.tgz", - "integrity": "sha512-sdNXN15Av1jPXuSal4Mk4tEAKn0+8lfF9Z50/negaQMrAIO9c1qM0eiCh8fT6gctp0RiCObk+6/Xfn5RMGdZoA==", "dev": true, + "license": "MIT", "dependencies": { "get-symbol-from-current-process-h": "^1.0.1", "get-uv-event-loop-napi-h": "^1.0.5" @@ -24705,7 +27485,6 @@ }, "node_modules/sonic-boom": { "version": "2.8.0", - "dev": true, "license": "MIT", "dependencies": { "atomic-sleep": "^1.0.0" @@ -25347,7 +28126,6 @@ }, "node_modules/stream-shift": { "version": "1.0.1", - "dev": true, "license": "MIT" }, "node_modules/stream-to-array": { @@ -25926,6 +28704,14 @@ "version": "0.2.0", "license": "MIT" }, + "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/throat": { "version": "5.0.0", "dev": true, @@ -26028,6 +28814,11 @@ "node": ">=8.0" } }, + "node_modules/toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" + }, "node_modules/toidentifier": { "version": "1.0.1", "license": "MIT", @@ -26203,7 +28994,6 @@ }, "node_modules/ts-node": { "version": "10.9.1", - "dev": true, "license": "MIT", "dependencies": { "@cspotcode/source-map-support": "^0.8.0", @@ -26245,7 +29035,6 @@ }, "node_modules/ts-node/node_modules/diff": { "version": "4.0.2", - "dev": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" @@ -26348,6 +29137,11 @@ "version": "0.14.5", "license": "Unlicense" }, + "node_modules/tweetnacl-util": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", + "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==" + }, "node_modules/type": { "version": "1.2.0", "license": "ISC" @@ -26496,6 +29290,14 @@ "node": "*" } }, + "node_modules/uint8arrays": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.0.tgz", + "integrity": "sha512-ei5rfKtoRO8OyOIor2Rz5fhzjThwIHJZ3uyDPnDHTXbP0aMQ1RN/6AI5B5d9dBxJOU+BvOAk7ZQ1xphsX8Lrog==", + "dependencies": { + "multiformats": "^9.4.2" + } + }, "node_modules/umask": { "version": "1.1.0", "license": "MIT" @@ -26715,6 +29517,14 @@ "node": ">=0.10.0" } }, + "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.9", "hasInstallScript": true, @@ -26728,7 +29538,6 @@ }, "node_modules/util": { "version": "0.12.4", - "dev": true, "license": "MIT", "dependencies": { "inherits": "^2.0.3", @@ -26774,7 +29583,6 @@ }, "node_modules/v8-compile-cache-lib": { "version": "3.0.1", - "dev": true, "license": "MIT" }, "node_modules/v8-to-istanbul": { @@ -26804,6 +29612,26 @@ "builtins": "^1.0.3" } }, + "node_modules/valtio": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/valtio/-/valtio-1.9.0.tgz", + "integrity": "sha512-mQLFsAlKbYascZygFQh6lXuDjU5WHLoeZ8He4HqMnWfasM96V6rDbeFkw1XeG54xycmDonr/Jb4xgviHtuySrA==", + "dependencies": { + "proxy-compare": "2.4.0", + "use-sync-external-store": "1.2.0" + }, + "engines": { + "node": ">=12.20.0" + }, + "peerDependencies": { + "react": ">=16.8" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + } + } + }, "node_modules/vary": { "version": "1.1.2", "license": "MIT", @@ -26912,16 +29740,20 @@ }, "node_modules/weak-napi": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/weak-napi/-/weak-napi-2.0.2.tgz", - "integrity": "sha512-LcOSVFrghtVXf4QH+DLIy8iPiCktV7lVbqRDYP+bDPpLzC41RCHQPMyQOnPpWO41Ie4CmnDxS+mbL72r5xFMMQ==", "dev": true, "hasInstallScript": true, + "license": "MIT", "dependencies": { "node-addon-api": "^3.0.0", "node-gyp-build": "^4.2.1", "setimmediate-napi": "^1.0.3" } }, + "node_modules/web-vitals": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-3.1.1.tgz", + "integrity": "sha512-qvllU+ZeQChqzBhZ1oyXmWsjJ8a2jHYpH8AMaVuf29yscOPZfTQTjQFRX6+eADTdsDE8IanOZ0cetweHMs8/2A==" + }, "node_modules/webidl-conversions": { "version": "6.1.0", "license": "BSD-2-Clause", @@ -27203,12 +30035,10 @@ }, "node_modules/which-module": { "version": "2.0.0", - "dev": true, "license": "ISC" }, "node_modules/which-typed-array": { "version": "1.1.8", - "dev": true, "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.5", @@ -27283,6 +30113,11 @@ "version": "1.0.0", "license": "MIT" }, + "node_modules/workerpool": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", + "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==" + }, "node_modules/wrap-ansi": { "version": "7.0.0", "license": "MIT", @@ -27442,7 +30277,6 @@ }, "node_modules/ws": { "version": "7.5.9", - "dev": true, "license": "MIT", "engines": { "node": ">=8.3.0" @@ -27730,7 +30564,6 @@ }, "node_modules/yn": { "version": "3.1.1", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -27896,6 +30729,7 @@ "@ethersproject/transactions": "^5.5.0", "@ethersproject/wallet": "^5.5.0", "@ethersproject/web": "^5.5.0", + "@lit-protocol/lit-node-client": "2.1.38", "@streamr/network-node": "7.3.0", "@streamr/protocol": "7.3.0", "@streamr/utils": "7.3.0", @@ -27906,6 +30740,7 @@ "eventemitter3": "^4.0.7", "heap": "^0.2.6", "idb-keyval": "^5.1.5", + "lit-siwe": "^1.1.8", "lodash": "^4.17.21", "mem": "^8.1.1", "node-fetch": "^2.6.6", @@ -27976,18 +30811,16 @@ }, "packages/client/node_modules/ansi-regex": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } }, "packages/client/node_modules/ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -27997,18 +30830,16 @@ }, "packages/client/node_modules/jest-get-type": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "dev": true, + "license": "MIT", "engines": { "node": "^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0" } }, "packages/client/node_modules/jest-leak-detector": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", - "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", "dev": true, + "license": "MIT", "dependencies": { "jest-get-type": "^27.5.1", "pretty-format": "^27.5.1" @@ -28042,9 +30873,8 @@ }, "packages/client/node_modules/pretty-format": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1", "ansi-styles": "^5.0.0", @@ -28056,9 +30886,8 @@ }, "packages/client/node_modules/react-is": { "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "dev": true + "dev": true, + "license": "MIT" }, "packages/dht": { "name": "@streamr/dht", @@ -30816,14 +33645,12 @@ }, "@cspotcode/source-map-support": { "version": "0.8.1", - "dev": true, "requires": { "@jridgewell/trace-mapping": "0.3.9" }, "dependencies": { "@jridgewell/trace-mapping": { "version": "0.3.9", - "dev": true, "requires": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" @@ -31070,7 +33897,9 @@ "version": "5.7.0" }, "@ethersproject/networks": { - "version": "5.7.0", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/networks/-/networks-5.7.1.tgz", + "integrity": "sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==", "requires": { "@ethersproject/logger": "^5.7.0" } @@ -31089,7 +33918,9 @@ } }, "@ethersproject/providers": { - "version": "5.7.0", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/@ethersproject/providers/-/providers-5.7.2.tgz", + "integrity": "sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==", "requires": { "@ethersproject/abstract-provider": "^5.7.0", "@ethersproject/abstract-signer": "^5.7.0", @@ -31213,7 +34044,9 @@ } }, "@ethersproject/web": { - "version": "5.7.0", + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/@ethersproject/web/-/web-5.7.1.tgz", + "integrity": "sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==", "requires": { "@ethersproject/base64": "^5.7.0", "@ethersproject/bytes": "^5.7.0", @@ -31957,6 +34790,44 @@ "@jridgewell/sourcemap-codec": "^1.4.10" } }, + "@json-rpc-tools/provider": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@json-rpc-tools/provider/-/provider-1.7.6.tgz", + "integrity": "sha512-z7D3xvJ33UfCGv77n40lbzOYjZKVM3k2+5cV7xS8G6SCvKTzMkhkUYuD/qzQUNT4cG/lv0e9mRToweEEVLVVmA==", + "requires": { + "@json-rpc-tools/utils": "^1.7.6", + "axios": "^0.21.0", + "safe-json-utils": "^1.1.1", + "ws": "^7.4.0" + }, + "dependencies": { + "axios": { + "version": "0.21.4", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz", + "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==", + "requires": { + "follow-redirects": "^1.14.0" + } + } + } + }, + "@json-rpc-tools/types": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@json-rpc-tools/types/-/types-1.7.6.tgz", + "integrity": "sha512-nDSqmyRNEqEK9TZHtM15uNnDljczhCUdBmRhpNZ95bIPKEDQ+nTDmGMFd2lLin3upc5h2VVVd9tkTDdbXUhDIQ==", + "requires": { + "keyvaluestorage-interface": "^1.0.0" + } + }, + "@json-rpc-tools/utils": { + "version": "1.7.6", + "resolved": "https://registry.npmjs.org/@json-rpc-tools/utils/-/utils-1.7.6.tgz", + "integrity": "sha512-HjA8x/U/Q78HRRe19yh8HVKoZ+Iaoo3YZjakJYxR+rw52NHo6jM+VE9b8+7ygkCFXl/EHID5wh/MkXaE/jGyYw==", + "requires": { + "@json-rpc-tools/types": "^1.7.6", + "@pedrouid/environment": "^1.0.1" + } + }, "@lerna/add": { "version": "4.0.0", "requires": { @@ -32623,6 +35494,635 @@ } } }, + "@lit-labs/ssr-dom-shim": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.0.0.tgz", + "integrity": "sha512-ic93MBXfApIFTrup4a70M/+ddD8xdt2zxxj9sRwHQzhS9ag/syqkD8JPdTXsc1gUy2K8TTirhlCqyTEM/sifNw==" + }, + "@lit-protocol/access-control-conditions": { + "version": "2.1.37", + "resolved": "https://registry.npmjs.org/@lit-protocol/access-control-conditions/-/access-control-conditions-2.1.37.tgz", + "integrity": "sha512-jaVNINPX4vI+7XUHN1jjYmazRsiBEDDVM8mgZOZB12mNQYd+iiuxa/a+qZw0pcQBVaWrha6SaHjEbE+36kKJQg==", + "requires": { + "@lit-protocol/constants": "2.1.36", + "@lit-protocol/misc": "2.1.36", + "@lit-protocol/uint8arrays": "2.1.36", + "ethers": "^5.7.1", + "tslib": "^2.3.0" + }, + "dependencies": { + "@lit-protocol/constants": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.36.tgz", + "integrity": "sha512-eLPlcpFQHnrjeCwSbgkFyq7eTbr4JzNo8EihJI62S0XZqvwP/HFT7YYk67+HpDsuQ3wYycIXSWH9uBu2TFCwsw==" + }, + "@lit-protocol/misc": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/misc/-/misc-2.1.36.tgz", + "integrity": "sha512-d0OmYMBAQLARjohYAAAKGUHXBuIE2ROTJbxiPK8UsBQ4vik+h6t3e0PI64Vx3DY0gzDQmhcXlo4M6heo72KmIQ==", + "requires": { + "@lit-protocol/constants": "2.1.34", + "tslib": "^2.3.0" + }, + "dependencies": { + "@lit-protocol/constants": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.34.tgz", + "integrity": "sha512-zunEaYI4zAC7sdgjkjegGXXsCt1w+SiOUy4QybKaS34eBWm13prbyXu7rF6Kb+8CvuZk9Blpnx1tPs8J1pAdjw==" + } + } + }, + "@lit-protocol/uint8arrays": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/uint8arrays/-/uint8arrays-2.1.36.tgz", + "integrity": "sha512-5agTKlONx5eNxFNmAVOF0TPZvLVHM06Px9/KFEB+y/cS59MU+9+j74Xun59WSMdk1LVZDNe49sCgnvkD1Zfbtw==" + } + } + }, + "@lit-protocol/auth-browser": { + "version": "2.1.37", + "resolved": "https://registry.npmjs.org/@lit-protocol/auth-browser/-/auth-browser-2.1.37.tgz", + "integrity": "sha512-UluMN75m0fbHsbEwpG0vk1okBIWeXFG3+qtiQv0992ahNKj/jshrfw1Qd87+ng88MoHTzJGnBHeS0EyyHoNbHw==", + "requires": { + "@lit-protocol/bls-sdk": "2.1.36", + "@lit-protocol/constants": "2.1.36", + "@lit-protocol/crypto": "2.1.36", + "@lit-protocol/ecdsa-sdk": "2.1.36", + "@lit-protocol/misc": "2.1.36", + "@lit-protocol/misc-browser": "2.1.36", + "@lit-protocol/nacl": "2.1.36", + "@lit-protocol/uint8arrays": "2.1.36", + "@walletconnect/ethereum-provider": "^2.1.2", + "ethers": "^5.7.1", + "lit-connect-modal": "0.1.8", + "lit-siwe": "^1.1.8", + "tslib": "^2.3.0", + "tweetnacl": "^1.0.3", + "tweetnacl-util": "^0.13.3", + "util": "^0.12.4", + "web-vitals": "^3.0.4" + }, + "dependencies": { + "@lit-protocol/bls-sdk": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/bls-sdk/-/bls-sdk-2.1.36.tgz", + "integrity": "sha512-VPxXnEuXBGpaTjFGxW5mwitAEaiEEK8+bBAzvtJQjZNaUsgRZwdtjAwmO8OAmYABUWNnVamxBsj5NN2SJmgy9Q==" + }, + "@lit-protocol/constants": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.36.tgz", + "integrity": "sha512-eLPlcpFQHnrjeCwSbgkFyq7eTbr4JzNo8EihJI62S0XZqvwP/HFT7YYk67+HpDsuQ3wYycIXSWH9uBu2TFCwsw==" + }, + "@lit-protocol/crypto": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/crypto/-/crypto-2.1.36.tgz", + "integrity": "sha512-vvnCVqSKVEKXrB6DwmGz0dFgTQjs6tMHP3Hdn4388QL+dE3zrp+LYxYHgpkhDUu7hGRw1ku7Bi6iQ3ggP0OmSg==", + "requires": { + "@lit-protocol/bls-sdk": "2.1.34", + "@lit-protocol/constants": "2.1.34", + "@lit-protocol/ecdsa-sdk": "2.1.34", + "@lit-protocol/misc": "2.1.34", + "@lit-protocol/nacl": "2.1.34", + "@lit-protocol/uint8arrays": "2.1.34", + "ethers": "^5.7.1", + "tslib": "^2.3.0" + }, + "dependencies": { + "@lit-protocol/bls-sdk": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/bls-sdk/-/bls-sdk-2.1.34.tgz", + "integrity": "sha512-+7J2D3027RMCsz+OXgQ9hAMMrzodDeyLCJfCjm1QPQmXKKxSgoQEjxGmtw4t6/6k0rcGymsdo4kB0wr39q7jkg==" + }, + "@lit-protocol/constants": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.34.tgz", + "integrity": "sha512-zunEaYI4zAC7sdgjkjegGXXsCt1w+SiOUy4QybKaS34eBWm13prbyXu7rF6Kb+8CvuZk9Blpnx1tPs8J1pAdjw==" + }, + "@lit-protocol/ecdsa-sdk": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/ecdsa-sdk/-/ecdsa-sdk-2.1.34.tgz", + "integrity": "sha512-RsHrBm/uINzkA4h8LH0YtMbS18ZFihGTCiZuU8Z9R6BhsyZ3xpoOMiK2aaDT/88AIHMdF8pMdgfijE0NjQIXiQ==" + }, + "@lit-protocol/misc": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/misc/-/misc-2.1.34.tgz", + "integrity": "sha512-dj/pdpXihl5bpSL6Vpe19vqx5OTc1VctXeuTpqyagjB8X47mEbGMV9PzfA4cZA4WIug/KwhI6QOIyXIpTRdamA==", + "requires": { + "@lit-protocol/constants": "2.1.33", + "tslib": "^2.3.0" + }, + "dependencies": { + "@lit-protocol/constants": { + "version": "2.1.33", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.33.tgz", + "integrity": "sha512-Yhiv5idSrXMVFxBB03ZZznKml+4I9/3+NXxVQstgeLl/ys4CsJJgBkR2Xxtjr6h13RvF7j7FnqsJzcXGQI60XA==" + } + } + }, + "@lit-protocol/nacl": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/nacl/-/nacl-2.1.34.tgz", + "integrity": "sha512-NAtArXXXr6KFBidAA/r0AZc3GlN5SoPfK29kq+Ws6WLJvWhkfpYTAuzs332akZg5KeNrSHmL3tZKr5O9RmmKJw==" + }, + "@lit-protocol/uint8arrays": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/uint8arrays/-/uint8arrays-2.1.34.tgz", + "integrity": "sha512-Rc7CV60zgZ8DhXBkbyE4D7vyeZXp3NyDluCKXGhxsXhVL2mmZ8N4xlZ2+7wg0YjGNj3NAY8zRyv1sTz+BYILgw==" + } + } + }, + "@lit-protocol/ecdsa-sdk": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/ecdsa-sdk/-/ecdsa-sdk-2.1.36.tgz", + "integrity": "sha512-FMMRlO6TjRz0H7/Oh0GNACg3QddCUWGcIF6x9dtTvdGc36ZU7/dADZzFAKLnPnarb6MsrFSLNfEu3x/1wIl+dQ==" + }, + "@lit-protocol/misc": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/misc/-/misc-2.1.36.tgz", + "integrity": "sha512-d0OmYMBAQLARjohYAAAKGUHXBuIE2ROTJbxiPK8UsBQ4vik+h6t3e0PI64Vx3DY0gzDQmhcXlo4M6heo72KmIQ==", + "requires": { + "@lit-protocol/constants": "2.1.34", + "tslib": "^2.3.0" + }, + "dependencies": { + "@lit-protocol/constants": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.34.tgz", + "integrity": "sha512-zunEaYI4zAC7sdgjkjegGXXsCt1w+SiOUy4QybKaS34eBWm13prbyXu7rF6Kb+8CvuZk9Blpnx1tPs8J1pAdjw==" + } + } + }, + "@lit-protocol/misc-browser": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/misc-browser/-/misc-browser-2.1.36.tgz", + "integrity": "sha512-MdN6X81Ria2xB5P8wAng3zoFE11rYizZwNxW2sabK4N0g1fn8qQKjIlvNVb41HX9Ga2bzFvtoxSV9pXblPMRtg==", + "requires": { + "@lit-protocol/constants": "2.1.34", + "@lit-protocol/misc": "2.1.34", + "@lit-protocol/uint8arrays": "2.1.34", + "ethers": "^5.7.1", + "tslib": "^2.3.0" + }, + "dependencies": { + "@lit-protocol/constants": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.34.tgz", + "integrity": "sha512-zunEaYI4zAC7sdgjkjegGXXsCt1w+SiOUy4QybKaS34eBWm13prbyXu7rF6Kb+8CvuZk9Blpnx1tPs8J1pAdjw==" + }, + "@lit-protocol/misc": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/misc/-/misc-2.1.34.tgz", + "integrity": "sha512-dj/pdpXihl5bpSL6Vpe19vqx5OTc1VctXeuTpqyagjB8X47mEbGMV9PzfA4cZA4WIug/KwhI6QOIyXIpTRdamA==", + "requires": { + "@lit-protocol/constants": "2.1.33", + "tslib": "^2.3.0" + }, + "dependencies": { + "@lit-protocol/constants": { + "version": "2.1.33", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.33.tgz", + "integrity": "sha512-Yhiv5idSrXMVFxBB03ZZznKml+4I9/3+NXxVQstgeLl/ys4CsJJgBkR2Xxtjr6h13RvF7j7FnqsJzcXGQI60XA==" + } + } + }, + "@lit-protocol/uint8arrays": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/uint8arrays/-/uint8arrays-2.1.34.tgz", + "integrity": "sha512-Rc7CV60zgZ8DhXBkbyE4D7vyeZXp3NyDluCKXGhxsXhVL2mmZ8N4xlZ2+7wg0YjGNj3NAY8zRyv1sTz+BYILgw==" + } + } + }, + "@lit-protocol/nacl": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/nacl/-/nacl-2.1.36.tgz", + "integrity": "sha512-fI94DvonE1g+RJc5JxbRqy3SIN6eQxWwfmlGCJvLA95rwlWxMVPMOwTZ7keqkn28tzElx5eF/z+eU3m7V+o70A==" + }, + "@lit-protocol/uint8arrays": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/uint8arrays/-/uint8arrays-2.1.36.tgz", + "integrity": "sha512-5agTKlONx5eNxFNmAVOF0TPZvLVHM06Px9/KFEB+y/cS59MU+9+j74Xun59WSMdk1LVZDNe49sCgnvkD1Zfbtw==" + }, + "@walletconnect/ethereum-provider": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@walletconnect/ethereum-provider/-/ethereum-provider-2.4.4.tgz", + "integrity": "sha512-zjJunZLo/9HfP0GBMqxtAs3fqwPym4qkZl6Q7RsEaLvbApHsYZLyHbbog7QV4zB6cB97HUtS18IJIGqtLcpzCg==", + "requires": { + "@walletconnect/jsonrpc-http-connection": "^1.0.4", + "@walletconnect/jsonrpc-provider": "^1.0.6", + "@walletconnect/jsonrpc-types": "^1.0.2", + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/sign-client": "2.4.4", + "@walletconnect/types": "2.4.4", + "@walletconnect/universal-provider": "2.4.4", + "@walletconnect/utils": "2.4.4", + "@web3modal/standalone": "2.1.1", + "events": "^3.3.0" + } + }, + "@walletconnect/types": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.4.4.tgz", + "integrity": "sha512-4XndBOlB0qbhaJvzcBZCfR69rfU5rV0U5b3YbJ1AmtxcJSJAIg68WDP7o4BE4w1LHzdsEWvbXHRYL+KsA+uG3w==", + "requires": { + "@walletconnect/events": "^1.0.1", + "@walletconnect/heartbeat": "1.2.0", + "@walletconnect/jsonrpc-types": "^1.0.2", + "@walletconnect/keyvaluestorage": "^1.0.2", + "@walletconnect/logger": "^2.0.1", + "events": "^3.3.0" + } + }, + "@walletconnect/utils": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.4.4.tgz", + "integrity": "sha512-PM4biwrvi5OwXIroLHDxtCOXlvZGCGNvbYS0Jkb6ZmP1EbGjVz1xA1hnp/lC3eGFQArSyvS7EHD6XQQpymZ2jA==", + "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/jsonrpc-utils": "^1.0.4", + "@walletconnect/relay-api": "^1.0.7", + "@walletconnect/safe-json": "^1.0.1", + "@walletconnect/time": "^1.0.2", + "@walletconnect/types": "2.4.4", + "@walletconnect/window-getters": "^1.0.1", + "@walletconnect/window-metadata": "^1.0.1", + "detect-browser": "5.3.0", + "query-string": "7.1.1", + "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" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "@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" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "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==" + }, + "filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==" + }, + "query-string": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.1.tgz", + "integrity": "sha512-MplouLRDHBZSG9z7fpuAAcI7aAYjDLhtsiVZsevsfaHWDS2IDdORKbSd1kWUA+V4zyva/HZoSfpwnYMMQDhb0w==", + "requires": { + "decode-uri-component": "^0.2.0", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + } + }, + "tweetnacl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", + "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" + }, + "tweetnacl-util": { + "version": "0.13.5", + "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.13.5.tgz", + "integrity": "sha512-/4Q3hpPFAnbBjNLLOmdTdyvInBfZcQBTWy+LWbypmWxAKwOpSQOyyv4ZZts4CoiYtS8Skyix5CkOWytf7XNK9A==" + } + } + }, + "@lit-protocol/bls-sdk": { + "version": "2.1.37", + "resolved": "https://registry.npmjs.org/@lit-protocol/bls-sdk/-/bls-sdk-2.1.37.tgz", + "integrity": "sha512-JIurP3KwZ5HTbPiVfGXlnFpnpHZtPUuuHFaHe6Xpr6Xa/PuEBM+8ZQxvA9v7l8El1uZhHo89xTaMbIAbVQLrXA==" + }, + "@lit-protocol/constants": { + "version": "2.1.37", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.37.tgz", + "integrity": "sha512-oeEd9CCkKjX61ZVThhWLVBMOJDQ7k2a2lC5yT9jM+EgmnP92tyCi7NDaptZkQ+dX8Da7WlnuC1T0WfqSUJZhIQ==" + }, + "@lit-protocol/crypto": { + "version": "2.1.37", + "resolved": "https://registry.npmjs.org/@lit-protocol/crypto/-/crypto-2.1.37.tgz", + "integrity": "sha512-H29gf2NFG9+qgwNLeRiTecUpoFbM92YN7u/Fg1kq8uo9pvtoG/Pd32SwAfk8BPHLMukXjfCxrPIZfeoL+Hqa3Q==", + "requires": { + "@lit-protocol/bls-sdk": "2.1.36", + "@lit-protocol/constants": "2.1.36", + "@lit-protocol/ecdsa-sdk": "2.1.36", + "@lit-protocol/misc": "2.1.36", + "@lit-protocol/nacl": "2.1.36", + "@lit-protocol/uint8arrays": "2.1.36", + "ethers": "^5.7.1", + "tslib": "^2.3.0" + }, + "dependencies": { + "@lit-protocol/bls-sdk": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/bls-sdk/-/bls-sdk-2.1.36.tgz", + "integrity": "sha512-VPxXnEuXBGpaTjFGxW5mwitAEaiEEK8+bBAzvtJQjZNaUsgRZwdtjAwmO8OAmYABUWNnVamxBsj5NN2SJmgy9Q==" + }, + "@lit-protocol/constants": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.36.tgz", + "integrity": "sha512-eLPlcpFQHnrjeCwSbgkFyq7eTbr4JzNo8EihJI62S0XZqvwP/HFT7YYk67+HpDsuQ3wYycIXSWH9uBu2TFCwsw==" + }, + "@lit-protocol/ecdsa-sdk": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/ecdsa-sdk/-/ecdsa-sdk-2.1.36.tgz", + "integrity": "sha512-FMMRlO6TjRz0H7/Oh0GNACg3QddCUWGcIF6x9dtTvdGc36ZU7/dADZzFAKLnPnarb6MsrFSLNfEu3x/1wIl+dQ==" + }, + "@lit-protocol/misc": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/misc/-/misc-2.1.36.tgz", + "integrity": "sha512-d0OmYMBAQLARjohYAAAKGUHXBuIE2ROTJbxiPK8UsBQ4vik+h6t3e0PI64Vx3DY0gzDQmhcXlo4M6heo72KmIQ==", + "requires": { + "@lit-protocol/constants": "2.1.34", + "tslib": "^2.3.0" + }, + "dependencies": { + "@lit-protocol/constants": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.34.tgz", + "integrity": "sha512-zunEaYI4zAC7sdgjkjegGXXsCt1w+SiOUy4QybKaS34eBWm13prbyXu7rF6Kb+8CvuZk9Blpnx1tPs8J1pAdjw==" + } + } + }, + "@lit-protocol/nacl": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/nacl/-/nacl-2.1.36.tgz", + "integrity": "sha512-fI94DvonE1g+RJc5JxbRqy3SIN6eQxWwfmlGCJvLA95rwlWxMVPMOwTZ7keqkn28tzElx5eF/z+eU3m7V+o70A==" + }, + "@lit-protocol/uint8arrays": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/uint8arrays/-/uint8arrays-2.1.36.tgz", + "integrity": "sha512-5agTKlONx5eNxFNmAVOF0TPZvLVHM06Px9/KFEB+y/cS59MU+9+j74Xun59WSMdk1LVZDNe49sCgnvkD1Zfbtw==" + } + } + }, + "@lit-protocol/ecdsa-sdk": { + "version": "2.1.37", + "resolved": "https://registry.npmjs.org/@lit-protocol/ecdsa-sdk/-/ecdsa-sdk-2.1.37.tgz", + "integrity": "sha512-d6Z3h2dKn/r4bYMQ1E76zAuNIKnGAYDjIDrMa/OHyoADOkSNfX9kHM/DPRs6X7X51MiLwlusB8lf7Nfo3vpvfg==" + }, + "@lit-protocol/encryption": { + "version": "2.1.37", + "resolved": "https://registry.npmjs.org/@lit-protocol/encryption/-/encryption-2.1.37.tgz", + "integrity": "sha512-S9gUg3AtK2gGSLS/vxe2aeUL3b/vP8dFvk7f60tbK+egSt9UsZx6JRfccrjMtL7z+WufL8aZrvAOB/9RUtsPLA==", + "requires": { + "@lit-protocol/bls-sdk": "2.1.36", + "@lit-protocol/constants": "2.1.36", + "@lit-protocol/crypto": "2.1.36", + "@lit-protocol/ecdsa-sdk": "2.1.36", + "@lit-protocol/misc": "2.1.36", + "@lit-protocol/nacl": "2.1.36", + "@lit-protocol/uint8arrays": "2.1.36", + "ethers": "^5.7.1", + "jszip": "^3.10.1", + "tslib": "^2.3.0" + }, + "dependencies": { + "@lit-protocol/bls-sdk": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/bls-sdk/-/bls-sdk-2.1.36.tgz", + "integrity": "sha512-VPxXnEuXBGpaTjFGxW5mwitAEaiEEK8+bBAzvtJQjZNaUsgRZwdtjAwmO8OAmYABUWNnVamxBsj5NN2SJmgy9Q==" + }, + "@lit-protocol/constants": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.36.tgz", + "integrity": "sha512-eLPlcpFQHnrjeCwSbgkFyq7eTbr4JzNo8EihJI62S0XZqvwP/HFT7YYk67+HpDsuQ3wYycIXSWH9uBu2TFCwsw==" + }, + "@lit-protocol/crypto": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/crypto/-/crypto-2.1.36.tgz", + "integrity": "sha512-vvnCVqSKVEKXrB6DwmGz0dFgTQjs6tMHP3Hdn4388QL+dE3zrp+LYxYHgpkhDUu7hGRw1ku7Bi6iQ3ggP0OmSg==", + "requires": { + "@lit-protocol/bls-sdk": "2.1.34", + "@lit-protocol/constants": "2.1.34", + "@lit-protocol/ecdsa-sdk": "2.1.34", + "@lit-protocol/misc": "2.1.34", + "@lit-protocol/nacl": "2.1.34", + "@lit-protocol/uint8arrays": "2.1.34", + "ethers": "^5.7.1", + "tslib": "^2.3.0" + }, + "dependencies": { + "@lit-protocol/bls-sdk": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/bls-sdk/-/bls-sdk-2.1.34.tgz", + "integrity": "sha512-+7J2D3027RMCsz+OXgQ9hAMMrzodDeyLCJfCjm1QPQmXKKxSgoQEjxGmtw4t6/6k0rcGymsdo4kB0wr39q7jkg==" + }, + "@lit-protocol/constants": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.34.tgz", + "integrity": "sha512-zunEaYI4zAC7sdgjkjegGXXsCt1w+SiOUy4QybKaS34eBWm13prbyXu7rF6Kb+8CvuZk9Blpnx1tPs8J1pAdjw==" + }, + "@lit-protocol/ecdsa-sdk": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/ecdsa-sdk/-/ecdsa-sdk-2.1.34.tgz", + "integrity": "sha512-RsHrBm/uINzkA4h8LH0YtMbS18ZFihGTCiZuU8Z9R6BhsyZ3xpoOMiK2aaDT/88AIHMdF8pMdgfijE0NjQIXiQ==" + }, + "@lit-protocol/misc": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/misc/-/misc-2.1.34.tgz", + "integrity": "sha512-dj/pdpXihl5bpSL6Vpe19vqx5OTc1VctXeuTpqyagjB8X47mEbGMV9PzfA4cZA4WIug/KwhI6QOIyXIpTRdamA==", + "requires": { + "@lit-protocol/constants": "2.1.33", + "tslib": "^2.3.0" + }, + "dependencies": { + "@lit-protocol/constants": { + "version": "2.1.33", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.33.tgz", + "integrity": "sha512-Yhiv5idSrXMVFxBB03ZZznKml+4I9/3+NXxVQstgeLl/ys4CsJJgBkR2Xxtjr6h13RvF7j7FnqsJzcXGQI60XA==" + } + } + }, + "@lit-protocol/nacl": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/nacl/-/nacl-2.1.34.tgz", + "integrity": "sha512-NAtArXXXr6KFBidAA/r0AZc3GlN5SoPfK29kq+Ws6WLJvWhkfpYTAuzs332akZg5KeNrSHmL3tZKr5O9RmmKJw==" + }, + "@lit-protocol/uint8arrays": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/uint8arrays/-/uint8arrays-2.1.34.tgz", + "integrity": "sha512-Rc7CV60zgZ8DhXBkbyE4D7vyeZXp3NyDluCKXGhxsXhVL2mmZ8N4xlZ2+7wg0YjGNj3NAY8zRyv1sTz+BYILgw==" + } + } + }, + "@lit-protocol/ecdsa-sdk": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/ecdsa-sdk/-/ecdsa-sdk-2.1.36.tgz", + "integrity": "sha512-FMMRlO6TjRz0H7/Oh0GNACg3QddCUWGcIF6x9dtTvdGc36ZU7/dADZzFAKLnPnarb6MsrFSLNfEu3x/1wIl+dQ==" + }, + "@lit-protocol/misc": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/misc/-/misc-2.1.36.tgz", + "integrity": "sha512-d0OmYMBAQLARjohYAAAKGUHXBuIE2ROTJbxiPK8UsBQ4vik+h6t3e0PI64Vx3DY0gzDQmhcXlo4M6heo72KmIQ==", + "requires": { + "@lit-protocol/constants": "2.1.34", + "tslib": "^2.3.0" + }, + "dependencies": { + "@lit-protocol/constants": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.34.tgz", + "integrity": "sha512-zunEaYI4zAC7sdgjkjegGXXsCt1w+SiOUy4QybKaS34eBWm13prbyXu7rF6Kb+8CvuZk9Blpnx1tPs8J1pAdjw==" + } + } + }, + "@lit-protocol/nacl": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/nacl/-/nacl-2.1.36.tgz", + "integrity": "sha512-fI94DvonE1g+RJc5JxbRqy3SIN6eQxWwfmlGCJvLA95rwlWxMVPMOwTZ7keqkn28tzElx5eF/z+eU3m7V+o70A==" + }, + "@lit-protocol/uint8arrays": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/uint8arrays/-/uint8arrays-2.1.36.tgz", + "integrity": "sha512-5agTKlONx5eNxFNmAVOF0TPZvLVHM06Px9/KFEB+y/cS59MU+9+j74Xun59WSMdk1LVZDNe49sCgnvkD1Zfbtw==" + } + } + }, + "@lit-protocol/lit-node-client": { + "version": "2.1.38", + "resolved": "https://registry.npmjs.org/@lit-protocol/lit-node-client/-/lit-node-client-2.1.38.tgz", + "integrity": "sha512-Db3Y7PD4Vv+w3Iw9NH7Aid6To9RynjlxAGCb7HNHZ0NyftF5vL+DajfkCw5VTjWatlhVAWg/3ZfLrBox0Jqb6Q==", + "requires": { + "@lit-protocol/access-control-conditions": "2.1.37", + "@lit-protocol/auth-browser": "2.1.37", + "@lit-protocol/bls-sdk": "2.1.37", + "@lit-protocol/constants": "2.1.37", + "@lit-protocol/crypto": "2.1.37", + "@lit-protocol/ecdsa-sdk": "2.1.37", + "@lit-protocol/encryption": "2.1.37", + "@lit-protocol/lit-third-party-libs": "2.1.37", + "@lit-protocol/misc": "2.1.37", + "@lit-protocol/misc-browser": "2.1.37", + "@lit-protocol/nacl": "2.1.37", + "@lit-protocol/uint8arrays": "2.1.37", + "@walletconnect/ethereum-provider": "1.7.8", + "ethers": "^5.7.1", + "jszip": "^3.10.1", + "lit-connect-modal": "0.1.8", + "lit-siwe": "^1.1.8", + "node-fetch": "^2.6.1", + "tslib": "^2.3.0", + "tweetnacl": "^1.0.3", + "tweetnacl-util": "^0.15.1" + }, + "dependencies": { + "tweetnacl": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz", + "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==" + } + } + }, + "@lit-protocol/lit-third-party-libs": { + "version": "2.1.37", + "resolved": "https://registry.npmjs.org/@lit-protocol/lit-third-party-libs/-/lit-third-party-libs-2.1.37.tgz", + "integrity": "sha512-KeBbfANc3xaC+O6OzlgyzxmHgG6kPyUPJ9fmTMI6vejKjZ0bs/qzgdQGrZcwQvvvih3q0GfExdfMS/FPLMDWlw==" + }, + "@lit-protocol/misc": { + "version": "2.1.37", + "resolved": "https://registry.npmjs.org/@lit-protocol/misc/-/misc-2.1.37.tgz", + "integrity": "sha512-7aC8hhYPXBZCyEenstf2ejCVmeM5O0ddeEAQjfG2M8MfztF7m0d6qdB1Cq8EKmXPtNKZmZrpj9c2CN68w0eZtg==", + "requires": { + "@lit-protocol/constants": "2.1.36", + "tslib": "^2.3.0" + }, + "dependencies": { + "@lit-protocol/constants": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.36.tgz", + "integrity": "sha512-eLPlcpFQHnrjeCwSbgkFyq7eTbr4JzNo8EihJI62S0XZqvwP/HFT7YYk67+HpDsuQ3wYycIXSWH9uBu2TFCwsw==" + } + } + }, + "@lit-protocol/misc-browser": { + "version": "2.1.37", + "resolved": "https://registry.npmjs.org/@lit-protocol/misc-browser/-/misc-browser-2.1.37.tgz", + "integrity": "sha512-qwX7x4Lt5x6CvMhyh61QBkBm1IkJrXMhki9iliT2l2ACg9yhvi8yKyLnSlblK8s6wuFtdKKqDfgUfHqdM8r1pQ==", + "requires": { + "@lit-protocol/constants": "2.1.36", + "@lit-protocol/misc": "2.1.36", + "@lit-protocol/uint8arrays": "2.1.36", + "ethers": "^5.7.1", + "tslib": "^2.3.0" + }, + "dependencies": { + "@lit-protocol/constants": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.36.tgz", + "integrity": "sha512-eLPlcpFQHnrjeCwSbgkFyq7eTbr4JzNo8EihJI62S0XZqvwP/HFT7YYk67+HpDsuQ3wYycIXSWH9uBu2TFCwsw==" + }, + "@lit-protocol/misc": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/misc/-/misc-2.1.36.tgz", + "integrity": "sha512-d0OmYMBAQLARjohYAAAKGUHXBuIE2ROTJbxiPK8UsBQ4vik+h6t3e0PI64Vx3DY0gzDQmhcXlo4M6heo72KmIQ==", + "requires": { + "@lit-protocol/constants": "2.1.34", + "tslib": "^2.3.0" + }, + "dependencies": { + "@lit-protocol/constants": { + "version": "2.1.34", + "resolved": "https://registry.npmjs.org/@lit-protocol/constants/-/constants-2.1.34.tgz", + "integrity": "sha512-zunEaYI4zAC7sdgjkjegGXXsCt1w+SiOUy4QybKaS34eBWm13prbyXu7rF6Kb+8CvuZk9Blpnx1tPs8J1pAdjw==" + } + } + }, + "@lit-protocol/uint8arrays": { + "version": "2.1.36", + "resolved": "https://registry.npmjs.org/@lit-protocol/uint8arrays/-/uint8arrays-2.1.36.tgz", + "integrity": "sha512-5agTKlONx5eNxFNmAVOF0TPZvLVHM06Px9/KFEB+y/cS59MU+9+j74Xun59WSMdk1LVZDNe49sCgnvkD1Zfbtw==" + } + } + }, + "@lit-protocol/nacl": { + "version": "2.1.37", + "resolved": "https://registry.npmjs.org/@lit-protocol/nacl/-/nacl-2.1.37.tgz", + "integrity": "sha512-+ZQRu/iJ9MiQOTSGUS28Alo2XUOfJ0I8mDtjYBzafoEHM1zvIIPoLfRNSoVlJIdXk0YHA0sjZP00M2Hu79xwew==" + }, + "@lit-protocol/uint8arrays": { + "version": "2.1.37", + "resolved": "https://registry.npmjs.org/@lit-protocol/uint8arrays/-/uint8arrays-2.1.37.tgz", + "integrity": "sha512-oAOmFqRErzLYeBx8zFioJI5iCmIuFhc9bgwmqU4xsmNswfTRygYGhUT36H5xLzNqYu8ZQ2vUh2+uAvt3Sw9kzw==" + }, + "@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" + } + }, "@malept/cross-spawn-promise": { "version": "2.0.0", "dev": true, @@ -32852,6 +36352,82 @@ } } }, + "@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" + } + }, + "@motionone/dom": { + "version": "10.15.5", + "resolved": "https://registry.npmjs.org/@motionone/dom/-/dom-10.15.5.tgz", + "integrity": "sha512-Xc5avlgyh3xukU9tydh9+8mB8+2zAq+WlLsC3eEIp7Ax7DnXgY7Bj/iv0a4X2R9z9ZFZiaXK3BO0xMYHKbAAdA==", + "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" + } + }, + "@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" + } + }, + "@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" + } + }, + "@motionone/svelte": { + "version": "10.15.5", + "resolved": "https://registry.npmjs.org/@motionone/svelte/-/svelte-10.15.5.tgz", + "integrity": "sha512-Xyxtgp7BlVnSBwcoFmXGHUVnpNktzeXsEifu2NJJWc7VGuxutDsBZxNdz80qvpLIC5MeBa1wh7GGegZzTm1msg==", + "requires": { + "@motionone/dom": "^10.15.5", + "tslib": "^2.3.1" + } + }, + "@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" + } + }, + "@motionone/vue": { + "version": "10.15.5", + "resolved": "https://registry.npmjs.org/@motionone/vue/-/vue-10.15.5.tgz", + "integrity": "sha512-cUENrLYAolUacHvCgU+8wF9OgSlVutfWbHMLERI/bElCJ+e2YVQvG/CpGhIM5fYOOJzuvg2T2wHmLLmvJoavEw==", + "requires": { + "@motionone/dom": "^10.15.5", + "tslib": "^2.3.1" + } + }, "@mrmlnc/readdir-enhanced": { "version": "2.2.1", "requires": { @@ -33056,6 +36632,11 @@ "@octokit/openapi-types": "^12.11.0" } }, + "@pedrouid/environment": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@pedrouid/environment/-/environment-1.0.1.tgz", + "integrity": "sha512-HaW78NszGzRZd9SeoI3JD11JqY+lubnaOx7Pewj5pfjqWXOEATpeKIFb9Z4t2WBUK2iryiXX3lzWwmYWgUL0Ug==" + }, "@polka/url": { "version": "1.0.0-next.21", "dev": true @@ -33193,6 +36774,160 @@ "lodash.set": "^4.3.2" } }, + "@spruceid/siwe-parser": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@spruceid/siwe-parser/-/siwe-parser-1.1.3.tgz", + "integrity": "sha512-oQ8PcwDqjGWJvLmvAF2yzd6iniiWxK0Qtz+Dw+gLD/W5zOQJiKIUXwslHOm8VB8OOOKW9vfR3dnPBhHaZDvRsw==", + "requires": { + "apg-js": "^4.1.1" + } + }, + "@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" + } + }, "@streamr/cli-tools": { "version": "file:packages/cli-tools", "requires": { @@ -34298,16 +38033,13 @@ "dev": true }, "@tsconfig/node10": { - "version": "1.0.9", - "dev": true + "version": "1.0.9" }, "@tsconfig/node12": { - "version": "1.0.11", - "dev": true + "version": "1.0.11" }, "@tsconfig/node14": { - "version": "1.0.3", - "dev": true + "version": "1.0.3" }, "@tsconfig/node16": { "version": "1.0.3" @@ -34711,6 +38443,11 @@ "@types/node": "*" } }, + "@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/uuid": { "version": "8.3.4", "dev": true @@ -34830,6 +38567,988 @@ "eslint-visitor-keys": "^3.3.0" } }, + "@walletconnect/browser-utils": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/browser-utils/-/browser-utils-1.8.0.tgz", + "integrity": "sha512-Wcqqx+wjxIo9fv6eBUFHPsW1y/bGWWRboni5dfD8PtOmrihrEpOCmvRJe4rfl7xgJW8Ea9UqKEaq0bIRLHlK4A==", + "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" + }, + "dependencies": { + "@walletconnect/safe-json": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.0.tgz", + "integrity": "sha512-QJzp/S/86sUAgWY6eh5MKYmSfZaRpIlmCJdi5uG4DJlKkZrHEF7ye7gA+VtbVzvTtpM/gRwO2plQuiooIeXjfg==" + } + } + }, + "@walletconnect/client": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/client/-/client-1.8.0.tgz", + "integrity": "sha512-svyBQ14NHx6Cs2j4TpkQaBI/2AF4+LXz64FojTjMtV4VMMhl81jSO1vNeg+yYhQzvjcGH/GpSwixjyCW0xFBOQ==", + "requires": { + "@walletconnect/core": "^1.8.0", + "@walletconnect/iso-crypto": "^1.8.0", + "@walletconnect/types": "^1.8.0", + "@walletconnect/utils": "^1.8.0" + } + }, + "@walletconnect/core": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-1.8.0.tgz", + "integrity": "sha512-aFTHvEEbXcZ8XdWBw6rpQDte41Rxwnuk3SgTD8/iKGSRTni50gI9S3YEzMj05jozSiOBxQci4pJDMVhIUMtarw==", + "requires": { + "@walletconnect/socket-transport": "^1.8.0", + "@walletconnect/types": "^1.8.0", + "@walletconnect/utils": "^1.8.0" + } + }, + "@walletconnect/crypto": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@walletconnect/crypto/-/crypto-1.0.3.tgz", + "integrity": "sha512-+2jdORD7XQs76I2Odgr3wwrtyuLUXD/kprNVsjWRhhhdO9Mt6WqVzOPu0/t7OHSmgal8k7SoBQzUc5hu/8zL/g==", + "requires": { + "@walletconnect/encoding": "^1.0.2", + "@walletconnect/environment": "^1.0.1", + "@walletconnect/randombytes": "^1.0.3", + "aes-js": "^3.1.2", + "hash.js": "^1.1.7", + "tslib": "1.14.1" + }, + "dependencies": { + "aes-js": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz", + "integrity": "sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==" + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "@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": { + "is-typedarray": "1.0.0", + "tslib": "1.14.1", + "typedarray-to-buffer": "3.1.5" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "typedarray-to-buffer": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", + "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", + "requires": { + "is-typedarray": "^1.0.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": { + "tslib": "1.14.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "@walletconnect/ethereum-provider": { + "version": "1.7.8", + "resolved": "https://registry.npmjs.org/@walletconnect/ethereum-provider/-/ethereum-provider-1.7.8.tgz", + "integrity": "sha512-dnl560zFMdK/LD4MD2XwHbWj7RXOaeXWPc9jzDaosLQLAXfA5mKe4XbCFFUPbVMYuyBdRI9NZv3Ci/qDb5wncQ==", + "requires": { + "@walletconnect/client": "^1.7.8", + "@walletconnect/jsonrpc-http-connection": "^1.0.0", + "@walletconnect/jsonrpc-provider": "^1.0.3", + "@walletconnect/signer-connection": "^1.7.8", + "@walletconnect/types": "^1.7.8", + "@walletconnect/utils": "^1.7.8", + "eip1193-provider": "1.0.1", + "eventemitter3": "4.0.7" + } + }, + "@walletconnect/events": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/events/-/events-1.0.1.tgz", + "integrity": "sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ==", + "requires": { + "keyvaluestorage-interface": "^1.0.0", + "tslib": "1.14.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "@walletconnect/heartbeat": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@walletconnect/heartbeat/-/heartbeat-1.2.0.tgz", + "integrity": "sha512-0vbzTa/ARrpmMmOD+bQMxPvFYKtOLQZObgZakrYr0aODiMOO71CmPVNV2eAqXnw9rMmcP+z91OybLeIFlwTjjA==", + "requires": { + "@walletconnect/events": "^1.0.1", + "@walletconnect/time": "^1.0.2", + "chai": "^4.3.7", + "mocha": "^10.2.0", + "ts-node": "^10.9.1", + "tslib": "1.14.1" + }, + "dependencies": { + "ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==" + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==" + }, + "decamelize": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-4.0.0.tgz", + "integrity": "sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==" + }, + "diff": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", + "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==" + }, + "flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" + }, + "glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==" + }, + "mocha": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.2.0.tgz", + "integrity": "sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==", + "requires": { + "ansi-colors": "4.1.1", + "browser-stdout": "1.3.1", + "chokidar": "3.5.3", + "debug": "4.3.4", + "diff": "5.0.0", + "escape-string-regexp": "4.0.0", + "find-up": "5.0.0", + "glob": "7.2.0", + "he": "1.2.0", + "js-yaml": "4.1.0", + "log-symbols": "4.1.0", + "minimatch": "5.0.1", + "ms": "2.1.3", + "nanoid": "3.3.3", + "serialize-javascript": "6.0.0", + "strip-json-comments": "3.1.1", + "supports-color": "8.1.1", + "workerpool": "6.2.1", + "yargs": "16.2.0", + "yargs-parser": "20.2.4", + "yargs-unparser": "2.0.0" + }, + "dependencies": { + "minimatch": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", + "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "requires": { + "has-flag": "^4.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + }, + "yargs-unparser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yargs-unparser/-/yargs-unparser-2.0.0.tgz", + "integrity": "sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==", + "requires": { + "camelcase": "^6.0.0", + "decamelize": "^4.0.0", + "flat": "^5.0.2", + "is-plain-obj": "^2.1.0" + } + } + } + }, + "@walletconnect/iso-crypto": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/iso-crypto/-/iso-crypto-1.8.0.tgz", + "integrity": "sha512-pWy19KCyitpfXb70hA73r9FcvklS+FvO9QUIttp3c2mfW8frxgYeRXfxLRCIQTkaYueRKvdqPjbyhPLam508XQ==", + "requires": { + "@walletconnect/crypto": "^1.0.2", + "@walletconnect/types": "^1.8.0", + "@walletconnect/utils": "^1.8.0" + } + }, + "@walletconnect/jsonrpc-http-connection": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-http-connection/-/jsonrpc-http-connection-1.0.4.tgz", + "integrity": "sha512-ji79pspdBhmIbTwve383tMaDu5Le9plW+oj5GE2aqzxIl3ib8JvRBZRn5lGEBGqVCvqB3MBJL7gBlEwpyRtoxQ==", + "requires": { + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/safe-json": "^1.0.1", + "cross-fetch": "^3.1.4", + "tslib": "1.14.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "@walletconnect/jsonrpc-provider": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.6.tgz", + "integrity": "sha512-f5vQxr53vUVQ51/9mRLb1OiNciT/546XZ68Byn9OYnDBGeGJXK2kQWDHp8sPWZbN5x0p7B6asdCWMVFJ6danlw==", + "requires": { + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/safe-json": "^1.0.1", + "tslib": "1.14.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "@walletconnect/jsonrpc-types": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.2.tgz", + "integrity": "sha512-CZe8tjJX73OWdHjrBHy7HtAapJ2tT0Q3TYhPBhRxi3643lwPIQWC9En45ldY14TZwgSewkbZ0FtGBZK0G7Bbyg==", + "requires": { + "keyvaluestorage-interface": "^1.0.0", + "tslib": "1.14.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "@walletconnect/jsonrpc-utils": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.4.tgz", + "integrity": "sha512-y0+tDxcTZ9BHBBKBJbjZxLUXb+zQZCylf7y/jTvDPNx76J0hYYc+F9zHzyqBLeorSKepLTk6yI8hw3NXbAQB3g==", + "requires": { + "@walletconnect/environment": "^1.0.1", + "@walletconnect/jsonrpc-types": "^1.0.2", + "tslib": "1.14.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "@walletconnect/jsonrpc-ws-connection": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.7.tgz", + "integrity": "sha512-iEIWUAIQih0TDF+RRjExZL3jd84UWX/rvzAmQ6fZWhyBP/qSlxGrMuAwNhpk2zj6P8dZuf8sSaaNuWgXFJIa5A==", + "requires": { + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/safe-json": "^1.0.1", + "ws": "^7.5.1" + } + }, + "@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" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "@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": { + "pino": "7.11.0", + "tslib": "1.14.1" + }, + "dependencies": { + "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-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==" + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "@walletconnect/mobile-registry": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@walletconnect/mobile-registry/-/mobile-registry-1.4.0.tgz", + "integrity": "sha512-ZtKRio4uCZ1JUF7LIdecmZt7FOLnX72RPSY7aUVu7mj7CSfxDwUn6gBuK6WGtH+NZCldBqDl5DenI5fFSvkKYw==" + }, + "@walletconnect/qrcode-modal": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/qrcode-modal/-/qrcode-modal-1.8.0.tgz", + "integrity": "sha512-BueaFefaAi8mawE45eUtztg3ZFbsAH4DDXh1UNwdUlsvFMjqcYzLUG0xZvDd6z2eOpbgDg2N3bl6gF0KONj1dg==", + "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/randombytes": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@walletconnect/randombytes/-/randombytes-1.0.3.tgz", + "integrity": "sha512-35lpzxcHFbTN3ABefC9W+uBpNZl1GC4Wpx0ed30gibfO/y9oLdy1NznbV96HARQKSBV9J9M/rrtIvf6a23jfYw==", + "requires": { + "@walletconnect/encoding": "^1.0.2", + "@walletconnect/environment": "^1.0.1", + "randombytes": "^2.1.0", + "tslib": "1.14.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "@walletconnect/relay-api": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@walletconnect/relay-api/-/relay-api-1.0.7.tgz", + "integrity": "sha512-Mf/Ql7Z0waZzAuondHS9bbUi12Kyvl95ihxVDM7mPO8o7Ke7S1ffpujCUhXbSacSKcw9aV2+7bKADlsBjQLR5Q==", + "requires": { + "@walletconnect/jsonrpc-types": "^1.0.2", + "tslib": "1.14.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "@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": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "@walletconnect/safe-json": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@walletconnect/safe-json/-/safe-json-1.0.1.tgz", + "integrity": "sha512-Fm7e31oSYY15NQr8SsLJheKAy5L744udZf2lJKcz6wFmPJEzf7hOF0866o/rrldRzJnjZ4H2GJ45pFudsnLW5A==", + "requires": { + "tslib": "1.14.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "@walletconnect/sign-client": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@walletconnect/sign-client/-/sign-client-2.4.4.tgz", + "integrity": "sha512-ByF1Qi+r7EAZ8HX++aiHekSxiruIlUg3KWfXvki5n4PQNv9Ldad/RaMswk7CB7ESCZuHc7ylKcT3SwOJjHOopg==", + "requires": { + "@walletconnect/core": "2.4.4", + "@walletconnect/events": "^1.0.1", + "@walletconnect/heartbeat": "1.2.0", + "@walletconnect/jsonrpc-provider": "^1.0.6", + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/logger": "^2.0.1", + "@walletconnect/time": "^1.0.2", + "@walletconnect/types": "2.4.4", + "@walletconnect/utils": "2.4.4", + "events": "^3.3.0", + "pino": "7.11.0" + }, + "dependencies": { + "@walletconnect/core": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@walletconnect/core/-/core-2.4.4.tgz", + "integrity": "sha512-tdMmPNGgpTrk95hG8H5V6Du59HA4e3tVdvGngZjcja6VnmkfZdW4fGCWaJWyKYkrQQknDug4dH47/HZ6cAxj/g==", + "requires": { + "@walletconnect/heartbeat": "1.2.0", + "@walletconnect/jsonrpc-provider": "^1.0.6", + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/jsonrpc-ws-connection": "^1.0.7", + "@walletconnect/keyvaluestorage": "^1.0.2", + "@walletconnect/logger": "^2.0.1", + "@walletconnect/relay-api": "^1.0.7", + "@walletconnect/relay-auth": "^1.0.4", + "@walletconnect/safe-json": "^1.0.1", + "@walletconnect/time": "^1.0.2", + "@walletconnect/types": "2.4.4", + "@walletconnect/utils": "2.4.4", + "events": "^3.3.0", + "lodash.isequal": "4.5.0", + "pino": "7.11.0", + "uint8arrays": "3.1.0" + } + }, + "@walletconnect/types": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.4.4.tgz", + "integrity": "sha512-4XndBOlB0qbhaJvzcBZCfR69rfU5rV0U5b3YbJ1AmtxcJSJAIg68WDP7o4BE4w1LHzdsEWvbXHRYL+KsA+uG3w==", + "requires": { + "@walletconnect/events": "^1.0.1", + "@walletconnect/heartbeat": "1.2.0", + "@walletconnect/jsonrpc-types": "^1.0.2", + "@walletconnect/keyvaluestorage": "^1.0.2", + "@walletconnect/logger": "^2.0.1", + "events": "^3.3.0" + } + }, + "@walletconnect/utils": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.4.4.tgz", + "integrity": "sha512-PM4biwrvi5OwXIroLHDxtCOXlvZGCGNvbYS0Jkb6ZmP1EbGjVz1xA1hnp/lC3eGFQArSyvS7EHD6XQQpymZ2jA==", + "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/jsonrpc-utils": "^1.0.4", + "@walletconnect/relay-api": "^1.0.7", + "@walletconnect/safe-json": "^1.0.1", + "@walletconnect/time": "^1.0.2", + "@walletconnect/types": "2.4.4", + "@walletconnect/window-getters": "^1.0.1", + "@walletconnect/window-metadata": "^1.0.1", + "detect-browser": "5.3.0", + "query-string": "7.1.1", + "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==" + }, + "filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==" + }, + "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-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==" + }, + "query-string": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.1.tgz", + "integrity": "sha512-MplouLRDHBZSG9z7fpuAAcI7aAYjDLhtsiVZsevsfaHWDS2IDdORKbSd1kWUA+V4zyva/HZoSfpwnYMMQDhb0w==", + "requires": { + "decode-uri-component": "^0.2.0", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "@walletconnect/signer-connection": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/signer-connection/-/signer-connection-1.8.0.tgz", + "integrity": "sha512-+YAaTAP52MWZJ2wWnqKClKCPlPHBo6reURFe0cWidLADh9mi/kPWGALZ5AENK22zpem1bbKV466rF5Rzvu0ehA==", + "requires": { + "@walletconnect/client": "^1.8.0", + "@walletconnect/jsonrpc-types": "^1.0.1", + "@walletconnect/jsonrpc-utils": "^1.0.3", + "@walletconnect/qrcode-modal": "^1.8.0", + "@walletconnect/types": "^1.8.0", + "eventemitter3": "4.0.7" + } + }, + "@walletconnect/socket-transport": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/socket-transport/-/socket-transport-1.8.0.tgz", + "integrity": "sha512-5DyIyWrzHXTcVp0Vd93zJ5XMW61iDM6bcWT4p8DTRfFsOtW46JquruMhxOLeCOieM4D73kcr3U7WtyR4JUsGuQ==", + "requires": { + "@walletconnect/types": "^1.8.0", + "@walletconnect/utils": "^1.8.0", + "ws": "7.5.3" + }, + "dependencies": { + "ws": { + "version": "7.5.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.3.tgz", + "integrity": "sha512-kQ/dHIzuLrS6Je9+uv81ueZomEwH0qVYstcAQ4/Z93K8zeko9gtAbttJWzoC5ukqXY1PpoouV3+VSOqEAFt5wg==" + } + } + }, + "@walletconnect/time": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@walletconnect/time/-/time-1.0.2.tgz", + "integrity": "sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g==", + "requires": { + "tslib": "1.14.1" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "@walletconnect/types": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-1.8.0.tgz", + "integrity": "sha512-Cn+3I0V0vT9ghMuzh1KzZvCkiAxTq+1TR2eSqw5E5AVWfmCtECFkVZBP6uUJZ8YjwLqXheI+rnjqPy7sVM4Fyg==" + }, + "@walletconnect/universal-provider": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@walletconnect/universal-provider/-/universal-provider-2.4.4.tgz", + "integrity": "sha512-tZ8dw34cWb5Nz7DS40KhgbuNjGIuVrIrMS9teRQfnwNg18ePPuT/YhcGQLbjLPqB7W7wFWwKACWIgAOBLhKyvQ==", + "requires": { + "@walletconnect/jsonrpc-http-connection": "^1.0.4", + "@walletconnect/jsonrpc-provider": "^1.0.6", + "@walletconnect/jsonrpc-types": "^1.0.2", + "@walletconnect/jsonrpc-utils": "^1.0.4", + "@walletconnect/logger": "^2.0.1", + "@walletconnect/sign-client": "2.4.4", + "@walletconnect/types": "2.4.4", + "@walletconnect/utils": "2.4.4", + "eip1193-provider": "1.0.1", + "events": "^3.3.0", + "pino": "7.11.0" + }, + "dependencies": { + "@walletconnect/types": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@walletconnect/types/-/types-2.4.4.tgz", + "integrity": "sha512-4XndBOlB0qbhaJvzcBZCfR69rfU5rV0U5b3YbJ1AmtxcJSJAIg68WDP7o4BE4w1LHzdsEWvbXHRYL+KsA+uG3w==", + "requires": { + "@walletconnect/events": "^1.0.1", + "@walletconnect/heartbeat": "1.2.0", + "@walletconnect/jsonrpc-types": "^1.0.2", + "@walletconnect/keyvaluestorage": "^1.0.2", + "@walletconnect/logger": "^2.0.1", + "events": "^3.3.0" + } + }, + "@walletconnect/utils": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-2.4.4.tgz", + "integrity": "sha512-PM4biwrvi5OwXIroLHDxtCOXlvZGCGNvbYS0Jkb6ZmP1EbGjVz1xA1hnp/lC3eGFQArSyvS7EHD6XQQpymZ2jA==", + "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/jsonrpc-utils": "^1.0.4", + "@walletconnect/relay-api": "^1.0.7", + "@walletconnect/safe-json": "^1.0.1", + "@walletconnect/time": "^1.0.2", + "@walletconnect/types": "2.4.4", + "@walletconnect/window-getters": "^1.0.1", + "@walletconnect/window-metadata": "^1.0.1", + "detect-browser": "5.3.0", + "query-string": "7.1.1", + "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==" + }, + "filter-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz", + "integrity": "sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==" + }, + "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-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==" + }, + "query-string": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-7.1.1.tgz", + "integrity": "sha512-MplouLRDHBZSG9z7fpuAAcI7aAYjDLhtsiVZsevsfaHWDS2IDdORKbSd1kWUA+V4zyva/HZoSfpwnYMMQDhb0w==", + "requires": { + "decode-uri-component": "^0.2.0", + "filter-obj": "^1.1.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + } + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "@walletconnect/utils": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@walletconnect/utils/-/utils-1.8.0.tgz", + "integrity": "sha512-zExzp8Mj1YiAIBfKNm5u622oNw44WOESzo6hj+Q3apSMIb0Jph9X3GDIdbZmvVZsNPxWDL7uodKgZcCInZv2vA==", + "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" + }, + "dependencies": { + "bn.js": { + "version": "4.11.8", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", + "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==" + }, + "query-string": { + "version": "6.13.5", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-6.13.5.tgz", + "integrity": "sha512-svk3xg9qHR39P3JlHuD7g3nRnyay5mHbrPctEBDUxUkHRifPHXJDhBUycdCC0NBjXoDf44Gb+IsOZL1Uwn8M/Q==", + "requires": { + "decode-uri-component": "^0.2.0", + "split-on-first": "^1.0.0", + "strict-uri-encode": "^2.0.0" + } + } + } + }, + "@walletconnect/window-getters": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@walletconnect/window-getters/-/window-getters-1.0.0.tgz", + "integrity": "sha512-xB0SQsLaleIYIkSsl43vm8EwETpBzJ2gnzk7e0wMF3ktqiTGS6TFHxcprMl5R44KKh4tCcHCJwolMCaDSwtAaA==" + }, + "@walletconnect/window-metadata": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@walletconnect/window-metadata/-/window-metadata-1.0.0.tgz", + "integrity": "sha512-9eFvmJxIKCC3YWOL97SgRkKhlyGXkrHwamfechmqszbypFspaSk+t2jQXAEU7YClHF6Qjw5eYOmy1//zFi9/GA==", + "requires": { + "@walletconnect/window-getters": "^1.0.0" + } + }, + "@web3modal/core": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@web3modal/core/-/core-2.1.1.tgz", + "integrity": "sha512-GAZAvfkPHoX2/fghQmf+y36uDspk9wBJxG7qLPUNTHzvIfRoNHWbTt3iEvRdPmUZwbTGDn1jvz9z0uU67gvZdw==", + "requires": { + "buffer": "6.0.3", + "valtio": "1.9.0" + } + }, + "@web3modal/standalone": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@web3modal/standalone/-/standalone-2.1.1.tgz", + "integrity": "sha512-K06VkZqltLIBKpnLeM2oszRDSdLnwXJWCcItWEOkH4LDFQIiq8lSeLhcamuadRxRKF4ZyTSLHHJ5MFcMfZEHQQ==", + "requires": { + "@web3modal/core": "2.1.1", + "@web3modal/ui": "2.1.1" + } + }, + "@web3modal/ui": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@web3modal/ui/-/ui-2.1.1.tgz", + "integrity": "sha512-0jRDxgPc/peaE5KgqnzzriXhdVu5xNyCMP5Enqdpd77VkknJIs7h16MYKidxgFexieyHpCOssWySsryWcP2sXA==", + "requires": { + "@web3modal/core": "2.1.1", + "lit": "2.6.1", + "motion": "10.15.5", + "qrcode": "1.5.1" + }, + "dependencies": { + "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" + } + }, + "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" + } + }, + "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" + } + }, + "pngjs": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", + "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==" + }, + "qrcode": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.1.tgz", + "integrity": "sha512-nS8NJ1Z3md8uTjKtP+SGGhfqmTCs5flU/xR623oI0JX+Wepz9R8UrRVCTBTJm3qGw3rH6jJ6MUHjkDx15cxSSg==", + "requires": { + "dijkstrajs": "^1.0.1", + "encode-utf8": "^1.0.3", + "pngjs": "^5.0.0", + "yargs": "^15.3.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" + } + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + }, + "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" + } + } + } + }, "@webassemblyjs/ast": { "version": "1.11.1", "dev": true, @@ -35029,8 +39748,7 @@ "version": "5.3.2" }, "acorn-walk": { - "version": "8.2.0", - "dev": true + "version": "8.2.0" }, "add-stream": { "version": "1.0.0" @@ -35147,6 +39865,11 @@ "picomatch": "^2.0.4" } }, + "apg-js": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/apg-js/-/apg-js-4.1.3.tgz", + "integrity": "sha512-XYyDcoBho8OpnWPRnedMwyL+76ovCtsESerHZEfY39dO4IrEqN97mdEYkOyHa0XTX5+3+U5FmpqPLttK0f7n6g==" + }, "aproba": { "version": "2.0.0" }, @@ -35178,8 +39901,7 @@ } }, "arg": { - "version": "4.1.3", - "dev": true + "version": "4.1.3" }, "argparse": { "version": "2.0.1" @@ -35344,8 +40066,7 @@ "version": "1.0.0" }, "assertion-error": { - "version": "1.1.0", - "dev": true + "version": "1.1.0" }, "assign-symbols": { "version": "1.0.0" @@ -35385,8 +40106,7 @@ "version": "1.0.0" }, "available-typed-arrays": { - "version": "1.0.5", - "dev": true + "version": "1.0.5" }, "aws-sign2": { "version": "0.7.0" @@ -35596,8 +40316,7 @@ "dev": true }, "binary-extensions": { - "version": "2.2.0", - "dev": true + "version": "2.2.0" }, "binascii": { "version": "0.0.2" @@ -35712,8 +40431,7 @@ } }, "browser-stdout": { - "version": "1.3.1", - "dev": true + "version": "1.3.1" }, "browserify-aes": { "version": "1.2.0", @@ -35819,9 +40537,28 @@ "ieee754": "^1.2.1" } }, + "buffer-alloc": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", + "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "requires": { + "buffer-alloc-unsafe": "^1.1.0", + "buffer-fill": "^1.0.0" + } + }, + "buffer-alloc-unsafe": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", + "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==" + }, "buffer-crc32": { "version": "0.2.13" }, + "buffer-fill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", + "integrity": "sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==" + }, "buffer-from": { "version": "1.1.2" }, @@ -36006,6 +40743,20 @@ "long": "^2.2.0" } }, + "chai": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.7.tgz", + "integrity": "sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==", + "requires": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.2", + "deep-eql": "^4.1.2", + "get-func-name": "^2.0.0", + "loupe": "^2.3.1", + "pathval": "^1.1.1", + "type-detect": "^4.0.5" + } + }, "chai-nightwatch": { "version": "0.4.2", "dev": true, @@ -36026,9 +40777,13 @@ "chardet": { "version": "0.7.0" }, + "check-error": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.2.tgz", + "integrity": "sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==" + }, "chokidar": { "version": "3.5.3", - "dev": true, "requires": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -36042,7 +40797,6 @@ "dependencies": { "glob-parent": { "version": "5.1.2", - "dev": true, "requires": { "is-glob": "^4.0.1" } @@ -36058,8 +40812,6 @@ }, "chromedriver": { "version": "109.0.0", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-109.0.0.tgz", - "integrity": "sha512-jdmBq11IUwfThLFiygGTZ89qbROSQI4bICQjvOVQy2Bqr1LwC+MFkhwyZp3YG99eehQbZuTlQmmfCZBfpewTNA==", "dev": true, "requires": { "@testim/chrome-version": "^1.1.3", @@ -36593,6 +41345,14 @@ "copy-descriptor": { "version": "0.1.1" }, + "copy-to-clipboard": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", + "integrity": "sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==", + "requires": { + "toggle-selection": "^1.0.6" + } + }, "core-js": { "version": "3.24.1" }, @@ -36671,8 +41431,7 @@ } }, "create-require": { - "version": "1.1.1", - "dev": true + "version": "1.1.1" }, "cross-fetch": { "version": "3.1.5", @@ -36835,6 +41594,14 @@ "dedent": { "version": "0.7.0" }, + "deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "requires": { + "type-detect": "^4.0.0" + } + }, "deep-extend": { "version": "0.6.0" }, @@ -36907,6 +41674,11 @@ "destroy": { "version": "1.2.0" }, + "detect-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/detect-browser/-/detect-browser-5.2.0.tgz", + "integrity": "sha512-tr7XntDAu50BVENgQfajMLzacmSe34D+qZc4zjnniz0ZVuw/TZcLcyxHQjYpJTM36sGEkZZlYLnIM1hH7alTMA==" + }, "detect-indent": { "version": "6.1.0" }, @@ -36958,6 +41730,11 @@ } } }, + "dijkstrajs": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.2.tgz", + "integrity": "sha512-QV6PMaHTCNmKSeP6QoXhVTw9snc9VD8MulTT0Bd99Pacp4SS1cjcrYPgBPmibqKVtMJJfqC6XvOXgPMEEPH/fg==" + }, "dir-glob": { "version": "3.0.1", "requires": { @@ -37015,7 +41792,6 @@ }, "duplexify": { "version": "4.1.2", - "dev": true, "requires": { "end-of-stream": "^1.4.1", "inherits": "^2.0.3", @@ -37045,6 +41821,14 @@ "ee-first": { "version": "1.1.1" }, + "eip1193-provider": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/eip1193-provider/-/eip1193-provider-1.0.1.tgz", + "integrity": "sha512-kSuqwQ26d7CzuS/t3yRXo2Su2cVH0QfvyKbr2H7Be7O5YDyIq4hQGCNTo5wRdP07bt+E2R/8nPCzey4ojBHf7g==", + "requires": { + "@json-rpc-tools/provider": "^1.5.5" + } + }, "ejs": { "version": "3.1.8", "dev": true, @@ -37232,6 +42016,11 @@ "version": "3.0.0", "dev": 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" }, @@ -37682,7 +42471,9 @@ "version": "1.8.1" }, "ethers": { - "version": "5.7.0", + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/ethers/-/ethers-5.7.2.tgz", + "integrity": "sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==", "requires": { "@ethersproject/abi": "5.7.0", "@ethersproject/abstract-provider": "5.7.0", @@ -37699,10 +42490,10 @@ "@ethersproject/json-wallets": "5.7.0", "@ethersproject/keccak256": "5.7.0", "@ethersproject/logger": "5.7.0", - "@ethersproject/networks": "5.7.0", + "@ethersproject/networks": "5.7.1", "@ethersproject/pbkdf2": "5.7.0", "@ethersproject/properties": "5.7.0", - "@ethersproject/providers": "5.7.0", + "@ethersproject/providers": "5.7.2", "@ethersproject/random": "5.7.0", "@ethersproject/rlp": "5.7.0", "@ethersproject/sha2": "5.7.0", @@ -37712,7 +42503,7 @@ "@ethersproject/transactions": "5.7.0", "@ethersproject/units": "5.7.0", "@ethersproject/wallet": "5.7.0", - "@ethersproject/web": "5.7.0", + "@ethersproject/web": "5.7.1", "@ethersproject/wordlists": "5.7.0" } }, @@ -37732,8 +42523,7 @@ "version": "4.0.7" }, "events": { - "version": "3.3.0", - "dev": true + "version": "3.3.0" }, "evp_bytestokey": { "version": "1.0.3", @@ -38186,7 +42976,6 @@ }, "for-each": { "version": "0.3.3", - "dev": true, "requires": { "is-callable": "^1.1.3" } @@ -38416,6 +43205,11 @@ "get-caller-file": { "version": "2.0.5" }, + "get-func-name": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.0.tgz", + "integrity": "sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==" + }, "get-intrinsic": { "version": "1.1.2", "requires": { @@ -38481,8 +43275,6 @@ }, "get-symbol-from-current-process-h": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-symbol-from-current-process-h/-/get-symbol-from-current-process-h-1.0.2.tgz", - "integrity": "sha512-syloC6fsCt62ELLrr1VKBM1ggOpMdetX9hTrdW77UQdcApPHLmf7CI7OKcN1c9kYuNxKcDe4iJ4FY9sX3aw2xw==", "dev": true }, "get-uri": { @@ -38525,8 +43317,6 @@ }, "get-uv-event-loop-napi-h": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/get-uv-event-loop-napi-h/-/get-uv-event-loop-napi-h-1.0.6.tgz", - "integrity": "sha512-t5c9VNR84nRoF+eLiz6wFrEp1SE2Acg0wS+Ysa2zF0eROes+LzOfuTaVHxGy8AbS8rq7FHEJzjnCZo1BupwdJg==", "dev": true, "requires": { "get-symbol-from-current-process-h": "^1.0.1" @@ -39045,8 +43835,7 @@ } }, "he": { - "version": "1.2.0", - "dev": true + "version": "1.2.0" }, "heap": { "version": "0.2.7" @@ -39063,6 +43852,11 @@ "version": "1.0.0", "dev": true }, + "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": { @@ -39198,6 +43992,11 @@ "minimatch": "^3.0.4" } }, + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==" + }, "import-fresh": { "version": "3.3.0", "requires": { @@ -39355,7 +44154,6 @@ }, "is-arguments": { "version": "1.1.1", - "dev": true, "requires": { "call-bind": "^1.0.2", "has-tostringtag": "^1.0.0" @@ -39372,7 +44170,6 @@ }, "is-binary-path": { "version": "2.1.0", - "dev": true, "requires": { "binary-extensions": "^2.0.0" } @@ -39460,7 +44257,6 @@ }, "is-generator-function": { "version": "1.0.10", - "dev": true, "requires": { "has-tostringtag": "^1.0.0" } @@ -39552,7 +44348,6 @@ }, "is-typed-array": { "version": "1.1.9", - "dev": true, "requires": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", @@ -41041,6 +45836,21 @@ } } }, + "jest-mock-extended": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/jest-mock-extended/-/jest-mock-extended-3.0.1.tgz", + "integrity": "sha512-RF4Ow8pXvbRuEcCTj56oYHmig5311BSFvbEGxPNYL51wGKGu93MvVQgx0UpFmjqyBXIcElkZo2Rke88kR1iSKQ==", + "requires": { + "ts-essentials": "^7.0.3" + }, + "dependencies": { + "ts-essentials": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/ts-essentials/-/ts-essentials-7.0.3.tgz", + "integrity": "sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==" + } + } + }, "jest-pnp-resolver": { "version": "1.2.2" }, @@ -41725,6 +46535,41 @@ "verror": "1.10.0" } }, + "jszip": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", + "requires": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + }, + "dependencies": { + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, "just-extend": { "version": "4.2.1", "dev": true @@ -42773,6 +47618,11 @@ "json-buffer": "3.0.0" } }, + "keyvaluestorage-interface": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz", + "integrity": "sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g==" + }, "kind-of": { "version": "6.0.3" }, @@ -43253,9 +48103,62 @@ } } }, + "lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "requires": { + "immediate": "~3.0.5" + } + }, "lines-and-columns": { "version": "1.2.4" }, + "lit": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/lit/-/lit-2.6.1.tgz", + "integrity": "sha512-DT87LD64f8acR7uVp7kZfhLRrHkfC/N4BVzAtnw9Yg8087mbBJ//qedwdwX0kzDbxgPccWRW6mFwGbRQIxy0pw==", + "requires": { + "@lit/reactive-element": "^1.6.0", + "lit-element": "^3.2.0", + "lit-html": "^2.6.0" + } + }, + "lit-connect-modal": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/lit-connect-modal/-/lit-connect-modal-0.1.8.tgz", + "integrity": "sha512-dxBqSRFDtDGBLQbCqCHlx4b0M0Xc+5p/OId34F8mAccOKeOavQI/Iy/PKfwspfnEg1q+yWjcf2k7vOcJKU4loA==", + "requires": { + "micromodal": "^0.4.10" + } + }, + "lit-element": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.2.2.tgz", + "integrity": "sha512-6ZgxBR9KNroqKb6+htkyBwD90XGRiqKDHVrW/Eh0EZ+l+iC+u+v+w3/BA5NGi4nizAVHGYvQBHUDuSmLjPp7NQ==", + "requires": { + "@lit/reactive-element": "^1.3.0", + "lit-html": "^2.2.0" + } + }, + "lit-html": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.6.1.tgz", + "integrity": "sha512-Z3iw+E+3KKFn9t2YKNjsXNEu/LRLI98mtH/C6lnFg7kvaqPIzPn124Yd4eT/43lyqrejpc5Wb6BHq3fdv4S8Rw==", + "requires": { + "@types/trusted-types": "^2.0.2" + } + }, + "lit-siwe": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/lit-siwe/-/lit-siwe-1.1.8.tgz", + "integrity": "sha512-gXI8GG0GAClw6G7T9p4p6Kn9ywDo8j2d90ShaYArJdsqqO9gwXfzxF84SMeY+bpsNqqQ3FahrhEwTCHd6w7wNw==", + "requires": { + "@spruceid/siwe-parser": "1.1.3", + "@stablelib/random": "^1.0.1", + "apg-js": "^4.1.1" + } + }, "load-json-file": { "version": "6.2.0", "requires": { @@ -43379,6 +48282,11 @@ "version": "3.0.4", "dev": true }, + "lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" + }, "lodash.ismatch": { "version": "4.4.0" }, @@ -43446,6 +48354,14 @@ "long": { "version": "2.4.0" }, + "loupe": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.6.tgz", + "integrity": "sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==", + "requires": { + "get-func-name": "^2.0.0" + } + }, "lowercase-keys": { "version": "1.0.1" }, @@ -43680,6 +48596,11 @@ "picomatch": "^2.3.1" } }, + "micromodal": { + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/micromodal/-/micromodal-0.4.10.tgz", + "integrity": "sha512-BUrEnzMPFBwK8nOE4xUDYHLrlGlLULQVjpja99tpJQPSUEWgw3kTLp1n1qv0HmKU29AiHE7Y7sMLiRziDK4ghQ==" + }, "miller-rabin": { "version": "4.0.1", "dev": true, @@ -44139,6 +49060,19 @@ } } }, + "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" + } + }, "mqemitter": { "version": "4.5.0", "requires": { @@ -44237,6 +49171,11 @@ "ms": { "version": "2.1.2" }, + "multiformats": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz", + "integrity": "sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg==" + }, "multimatch": { "version": "5.0.0", "requires": { @@ -44255,6 +49194,11 @@ "mute-stream": { "version": "0.0.8" }, + "nanoid": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.3.tgz", + "integrity": "sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w==" + }, "nanomatch": { "version": "1.2.13", "requires": { @@ -45056,6 +50000,11 @@ "version": "1.0.0", "dev": true }, + "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.4.1", "requires": { @@ -45433,8 +50382,7 @@ } }, "pako": { - "version": "1.0.11", - "dev": true + "version": "1.0.11" }, "parent-module": { "version": "1.0.1", @@ -45662,6 +50610,11 @@ "path-type": { "version": "4.0.0" }, + "pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==" + }, "pause-stream": { "version": "0.0.11", "requires": { @@ -45715,6 +50668,22 @@ } } }, + "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" + }, + "dependencies": { + "split2": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.1.0.tgz", + "integrity": "sha512-VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ==" + } + } + }, "pino-pretty": { "version": "5.1.3", "requires": { @@ -45778,9 +50747,19 @@ "version": "1.1.0", "dev": true }, + "pngjs": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-3.4.0.tgz", + "integrity": "sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w==" + }, "posix-character-classes": { "version": "0.1.1" }, + "preact": { + "version": "10.4.1", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.4.1.tgz", + "integrity": "sha512-WKrRpCSwL2t3tpOOGhf2WfTpcmbpxaWtDbdJdKdjd0aEiTkvOmS4NBkG6kzlaAHI9AkQ3iVqbFWM3Ei7mZ4o1Q==" + }, "prelude-ls": { "version": "1.2.1" }, @@ -45913,6 +50892,11 @@ } } }, + "proxy-compare": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/proxy-compare/-/proxy-compare-2.4.0.tgz", + "integrity": "sha512-FD8KmQUQD6Mfpd0hywCOzcon/dbkFP8XBd9F1ycbKtvVsfv6TsFUKJ2eC0Iz2y+KzlkdT1Z8SY6ZSgm07zOyqg==" + }, "proxy-from-env": { "version": "1.1.0", "dev": true @@ -45965,6 +50949,171 @@ "qlobber": { "version": "7.0.1" }, + "qrcode": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.4.4.tgz", + "integrity": "sha512-oLzEC5+NKFou9P0bMj5+v6Z40evexeE29Z9cummZXZ9QXyMr3lphkURzxjXgPJC5azpxcshoDWV1xE46z+/c3Q==", + "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": { + "ansi-regex": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.1.tgz", + "integrity": "sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "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" + } + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==" + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==" + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "requires": { + "locate-path": "^3.0.0" + } + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==" + }, + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "requires": { + "p-limit": "^2.0.0" + } + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==" + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + }, + "y18n": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "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", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, "qs": { "version": "6.11.0", "requires": { @@ -46249,11 +51398,15 @@ }, "readdirp": { "version": "3.6.0", - "dev": true, "requires": { "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==" + }, "realpath-native": { "version": "2.0.0", "dev": true @@ -46443,8 +51596,7 @@ "version": "2.0.2" }, "require-main-filename": { - "version": "2.0.0", - "dev": true + "version": "2.0.0" }, "require-package-name": { "version": "2.0.1", @@ -46572,12 +51724,22 @@ "safe-buffer": { "version": "5.1.2" }, + "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": { "version": "1.1.0", "requires": { "ret": "~0.1.10" } }, + "safe-stable-stringify": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.2.tgz", + "integrity": "sha512-gMxvPJYhP0O9n2pvcfYfIuYgbledAOJFcqRThtPRmjscaipiwcwPPKLytpVzMkG2HAN87Qmo2d4PtGiri1dSLA==" + }, "safer-buffer": { "version": "2.1.2" }, @@ -46897,7 +52059,6 @@ }, "serialize-javascript": { "version": "6.0.0", - "dev": true, "requires": { "randombytes": "^2.1.0" } @@ -46945,8 +52106,6 @@ }, "setimmediate-napi": { "version": "1.0.6", - "resolved": "https://registry.npmjs.org/setimmediate-napi/-/setimmediate-napi-1.0.6.tgz", - "integrity": "sha512-sdNXN15Av1jPXuSal4Mk4tEAKn0+8lfF9Z50/negaQMrAIO9c1qM0eiCh8fT6gctp0RiCObk+6/Xfn5RMGdZoA==", "dev": true, "requires": { "get-symbol-from-current-process-h": "^1.0.1", @@ -47221,7 +52380,6 @@ }, "sonic-boom": { "version": "2.8.0", - "dev": true, "requires": { "atomic-sleep": "^1.0.0" } @@ -47667,8 +52825,7 @@ } }, "stream-shift": { - "version": "1.0.1", - "dev": true + "version": "1.0.1" }, "stream-to-array": { "version": "2.3.0", @@ -47758,6 +52915,7 @@ "@ethersproject/wallet": "^5.5.0", "@ethersproject/web": "^5.5.0", "@ethersproject/wordlists": "^5.5.0", + "@lit-protocol/lit-node-client": "2.1.38", "@streamr/network-node": "7.3.0", "@streamr/protocol": "7.3.0", "@streamr/test-utils": "7.3.0", @@ -47791,6 +52949,7 @@ "heap": "^0.2.6", "idb-keyval": "^5.1.5", "jest-leak-detector": "^27.3.1", + "lit-siwe": "^1.1.8", "lodash": "^4.17.21", "lodash-webpack-plugin": "^0.11.6", "mem": "^8.1.1", @@ -47827,26 +52986,18 @@ "dependencies": { "ansi-regex": { "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true }, "ansi-styles": { "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true }, "jest-get-type": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz", - "integrity": "sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==", "dev": true }, "jest-leak-detector": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz", - "integrity": "sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ==", "dev": true, "requires": { "jest-get-type": "^27.5.1", @@ -47864,8 +53015,6 @@ }, "pretty-format": { "version": "27.5.1", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz", - "integrity": "sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==", "dev": true, "requires": { "ansi-regex": "^5.0.1", @@ -47875,8 +53024,6 @@ }, "react-is": { "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", "dev": true } } @@ -48222,6 +53369,14 @@ "text-table": { "version": "0.2.0" }, + "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" + } + }, "throat": { "version": "5.0.0", "dev": true @@ -48289,6 +53444,11 @@ "is-number": "^7.0.0" } }, + "toggle-selection": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", + "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" + }, "toidentifier": { "version": "1.0.1" }, @@ -48384,7 +53544,6 @@ }, "ts-node": { "version": "10.9.1", - "dev": true, "requires": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", @@ -48402,8 +53561,7 @@ }, "dependencies": { "diff": { - "version": "4.0.2", - "dev": true + "version": "4.0.2" } } }, @@ -48476,6 +53634,11 @@ "tweetnacl": { "version": "0.14.5" }, + "tweetnacl-util": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz", + "integrity": "sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==" + }, "type": { "version": "1.2.0" }, @@ -48549,6 +53712,14 @@ "uid-number": { "version": "0.0.6" }, + "uint8arrays": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.1.0.tgz", + "integrity": "sha512-ei5rfKtoRO8OyOIor2Rz5fhzjThwIHJZ3uyDPnDHTXbP0aMQ1RN/6AI5B5d9dBxJOU+BvOAk7ZQ1xphsX8Lrog==", + "requires": { + "multiformats": "^9.4.2" + } + }, "umask": { "version": "1.1.0" }, @@ -48686,6 +53857,11 @@ "use": { "version": "3.1.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==" + }, "utf-8-validate": { "version": "5.0.9", "requires": { @@ -48694,7 +53870,6 @@ }, "util": { "version": "0.12.4", - "dev": true, "requires": { "inherits": "^2.0.3", "is-arguments": "^1.0.4", @@ -48726,8 +53901,7 @@ "version": "2.3.0" }, "v8-compile-cache-lib": { - "version": "3.0.1", - "dev": true + "version": "3.0.1" }, "v8-to-istanbul": { "version": "9.1.0", @@ -48750,6 +53924,15 @@ "builtins": "^1.0.3" } }, + "valtio": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/valtio/-/valtio-1.9.0.tgz", + "integrity": "sha512-mQLFsAlKbYascZygFQh6lXuDjU5WHLoeZ8He4HqMnWfasM96V6rDbeFkw1XeG54xycmDonr/Jb4xgviHtuySrA==", + "requires": { + "proxy-compare": "2.4.0", + "use-sync-external-store": "1.2.0" + } + }, "vary": { "version": "1.1.2" }, @@ -48829,8 +54012,6 @@ }, "weak-napi": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/weak-napi/-/weak-napi-2.0.2.tgz", - "integrity": "sha512-LcOSVFrghtVXf4QH+DLIy8iPiCktV7lVbqRDYP+bDPpLzC41RCHQPMyQOnPpWO41Ie4CmnDxS+mbL72r5xFMMQ==", "dev": true, "requires": { "node-addon-api": "^3.0.0", @@ -48838,6 +54019,11 @@ "setimmediate-napi": "^1.0.3" } }, + "web-vitals": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/web-vitals/-/web-vitals-3.1.1.tgz", + "integrity": "sha512-qvllU+ZeQChqzBhZ1oyXmWsjJ8a2jHYpH8AMaVuf29yscOPZfTQTjQFRX6+eADTdsDE8IanOZ0cetweHMs8/2A==" + }, "webidl-conversions": { "version": "6.1.0" }, @@ -49017,12 +54203,10 @@ } }, "which-module": { - "version": "2.0.0", - "dev": true + "version": "2.0.0" }, "which-typed-array": { "version": "1.1.8", - "dev": true, "requires": { "available-typed-arrays": "^1.0.5", "call-bind": "^1.0.2", @@ -49069,6 +54253,11 @@ "wordwrap": { "version": "1.0.0" }, + "workerpool": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", + "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==" + }, "wrap-ansi": { "version": "7.0.0", "requires": { @@ -49173,8 +54362,7 @@ } }, "ws": { - "version": "7.5.9", - "dev": true + "version": "7.5.9" }, "xml-name-validator": { "version": "3.0.0", @@ -49358,8 +54546,7 @@ } }, "yn": { - "version": "3.1.1", - "dev": true + "version": "3.1.1" }, "yocto-queue": { "version": "0.1.0" diff --git a/package.json b/package.json index b4b3219a31..071265680b 100644 --- a/package.json +++ b/package.json @@ -42,6 +42,7 @@ "husky": "^6.0.0", "jest": "^29.4.3", "jest-extended": "^3.2.3", + "jest-mock-extended": "^3.0.1", "lerna": "^4.0.0", "node-gyp-build": "^4.3.0", "semver": "^7.3.5", diff --git a/packages/client/CHANGELOG.md b/packages/client/CHANGELOG.md index b255fa48fa..2aab782074 100644 --- a/packages/client/CHANGELOG.md +++ b/packages/client/CHANGELOG.md @@ -8,6 +8,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added +- Add support for experimental encryption key exchange via [Lit Protocol](https://litprotocol.com/). Enabled by + setting configuration option `encryption.litProtocolEnabled` to be true. + ### Changed - All contract providers are used to query the tracker registry, storage node registry and stream storage registry diff --git a/packages/client/package.json b/packages/client/package.json index bc7961d180..92d8fd172d 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -97,6 +97,7 @@ "@ethersproject/transactions": "^5.5.0", "@ethersproject/wallet": "^5.5.0", "@ethersproject/web": "^5.5.0", + "@lit-protocol/lit-node-client": "2.1.38", "@streamr/network-node": "7.3.0", "@streamr/protocol": "7.3.0", "@streamr/utils": "7.3.0", @@ -107,6 +108,7 @@ "eventemitter3": "^4.0.7", "heap": "^0.2.6", "idb-keyval": "^5.1.5", + "lit-siwe": "^1.1.8", "lodash": "^4.17.21", "mem": "^8.1.1", "node-fetch": "^2.6.6", diff --git a/packages/client/src/Config.ts b/packages/client/src/Config.ts index 447864f870..ca2638b886 100644 --- a/packages/client/src/Config.ts +++ b/packages/client/src/Config.ts @@ -67,6 +67,21 @@ export interface StreamrClientConfig { retryResendAfter?: number gapFillTimeout?: number + encryption?: { + /** + * Enable experimental Lit Protocol key exchange. + * + * When enabled encryption key storing and fetching will be primarily done through the Lit Protocol and + * secondarily through the standard Streamr key-exchange system. + */ + litProtocolEnabled?: boolean + + /** + * Enable log messages of the Lit Protocol library to be printed to stdout. + */ + litProtocolLogging?: boolean + } + network?: { id?: string acceptProxyConnections?: boolean @@ -140,6 +155,7 @@ export interface StreamrClientConfig { export type StrictStreamrClientConfig = MarkOptional, 'auth' | 'metrics'> & { network: MarkOptional, undefined>, 'location'> contracts: Exclude, undefined> + encryption: Exclude, undefined> decryption: Exclude, undefined> cache: Exclude, undefined> _timeouts: Exclude, undefined> @@ -158,6 +174,11 @@ export const STREAM_CLIENT_DEFAULTS: maxGapRequests: 5, retryResendAfter: 5000, gapFillTimeout: 5000, + + encryption: { + litProtocolEnabled: false, + litProtocolLogging: false + }, network: { acceptProxyConnections: false, diff --git a/packages/client/src/StreamrClient.ts b/packages/client/src/StreamrClient.ts index 2695917fa6..856116925c 100644 --- a/packages/client/src/StreamrClient.ts +++ b/packages/client/src/StreamrClient.ts @@ -35,6 +35,7 @@ import { LoggerFactory } from './utils/LoggerFactory' import { convertStreamMessageToMessage, Message } from './Message' import { ErrorCode } from './HttpUtil' import { omit } from 'lodash' +import { StreamrClientError } from './StreamrClientError' /** * The main API used to interact with Streamr. @@ -123,6 +124,9 @@ export class StreamrClient { if (opts.streamId === undefined) { throw new Error('streamId required') } + if (opts.key !== undefined && this.config.encryption.litProtocolEnabled) { + throw new StreamrClientError('cannot pass "key" when Lit Protocol is enabled', 'UNSUPPORTED_OPERATION') + } const streamId = await this.streamIdBuilder.toStreamID(opts.streamId) const queue = await this.publisher.getGroupKeyQueue(streamId) if (opts.distributionMethod === 'rotate') { diff --git a/packages/client/src/StreamrClientError.ts b/packages/client/src/StreamrClientError.ts index ee1b78e165..5218133d5c 100644 --- a/packages/client/src/StreamrClientError.ts +++ b/packages/client/src/StreamrClientError.ts @@ -4,6 +4,7 @@ export type StreamrClientErrorCode = 'INVALID_ARGUMENT' | 'CLIENT_DESTROYED' | 'PIPELINE_ERROR' | + 'UNSUPPORTED_OPERATION' | 'UNKNOWN_ERROR' export class StreamrClientError extends Error { diff --git a/packages/client/src/config.schema.json b/packages/client/src/config.schema.json index 2421ec847a..13b5ca3e31 100644 --- a/packages/client/src/config.schema.json +++ b/packages/client/src/config.schema.json @@ -306,6 +306,21 @@ }, "default": {} }, + "encryption": { + "type": "object", + "additionalProperties": false, + "properties": { + "litProtocolEnabled": { + "type": "boolean", + "default": false + }, + "litProtocolLogging": { + "type": "boolean", + "default": false + } + }, + "default": {} + }, "decryption": { "type": "object", "additionalProperties": false, diff --git a/packages/client/src/encryption/GroupKey.ts b/packages/client/src/encryption/GroupKey.ts index d63765e08e..80dff8f620 100644 --- a/packages/client/src/encryption/GroupKey.ts +++ b/packages/client/src/encryption/GroupKey.ts @@ -23,9 +23,9 @@ export class GroupKey { /** @internal */ readonly id: string /** @internal */ - readonly data: Uint8Array + readonly data: Buffer - constructor(groupKeyId: string, data: Uint8Array) { + constructor(groupKeyId: string, data: Buffer) { this.id = groupKeyId if (!groupKeyId) { throw new GroupKeyError(`groupKeyId must not be falsey ${groupKeyId}`) diff --git a/packages/client/src/encryption/GroupKeyManager.ts b/packages/client/src/encryption/GroupKeyManager.ts new file mode 100644 index 0000000000..00900b6672 --- /dev/null +++ b/packages/client/src/encryption/GroupKeyManager.ts @@ -0,0 +1,88 @@ +import { LitProtocolFacade } from './LitProtocolFacade' +import { inject, Lifecycle, scoped } from 'tsyringe' +import { GroupKeyStore } from './GroupKeyStore' +import { GroupKey } from './GroupKey' +import { StreamID, StreamPartID, StreamPartIDUtils } from '@streamr/protocol' +import { EthereumAddress, waitForEvent } from '@streamr/utils' +import { SubscriberKeyExchange } from './SubscriberKeyExchange' +import { ConfigInjectionToken, StrictStreamrClientConfig } from '../Config' +import { StreamrClientEventEmitter } from '../events' +import { DestroySignal } from '../DestroySignal' +import crypto from 'crypto' +import { uuid } from '../utils/uuid' + +@scoped(Lifecycle.ContainerScoped) +export class GroupKeyManager { + private readonly groupKeyStore: GroupKeyStore + private readonly litProtocolFacade: LitProtocolFacade + private readonly subscriberKeyExchange: SubscriberKeyExchange + private readonly eventEmitter: StreamrClientEventEmitter + private readonly destroySignal: DestroySignal + private readonly config: Pick + + constructor( + groupKeyStore: GroupKeyStore, + litProtocolFacade: LitProtocolFacade, + subscriberKeyExchange: SubscriberKeyExchange, + eventEmitter: StreamrClientEventEmitter, + destroySignal: DestroySignal, + @inject(ConfigInjectionToken) config: Pick + ) { + this.groupKeyStore = groupKeyStore + this.litProtocolFacade = litProtocolFacade + this.subscriberKeyExchange = subscriberKeyExchange + this.eventEmitter = eventEmitter + this.destroySignal = destroySignal + this.config = config + } + + async fetchKey(streamPartId: StreamPartID, groupKeyId: string, publisherId: EthereumAddress): Promise { + const streamId = StreamPartIDUtils.getStreamID(streamPartId) + + // 1st try: local storage + let groupKey = await this.groupKeyStore.get(groupKeyId, streamId) + if (groupKey !== undefined) { + return groupKey + } + + // 2nd try: lit-protocol + if (this.config.encryption.litProtocolEnabled) { + groupKey = await this.litProtocolFacade.get(streamId, groupKeyId) + if (groupKey !== undefined) { + await this.groupKeyStore.add(groupKey, streamId) + return groupKey + } + } + + // 3rd try: Streamr key-exchange + await this.subscriberKeyExchange.requestGroupKey(groupKeyId, publisherId, streamPartId) + const groupKeys = await waitForEvent( + // TODO remove "as any" type casing in NET-889 + this.eventEmitter as any, + 'addGroupKey', + this.config.decryption.keyRequestTimeout, + (storedGroupKey: GroupKey) => storedGroupKey.id === groupKeyId, + this.destroySignal.abortSignal + ) + return groupKeys[0] as GroupKey + } + + async storeKey(groupKey: GroupKey | undefined, streamId: StreamID): Promise { // TODO: name + if (groupKey === undefined) { + const keyData = crypto.randomBytes(32) + // 1st try lit-protocol, if a key cannot be generated and stored, then generate group key locally + if (this.config.encryption.litProtocolEnabled) { + groupKey = await this.litProtocolFacade.store(streamId, keyData) + } + if (groupKey === undefined) { + groupKey = new GroupKey(uuid('GroupKey'), keyData) + } + } + await this.groupKeyStore.add(groupKey, streamId) + return groupKey + } + + addKeyToLocalStore(groupKey: GroupKey, streamId: StreamID): Promise { + return this.groupKeyStore.add(groupKey, streamId) + } +} diff --git a/packages/client/src/encryption/GroupKeyStore.ts b/packages/client/src/encryption/GroupKeyStore.ts index 995d2ef530..0b424ae970 100644 --- a/packages/client/src/encryption/GroupKeyStore.ts +++ b/packages/client/src/encryption/GroupKeyStore.ts @@ -43,6 +43,9 @@ export interface UpdateEncryptionKeyOptions { key?: GroupKey } +/** + * TODO: rename to e.g. `LocalGroupKeyStore` for clarity + */ @scoped(Lifecycle.ContainerScoped) export class GroupKeyStore { diff --git a/packages/client/src/encryption/LitProtocolFacade.ts b/packages/client/src/encryption/LitProtocolFacade.ts new file mode 100644 index 0000000000..23f5d28ea4 --- /dev/null +++ b/packages/client/src/encryption/LitProtocolFacade.ts @@ -0,0 +1,159 @@ +import * as LitJsSdk from '@lit-protocol/lit-node-client' +import { inject, Lifecycle, scoped } from 'tsyringe' +import * as siwe from 'lit-siwe' +import { Authentication, AuthenticationInjectionToken } from '../Authentication' +import { ethers } from 'ethers' +import { StreamID } from '@streamr/protocol' +import { StreamPermission, streamPermissionToSolidityType } from '../permission' +import { ConfigInjectionToken, StrictStreamrClientConfig } from '../Config' +import { GroupKey } from './GroupKey' +import { Logger, withRateLimit } from '@streamr/utils' +import { LoggerFactory } from '../utils/LoggerFactory' + +const logger = new Logger(module) + +const chain = 'polygon' + +const LIT_PROTOCOL_CONNECT_INTERVAL = 60 * 60 * 1000 // 1h + +const formEvmContractConditions = (streamRegistryChainAddress: string, streamId: StreamID) => ([ + { + contractAddress: streamRegistryChainAddress, + chain, + functionName: 'hasPermission', + functionParams: [streamId, ':userAddress', `${streamPermissionToSolidityType(StreamPermission.SUBSCRIBE)}`], + functionAbi: { + inputs: [ + { + name: "streamId", + type: "string" + }, + { + name: "user", + type: "address" + }, + { + name: "permissionType", + type: "uint8" + } + ], + name: "hasPermission", + outputs: [ + { + name: "userHasPermission", + type: "bool" + } + ], + stateMutability: "view", + type: "function" + }, + returnValueTest: { + key: "userHasPermission", + comparator: '=', + value: "true", + }, + } +]) + +const signAuthMessage = async (authentication: Authentication) => { + const domain = "dummy.com" + const uri = "https://dummy.com" + const statement = "dummy" + const addressInChecksumCase = ethers.utils.getAddress(await authentication.getAddress()) + const siweMessage = new siwe.SiweMessage({ + domain, + uri, + statement, + address: addressInChecksumCase, + version: "1", + chainId: 1 + }) + const messageToSign = siweMessage.prepareMessage() + const signature = await authentication.createMessageSignature(messageToSign) + return { + sig: signature, + derivedVia: "web3.eth.personal.sign", + signedMessage: messageToSign, + address: addressInChecksumCase + } +} + +/** + * This class only operates with Polygon production network and therefore ignores contracts config. + */ +@scoped(Lifecycle.ContainerScoped) +export class LitProtocolFacade { + private readonly authentication: Authentication + private readonly config: Pick + private readonly logger: Logger + private litNodeClient?: LitJsSdk.LitNodeClient + private connectLitNodeClient?: () => Promise + + constructor( + loggerFactory: LoggerFactory, + @inject(ConfigInjectionToken) config: Pick, + @inject(AuthenticationInjectionToken) authentication: Authentication, + ) { + this.authentication = authentication + this.config = config + this.logger = loggerFactory.createLogger(module) + } + + async getLitNodeClient(): Promise { + if (this.litNodeClient === undefined) { + this.litNodeClient = new LitJsSdk.LitNodeClient({ + alertWhenUnauthorized: false, + debug: this.config.encryption.litProtocolLogging + }) + // Add a rate limiter to avoid calling `connect` each time we want to use lit protocol as this would cause an unnecessary handshake. + this.connectLitNodeClient = withRateLimit(() => this.litNodeClient!.connect(), LIT_PROTOCOL_CONNECT_INTERVAL) + } + await this.connectLitNodeClient!() + return this.litNodeClient + } + + async store(streamId: StreamID, symmetricKey: Uint8Array): Promise { + this.logger.debug('storing key: %j', { streamId }) + try { + const authSig = await signAuthMessage(this.authentication) + const client = await this.getLitNodeClient() + const encryptedSymmetricKey = await client.saveEncryptionKey({ + evmContractConditions: formEvmContractConditions(this.config.contracts.streamRegistryChainAddress, streamId), + symmetricKey, + authSig, + chain + }) + if (encryptedSymmetricKey === undefined) { + return undefined + } + const groupKeyId = LitJsSdk.uint8arrayToString(encryptedSymmetricKey, 'base16') + this.logger.debug('stored key: %j', { groupKeyId, streamId }) + return new GroupKey(groupKeyId, Buffer.from(symmetricKey)) + } catch (e) { + logger.warn('encountered error when trying to store key on lit-protocol: %s', e?.message) + return undefined + } + } + + async get(streamId: StreamID, groupKeyId: string): Promise { + this.logger.debug('get key: %j', { groupKeyId, streamId }) + try { + const authSig = await signAuthMessage(this.authentication) + const client = await this.getLitNodeClient() + const symmetricKey = await client.getEncryptionKey({ + evmContractConditions: formEvmContractConditions(this.config.contracts.streamRegistryChainAddress, streamId), + toDecrypt: groupKeyId, + chain, + authSig + }) + if (symmetricKey === undefined) { + return undefined + } + this.logger.debug('got key: %j', { groupKeyId, streamId }) + return new GroupKey(groupKeyId, Buffer.from(symmetricKey)) + } catch (e) { + logger.warn('encountered error when trying to get key from lit-protocol: %s', e?.message) + return undefined + } + } +} diff --git a/packages/client/src/publish/GroupKeyQueue.ts b/packages/client/src/publish/GroupKeyQueue.ts index 7593820ad0..6f38bbdc50 100644 --- a/packages/client/src/publish/GroupKeyQueue.ts +++ b/packages/client/src/publish/GroupKeyQueue.ts @@ -1,6 +1,6 @@ import { StreamID } from '@streamr/protocol' import { GroupKey } from '../encryption/GroupKey' -import { GroupKeyStore } from '../encryption/GroupKeyStore' +import { GroupKeyManager } from '../encryption/GroupKeyManager' export interface GroupKeySequence { current: GroupKey @@ -12,11 +12,11 @@ export class GroupKeyQueue { private currentGroupKey: GroupKey | undefined private queuedGroupKey: GroupKey | undefined // a group key queued to be rotated into use after the call to useGroupKey private readonly streamId: StreamID - private readonly store: GroupKeyStore + private readonly groupKeyManager: GroupKeyManager - constructor(streamId: StreamID, store: GroupKeyStore) { + constructor(streamId: StreamID, groupKeyManager: GroupKeyManager) { this.streamId = streamId - this.store = store + this.groupKeyManager = groupKeyManager } async useGroupKey(): Promise { @@ -38,14 +38,14 @@ export class GroupKeyQueue { return result } - async rotate(newKey = GroupKey.generate()): Promise { + async rotate(newKey?: GroupKey): Promise { + newKey = await this.groupKeyManager.storeKey(newKey, this.streamId) this.queuedGroupKey = newKey - await this.store.add(newKey, this.streamId) return newKey } - async rekey(newKey = GroupKey.generate()): Promise { - await this.store.add(newKey, this.streamId) + async rekey(newKey?: GroupKey): Promise { + newKey = await this.groupKeyManager.storeKey(newKey, this.streamId) this.currentGroupKey = newKey this.queuedGroupKey = undefined return newKey diff --git a/packages/client/src/publish/Publisher.ts b/packages/client/src/publish/Publisher.ts index 976fde71c1..c4d8876d22 100644 --- a/packages/client/src/publish/Publisher.ts +++ b/packages/client/src/publish/Publisher.ts @@ -8,10 +8,10 @@ import { NetworkNodeFacade } from '../NetworkNodeFacade' import { MessageFactory } from './MessageFactory' import { isString } from 'lodash' import { StreamRegistryCached } from '../registry/StreamRegistryCached' -import { GroupKeyStore } from '../encryption/GroupKeyStore' import { GroupKeyQueue } from './GroupKeyQueue' import { Mapping } from '../utils/Mapping' import { StreamrClientError } from '../StreamrClientError' +import { GroupKeyManager } from '../encryption/GroupKeyManager' export interface PublishMetadata { timestamp?: string | number | Date @@ -46,7 +46,7 @@ export class Publisher { streamIdBuilder: StreamIDBuilder, @inject(AuthenticationInjectionToken) authentication: Authentication, streamRegistryCached: StreamRegistryCached, - groupKeyStore: GroupKeyStore, + groupKeyManager: GroupKeyManager, node: NetworkNodeFacade ) { this.streamIdBuilder = streamIdBuilder @@ -57,7 +57,7 @@ export class Publisher { return this.createMessageFactory(streamId) }) this.groupKeyQueues = new Mapping(async (streamId: StreamID) => { - return new GroupKeyQueue(streamId, groupKeyStore) + return new GroupKeyQueue(streamId, groupKeyManager) }) } diff --git a/packages/client/src/subscribe/Decrypt.ts b/packages/client/src/subscribe/Decrypt.ts index fbd6473928..4541d37990 100644 --- a/packages/client/src/subscribe/Decrypt.ts +++ b/packages/client/src/subscribe/Decrypt.ts @@ -2,40 +2,27 @@ import { EncryptionType, StreamMessage } from '@streamr/protocol' import { EncryptionUtil, DecryptError } from '../encryption/EncryptionUtil' import { StreamRegistryCached } from '../registry/StreamRegistryCached' import { DestroySignal } from '../DestroySignal' -import { SubscriberKeyExchange } from '../encryption/SubscriberKeyExchange' -import { GroupKeyStore } from '../encryption/GroupKeyStore' -import { ConfigInjectionToken, StrictStreamrClientConfig } from '../Config' -import { inject } from 'tsyringe' import { GroupKey } from '../encryption/GroupKey' -import { Logger, waitForEvent } from '@streamr/utils' -import { StreamrClientEventEmitter } from '../events' +import { Logger } from '@streamr/utils' import { LoggerFactory } from '../utils/LoggerFactory' +import { GroupKeyManager } from '../encryption/GroupKeyManager' export class Decrypt { - private groupKeyStore: GroupKeyStore - private keyExchange: SubscriberKeyExchange + private groupKeyManager: GroupKeyManager private streamRegistryCached: StreamRegistryCached private destroySignal: DestroySignal - private eventEmitter: StreamrClientEventEmitter - private config: Pick private readonly logger: Logger constructor( - groupKeyStore: GroupKeyStore, - keyExchange: SubscriberKeyExchange, + groupKeyManager: GroupKeyManager, streamRegistryCached: StreamRegistryCached, destroySignal: DestroySignal, - @inject(LoggerFactory) loggerFactory: LoggerFactory, - @inject(StreamrClientEventEmitter) eventEmitter: StreamrClientEventEmitter, - @inject(ConfigInjectionToken) config: Pick + loggerFactory: LoggerFactory, ) { - this.groupKeyStore = groupKeyStore - this.keyExchange = keyExchange + this.groupKeyManager = groupKeyManager this.streamRegistryCached = streamRegistryCached this.destroySignal = destroySignal - this.eventEmitter = eventEmitter - this.config = config this.logger = loggerFactory.createLogger(module) this.decrypt = this.decrypt.bind(this) } @@ -57,40 +44,31 @@ export class Decrypt { } try { - const groupKeyId = streamMessage.groupKeyId! - - let groupKey = await this.groupKeyStore.get(groupKeyId, streamMessage.getStreamId()) - if (groupKey === undefined) { - await this.keyExchange.requestGroupKey( + let groupKey: GroupKey | undefined + try { + groupKey = await this.groupKeyManager.fetchKey( + streamMessage.getStreamPartID(), streamMessage.groupKeyId, - streamMessage.getPublisherId(), - streamMessage.getStreamPartID() + streamMessage.getPublisherId() ) - try { - const groupKeys = await waitForEvent( - // TODO remove "as any" type casing in NET-889 - this.eventEmitter as any, - 'addGroupKey', - this.config.decryption.keyRequestTimeout, - (storedGroupKey: GroupKey) => storedGroupKey.id === groupKeyId, - this.destroySignal.abortSignal) - groupKey = groupKeys[0] as GroupKey - } catch (e: any) { - if (this.destroySignal.isDestroyed()) { - return streamMessage - } - throw new DecryptError(streamMessage, `Could not get GroupKey ${streamMessage.groupKeyId}: ${e.message}`) - } + } catch (e: any) { if (this.destroySignal.isDestroyed()) { return streamMessage } + throw new DecryptError(streamMessage, `Could not get GroupKey ${streamMessage.groupKeyId}: ${e.message}`) + } + if (this.destroySignal.isDestroyed()) { + return streamMessage } const clone = StreamMessage.deserialize(streamMessage.serialize()) - EncryptionUtil.decryptStreamMessage(clone, groupKey!) + EncryptionUtil.decryptStreamMessage(clone, groupKey) if (streamMessage.newGroupKey) { // newGroupKey has been converted into GroupKey - await this.groupKeyStore.add(clone.newGroupKey as unknown as GroupKey, streamMessage.getStreamId()) + await this.groupKeyManager.addKeyToLocalStore( + clone.newGroupKey as unknown as GroupKey, + streamMessage.getStreamId() + ) } return clone } catch (err) { diff --git a/packages/client/src/subscribe/Resends.ts b/packages/client/src/subscribe/Resends.ts index ede6db1652..fa0577742e 100644 --- a/packages/client/src/subscribe/Resends.ts +++ b/packages/client/src/subscribe/Resends.ts @@ -10,9 +10,6 @@ import { ConfigInjectionToken, StrictStreamrClientConfig } from '../Config' import { HttpUtil } from '../HttpUtil' import { StreamStorageRegistry } from '../registry/StreamStorageRegistry' import { EthereumAddress, Logger, toEthereumAddress, wait } from '@streamr/utils' -import { GroupKeyStore } from '../encryption/GroupKeyStore' -import { SubscriberKeyExchange } from '../encryption/SubscriberKeyExchange' -import { StreamrClientEventEmitter } from '../events' import { DestroySignal } from '../DestroySignal' import { StreamRegistryCached } from '../registry/StreamRegistryCached' import { LoggerFactory } from '../utils/LoggerFactory' @@ -21,6 +18,7 @@ import { StreamrClientError } from '../StreamrClientError' import { collect } from '../utils/iterators' import { counting } from '../utils/GeneratorUtils' import { Message } from '../Message' +import { GroupKeyManager } from '../encryption/GroupKeyManager' const MIN_SEQUENCE_NUMBER_VALUE = 0 @@ -75,14 +73,11 @@ function isResendRange(options: any): options is T @scoped(Lifecycle.ContainerScoped) export class Resends { - - private streamStorageRegistry: StreamStorageRegistry - private storageNodeRegistry: StorageNodeRegistry - private streamRegistryCached: StreamRegistryCached - private httpUtil: HttpUtil - private readonly groupKeyStore: GroupKeyStore - private readonly subscriberKeyExchange: SubscriberKeyExchange - private readonly streamrClientEventEmitter: StreamrClientEventEmitter + private readonly streamStorageRegistry: StreamStorageRegistry + private readonly storageNodeRegistry: StorageNodeRegistry + private readonly streamRegistryCached: StreamRegistryCached + private readonly httpUtil: HttpUtil + private readonly groupKeyManager: GroupKeyManager private readonly destroySignal: DestroySignal private readonly config: StrictStreamrClientConfig private readonly loggerFactory: LoggerFactory @@ -93,9 +88,7 @@ export class Resends { @inject(delay(() => StorageNodeRegistry)) storageNodeRegistry: StorageNodeRegistry, @inject(delay(() => StreamRegistryCached)) streamRegistryCached: StreamRegistryCached, httpUtil: HttpUtil, - groupKeyStore: GroupKeyStore, - subscriberKeyExchange: SubscriberKeyExchange, - streamrClientEventEmitter: StreamrClientEventEmitter, + groupKeyManager: GroupKeyManager, destroySignal: DestroySignal, @inject(ConfigInjectionToken) config: StrictStreamrClientConfig, loggerFactory: LoggerFactory @@ -104,9 +97,7 @@ export class Resends { this.storageNodeRegistry = storageNodeRegistry this.streamRegistryCached = streamRegistryCached this.httpUtil = httpUtil - this.groupKeyStore = groupKeyStore - this.subscriberKeyExchange = subscriberKeyExchange - this.streamrClientEventEmitter = streamrClientEventEmitter + this.groupKeyManager = groupKeyManager this.destroySignal = destroySignal this.config = config this.loggerFactory = loggerFactory @@ -164,10 +155,8 @@ export class Resends { const messageStream = createSubscribePipeline({ streamPartId, resends: this, - groupKeyStore: this.groupKeyStore, - subscriberKeyExchange: this.subscriberKeyExchange, + groupKeyManager: this.groupKeyManager, streamRegistryCached: this.streamRegistryCached, - streamrClientEventEmitter: this.streamrClientEventEmitter, destroySignal: this.destroySignal, config: this.config, loggerFactory: this.loggerFactory diff --git a/packages/client/src/subscribe/Subscriber.ts b/packages/client/src/subscribe/Subscriber.ts index 5dd130a211..dcb9157d9e 100644 --- a/packages/client/src/subscribe/Subscriber.ts +++ b/packages/client/src/subscribe/Subscriber.ts @@ -6,26 +6,22 @@ import { StreamPartID } from '@streamr/protocol' import { StreamIDBuilder } from '../StreamIDBuilder' import { StreamDefinition } from '../types' import { Resends } from './Resends' -import { GroupKeyStore } from '../encryption/GroupKeyStore' -import { SubscriberKeyExchange } from '../encryption/SubscriberKeyExchange' import { NetworkNodeFacade } from '../NetworkNodeFacade' -import { StreamrClientEventEmitter } from '../events' import { DestroySignal } from '../DestroySignal' import { ConfigInjectionToken, StrictStreamrClientConfig } from '../Config' import { StreamRegistryCached } from '../registry/StreamRegistryCached' import { LoggerFactory } from '../utils/LoggerFactory' import { Logger } from '@streamr/utils' +import { GroupKeyManager } from '../encryption/GroupKeyManager' @scoped(Lifecycle.ContainerScoped) export class Subscriber { private readonly subSessions: Map = new Map() private readonly streamIdBuilder: StreamIDBuilder private readonly resends: Resends - private readonly groupKeyStore: GroupKeyStore - private readonly subscriberKeyExchange: SubscriberKeyExchange + private readonly groupKeyManager: GroupKeyManager private readonly streamRegistryCached: StreamRegistryCached private readonly node: NetworkNodeFacade - private readonly streamrClientEventEmitter: StreamrClientEventEmitter private readonly destroySignal: DestroySignal private readonly config: StrictStreamrClientConfig private readonly loggerFactory: LoggerFactory @@ -34,22 +30,18 @@ export class Subscriber { constructor( streamIdBuilder: StreamIDBuilder, resends: Resends, - groupKeyStore: GroupKeyStore, - subscriberKeyExchange: SubscriberKeyExchange, + groupKeyManager: GroupKeyManager, @inject(delay(() => StreamRegistryCached)) streamRegistryCached: StreamRegistryCached, node: NetworkNodeFacade, - streamrClientEventEmitter: StreamrClientEventEmitter, destroySignal: DestroySignal, @inject(ConfigInjectionToken) config: StrictStreamrClientConfig, @inject(LoggerFactory) loggerFactory: LoggerFactory, ) { this.streamIdBuilder = streamIdBuilder this.resends = resends - this.groupKeyStore = groupKeyStore - this.subscriberKeyExchange = subscriberKeyExchange + this.groupKeyManager = groupKeyManager this.streamRegistryCached = streamRegistryCached this.node = node - this.streamrClientEventEmitter = streamrClientEventEmitter this.destroySignal = destroySignal this.config = config this.loggerFactory = loggerFactory @@ -63,11 +55,9 @@ export class Subscriber { const subSession = new SubscriptionSession( streamPartId, this.resends, - this.groupKeyStore, - this.subscriberKeyExchange, + this.groupKeyManager, this.streamRegistryCached, this.node, - this.streamrClientEventEmitter, this.destroySignal, this.loggerFactory, this.config diff --git a/packages/client/src/subscribe/SubscriptionSession.ts b/packages/client/src/subscribe/SubscriptionSession.ts index a9ec13d4c4..45069ea173 100644 --- a/packages/client/src/subscribe/SubscriptionSession.ts +++ b/packages/client/src/subscribe/SubscriptionSession.ts @@ -10,13 +10,11 @@ import { Subscription } from './Subscription' import { createSubscribePipeline } from './subscribePipeline' import { NetworkNodeFacade, NetworkNodeStub } from '../NetworkNodeFacade' import { Resends } from './Resends' -import { GroupKeyStore } from '../encryption/GroupKeyStore' -import { SubscriberKeyExchange } from '../encryption/SubscriberKeyExchange' import { StreamRegistryCached } from '../registry/StreamRegistryCached' -import { StreamrClientEventEmitter } from '../events' import { DestroySignal } from '../DestroySignal' import { ConfigInjectionToken, StrictStreamrClientConfig } from '../Config' import { LoggerFactory } from '../utils/LoggerFactory' +import { GroupKeyManager } from '../encryption/GroupKeyManager' /** * Manages adding & removing subscriptions to node as needed. @@ -36,11 +34,9 @@ export class SubscriptionSession { constructor( streamPartId: StreamPartID, resends: Resends, - groupKeyStore: GroupKeyStore, - subscriberKeyExchange: SubscriberKeyExchange, + groupKeyManager: GroupKeyManager, streamRegistryCached: StreamRegistryCached, node: NetworkNodeFacade, - streamrClientEventEmitter: StreamrClientEventEmitter, destroySignal: DestroySignal, loggerFactory: LoggerFactory, @inject(ConfigInjectionToken) config: StrictStreamrClientConfig @@ -52,10 +48,8 @@ export class SubscriptionSession { this.pipeline = createSubscribePipeline({ streamPartId, resends, - groupKeyStore, - subscriberKeyExchange, + groupKeyManager, streamRegistryCached, - streamrClientEventEmitter, loggerFactory, destroySignal, config: config diff --git a/packages/client/src/subscribe/subscribePipeline.ts b/packages/client/src/subscribe/subscribePipeline.ts index cc1a7de9af..19704f4d9b 100644 --- a/packages/client/src/subscribe/subscribePipeline.ts +++ b/packages/client/src/subscribe/subscribePipeline.ts @@ -15,19 +15,15 @@ import { Resends } from './Resends' import { DestroySignal } from '../DestroySignal' import { StreamRegistryCached } from '../registry/StreamRegistryCached' import { MsgChainUtil } from './MsgChainUtil' -import { GroupKeyStore } from '../encryption/GroupKeyStore' -import { SubscriberKeyExchange } from '../encryption/SubscriberKeyExchange' -import { StreamrClientEventEmitter } from '../events' import { LoggerFactory } from '../utils/LoggerFactory' +import { GroupKeyManager } from '../encryption/GroupKeyManager' export interface SubscriptionPipelineOptions { streamPartId: StreamPartID loggerFactory: LoggerFactory resends: Resends - groupKeyStore: GroupKeyStore - subscriberKeyExchange: SubscriberKeyExchange + groupKeyManager: GroupKeyManager streamRegistryCached: StreamRegistryCached - streamrClientEventEmitter: StreamrClientEventEmitter destroySignal: DestroySignal config: StrictStreamrClientConfig } @@ -59,13 +55,10 @@ export const createSubscribePipeline = (opts: SubscriptionPipelineOptions): Mess } const decrypt = new Decrypt( - opts.groupKeyStore, - opts.subscriberKeyExchange, + opts.groupKeyManager, opts.streamRegistryCached, opts.destroySignal, - opts.loggerFactory, - opts.streamrClientEventEmitter, - opts.config, + opts.loggerFactory ) const messageStream = new MessageStream() diff --git a/packages/client/test/test-utils/utils.ts b/packages/client/test/test-utils/utils.ts index 689146674b..97719a975f 100644 --- a/packages/client/test/test-utils/utils.ts +++ b/packages/client/test/test-utils/utils.ts @@ -19,6 +19,11 @@ import { GroupKeyQueue } from '../../src/publish/GroupKeyQueue' import { StreamRegistryCached } from '../../src/registry/StreamRegistryCached' import { LoggerFactory } from '../../src/utils/LoggerFactory' import { waitForCondition } from '@streamr/utils' +import { GroupKeyManager } from '../../src/encryption/GroupKeyManager' +import { mock } from 'jest-mock-extended' +import { LitProtocolFacade } from '../../src/encryption/LitProtocolFacade' +import { SubscriberKeyExchange } from '../../src/encryption/SubscriberKeyExchange' +import { DestroySignal } from '../../src/DestroySignal' const logger = new Logger(module) @@ -163,8 +168,31 @@ export const createStreamRegistryCached = (opts: { } as any } +export const createGroupKeyManager = (groupKeyStore: GroupKeyStore = mock()): GroupKeyManager => { + return new GroupKeyManager( + groupKeyStore, + mock(), + mock(), + new StreamrClientEventEmitter(), + new DestroySignal(), + { + encryption: { + litProtocolEnabled: false, + litProtocolLogging: false + }, + decryption: { + maxKeyRequestsPerSecond: 10, + keyRequestTimeout: 50 + } + } + ) +} + export const createGroupKeyQueue = async (current?: GroupKey, next?: GroupKey): Promise => { - const queue = new GroupKeyQueue(undefined as any, { add: async () => {} } as any) + const queue = new GroupKeyQueue( + undefined as any, + createGroupKeyManager() + ) if (current !== undefined) { await queue.rekey(current) } diff --git a/packages/client/test/unit/Decrypt.test.ts b/packages/client/test/unit/Decrypt.test.ts index b69a788310..6d3ef3a30c 100644 --- a/packages/client/test/unit/Decrypt.test.ts +++ b/packages/client/test/unit/Decrypt.test.ts @@ -4,31 +4,19 @@ import { StreamPartIDUtils } from '@streamr/protocol' import { fastWallet } from '@streamr/test-utils' import { DestroySignal } from '../../src/DestroySignal' import { GroupKey } from '../../src/encryption/GroupKey' -import { StreamrClientEventEmitter } from '../../src/events' import { Decrypt } from '../../src/subscribe/Decrypt' -import { createMockMessage, mockLoggerFactory } from '../test-utils/utils' +import { createGroupKeyManager, createMockMessage, mockLoggerFactory } from '../test-utils/utils' describe('Decrypt', () => { it('group key not available: timeout while waiting', async () => { - const groupKeyStore = { - get: async () => undefined, - } - const keyExchange = { - requestGroupKey: async () => {} - } const decrypt = new Decrypt( - groupKeyStore as any, - keyExchange as any, + createGroupKeyManager(), { clearStream: jest.fn() } as any, new DestroySignal(), mockLoggerFactory(), - new StreamrClientEventEmitter(), - { - keyRequestTimeout: 50 - } as any ) const groupKey = GroupKey.generate() const msg = await createMockMessage({ diff --git a/packages/client/test/unit/GroupKeyManager.test.ts b/packages/client/test/unit/GroupKeyManager.test.ts new file mode 100644 index 0000000000..a5a244c85b --- /dev/null +++ b/packages/client/test/unit/GroupKeyManager.test.ts @@ -0,0 +1,152 @@ +import 'reflect-metadata' +import { GroupKeyManager } from '../../src/encryption/GroupKeyManager' +import { GroupKeyStore } from '../../src/encryption/GroupKeyStore' +import { mock, MockProxy } from 'jest-mock-extended' +import { LitProtocolFacade } from '../../src/encryption/LitProtocolFacade' +import { SubscriberKeyExchange } from '../../src/encryption/SubscriberKeyExchange' +import { StreamrClientEventEmitter } from '../../src/events' +import { DestroySignal } from '../../src/DestroySignal' +import { GroupKey } from '../../src/encryption/GroupKey' +import { toStreamID, toStreamPartID } from '@streamr/protocol' +import { randomEthereumAddress } from '@streamr/test-utils' + +describe('GroupKeyManager', () => { + let groupKeyStore: MockProxy + let litProtocolFacade: MockProxy + let subscriberKeyExchange: MockProxy + let eventEmitter: StreamrClientEventEmitter + let groupKeyManager: GroupKeyManager + + const groupKeyId = 'groupKeyId-123' + const streamId = toStreamID('test.eth/foobar') + const publisherId = randomEthereumAddress() + const groupKey = GroupKey.generate(groupKeyId) + + function createGroupKeyManager(litProtocolEnabled: boolean): GroupKeyManager { + return new GroupKeyManager( + groupKeyStore, + litProtocolFacade, + subscriberKeyExchange, + eventEmitter, + new DestroySignal(), + { + encryption: { + litProtocolEnabled, + litProtocolLogging: false + }, + decryption: { + maxKeyRequestsPerSecond: 10, + keyRequestTimeout: 100 + } + } + ) + } + + beforeEach(() => { + groupKeyStore = mock() + litProtocolFacade = mock() + subscriberKeyExchange = mock() + eventEmitter = new StreamrClientEventEmitter() + groupKeyManager = createGroupKeyManager(true) + }) + + describe('fetchKey', () => { + it('key present in (local) group key store', async () => { + groupKeyStore.get.mockResolvedValueOnce(groupKey) + + const key = await groupKeyManager.fetchKey(toStreamPartID(streamId, 0), groupKeyId, publisherId) + expect(key).toEqual(groupKey) + expect(groupKeyStore.get).toHaveBeenCalledWith(groupKeyId, streamId) + expect(groupKeyStore.get).toHaveBeenCalledTimes(1) + expect(litProtocolFacade.get).toHaveBeenCalledTimes(0) + expect(subscriberKeyExchange.requestGroupKey).toHaveBeenCalledTimes(0) + }) + + it('key present in lit protocol', async () => { + litProtocolFacade.get.mockResolvedValueOnce(groupKey) + + const key = await groupKeyManager.fetchKey(toStreamPartID(streamId, 0), groupKeyId, publisherId) + expect(key).toEqual(groupKey) + expect(groupKeyStore.get).toHaveBeenCalledTimes(1) + expect(litProtocolFacade.get).toHaveBeenCalledWith(streamId, groupKeyId) + expect(litProtocolFacade.get).toHaveBeenCalledTimes(1) + expect(subscriberKeyExchange.requestGroupKey).toHaveBeenCalledTimes(0) + }) + + it('key present in subscriber key exchange', async () => { + subscriberKeyExchange.requestGroupKey.mockImplementation(async () => { + setTimeout(() => eventEmitter.emit('addGroupKey', groupKey), 0) + }) + + const key = await groupKeyManager.fetchKey(toStreamPartID(streamId, 0), groupKeyId, publisherId) + expect(key).toEqual(groupKey) + expect(groupKeyStore.get).toHaveBeenCalledTimes(1) + expect(litProtocolFacade.get).toHaveBeenCalledTimes(1) + expect(subscriberKeyExchange.requestGroupKey).toHaveBeenCalledWith( + groupKeyId, + publisherId, + toStreamPartID(streamId, 0) + ) + expect(subscriberKeyExchange.requestGroupKey).toHaveBeenCalledTimes(1) + }) + + it('key not present anywhere (timeout)', async () => { + await expect(groupKeyManager.fetchKey(toStreamPartID(streamId, 0), groupKeyId, publisherId)) + .rejects + .toThrow('waitForEvent (timed out after 100 ms)') + expect(groupKeyStore.get).toHaveBeenCalledTimes(1) + expect(litProtocolFacade.get).toHaveBeenCalledTimes(1) + expect(subscriberKeyExchange.requestGroupKey).toHaveBeenCalledTimes(1) + }) + + it('skips lit protocol if lit protocol disabled in config', async () => { + groupKeyManager = createGroupKeyManager(false) + await expect(groupKeyManager.fetchKey(toStreamPartID(streamId, 0), groupKeyId, publisherId)) + .rejects + .toThrow('waitForEvent (timed out after 100 ms)') + expect(groupKeyStore.get).toHaveBeenCalledTimes(1) + expect(litProtocolFacade.get).toHaveBeenCalledTimes(0) + expect(subscriberKeyExchange.requestGroupKey).toHaveBeenCalledTimes(1) + }) + }) + + describe('storeKey', () => { + it('given pre-defined key only stores in (local) group key store and skips lit protocol', async () => { + const returnedGroupKey = await groupKeyManager.storeKey(groupKey, streamId) + expect(returnedGroupKey).toEqual(groupKey) + expect(groupKeyStore.add).toHaveBeenCalledWith(groupKey, streamId) + expect(litProtocolFacade.store).toHaveBeenCalledTimes(0) + }) + + describe('given no pre-defined key', () => { + it('lit-protocol online: fetches key from lit protocol and then stores in (local) group key as well', async () => { + litProtocolFacade.store.mockImplementationOnce(async (_streamId, symmetricKey) => { + return new GroupKey('foobarId', Buffer.from(symmetricKey)) + }) + + const returnedGroupKey = await groupKeyManager.storeKey(undefined, streamId) + expect(returnedGroupKey.id).toEqual('foobarId') + expect(groupKeyStore.add).toHaveBeenCalledWith(returnedGroupKey, streamId) + expect(litProtocolFacade.store).toHaveBeenCalledWith(streamId, returnedGroupKey.data) + + }) + + it('lit-protocol offline: generates new key and stores only in (local) group key store', async () => { + const returnedGroupKey = await groupKeyManager.storeKey(undefined, streamId) + expect(groupKeyStore.add).toHaveBeenCalledWith(returnedGroupKey, streamId) + expect(litProtocolFacade.store).toHaveBeenCalledWith(streamId, returnedGroupKey.data) + }) + + it('lit-protocol disabled: does not even attempt to store key in lit protocol', async () => { + groupKeyManager = createGroupKeyManager(false) + await groupKeyManager.storeKey(undefined, streamId) + expect(litProtocolFacade.store).toHaveBeenCalledTimes(0) + }) + }) + }) + + it('addKeyToLocalStore delegates to groupKeyStore#add', async () => { + await groupKeyManager.addKeyToLocalStore(groupKey, streamId) + expect(groupKeyStore.add).toHaveBeenCalledWith(groupKey, streamId) + }) +}) diff --git a/packages/client/test/unit/GroupKeyQueue.test.ts b/packages/client/test/unit/GroupKeyQueue.test.ts index b9ceafd214..a5fa18ab6f 100644 --- a/packages/client/test/unit/GroupKeyQueue.test.ts +++ b/packages/client/test/unit/GroupKeyQueue.test.ts @@ -1,27 +1,32 @@ +import 'reflect-metadata' + import { toStreamID } from '@streamr/protocol' import { GroupKey } from '../../src/encryption/GroupKey' -import { GroupKeyStore } from '../../src/encryption/GroupKeyStore' import { GroupKeyQueue } from '../../src/publish/GroupKeyQueue' +import { mock, MockProxy } from 'jest-mock-extended' +import { GroupKeyManager } from '../../src/encryption/GroupKeyManager' +import { GroupKeyStore } from '../../src/encryption/GroupKeyStore' +import { createGroupKeyManager } from '../test-utils/utils' const streamId = toStreamID('mock-stream') describe('GroupKeyQueue', () => { + let groupKeyStore: MockProxy let queue: GroupKeyQueue - const addToStore = jest.fn().mockResolvedValue(undefined) + let groupKeyManager: GroupKeyManager beforeEach(() => { - const store: Partial = { - add: addToStore - } - queue = new GroupKeyQueue(streamId, store as any) + groupKeyStore = mock() + groupKeyManager = createGroupKeyManager(groupKeyStore) + queue = new GroupKeyQueue(streamId, groupKeyManager) }) it('can rotate and use', async () => { const groupKey = GroupKey.generate() await queue.rotate(groupKey) - expect(addToStore).toBeCalledTimes(1) - expect(addToStore).toBeCalledWith(groupKey, streamId) + expect(groupKeyStore.add).toBeCalledTimes(1) + expect(groupKeyStore.add).toBeCalledWith(groupKey, streamId) expect(await queue.useGroupKey()).toEqual({ current: groupKey }) expect(await queue.useGroupKey()).toEqual({ current: groupKey }) const groupKey2 = GroupKey.generate() diff --git a/packages/client/test/unit/Publisher.test.ts b/packages/client/test/unit/Publisher.test.ts index 16e3c88547..9895f0bf46 100644 --- a/packages/client/test/unit/Publisher.test.ts +++ b/packages/client/test/unit/Publisher.test.ts @@ -16,7 +16,7 @@ describe('Publisher', () => { authentication, streamRegistry as any, undefined as any, - undefined as any + undefined as any, ) const streamId = await streamIdBuilder.toStreamID('/test') await expect(async () => { diff --git a/packages/client/test/unit/StreamrClient.test.ts b/packages/client/test/unit/StreamrClient.test.ts index 2d9ab7d55a..65be13647f 100644 --- a/packages/client/test/unit/StreamrClient.test.ts +++ b/packages/client/test/unit/StreamrClient.test.ts @@ -53,5 +53,23 @@ describe('StreamrClient', () => { distributionMethod: 'rotate' })).rejects.toThrow('streamId') }) + + it('updateEncryptionKey: throws error message if lit protocol enabled and passing explicit key', async () => { + const client = createClient({ + encryption: { + litProtocolEnabled: true + } + }) + await expect(() => { + return client.updateEncryptionKey({ + streamId: 'foobar.eth/foobar', + distributionMethod: 'rotate', + key: GroupKey.generate() + }) + }).rejects.toThrowStreamError({ + message: 'cannot pass "key" when Lit Protocol is enabled', + code: 'UNSUPPORTED_OPERATION' + }) + }) }) }) diff --git a/packages/client/test/unit/subscribePipeline.test.ts b/packages/client/test/unit/subscribePipeline.test.ts index c9950e584c..14e14fcdd7 100644 --- a/packages/client/test/unit/subscribePipeline.test.ts +++ b/packages/client/test/unit/subscribePipeline.test.ts @@ -8,13 +8,18 @@ import { Stream } from '../../src/Stream' import { createPrivateKeyAuthentication } from '../../src/Authentication' import { DestroySignal } from '../../src/DestroySignal' import { DecryptError, EncryptionUtil } from '../../src/encryption/EncryptionUtil' -import { StreamrClientEventEmitter } from '../../src/events' import { createSignedMessage } from '../../src/publish/MessageFactory' import { createSubscribePipeline } from "../../src/subscribe/subscribePipeline" import { collect } from '../../src/utils/iterators' import { mockLoggerFactory } from '../test-utils/utils' import { GroupKey } from './../../src/encryption/GroupKey' import { MessageStream } from './../../src/subscribe/MessageStream' +import { mock } from 'jest-mock-extended' +import { GroupKeyManager } from '../../src/encryption/GroupKeyManager' +import { LitProtocolFacade } from '../../src/encryption/LitProtocolFacade' +import { SubscriberKeyExchange } from '../../src/encryption/SubscriberKeyExchange' +import { StreamrClientEventEmitter } from '../../src/events' +import { StrictStreamrClientConfig } from '../../src/Config' const CONTENT = { foo: 'bar' @@ -65,28 +70,39 @@ describe('subscribePipeline', () => { undefined as any, undefined as any ) + const groupKeyStore = { + get: async () => undefined + } as any + const destroySignal = new DestroySignal() + const config: Pick = { + decryption: { + keyRequestTimeout: 50, + maxKeyRequestsPerSecond: 0 + }, + encryption: { + litProtocolEnabled: false, + litProtocolLogging: false + } + } pipeline = createSubscribePipeline({ streamPartId, loggerFactory: mockLoggerFactory(), resends: undefined as any, - groupKeyStore: { - get: async () => undefined - } as any, - subscriberKeyExchange: { - requestGroupKey: async () => {} - } as any, + groupKeyManager: new GroupKeyManager( + groupKeyStore, + mock(), + mock(), + new StreamrClientEventEmitter(), + destroySignal, + config + ), streamRegistryCached: { getStream: async () => stream, isStreamPublisher: async () => true, clearStream: () => {} } as any, - streamrClientEventEmitter: new StreamrClientEventEmitter(), - destroySignal: new DestroySignal(), - config: { - decryption: { - keyRequestTimeout: 50 - } as any - } as any + destroySignal, + config: config as any }) }) diff --git a/packages/utils/src/exports.ts b/packages/utils/src/exports.ts index 3c80d78ee5..0ca064be73 100644 --- a/packages/utils/src/exports.ts +++ b/packages/utils/src/exports.ts @@ -26,6 +26,7 @@ import { waitForEvent } from './waitForEvent' import { TimeoutError, withTimeout } from './withTimeout' import { composeAbortSignals } from './composeAbortSignals' import { waitForCondition } from './waitForCondition' +import { withRateLimit } from './withRateLimit' export { BrandedString, @@ -52,6 +53,7 @@ export { wait, waitForCondition, waitForEvent, + withRateLimit, withTimeout, } diff --git a/packages/utils/src/withRateLimit.ts b/packages/utils/src/withRateLimit.ts new file mode 100644 index 0000000000..06458aeac6 --- /dev/null +++ b/packages/utils/src/withRateLimit.ts @@ -0,0 +1,13 @@ +/** + * Wraps a rate limiter around a function that ensures the function is invoked max once per `intervalInMs`. + */ +export function withRateLimit(fn: () => Promise, intervalInMs: number): () => Promise { + let lastInvocationTimestamp = 0 + return async () => { + const now = Date.now() + if (now - lastInvocationTimestamp >= intervalInMs) { + lastInvocationTimestamp = now + await fn() + } + } +} diff --git a/packages/utils/test/withRateLimit.test.ts b/packages/utils/test/withRateLimit.test.ts new file mode 100644 index 0000000000..394941b157 --- /dev/null +++ b/packages/utils/test/withRateLimit.test.ts @@ -0,0 +1,39 @@ +import { withRateLimit } from '../src/withRateLimit' +import { wait } from '../src/wait' + +describe('withRateLimit', () => { + let fn: jest.Mock, []> + + beforeEach(() => { + fn = jest.fn() + }) + + it('first invocation always goes thru', async () => { + const rateLimitFn = withRateLimit(fn, 1000) + await rateLimitFn() + expect(fn).toHaveBeenCalledTimes(1) + }) + + it('only first invocation within interval goes thru', async () => { + const rateLimitFn = withRateLimit(fn, 1000) + await rateLimitFn() + await rateLimitFn() + await rateLimitFn() + expect(fn).toHaveBeenCalledTimes(1) + }) + + it('invocations spanning multiple intervals', async () => { + const JITTER_FACTOR = 10 + const INTERVAL = 100 + const rateLimitFn = withRateLimit(fn, INTERVAL) + await rateLimitFn() // +1 + await rateLimitFn() + await wait(INTERVAL + JITTER_FACTOR) + await rateLimitFn() // +1 + await rateLimitFn() + await rateLimitFn() + await wait(INTERVAL + JITTER_FACTOR) + await rateLimitFn() // +1 + expect(fn).toHaveBeenCalledTimes(3) + }) +})