Commit Graph

804 Commits

Author SHA1 Message Date
Steven Allen
ece8f25511 fix: eth: strict event parsing
We now enforce the following rules:

1. No duplicate topics or data.
2. Topics must have 32 byte keys.
3. Topics may not be skipped. (e.g., no t1 & t3 without a t2).
4. Raw codecs.

We _don't_ require that topics/data be emitted in any specific order.

We _skip_ events with unknown keys. We _drop_ events that violate the
above rules.
2023-02-10 07:41:29 -08: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
Steven Allen
80fccba93f
fix: gas: update ffi & correct the message inclusion cost in nv18 (#10228)
Co-authored-by: Raúl Kripalani <raul@protocol.ai>
2023-02-10 12:48:20 +00:00
Jiaying Wang
1c13a591e9
Merge pull request #10223 from filecoin-project/feat/ethtx-fixes
fix: ethrpc: Add missing fields to EthTx
2023-02-09 13:13:26 -05:00
Łukasz Magiera
c98093be03 Merge remote-tracking branch 'origin/release/v1.20.0' into mikers/create2test2 2023-02-09 18:19:47 +01: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
Aayush Rajasekaran
030b40b2a0
Merge pull request #10211 from filecoin-project/fix/ethsub-noarray
fix: ethrpc: Don't send sub notifs in array
2023-02-09 11:55:46 -05:00
Łukasz Magiera
e321761a72 ethrpc: Add missing fields to EthTx 2023-02-09 14:26:13 +01:00
Łukasz Magiera
554dd2f1ee itests: Test EVM bytecode getters, check bytecode hash 2023-02-09 13:23:17 +01:00
Łukasz Magiera
9339267e6e
fix: ethrpc: emit correct bloom filters (#10194) 2023-02-08 23:14:53 +00:00
Łukasz Magiera
c2e3832643 Update eth_subscribe itests to work with correct responses 2023-02-08 16:09:19 +01:00
Steven Allen
89499bfd40 fvm: chore: update FVM
This:

1. Updates the builtin actors bundle (for actors v10).
2. Updates the event entry type to include the codec.
3. Removes the cbor encoding and zero trimming from event data.

I've chose to:

1. _Not_ add codec handling to the event filtering system for now.
2. _Skip_ events with unexpected codecs.

We don't actually _allow_ these events in the FVM right now, and it
simplifies the implementation.

However, I _am_ recording the codecs in the database so we don't have to
migrate it later.
2023-02-07 18:15:40 -08:00
Aayush Rajasekaran
693f230fbb Merge branch 'release/v1.20.0' into asr/merge-release-into-master 2023-02-07 11:03:01 -05:00
snissn
23eaee49d4
clean up test for recursive delegate call count. improved readability (#10195) 2023-02-06 13:32:39 -08:00
Mike Seiler
fc2a6a82cb Merge branch 'release/v1.20.0' into mikers/create2test2 2023-02-06 20:40:29 +00: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
Steven Allen
e0931f8f90 itest: fix remaining fevm failures 2023-02-06 11:01:49 -08:00
Steven Allen
d16b2902d4 itest: fix: test comment 2023-02-06 09:52:38 -08:00
Steven Allen
6bf3a21158 itest: fix FEVM tests for upstream changes 2023-02-06 09:20:22 -08:00
Aayush Rajasekaran
725f22a344
Merge pull request #10173 from filecoin-project/gstuart/check-params
chore: cli: Confirm tooling that assumes knowledge of method params / returns don't break
2023-02-06 10:49:47 -05: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
Travis Person
03b419e3d4 feat: compute a better gas limit for recursive external contract calls 2023-02-03 20:40:18 +00:00
Aayush
f291572b4a Merge branch 'release/v1.20.0' into asr/merge-release-into-master 2023-02-03 09:27:04 -05:00
raulk
b46258d0bf
feat: evm: align events implementation with FIP-0049 and FIP-0054. (#10152)
- Event keys are now t1, t2, t3, t4 for topics; and d for data.
- ref-fvm no longer stores events in the blockstore for us. It just
  returns events to the client, who is now responsible for handling
  them as it wishes / according to its configuration.
- Add a flag to VMOpts to have the events AMT be written in the blockstore.
- Add a flag to the ChainStore to advertise to the rest of the system
  if the ChainStore is storing events.
- Enable that flag if the EthRPC is enabled (can also add an explicit
  configuration flag if wanted).
2023-02-02 19:10:30 -08:00
Geoff Stuart
ffc1c33be0 Review fixes 2023-02-02 16:46:08 -05:00
Geoff Stuart
f05437d253 Check decoding params for new methods 2023-02-02 14:41:30 -05:00
Łukasz Magiera
0c33eab20a
Merge pull request #10180 from filecoin-project/feat/ethsub-addr
feat: ethrpc: Support filtering by address in subscribe
2023-02-02 18:23:43 +01:00
Łukasz Magiera
8ce0b984b7 itests: Fix TestEthFilterAPIDisabledViaConfig 2023-02-02 15:59:55 +01:00
Łukasz Magiera
fe1e0974cb feat: ethrpc: Support filtering by address in subscribe 2023-02-02 14:46:36 +01:00
Maciej Witowski
75f4810af1
Merge pull request #10168 from filecoin-project/maciej/test
Test: assert all fields returned from EthGetTransactionByHash have expected values
2023-02-02 14:14:21 +01:00
Geoff Stuart
b8c4fbaff0
Merge pull request #10062 from filecoin-project/iand/issue-9849-config
itests: verify eth filter api is disabled via config
2023-02-01 22:25:21 -05:00
Geoff Stuart
abf2140ecf review fixes 2023-02-01 18:50:36 -05: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
245be406d9 Fix merge conflicts 2023-02-01 16:41:01 +00:00
Maciej Witowski
90fced7cb2 Test: assert all fields returned from EthGetTransactionByHash have expected values
Related to  https://github.com/filecoin-project/lotus/pull/10151#discussion_r1092358973
2023-02-01 17:38:09 +01: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
c6bd9bc9e0 tests that use create2 and destroy to validate evm state 2023-02-01 06:55:52 +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
Aayush
99b879d014 Add test for EthGetTransactionByHash 2023-01-31 12:55:46 -05:00
Łukasz Magiera
ad14d71978 eth rpc: Params are optional in eth_subscribe 2023-01-31 11:08:51 +01:00
Łukasz Magiera
965b1cf03c itests: Fix TestEthSubscribeLogs 2023-01-31 10:28:12 +01:00
Łukasz Magiera
1286d76988 gateway: eth_subscribe support 2023-01-31 10:28:12 +01:00
Geoff Stuart
af72e6f6ac
Refactor: Unify EthTx to FilecoinMessage methods v2 (#10095)
* Refactor: Unify EthTx to FilecoinMessage methods

* Filecoin messages can again be converted to Eth Txs

* All BLS messages should calculated tx hash with unsigned message

* Refactor newEthTxReceipt

* fill in from and to for non-eth transactions

* Hoist nil check out of newEthTxFromMessageLookup

---------

Co-authored-by: Aayush <arajasek94@gmail.com>
Co-authored-by: Raúl Kripalani <raul@protocol.ai>
2023-01-30 18:40:14 +00: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
Ian Davis
6efe08dd61 Fix comment 2023-01-26 17:39:50 +00:00
Ian Davis
98d6d4eb17 Remove stm: #integration comment 2023-01-26 17:27:55 +00:00
Ian Davis
8f625e847b Changed skip message 2023-01-26 17:20:47 +00:00
Ian Davis
916b8001b4 Skip some rpc conformance tests 2023-01-26 17:07:17 +00:00
Ian Davis
daf90ff402 Fix lint errors 2023-01-26 17:01:39 +00:00
Jorropo
f572852d06 chore: all: bump go-libipfs to replace go-block-format
Includes changes from:
- https://github.com/ipfs/go-block-format/pull/37
- https://github.com/ipfs/go-libipfs/pull/58
2023-01-26 17:03:18 +01:00
Ian Davis
df0cf91548 Use new kit.DisableEthRPC method in test 2023-01-26 14:49:02 +00:00
Ian Davis
e73dc3eb74 Merge branch 'release/v1.20.0' into iand/issue-9849-config 2023-01-26 14:45:47 +00:00
Ian Davis
4500c02e49 Merge branch 'release/v1.20.0' into iand/eth-openrpc-validate 2023-01-26 14:23:42 +00:00
Ian Davis
c82dccc76c Merge branch 'release/v1.20.0' into iand/issue-9849-realtime 2023-01-26 12:11:14 +00:00
Ian Davis
7586710395 Fix panic in EthGetCode 2023-01-26 12:10:42 +00:00
Ian Davis
a9cd76907e Merge branch 'release/v1.20.0' into iand/eth-openrpc-validate 2023-01-26 11:35:33 +00:00
Ian Davis
7acdb49074 Add test for eth_call 2023-01-24 14:03:31 +00:00
Ian Davis
2a73e1c2e1 Add test for eth_getStorageAt 2023-01-24 13:12:31 +00:00
Ian Davis
8daf22c3ff Test and fix eth_FeeHistory 2023-01-24 11:27:18 +00:00
Ian Davis
c0c8ad5510 Test more functions 2023-01-24 11:10:38 +00:00
Łukasz Magiera
46746f3495 itests: Test FEVM recursive calls 2023-01-23 19:40:19 +01:00
Łukasz Magiera
74b33bd4a2
Merge pull request #10068 from filecoin-project/test/eam-tests
itests: Test EAM interactions from accounts
2023-01-23 19:36:24 +01:00
Aayush
65ac5669a9 Merge branch 'master' into asr/merge-release-into-master 2023-01-23 12:37:24 -05:00
Ian Davis
7eca3e4853 Start eth_sendRawTransaction test 2023-01-23 17:22:25 +00:00
Ian Davis
9fed750f9d Add further tests 2023-01-23 17:09:35 +00:00
Ian Davis
7d1bd1d5ab Use gojsonschema 2023-01-23 16:50:40 +00:00
Łukasz Magiera
dd12cad1ef
Merge pull request #10100 from filecoin-project/fix/paych-itest-syncwait
fix: itests: Fix flaky paych test
2023-01-23 16:24:42 +01:00
Ian Davis
d9261b6e2f itests: validate responses from ethereum json-rpc api 2023-01-23 14:37:51 +00:00
Łukasz Magiera
c8a692046f fix: itests: Fix flaky paych test 2023-01-23 12:02:42 +01:00
Łukasz Magiera
68e20cebd7 itests: Test EAM interactions from accounts 2023-01-23 11:18:46 +01:00
Geoff Stuart
439b4c6e22 Cleanups 2023-01-20 16:51:01 -05:00
Łukasz Magiera
7632f9bbba itests: Test FEVM recursive calls 2023-01-20 15:50:33 +01:00
Ian Davis
c5ed5dd254 itests: add event matrix tests for realtime eth filters and subscriptions 2023-01-20 14:01:25 +00: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
8802de59d4 remove leftover from merge. 2023-01-20 01:16:34 +00:00
Raúl Kripalani
21c93f1dc1 Merge branch 'release/v1.20.0' into iand/issue-9849-filters 2023-01-20 01:11:31 +00:00
Raúl Kripalani
2a9069200d use len to conduct empty byte array checks. 2023-01-20 00:57:53 +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
85592ad39e itests: verify eth filter api is disabled via config 2023-01-19 14:59:11 +00: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
ca5cab4c43 Cleanup and fix eth filter tests 2023-01-19 12:58:23 +00:00
Ian Davis
5569c3971b Fix filters with alternate topic values 2023-01-19 12:22:37 +00:00
Ian Davis
6f66ef595e Add filter block range tests 2023-01-19 11:49:07 +00:00
Geoff Stuart
7dcaa97f8b Add positive tests 2023-01-18 18:59:47 -05:00
Geoff Stuart
5133b9da94 Add EthGetMessageCidByTransactionHash, fix EthGetTransactionHashByCid 2023-01-18 17:48:10 -05: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
Mike Seiler
b49c455df0 golint fix ++ instead of +=1 and add comment to script to build .hex files 2023-01-16 17:06:25 +00:00
Geoff Stuart
3b283681a9 Fix test 2023-01-16 07:41:19 -05:00
Geoff Stuart
f8121c8f1c Add gc for eth tx database 2023-01-16 07:04:20 -05: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
Aayush
86031b117f make jen 2023-01-14 11:56:21 -05:00
Aayush
3a11f22138 fix comments 2023-01-14 11:20:24 -05:00
Steven Allen
b4714c6f3e fix send then deploy test
We changed how we compute addresses. It's still broken due to a bug in
the EAM, but the _test_ is now correct(ly failing).
2023-01-13 23:25:54 -08:00
Jennifer Wang
51d77d408b add bundle dev/20230114-pre-rc.2 2023-01-14 01:41:46 -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
Aayush
3421e6a127 fix: delegated signatures: check every field of txs and roundtrip eth <-> FIL 2023-01-13 20:28:51 -05:00
Aayush Rajasekaran
35a37bacdf feat: more ethaccount abstraction tests 2023-01-13 15:07:40 -05: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
Masih H. Derkani
45667b7391
Upgrade to index-provider 0.10.0
Upgrade to the latest index-provider and as a result also upgrade
go-fil-markets.

Note that the index-provider go module is renamed and moved to `ipni`
GitHub org.
2023-01-10 13:08:04 +00:00
Geoff Stuart
448b9424e9 Increase blocktime in test 2022-12-20 10:52:47 -05:00
Geoff Stuart
dbb52ec5b4 Skip TestGoRPCAuth until Raft is fixed 2022-12-15 18:57:58 -05:00
Geoff Stuart
1d5ccab004
Update itests/multisig_test.go
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
2022-12-15 12:55:56 -05:00
Geoff Stuart
886a28640f Quiet wdpost logs, add error log to multisig reentrant 2022-12-15 01:05:54 -05:00
Geoff Stuart
ae4010ffb6 Drop actor keys from chain/actors/manifest.go 2022-12-13 18:02:34 -05:00
Alfonso de la Rocha
d574d04075
set small cb delivery delay for paych itests 2022-12-13 13:03:42 +01:00
Geoff Stuart
f95e6602a0 Check for nil returns from StateSectorGetInfo 2022-12-12 10:44:08 -05:00
Aayush Rajasekaran
12ad791917 Re-enable TestMultisigReentrant 2022-11-29 19:45:32 -06:00
Aayush Rajasekaran
15afe384ff Merge branch 'master' into feat/nv18 2022-11-29 10:01:51 -06:00
Łukasz Magiera
b1045c39ed
Merge pull request #9712 from filecoin-project/id/update-go-version
_build_: Update to Go Version 1.18.8
2022-11-29 16:51:21 +01:00
Geoff Stuart
61ac270876 Set more timeouts to 30s 2022-11-29 10:34:19 -05:00
Aayush Rajasekaran
c182e6d3f1 Temporarily disable TestMultisigReentrant 2022-11-29 09:31:09 -06:00
Ian Davis
0a4efd4820 Merge branch 'main' into id/update-go-version 2022-11-29 14:29:11 +00:00
Łukasz Magiera
33bf148fcf fix: itests: Add missing task type in TestUnsealPiece 2022-11-29 13:02:45 +01: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
e6e50ee9f7 more linter 2022-11-25 17:05:41 -05:00
Geoff Stuart
f04aca767f Maybe rest of linter errors 2022-11-25 16:41:04 -05:00
Ian Davis
9f85d3dca7 Address simple linter issues 2022-11-24 16:32:27 +00:00
Shrenuj Bansal
fa596eee5b Move unsealed sector from sealing to long term storage after Unseal 2022-11-23 15:22:14 -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
7512f82a8d make gen 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
cc1e00b1c4 make gen 2022-11-21 15:23:44 -05:00
Shrenuj Bansal
e4ce056ac6 Set all path types for Unseal pipeline to sealing storage 2022-11-21 14:40:50 -05:00
Shrenuj Bansal
b95d1a6323 Merge branch 'master' into sbansal/nonce-coordination-and-consensus-for-chain-nodes 2022-11-14 17:50:52 -05:00
Geoff Stuart
95af40543a Fix lotus-miner proving check 2022-11-14 15:29:50 -05: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
6f176f7cf1 temporarily disable wdpost upgrade test, as nv18 migration is not yet implemented 2022-11-09 12:08:42 +02: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