From aee6d96282c97e424e17b4761e0e9aa86b89b85b Mon Sep 17 00:00:00 2001 From: SDargarh Date: Tue, 7 May 2024 13:54:43 +0530 Subject: [PATCH] updated restoring and recovering vault --- src/lib/keyring.js | 6 +++++- src/lib/test/keyring.test.js | 2 +- src/lib/vault.js | 15 +++++++++++++-- 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/lib/keyring.js b/src/lib/keyring.js index 42cd72d..7e284f2 100644 --- a/src/lib/keyring.js +++ b/src/lib/keyring.js @@ -480,7 +480,11 @@ class Keyring { const numberOfAcc = this.decryptedVault[chainData.chain.toLowerCase()].numberOfAccounts; for (let i = 0; i < numberOfAcc; i++) { - await this[chainData.chain].addAccount(); + if(chainData.chain.toLowerCase() === 'stacks' && i === 0) { + await this[chainData.chain].generateWallet() + } else { + await this[chainData.chain].addAccount(); + } } }) } diff --git a/src/lib/test/keyring.test.js b/src/lib/test/keyring.test.js index 60e4bf8..91d97c9 100644 --- a/src/lib/test/keyring.test.js +++ b/src/lib/test/keyring.test.js @@ -19,7 +19,7 @@ let impAccAddress let chains const ethUrl = 'https://mainnet.infura.io/v3/6145d532688844c4b6db32574d90e19f'; -const polygonRpcUrl = 'https://rpc-mumbai.maticvigil.com'; +const polygonRpcUrl = 'https://polygon-testnet.public.blastapi.io'; const bscRpcUrl = 'https://rpc.ankr.com/bsc'; beforeAll(async() => { diff --git a/src/lib/vault.js b/src/lib/vault.js index 2074f39..8f4cc6c 100644 --- a/src/lib/vault.js +++ b/src/lib/vault.js @@ -159,9 +159,20 @@ class Vault extends Keyring { let obj = {} for ( let chain of nonEvmChainList) { const keyringInstance = await helper.getCoinInstance(chain.toLowerCase(), mnemonic); - - let {address} = await keyringInstance.addAccount(); + let address + if(chain === 'stacks') { + address = (await keyringInstance.generateWallet()).address; + } else { + address = (await keyringInstance.addAccount()).address; + } + const accArray = await helper.getAccountsFromLogs(chain, keyringInstance, vaultState, logs, address); + + if(chain === 'stacks') { + for( let ele of accArray) { + ele.address = ele.address.toUpperCase(); + } + } const numberOfAcc = accArray.length; rawVault[chain.toLowerCase()] = { public: accArray, numberOfAccounts: numberOfAcc }