lotus/node/impl/full
Steven Allen cff785fa37
fix: eth: correctly encode and simplify native input/output encoding (#11382)
* chore: eth: move & rename input/output encoding functions

These are shared functions, so I'm moving them to the utils library.

* fix: eth: correctly encode and simplify native input/output encoding

When generating eth traces, we encode "native" message inputs/outputs
to "solidity ABI" by formatting the inputs/outputs the same way we do in
FEVM's "handle_native_method". However, we had quite a few bugs with the
implementation:

1. We were right-aligning 64bit values in 256bit words, instead of
left-aligning (as we should given that these values are big-endian).
2. The return-value encoding wasn't correctly handling lengths.

This patch:

1. Fixes those bugs.
2. Deduplicates the logic (we're doing _basically_ the same thing in
both cases).
3. Removes all error paths (these functions can't fail).
2023-11-06 09:41:22 -08:00
..
chain.go chore: migrate to boxo 2023-06-19 14:45:05 -07:00
dummy.go Moved tracing types to ethtypes to address circular dependencies 2023-08-28 17:48:22 +00:00
eth_event.go Refactor eth.go 2023-08-28 17:48:22 +00:00
eth_test.go fix: eth: correctly encode and simplify native input/output encoding (#11382) 2023-11-06 09:41:22 -08:00
eth_trace.go fix: eth: correctly encode and simplify native input/output encoding (#11382) 2023-11-06 09:41:22 -08:00
eth_utils.go fix: eth: correctly encode and simplify native input/output encoding (#11382) 2023-11-06 09:41:22 -08:00
eth.go fix: eth: correctly encode and simplify native input/output encoding (#11382) 2023-11-06 09:41:22 -08:00
gas_test.go fix make gen 2022-08-29 16:25:30 +02:00
gas.go Add tests for PCB/PCA batch splitting 2023-04-19 18:44:32 -04:00
mpool.go NV18: Filecoin EVM runtime + Actor Events + EthAccount + EAM + f4 addressing (#9998) 2023-01-13 19:11:13 +00:00
multisig.go introduce v9 actors and nv17 2022-09-09 21:40:15 -04:00
raft.go Address comments 2022-11-14 15:46:58 -05:00
state.go Merge branch 'feat/nv21' into asr/merge-feat-nv21 2023-10-16 11:13:33 -04:00
sync.go feat: refactor slashfilter to return bool indicating fault 2023-08-01 12:05:02 -04:00
txhashmanager.go Refactor eth.go 2023-08-28 17:48:22 +00:00
wallet.go fix: Don't call WalletExport in msg signing flows 2023-02-10 02:37:59 +01:00