* 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.
Lotus API
This package contains all lotus API definitions. Interfaces defined here are exposed as JsonRPC 2.0 endpoints by lotus programs.
Versions
| File | Alias File | Interface | Exposed by | Version | HTTP Endpoint | Status | Docs |
|---|---|---|---|---|---|---|---|
api_common.go |
v0api/latest.go |
Common |
lotus; lotus-miner | v0 | /rpc/v0 |
Latest, Stable | Methods |
api_full.go |
v1api/latest.go |
FullNode |
lotus | v1 | /rpc/v1 |
Latest, Work in progress | Methods |
api_storage.go |
v0api/latest.go |
StorageMiner |
lotus-miner | v0 | /rpc/v0 |
Latest, Stable | Methods |
api_worker.go |
v0api/latest.go |
Worker |
lotus-worker | v0 | /rpc/v0 |
Latest, Stable | Methods |
v0api/full.go |
FullNode |
lotus | v0 | /rpc/v0 |
Stable | Methods |