From 597ab0b7b553695dd88b030574e81704e305735b Mon Sep 17 00:00:00 2001 From: Tim Olson <> Date: Mon, 27 Nov 2023 00:52:51 -0400 Subject: [PATCH] sendVaultInfo as independent function --- vault.js | 64 ++++++++++++++++++++++++++++++-------------------------- 1 file changed, 34 insertions(+), 30 deletions(-) diff --git a/vault.js b/vault.js index 7ebd310..ceed8a8 100644 --- a/vault.js +++ b/vault.js @@ -36,6 +36,22 @@ async function emitBalances(socket, chainId, vault) { } +async function sendVaultInfo(socket, chainId, owner) { + const found = [] + for (let num = 0; ; num++) { + const vault = vaultAddress(chainId, owner, num) + if (vault !== null && await vaults.contains(chainId, vault)) { + found.push(vault) + const balances = await emitBalances(socket, chainId, vault); + console.log('found vault', vault, balances) + } else + break + } + socket.emit('vaults', chainId, owner, found) + for (const vault of found) + sendVaultOrders(socket, chainId, vault) +} + export async function loginAddress(socket, chainId, address) { if( socket.user_room !== undefined) socket.leave(socket.user_room) @@ -45,45 +61,33 @@ export async function loginAddress(socket, chainId, address) { else { socket.user_room = `${chainId}|${address}` socket.join(socket.user_room) - console.log('joined room', socket.user_room) - const found = [] - for( let num = 0; ; num++ ) { - const vault = vaultAddress(chainId, address, num) - if(vault !== null && await vaults.contains(chainId, vault)) { - found.push(vault) - const balances = await emitBalances(socket, chainId, vault); - console.log('found vault', vault, balances) - } - else - break - } - socket.emit('vaults', chainId, address, found) - for( const vault of found ) - sendVaultOrders(socket, chainId, vault) + console.log('joined user room', socket.user_room) + await sendVaultInfo(socket, chainId, address); } } export async function ensureVault(socket, chainId, owner, num) { - if( !(chainId in chainInfo) ) - return console.log('ensureVault', chainId, owner, num) - const address = vaultAddress(chainId, owner, num) - if (!await vaults.contains(chainId,address)) { - try { - const vault = await createVault(chainId, owner, num) - console.log(vault) - if (vault !== null) { - socket.emit('vaults', chainId, owner, [vault]) - await emitBalances(socket, chainId, vault) + if( chainId in chainInfo ) { + const address = vaultAddress(chainId, owner, num) + if (!await vaults.contains(chainId,address)) { + try { + const vault = await createVault(chainId, owner, num) + console.log(vault) + if (vault !== null) { + socket.emit('vaults', chainId, owner, [vault]) + await emitBalances(socket, chainId, vault) + } + else + console.error('got null vault for chainId', chainId) + } catch { } - else - console.error('got null vault for chainId', chainId) - } catch { } + else + console.log('ensureVault', owner, 'exists:', address) } - else - console.log('ensureVault', owner, 'exists:', address) + await sendVaultInfo(socket, chainId, owner) }