lotus/chain
Phi-rjan 9dc29bf3f7
chore:: backport #11609 to the feat/nv22 branch (#11644)
* feat: api: improve the correctness of Eth's trace_block (#11609)

* Improve the correctness of Eth's trace_block

- Improve encoding/decoding of parameters and return values:
  - Encode "native" parameters and return values with Solidity ABI.
  - Correctly decode parameters to "create" calls.
  - Use the correct (ish) output for "create" calls.
  - Handle all forms of "create".
- Make robust with respect to reverts:
  - Use the actor ID/address from the trace instead of looking it up in
    the state-tree (may not exist in the state-tree due to a revert).
  - Gracefully handle failed actor/contract creation.
- Improve performance:
  - We avoid looking anything up in the state-tree when translating the
    trace, which should significantly improve performance.
- Improve code readability:
  - Remove all "backtracking" logic.
  - Use an "environment" struct to store temporary state instead of
    attaching it to the trace.
- Fix random bugs:
  - Fix an allocation bug in the "address" logic (need to set the
    capacity before modifying the slice).
  - Improved error checking/handling.
- Use correct types for `trace_block` action/results (create, call, etc.).
  - And use the correct types for Result/Action structs instead of reusing the same "Call" action every time.
- Improve error messages.

* Make gen

Make gen

---------

Co-authored-by: Steven Allen <steven@stebalien.com>
2024-02-27 07:50:07 -08:00
..
actors chore:: backport #11609 to the feat/nv22 branch (#11644) 2024-02-27 07:50:07 -08:00
beacon feat: implement FIP-0063 2024-01-29 12:30:52 -05:00
consensus chore: Upgrade heights and codename 2024-02-09 10:47:01 +01:00
ethhashlookup simplify transaction hash db queries, prevent fd leaks 2023-01-30 11:03:12 -05:00
events feat: sealing: Support nv22 DDO features in the sealing pipeline (#11226) 2024-01-25 15:15:55 +01:00
exchange AggregateProofType nil when doing batch updates 2024-02-09 12:47:30 +11:00
gen feat: sealing: Support nv22 DDO features in the sealing pipeline (#11226) 2024-01-25 15:15:55 +01:00
index Fix/texts (#11298) 2023-10-27 11:32:42 -07:00
market master-to-sturdy 2023-09-21 10:37:02 -05:00
messagepool Merge branch 'master' into feat/sturdypost 2023-11-06 16:10:57 -06:00
messagesigner fix: Don't call WalletExport in msg signing flows 2023-02-10 02:37:59 +01:00
rand master-to-sturdy 2023-09-21 10:37:02 -05:00
state [WIP] feat: Add nv22 skeleton 2024-01-11 10:54:24 -05:00
stmgr feat: sealing: Support nv22 DDO features in the sealing pipeline (#11226) 2024-01-25 15:15:55 +01:00
store feat: chain import: don't walk to genesis - 2-3x faster snapshot import (#11446) 2023-11-25 13:29:57 -08:00
sub Fix/texts (#11298) 2023-10-27 11:32:42 -07:00
types chore:: backport #11609 to the feat/nv22 branch (#11644) 2024-02-27 07:50:07 -08:00
vectors lint, db timout, cfg rm 2023-09-29 11:56:10 -05:00
vm fix: nv21fix migration: correctly upgrade system actor 2023-11-09 14:14:41 -05:00
wallet NV18: Filecoin EVM runtime + Actor Events + EthAccount + EAM + f4 addressing (#9998) 2023-01-13 19:11:13 +00:00
badtscache.go master-to-sturdy 2023-09-21 10:37:02 -05:00
block_receipt_tracker.go refactor: update cache to the new generic version (#10463) 2023-03-13 15:29:09 -07:00
checkpoint.go chore: fix imports 2022-06-14 17:00:51 +02:00
sync_manager_test.go fix make gen 2022-08-29 16:25:30 +02:00
sync_manager.go master-to-sturdy 2023-09-21 10:37:02 -05:00
sync_test.go master-to-sturdy 2023-09-21 10:37:02 -05:00
sync.go feat: drand: refactor round verification 2024-01-24 19:25:53 -05:00
syncstate.go Expose WorkerID 2020-10-28 20:22:07 +01:00
types_test.go fix make gen 2022-08-29 16:25:30 +02:00