* fix eth call
* tests
* changes as per review
* changes as per review
* Update node/impl/full/eth.go
Co-authored-by: Rod Vagg <rod@vagg.org>
* fix as per review
---------
Co-authored-by: Rod Vagg <rod@vagg.org>
* changelog for trace_transaction
* adding boilerplate for trace_transaction to /api/
* add eth trace transaction proxy and mock api
* trace tx boilerplate
* trace transaction implementation - under construction
* fix types for eth trace transaction
* trace_transaction implemented
* golint and handle transaction not found
* gofmt
* ran make docsgen
* pointer bugfix and make docsgen
* tx.BlockNumber is nil when the transaction is still in the mpool/pending and there is no trace for pending transactions
* check eth trace transaction happy case and two error cases - tx not found and tx pending in itests
* simplify error msg check for gh action fail
---------
Co-authored-by: Michael Seiler <michaelseiler@Michaels-Laptop.local>
* remove client CLI
* remove markets CLI from miner
* remove markets from all CLI
* remove client API
* update go mod
* remove EnableMarkets flag
* remove market subsystem
* remove dagstore
* remove index provider
* remove graphsync and data-transfer
* remove markets
* go mod tidy
* fix cbor gen deps
* remove deal making from config
* remove eol alert
* go mod tidy
* changes as per review
* make jen
* changes as per review
* merge master
* remove libp2p from config
* miner does not have libp2p conn in api test
* poc for eth legacy tx
* print statements
* finished
* tests work
* remove print statements
* Remove all print statements
* remove extraneous changes
* cleaned up code and interface
* run make jen
* dont duplicate signature
* go mod tidy and remove prints
* clean up tests
* test for conversion
* changes as per review
* more unit tests for legacy txns
* Apply suggestions from code review
Co-authored-by: Rod Vagg <rod@vagg.org>
* address review comments from Rodd
* changes as per zen's 2nd review
* go mod tidy
* feat: ETH compatibility in Filecoin : Support EIP-155 Ethereum transactions in Filecoin (#11970)
* itests passing for 155 tx
* first working version for EIP-155 transactions
* green itest
* add docs
* tests
* remove print stmt
* remove print stmt
* validate signature
* changes as per zen's review
* correct signature verification
* gate tx by Network Version
* handle arajsek review
* fix imports order
* fix lint
* dont lock in mpool for network gating ETH messages
* sender can be an ID address
---------
Co-authored-by: Rod Vagg <rod@vagg.org>
* Ignore market balance after nv23
* Review Response and failing test
* Fixes
* Test passing
* Bump up threshold
---------
Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>
* Use local GST
Use local GST
* Import actors and define upgrade heights
Creatin a mock actor-bundle and define upgrade heights
* Generate adapters
Updates gen/inlinegen-data.json, and runs make actors-gen
* Add schedule and migration
Add schedule and migration
* Add upgrade and network version fields/params
Add upgrade and network version fields/params
* Run make gen / make docsgen-cli
Run make gen / make docsgen-cli
* Update filecoin-ffi
Update filecoin-ffi to the v1.28.0-dev tag, which supports the nv23 skeleton.
* Update GST to v0.14.0-dev
Update GST to v0.14.0-dev, which includes the nv23 skeleton
* Add support for actor version 14 in actor registry
Add support for actor version 14 in actor registry
The naming of `LookupID` can cause confusion when resolving actor IDs vs
ID addresses. To avoid this:
* Refactor `StateTree` `LookupID` to `LookupIDAddress`, because it
returns ID address.
* Refactor `StateManager` `LookupID` to
`LookupIDAddress` because it also returns ID address via a chain call to
`StateTree`.
* Introduce a new API `StateManager` dedicated to resolving address to
actor ID, called `LookupID` which returns `abi.ActorID`.
For context, see:
* https://github.com/filecoin-project/lotus/pull/11723#discussion_r1534728607
This is showing up in profiles so I figured I'd optimize it a bit:
1. Avoid holding locks while recording metrics.
2. Slightly reduce allocations by re-using the metrics "mutators".
Also, use the passed context for better tracing.
This is unlikely to make a huge difference, but it may help RPC
providers a _tiny_ bit and doesn't really move the complexity needle.
* Unset env-var for TestForkPreMigration
Unset LOTUS_DISABLE_PRE_MIGRATIONS env-var for TestForkPreMigration test, so it does not hang
* Err-check to make lint happy
Err-check to make lint happy
Use BlockDelay as the window for receiving events on the SubscribeActorEvents
channel. We expect the user to have received the initial batch of historical
events (if any) in one block's time. For real-time events we expect them to
not fall behind by roughly one block's time.
* 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>
* new verireg methods
* update changelog and add itest
* update itest and cli
* update new method's support till v9
* remove gateway APIs
* fix cli internal var names