From 6afbd30817467f7b879cb486d25237db36743534 Mon Sep 17 00:00:00 2001 From: Anastasia Rodionova Date: Tue, 10 Dec 2024 15:28:20 +0700 Subject: [PATCH] Do not decode internal data param without address --- .changeset/stale-bottles-rule.md | 5 +++++ .../transaction-decoder/src/decoding/calldata-decode.ts | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) create mode 100644 .changeset/stale-bottles-rule.md diff --git a/.changeset/stale-bottles-rule.md b/.changeset/stale-bottles-rule.md new file mode 100644 index 00000000..7bba3772 --- /dev/null +++ b/.changeset/stale-bottles-rule.md @@ -0,0 +1,5 @@ +--- +'@3loop/transaction-decoder': patch +--- + +Do not decode internal calldata param without knowing the address diff --git a/packages/transaction-decoder/src/decoding/calldata-decode.ts b/packages/transaction-decoder/src/decoding/calldata-decode.ts index 4399d629..98700eda 100644 --- a/packages/transaction-decoder/src/decoding/calldata-decode.ts +++ b/packages/transaction-decoder/src/decoding/calldata-decode.ts @@ -52,11 +52,11 @@ const decodeBytesRecursively = ( } } - if (isCallDataNode) { + if (isCallDataNode && address) { const decoded = yield* decodeMethod({ data: node.value as Hex, - chainID: address ? chainID : 0, - contractAddress: address ?? '', + chainID, + contractAddress: address, }).pipe(Effect.orElseSucceed(() => null)) return decoded