* add support for eth_getBlockByNumber to accept the term safe which we are using as 30 blocks
* fix lint catch of unnecessary cast
* add finalized to get block by number
* Update chain/types/ethtypes/eth_types.go
Co-authored-by: Rod Vagg <rod@vagg.org>
* add test for eth get block by number to accept latest and safe and finalized as arguments
---------
Co-authored-by: Rod Vagg <rod@vagg.org>
* record seen event epochs
* create correct index
* migrate to version 6
* fix typo
* test both conditions
* changes as per review
* record reverted tipsets
* see if tipsets has events and has not been reverted
* sub/unsub tipset updates from the index
* eth_get_logs should wait for events
* fix naming
* changes as per review
* solve issue with missing events
* use correct var
* changes as per review
* add unique constraint
* fix test wait
* check for events at min_height as well
* Apply suggestions from code review
Co-authored-by: Rod Vagg <rod@vagg.org>
* reduce duplication
---------
Co-authored-by: Rod Vagg <rod@vagg.org>
* 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.