lotus/node
Steven Allen 8ba491b6b4
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.
2024-02-21 12:20:00 -08:00
..
bundle fix circleci and fiximports 2023-11-15 13:06:51 +01:00
config also-sql naming 2024-01-29 18:22:50 -06:00
hello fix circleci and fiximports 2023-11-15 13:06:51 +01:00
impl feat: api: improve the correctness of Eth's trace_block (#11609) 2024-02-21 12:20:00 -08:00
modules Merge remote-tracking branch 'origin/master' into misc/drop-raft-experiment 2024-01-09 15:39:41 +01:00
repo fix circleci and fiximports 2023-11-15 13:06:51 +01:00
builder_chain.go misc: Drop the raft-cluster experiment 2023-11-29 17:28:46 +01:00
builder_miner.go make db config in lotus-miner actually optional 2023-11-23 17:57:03 +01:00
builder.go misc: Drop the raft-cluster experiment 2023-11-29 17:28:46 +01:00
fxlog.go chore: fix imports 2022-06-14 17:00:51 +02:00
health.go fix circleci and fiximports 2023-11-15 13:06:51 +01:00
options.go fix circleci and fiximports 2023-11-15 13:06:51 +01:00
rpc.go fix circleci and fiximports 2023-11-15 13:06:51 +01:00
shutdown_test.go fix circleci and fiximports 2023-11-15 13:06:51 +01:00
shutdown.go Set notifications for SIGTERM and SIGINT when we start the cli 2022-12-15 12:54:41 -05:00
testopts.go fix circleci and fiximports 2023-11-15 13:06:51 +01:00