diff --git a/package-lock.json b/package-lock.json index a5f598fc1..eb8f9dab0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,26 +1,27 @@ { "name": "terra-station", + "version": "7.3.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "terra-station", + "version": "7.3.0", "license": "MIT", "dependencies": { + "@amplitude/analytics-browser": "^2.0.0", "@anchor-protocol/anchor.js": "^5.1.1", "@ledgerhq/hw-transport-web-ble": "^6.27.1", "@mui/icons-material": "^5.8.0", "@mui/material": "^5.9.1", "@sentry/react": "^7.53.1", - "@terra-money/feather.js": "^1.0.6", - "@terra-money/ledger-station-js": "^1.3.7", + "@terra-money/feather.js": "^1.0.8", + "@terra-money/ledger-station-js": "^1.3.8", "@terra-money/log-finder-ruleset": "^3.0.0", "@terra-money/terra-utils": "^1.0.9", "@terra-money/terra.js": "^3.1.9", "@terra-money/terra.proto": "^2.0.0", - "@terra-money/use-wallet": "4.0.0-beta.3", - "@terra-money/wallet-controller": "4.0.0-beta.3", - "@terra-money/wallet-provider": "4.0.0-beta.3", + "@terra-money/wallet-kit": "^1.0.4", "@tippyjs/react": "^4.2.6", "axios": "^0.27.2", "bech32": "^2.0.0", @@ -81,6 +82,69 @@ "typescript": "^4.6.4" } }, + "node_modules/@amplitude/analytics-browser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@amplitude/analytics-browser/-/analytics-browser-2.0.0.tgz", + "integrity": "sha512-SIOxjSdefm7RVuwzkuTW7uMge4AKLOqcE1oJYQFF25jkmAiFfXnbrqlGgBflgqLRvAKudrwXn+NFfKqBfXfozw==", + "dependencies": { + "@amplitude/analytics-client-common": "^2.0.0", + "@amplitude/analytics-core": "^2.0.0", + "@amplitude/analytics-types": "^2.0.0", + "@amplitude/plugin-page-view-tracking-browser": "^2.0.0", + "@amplitude/plugin-web-attribution-browser": "^2.0.0", + "tslib": "^2.4.1" + } + }, + "node_modules/@amplitude/analytics-client-common": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@amplitude/analytics-client-common/-/analytics-client-common-2.0.0.tgz", + "integrity": "sha512-4+fSeElUzOJK0TjWYem/jWnKCQVBuACUaz/maaXnzQBSeeqXDLO8PsqdAZYr4mQ/zbAxtt2hJpaewXQBviNoJA==", + "dependencies": { + "@amplitude/analytics-connector": "^1.4.8", + "@amplitude/analytics-core": "^2.0.0", + "@amplitude/analytics-types": "^2.0.0", + "tslib": "^2.4.1" + } + }, + "node_modules/@amplitude/analytics-connector": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@amplitude/analytics-connector/-/analytics-connector-1.4.8.tgz", + "integrity": "sha512-dFW7c7Wb6Ng7vbmzwbaXZSpqfBx37ukamJV9ErFYYS8vGZK/Hkbt3M7fZHBI4WFU6CCwakr2ZXPme11uGPYWkQ==" + }, + "node_modules/@amplitude/analytics-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@amplitude/analytics-core/-/analytics-core-2.0.0.tgz", + "integrity": "sha512-aEssg0ZUU+Xe0g17mz1q24S+Ec3Q8I+RHIhQcTB/Quko4iKAspTrtI+lSCYh1SvTgSSfNTR3TuRR/QYwGjmdCQ==", + "dependencies": { + "@amplitude/analytics-types": "^2.0.0", + "tslib": "^2.4.1" + } + }, + "node_modules/@amplitude/analytics-types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@amplitude/analytics-types/-/analytics-types-2.0.0.tgz", + "integrity": "sha512-YHFAHDGCoS+exBqdlhivfdomzL88msj++krObsVsBkLqlzXR+3x3lXVKQeCEEWG5GX7doB9KZPf70i8y/eyERQ==" + }, + "node_modules/@amplitude/plugin-page-view-tracking-browser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@amplitude/plugin-page-view-tracking-browser/-/plugin-page-view-tracking-browser-2.0.0.tgz", + "integrity": "sha512-G2bAiavBvNbFjUDViGJyagpyCwSzir/TXDA3LsJbOLOkqEeO95ZIZGU7mM7eqOAB7Nuir5WsayuA0+Oau8DzMQ==", + "dependencies": { + "@amplitude/analytics-client-common": "^2.0.0", + "@amplitude/analytics-types": "^2.0.0", + "tslib": "^2.4.1" + } + }, + "node_modules/@amplitude/plugin-web-attribution-browser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@amplitude/plugin-web-attribution-browser/-/plugin-web-attribution-browser-2.0.0.tgz", + "integrity": "sha512-Y+zo2aTF2RSC+ATBdRff5zlgScJ5MWzqL0rzi696EP5zb4b7YIlEkG2V9XZlOGLQBYskF6NoBKMsoP0W2cROQw==", + "dependencies": { + "@amplitude/analytics-client-common": "^2.0.0", + "@amplitude/analytics-types": "^2.0.0", + "tslib": "^2.4.1" + } + }, "node_modules/@ampproject/remapping": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", @@ -4093,9 +4157,9 @@ } }, "node_modules/@terra-money/feather.js": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@terra-money/feather.js/-/feather.js-1.0.6.tgz", - "integrity": "sha512-X1jldkXOAgtuFJZNQM7YXfMgGt/Cdy4qMB86v1YprjjqxAe468gVyzYDfrMk9O3QK3DkyZw0iO4m3+a1vmcZlw==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@terra-money/feather.js/-/feather.js-1.0.8.tgz", + "integrity": "sha512-quVPfIzzY1e6nLaw6CEDVz7pe0F5BNzu3Gs7nU+ss+wBLVYgCcULwUMwOFYTwD2FHUaRmBXSCqxCJDndiNksmg==", "dependencies": { "@terra-money/legacy.proto": "npm:@terra-money/terra.proto@^0.1.7", "@terra-money/terra.proto": "3.0.5", @@ -4128,19 +4192,19 @@ } }, "node_modules/@terra-money/ledger-station-js": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/@terra-money/ledger-station-js/-/ledger-station-js-1.3.7.tgz", - "integrity": "sha512-bzojg7MyfLtNbxQA+n9QlFzqP+178YGao43aestTPmfPrMcbN3LLFwGKIcDmqr/f/Ol2OMox94tXG1E5zoGAQQ==", + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/@terra-money/ledger-station-js/-/ledger-station-js-1.3.8.tgz", + "integrity": "sha512-nhLoYPBqZB5qkbQx4FjtzqNaWNT+eDpq5xvqhqtk/7uF0KUMuZNjgDmizHY54zLOvP+y4Mw+HcVai6ZsHfWNXA==", "dependencies": { "@ledgerhq/hw-transport": "^6.20.0", "@ledgerhq/hw-transport-node-hid": "^6.20.0", "@ledgerhq/hw-transport-webhid": "^6.20.0", "@ledgerhq/hw-transport-webusb": "^6.20.0", - "@terra-money/feather.js": "^1.0.0-beta.2", - "bech32": "^2.0.0", "ripemd160": "^2.0.2" }, "peerDependencies": { + "@terra-money/feather.js": "^1.0.8", + "bech32": "^2.0.0", "secp256k1": "^4.0.3" } }, @@ -4171,6 +4235,20 @@ "@terra-money/terra.js": "^3" } }, + "node_modules/@terra-money/station-wallet": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@terra-money/station-wallet/-/station-wallet-1.0.4.tgz", + "integrity": "sha512-faJDWox3iauL2Spb09OyH0awyGikwQfGU+55mKDNgkxe1CzGrsbILsLah3IoGoALRGGPnXNFVUW5r0mNVcTUOQ==", + "dependencies": { + "@terra-money/wallet-interface": "^1.0.4" + }, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "@terra-money/feather.js": "^1.0.4" + } + }, "node_modules/@terra-money/terra-utils": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@terra-money/terra-utils/-/terra-utils-1.0.9.tgz", @@ -4235,99 +4313,42 @@ "protobufjs": "~6.11.2" } }, - "node_modules/@terra-money/use-wallet": { - "version": "4.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@terra-money/use-wallet/-/use-wallet-4.0.0-beta.3.tgz", - "integrity": "sha512-jiFd1AZmkXCDe6QYAwErm+ZFkhA6uZI9RjrQP6e5gX2t8uZCTViMR36eQQ5k9e/Nt2IOR9HAOL5sCHDNXTbUdw==", - "dependencies": { - "@terra-money/feather.js": "^1.0.0-beta.4", - "@terra-money/wallet-types": "^4.0.0-beta.3" - }, + "node_modules/@terra-money/wallet-interface": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@terra-money/wallet-interface/-/wallet-interface-1.0.4.tgz", + "integrity": "sha512-xlWFGt0qHCUwQXLxS2XjE7p5xWskq68XfmJ+3Rh5XR7tJpj/GII2397PwHkK2HfP/FDb39xCu704txjz26F7Eg==", "engines": { "node": ">=16" }, "peerDependencies": { - "react": ">=17.0.0" - } - }, - "node_modules/@terra-money/wallet-controller": { - "version": "4.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@terra-money/wallet-controller/-/wallet-controller-4.0.0-beta.3.tgz", - "integrity": "sha512-htkhjxLFAN6H662VwTZrCgWgd1tz30SM6z64f4TluEkYUjpdgMuaPMvGKZmTWHqBAmv5Kkp3OWpCRKGBqSByzw==", - "dependencies": { - "@terra-money/feather.js": "^1.0.0-beta.4", - "@terra-money/wallet-types": "^4.0.0-beta.3", - "@terra-money/web-extension-interface": "^4.0.0-beta.3", - "@walletconnect/core": "^1.6.6", - "@walletconnect/iso-crypto": "^1.6.6", - "@walletconnect/types": "^1.6.6", - "@walletconnect/utils": "^1.6.6", - "bowser": "^2.11.0", - "fast-deep-equal": "^3.1.3", - "jscrypto": "^1.0.0", - "mobile-detect": "^1.4.5", - "qrcode": "^1.5.0", - "rxjs": "^7.0.0", - "secp256k1": "^4.0.0", - "ws": "^7.5.5" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@terra-money/wallet-controller/node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dependencies": { - "tslib": "^2.1.0" + "@terra-money/feather.js": "^1.0.4" } }, - "node_modules/@terra-money/wallet-provider": { - "version": "4.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@terra-money/wallet-provider/-/wallet-provider-4.0.0-beta.3.tgz", - "integrity": "sha512-b3E7gkQ0sqIgkFl/sAc9xvv8knNMlnQJ+qp3TvzgRC3/SceCPNGJkEEuZ1yoTcXwjlHDan30VA/ZNbYEw7E7tg==", + "node_modules/@terra-money/wallet-kit": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@terra-money/wallet-kit/-/wallet-kit-1.0.4.tgz", + "integrity": "sha512-mM+j658QNG85Pn4fCHf+kebL/MT+ne3O3KnOGAlHyD7F+9h/+yrckeCkYj0o2FyHPLl68PMrnyKHlsb9E9nEHA==", "dependencies": { - "@terra-money/use-wallet": "^4.0.0-beta.3", - "@terra-money/wallet-controller": "^4.0.0-beta.3", - "@terra-money/web-extension-interface": "^4.0.0-beta.3" + "@terra-money/station-wallet": "^1.0.4", + "@terra-money/wallet-interface": "^1.0.4", + "axios": "^1.4.0" }, "engines": { "node": ">=16" }, "peerDependencies": { + "@terra-money/feather.js": "^1.0.4", "react": ">=17.0.0" } }, - "node_modules/@terra-money/wallet-types": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@terra-money/wallet-types/-/wallet-types-4.0.0.tgz", - "integrity": "sha512-n3EKcp2QpE/XCXNkzI9jS4RcVo4CYCaSn1I7taI/4qGkRsuZcj119Od2TyEFy8c3LdnKfRCleB0NLAXsQtYc6w==", - "dependencies": { - "@terra-money/feather.js": "^1.0.0-beta.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@terra-money/web-extension-interface": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@terra-money/web-extension-interface/-/web-extension-interface-4.0.0.tgz", - "integrity": "sha512-r2tZRAKp7bxST0qMCLRb3hCDL/XCHAxEzu3uBi2O8Yvc9hR2MaFzi/PCTYH5qZH3/mR08iHVwm8SE/I2RNbHoA==", - "dependencies": { - "@terra-money/feather.js": "^1.0.0-beta.4", - "rxjs": "^7.0.0" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/@terra-money/web-extension-interface/node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "node_modules/@terra-money/wallet-kit/node_modules/axios": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz", + "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==", "dependencies": { - "tslib": "^2.1.0" + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" } }, "node_modules/@tippyjs/react": { @@ -4958,197 +4979,6 @@ "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/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/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/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/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-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.7", - "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.7.tgz", - "integrity": "sha512-zJziApzUF/Il4VcwabnaU+0yo1QI4eUkYX99zmCVTHJvZOf2l0zjADf/OpKqWyeNFC3Io56Z/8uJHVtcNVvyFA==", - "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/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/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/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/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/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/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/@webassemblyjs/ast": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", @@ -5417,11 +5247,6 @@ "node": ">=8.9" } }, - "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/agent-base": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", @@ -6661,11 +6486,6 @@ "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", "dev": true }, - "node_modules/bowser": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", - "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" - }, "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -7418,6 +7238,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -7428,6 +7249,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "dependencies": { "color-convert": "^2.0.1" }, @@ -7442,6 +7264,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "dependencies": { "color-name": "~1.1.4" }, @@ -7452,17 +7275,20 @@ "node_modules/cliui/node_modules/color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/cliui/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, "node_modules/cliui/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, "engines": { "node": ">=8" } @@ -7471,6 +7297,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -7484,6 +7311,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -7495,6 +7323,7 @@ "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -8611,6 +8440,7 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -8629,6 +8459,7 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", + "dev": true, "engines": { "node": ">=0.10" } @@ -8968,11 +8799,6 @@ "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-libc": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", @@ -9050,11 +8876,6 @@ "randombytes": "^2.0.0" } }, - "node_modules/dijkstrajs": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz", - "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==" - }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -9381,11 +9202,6 @@ "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", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", @@ -11114,7 +10930,8 @@ "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true }, "node_modules/fast-equals": { "version": "2.0.4", @@ -11347,6 +11164,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -11872,6 +11690,7 @@ "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, "engines": { "node": "6.* || 8.* || >= 10.*" } @@ -13506,7 +13325,8 @@ "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true }, "node_modules/is-weakref": { "version": "1.0.2", @@ -16238,11 +16058,6 @@ "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==" }, - "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/killable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", @@ -16548,6 +16363,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, "dependencies": { "p-locate": "^4.1.0" }, @@ -17256,11 +17072,6 @@ "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" }, - "node_modules/mobile-detect": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/mobile-detect/-/mobile-detect-1.4.5.tgz", - "integrity": "sha512-yc0LhH6tItlvfLBugVUEtgawwFU2sIe+cSdmRJJCTMZ5GEJyLxNyC/NIOAOGk67Fa8GNpOttO3Xz/1bHpXFD/g==" - }, "node_modules/move-concurrently": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", @@ -18120,6 +17931,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, "dependencies": { "p-try": "^2.0.0" }, @@ -18134,6 +17946,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, "dependencies": { "p-limit": "^2.2.0" }, @@ -18172,6 +17985,7 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, "engines": { "node": ">=6" } @@ -18326,6 +18140,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, "engines": { "node": ">=8" } @@ -18579,14 +18394,6 @@ "node": ">=4" } }, - "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/pnp-webpack-plugin": { "version": "1.6.4", "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", @@ -20157,6 +19964,11 @@ "node": ">= 0.10" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "node_modules/prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", @@ -20232,23 +20044,6 @@ "teleport": ">=0.2.0" } }, - "node_modules/qrcode": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.3.tgz", - "integrity": "sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==", - "dependencies": { - "dijkstrajs": "^1.0.1", - "encode-utf8": "^1.0.3", - "pngjs": "^5.0.0", - "yargs": "^15.3.1" - }, - "bin": { - "qrcode": "bin/qrcode" - }, - "engines": { - "node": ">=10.13.0" - } - }, "node_modules/qrcode.react": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/qrcode.react/-/qrcode.react-3.0.2.tgz", @@ -20271,22 +20066,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "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/querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", @@ -21373,6 +21152,7 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -21389,7 +21169,8 @@ "node_modules/require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true }, "node_modules/requires-port": { "version": "1.0.0", @@ -23243,14 +23024,6 @@ "wbuf": "^1.7.3" } }, - "node_modules/split-on-first": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", - "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==", - "engines": { - "node": ">=6" - } - }, "node_modules/split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", @@ -23518,14 +23291,6 @@ "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", "dev": true }, - "node_modules/strict-uri-encode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", - "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==", - "engines": { - "node": ">=4" - } - }, "node_modules/string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -24771,9 +24536,9 @@ } }, "node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", + "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==" }, "node_modules/tsutils": { "version": "3.21.0", @@ -24875,6 +24640,7 @@ "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==", + "dev": true, "dependencies": { "is-typedarray": "^1.0.0" } @@ -26944,7 +26710,8 @@ "node_modules/which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true }, "node_modules/wide-align": { "version": "1.1.5", @@ -27431,7 +27198,8 @@ "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==" + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true }, "node_modules/yallist": { "version": "4.0.0", @@ -27451,6 +27219,7 @@ "version": "15.4.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, "dependencies": { "cliui": "^6.0.0", "decamelize": "^1.2.0", @@ -27472,6 +27241,7 @@ "version": "18.1.3", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, "dependencies": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" @@ -27484,6 +27254,7 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, "engines": { "node": ">=6" } @@ -27491,12 +27262,14 @@ "node_modules/yargs/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, "node_modules/yargs/node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, "engines": { "node": ">=8" } @@ -27505,6 +27278,7 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -27518,6 +27292,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, "dependencies": { "ansi-regex": "^5.0.1" }, @@ -27539,6 +27314,69 @@ } }, "dependencies": { + "@amplitude/analytics-browser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@amplitude/analytics-browser/-/analytics-browser-2.0.0.tgz", + "integrity": "sha512-SIOxjSdefm7RVuwzkuTW7uMge4AKLOqcE1oJYQFF25jkmAiFfXnbrqlGgBflgqLRvAKudrwXn+NFfKqBfXfozw==", + "requires": { + "@amplitude/analytics-client-common": "^2.0.0", + "@amplitude/analytics-core": "^2.0.0", + "@amplitude/analytics-types": "^2.0.0", + "@amplitude/plugin-page-view-tracking-browser": "^2.0.0", + "@amplitude/plugin-web-attribution-browser": "^2.0.0", + "tslib": "^2.4.1" + } + }, + "@amplitude/analytics-client-common": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@amplitude/analytics-client-common/-/analytics-client-common-2.0.0.tgz", + "integrity": "sha512-4+fSeElUzOJK0TjWYem/jWnKCQVBuACUaz/maaXnzQBSeeqXDLO8PsqdAZYr4mQ/zbAxtt2hJpaewXQBviNoJA==", + "requires": { + "@amplitude/analytics-connector": "^1.4.8", + "@amplitude/analytics-core": "^2.0.0", + "@amplitude/analytics-types": "^2.0.0", + "tslib": "^2.4.1" + } + }, + "@amplitude/analytics-connector": { + "version": "1.4.8", + "resolved": "https://registry.npmjs.org/@amplitude/analytics-connector/-/analytics-connector-1.4.8.tgz", + "integrity": "sha512-dFW7c7Wb6Ng7vbmzwbaXZSpqfBx37ukamJV9ErFYYS8vGZK/Hkbt3M7fZHBI4WFU6CCwakr2ZXPme11uGPYWkQ==" + }, + "@amplitude/analytics-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@amplitude/analytics-core/-/analytics-core-2.0.0.tgz", + "integrity": "sha512-aEssg0ZUU+Xe0g17mz1q24S+Ec3Q8I+RHIhQcTB/Quko4iKAspTrtI+lSCYh1SvTgSSfNTR3TuRR/QYwGjmdCQ==", + "requires": { + "@amplitude/analytics-types": "^2.0.0", + "tslib": "^2.4.1" + } + }, + "@amplitude/analytics-types": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@amplitude/analytics-types/-/analytics-types-2.0.0.tgz", + "integrity": "sha512-YHFAHDGCoS+exBqdlhivfdomzL88msj++krObsVsBkLqlzXR+3x3lXVKQeCEEWG5GX7doB9KZPf70i8y/eyERQ==" + }, + "@amplitude/plugin-page-view-tracking-browser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@amplitude/plugin-page-view-tracking-browser/-/plugin-page-view-tracking-browser-2.0.0.tgz", + "integrity": "sha512-G2bAiavBvNbFjUDViGJyagpyCwSzir/TXDA3LsJbOLOkqEeO95ZIZGU7mM7eqOAB7Nuir5WsayuA0+Oau8DzMQ==", + "requires": { + "@amplitude/analytics-client-common": "^2.0.0", + "@amplitude/analytics-types": "^2.0.0", + "tslib": "^2.4.1" + } + }, + "@amplitude/plugin-web-attribution-browser": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@amplitude/plugin-web-attribution-browser/-/plugin-web-attribution-browser-2.0.0.tgz", + "integrity": "sha512-Y+zo2aTF2RSC+ATBdRff5zlgScJ5MWzqL0rzi696EP5zb4b7YIlEkG2V9XZlOGLQBYskF6NoBKMsoP0W2cROQw==", + "requires": { + "@amplitude/analytics-client-common": "^2.0.0", + "@amplitude/analytics-types": "^2.0.0", + "tslib": "^2.4.1" + } + }, "@ampproject/remapping": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", @@ -30440,9 +30278,9 @@ } }, "@terra-money/feather.js": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/@terra-money/feather.js/-/feather.js-1.0.6.tgz", - "integrity": "sha512-X1jldkXOAgtuFJZNQM7YXfMgGt/Cdy4qMB86v1YprjjqxAe468gVyzYDfrMk9O3QK3DkyZw0iO4m3+a1vmcZlw==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@terra-money/feather.js/-/feather.js-1.0.8.tgz", + "integrity": "sha512-quVPfIzzY1e6nLaw6CEDVz7pe0F5BNzu3Gs7nU+ss+wBLVYgCcULwUMwOFYTwD2FHUaRmBXSCqxCJDndiNksmg==", "requires": { "@terra-money/legacy.proto": "npm:@terra-money/terra.proto@^0.1.7", "@terra-money/terra.proto": "3.0.5", @@ -30474,16 +30312,14 @@ } }, "@terra-money/ledger-station-js": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/@terra-money/ledger-station-js/-/ledger-station-js-1.3.7.tgz", - "integrity": "sha512-bzojg7MyfLtNbxQA+n9QlFzqP+178YGao43aestTPmfPrMcbN3LLFwGKIcDmqr/f/Ol2OMox94tXG1E5zoGAQQ==", + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/@terra-money/ledger-station-js/-/ledger-station-js-1.3.8.tgz", + "integrity": "sha512-nhLoYPBqZB5qkbQx4FjtzqNaWNT+eDpq5xvqhqtk/7uF0KUMuZNjgDmizHY54zLOvP+y4Mw+HcVai6ZsHfWNXA==", "requires": { "@ledgerhq/hw-transport": "^6.20.0", "@ledgerhq/hw-transport-node-hid": "^6.20.0", "@ledgerhq/hw-transport-webhid": "^6.20.0", "@ledgerhq/hw-transport-webusb": "^6.20.0", - "@terra-money/feather.js": "^1.0.0-beta.2", - "bech32": "^2.0.0", "ripemd160": "^2.0.2" } }, @@ -30510,6 +30346,14 @@ "@terra-money/log-finder": "^1.1.6" } }, + "@terra-money/station-wallet": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@terra-money/station-wallet/-/station-wallet-1.0.4.tgz", + "integrity": "sha512-faJDWox3iauL2Spb09OyH0awyGikwQfGU+55mKDNgkxe1CzGrsbILsLah3IoGoALRGGPnXNFVUW5r0mNVcTUOQ==", + "requires": { + "@terra-money/wallet-interface": "^1.0.4" + } + }, "@terra-money/terra-utils": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@terra-money/terra-utils/-/terra-utils-1.0.9.tgz", @@ -30570,80 +30414,30 @@ "protobufjs": "~6.11.2" } }, - "@terra-money/use-wallet": { - "version": "4.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@terra-money/use-wallet/-/use-wallet-4.0.0-beta.3.tgz", - "integrity": "sha512-jiFd1AZmkXCDe6QYAwErm+ZFkhA6uZI9RjrQP6e5gX2t8uZCTViMR36eQQ5k9e/Nt2IOR9HAOL5sCHDNXTbUdw==", - "requires": { - "@terra-money/feather.js": "^1.0.0-beta.4", - "@terra-money/wallet-types": "^4.0.0-beta.3" - } - }, - "@terra-money/wallet-controller": { - "version": "4.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@terra-money/wallet-controller/-/wallet-controller-4.0.0-beta.3.tgz", - "integrity": "sha512-htkhjxLFAN6H662VwTZrCgWgd1tz30SM6z64f4TluEkYUjpdgMuaPMvGKZmTWHqBAmv5Kkp3OWpCRKGBqSByzw==", - "requires": { - "@terra-money/feather.js": "^1.0.0-beta.4", - "@terra-money/wallet-types": "^4.0.0-beta.3", - "@terra-money/web-extension-interface": "^4.0.0-beta.3", - "@walletconnect/core": "^1.6.6", - "@walletconnect/iso-crypto": "^1.6.6", - "@walletconnect/types": "^1.6.6", - "@walletconnect/utils": "^1.6.6", - "bowser": "^2.11.0", - "fast-deep-equal": "^3.1.3", - "jscrypto": "^1.0.0", - "mobile-detect": "^1.4.5", - "qrcode": "^1.5.0", - "rxjs": "^7.0.0", - "secp256k1": "^4.0.0", - "ws": "^7.5.5" - }, - "dependencies": { - "rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "requires": { - "tslib": "^2.1.0" - } - } - } - }, - "@terra-money/wallet-provider": { - "version": "4.0.0-beta.3", - "resolved": "https://registry.npmjs.org/@terra-money/wallet-provider/-/wallet-provider-4.0.0-beta.3.tgz", - "integrity": "sha512-b3E7gkQ0sqIgkFl/sAc9xvv8knNMlnQJ+qp3TvzgRC3/SceCPNGJkEEuZ1yoTcXwjlHDan30VA/ZNbYEw7E7tg==", - "requires": { - "@terra-money/use-wallet": "^4.0.0-beta.3", - "@terra-money/wallet-controller": "^4.0.0-beta.3", - "@terra-money/web-extension-interface": "^4.0.0-beta.3" - } - }, - "@terra-money/wallet-types": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@terra-money/wallet-types/-/wallet-types-4.0.0.tgz", - "integrity": "sha512-n3EKcp2QpE/XCXNkzI9jS4RcVo4CYCaSn1I7taI/4qGkRsuZcj119Od2TyEFy8c3LdnKfRCleB0NLAXsQtYc6w==", - "requires": { - "@terra-money/feather.js": "^1.0.0-beta.4" - } + "@terra-money/wallet-interface": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@terra-money/wallet-interface/-/wallet-interface-1.0.4.tgz", + "integrity": "sha512-xlWFGt0qHCUwQXLxS2XjE7p5xWskq68XfmJ+3Rh5XR7tJpj/GII2397PwHkK2HfP/FDb39xCu704txjz26F7Eg==", + "requires": {} }, - "@terra-money/web-extension-interface": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@terra-money/web-extension-interface/-/web-extension-interface-4.0.0.tgz", - "integrity": "sha512-r2tZRAKp7bxST0qMCLRb3hCDL/XCHAxEzu3uBi2O8Yvc9hR2MaFzi/PCTYH5qZH3/mR08iHVwm8SE/I2RNbHoA==", + "@terra-money/wallet-kit": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@terra-money/wallet-kit/-/wallet-kit-1.0.4.tgz", + "integrity": "sha512-mM+j658QNG85Pn4fCHf+kebL/MT+ne3O3KnOGAlHyD7F+9h/+yrckeCkYj0o2FyHPLl68PMrnyKHlsb9E9nEHA==", "requires": { - "@terra-money/feather.js": "^1.0.0-beta.4", - "rxjs": "^7.0.0" + "@terra-money/station-wallet": "^1.0.4", + "@terra-money/wallet-interface": "^1.0.4", + "axios": "^1.4.0" }, "dependencies": { - "rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "axios": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz", + "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==", "requires": { - "tslib": "^2.1.0" + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" } } } @@ -31192,196 +30986,6 @@ "eslint-visitor-keys": "^2.0.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" - } - }, - "@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": { - "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==" - } - } - }, - "@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/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-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.7", - "resolved": "https://registry.npmjs.org/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.7.tgz", - "integrity": "sha512-zJziApzUF/Il4VcwabnaU+0yo1QI4eUkYX99zmCVTHJvZOf2l0zjADf/OpKqWyeNFC3Io56Z/8uJHVtcNVvyFA==", - "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/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/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/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==", - "requires": {} - } - } - }, - "@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/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" - } - }, - "@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" - } - }, "@webassemblyjs/ast": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", @@ -31630,11 +31234,6 @@ "regex-parser": "^2.2.11" } }, - "aes-js": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/aes-js/-/aes-js-3.1.2.tgz", - "integrity": "sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ==" - }, "agent-base": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", @@ -32632,11 +32231,6 @@ "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", "dev": true }, - "bowser": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", - "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" - }, "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", @@ -33235,6 +32829,7 @@ "version": "6.0.0", "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, "requires": { "string-width": "^4.2.0", "strip-ansi": "^6.0.0", @@ -33245,6 +32840,7 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -33253,6 +32849,7 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "requires": { "color-name": "~1.1.4" } @@ -33260,22 +32857,26 @@ "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -33286,6 +32887,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, "requires": { "ansi-regex": "^5.0.1" } @@ -33294,6 +32896,7 @@ "version": "6.2.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, "requires": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -34222,7 +33825,8 @@ "decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==" + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true }, "decimal.js": { "version": "10.3.1", @@ -34237,7 +33841,8 @@ "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==" + "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", + "dev": true }, "decompress-response": { "version": "4.2.1", @@ -34498,11 +34103,6 @@ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true }, - "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-libc": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", @@ -34563,11 +34163,6 @@ "randombytes": "^2.0.0" } }, - "dijkstrajs": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/dijkstrajs/-/dijkstrajs-1.0.3.tgz", - "integrity": "sha512-qiSlmBq9+BCdCA/L46dw8Uy93mloxsPSbwnm5yrKn2vMPiy8KyAskTF6zuV/j5BMsmOGZDPs7KjU+mjb670kfA==" - }, "dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -34844,11 +34439,6 @@ "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "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", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", @@ -36160,7 +35750,8 @@ "fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true }, "fast-equals": { "version": "2.0.4", @@ -36358,6 +35949,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, "requires": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -36797,7 +36389,8 @@ "get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true }, "get-intrinsic": { "version": "1.1.1", @@ -38035,7 +37628,8 @@ "is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==" + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true }, "is-weakref": { "version": "1.0.2", @@ -40110,11 +39704,6 @@ } } }, - "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==" - }, "killable": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", @@ -40347,6 +39936,7 @@ "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, "requires": { "p-locate": "^4.1.0" } @@ -40916,11 +40506,6 @@ "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" }, - "mobile-detect": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/mobile-detect/-/mobile-detect-1.4.5.tgz", - "integrity": "sha512-yc0LhH6tItlvfLBugVUEtgawwFU2sIe+cSdmRJJCTMZ5GEJyLxNyC/NIOAOGk67Fa8GNpOttO3Xz/1bHpXFD/g==" - }, "move-concurrently": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", @@ -41621,6 +41206,7 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, "requires": { "p-try": "^2.0.0" } @@ -41629,6 +41215,7 @@ "version": "4.1.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, "requires": { "p-limit": "^2.2.0" } @@ -41654,7 +41241,8 @@ "p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true }, "pako": { "version": "1.0.11", @@ -41792,7 +41380,8 @@ "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true }, "path-is-absolute": { "version": "1.0.1", @@ -41981,11 +41570,6 @@ } } }, - "pngjs": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-5.0.0.tgz", - "integrity": "sha512-40QW5YalBNfQo5yRYmiw7Yz6TKKVr3h6970B2YE+3fQpsWcrbj1PzJgxeJ19DRQjhMbKPIuMY8rFaXc8moolVw==" - }, "pnp-webpack-plugin": { "version": "1.6.4", "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", @@ -43284,6 +42868,11 @@ "ipaddr.js": "1.9.1" } }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + }, "prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", @@ -43354,17 +42943,6 @@ "integrity": "sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==", "dev": true }, - "qrcode": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/qrcode/-/qrcode-1.5.3.tgz", - "integrity": "sha512-puyri6ApkEHYiVl4CFzo1tDkAZ+ATcnbJrJ6RiBM1Fhctdn/ix9MTE3hRph33omisEbC/2fcfemsseiKgBPKZg==", - "requires": { - "dijkstrajs": "^1.0.1", - "encode-utf8": "^1.0.3", - "pngjs": "^5.0.0", - "yargs": "^15.3.1" - } - }, "qrcode.react": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/qrcode.react/-/qrcode.react-3.0.2.tgz", @@ -43379,16 +42957,6 @@ "side-channel": "^1.0.4" } }, - "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" - } - }, "querystring": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", @@ -44188,7 +43756,8 @@ "require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true }, "require-from-string": { "version": "2.0.2", @@ -44199,7 +43768,8 @@ "require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true }, "requires-port": { "version": "1.0.0", @@ -45683,11 +45253,6 @@ "wbuf": "^1.7.3" } }, - "split-on-first": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/split-on-first/-/split-on-first-1.1.0.tgz", - "integrity": "sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==" - }, "split-string": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", @@ -45928,11 +45493,6 @@ "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", "dev": true }, - "strict-uri-encode": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz", - "integrity": "sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==" - }, "string_decoder": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", @@ -46907,9 +46467,9 @@ } }, "tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==" + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", + "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==" }, "tsutils": { "version": "3.21.0", @@ -46989,6 +46549,7 @@ "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==", + "dev": true, "requires": { "is-typedarray": "^1.0.0" } @@ -48686,7 +48247,8 @@ "which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true }, "wide-align": { "version": "1.1.5", @@ -49104,7 +48666,8 @@ "y18n": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.3.tgz", - "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==" + "integrity": "sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==", + "dev": true }, "yallist": { "version": "4.0.0", @@ -49121,6 +48684,7 @@ "version": "15.4.1", "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, "requires": { "cliui": "^6.0.0", "decamelize": "^1.2.0", @@ -49138,17 +48702,20 @@ "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true }, "is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true }, "string-width": { "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, "requires": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -49159,6 +48726,7 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, "requires": { "ansi-regex": "^5.0.1" } @@ -49169,6 +48737,7 @@ "version": "18.1.3", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, "requires": { "camelcase": "^5.0.0", "decamelize": "^1.2.0" @@ -49177,7 +48746,8 @@ "camelcase": { "version": "5.3.1", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true } } }, diff --git a/package.json b/package.json index 2aed7ca72..0c4b4894f 100644 --- a/package.json +++ b/package.json @@ -4,6 +4,7 @@ "hompage": "https://station.terra.money", "author": "Terra (https://terra.money)", "repository": "github:terra-money/station", + "version": "7.3.0", "license": "MIT", "scripts": { "start": "react-scripts start", @@ -14,20 +15,19 @@ "analyze": "source-map-explorer 'build/static/js/*.js'" }, "dependencies": { + "@amplitude/analytics-browser": "^2.0.0", "@anchor-protocol/anchor.js": "^5.1.1", "@ledgerhq/hw-transport-web-ble": "^6.27.1", "@mui/icons-material": "^5.8.0", "@mui/material": "^5.9.1", "@sentry/react": "^7.53.1", - "@terra-money/feather.js": "^1.0.6", - "@terra-money/ledger-station-js": "^1.3.7", + "@terra-money/feather.js": "^1.0.8", + "@terra-money/ledger-station-js": "^1.3.8", "@terra-money/log-finder-ruleset": "^3.0.0", "@terra-money/terra-utils": "^1.0.9", "@terra-money/terra.js": "^3.1.9", "@terra-money/terra.proto": "^2.0.0", - "@terra-money/use-wallet": "4.0.0-beta.3", - "@terra-money/wallet-controller": "4.0.0-beta.3", - "@terra-money/wallet-provider": "4.0.0-beta.3", + "@terra-money/wallet-kit": "^1.0.4", "@tippyjs/react": "^4.2.6", "axios": "^0.27.2", "bech32": "^2.0.0", diff --git a/src/app/InitChains.tsx b/src/app/InitChains.tsx index b3786f145..c62fd29a9 100644 --- a/src/app/InitChains.tsx +++ b/src/app/InitChains.tsx @@ -14,7 +14,7 @@ const InitChains = ({ children }: PropsWithChildren<{}>) => { .get("/denoms.json", { baseURL: STATION_ASSETS }) .then(({ data }) => setWhitelist(data)) axios - .get("/ibc.json", { baseURL: STATION_ASSETS }) + .get("/ibc_tokens.json", { baseURL: STATION_ASSETS }) .then(({ data }) => setIbcDenoms(data)) axios .get("/station/coins.json", { baseURL: ASSETS }) diff --git a/src/app/InitNetworks.tsx b/src/app/InitNetworks.tsx index df533a76d..5be4b460e 100644 --- a/src/app/InitNetworks.tsx +++ b/src/app/InitNetworks.tsx @@ -6,6 +6,7 @@ import { useCustomLCDs } from "utils/localStorage" import { useValidNetworks } from "data/queries/tendermint" import { WithFetching } from "components/feedback" import { combineState } from "data/query" +import { InterchainNetworks } from "types/network" type TokenFilter = (network: Record) => Record @@ -35,12 +36,14 @@ const InitNetworks = ({ children }: PropsWithChildren<{}>) => { }, []) const testBase = networks - ? Object.values({ - ...networks.mainnet, - ...networks.testnet, - ...networks.classic, - }).map((chain) => { - const lcd = customLCDs[chain.chainID] ?? chain.lcd + ? Object.values( + { + ...networks.mainnet, + ...networks.testnet, + ...networks.classic, + } ?? {} + ).map((chain) => { + const lcd = customLCDs[chain?.chainID] ?? chain.lcd return { ...chain, lcd } }) : [] @@ -65,16 +68,16 @@ const InitNetworks = ({ children }: PropsWithChildren<{}>) => { networksLoading: validationState.isLoading, filterEnabledNetworks: (networks) => Object.fromEntries( - Object.entries(networks).filter( + Object.entries(networks ?? {}).filter( ([chainID]) => chainID === "localterra" || validNetworks.includes(chainID) - ) + ) ?? {} ), filterDisabledNetworks: (networks) => Object.fromEntries( - Object.entries(networks).filter( + Object.entries(networks ?? {}).filter( ([chainID]) => !validNetworks.includes(chainID) - ) + ) ?? {} ), }} > diff --git a/src/app/InitWallet.tsx b/src/app/InitWallet.tsx index 44d221fd3..c1bd5ecb5 100644 --- a/src/app/InitWallet.tsx +++ b/src/app/InitWallet.tsx @@ -1,6 +1,5 @@ import { PropsWithChildren, useEffect } from "react" -import { WalletStatus } from "@terra-money/wallet-types" -import { useWallet } from "@terra-money/use-wallet" +import { WalletStatus, useWallet } from "@terra-money/wallet-kit" import { isWallet, useAuth } from "auth" import Online from "./containers/Online" import NetworkLoading from "./NetworkLoading" @@ -15,7 +14,7 @@ const InitWallet = ({ children }: PropsWithChildren<{}>) => { timeout={{ time: 3000, fallback: () => { - localStorage.removeItem("__terra_extension_router_session__") + localStorage.removeItem("__wallet_kit_connected_wallet") window.location.reload() }, }} diff --git a/src/app/sections/ConnectWallet.tsx b/src/app/sections/ConnectWallet.tsx index 35f5b7eb9..5705bdcfa 100644 --- a/src/app/sections/ConnectWallet.tsx +++ b/src/app/sections/ConnectWallet.tsx @@ -1,6 +1,6 @@ import { useTranslation } from "react-i18next" import UsbIcon from "@mui/icons-material/Usb" -import { useWallet } from "@terra-money/wallet-provider" +import { useWallet } from "@terra-money/wallet-kit" import { STATION } from "config/constants" import { RenderButton } from "types/components" import { useAddress } from "data/wallet" @@ -20,7 +20,7 @@ interface Props { const ConnectWallet = ({ renderButton }: Props) => { const { t } = useTranslation() - const { connect, availableConnections, availableInstallations } = useWallet() + const { connect, availableWallets } = useWallet() const { available } = useAuth() @@ -34,23 +34,25 @@ const ConnectWallet = ({ renderButton }: Props) => { ) const list = [ - ...availableConnections - .filter(({ type }) => type !== "READONLY") - .map(({ type, identifier, name, icon }) => ({ + ...availableWallets + .filter(({ isInstalled }) => isInstalled) + .map(({ id, name, icon }) => ({ src: icon, children: name, - onClick: () => connect(type, identifier), + onClick: () => connect(id), })), { icon: , to: "/auth/ledger", children: t("Access with ledger"), }, - ...availableInstallations.map(({ name, icon, url }) => ({ - src: icon, - children: t(`Install ${name}`), - href: url, - })), + ...availableWallets + .filter(({ isInstalled, website }) => !isInstalled && website) + .map(({ name, icon, website }) => ({ + src: icon, + children: t(`Install ${name}`), + href: website ?? "", + })), ] return ( diff --git a/src/app/sections/Connected.tsx b/src/app/sections/Connected.tsx index 923b6cedb..8c9f69ff1 100644 --- a/src/app/sections/Connected.tsx +++ b/src/app/sections/Connected.tsx @@ -18,7 +18,7 @@ import styles from "./Connected.module.scss" import { useRecoilState } from "recoil" import { isWalletBarOpen, walletBarRoute, Path } from "pages/wallet/Wallet" import { useNavigate } from "react-router-dom" -import { useWallet } from "@terra-money/use-wallet" +import { useConnectedWallet, useWallet } from "@terra-money/wallet-kit" import { Contacts as ContactsIcon, Logout as LogoutIcon, @@ -30,6 +30,7 @@ const Connected = () => { const navigate = useNavigate() const { wallet, getLedgerKey, disconnect: disconnectLedger } = useAuth() const { disconnect } = useWallet() + const connectedWallet = useConnectedWallet() const { data: name } = useTnsName(address ?? "") const [, setWalletIsOpen] = useRecoilState(isWalletBarOpen) const [, setWalletRoute] = useRecoilState(walletBarRoute) @@ -117,7 +118,9 @@ const Connected = () => { className={styles.button} > - {isWallet.local(wallet) ? wallet.name : truncate(name ?? address)} + {isWallet.local(wallet) + ? wallet.name + : connectedWallet?.name ?? truncate(name ?? address)} diff --git a/src/app/sections/DisplayChainsSetting.tsx b/src/app/sections/DisplayChainsSetting.tsx index 81bbdae83..93f8cdd8e 100644 --- a/src/app/sections/DisplayChainsSetting.tsx +++ b/src/app/sections/DisplayChainsSetting.tsx @@ -32,7 +32,7 @@ const DisplayChainsSetting = () => { {(input) => ( network[chainID].name diff --git a/src/app/sections/LCDSetting.tsx b/src/app/sections/LCDSetting.tsx index cf9c24a85..6901f87ea 100644 --- a/src/app/sections/LCDSetting.tsx +++ b/src/app/sections/LCDSetting.tsx @@ -141,7 +141,7 @@ const LCDSetting = () => { /> - + { return ( i18n.changeLanguage(language)} /> diff --git a/src/app/sections/LatestTx.tsx b/src/app/sections/LatestTx.tsx index c73e4a1ab..30d249591 100644 --- a/src/app/sections/LatestTx.tsx +++ b/src/app/sections/LatestTx.tsx @@ -16,9 +16,11 @@ import { useThemeAnimation } from "data/settings/Theme" import { useNetworkName } from "data/wallet" import { Button, FinderLink, LinkButton } from "components/general" import { Modal, LoadingCircular } from "components/feedback" +import { createAmplitudeClient } from "utils/analytics/setupAmplitude" import { Flex } from "components/layout" import TxMessage from "../containers/TxMessage" import styles from "./LatestTx.module.scss" +import { AnalyticsEvent } from "utils/analytics" const { createActionRuleSet, getTxCanonicalMsgs, createLogMatcherForActions } = ruleset @@ -30,6 +32,7 @@ enum Status { } const TxIndicator = ({ txhash }: { txhash: string }) => { + const amplitude = createAmplitudeClient() const { t } = useTranslation() const navigate = useNavigate() const animation = useThemeAnimation() @@ -56,6 +59,12 @@ const TxIndicator = ({ txhash }: { txhash: string }) => { status === Status.SUCCESS && onSuccess?.() }, [status, onSuccess]) + useEffect(() => { + if (status !== Status.LOADING) { + amplitude.trackEvent(AnalyticsEvent.TRANSACTION, { status }) + } + }, [status, amplitude]) + /* render component */ const icon = { [Status.LOADING]: , diff --git a/src/app/sections/Preferences.tsx b/src/app/sections/Preferences.tsx index f596860ac..b7e1eee03 100644 --- a/src/app/sections/Preferences.tsx +++ b/src/app/sections/Preferences.tsx @@ -8,7 +8,7 @@ import NetworkSetting from "./NetworkSetting" import DisplayChainsSetting from "./DisplayChainsSetting" import LanguageSetting from "./LanguageSetting" import CurrencySetting from "./CurrencySetting" -import { useWallet, WalletStatus } from "@terra-money/wallet-provider" +import { useWallet, WalletStatus } from "@terra-money/wallet-kit" import { ModalButton } from "components/feedback" import SettingsButton from "components/layout/SettingsButton" import { useNetwork, useNetworkName } from "data/wallet" @@ -70,15 +70,15 @@ const Preferences = () => { key: "network", tab: t("Network"), value: capitalize(networkName), - disabled: - !sandbox && connectedWallet.status === WalletStatus.WALLET_CONNECTED, + disabled: !sandbox && connectedWallet.status === WalletStatus.CONNECTED, }, lang: { key: "lang", tab: t("Language"), value: - Object.values(Languages).find(({ value }) => value === i18n.language) - ?.label ?? Languages.en.label, + Object.values(Languages ?? {}).find( + ({ value }) => value === i18n.language + )?.label ?? Languages.en.label, disabled: false, }, currency: { @@ -142,7 +142,7 @@ const Preferences = () => { default: return ( - {Object.values(routes) + {Object.values(routes ?? {}) .filter(({ disabled }) => !disabled) .map(({ tab, value, key, className }) => ( { @@ -25,17 +25,17 @@ export const useAllInterchainAddresses = () => { export const useInterchainAddresses = () => { const connected = useConnectedWallet() const { filterEnabledNetworks } = useNetworks() - const { wallet } = useAuth() const networks = useNetwork() + const { wallet } = useAuth() if (connected?.addresses) { return filterEnabledNetworks(connected.addresses) } const words = wallet?.words - if (!words) return + if (!words) return {} - const addresses = Object.values(networks).reduce( + const addresses = Object.values(networks ?? {}).reduce( (acc, { prefix, coinType, chainID }) => { acc[chainID] = addressFromWords(words[coinType] as string, prefix) return acc @@ -45,4 +45,12 @@ export const useInterchainAddresses = () => { return addresses } +export const useInterchainAddressesWithFeature = (feature?: ChainFeature) => { + const addresses = useInterchainAddresses() + const networks = useNetworkWithFeature(feature) + return Object.fromEntries( + Object.entries(addresses).filter(([key, _]) => networks[key]) + ) +} + export default useAddress diff --git a/src/auth/hooks/useAuth.ts b/src/auth/hooks/useAuth.ts index 1d18f391c..46bd4b95f 100644 --- a/src/auth/hooks/useAuth.ts +++ b/src/auth/hooks/useAuth.ts @@ -148,8 +148,8 @@ const useAuth = () => { if (!wallet) throw new Error("Wallet is not defined") const { words } = wallet const address = addressFromWords( - words[networks[txOptions.chainID].coinType] ?? "", - networks[txOptions.chainID]?.prefix + words[networks[txOptions?.chainID].coinType] ?? "", + networks[txOptions?.chainID]?.prefix ) return await lcd.tx.create([{ address }], txOptions) @@ -192,7 +192,7 @@ const useAuth = () => { if (!wallet) throw new Error("Wallet is not defined") if (is.ledger(wallet)) { - const key = await getLedgerKey(networks[txOptions.chainID].coinType) + const key = await getLedgerKey(networks[txOptions?.chainID].coinType) const wallet = lcd.wallet(key) const signMode = SignatureV2.SignMode.SIGN_MODE_LEGACY_AMINO_JSON return await wallet.createAndSignTx({ @@ -204,10 +204,10 @@ const useAuth = () => { return await lcd.wallet(key).createAndSignTx(txOptions) }*/ else { const pk = getKey(password) - if (!pk || !pk[networks[txOptions.chainID].coinType]) + if (!pk || !pk[networks[txOptions?.chainID].coinType]) throw new PasswordError("Incorrect password") const key = new RawKey( - Buffer.from(pk[networks[txOptions.chainID].coinType] ?? "", "hex") + Buffer.from(pk[networks[txOptions?.chainID].coinType] ?? "", "hex") ) const wallet = lcd.wallet(key) return await wallet.createAndSignTx(txOptions) @@ -236,7 +236,7 @@ const useAuth = () => { const post = async (txOptions: CreateTxOptions, password = "") => { if (!wallet) throw new Error("Wallet is not defined") const signedTx = await sign(txOptions, password) - const result = await lcd.tx.broadcastSync(signedTx, txOptions.chainID) + const result = await lcd.tx.broadcastSync(signedTx, txOptions?.chainID) if (isTxError(result)) throw new Error(result.raw_log) return result } diff --git a/src/auth/hooks/useNetwork.ts b/src/auth/hooks/useNetwork.ts index 2bc164d1d..7bf9c6d9e 100644 --- a/src/auth/hooks/useNetwork.ts +++ b/src/auth/hooks/useNetwork.ts @@ -1,10 +1,12 @@ import { atom, useRecoilState, useRecoilValue } from "recoil" import { useNetworks } from "app/InitNetworks" import { getStoredNetwork, storeNetwork } from "../scripts/network" -import { useWallet, WalletStatus } from "@terra-money/wallet-provider" +import { useWallet, WalletStatus } from "@terra-money/wallet-kit" import { walletState } from "./useAuth" import is from "../scripts/is" import { useCustomLCDs } from "utils/localStorage" +import { ChainFeature } from "types/chains" +import { NetworkName, ChainID, InterchainNetwork } from "types/network" const networkState = atom({ key: "network", @@ -34,6 +36,18 @@ export const useNetworkOptions = () => { ] } +export const useNetworkWithFeature = (feature?: ChainFeature) => { + const networks = useNetwork() + if (!feature) return networks + return Object.fromEntries( + Object.entries(networks).filter( + ([_, n]) => + !Array.isArray(n.disabledModules) || + !n.disabledModules.includes(feature) + ) + ) +} + export const useNetwork = (): Record => { const { networks, filterEnabledNetworks } = useNetworks() const [network, setNetwork] = useNetworkState() @@ -43,15 +57,15 @@ export const useNetwork = (): Record => { function withCustomLCDs(networks: Record) { return Object.fromEntries( - Object.entries(networks).map(([key, val]) => [ + Object.entries(networks ?? {}).map(([key, val]) => [ key, - { ...val, lcd: customLCDs[val.chainID] || val.lcd }, - ]) + { ...val, lcd: customLCDs[val?.chainID] || val.lcd }, + ]) ?? {} ) } // check connected wallet - if (connectedWallet.status === WalletStatus.WALLET_CONNECTED) { + if (connectedWallet.status === WalletStatus.CONNECTED) { if (network !== "mainnet" && "phoenix-1" in connectedWallet.network) { setNetwork("mainnet") } else if (network !== "testnet" && "pisco-1" in connectedWallet.network) { @@ -67,7 +81,6 @@ export const useNetwork = (): Record => { ) { setNetwork("localterra") } - return filterEnabledNetworks( connectedWallet.network as Record ) @@ -78,22 +91,22 @@ export const useNetwork = (): Record => { const terra = Object.values( withCustomLCDs( networks[network as NetworkName] as Record - ) + ) ?? {} ).find(({ prefix }) => prefix === "terra") if (!terra) return {} - return filterEnabledNetworks({ [terra.chainID]: terra }) + return filterEnabledNetworks({ [terra?.chainID]: terra }) } if (wallet && !wallet?.words?.["118"]) { const chains330 = Object.values( withCustomLCDs( networks[network as NetworkName] as Record - ) + ) ?? {} ).filter(({ coinType }) => coinType === "330") return filterEnabledNetworks( chains330.reduce((acc, chain) => { - acc[chain.chainID] = chain + acc[chain?.chainID] = chain return acc }, {} as Record) ) diff --git a/src/auth/modules/manage/ExportWalletForm.tsx b/src/auth/modules/manage/ExportWalletForm.tsx index 246be763f..a23e45a48 100644 --- a/src/auth/modules/manage/ExportWalletForm.tsx +++ b/src/auth/modules/manage/ExportWalletForm.tsx @@ -71,7 +71,7 @@ const ExportWalletForm = () => {
- {Object.values(Mode).map((key) => { + {Object.values(Mode ?? {}).map((key) => { const checked = mode === key return ( diff --git a/src/auth/modules/select/SwitchWallet.tsx b/src/auth/modules/select/SwitchWallet.tsx index 5c1f0a890..7a11da0a5 100644 --- a/src/auth/modules/select/SwitchWallet.tsx +++ b/src/auth/modules/select/SwitchWallet.tsx @@ -11,7 +11,7 @@ import useAuth from "../../hooks/useAuth" import is from "../../scripts/is" import SelectPreconfigured from "./SelectPreconfigured" import styles from "./SwitchWallet.module.scss" -import { useWallet } from "@terra-money/use-wallet" +import { useWallet } from "@terra-money/wallet-kit" const SwitchWallet = () => { const { disconnect } = useWallet() diff --git a/src/auth/networks/AddNetworkForm.tsx b/src/auth/networks/AddNetworkForm.tsx index dae9efea5..e97d45388 100644 --- a/src/auth/networks/AddNetworkForm.tsx +++ b/src/auth/networks/AddNetworkForm.tsx @@ -4,6 +4,7 @@ import { useForm } from "react-hook-form" import { useNetworkState } from "data/wallet" import { useCustomNetworks } from "data/settings/CustomNetworks" import { Form, FormItem, Submit, Input, Checkbox } from "components/form" +import { CustomNetwork } from "types/network" const AddNetwork = () => { const { t } = useTranslation() @@ -45,10 +46,10 @@ const AddNetwork = () => { /> - + diff --git a/src/auth/scripts/network.ts b/src/auth/scripts/network.ts index 5334927f1..c4083f53c 100644 --- a/src/auth/scripts/network.ts +++ b/src/auth/scripts/network.ts @@ -1,3 +1,5 @@ +import { NetworkName } from "types/network" + export const getStoredNetwork = () => { return localStorage.getItem("network") ?? "mainnet" } diff --git a/src/components/display/NetworkStatus.tsx b/src/components/display/NetworkStatus.tsx index ebed0abae..91df31838 100644 --- a/src/components/display/NetworkStatus.tsx +++ b/src/components/display/NetworkStatus.tsx @@ -9,7 +9,7 @@ const NetworkStatus = () => { const { filterDisabledNetworks, networks, networksLoading } = useNetworks() const networkName = useNetworkName() const disabledNetworks = filterDisabledNetworks(networks[networkName]) - const disabled = Object.values(disabledNetworks) + const disabled = Object.values(disabledNetworks ?? {}) if (!disabled.length || networksLoading) return null diff --git a/src/components/form/Selectors/ChainSelector/ChainList.tsx b/src/components/form/Selectors/ChainSelector/ChainList.tsx index 630877200..f316030b4 100644 --- a/src/components/form/Selectors/ChainSelector/ChainList.tsx +++ b/src/components/form/Selectors/ChainSelector/ChainList.tsx @@ -1,6 +1,7 @@ import styles from "../../ChainSelector.module.scss" import WithSearchInput from "pages/custom/WithSearchInput" import classNames from "classnames" +import { InterchainNetwork } from "types/network" interface Props { list: InterchainNetwork[] diff --git a/src/components/form/Selectors/TokenSelector/TokenList.tsx b/src/components/form/Selectors/TokenSelector/TokenList.tsx index d5b0927ae..8962a905f 100644 --- a/src/components/form/Selectors/TokenSelector/TokenList.tsx +++ b/src/components/form/Selectors/TokenSelector/TokenList.tsx @@ -28,7 +28,7 @@ const TokenList = ({ list, onChange, value, small }: Props) => { > Show all - {Object.values(list).map(({ symbol, icon, token }) => ( + {Object.values(list ?? {}).map(({ symbol, icon, token }) => ( diff --git a/src/pages/wallet/CopyTokenAddress.tsx b/src/pages/wallet/CopyTokenAddress.tsx index 9003d7f6d..2089804b5 100644 --- a/src/pages/wallet/CopyTokenAddress.tsx +++ b/src/pages/wallet/CopyTokenAddress.tsx @@ -13,8 +13,8 @@ const CopyTokenAddress = ({ const networkName = useNetworkName() const ibc = ibcDenoms[networkName] - const denom = Object.keys(ibc).find( - (key) => ibc[key].chainID === chain && ibc[key].token === token + const denom = Object.keys(ibc ?? {}).find( + (key) => ibc[key]?.chainID === chain && ibc[key].token === token ) return ( diff --git a/src/pages/wallet/FiatRampModal.tsx b/src/pages/wallet/FiatRampModal.tsx index bbaad2e3c..a1a5aefe0 100644 --- a/src/pages/wallet/FiatRampModal.tsx +++ b/src/pages/wallet/FiatRampModal.tsx @@ -15,7 +15,7 @@ const FiatRampModal = () => { if (!addresses) return null - const onToAddressMulti = Object.keys(addresses) + const onToAddressMulti = Object.keys(addresses ?? {}) .map((key) => `${network[key]?.name}:${addresses[key]}`) .join(",") diff --git a/src/pages/wallet/IbcSendBackTx.tsx b/src/pages/wallet/IbcSendBackTx.tsx index d63583d50..71c53d29b 100644 --- a/src/pages/wallet/IbcSendBackTx.tsx +++ b/src/pages/wallet/IbcSendBackTx.tsx @@ -94,6 +94,7 @@ function IbcSendBackTx({ token, chainID }: Props) { const { errors } = formState const { input } = watch() const queryClient = useQueryClient() + const networks = useNetwork() const [step, setStep] = useState(0) const [isLoading, setIsLoading] = useState(false) @@ -122,6 +123,8 @@ function IbcSendBackTx({ token, chainID }: Props) { } } + const isKujira = networks[ibcDetails?.chainIDs[0] ?? ""]?.prefix === "kujira" + useEffect(() => { // around 3 minutes with a 10 seconds interval let maxIterations = 18 @@ -131,7 +134,7 @@ function IbcSendBackTx({ token, chainID }: Props) { while (maxIterations--) { const tokenBalance = await getBalance( waitUntil.denom, - waitUntil.chainID + waitUntil?.chainID ) if (Number(tokenBalance) > waitUntil.balance) { @@ -160,9 +163,11 @@ function IbcSendBackTx({ token, chainID }: Props) { () => ibcDetails && calculateIBCDenom( - ibcDetails.baseDenom, + isKujira + ? ibcDetails.baseDenom?.replaceAll("/", ":") + : ibcDetails.baseDenom, ibcDetails.channels - .slice(step) + .slice(0, ibcDetails.channels.length - step) .reduce( (acc, cur) => acc @@ -171,7 +176,7 @@ function IbcSendBackTx({ token, chainID }: Props) { "" ) ), - [step, ibcDetails] + [step, ibcDetails, isKujira] ) const chains = useMemo( @@ -184,10 +189,13 @@ function IbcSendBackTx({ token, chainID }: Props) { ({ input }: TxValues) => { if (!ibcDetails || !addresses || !IBCdenom || !input) return + const { channel, port } = + ibcDetails.channels[ibcDetails.channels.length - 1 - step] + const msgs = [ new MsgTransfer( - ibcDetails.channels[step].port, - ibcDetails.channels[step].channel, + port, + channel, new Coin(IBCdenom, input * 10 ** decimals), addresses[chains[step]], addresses[chains[step + 1]], @@ -231,9 +239,11 @@ function IbcSendBackTx({ token, chainID }: Props) { onChangeMax, onPost: () => { const nextDenom = calculateIBCDenom( - ibcDetails?.baseDenom ?? "", + (isKujira + ? ibcDetails?.baseDenom?.replaceAll("/", ":") + : ibcDetails?.baseDenom) ?? "", (ibcDetails?.channels ?? []) - .slice(step + 1) + .slice(0, (ibcDetails?.channels.length ?? 0) - step - 1) .reduce( (acc, cur) => acc diff --git a/src/pages/wallet/NetWorth.tsx b/src/pages/wallet/NetWorth.tsx index 024cec504..85b415a44 100644 --- a/src/pages/wallet/NetWorth.tsx +++ b/src/pages/wallet/NetWorth.tsx @@ -1,24 +1,24 @@ -import { Button } from "components/general" -import { Read } from "components/token" -import { TooltipIcon } from "components/display" -import { useBankBalance } from "data/queries/bank" +import { ReactComponent as ReceiveIcon } from "styles/images/icons/Receive_v2.svg" +import { ReactComponent as SendIcon } from "styles/images/icons/Send_v2.svg" +import { ReactComponent as AddIcon } from "styles/images/icons/Buy_v2.svg" +import { useChainID, useNetwork, useNetworkName } from "data/wallet" +import { useBankBalance, useIsWalletEmpty } from "data/queries/bank" +import { useInterchainAddresses } from "auth/hooks/useAddress" import { useExchangeRates } from "data/queries/coingecko" import { useCurrency } from "data/settings/Currency" -import { useNativeDenoms } from "data/token" +import { ModalButton } from "components/feedback" +import { TooltipIcon } from "components/display" +import { Path, useWalletRoute } from "./Wallet" +import NetWorthTooltip from "./NetWorthTooltip" import { useTranslation } from "react-i18next" +import { useNativeDenoms } from "data/token" +import FiatRampModal from "./FiatRampModal" +import { Button } from "components/general" import styles from "./NetWorth.module.scss" -import { useWalletRoute, Path } from "./Wallet" import { capitalize } from "@mui/material" -import NetWorthTooltip from "./NetWorthTooltip" -import { ModalButton } from "components/feedback" -import FiatRampModal from "./FiatRampModal" -// import { Add as AddIcon, Send as SendIcon } from "@mui/icons-material" +import { Read } from "components/token" import classNames from "classnames" -import { useInterchainAddresses } from "auth/hooks/useAddress" -import { useNetworkName } from "data/wallet" -import { ReactComponent as SendIcon } from "styles/images/icons/Send_v2.svg" -import { ReactComponent as ReceiveIcon } from "styles/images/icons/Receive_v2.svg" -import { ReactComponent as AddIcon } from "styles/images/icons/Buy_v2.svg" +import { useMemo } from "react" const cx = classNames.bind(styles) @@ -31,6 +31,14 @@ const NetWorth = () => { const { setRoute, route } = useWalletRoute() const addresses = useInterchainAddresses() const networkName = useNetworkName() + const isWalletEmpty = useIsWalletEmpty() + + const networks = useNetwork() + const chainID = useChainID() + const availableGasDenoms = useMemo(() => { + return Object.keys(networks[chainID]?.gasPrices) + }, [chainID, networks]) + const sendButtonDisabled = isWalletEmpty && !!availableGasDenoms.length // TODO: show CW20 balances and staked tokens const coinsValue = coins?.reduce((acc, { amount, denom }) => { @@ -64,6 +72,7 @@ const NetWorth = () => {