Commit Graph

345 Commits

Author SHA1 Message Date
Andrew Jackson (Ajax)
1db45f46ae synthetic-porep subpackages 2023-07-13 15:47:20 +02:00
Phi
c7b9633160 feat: introduce local nv21 skeleton
Introduce nv21 skeleton for local testing:

- Use local go-state-types with actor_version_checklist changes: https://github.com/filecoin-project/go-state-types/blob/master/actors_version_checklist.md
- Imports mock v12-actors bundle
- Define upgrade heights
- Generate adapters
- Add upgrade schedule and migration
- Add actorstype to the NewActorRegistry in /chain/consensus/computestate.go
- Add upgrade field to api/types.go/ForkUpgradeParams
- Add upgrade to node/impl/full/state.go
- Add network version to chain/state/statetree.go
- make jen
- make docsgen-cli
2023-07-13 15:47:18 +02:00
Łukasz Magiera
402895fdf0 itests: Test too-slow sector sealing cleanup 2023-07-06 09:27:09 +02:00
Friðrik Ásmundsson
a2431ff70a
Merge pull request #10815 from filecoin-project/10814-eip-1891
Add EIP-1898 support needed for The Graph compatibility
2023-06-23 08:29:45 +00:00
Fridrik Asmundsson
dda2d7e023 Refactor EthBlockNumberOrHash and remove the number field 2023-06-22 17:18:50 +00:00
Fridrik Asmundsson
f358160cd5 Add EIP-1898 support needed for The Graph compatibility
Fixes: #10814

This PR updates the following RPC methods according to EIP-1898
specs.

The following RPC methods are affected:

- eth_getBalance
- eth_getStorageAt
- eth_getTransactionCount
- eth_getCode
- eth_call

Note that eth_getBlockByNumber was not included in this list in
the spec although it seems it should be affected also?

Currently these methods all accept a blkParam string which can be
one of "latest", "earliest", "pending", or a block number (decimal
or hex). The spec enables caller to additionally specify a json
hash which can include the following fields:

- blockNumber EthUint64: A block number (decimal or hex) which is
  similar to the original use of the blkParam string
- blockHash EthHash: The block hash
- requireCanonical bool) If true we should make sure the block is
  in the canonical chain

Since the blkParam needs to support both being a number/string and
a json hash then this to properly work we need to introduce a new
struct with pointer fields to check if they exist. This is done
in the EthBlockParamByNumberOrHash struct which first tries to
unmarshal as a json hash (according to eip-1898) and then fallback
to unmarshal as string/number.
2023-06-20 09:38:00 +00:00
Jorropo
6c01310728
chore: migrate to boxo
This migrates everything except the `go-car` librairy: https://github.com/ipfs/boxo/issues/218#issuecomment-1529922103

I didn't migrated everything in the previous release because all the boxo code wasn't compatible with the go-ipld-prime one due to a an in flight (/ aftermath) revert of github.com/ipfs/go-block-format. go-block-format has been unmigrated since slight bellow absolutely everything depends on it that would have required everything to be moved on boxo or everything to optin into using boxo which were all deal breakers for different groups.

This worked fine because lotus's codebase could live hapely on the first multirepo setup however boost is now trying to use boxo's code with lotus's (still on multirepo) setup: https://filecoinproject.slack.com/archives/C03AQ3QAUG1/p1685022344779649

The alternative would be for boost to write shim types which just forward calls and return with the different interface definitions.

Btw why is that an issue in the first place is because unlike what go's duck typing model suggest interfaces are not transparent https://github.com/golang/go/issues/58112, interfaces are strongly typed but they have implicit narrowing. The issue is if you return an interface from an interface Go does not have a function definition to insert the implicit conversion thus instead the type checker complains you are not returning the right type.

Stubbing types were reverted https://github.com/ipfs/boxo/issues/218#issuecomment-1478650351

Last time I only migrated `go-bitswap` to `boxo/bitswap` because of the security issues and because we never had the interface return an interface problem (we had concrete wrappers where the implicit conversion took place).
2023-06-19 14:45:05 -07:00
Aayush
782e09a37d feat: itest: force PoSt more aggressively around deadline closure 2023-05-29 16:32:49 -04:00
Aayush
760a27dd4b feat: itests: add logs to blockminer.go failure case 2023-05-12 12:17:31 -04:00
Aayush
6a1b523ba1 feat: make RunClientTest louder when deals fail 2023-05-03 16:49:23 -04:00
Steven Allen
bb5ba64cca Revert "Merge pull request #9858 from adlrocha/adlrocha/consistent-bcast"
This reverts commit 8b2208fd9a, reversing
changes made to 2db6b12b78.

Unfortunately, this is rather tricky code. We've found several issues so
far and, while we've fixed a few, there are outstanding issues that
would require complex fixes we don't have time to tackle right now.

Luckily, this code isn't actually needed by the main Filecoin chain
which relies on consensus fault reporting to handle equivocation. So we
can just try again later.
2023-04-27 12:25:30 -07:00
Aayush
5a061e4677 Merge branch 'releases' into asr/merge-release-into-master 2023-04-23 14:58:50 -04:00
Aayush
4ff1d1dc8d feat: itests should run on latest network version 2023-04-23 13:59:14 -04:00
ZenGround0
327760acff
chore: build: Merge/v22 into 21 for 23 (#10702)
* chore: update ffi to increase execution parallelism

* Don't enforce walking receipt tree during compaction

* fix: build: drop drand incentinet servers

* chore: release lotus v1.20.4

* Apply suggestions from code review

Co-authored-by: Jiaying Wang <42981373+jennijuju@users.noreply.github.com>

* feat: Introduce nv19 skeleton

Update to go-state-types v0.11.0-alpha-1

Introduce dummy v11 actor bundles

Make new actors adapters

Add upgrade to Upgrade Schedules

make jen

Update to go-state-types v0.11.0-alpha-2

* feat: vm: switch to the new exec trace format (#10372)

This is now "FVM" native. Changes include:

1. Don't treat "trace" messages like off-chain messages. E.g., don't
include CIDs, versions, etc.
2. Include IPLD codecs where applicable.
3. Remove fields that aren't filled by the FVM (timing, some errors,
code locations, etc.).

* feat: implement FIP-0061

* Address review

* Add and test the FIP-0061 migration

* Update actors bundles to fip/20230406

* Update to go-state-types master

* Update to actors v11.0.0-rc1

* - Update go state types
- Keep current expiration defaults on creation, extension some tests
- Update ffi

* ffi experiment

* Integration nv19 migration

- Open splitstore in migration shed tool
- Update state root version

* Post rebase fixup

* Fix

* gen

* nv19 invariant checking

* Try fixig blockstore so bundle is loaded

* Debug

* Fix

* Make butterfly upgrades happen

* Another ffi experiment

* Fix copy paste error

* Actually schedule migration (#10656)

Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>

* Butterfly artifacts

* Set calibration net upgrade height

* Review Response

* Fix state tree version assert

* Quick butterfly upgrade to sanity check (#10660)

* Quick butterfly upgrade to sanity check

* Update butterfly artifacts

* Revert fake fix

* Give butterfly net correct genesis

* Butterfly artifacts

* Give time before upgrade

---------

Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>

* chore:releasepolish v1.22 release (#10666)

* Update butterfly artifacts

* register actors v11

* Update calibration upgrade time

* State inspection shed cmds

* Fix

* make gen

* Fix swallowed errors

* Lint fixup

---------

Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>

* v1.22.0-rc3

* bundle fix

* Feat/expedite nv19 (#10681)

* Update go-state-types

* Modify upgrade schedule and params

* Revert fip 0052

* Update gst

* docsgen

* fast butterfly migration to validate migration

* Correct epoch to match specified date

* Update actors v11

* Update changelog build version

* Update butterfly artifacts

* Fix lotus-miner init to work after upgrade

---------

Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>

* fix:deps:stable ffi for stable release  (#10698)

* Point to stable ffi for stable lotus release

* go mod tidy

---------

Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>

* Update CHANGELOG.md

Co-authored-by: Jiaying Wang <42981373+jennijuju@users.noreply.github.com>

---------

Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>
Co-authored-by: Jiaying Wang <42981373+jennijuju@users.noreply.github.com>
Co-authored-by: Steven Allen <steven@stebalien.com>
Co-authored-by: jennijuju <jiayingw703@gmail.com>
2023-04-19 18:40:18 -04:00
Jorropo
fe42d974a2 chore: all: migrate from go-libipfs to boxo
github.com/ipfs/libipfs/blocks was unmigrated to github.com/ipfs/go-block-format due to compatibility issues with the rest of the IPLD stack.
2023-04-18 17:22:18 +02:00
Aayush Rajasekaran
8b2208fd9a
Merge pull request #9858 from adlrocha/adlrocha/consistent-bcast
feat:networking:  (Synchronous) Consistent Broadcast for Filecoin EC
2023-03-30 09:32:09 -04:00
Aayush
66fc6dc3e5 refactor: stop using deprecated io/ioutil 2023-03-29 15:40:49 -04:00
Aayush
a724a713da refactor: stop using deprecated io/ioutil 2023-03-29 15:38:46 -04:00
Alfonso de la Rocha
b7c297c537 Merge branch 'master' into adlrocha/consistent-bcast 2023-03-28 16:55:06 +02:00
Łukasz Magiera
6012e65319 debug batch deal test a bit more 2023-03-27 15:34:59 +02:00
Łukasz Magiera
aebe3d4cf7 fix: itests: Don't call t.Error in MineBlocks goroutine 2023-03-27 13:23:29 +02:00
Łukasz Magiera
7e414ac390 Merge remote-tracking branch 'origin/master' into feat/go-data-transfer-v2 2023-03-15 11:37:53 +01:00
Steven Allen
b852f5e2fd fix: itest: avoid failing the test when we race the miner
I've been seeing quite a few tests failing here, so I'm hoping this will
deflake them a bit.
2023-03-13 11:16:26 -07:00
Alfonso de la Rocha
c11ffa58a8
address review 2023-03-10 09:27:30 +01:00
Marten Seemann
db6efe6512 use go-libipfs/files instead of ipfs/go-ipfs-files 2023-03-08 17:50:56 +13:00
Łukasz Magiera
4b99472b35 itests: Test PoSt worker RPC error handling 2023-03-06 14:30:22 +01:00
Aayush
19f1ad2762 Merge branch 'releases' into asr/merge-release-into-master 2023-03-01 14:18:35 -05:00
snissn
510f980348
tests: itests: blocktest properties (#10304)
* add itests for various fevm block properties and assert correct chain id

* add value checks to the block property solidity itests

* move get block function to kit
2023-02-17 14:32:54 -08:00
Steven Allen
73102e9432
test: eth: make sure we can deploy a new placeholder on transfer (#10281)
We have a test that triggers smart-contract logic on "transfers", but nothing that tries to create a new actor as a side-effect of a transfer.

fixes https://github.com/filecoin-project/ref-fvm/issues/1670
2023-02-17 13:29:53 -08:00
Steven Allen
b765112896 fix: correctly handle ethGetCode edge-cases
1. If the actor is a non-evm actor, return "nothing".
2. Correctly handle missing actors.
3. Handle self-destructed actors (they'll return "null").

fixes https://github.com/filecoin-project/ref-fvm/issues/1641
2023-02-12 20:38:47 -08:00
raulk
37e1ac5d93
eth: FIP-0055: implement final version of transitory delegated signature. (#10239) 2023-02-12 21:08:42 +00:00
Steven Allen
f1381ad535 refactor: use EthHash for event topics
This ensures they're always 32 bytes and padded, as required.
2023-02-10 07:41:29 -08:00
Łukasz Magiera
d84479bb05
Merge pull request #10162 from filecoin-project/mikers/deployValueTest2
tests: itests: test creating a contract and sending value
2023-02-09 18:00:15 +01:00
Mike Seiler
2673ec3c82 use WithValue language for test 2023-02-06 20:35:35 +00:00
Mike Seiler
f671a3c81c merge 2023-02-06 20:24:23 +00:00
snissn
1ab53051f7
improve evm error handling in itests (#10161) 2023-02-06 10:17:15 -10:00
Łukasz Magiera
6851b6a523 Merge remote-tracking branch 'origin/release/v1.20.0' into fix/eth-orpc-validate 2023-02-06 10:41:52 +01:00
Geoff Stuart
12ca08d9a6
Merge pull request #10081 from filecoin-project/steb/remove-dead-code
itests: remove dead code from DeployContract
2023-02-01 18:06:58 -05:00
Ian Davis
d29a244064 Merge remote-tracking branch 'origin/release/v1.20.0' into iand/eth-openrpc-validate 2023-02-01 16:19:17 +00:00
Mike Seiler
3adafea574 merge 2023-02-01 06:51:32 +00:00
snissn
9060c474da
test: fevm: add in tests for deploying, destroying contracts, recursive calls, sending value (#10082)
adds the following tests to itests/fevm_test.go:
 - recursive tests
 - delegate call tests
 - delegate call recursive tests
 - revert tests
 - destruct tests
 - contract deploy address tests
 - send value to contracts
 - gas limit on value transfer tests
 - sending value to destroyed contracts
adds the test to itests/fevm_address_test.go:
 - deploy contract and confirm address is different second deploy
2023-01-31 19:13:13 -10:00
Łukasz Magiera
965b1cf03c itests: Fix TestEthSubscribeLogs 2023-01-31 10:28:12 +01:00
Ian Davis
eacf3f1830 go fmt 2023-01-27 15:20:23 +00:00
Ian Davis
67805fd25a Refactor to ensure conformance test can run in circleci 2023-01-27 15:13:38 +00:00
Łukasz Magiera
68e20cebd7 itests: Test EAM interactions from accounts 2023-01-23 11:18:46 +01:00
Łukasz Magiera
7632f9bbba itests: Test FEVM recursive calls 2023-01-20 15:50:33 +01:00
Steven Allen
a1efd20e81 itests: remove dead code from DeployContract
We no longer use the nonce here.
2023-01-19 19:53:09 -08:00
Raúl Kripalani
21c93f1dc1 Merge branch 'release/v1.20.0' into iand/issue-9849-filters 2023-01-20 01:11:31 +00:00
Geoff Stuart
6601d9031d Set default path for eth event db, set it to enabled by default if EnableEthRPC is set 2023-01-19 18:40:28 -05:00
Łukasz Magiera
eaccb571a5
fix: config: Fix eth rpc typo (#10076) 2023-01-19 20:35:19 +00:00
Aayush Rajasekaran
196b41d5f6
Merge pull request #10069 from filecoin-project/asr/fix-tsk
fix: chain: put tipsetkey upon expansion of tipset
2023-01-19 14:10:19 -05:00
raulk
1e845c61a2
add integration test to catch tipset CID flakiness. (#10071) 2023-01-19 18:25:23 +00:00
Łukasz Magiera
60dbd59aa0 itests: Default enable Eth rpc 2023-01-19 19:21:00 +01:00
Łukasz Magiera
66f5ee4ae9 config: Fevm.EnableEthPRC 2023-01-19 18:31:17 +01:00
Ian Davis
f2ab452eb8 Resolve merge conflict 2023-01-19 14:10:23 +00:00
Łukasz Magiera
2f03bf9372
Merge pull request #10010 from filecoin-project/snissn/delegatecalltest3
fevm_test: delegate call test
2023-01-19 14:42:11 +01:00
Ian Davis
a08b557938
Merge branch 'release/v1.20.0' into iand/issue-9849-filters 2023-01-19 13:01:12 +00:00
Ian Davis
6f66ef595e Add filter block range tests 2023-01-19 11:49:07 +00:00
Ian Davis
061e8cca1f Add itest for EthGetLogs filter combinations 2023-01-18 17:33:54 +00:00
Mike Seiler
2a95648625 linter fixes 2023-01-17 16:53:28 +00:00
Geoff Stuart
f8dee0983a review fixes 2023-01-16 01:56:55 -05:00
Geoff Stuart
a8436074a6 Store mapping from hashes for Ethereum transactions to Filecoin Message Cids 2023-01-16 01:17:56 -05:00
vyzo
859cdca4f7 update go-state-types
use CreateExternal

use CreateExternal in itest evm deployment

add missing import

update gst
2023-01-14 01:11:11 -05:00
Mike Seiler
77cdf26223 refactor of fevm_test, addition of delegate call test and a script to compile the .sol solidity files to .hex, add sharable methods into kit/evm 2023-01-14 03:03:06 +00:00
raulk
cdf3812e40
NV18: Filecoin EVM runtime + Actor Events + EthAccount + EAM + f4 addressing (#9998)
Co-authored-by: Steven Allen <steven@stebalien.com>
Co-authored-by: Raul Kripalani <raulk@users.noreply.github.com>
Co-authored-by: Kevin Li <ychiaoli18@users.noreply.github.com>
Co-authored-by: vyzo <vyzo@hackzen.org>
Co-authored-by: Ian Davis <nospam@iandavis.com>
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
Co-authored-by: Jiaying Wang <42981373+jennijuju@users.noreply.github.com>
Co-authored-by: Jennifer Wang <jiayingw703@gmail.com>
Co-authored-by: Geoff Stuart <geoff.vball@gmail.com>
Co-authored-by: Shrenuj Bansal <shrenuj.bansal@protocol.ai>
Co-authored-by: Shrenuj Bansal <108157875+shrenujbansal@users.noreply.github.com>
Co-authored-by: Geoff Stuart <geoffrey.stuart@protocol.ai>
Co-authored-by: Aayush Rajasekaran <aayushrajasekaran@Aayushs-MacBook-Pro.local>
Co-authored-by: ZenGround0 <5515260+ZenGround0@users.noreply.github.com>
Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>
2023-01-13 19:11:13 +00:00
Geoff Stuart
886a28640f Quiet wdpost logs, add error log to multisig reentrant 2022-12-15 01:05:54 -05:00
Alfonso de la Rocha
d574d04075
set small cb delivery delay for paych itests 2022-12-13 13:03:42 +01:00
Aayush Rajasekaran
15afe384ff Merge branch 'master' into feat/nv18 2022-11-29 10:01:51 -06:00
Geoff Stuart
61ac270876 Set more timeouts to 30s 2022-11-29 10:34:19 -05:00
Ian Davis
0a4efd4820 Merge branch 'main' into id/update-go-version 2022-11-29 14:29:11 +00:00
Łukasz Magiera
285cc66773
Merge pull request #9648 from filecoin-project/fix/snap-abort-cleanup
fix: sealing: More complete snapdeals abort cleanup
2022-11-28 23:26:32 +01:00
Łukasz Magiera
8d090ba6b8 snapdeals cleanup: address review 2022-11-28 23:03:07 +01:00
Shrenuj Bansal
03aabc3fc6 Make unsealing part of the no local sealing config 2022-11-28 12:27:38 -05:00
Geoff Stuart
f04aca767f Maybe rest of linter errors 2022-11-25 16:41:04 -05:00
Łukasz Magiera
ea9a8303c8 sealing: tasks: TTReleaseUnsealed -> TTFinalizeUnsealed 2022-11-23 18:57:17 +01:00
Łukasz Magiera
87e5549af5 sealing: Split unsealed cleanup from Finalize 2022-11-23 18:57:16 +01:00
Łukasz Magiera
211712bf6d itests: Test snapdeals abort cleanup 2022-11-23 18:57:16 +01:00
Steven Allen
2651a38f89 Merge branch 'master' into feat/nv18 2022-11-22 10:08:54 -08:00
Shrenuj Bansal
b541cf919d Remove double stop 2022-11-14 11:19:45 -05:00
Shrenuj Bansal
8740fb4bbe remove 2nd rpc closer call 2022-11-11 16:41:01 -05:00
Shrenuj Bansal
2fa21ff091 Merge branch 'master' into sbansal/nonce-coordination-and-consensus-for-chain-nodes 2022-11-11 14:41:38 -05:00
vyzo
6aee53fc8b make gen 2022-11-09 07:36:09 +02:00
Łukasz Magiera
888f97a35f netbs: Add an integration test 2022-11-08 13:38:28 +01:00
Łukasz Magiera
fcad93dc10 netbs: Fix lint 2022-11-08 09:37:43 +00:00
Łukasz Magiera
ec89424c42 make repo not depend on ffi 2022-11-08 09:37:43 +00:00
Łukasz Magiera
5f5cc794f0 make config not depend on ffi 2022-11-08 09:37:43 +00:00
ZenGround0
4ffded6fef
feat:splitstore:single compaction that can handle prune aka two marksets one compaction (#9571)
* begin

* rough draft -- this should probably actually work?

* WIP

* Start testing

* message mode

* Fix tests, make gen

* Better default

* docsgen-cli

* Review Response

Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>
2022-11-07 16:31:12 -05:00
Shrenuj Bansal
15ed1ee33c Merge branch 'master' into sbansal/nonce-coordination-and-consensus-for-chain-nodes 2022-10-17 22:55:48 -04:00
Shrenuj Bansal
674427a8b2 fix lint and make gen 2022-10-17 22:44:00 -04:00
Shrenuj Bansal
900525f8c2 some cleanup 2022-10-17 16:13:30 -04:00
Shrenuj Bansal
17a77220c2 Ignore mpool msg existing errors for applying raft state 2022-10-06 11:44:13 +00:00
Shrenuj Bansal
559c2c6d34 Merge branch 'master' into sbansal/nonce-coordination-and-consensus-for-chain-nodes 2022-09-27 16:29:03 +00:00
Shrenuj Bansal
99e7c322eb More wip 2022-09-27 16:08:04 +00:00
Aayush
9c242a8012 address magik supernit 2022-09-27 15:34:01 +00:00
Aayush
13f3e0aca4 fix: itest: check for closed connection 2022-09-27 15:34:01 +00:00
Aayush
3e81c56349 address magik supernit 2022-09-23 11:41:53 -04:00
Aayush
06262868f5 fix: itest: check for closed connection 2022-09-22 13:58:07 -04:00
Aayush
32670e810c chore: refactor: rename NewestNetworkVersion 2022-09-21 15:48:51 -04:00
Łukasz Magiera
061a990eb8 sector import: RemoteSealingDoneEndpoint 2022-09-19 12:13:06 +02:00
Łukasz Magiera
b2dfaae68c sector import: Test remote commit1 retry 2022-09-19 12:13:06 +02:00