Commit Graph

4121 Commits

Author SHA1 Message Date
Łukasz Magiera
554dd2f1ee itests: Test EVM bytecode getters, check bytecode hash 2023-02-09 13:23:17 +01:00
Łukasz Magiera
8d6aa2477c feat: actors: Add bytecode getter 2023-02-09 13:12:16 +01:00
Łukasz Magiera
9339267e6e
fix: ethrpc: emit correct bloom filters (#10194) 2023-02-08 23:14:53 +00: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
Aayush Rajasekaran
6a268cfb63 chain: explicitly check that gasLimit is above zero 2023-02-06 17:53:00 -05:00
Raúl Kripalani
0cf3a5e704 fix: null rounds: pass correct timestamp to the FVM. 2023-02-06 16:58:58 +00:00
Łukasz Magiera
5dc56841ea fix: ethtypes: Correct 'no transactions' hash in NewEthBlock 2023-02-06 17:17:19 +01:00
Łukasz Magiera
424824019b fix: ethtypes: Correct 'no uncles' hash in NewEthBlock 2023-02-06 14:38:48 +01: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
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
Łukasz Magiera
fe1e0974cb feat: ethrpc: Support filtering by address in subscribe 2023-02-02 14:46:36 +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
Łukasz Magiera
ad14d71978 eth rpc: Params are optional in eth_subscribe 2023-01-31 11:08:51 +01:00
Łukasz Magiera
9701b11641 ethtypes: Serialize EthFilterID/EthSubscriptionID correctly 2023-01-31 10:28:12 +01:00
Geoff Stuart
e0326d9d39 Populate transaction hash database if the database has not been set up before 2023-01-30 16:33:04 -05: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
Geoff Stuart
395cdd721e simplify transaction hash db queries, prevent fd leaks 2023-01-30 11:03:12 -05: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
Phi
4fb9e2fd6a make jen
- Add builtin.EthereumAddressManagerActorAddr to builtin.go.template and make jen
- Rename to EthereumAddressManagerActorAddr to match pattern of other actors (CronActorAddr/etc)
2023-01-26 16:26:39 +01:00
Phi
8f6c569391 Add actors to circ-supply
- Consider funds to EAM as locked
- Add evm, placeholder and ethaccount to circ supply
2023-01-26 15:39:51 +01: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
a9cd76907e Merge branch 'release/v1.20.0' into iand/eth-openrpc-validate 2023-01-26 11:35:33 +00:00
Aayush
8842b21ec9 feat: vm: Assert empty object CID when dumping state 2023-01-25 12:35:18 -05:00
Ian Davis
58cd226d6b Change EthBlock.Extradata type to EthBytes 2023-01-24 14:46:16 +00:00
Ian Davis
8daf22c3ff Test and fix eth_FeeHistory 2023-01-24 11:27:18 +00:00
Aayush
e9f665214a Merge branch 'release/v1.20.0' into asr/merge-release-into-master 2023-01-23 12:23:47 -05:00
Aayush Rajasekaran
a21bba8ac2
Merge pull request #10084 from filecoin-project/asr/delegated-siggy
feat: minor improvements to Ethereum delegated siggys
2023-01-23 12:11:51 -05:00
Ian Davis
7d1bd1d5ab Use gojsonschema 2023-01-23 16:50:40 +00:00
Ian Davis
ddd5ff9c42
fix: event filters use cbor encoding internally (#10085) 2023-01-23 14:14:25 +00:00
Aayush
4f199ada40 Merge branch 'release/v1.20.0' into asr/merge-release-into-master 2023-01-20 17:32:29 -05:00
Geoff Stuart
439b4c6e22 Cleanups 2023-01-20 16:51:01 -05:00
Geoff Stuart
50f26e9721 Fix testground build 2023-01-20 13:27:04 -05:00
ychiao
57bf1c7a89 Eth JSON-RPC: support passing uint64 in JSON-RPC arguments for EthUint64 2023-01-20 12:37:37 -05:00
Aayush
972e68a8c1 feat: minor improvements to Ethereum delegated siggys 2023-01-20 10:21:00 -05:00
Ian Davis
c5ed5dd254 itests: add event matrix tests for realtime eth filters and subscriptions 2023-01-20 14:01:25 +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
Raúl Kripalani
2c56687527 fix: events: put the _signed_ message through the pipeline.
We were putting the unsigned/VM message through the pipeline.
The events index was storing the _unsigned_ message CID.

However, the Eth tx hash index maps signed Delegated-signature message
CIDs to transaction hashes, i.e. it uses the _signed_ message CID.

As a result, eth_getLogs and other log-related methods were
unable to resolve the transaction hash from the index properly, and
would end up returning 0x00..00 in the transactionHash field.
2023-01-20 00:36:06 +00:00
Shrenuj Bansal
522e96f016
fix: msg signing with delegated keys and send cli changes (#10056)
* fix msg signing with delegated keys and send cli changes

* make gen and docsgen

* address comments
2023-01-19 17:57:48 -05:00
Aayush
5518e64574 fix: chain: put tipsetkey upon expansion of tipset 2023-01-19 11:33:49 -05: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
061e8cca1f Add itest for EthGetLogs filter combinations 2023-01-18 17:33:54 +00:00
Shrenuj Bansal
ee54a7f3f5
feat: snapshot: Store tipset key cids in chain store during snapshot import (#10042)
* Store tipset key cids in chain store during snapshot import

* make gen

* fix circle ci config

* fix lint

* address comments
2023-01-18 11:22:05 -05:00
Aayush
e715384173 Merge branch 'release/v1.20.0' into asr/merge-release-into-master 2023-01-16 10:51:22 -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
Steven Allen
2a3989e4bd
fix: check for unread params bytes in all cases (#10018) 2023-01-14 15:45:19 -08:00
Aayush
e0c09c0396 remove invalid test cases 2023-01-14 12:30:06 -05: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
Aayush Rajasekaran
cc86117289
Merge pull request #10007 from filecoin-project/asr/delegated-siggy
fix: delegated signatures: check every field of txs and roundtrip eth <-> FIL
2023-01-14 00:14:38 -05:00
Steven Allen
1045dce1ea guarantee round-trip 2023-01-13 20:14:22 -08:00
Aayush
3421e6a127 fix: delegated signatures: check every field of txs and roundtrip eth <-> FIL 2023-01-13 20:28:51 -05:00
Raúl Kripalani
e25728cb68 remove leftover hack. 2023-01-13 19:59:09 +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
Łukasz Magiera
9a46682d9d
Merge pull request #9481 from consensus-shipyard/adlrocha/cns-iface-master
IPC: Abstract common consensus functions and consensus interface
2023-01-11 14:49:27 +01:00
hanabi1224
f4b4a63217 Merge remote-tracking branch 'origin/master' into close-write 2023-01-04 20:10:29 +08:00
hanabi1224
6b14b0536e fix: error checks 2023-01-04 20:10:21 +08:00
Łukasz Magiera
d8570576af
Merge pull request #9902 from filecoin-project/asr/restrict-verifblock
chore: VM: don't export Extern::VerifyBlockSig
2023-01-04 12:18:02 +01:00
hanabi1224
83554afebc Merge remote-tracking branch 'origin/master' into close-write 2023-01-02 16:42:21 +08:00
Łukasz Magiera
156ba420c3 fix: splitstore: Don't deadlock in mpool protector 2022-12-17 13:14:50 +01:00
Aayush
28b4ebd52b chore: VM: don't export Extern::VerifyBlockSig 2022-12-16 16:54:09 -05:00
hanabi1224
6ae7cdab64 call Stream.CloseWrite right after writing 2022-12-16 17:22:53 +08:00
Geoff Stuart
d615b1c806 Update go-state-types 2022-12-14 19:33:47 -05:00
Aayush Rajasekaran
a264893543
Merge pull request #9873 from filecoin-project/gstuart/print-addr-key-not-found
feat: wallet: Print addr when key not found
2022-12-14 13:36:50 -05:00
Geoff Stuart
8c566c3bda Print addr when key not found 2022-12-14 12:27:06 -05:00
Geoff Stuart
ae4010ffb6 Drop actor keys from chain/actors/manifest.go 2022-12-13 18:02:34 -05:00
Geoff Stuart
e1926a06e8 Use abi.MethodNum instead of uint64 for method nums 2022-12-13 12:29:31 -05:00
Geoff Stuart
f95e6602a0 Check for nil returns from StateSectorGetInfo 2022-12-12 10:44:08 -05:00
Alfonso de la Rocha
075216d9da Merge remote-tracking branch 'upstream/master' into adlrocha/cns-iface-master 2022-12-05 18:16:14 +01:00
Łukasz Magiera
3155b345c1
Merge pull request #9784 from filecoin-project/frrist/config-migration-worker-limit
chain/migrations refactor: optionally set max migration workers
2022-12-05 10:05:44 +01:00
Frrist
9a9e00085e
Update chain/consensus/filcns/upgrades.go
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
2022-12-02 15:26:41 -08:00
Łukasz Magiera
cdf169ed83 fix: chain: Fix flaky TestChainExportImport 2022-12-02 22:13:12 +01:00
frrist
0236952955 refactor: optionally set max migration workers
- configure via LOTUS_MIGRATION_MAX_WORKER_COUNT
2022-12-02 11:40:43 -08:00
Łukasz Magiera
6abf7384e2
Merge pull request #9741 from filecoin-project/feat/faster-snapshot-import
feat: chain: Faster snapshot imports, zstd import
2022-11-29 18:17:36 +01:00
Aayush Rajasekaran
15afe384ff Merge branch 'master' into feat/nv18 2022-11-29 10:01:51 -06:00
Łukasz Magiera
32efd0fbc2
Merge pull request #9497 from ipfs-force-community/fix/add_check_gaspremium
fix:mpool add gaspremium check when less than maxfee
2022-11-29 16:53:22 +01:00
Łukasz Magiera
ac8ab3ef9e feat: chain: Faster snapshot imports, zstd imports 2022-11-29 14:10:15 +01:00
Geoff Stuart
b55e121642 Fix some more linter errors 2022-11-25 16:19:20 -05:00
Ian Davis
9f85d3dca7 Address simple linter issues 2022-11-24 16:32:27 +00:00
Aayush
40278cd3c1 Update to go-state-types v0.10.0-alpha-2 2022-11-23 17:36:49 -05:00
Geoff Stuart
d9df433e98 Add missing check in datacap for each 2022-11-22 15:40:44 -05:00
Steven Allen
2651a38f89 Merge branch 'master' into feat/nv18 2022-11-22 10:08:54 -08:00
Steven Allen
e78d1306ee
feat: fvm: add support for looking up past tipset CIDs (#9687)
* feat: add support for generating tipset CIDs

(cherry-picked from feat/nv18-fevm)

* feat: fvm: add support for looking up past tipset CIDs

We do this by adding yet another "getter" to the VM that resolves an
epoch into a TipSetKey.

Co-authored-by: Kevin Li <ychiaoli18@users.noreply.github.com>
2022-11-22 12:41:03 -05:00
Aayush Rajasekaran
6067968c07
Merge pull request #9654 from filecoin-project/gstuart/gas-estimation-tooling
feat: cli: gas estimation tooling
2022-11-22 09:55:19 -05:00
Alfonso de la Rocha
f5b027eda3
address review 2022-11-22 10:52:11 +01:00
Alfonso de la Rocha
0f92bced9d
Merge branch 'master' into adlrocha/cns-iface-master 2022-11-22 10:28:18 +01:00
Geoff Stuart
96035005b8 Fold together call functions 2022-11-18 00:10:12 -05:00
Steven Allen
348494d7c8
feat: actors: add the evm to the builtin actors shims (#9672) 2022-11-17 06:55:40 -08:00
frrist
0ae02be001 I love code gen somuchss 2022-11-16 17:22:20 -08:00
frrist
4f513692f9 fix: update paych mock to sat interface 2022-11-16 17:22:20 -08:00
frrist
e61b9b2a65 refactor: add inspection methods to actor gen interface
- adds the following methods to all generated actor interfaces:
  - Code() cid.Cid
  - ActorKey() string
  - ActorVersion() actorstypes.Version
  - AllCodes() []cid.Cid
2022-11-16 17:22:18 -08:00
frrist
a780756eac refactor: expose address map bitwidth and hash function 2022-11-16 14:49:42 -08:00
Geoff Stuart
21afb3f5ea Review fixes 2022-11-16 15:07:23 -05:00
Geoff Stuart
cde4b804e3 gas estimation shed command 2022-11-15 21:39:56 -05:00
Shrenuj Bansal
22f3fbb9a3 Add comment to Push API 2022-11-15 17:02:08 -05:00
Shrenuj Bansal
ab1eeeba24 one more 2022-11-14 16:11:49 -05:00
Shrenuj Bansal
800d9de4d5 Address comments 2022-11-14 15:46:58 -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
378c9d37d0 lint 2022-11-09 11:38:16 +02:00
vyzo
cc79d7f79c register v10 actor method meta 2022-11-09 11:32:50 +02:00
vyzo
0b6d1ad20b set predictable address when creating account actors 2022-11-09 11:15:16 +02:00
vyzo
335d0bec3e set predictable address for account actors in genesis 2022-11-09 11:11:20 +02:00
vyzo
6bf7b0312e make gen 2022-11-09 10:45:11 +02:00
vyzo
674d127701 state tree version 5 scaffolding 2022-11-09 10:44:51 +02:00
vyzo
1aadbf16ba define StateTreeVersion5 for NetworkVersion18 2022-11-09 08:30:42 +02:00
vyzo
5cb1e8a5d6 define filcns.UpgradeActorsV10 2022-11-09 07:36:09 +02:00
vyzo
6aee53fc8b make gen 2022-11-09 07:36:09 +02:00
vyzo
5e4f24ec60 add NV18 actor keys 2022-11-09 07:36:09 +02:00
vyzo
6373e9752c agen 2022-11-09 07:36:09 +02:00
vyzo
7ffd1635f5 fix residual v9 references in templates 2022-11-09 07:36:09 +02:00
vyzo
50b971091f define actors version 10 2022-11-09 07:36:09 +02:00
Steven Allen
c6f2710e1c feat: future proof against new address protocols
This lets us add new address protocols to go-address without implicitly
accepting them in messages on the network.
2022-11-08 12:28:23 -08:00
Steven Allen
8df5b81f24 fix: make test vector extraction work with the FVM
This also ignores the VM "Flush" option and instead, flushes
unconditionally (in the FVM):

1. In the FVM, we don't read blocks on flush (ever).
2. All _uses_ of TVX use a "proxy" blockstore that buffers writes, so
nothing should actually get flushed to lotus.
2022-11-07 16:09:44 -05:00
Aayush
f77c849a2b address merge review 2022-11-07 15:34:19 -05:00
Aayush
c0b7343e60 Merge branch 'release/v1.18.0' into asr/merge-release-into-master 2022-11-06 14:40:13 -05:00
Geoff Stuart
884b9004db bubble up errors properly from ApplyImplicitMessage 2022-11-01 10:12:22 +00:00
Geoff Stuart
ec5358773e statemanager call function will return call information even if call errors 2022-10-31 13:23:11 +00:00
Aayush
7609655986 address review 2022-10-20 13:49:29 -04:00
Aayush
3401ef6f02 Add a second premigration for nv17 2022-10-19 16:50:13 -04:00
Aayush Rajasekaran
84050170b9
Merge pull request #9520 from filecoin-project/asr/invoker-method-name
feat: Invoker: Use MethodMeta from go-state-types
2022-10-19 16:49:26 -04:00
Aayush
13b59c9c23 Invoker: Use MethodMeta from go-state-types 2022-10-19 15:53:26 -04:00
Aayush
66bb149a65 Migration: Use autobatch bs 2022-10-19 11:56:11 -04:00
Shrenuj Bansal
ad8b959880 Address more comments and add test for gorpc auth 2022-10-18 15:53:42 -04:00
Geoff Stuart
cdd7f26fb3 Allow setting local bundles for Debug FVM for av 9+ 2022-10-18 12:48:24 -04:00
Shrenuj Bansal
15ed1ee33c Merge branch 'master' into sbansal/nonce-coordination-and-consensus-for-chain-nodes 2022-10-17 22:55:48 -04:00
hunjixin
e8aacf325c fix: add gaspremium check when less than maxfee 2022-10-17 12:02:56 +08:00
Shrenuj Bansal
139f8773de fix some bugs and address some comments 2022-10-16 22:52:22 -04:00
Alfonso de la Rocha
c65ab1b277
minor fix 2022-10-14 11:28:43 +02:00
Geoff Stuart
8460536068 Fix miner state precommit info 2022-10-13 16:38:30 -04:00
Aayush Rajasekaran
3c1b723c7f
Merge pull request #9486 from filecoin-project/gstuart/remove-banner
fix: upgrade: no splash banner for nv17 :(
2022-10-13 15:20:39 -04:00
Geoff Stuart
f891714db2 Remove fvm splash banner from nv17 upgrade 2022-10-13 15:19:17 -04:00
Aayush Rajasekaran
c4fdeb19a9
Merge pull request #9483 from filecoin-project/jen/calib
chore: build: add calib upgrade param for shark
2022-10-13 15:11:33 -04:00
Aayush Rajasekaran
e549a3fb4a
Merge pull request #9482 from filecoin-project/gstuart/fix-grant-datacap
fix: actors: fix verifreg checking notary balance
2022-10-13 14:14:39 -04:00
Geoff Stuart
8d162267e8 revert change to verifreg util 2022-10-13 13:33:22 -04:00
Jennifer Wang
48bf70f3ee shark params 2022-10-13 12:18:28 -04:00
Alfonso de la Rocha
fa71ed607b more cleaning 2022-10-13 17:07:34 +02:00
Alfonso de la Rocha
3105596c9e Clean pending files from rebase 2022-10-13 17:03:18 +02:00
Alfonso de la Rocha
9bfb73211e fixed RewardFunc 2022-10-13 16:43:02 +02:00
Alfonso de la Rocha
88d3de7afc run make gen to make ci happy 2022-10-13 16:43:02 +02:00
Alfonso de la Rocha
95c0afb99b minor fixes 2022-10-13 16:43:02 +02:00
Kevin Li
9d1208c9ff api: ethrpc: implement eth_sendRawTransaction (#9334)
Co-authored-by: Raúl Kripalani <raul@protocol.ai>
2022-10-13 16:39:14 +02:00
Alfonso de la Rocha
c3ee957cc6 rm signature fns from cns iface 2022-10-13 16:30:25 +02:00
Alfonso de la Rocha
536600c95c added comments to consensus interface 2022-10-13 16:30:25 +02:00
Alfonso de la Rocha
627d6e70a6 parametrized reward function for consensus 2022-10-13 16:30:14 +02:00