From 89d737363cfe41e7798e865e0d8fd3d6357a237d Mon Sep 17 00:00:00 2001 From: Anastasia Rodionova Date: Fri, 5 Jan 2024 19:24:38 +0100 Subject: [PATCH] Fix error display with bigint obj --- .../src/decoding/trace-decode.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/transaction-decoder/src/decoding/trace-decode.ts b/packages/transaction-decoder/src/decoding/trace-decode.ts index bf37ea8..54f8f47 100644 --- a/packages/transaction-decoder/src/decoding/trace-decode.ts +++ b/packages/transaction-decoder/src/decoding/trace-decode.ts @@ -17,6 +17,17 @@ function getSecondLevelCalls(trace: TraceLog[]) { return secondLevelCalls } +function replacer(key: unknown, value: unknown) { + if (typeof value === 'bigint') { + return { + type: 'bigint', + value: value.toString(), + } + } else { + return value + } +} + const decodeTraceLog = (call: TraceLog, transaction: TransactionResponse) => Effect.gen(function* (_) { if ('to' in call.action && 'input' in call.action) { @@ -54,7 +65,7 @@ const decodeTraceLog = (call: TraceLog, transaction: TransactionResponse) => ) } - return yield* _(Effect.fail(new DecodeError(`Could not decode trace log ${JSON.stringify(call)}`))) + return yield* _(Effect.fail(new DecodeError(`Could not decode trace log ${JSON.stringify(call, replacer)}`))) }) export const decodeTransactionTrace = ({