lotus/api
Phi-rjan f60d4e1208 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-03-22 07:00:28 +01:00
..
client fix: lp api handler for stop 2023-12-03 00:40:01 -06:00
docgen feat: fvm: update the FVM/FFI to v4.1 (#11608) (#11612) 2024-03-22 07:00:28 +01:00
docgen-openrpc chore: fix imports 2022-06-14 17:00:51 +02:00
mocks feat: api: new verified registry methods to get all allocations and claims (#11631) 2024-03-22 07:00:28 +01:00
types feat: gateway: eth_ api support 2023-01-13 20:04:41 +01:00
v0api feat: api: new verified registry methods to get all allocations and claims (#11631) 2024-03-22 07:00:28 +01:00
v1api fix: lp api handler for stop 2023-12-03 00:40:01 -06:00
api_common.go feat: Add node uptime rpc / output in info command 2022-10-11 10:11:09 +02:00
api_errors.go fix: itest: check for closed connection 2022-09-27 15:34:01 +00:00
api_full.go chore:: backport #11609 to the feat/nv22 branch (#11644) 2024-03-22 07:00:28 +01:00
api_gateway.go Make block param to EthEstimateGas optional 2023-11-29 10:26:22 +00:00
api_lp.go fix: lp api handler for stop 2023-12-03 00:40:01 -06:00
api_net.go return all the public addresses in NatInfo 2023-05-10 11:54:48 +03:00
api_storage.go feat: sealing: Support nv22 DDO features in the sealing pipeline (#11226) 2024-03-22 07:00:28 +01:00
api_test.go address magik supernit 2022-09-27 15:34:01 +00:00
api_wallet.go lotus-wallet: Support permissioned api 2021-05-31 13:56:35 +02:00
api_worker.go sealing: Split unsealed cleanup from Finalize 2022-11-23 18:57:16 +01:00
cbor_gen.go AggregateProofType nil when doing batch updates 2024-03-22 07:00:28 +01:00
checkstatuscode_string.go implement MessagePool.CheckMessages 2021-05-07 15:30:04 +02:00
eth_aliases.go Moved tracing types to ethtypes to address circular dependencies 2023-08-28 17:48:22 +00:00
miner_subsystems.go fix docs and nits. 2021-07-28 20:03:25 +01:00
permissioned.go lotus-provider: fix RPC construction for real real 2023-12-04 14:15:58 +01:00
proxy_gen.go feat: api: new verified registry methods to get all allocations and claims (#11631) 2024-03-22 07:00:28 +01:00
proxy_util_test.go fix make gen 2022-08-29 16:25:30 +02:00
proxy_util.go api: Separate the Net interface from Common 2021-07-15 11:41:30 +02:00
README.md api: Add basic package readme 2021-03-25 18:00:29 +01:00
types.go Add UpgradePhoenixHeight to API params 2024-03-22 07:00:28 +01:00
utils.go Update to specs v0.9.6 2020-09-07 15:48:41 -04:00
version.go fix: lp api handler for stop 2023-12-03 00:40:01 -06:00
wrap.go api: Fix Wrap for nested proxy structs 2021-06-28 19:00:37 +02:00

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