* 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> |
||
|---|---|---|
| .. | ||
| architecture | ||
| .glossary.json | ||
| .library.json | ||
| about.md | ||
| api-v0-methods-miner.md | ||
| api-v0-methods-provider.md | ||
| api-v0-methods-worker.md | ||
| api-v0-methods.md | ||
| api-v1-unstable-methods.md | ||
| block-validation.md | ||
| cli-lotus-miner.md | ||
| cli-lotus-provider.md | ||
| cli-lotus-worker.md | ||
| cli-lotus.md | ||
| create-miner.md | ||
| default-lotus-config.toml | ||
| default-lotus-miner-config.toml | ||
| default-lotus-provider-config.toml | ||
| dev-tools-pond-ui.md | ||
| jaeger-tracing.md | ||
| README.md | ||
| sealing-procs.md | ||
| WIP-arch-complementary-notes.md | ||
Lotus documentation
This folder contains some Lotus documentation mostly intended for Lotus developers.
User documentation (including documentation for miners) has been moved to https://lotus.filecoin.io:
- https://lotus.filecoin.io/lotus/get-started/what-is-lotus/
- https://lotus.filecoin.io/tutorials/lotus/store-and-retrieve/store-data/
- https://lotus.filecoin.io/tutorials/lotus-miner/run-a-miner/
- https://lotus.filecoin.io/developers/
Documentation Website
https://lotus.filecoin.io source is in lotus-docs repository, which contains Lotus as a git submodule.
To update the site, the lotus-docs repository should be updated with the desired version for the lotus git submodule. Once pushed to master, it will be auto-deployed.