From 6d99975a9ecd30eacdd820e6a2e9d85953568e57 Mon Sep 17 00:00:00 2001 From: Tim Olson <> Date: Mon, 30 Oct 2023 18:46:20 -0400 Subject: [PATCH] vault balance tracking --- src/blockchain/wallet.js | 18 +++++++++++++----- src/socket.js | 11 +++++------ 2 files changed, 18 insertions(+), 11 deletions(-) diff --git a/src/blockchain/wallet.js b/src/blockchain/wallet.js index 593f72d..c43bc0f 100644 --- a/src/blockchain/wallet.js +++ b/src/blockchain/wallet.js @@ -13,26 +13,34 @@ export function onChainChanged(chainId) { store.chainId = chainId store.account = null provider = new ethers.BrowserProvider(window.ethereum, chainId) - provider.listAccounts().then(onAccountsChanged) + provider.listAccounts().then(changeAccounts) new ethers.Interface([ // 'event DexorderSwapCreated' // todo ]) } } -function onAccountsChanged(accounts) { - // console.log('accounts changed', accounts) - const store = useStore() +function changeAccounts(accounts) { if( accounts.length === 0 ) { store.account = null + store.vaults = [] + store.vaultBalances = {} } - else if (accounts[0] !== store.account) { + else { + const store = useStore() store.account = accounts[0].address flushOrders() socket.emit('address', store.chainId, accounts[0].address) } } +function onAccountsChanged(accounts) { + // console.log('accounts changed', accounts) + const store = useStore() + if (accounts.length === 0 || accounts[0] !== store.account) + changeAccounts(store, accounts); +} + export async function watchWallet() { const chainId = (await new ethers.BrowserProvider(window.ethereum).getNetwork()).chainId onChainChanged(chainId) diff --git a/src/socket.js b/src/socket.js index 555942f..0253ae9 100644 --- a/src/socket.js +++ b/src/socket.js @@ -31,11 +31,10 @@ socket.on('p', async (pool, price) => { s.$patch({poolPrices: prices}) }) -socket.on('vb', async (vault, token, balance) => { +socket.on('vb', async (vault, balances) => { const s = useStore() - const balances = {} - balances[vault] = {} - balances[vault][token] = balance - s.$patch({vaultBalances: balances}) + console.log('vb', vault, balances) + const vb = JSON.parse(balances) + s.$patch({vaultBalances:vb}) + console.log('vault balances', vault, vb) }) -