From 0be3737d4429fd5c7892727ad055a6e33fe030e5 Mon Sep 17 00:00:00 2001 From: Tim Olson <> Date: Thu, 28 Dec 2023 01:46:47 -0400 Subject: [PATCH] reentrancy lock on ensureVault --- vault.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/vault.js b/vault.js index f050e52..2cb84db 100644 --- a/vault.js +++ b/vault.js @@ -63,8 +63,13 @@ export async function loginAddress(socket, chainId, address) { } } +const ensuring = {} export async function ensureVault(socket, chainId, owner, num) { + const key = [chainId, owner, num] + if( key in ensuring ) + return + ensuring[key] = true console.log('ensureVault', chainId, owner, num) if( chainId in chainInfo ) { const address = vaultAddress(chainId, owner, num) @@ -85,6 +90,7 @@ export async function ensureVault(socket, chainId, owner, num) { console.log('ensureVault', owner, 'exists:', address) } await sendVaultInfo(socket, chainId, owner) + delete ensuring[key] }