diff --git a/.github/workflows/s3-hotfix.yml b/.github/workflows/s3-hotfix.yml index 9d1b8eaa7..49cbac2a8 100644 --- a/.github/workflows/s3-hotfix.yml +++ b/.github/workflows/s3-hotfix.yml @@ -29,3 +29,11 @@ jobs: aws-region: ${{ secrets.AWS_REGION }} - name: Deploy app build to S3 bucket run: aws s3 sync ./dist/spa s3://astar-apps --delete + - name: Create Pull Request + uses: peter-evans/create-pull-request@v5 + with: + title: 'Merge release-hotfix to main' + body: 'This is an auto-generated PR to merge release-hotfix to main' + branch: main + base: release-hotfix + delete-branch: false diff --git a/.github/workflows/s3-production.yml b/.github/workflows/s3-production.yml index 954625d33..a7178bceb 100644 --- a/.github/workflows/s3-production.yml +++ b/.github/workflows/s3-production.yml @@ -26,3 +26,11 @@ jobs: aws-region: ${{ secrets.AWS_REGION }} - name: Deploy app build to S3 bucket run: aws s3 sync ./dist/spa s3://astar-apps --delete + - name: Create Pull Request + uses: peter-evans/create-pull-request@v5 + with: + title: 'Merge main to release-hotfix' + body: 'This is an auto-generated PR to merge main to release-hotfix' + branch: release-hotfix + base: main + delete-branch: false diff --git a/.gitignore b/.gitignore index f525a9acc..cf33f648d 100644 --- a/.gitignore +++ b/.gitignore @@ -35,12 +35,12 @@ yarn-error.log* # Firebase cache .firebase/ -/test-results/ -/playwright-report/ -/playwright/.cache/ -/test-results/ -/playwright-report/ -/playwright/.cache/ + +# End-to-end tests +test-results/ +playwright-report/ +playwright/.cache/ + # Zombienet binaries zombienet-macos diff --git a/package.json b/package.json index 27551b51c..3f46038b2 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "@polkadot/api": "^9.13.6", "@polkadot/api-contract": "^9.13.6", "@polkadot/extension-dapp": "0.44.8", + "@polkadot/hw-ledger": "^12.1.2", "@polkadot/keyring": "^10.3.1", "@polkadot/networks": "^10.3.1", "@polkadot/rpc-provider": "^9.13.6", diff --git a/playwright-report/index.html b/playwright-report/index.html deleted file mode 100644 index a7840590a..000000000 --- a/playwright-report/index.html +++ /dev/null @@ -1,62 +0,0 @@ - - - - - - - - - Playwright Test Report - - - - -
- - - - \ No newline at end of file diff --git a/playwright.config.ts b/playwright.config.ts index eb6fd743d..1f84d1ff2 100644 --- a/playwright.config.ts +++ b/playwright.config.ts @@ -25,7 +25,7 @@ export default defineConfig({ /* Fail the build on CI if you accidentally left test.only in the source code. */ forbidOnly: !!process.env.CI, /* Retry on CI only */ - retries: process.env.CI ? 2 : 0, + retries: process.env.CI ? 1 : 0, /* Limit workers to 1 because tests depends on a single Zombienet instance. It shouldn't be like that but spawning Zombienet for every test is time consuming. diff --git a/src/components/dapp-staking/my-staking/MyRewards.vue b/src/components/dapp-staking/my-staking/MyRewards.vue index f85883951..567ddf499 100644 --- a/src/components/dapp-staking/my-staking/MyRewards.vue +++ b/src/components/dapp-staking/my-staking/MyRewards.vue @@ -46,9 +46,26 @@ {{ $n(pendingRewards) }} {{ nativeTokenSymbol }} - - ({{ amountOfEras }} {{ $t('myReward.era') }}{{ amountOfEras > 1 ? 's' : '' }}) - +
+ + ({{ amountOfEras }} {{ $t('myReward.era') }}{{ amountOfEras > 1 ? 's' : '' }}) + + + + +
+ {{ $t('myReward.claimable.limitation') }} +
+
+
+ {{ $t('myReward.claimable.nativeWallets') }} + {{ $t('myReward.claimable.ledgerX') }} + {{ $t('myReward.claimable.ledgerSPlus') }} + {{ $t('myReward.claimable.ledgerS') }} +
+
+
+
(() => { + if (isLedgerAccount.value) { + return isLedgerNanoS.value ? MAX_BATCH_WEIGHT_LEDGER_S : MAX_BATCH_WEIGHT_LEDGER; + } else { + return MAX_BATCH_WEIGHT; + } + }); const transferableBalance = computed(() => { const balance = accountData.value @@ -41,7 +53,7 @@ export function useClaimAll() { return Number(balance); }); - watchEffect(async () => { + const updateClaimEras = async (): Promise => { try { isLoading.value = true; const api = $api; @@ -82,7 +94,9 @@ export function useClaimAll() { } finally { isLoading.value = false; } - }); + }; + + watch([isSendingTx, senderAddress], updateClaimEras); const claimAll = async (): Promise => { const api = $api; @@ -100,7 +114,7 @@ export function useClaimAll() { for (let i = 0; i < batchTxsRef.length; i++) { const tx = batchTxsRef[i]; const weight = tx.isWeightV2 ? tx.asWeightV2().refTime.toBn() : tx.asWeightV1(); - if (totalWeight.add(weight).gt(MAX_BATCH_WEIGHT)) { + if (totalWeight.add(weight).gt(maxBatchWeight.value)) { break; } diff --git a/src/hooks/wallet/useLedger.ts b/src/hooks/wallet/useLedger.ts new file mode 100644 index 000000000..068594391 --- /dev/null +++ b/src/hooks/wallet/useLedger.ts @@ -0,0 +1,97 @@ +import { Ledger } from '@polkadot/hw-ledger'; +import { useAccount } from 'src/hooks/useAccount'; +import { useStore } from 'src/store'; +import { computed, ref, watch } from 'vue'; + +enum LedgerId { + nanoS = 'nanoS', + nanoSPlus = 'nanoSP', + nanoX = 'nanoX', +} + +export const useLedger = () => { + const isLedgerAccount = ref(false); + const isLedgerNanoS = ref(false); + const ledger = ref(); + const ledgerAccount = ref(''); + const { currentAccount } = useAccount(); + + const store = useStore(); + const isH160 = computed(() => store.getters['general/isH160Formatted']); + + const handleReset = (): void => { + isLedgerAccount.value = false; + isLedgerNanoS.value = false; + ledger.value = undefined; + ledgerAccount.value = ''; + }; + + const handleLedgerData = async (): Promise => { + // Memo: make sure `transport` has been closed before creating ledger transport + if (ledger.value && ledgerAccount.value) { + const transport = (ledger.value as any).__internal__app.transport; + transport.close(); + } + + if (!currentAccount.value || isH160.value) { + handleReset(); + return; + } + try { + if (!('hid' in window.navigator)) { + console.error('WebHID API is not supported in this browser.'); + handleReset(); + return; + } + + const hidDevices = (await (window.navigator as any).hid.getDevices()) as any; + if (process.env.DEV) { + console.info('hidDevices', hidDevices); + } + + if (hidDevices.length === 0) { + handleReset(); + return; + } + + hidDevices.some(async (device: any) => { + try { + if (device?.productName?.toLowerCase().includes('nano')) { + const ledgerData = new Ledger('hid', 'astar'); + const { address } = await ledgerData.getAddress(); + if (process.env.DEV) { + console.info('ledgerData', ledgerData); + } + + if (address) { + ledger.value = ledgerData; + const deviceModel = (ledgerData as any).__internal__app.transport.deviceModel; + ledgerAccount.value = address; + isLedgerAccount.value = address === currentAccount.value; + isLedgerNanoS.value = deviceModel.id === LedgerId.nanoS; + } else { + handleReset(); + } + } + } catch (error: any) { + const idLedgerLocked = '0x5515'; + if (error.message.includes(idLedgerLocked)) { + store.dispatch('general/showAlertMsg', { + msg: error.message, + alertType: 'error', + }); + handleReset(); + } + } finally { + return; + } + }); + } catch (error) { + handleReset(); + } + }; + + watch([currentAccount], handleLedgerData, { immediate: true }); + + return { isLedgerAccount, isLedgerNanoS }; +}; diff --git a/src/i18n/en-US/index.ts b/src/i18n/en-US/index.ts index d8458aecf..72acff59c 100644 --- a/src/i18n/en-US/index.ts +++ b/src/i18n/en-US/index.ts @@ -199,6 +199,14 @@ export default { 'The number of eras that is shown here is per dApp. You may need to claim multiple times if you have too many unclaimed eras.', restakeTip: 'By turning on, your rewards will be automatically re-staked when you make a claim.', + claimable: { + limitation: + 'There is a limitation on the number of eras that can be claimed in one transaction.', + nativeWallets: 'Native wallets: ≒56 eras', + ledgerX: 'Ledger Nano X: 6 eras', + ledgerSPlus: 'Ledger Nano S Plus: 6 eras', + ledgerS: 'Ledger Nano S: 2 eras', + }, }, dappStaking: { myStaking: 'My Staking', diff --git a/tests/common-api.ts b/tests/common-api.ts index 7d8617a0a..34fc764ad 100644 --- a/tests/common-api.ts +++ b/tests/common-api.ts @@ -6,6 +6,7 @@ import { sendTransaction } from './zombienet/tx-utils'; import { KeyringPair } from '@polkadot/keyring/types'; import { cryptoWaitReady } from '@polkadot/util-crypto'; import { EraStakingPointsIndividualClaim } from 'src/store/dapp-staking/calculation'; +import { RewardDestination } from 'src/v2/models'; export const NODE_ENDPOINT = process.env.ENDPOINT || 'ws://127.0.0.1:57083'; export let chainDecimals = 18; @@ -90,3 +91,10 @@ export const forceUnbondingPeriod = async (): Promise => { await sendTransaction(api.tx.sudo.sudo(api.tx.dappsStaking.forceNewEra()), signer); } }; + +export const setRewardDestination = async (rewardDestination: RewardDestination): Promise => { + const api = await getApi(); + const signer = await getSigner(); + const tx = api.tx.dappsStaking.setRewardDestination(rewardDestination); + await sendTransaction(tx, signer); +}; diff --git a/tests/dappstaking-transactions.spec.ts b/tests/dappstaking-transactions.spec.ts index 104c7ad49..188baa1bf 100644 --- a/tests/dappstaking-transactions.spec.ts +++ b/tests/dappstaking-transactions.spec.ts @@ -15,9 +15,8 @@ import { forceNewEra, getAccountLedger, getBalance, - getContractEraStake, - getCurrentEra, getStakedAmount, + setRewardDestination, } from './common-api'; const TEST_DAPP_ADDRESS = '0x0000000000000000000000000000000000000001'; @@ -124,7 +123,7 @@ test.describe('dApp staking transactions', () => { await forceNewEra(); await page.goto('/custom-node/dapp-staking/discover'); - page.getByRole('button', { name: 'Claim' }).click(); + await page.getByRole('button', { name: 'Claim' }).click(); await signTransaction(context); await expect(page.getByText('Success', { exact: true }).first()).toBeVisible(); @@ -139,12 +138,13 @@ test.describe('dApp staking transactions', () => { await stake(page, context, BigInt(1000)); // Check initial state + await setRewardDestination('StakeBalance'); await expect(page.getByText('ON', { exact: true })).toBeVisible(); await expect(page.getByRole('button', { name: 'Turn off' })).toBeVisible(); let ledger = await getAccountLedger(ALICE_ADDRESS); expect(ledger.rewardDestination.toString()).toEqual('StakeBalance'); - page.getByRole('button', { name: 'Turn off' }).click(); + await page.getByRole('button', { name: 'Turn off' }).click(); await signTransaction(context); await page.waitForSelector('.four', { state: 'hidden' }); await expect(page.getByText('OFF', { exact: true })).toBeVisible(); @@ -152,7 +152,7 @@ test.describe('dApp staking transactions', () => { ledger = await getAccountLedger(ALICE_ADDRESS); expect(ledger.rewardDestination.toString()).toEqual('FreeBalance'); - page.getByRole('button', { name: 'Turn on' }).click(); + await page.getByRole('button', { name: 'Turn on' }).click(); await signTransaction(context); await page.waitForSelector('.four', { state: 'hidden' }); await expect(page.getByText('ON', { exact: true })).toBeVisible(); diff --git a/yarn.lock b/yarn.lock index b060ae8d0..20ab993d2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2079,6 +2079,80 @@ "@types/yargs" "^15.0.0" chalk "^4.0.0" +"@ledgerhq/devices@^8.0.1": + version "8.0.1" + resolved "https://registry.yarnpkg.com/@ledgerhq/devices/-/devices-8.0.1.tgz#4c475f6ae249daf00ef08f5098924206233f3179" + integrity sha512-8uuyR8DGowYBLatur+MyJtRJ8RYDWSFFqGnNmgBBdlRG6VPf9vjhrFZlmYqukWesPwkZNZstP475W4TS+j6EFw== + dependencies: + "@ledgerhq/errors" "^6.12.4" + "@ledgerhq/logs" "^6.10.1" + rxjs "6" + semver "^7.3.5" + +"@ledgerhq/errors@^6.12.4": + version "6.12.4" + resolved "https://registry.yarnpkg.com/@ledgerhq/errors/-/errors-6.12.4.tgz#1c2f75dc3dee91b069f3446be484fa28676d1b45" + integrity sha512-qi5poMrcIuFuivdzRjjQsNp7rRwUA5v3eo6D4yEy+l+w8wT4d4JtQ5u1TbrlGfFHfgLq7Lv6dsvh2ooLyWTyfg== + +"@ledgerhq/hw-transport-node-hid-noevents@^6.27.13": + version "6.27.13" + resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport-node-hid-noevents/-/hw-transport-node-hid-noevents-6.27.13.tgz#96f3667a18ea3602160af5d08db677ae0b8e3bb7" + integrity sha512-Lq85zoc95eb5npudlgTARVrB57jbk8oZ8KuyVOovNm1AjR0OrYfl0iCqw49h+SL/UFWWVyBisLg6IOYCpj1SNQ== + dependencies: + "@ledgerhq/devices" "^8.0.1" + "@ledgerhq/errors" "^6.12.4" + "@ledgerhq/hw-transport" "^6.28.2" + "@ledgerhq/logs" "^6.10.1" + node-hid "^2.1.2" + +"@ledgerhq/hw-transport-node-hid-singleton@^6.28.10": + version "6.28.10" + resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport-node-hid-singleton/-/hw-transport-node-hid-singleton-6.28.10.tgz#a3322f632cf1fe9242158243617ee3c9b0412205" + integrity sha512-4Kky843f1A6yHHiastIHgu/W4p/Awj57W8cs1UM2OyS9HtirNSQdluuPdd5pNXm6RF5AIq/EQFSnMr/BXiYtwQ== + dependencies: + "@ledgerhq/devices" "^8.0.1" + "@ledgerhq/errors" "^6.12.4" + "@ledgerhq/hw-transport" "^6.28.2" + "@ledgerhq/hw-transport-node-hid-noevents" "^6.27.13" + "@ledgerhq/logs" "^6.10.1" + lodash "^4.17.21" + node-hid "^2.1.2" + usb "2.5.1" + +"@ledgerhq/hw-transport-webhid@^6.27.13": + version "6.27.13" + resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport-webhid/-/hw-transport-webhid-6.27.13.tgz#c14a2b4b64241cf6206c49e618edb86b28573796" + integrity sha512-VDQ8i08Atc7QQJ1+JE+EtuKoxBNL+ySyxMnzVAABMzhy6LGCwxzfNKP7Pb9vZNruWyRYVNCN3RiNPCMmiCDd1g== + dependencies: + "@ledgerhq/devices" "^8.0.1" + "@ledgerhq/errors" "^6.12.4" + "@ledgerhq/hw-transport" "^6.28.2" + "@ledgerhq/logs" "^6.10.1" + +"@ledgerhq/hw-transport-webusb@^6.27.13": + version "6.27.13" + resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport-webusb/-/hw-transport-webusb-6.27.13.tgz#272c38aad7d090c748f6c7fd85e5a579aa1bbae4" + integrity sha512-1X7xMdcEE/XVD0k5yO8DygR/gik3M9jDHynu8WxpIFDxAULWN5nyM2vWeXXGYl/MM75jV+OehWJ4oFhYGsn3rw== + dependencies: + "@ledgerhq/devices" "^8.0.1" + "@ledgerhq/errors" "^6.12.4" + "@ledgerhq/hw-transport" "^6.28.2" + "@ledgerhq/logs" "^6.10.1" + +"@ledgerhq/hw-transport@^6.27.1", "@ledgerhq/hw-transport@^6.28.2": + version "6.28.2" + resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport/-/hw-transport-6.28.2.tgz#483f9a39403ee63b03d452e30bfe8189dcca5785" + integrity sha512-2LxQdZnhSzu394brKuUZIWfuT2YAyNI3glRMf8+yHx3wUFqi10v8NzII99SHDyT8tN3Ovzmq+hbGHvrR2PqYRA== + dependencies: + "@ledgerhq/devices" "^8.0.1" + "@ledgerhq/errors" "^6.12.4" + events "^3.3.0" + +"@ledgerhq/logs@^6.10.1": + version "6.10.1" + resolved "https://registry.yarnpkg.com/@ledgerhq/logs/-/logs-6.10.1.tgz#5bd16082261d7364eabb511c788f00937dac588d" + integrity sha512-z+ILK8Q3y+nfUl43ctCPuR4Y2bIxk/ooCQFwZxhtci1EhAtMDzMAx2W25qx8G1PPL9UUOdnUax19+F0OjXoj4w== + "@noble/hashes@1.1.5": version "1.1.5" resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.1.5.tgz#1a0377f3b9020efe2fae03290bd2a12140c95c11" @@ -2089,6 +2163,11 @@ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.2.0.tgz#a3150eeb09cc7ab207ebf6d7b9ad311a9bdbed12" integrity sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ== +"@noble/hashes@^1.2.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.0.tgz#085fd70f6d7d9d109671090ccae1d3bec62554a1" + integrity sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg== + "@noble/secp256k1@1.7.0": version "1.7.0" resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.0.tgz#d15357f7c227e751d90aa06b05a0e5cf993ba8c1" @@ -2487,6 +2566,29 @@ "@polkadot/util-crypto" "^10.2.3" "@polkadot/x-global" "^10.2.3" +"@polkadot/hw-ledger-transports@12.1.2": + version "12.1.2" + resolved "https://registry.yarnpkg.com/@polkadot/hw-ledger-transports/-/hw-ledger-transports-12.1.2.tgz#3d429f1c7217fb49ad61a7898904059d305966cd" + integrity sha512-XRpySQyXR4/ZJl8njkELnq/+rKvEFCqPQYS6eFYJqaw19PLuSSbXCVlI6hEUWY62zhX1FxN3T5tGL3T9UjIwAQ== + dependencies: + "@ledgerhq/hw-transport" "^6.28.2" + "@ledgerhq/hw-transport-webhid" "^6.27.13" + "@ledgerhq/hw-transport-webusb" "^6.27.13" + "@polkadot/util" "12.1.2" + tslib "^2.5.0" + optionalDependencies: + "@ledgerhq/hw-transport-node-hid-singleton" "^6.28.10" + +"@polkadot/hw-ledger@^12.1.2": + version "12.1.2" + resolved "https://registry.yarnpkg.com/@polkadot/hw-ledger/-/hw-ledger-12.1.2.tgz#e7a45554e88a3784d8da0c041fa000c91f50c494" + integrity sha512-rPvkjPjOMZOc9qpuhHJITZEVM3GBlU1cAnbnrSNOAMoF0739SOCH51oIMdti5rq8dxwohw8OAoU/FKoNCRnSJw== + dependencies: + "@polkadot/hw-ledger-transports" "12.1.2" + "@polkadot/util" "12.1.2" + "@zondax/ledger-substrate" "^0.40.7" + tslib "^2.5.0" + "@polkadot/keyring@^10.2.3": version "10.2.3" resolved "https://registry.yarnpkg.com/@polkadot/keyring/-/keyring-10.2.3.tgz#cf33f599e7018398e0eca119207514eef4106e7a" @@ -2846,6 +2948,19 @@ "@types/bn.js" "^5.1.1" bn.js "^5.2.1" +"@polkadot/util@12.1.2": + version "12.1.2" + resolved "https://registry.yarnpkg.com/@polkadot/util/-/util-12.1.2.tgz#3d54895a5bb6a4d59eb1d745e191224d3f0ed0b1" + integrity sha512-Da8q+0WVWSuMMS3hLAwnIid8FKRGLmwhD69jikye47zeEXCtvp4e/bjD0YbINNKHoeIRsApchJtqmbaEoxXjIQ== + dependencies: + "@polkadot/x-bigint" "12.1.2" + "@polkadot/x-global" "12.1.2" + "@polkadot/x-textdecoder" "12.1.2" + "@polkadot/x-textencoder" "12.1.2" + "@types/bn.js" "^5.1.1" + bn.js "^5.2.1" + tslib "^2.5.0" + "@polkadot/vue-identicon@^2.11.1": version "2.11.1" resolved "https://registry.yarnpkg.com/@polkadot/vue-identicon/-/vue-identicon-2.11.1.tgz#acf3df0430e2942bfbe46ee08072466a10b4ecb0" @@ -2932,6 +3047,14 @@ "@babel/runtime" "^7.20.13" "@polkadot/x-global" "10.4.2" +"@polkadot/x-bigint@12.1.2": + version "12.1.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-bigint/-/x-bigint-12.1.2.tgz#c735dd71a5e6a4dbb8075288ad6dddbfbab45a05" + integrity sha512-KU7C8HlJ2kO6Igg2Jq2Q/eAdll3HuVoylYcyVQxevcrC2fXhC2PDIEa+iWHBPz40p2TvI9sBZKrCsDDGz9K6sw== + dependencies: + "@polkadot/x-global" "12.1.2" + tslib "^2.5.0" + "@polkadot/x-fetch@^10.2.3": version "10.2.3" resolved "https://registry.yarnpkg.com/@polkadot/x-fetch/-/x-fetch-10.2.3.tgz#be33d1ad3170c2f7d5c9fb91349d45c4780197e9" @@ -2973,6 +3096,13 @@ dependencies: "@babel/runtime" "^7.20.13" +"@polkadot/x-global@12.1.2": + version "12.1.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-global/-/x-global-12.1.2.tgz#e887f0e82f2d7c075aae4309bf09830e99ba742d" + integrity sha512-WGwPQN27hpwhVOQGUizJfmNJRxkijMwECMPUAYtSSgJhkV5MwWeFuVebfUjgHceakEvDRQWzEX6JjV6TttnPZw== + dependencies: + tslib "^2.5.0" + "@polkadot/x-randomvalues@10.2.3": version "10.2.3" resolved "https://registry.yarnpkg.com/@polkadot/x-randomvalues/-/x-randomvalues-10.2.3.tgz#2ed39a6c7806aa17c5816b69cd143a98bd284ca2" @@ -3021,6 +3151,14 @@ "@babel/runtime" "^7.20.13" "@polkadot/x-global" "10.4.2" +"@polkadot/x-textdecoder@12.1.2": + version "12.1.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-textdecoder/-/x-textdecoder-12.1.2.tgz#35d5fc7312aa48d1f2002a594545b2938333c8d6" + integrity sha512-O5ygxEHdPCIQVzH7T+xVALBfCwrT5tVms7Yjp6EMT697A9gpD3U2aPr4YinsQO6JFwYpQNzvm2wjW+7EEzYitw== + dependencies: + "@polkadot/x-global" "12.1.2" + tslib "^2.5.0" + "@polkadot/x-textencoder@10.2.3": version "10.2.3" resolved "https://registry.yarnpkg.com/@polkadot/x-textencoder/-/x-textencoder-10.2.3.tgz#d8f2554264a1540b9daec4e43675950f6fafa7b5" @@ -3045,6 +3183,14 @@ "@babel/runtime" "^7.20.13" "@polkadot/x-global" "10.4.2" +"@polkadot/x-textencoder@12.1.2": + version "12.1.2" + resolved "https://registry.yarnpkg.com/@polkadot/x-textencoder/-/x-textencoder-12.1.2.tgz#4259a7bc74d53c40e2deab752bad40d479f4a99b" + integrity sha512-N+9HIXT0eUQbfg/SfGrNRK8aLFpd2QngJzTxo8CljpjCvQ2ddqzBVFA8o/lKTaXVzX84EmPDzjIV+yJlOXnglA== + dependencies: + "@polkadot/x-global" "12.1.2" + tslib "^2.5.0" + "@polkadot/x-ws@^10.2.3": version "10.2.3" resolved "https://registry.yarnpkg.com/@polkadot/x-ws/-/x-ws-10.2.3.tgz#4f3bc1b47f6dfa4110208b222d404e2ae84ba2c5" @@ -3256,7 +3402,7 @@ dependencies: serialize-javascript "^5.0.1" -"@scure/base@1.1.1": +"@scure/base@1.1.1", "@scure/base@^1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.1.tgz#ebb651ee52ff84f420097055f4bf46cfba403938" integrity sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA== @@ -3854,6 +4000,11 @@ resolved "https://registry.yarnpkg.com/@types/validator/-/validator-13.7.11.tgz#96f158d89c16375189a7aa42adbdbe3adc971dbe" integrity sha512-WqTos+CnAKN64YwyBMhgUYhb5VsTNKwUY6AuzG5qu9/pFZJar/RJFMZBXwX7VS+uzYi+lIAr3WkvuWqEI9F2eg== +"@types/w3c-web-usb@1.0.6": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@types/w3c-web-usb/-/w3c-web-usb-1.0.6.tgz#5d8560d0d9f585ffc80865bc773db7bc975b680c" + integrity sha512-cSjhgrr8g4KbPnnijAr/KJDNKa/bBa+ixYkywFRvrhvi9n1WEl7yYbtRyzE6jqNQiSxxJxoAW3STaOQwJHndaw== + "@types/webpack-bundle-analyzer@4.4.1": version "4.4.1" resolved "https://registry.yarnpkg.com/@types/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.1.tgz#bcc2501be10c8cdd1d170bc6b7847b3321f20440" @@ -4463,6 +4614,20 @@ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== +"@zondax/ledger-substrate@^0.40.7": + version "0.40.7" + resolved "https://registry.yarnpkg.com/@zondax/ledger-substrate/-/ledger-substrate-0.40.7.tgz#e2909de326a43fa17649c177daef8244acd048e5" + integrity sha512-2Yttb5YydgpS2ZRu+mPE23SZCTnK8VPchd9vo1Neukv0YCQghJB5Ou+X69AN4elKs0VUc2FJd/j8SDmtuPEu9Q== + dependencies: + "@ledgerhq/hw-transport" "^6.27.1" + bip32 "^4.0.0" + bip32-ed25519 "https://github.com/Zondax/bip32-ed25519" + bip39 "^3.0.4" + blakejs "^1.2.1" + bs58 "^5.0.0" + chalk "^4.1.0" + hash.js "^1.1.7" + JSONStream@^1.0.4: version "1.3.5" resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" @@ -5096,6 +5261,11 @@ base-x@^3.0.2, base-x@^3.0.8: dependencies: safe-buffer "^5.0.1" +base-x@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/base-x/-/base-x-4.0.0.tgz#d0e3b7753450c73f8ad2389b5c018a4af7b2224a" + integrity sha512-FuwxlW4H5kh37X/oW59pwTzzTKRzfrrQwhmyspRM7swOEZcHtDZSCt45U6oKgtuFE+WYPblePMVIPR4RZrh/hw== + base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" @@ -5163,6 +5333,38 @@ binary-extensions@^2.0.0, binary-extensions@^2.2.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +"bip32-ed25519@https://github.com/Zondax/bip32-ed25519": + version "0.0.4" + resolved "https://github.com/Zondax/bip32-ed25519#0949df01b5c93885339bc28116690292088f6134" + dependencies: + bn.js "^5.1.1" + elliptic "^6.4.1" + hash.js "^1.1.7" + +bip32@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/bip32/-/bip32-4.0.0.tgz#7fac3c05072188d2d355a4d6596b37188f06aa2f" + integrity sha512-aOGy88DDlVUhspIXJN+dVEtclhIsfAUppD43V0j40cPTld3pv/0X/MlrZSZ6jowIaQQzFwP8M6rFU2z2mVYjDQ== + dependencies: + "@noble/hashes" "^1.2.0" + "@scure/base" "^1.1.1" + typeforce "^1.11.5" + wif "^2.0.6" + +bip39@^3.0.4: + version "3.1.0" + resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.1.0.tgz#c55a418deaf48826a6ceb34ac55b3ee1577e18a3" + integrity sha512-c9kiwdk45Do5GL0vJMe7tS95VjCii65mYAH7DfWl3uW8AVzXKQVUm64i3hzVybBDMp9r7j9iNxR85+ul8MdN/A== + dependencies: + "@noble/hashes" "^1.2.0" + bl@^4.0.3, bl@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" @@ -5177,6 +5379,11 @@ blakejs@^1.1.0: resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.1.1.tgz#bf313053978b2cd4c444a48795710be05c785702" integrity sha512-bLG6PHOCZJKNshTjGRBvET0vTciwQE6zFKOKKXPDJfwFBd4Ac0yBfPZqcGvGJap50l7ktvlpFqc2jGVaUgbJgg== +blakejs@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814" + integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ== + bluebird@^3.5.0: version "3.7.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" @@ -5372,7 +5579,14 @@ bs58@^4.0.0: dependencies: base-x "^3.0.2" -bs58check@^2.1.2: +bs58@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-5.0.0.tgz#865575b4d13c09ea2a84622df6c8cbeb54ffc279" + integrity sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ== + dependencies: + base-x "^4.0.0" + +bs58check@<3.0.0, bs58check@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== @@ -5667,7 +5881,7 @@ chokidar@3.5.2, "chokidar@>=3.0.0 <4.0.0", chokidar@^3.4.2, chokidar@^3.5.1, cho optionalDependencies: fsevents "~2.3.2" -chownr@^1.1.4: +chownr@^1.1.1, chownr@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== @@ -6618,6 +6832,13 @@ decompress-response@^3.2.0, decompress-response@^3.3.0: dependencies: mimic-response "^1.0.0" +decompress-response@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== + dependencies: + mimic-response "^3.1.0" + deep-eql@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-3.0.1.tgz#dfc9404400ad1c8fe023e7da1df1c147c4b444df" @@ -6762,6 +6983,11 @@ destroy@~1.0.4: resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80" integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA= +detect-libc@^2.0.0: + version "2.0.1" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.1.tgz#e1897aa88fa6ad197862937fbc0441ef352ee0cd" + integrity sha512-463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w== + detect-newline@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" @@ -7002,7 +7228,7 @@ elementtree@0.1.7: dependencies: sax "1.1.4" -elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.5.2, elliptic@^6.5.3: +elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.4.1, elliptic@^6.5.2, elliptic@^6.5.3: version "6.5.4" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== @@ -7662,6 +7888,11 @@ expand-brackets@^2.1.4: snapdragon "^0.8.1" to-regex "^3.0.1" +expand-template@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" + integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== + expect@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/expect/-/expect-26.6.2.tgz#c6b996bf26bf3fe18b67b2d0f51fc981ba934417" @@ -7878,6 +8109,11 @@ file-selector@^0.2.4: dependencies: tslib "^2.0.3" +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + fill-range@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" @@ -8277,6 +8513,11 @@ git-log-parser@^1.2.0: through2 "~2.0.0" traverse "~0.6.6" +github-from-package@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" + integrity sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw== + glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" @@ -10945,6 +11186,11 @@ mimic-response@^1.0.0, mimic-response@^1.0.1: resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== +mimic-response@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== + min-document@^2.19.0: version "2.19.0" resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" @@ -11002,6 +11248,11 @@ minimist@1.2.5, minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5: resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602" integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw== +minimist@^1.2.3: + version "1.2.8" + resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + minipass-collect@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" @@ -11087,6 +11338,11 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" +mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" + integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== + mkdirp-infer-owner@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/mkdirp-infer-owner/-/mkdirp-infer-owner-2.0.0.tgz#55d3b368e7d89065c38f32fd38e638f0ab61d316" @@ -11255,6 +11511,11 @@ nanomatch@^1.2.9: snapdragon "^0.8.1" to-regex "^3.0.1" +napi-build-utils@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806" + integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== + natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -11310,11 +11571,28 @@ nock@^13.2.9, nock@^13.3.0: lodash "^4.17.21" propagate "^2.0.0" +node-abi@^3.3.0: + version "3.40.0" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.40.0.tgz#51d8ed44534f70ff1357dfbc3a89717b1ceac1b4" + integrity sha512-zNy02qivjjRosswoYmPi8hIKJRr8MpQyeKT6qlcq/OnOgA3Rhoae+IYOqsM9V5+JnHWmxKnWOT2GxvtqdtOCXA== + dependencies: + semver "^7.3.5" + node-addon-api@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== +node-addon-api@^3.0.2: + version "3.2.1" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" + integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== + +node-addon-api@^4.2.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-4.3.0.tgz#52a1a0b475193e0928e98e0426a0d1254782b77f" + integrity sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ== + node-domexception@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5" @@ -11369,6 +11647,15 @@ node-gyp@^7.1.0, node-gyp@^7.1.2: tar "^6.0.2" which "^2.0.2" +node-hid@^2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/node-hid/-/node-hid-2.1.2.tgz#3145fa86ed4336a402a71e9f372c54213b88797c" + integrity sha512-qhCyQqrPpP93F/6Wc/xUR7L8mAJW0Z6R7HMQV8jCHHksAxNDe/4z4Un/H9CpLOT+5K39OPyt9tIQlavxWES3lg== + dependencies: + bindings "^1.5.0" + node-addon-api "^3.0.2" + prebuild-install "^7.1.1" + node-int64@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" @@ -12650,6 +12937,24 @@ postcss@^8.2.1, postcss@^8.2.10, postcss@^8.2.15, postcss@^8.3.11, postcss@^8.3. picocolors "^1.0.0" source-map-js "^0.6.2" +prebuild-install@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.1.1.tgz#de97d5b34a70a0c81334fd24641f2a1702352e45" + integrity sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw== + dependencies: + detect-libc "^2.0.0" + expand-template "^2.0.3" + github-from-package "0.0.0" + minimist "^1.2.3" + mkdirp-classic "^0.5.3" + napi-build-utils "^1.0.1" + node-abi "^3.3.0" + pump "^3.0.0" + rc "^1.2.7" + simple-get "^4.0.0" + tar-fs "^2.0.0" + tunnel-agent "^0.6.0" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -12992,7 +13297,7 @@ raw-loader@^4.0.2: loader-utils "^2.0.0" schema-utils "^3.0.0" -rc@^1.2.8: +rc@^1.2.7, rc@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -13432,7 +13737,7 @@ run-parallel@^1.1.9: dependencies: queue-microtask "^1.2.2" -rxjs@^6.6.3: +rxjs@6, rxjs@^6.6.3: version "6.6.7" resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== @@ -13843,6 +14148,15 @@ simple-get@^2.7.0: once "^1.3.1" simple-concat "^1.0.0" +simple-get@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-4.0.1.tgz#4a39db549287c979d352112fa03fd99fd6bc3543" + integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA== + dependencies: + decompress-response "^6.0.0" + once "^1.3.1" + simple-concat "^1.0.0" + simple-swizzle@^0.2.2: version "0.2.2" resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" @@ -14452,7 +14766,17 @@ tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== -tar-stream@^2.2.0: +tar-fs@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" + integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== + dependencies: + chownr "^1.1.1" + mkdirp-classic "^0.5.2" + pump "^3.0.0" + tar-stream "^2.1.4" + +tar-stream@^2.1.4, tar-stream@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== @@ -14791,7 +15115,7 @@ tslib@^2.0.3, tslib@^2.1.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== -tslib@^2.3.0: +tslib@^2.3.0, tslib@^2.5.0: version "2.5.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== @@ -14904,6 +15228,11 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" +typeforce@^1.11.5: + version "1.18.0" + resolved "https://registry.yarnpkg.com/typeforce/-/typeforce-1.18.0.tgz#d7416a2c5845e085034d70fcc5b6cc4a90edbfdc" + integrity sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g== + typescript@4.4.2: version "4.4.2" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.2.tgz#6d618640d430e3569a1dfb44f7d7e600ced3ee86" @@ -15089,6 +15418,15 @@ url@^0.11.0: punycode "1.3.2" querystring "0.2.0" +usb@2.5.1: + version "2.5.1" + resolved "https://registry.yarnpkg.com/usb/-/usb-2.5.1.tgz#27550f078a785144fbc19b5f6664742a066b961f" + integrity sha512-/VNr4wUL32KVqyrVJ1HGBhDEvklhouVh+8ehIGKv6FsOKz6MWlkYLLAEyXbRo72HXhhiFNj6bwz6L+bIk8F0Yw== + dependencies: + "@types/w3c-web-usb" "1.0.6" + node-addon-api "^4.2.0" + node-gyp-build "^4.3.0" + use@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" @@ -15898,6 +16236,13 @@ wide-align@^1.1.0, wide-align@^1.1.2: dependencies: string-width "^1.0.2 || 2 || 3 || 4" +wif@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/wif/-/wif-2.0.6.tgz#08d3f52056c66679299726fade0d432ae74b4704" + integrity sha512-HIanZn1zmduSF+BQhkE+YXIbEiH0xPr1012QbFEGB0xsKqJii0/SqJjyn8dFv6y36kOznMgMB+LGcbZTJ1xACQ== + dependencies: + bs58check "<3.0.0" + wildcard@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec"