* feat: api: sanity check the "to" address of outgoing messages
If the "to" address of an outgoing message is a _delegated_ address,
verify that it maps to a valid Ethereum address. This isn't a consensus
critical change, but it'll help prevent client-side address conversion
libraries from directing messages into oblivion (e.g., by
mis-translating `0xff0000....` addresses into `f410f...` addresses
instead of `f0...` addresses.
* tests for invalid delegated addresses
* fix lint
---------
Co-authored-by: aarshkshah1992 <aarshkshah1992@gmail.com>
* 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>
* move some utility methods into UnmanagedMiner so they can be used from other itests
* make UnmanagedMiner aware of mock proofs so we can remove a lot of branching
* 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
* test: actors: manual CC onboarding and proving integration test
* test: actors: manual CC onboarding itest with real proofs
* test: actors: fix lint issue, require proofs in CI
* test: actors: rename real proofs test, fix dispute window wait
* feat: add TestUnmanagedMiner in the itest kit for non-storage managed miners
* feat: test: improve UnmanagedMiner test harness
* feat: test: MineBlocksMustPost can watch for >1 miners (#12063)
* feat: test: MineBlocksMustPost can watch for >1 miners
* feat: test: wait for both sectors at the end of test
* feat: test: minor manual onboarding test fixups and speed up
* feat: test: handle case where miners have close deadline ends
* Implement snap deals test for manual sector onboarding (#12066)
* changes as per review
* thread safety
* test for snap deals
* remove extraneous change
* Apply suggestions from code review
Co-authored-by: Rod Vagg <rod@vagg.org>
* cancel CC Post after snap deals
---------
Co-authored-by: Rod Vagg <rod@vagg.org>
* fix config
---------
Co-authored-by: aarshkshah1992 <aarshkshah1992@gmail.com>
* 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
Eth subscribe tipsets API should only return tipsets that have been executed.
We do this by only returning the parent tipset of the latest tipset received by ETH Subscribe from it's TipSetFilter subscription.
Closes#11807
Subsumes #11816