Skip to content

Commit 94ab09b

Browse files
committed
fix: handle agent vault info fetch failure due to destroyed vault for pre-upgraded contracts (in doge case)
1 parent bcfdd29 commit 94ab09b

File tree

1 file changed

+5
-1
lines changed

1 file changed

+5
-1
lines changed

packages/fasset-indexer-core/src/indexer/eventlib/state-updater.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,11 @@ export class StateUpdater extends EventStorer {
7575
const assetManager = this.context.fAssetTypeToAssetManagerAddress(agentVault.fasset)
7676
await updateAgentVaultInfo(this.context, em, assetManager, agentVault.address.hex)
7777
} catch (e: any) {
78-
if (e?.reason === 'InvalidAgentVaultAddress()' || e?.data == '0xd68a46c5') {
78+
if (
79+
e?.reason == 'invalid agent vault address' // pre-upgraded asset manager
80+
|| e?.reason === 'InvalidAgentVaultAddress()' // upgraded asset manager, decodes with ABI
81+
|| e?.data == '0xd68a46c5' // upgraded asset manager encoded in case of missing ABI
82+
) {
7983
return await em.transactional(async (em) => {
8084
const address = e.invocation.args[0]
8185
const untrackedAgentVault = em.create(UntrackedAgentVault, { address })

0 commit comments

Comments
 (0)