sendVaultInfo as independent function
This commit is contained in:
64
vault.js
64
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) {
|
export async function loginAddress(socket, chainId, address) {
|
||||||
if( socket.user_room !== undefined)
|
if( socket.user_room !== undefined)
|
||||||
socket.leave(socket.user_room)
|
socket.leave(socket.user_room)
|
||||||
@@ -45,45 +61,33 @@ export async function loginAddress(socket, chainId, address) {
|
|||||||
else {
|
else {
|
||||||
socket.user_room = `${chainId}|${address}`
|
socket.user_room = `${chainId}|${address}`
|
||||||
socket.join(socket.user_room)
|
socket.join(socket.user_room)
|
||||||
console.log('joined room', socket.user_room)
|
console.log('joined user room', socket.user_room)
|
||||||
const found = []
|
await sendVaultInfo(socket, chainId, address);
|
||||||
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)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
export async function ensureVault(socket, chainId, owner, num) {
|
export async function ensureVault(socket, chainId, owner, num) {
|
||||||
if( !(chainId in chainInfo) )
|
|
||||||
return
|
|
||||||
console.log('ensureVault', chainId, owner, num)
|
console.log('ensureVault', chainId, owner, num)
|
||||||
const address = vaultAddress(chainId, owner, num)
|
if( chainId in chainInfo ) {
|
||||||
if (!await vaults.contains(chainId,address)) {
|
const address = vaultAddress(chainId, owner, num)
|
||||||
try {
|
if (!await vaults.contains(chainId,address)) {
|
||||||
const vault = await createVault(chainId, owner, num)
|
try {
|
||||||
console.log(vault)
|
const vault = await createVault(chainId, owner, num)
|
||||||
if (vault !== null) {
|
console.log(vault)
|
||||||
socket.emit('vaults', chainId, owner, [vault])
|
if (vault !== null) {
|
||||||
await emitBalances(socket, chainId, vault)
|
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
|
await sendVaultInfo(socket, chainId, owner)
|
||||||
console.log('ensureVault', owner, 'exists:', address)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user