Commit Graph

3045 Commits

Author SHA1 Message Date
Anton Evangelatov
ad457202dd LOTUS_FEVM_ENABLEETHRPC: Fix env variable name in error 2023-02-06 15:25:51 +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
Travis Person
03b419e3d4 feat: compute a better gas limit for recursive external contract calls 2023-02-03 20:40:18 +00: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
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
Łukasz Magiera
3d207de6aa node builder: Use gateway eth module in lite mode 2023-02-02 13:39:40 +01:00
Łukasz Magiera
a6a2f0dbae gateway: Support all EthModule methods 2023-02-02 13:37:31 +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
Jennifer Wang
5d87fc8278 fix: should not serve non v0 api in v1 2023-01-31 17:06:02 -05:00
Maciej Witowski
dcbfca53d9 Improve the error message 2023-01-31 18:54:05 +01:00
Maciej Witowski
5f2ef98de6 Move assigning from address to the API level 2023-01-31 18:28:12 +01: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
Łukasz Magiera
6491becbe1 rpc: Switch eth_subscribe to reverse calls 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
Steven Allen
c93717bf77
fix: don't replace the method in EthSendRawTransaction (#10129)
This will just cause signature validation to fail.
2023-01-26 09:22:06 -08: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
Geoff Stuart
c6829a9d0e
Merge pull request #10113 from filecoin-project/feat/web3_clientVersion
Eth JSON-RPC: implement web3_clientVersion
2023-01-25 15:11:30 -05:00
Aayush
7aed7d3fd0 fix: EthAPI: Handle EthCall return correctly 2023-01-25 11:36:59 -05:00
Ian Davis
b38d203e83 Remove debug logging 2023-01-25 09:44:52 +00:00
ychiao
358964d2c8 fix lint 2023-01-24 22:59:46 -05:00
ychiao
ee6af9de61 Eth JSON-RPC: implement web3_clientVersion 2023-01-24 22:56:04 -05:00
Aayush
8864782750 fix: EthAPI: Drop hack in GetStorageAt 2023-01-24 13:18:13 -05:00
Ian Davis
8daf22c3ff Test and fix eth_FeeHistory 2023-01-24 11:27:18 +00:00
Ian Davis
7d1bd1d5ab Use gojsonschema 2023-01-23 16:50:40 +00:00
Ian Davis
c6d279c853 Decode topic values in EthGetTransactionReceipt 2023-01-23 14:43:36 +00:00
Ian Davis
d9261b6e2f itests: validate responses from ethereum json-rpc api 2023-01-23 14:37:51 +00:00
Ian Davis
ddd5ff9c42
fix: event filters use cbor encoding internally (#10085) 2023-01-23 14:14:25 +00: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
Jiaying Wang
b08b63d4ab
Merge pull request #10077 from filecoin-project/gstuart/eth-event-config
feat: Events API enabled by default if EnableEthRPC is true
2023-01-19 19:56:03 -05:00
Jennifer Wang
63d4c10b9e remove extra event doc 2023-01-19 19:53:21 -05: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
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
Jiaying Wang
2335bed58a
Revert "fix: should not serve non v0 apis in v0" (#10073) 2023-01-19 20:36:03 +00:00
Łukasz Magiera
eaccb571a5
fix: config: Fix eth rpc typo (#10076) 2023-01-19 20:35:19 +00:00
Łukasz Magiera
e194cbc715 impl: Cleanup EthTxHashManager handling 2023-01-19 19:30:18 +01:00
Łukasz Magiera
66f5ee4ae9 config: Fevm.EnableEthPRC 2023-01-19 18:31:17 +01:00
Jennifer Wang
1724d1666e fix: should not serve non v0 api in v1 2023-01-19 11:02:09 -05:00
Ian Davis
58587a7956 Remove unused code 2023-01-19 13:06:07 +00: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
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
Geoff Stuart
72f42505b9 Explain config more clearly 2023-01-16 08:17:34 -05:00
Geoff Stuart
6b0f1116ce Remove maybe unnecessary check 2023-01-16 07:08: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
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
Jennifer Wang
427fbdb8a9 Merge branch 'release/v1.20.0' into jen/resolveconflict 2023-01-13 21:50:57 -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
Łukasz Magiera
574b684396 address review 2023-01-13 20:08:35 +01:00
Łukasz Magiera
9b7c506de0 lite node: Use full.EthEventAPI provided by gateway in lite mode 2023-01-13 20:04:42 +01:00
Łukasz Magiera
12c23d7d60 api: Drop EthModuleDummy 2023-01-13 20:04:42 +01:00
Łukasz Magiera
708618d11c feat: gateway: eth_ api support 2023-01-13 20:04:41 +01:00
Raúl Kripalani
6de2aca8ae change ResolveToKeyAddr => ResolveToDeterministicAddr + friends. 2023-01-13 01:44:39 +00:00
raulk
014d95454b
address review comments from @magik6k on #9617 (#9997) 2023-01-12 19:11:48 +00:00
raulk
3ef32395f3
clean up ethtypes: rationalize ethtypes.EthAddressFromFilecoinAddress and conversion methods (#9992) 2023-01-12 17:09:21 +00:00
ychiao
105a1259bc
Eth JSON-RPC: use ToFilecoinAddress() to get f4 addr and validate v sig + cleanups (#9970)
Co-authored-by: raulk <raul@protocol.ai>
2023-01-12 14:55:07 +00:00
Raúl Kripalani
8512bbc45b drop f099 eth_call hack.
We now create the 0x0 Eth null address on genesis as an EthAccount,
so using the 0x0 Eth null address is guaranteed to work.
2023-01-12 08:50:38 +00:00
Raúl Kripalani
1e0c78098c constant for Event AMT bitwidth. 2023-01-12 08:50:38 +00:00
Raúl Kripalani
6c0ddd4ec9 fix typos. 2023-01-12 08:50:38 +00:00
Raúl Kripalani
8ef17332ba {predictable=>delegated} addresses. 2023-01-12 08:50:38 +00:00
Jennifer Wang
cb49edf29d update embryo to placehodler 2023-01-09 22:23:55 -05:00
hanabi1224
6b14b0536e fix: error checks 2023-01-04 20:10:21 +08:00
hanabi1224
83554afebc Merge remote-tracking branch 'origin/master' into close-write 2023-01-02 16:42:21 +08:00
Aayush
a5851a1763 Merge branch 'master' into feat/nv18-fevm 2022-12-23 16:37:26 -05:00
Raúl Kripalani
a22518d96d remove unused var. 2022-12-23 18:21:40 +00:00
Raúl Kripalani
a469840290 merge ntwk/wallaby into feat/nv18-fevm.
Unfortunately some important changes to make this branch
consistent and functional only existed on the wallaby branch.
So this commit brings them in sync.
2022-12-23 18:20:46 +00:00
Raúl Kripalani
f44bd27f7b fix: eth_blockNumber: make it aware of null rounds. 2022-12-23 18:06:33 +00:00
Raúl Kripalani
c7efaaad7e refine docs. 2022-12-23 17:20:57 +00:00
Raúl Kripalani
9505ac88ba add docs. 2022-12-23 17:20:57 +00:00
Raúl Kripalani
b8b3b5d48b fix: Eth JSON-RPC API: eth_getTransactionReceipt logs-related fixes.
Hardhat doesn't like logs: null in transaction receipts when no logs
were emitted. Wants empty array.

Size logsBloom correctly.
2022-12-23 17:20:57 +00:00
ychiao
60c9832429 fix nonce 2022-12-23 17:20:57 +00:00
Raúl Kripalani
4411fd7f81 eth_getTransactionByHash: return nil in some fields when tx is in mpool. 2022-12-23 17:20:57 +00:00
Raúl Kripalani
7ed79fece6 fix: eth_getTransactionByHash: return hash. 2022-12-23 17:20:57 +00:00
Aayush
9d3e50f140 feat: implement and test the v18 migration 2022-12-22 13:05:00 -05:00
Raúl Kripalani
bb5cb19607 fix: Eth JSON-RPC API: eth_getTransactionByHash should return nil when not found. 2022-12-22 11:47:46 +00:00
raulk
e7aa7cb04f
add a basic FEVM integration test. (#9922)
* add a basic FEVM integration test.

Exercises f4 addresses, placeholder transitions, Ethereum Account.

* remove unused parameter from newEthTxFromFilecoinMessageLookup.

* break when found in newEthTxFromFilecoinMessageLookup.

* fixup test.

* lint and gen.

* move test to itests root package.

Co-authored-by: Shrenuj Bansal <shrenuj.bansal@protocol.ai>
2022-12-21 15:12:07 -05:00
Shrenuj Bansal
3d3bce6702
Merge pull request #9897 from filecoin-project/sbansal/eth-state-cli
feat: cli: Add cli to inspect Eth addresses and simulate calls
2022-12-19 14:50:52 -05:00
ychiao
20f27af97e
eth: rpc: various Ethereum JSON-RPC API fixes (#9837)
Co-authored-by: Raúl Kripalani <raul@protocol.ai>
Fixes https://github.com/filecoin-project/ref-fvm/issues/1016
Fixes https://github.com/filecoin-project/ref-fvm/issues/1158
Fixes https://github.com/filecoin-project/ref-fvm/issues/1196
Fixes https://github.com/filecoin-project/ref-fvm/issues/1269
Fixes https://github.com/filecoin-project/lotus/issues/9820
2022-12-19 16:45:32 +00:00
Łukasz Magiera
156ba420c3 fix: splitstore: Don't deadlock in mpool protector 2022-12-17 13:14:50 +01:00
Geoff Stuart
92f3a7b050 Merge branch 'feat/nv18-fevm' into feat/nv18-events 2022-12-16 16:27:14 -05:00
Geoff Stuart
bc7c190db0 Move all eth stuff into ethtypes 2022-12-16 13:48:06 -05:00
Shrenuj Bansal
d71f5a7d12 Add cli to inspect Eth addresses and simulate calls 2022-12-16 12:54:50 -05:00
Aayush
7ea690d4be Merge branch 'master' into feat/nv18-fevm 2022-12-16 11:52:41 -05:00
hanabi1224
6ae7cdab64 call Stream.CloseWrite right after writing 2022-12-16 17:22:53 +08:00
Geoff Stuart
88d59f6a5f Set notifications for SIGTERM and SIGINT when we start the cli 2022-12-15 12:54:41 -05:00
Aayush
720451c89e Merge branch 'master' into feat/nv18-fevm 2022-12-14 19:54:47 -05:00
Geoff Stuart
442132be70 Move eth types to chain/types/ethtypes 2022-12-14 14:08:38 -05:00