Skip to content

Commit

Permalink
fix(sdk): throw abi error in event handler (#836)
Browse files Browse the repository at this point in the history
  • Loading branch information
lwedge99 committed Jul 1, 2024
1 parent 74a3119 commit feff6a5
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions packages/sdk/src/eth/base-processor.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { BaseContract, DeferredTopicFilter, TransactionResponseParams } from 'ethers'
import { BaseContract, DeferredTopicFilter, LogDescription, TransactionResponseParams } from 'ethers'

import { BoundContractView, ContractContext, ContractView, GlobalContext } from './context.js'
import {
Expand Down Expand Up @@ -351,14 +351,9 @@ export abstract class BaseProcessor<
)
const logParam = log as any as { topics: Array<string>; data: string }

let parsed: LogDescription | null = null
try {
const parsed = contractView.rawContract.interface.parseLog(logParam)

if (parsed) {
const event: TypedEvent = { ...log, name: parsed.name, args: fixEmptyKey(parsed) }
await handler(event, ctx)
return ctx.stopAndGetResult()
}
parsed = contractView.rawContract.interface.parseLog(logParam)
} catch (e) {
// RangeError data out-of-bounds
if (e instanceof Error) {
Expand All @@ -369,6 +364,11 @@ export abstract class BaseProcessor<
}
throw e
}
if (parsed) {
const event: TypedEvent = { ...log, name: parsed.name, args: fixEmptyKey(parsed) }
await handler(event, ctx)
return ctx.stopAndGetResult()
}
return ProcessResult.fromPartial({})
}
})
Expand Down

0 comments on commit feff6a5

Please sign in to comment.