diff --git a/jest.config.js b/jest.config.js index 46371e52f0..9bc982bead 100755 --- a/jest.config.js +++ b/jest.config.js @@ -29,6 +29,7 @@ module.exports = { diagnostics: false, tsconfig: '/tests/tsconfig.json', }, + Uint8Array: Uint8Array, VERSION: version, }, moduleFileExtensions: ['js', 'json', 'jsx', 'ts', 'tsx', 'node', 'd.ts'], diff --git a/package.json b/package.json index a71b6b52bb..653999ed3c 100644 --- a/package.json +++ b/package.json @@ -96,19 +96,19 @@ "@sentry/react": "6.16.1", "@sentry/tracing": "6.16.1", "@stacks/blockchain-api-client": "0.65.0", - "@stacks/common": "3.0.0", - "@stacks/storage": "3.2.0", + "@stacks/storage": "3.3.0", + "@stacks/common": "3.3.0", "@stacks/connect": "6.4.0", "@stacks/connect-ui": "5.2.0", - "@stacks/encryption": "3.0.0", - "@stacks/network": "3.0.0", + "@stacks/encryption": "3.3.0", + "@stacks/network": "3.3.0", "@stacks/rpc-client": "1.0.3", - "@stacks/transactions": "3.0.0", + "@stacks/transactions": "3.3.0", "@stacks/ui": "7.10.0", "@stacks/ui-core": "7.3.0", "@stacks/ui-theme": "7.5.0", "@stacks/ui-utils": "7.5.0", - "@stacks/wallet-sdk": "3.0.0", + "@stacks/wallet-sdk": "3.4.0", "@styled-system/theme-get": "5.1.2", "@tippyjs/react": "4.2.6", "@vkontakte/vk-qr": "2.0.13", @@ -266,7 +266,7 @@ "resolutions": { "**/**/prismjs": "1.27.0", "**/**/xmldom": "github:xmldom/xmldom#0.7.0", - "**/**/@stacks/network": "3.0.0", + "**/**/@stacks/network": "3.3.0", "@redux-devtools/cli/**/tar": "4.4.18", "bn.js": "5.2.0", "buffer": "6.0.3", diff --git a/src/app/store/keys/key.actions.ts b/src/app/store/keys/key.actions.ts index 5fa98213f4..10becbbd04 100644 --- a/src/app/store/keys/key.actions.ts +++ b/src/app/store/keys/key.actions.ts @@ -11,6 +11,7 @@ import { sendMessage } from '@shared/messages'; import { InternalMethods } from '@shared/message-types'; import { inMemoryKeySlice } from '../in-memory-key/in-memory-key.slice'; import { selectDefaultWalletKey } from '../in-memory-key/in-memory-key.selectors'; +import { StacksMainnet } from '@stacks/network'; async function restoredWalletHighestGeneratedAccountIndex(secretKey: string) { try { @@ -18,9 +19,12 @@ async function restoredWalletHighestGeneratedAccountIndex(secretKey: string) { // needed. Ideally `@stacks/wallet-sdk` should be updated so that the encrypt // function is a separate method const wallet = await generateWallet({ secretKey, password: '' }); + // use network to select addresses based on owned usernames + const network = new StacksMainnet(); const restoredWallet = await restoreWalletAccounts({ wallet, gaiaHubUrl: gaiaUrl, + network, }); return restoredWallet.accounts.length - 1; } catch (e) { diff --git a/src/app/store/transactions/index.ts b/src/app/store/transactions/index.ts index 458f1aef06..2b0f032167 100644 --- a/src/app/store/transactions/index.ts +++ b/src/app/store/transactions/index.ts @@ -15,7 +15,7 @@ import { publicKeyToString, AddressVersion, } from '@stacks/transactions'; -import { serializePayload } from '@stacks/transactions/dist/payload'; +import { serializePayload } from '@stacks/transactions'; import { stxToMicroStx, validateStacksAddress } from '@app/common/stacks-utils'; import { stacksTransactionToHex, whenChainId } from '@app/common/transactions/transaction-utils'; diff --git a/src/app/store/transactions/transaction.hooks.ts b/src/app/store/transactions/transaction.hooks.ts index db0c7e2abd..3e2b46b6c0 100644 --- a/src/app/store/transactions/transaction.hooks.ts +++ b/src/app/store/transactions/transaction.hooks.ts @@ -41,7 +41,7 @@ import { unsignedTransactionState, unsignedStacksTransactionBaseState, } from './index'; -import { serializePayload } from '@stacks/transactions/dist/payload'; +import { serializePayload } from '@stacks/transactions'; import { selectedAssetIdState } from '../assets/asset-search'; import { generateUnsignedTransaction } from '@app/common/transactions/generate-unsigned-txs'; import { logger } from '@shared/logger'; diff --git a/src/background/message-handler.ts b/src/background/message-handler.ts index bfd3f0befe..ef29f01ca7 100644 --- a/src/background/message-handler.ts +++ b/src/background/message-handler.ts @@ -2,6 +2,7 @@ import { gaiaUrl } from '@shared/constants'; import { logger } from '@shared/logger'; import { InternalMethods } from '@shared/message-types'; import { BackgroundActions } from '@shared/messages'; +import { StacksMainnet } from '@stacks/network'; import { generateNewAccount, generateWallet, restoreWalletAccounts } from '@stacks/wallet-sdk'; import memoize from 'promise-memoize'; import { backupWalletSaltForGaia } from './backup-old-wallet-salt'; @@ -20,7 +21,8 @@ const deriveWalletWithAccounts = memoize(async (secretKey: string, highestAccoun // method. This does the same as the catch case, with the addition that it will // also try and fetch usernames associated with an account try { - return restoreWalletAccounts({ wallet, gaiaHubUrl: gaiaUrl }); + const network = new StacksMainnet(); + return restoreWalletAccounts({ wallet, gaiaHubUrl: gaiaUrl, network }); } catch (e) { // To generate a new account, the wallet-sdk requires the entire `Wallet` to // be supplied so that it can count the `wallet.accounts[]` length, and return diff --git a/webpack/webpack.config.base.js b/webpack/webpack.config.base.js index 24347ac331..c500e905a0 100755 --- a/webpack/webpack.config.base.js +++ b/webpack/webpack.config.base.js @@ -69,7 +69,17 @@ const HTML_PROD_OPTIONS = IS_DEV }, }; -const aliases = {}; +const aliases = { + // alias stacks.js packages to their esm (default prefers /dist/polyfill) + '@stacks/auth': '@stacks/auth/dist/esm', + '@stacks/common': '@stacks/common/dist/esm', + '@stacks/encryption': '@stacks/encryption/dist/esm', + '@stacks/network': '@stacks/network/dist/esm', + '@stacks/profile': '@stacks/profile/dist/esm', + '@stacks/storage': '@stacks/storage/dist/esm', + '@stacks/transactions': '@stacks/transactions/dist/esm', + '@stacks/wallet-sdk': '@stacks/wallet-sdk/dist/esm', +}; const config = { entry: { diff --git a/yarn.lock b/yarn.lock index d35f26d98a..08daad695f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1845,6 +1845,16 @@ strict-event-emitter "^0.2.0" xmldom "^0.6.0" +"@noble/hashes@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.0.0.tgz#d5e38bfbdaba174805a4e649f13be9a9ed3351ae" + integrity sha512-DZVbtY62kc3kkBtMHqwCOfXrT/hnoORy5BJ4+HU1IR59X0KWAOqsfzQPcUl/lQLlG7qXbe/fZ3r/emxtAl+sqg== + +"@noble/secp256k1@^1.5.2": + version "1.5.5" + resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.5.5.tgz#315ab5745509d1a8c8e90d0bdf59823ccf9bcfc3" + integrity sha512-sZ1W6gQzYnu45wPrWx8D3kwI2/U29VYTx9OjbDAd7jwRItJ0cSTMPRL/C8AWZFn9kWFLQGqEXVEE86w4Z8LpIQ== + "@node-rs/xxhash-android-arm-eabi@1.1.4": version "1.1.4" resolved "https://registry.yarnpkg.com/@node-rs/xxhash-android-arm-eabi/-/xxhash-android-arm-eabi-1.1.4.tgz#6255ec6f6fd6516b4d8b9ebcc65c0b21c5a552c6" @@ -3487,15 +3497,15 @@ jsontokens "^3.0.0" query-string "^6.13.1" -"@stacks/auth@^3.0.0", "@stacks/auth@^3.2.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@stacks/auth/-/auth-3.2.0.tgz#22469b8a03c8f57483c9a654882764ae83257543" - integrity sha512-HTeaeUzKxHM3iC8WnBJxu4XUpu9X1+lMKPdqwQsDJdqbfxaCLEVrwzpIN/+1FWIco068L4KMbVV4mXyuR0ADHQ== +"@stacks/auth@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@stacks/auth/-/auth-3.3.0.tgz#6da81aa800a1a7c5ae8bba03ca851a4e18325e0e" + integrity sha512-jt/NZHs46o+UdMAp4rP+GJhSy5dj1HzXtKDnGaGvXLY4mhecSb+JnCi0Jiwyea1cU0jcq7nHbkEOydxDFe+/Gw== dependencies: - "@stacks/common" "^3.0.0" - "@stacks/encryption" "^3.0.0" - "@stacks/network" "^3.2.0" - "@stacks/profile" "^3.2.0" + "@stacks/common" "^3.3.0" + "@stacks/encryption" "^3.3.0" + "@stacks/network" "^3.3.0" + "@stacks/profile" "^3.3.0" c32check "^1.1.3" cross-fetch "^3.1.4" jsontokens "^3.0.0" @@ -3514,13 +3524,13 @@ socket.io-client "^4.0.1" ws "^7.4.0" -"@stacks/common@3.0.0", "@stacks/common@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@stacks/common/-/common-3.0.0.tgz#e254ce29b8d62b002f713aa171004e9523eefbec" - integrity sha512-48zCfU8zX0r8b8eP2n6l/bicAiFQyHPTMimdBwot9JqgzWW8WqGpcZD3qSZIwV0tBHD5LMLxNY018OqQIH6c5Q== +"@stacks/common@3.3.0", "@stacks/common@^3.0.0", "@stacks/common@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@stacks/common/-/common-3.3.0.tgz#d43a3f32981ba8a2b85027b46d84cfb787f8c4eb" + integrity sha512-PVZiGGvl1WwUa47PCF5mPq3KGik/e+DXQZ7NqHBwNi5GOpjAo0M6nPSF1R+iSnHQ7DHtfXSoIQz8PlCxlYIYKw== dependencies: "@types/node" "^14.14.43" - bn.js "^4.12.0" + bn.js "^5.2.0" buffer "^6.0.3" cross-fetch "^3.1.4" @@ -3575,17 +3585,17 @@ readable-stream "^3.6.0" url "^0.11.0" -"@stacks/encryption@3.0.0", "@stacks/encryption@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@stacks/encryption/-/encryption-3.0.0.tgz#91a766c559f164fe22efc507e18d5091f0136895" - integrity sha512-KGVBDWG/hYkjLQNSQL6btIuVvi07ImrLmYS1tKWlC9W6S1si+xHMl5o6WujdpTmvReiqlnw8oJPHWPhkUFFulg== +"@stacks/encryption@3.3.0", "@stacks/encryption@^3.0.0", "@stacks/encryption@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@stacks/encryption/-/encryption-3.3.0.tgz#d1b68cbdbcd88ccab48032869db3b5cf51e922b7" + integrity sha512-AzN2Yvnemso0Qh7q7aTqJKws1merkINMFoYf0e0DBmY/IjrzLO0j0yoAdU6Ol8OPgnbxmp4CN96DKfJ+Hq2SMg== dependencies: - "@stacks/common" "^3.0.0" + "@stacks/common" "^3.3.0" "@types/bn.js" "^4.11.6" "@types/node" "^14.14.43" bip39 "^3.0.2" bitcoinjs-lib "^5.2.0" - bn.js "^4.12.0" + bn.js "^5.2.0" elliptic "^6.5.4" randombytes "^2.1.0" ripemd160-min "^0.0.6" @@ -3635,12 +3645,12 @@ eslint-plugin-import ">=2.23.3" eslint-plugin-prettier "4.0.0" -"@stacks/network@2.0.1", "@stacks/network@3.0.0", "@stacks/network@^1.2.2", "@stacks/network@^2.0.1", "@stacks/network@^3.0.0", "@stacks/network@^3.2.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@stacks/network/-/network-3.0.0.tgz#b4a7f3de8e4651d5426fc715a90f20b7123b166c" - integrity sha512-JJbQqCN8JlJz8bZu7enW9OBkMG5vEfHnp0rdY6AEp3Gzq9JsFD1C0BbbhMv/IqmCcLuAGmMwo+2C1NKCDJBUdQ== +"@stacks/network@2.0.1", "@stacks/network@3.3.0", "@stacks/network@^1.2.2", "@stacks/network@^2.0.1", "@stacks/network@^3.0.0", "@stacks/network@^3.2.0", "@stacks/network@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@stacks/network/-/network-3.3.0.tgz#1e3b4d0917d1d33720986846de7d0100f36a2610" + integrity sha512-s9YCCBoYCETOT4ssYMvSPXc8pthosq0JqzOpvwTsmqdZB8JQfS/XYzzWoT59Wm3hjaz1AaW9YXNxqvh5DRRs9A== dependencies: - "@stacks/common" "^3.0.0" + "@stacks/common" "^3.3.0" "@stacks/prettier-config@0.0.10": version "0.0.10" @@ -3700,14 +3710,14 @@ schema-inspector "^2.0.1" zone-file "^2.0.0-beta.3" -"@stacks/profile@^3.2.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@stacks/profile/-/profile-3.2.0.tgz#f5972cc1cdbf10d18446cc662c6a968ea1ec4055" - integrity sha512-IjW+LXbb+Tz0nt9t8CXpuCCv/9gZQ8s3Hgz3uEe8HGALvqAAwYc2ZQvHQ0vf58Cdezr1gIbY0OaWm3UkaHKdmg== +"@stacks/profile@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@stacks/profile/-/profile-3.3.0.tgz#c1af71a66e2006659d1cc64a05851d7c0c4d0835" + integrity sha512-UbuhRHr27ik4J3W7Tdi9azs2HmhxTZHa4MHyGtjYrQhoTa3CLSPXfKnVKpTy38+vs11y2G79kd8Q8TSOy+0Ewg== dependencies: - "@stacks/common" "^3.0.0" - "@stacks/network" "^3.2.0" - "@stacks/transactions" "^3.2.0" + "@stacks/common" "^3.3.0" + "@stacks/network" "^3.3.0" + "@stacks/transactions" "^3.3.0" jsontokens "^3.0.0" schema-inspector "^2.0.1" zone-file "^2.0.0-beta.3" @@ -3730,14 +3740,14 @@ resolved "https://registry.yarnpkg.com/@stacks/stacks-blockchain-api-types/-/stacks-blockchain-api-types-0.65.0.tgz#38cd10571e38f314dbcd6f6244d6042f7d6a8e0a" integrity sha512-V0ko6Cge+IP/XV352rHDDPYYz84gSCRbeklyor3FaUdSZFZIXjVM1upIbo5FDQ6Enygbcpve+vpbbajiWMB16A== -"@stacks/storage@3.2.0", "@stacks/storage@^3.0.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@stacks/storage/-/storage-3.2.0.tgz#eb8c26a96eca96d5e7cf55d284e1d4fa07518c15" - integrity sha512-turWq288tGOxWZdX0XW157GmNelnUCWl5rw770OZqsC4g4RI8wPYaeBB/M0rhuGP6CDXUds/YImV/WE8o32dxA== +"@stacks/storage@3.3.0", "@stacks/storage@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@stacks/storage/-/storage-3.3.0.tgz#bcb3f96bada96fd0a3af4d2169a7b40585677d1a" + integrity sha512-Rt6X74R6j2LZu4Hlkb3cUmBVblDU55ZFik4tq4kquAwhCWnf7CnUkZY6Sdy50QWCpishlcqCIz7NbFkcxRXIDQ== dependencies: - "@stacks/auth" "^3.2.0" - "@stacks/common" "^3.0.0" - "@stacks/encryption" "^3.0.0" + "@stacks/auth" "^3.3.0" + "@stacks/common" "^3.3.0" + "@stacks/encryption" "^3.3.0" bitcoinjs-lib "^5.2.0" jsontokens "^3.0.0" @@ -3763,23 +3773,23 @@ sha.js "^2.4.11" smart-buffer "^4.1.0" -"@stacks/transactions@3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@stacks/transactions/-/transactions-3.0.0.tgz#0c76f8832bc102e46fc165d5d6f29664640e639c" - integrity sha512-icweWBhiuYLOE/kkhBrsVrpydJEBE9dtDAxX6kBkZ2oAn9BTnW/Tozpxr6Zp0kJEx1ZTndINW7xtrJUsdHw7jg== +"@stacks/transactions@3.3.0", "@stacks/transactions@^3.3.0": + version "3.3.0" + resolved "https://registry.yarnpkg.com/@stacks/transactions/-/transactions-3.3.0.tgz#ccc489196dc406d06271631f28f41937b96de897" + integrity sha512-nYm0OufeaQauHfdxuL5dH12GPhkYux8nHX+eTNua0UW6xyE7KpFdk2oS/oCAI/q3r29MaMKuY7uduqelUIbTew== dependencies: - "@stacks/common" "^3.0.0" - "@stacks/network" "^3.0.0" + "@noble/hashes" "^1.0.0" + "@noble/secp256k1" "^1.5.2" + "@stacks/common" "^3.3.0" + "@stacks/network" "^3.3.0" "@types/bn.js" "^4.11.6" - "@types/elliptic" "^6.4.12" "@types/node" "^14.14.43" "@types/randombytes" "^2.0.0" "@types/sha.js" "^2.4.0" - bn.js "^4.12.0" + bn.js "^5.2.0" c32check "^1.1.3" cross-fetch "^3.1.4" - elliptic "^6.5.4" - lodash "^4.17.20" + lodash.clonedeep "^4.5.0" randombytes "^2.1.0" ripemd160-min "^0.0.6" sha.js "^2.4.11" @@ -3807,7 +3817,7 @@ sha.js "^2.4.11" smart-buffer "^4.1.0" -"@stacks/transactions@^3.0.0", "@stacks/transactions@^3.1.0", "@stacks/transactions@^3.2.0": +"@stacks/transactions@^3.1.0": version "3.2.0" resolved "https://registry.yarnpkg.com/@stacks/transactions/-/transactions-3.2.0.tgz#15138d008332bb7a001f93750ca8490531e0fc15" integrity sha512-7exiwNjlUk0kkmNc76ttJXYezGJLLgDTSDGCi396CvJgkdHgSUZefPkBivHOJsMGnNnZcu2QLpWRauQzwIE7qg== @@ -3885,26 +3895,26 @@ use-events "^1.4.1" use-onclickoutside "npm:use-onclickoutside-peer-deps@0.3.1" -"@stacks/wallet-sdk@3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@stacks/wallet-sdk/-/wallet-sdk-3.0.0.tgz#20226a38600693ae146b5744d435f6ae4008f04f" - integrity sha512-61GnQpg8izW/WEJUSmRF7rq1tC1lghANk4DahENj/vi5hIwEUFbTFnCQ8mshpuFK7I7giaTiugx+qtKrC7xRyw== - dependencies: - "@stacks/auth" "^3.0.0" - "@stacks/common" "^3.0.0" - "@stacks/encryption" "^3.0.0" - "@stacks/network" "^3.0.0" - "@stacks/profile" "^3.0.0" - "@stacks/storage" "^3.0.0" - "@stacks/transactions" "^3.0.0" - bip32 "2.0.6" +"@stacks/wallet-sdk@3.4.0": + version "3.4.0" + resolved "https://registry.yarnpkg.com/@stacks/wallet-sdk/-/wallet-sdk-3.4.0.tgz#f244661a3bc0d3cd4da034a76d332bc270b8f747" + integrity sha512-opHSAx7vl4SNqb/6448UxmWZrw3wzz6+MiXXtF+dlwXENecWNr0ebWwAcV4SlGeQeFuF54pPw4roSix+MbnM9A== + dependencies: + "@stacks/auth" "^3.3.0" + "@stacks/common" "^3.3.0" + "@stacks/encryption" "^3.3.0" + "@stacks/network" "^3.3.0" + "@stacks/profile" "^3.3.0" + "@stacks/storage" "^3.3.0" + "@stacks/transactions" "^3.3.0" + bip32 "^2.0.6" bip39 "^3.0.2" - bitcoinjs-lib "^5.1.6" - bn.js "^4.12.0" + bitcoinjs-lib "^5.2.0" + bn.js "^5.2.0" c32check "^1.1.3" jsontokens "^3.0.0" randombytes "^2.1.0" - triplesec "^3.0.27" + triplesec "^4.0.3" zone-file "^2.0.0-beta.3" "@stdlib/array-float64@^0.0.x": @@ -7070,7 +7080,7 @@ bip174@^2.0.1: resolved "https://registry.yarnpkg.com/bip174/-/bip174-2.0.1.tgz#39cf8ca99e50ce538fb762589832f4481d07c254" integrity sha512-i3X26uKJOkDTAalYAp0Er+qGMDhrbbh2o93/xiPyAN2s25KrClSpe3VXo/7mNJoqA5qfko8rLS2l3RWZgYmjKQ== -bip32@2.0.6, bip32@^2.0.4: +bip32@2.0.6, bip32@^2.0.4, bip32@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/bip32/-/bip32-2.0.6.tgz#6a81d9f98c4cd57d05150c60d8f9e75121635134" integrity sha512-HpV5OMLLGTjSVblmrtYRfFFKuQB+GArM0+XP8HGWfJ5vxYBqo+DesvJwOdC2WJ3bCkZShGf0QIfoIpeomVzVdA== @@ -7105,7 +7115,7 @@ bitcoin-ops@^1.3.0, bitcoin-ops@^1.4.0: resolved "https://registry.yarnpkg.com/bitcoin-ops/-/bitcoin-ops-1.4.1.tgz#e45de620398e22fd4ca6023de43974ff42240278" integrity sha512-pef6gxZFztEhaE9RY9HmWVmiIHqCb2OyS4HPKkpc6CIiiOa3Qmuoylxc5P2EkU3w+5eTSifI9SEZC88idAIGow== -bitcoinjs-lib@5.2.0, bitcoinjs-lib@^5.1.10, bitcoinjs-lib@^5.1.6, bitcoinjs-lib@^5.2.0: +bitcoinjs-lib@5.2.0, bitcoinjs-lib@^5.1.10, bitcoinjs-lib@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/bitcoinjs-lib/-/bitcoinjs-lib-5.2.0.tgz#caf8b5efb04274ded1b67e0706960b93afb9d332" integrity sha512-5DcLxGUDejgNBYcieMIUfjORtUeNWl828VWLHJGVKZCb4zIS1oOySTUr0LGmcqJBQgTBz3bGbRQla4FgrdQEIQ== @@ -18570,10 +18580,10 @@ trim-repeated@^1.0.0: dependencies: escape-string-regexp "^1.0.2" -triplesec@^3.0.27: - version "3.0.27" - resolved "https://registry.yarnpkg.com/triplesec/-/triplesec-3.0.27.tgz#43ba5a9f0e11ebba20c7563ecca947b2f94e82c5" - integrity sha512-FDhkxa3JYnPOerOd+8k+SBmm7cb7KkyX+xXwNFV3XV6dsQgHuRvjtbnzWfPJ2kimeR8ErjZfPd/6r7RH6epHDw== +triplesec@^4.0.3: + version "4.0.3" + resolved "https://registry.yarnpkg.com/triplesec/-/triplesec-4.0.3.tgz#fce5b89821b24d3a03bd09a15a4baecbd6a9b7a4" + integrity sha512-fug70e1nJoCMxsXQJlETisAALohm84vl++IiTTHEqM7Lgqwz62jrlwqOC/gJEAJjO/ByN127sEcioB56HW3wIw== dependencies: iced-error ">=0.0.9" iced-lock "^1.0.1"