From ec4f99229004791344c3be22a35e5252f95f6e93 Mon Sep 17 00:00:00 2001 From: Touseef Liaqat Date: Tue, 21 May 2024 17:36:22 -0700 Subject: [PATCH] Error checking --- src/mappings/events/vaults.ts | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/src/mappings/events/vaults.ts b/src/mappings/events/vaults.ts index bf63756f..5e520499 100644 --- a/src/mappings/events/vaults.ts +++ b/src/mappings/events/vaults.ts @@ -54,7 +54,7 @@ export const vaultsEventKit = (block: any, data: any, module: string, path: stri return promises; } - async function updateDailyVaultState( + async function updateVaultStatesDaily( oldState: string | undefined, newState: string, blockTime: Date, @@ -106,7 +106,10 @@ export const vaultsEventKit = (block: any, data: any, module: string, path: stri [VAULT_STATES.LIQUIDATED]: 'liquidatedClosed', }; - if (oldState) { + vaultState.blockHeightLast = BigInt(blockHeight); + vaultState.blockTimeLast = blockTime; + + if (oldState && propertyMap[oldState]) { const oldProperty = propertyMap[oldState]; if ((vaultState as any)[oldProperty] === BigInt(0)) { throw Error(oldState + ' vaults are 0. cannot subtract more'); @@ -114,19 +117,18 @@ export const vaultsEventKit = (block: any, data: any, module: string, path: stri (vaultState as any)[oldProperty] -= BigInt(1); } - const newProperty = - newState === VAULT_STATES.CLOSED && oldState ? closedPropertyMap[oldState] : propertyMap[newState]; - (vaultState as any)[newProperty] += BigInt(1); - - vaultState.blockHeightLast = BigInt(blockHeight); - vaultState.blockTimeLast = blockTime; + if ((newState && propertyMap[newState]) || (oldState && closedPropertyMap[oldState])) { + const newProperty = + newState === VAULT_STATES.CLOSED && oldState ? closedPropertyMap[oldState] : propertyMap[newState]; + (vaultState as any)[newProperty] += BigInt(1); + } return vaultState; } async function saveVaults(payload: any): Promise[]> { let vault = await Vault.get(path); - const dailyVaultState = await updateDailyVaultState( + const dailyVaultState = await updateVaultStatesDaily( vault?.state, payload?.vaultState, block.block.header.time,