Jiaying Wang
1096ead73e
Merge pull request #10427 from filecoin-project/raulk/fix-eth-parseBlkParam
...
fix: Eth API: make block parameter parsing sounder.
2023-03-09 14:21:24 -05:00
Raúl Kripalani
fce0813821
switch to ChainAPI#ChainGetTipSetByHeight.
2023-03-09 18:51:38 +00:00
Aayush Rajasekaran
9fa81673da
Merge pull request #10411 from filecoin-project/asr/simplity-new-eth-tx-rct
...
refactor: EthAPI: Drop unnecessary param from newEthTxReceipt
2023-03-09 12:44:44 -05:00
Raúl Kripalani
941ef84b71
Merge branch 'master' into raulk/fix-eth-parseBlkParam
2023-03-09 12:16:23 +00:00
Aayush Rajasekaran
ab91ab100f
fix: eth API: return correct txIdx around null blocks ( #10419 )
2023-03-09 12:14:57 +00:00
ychiao
0a0df61d77
fix: EthAPI: use StateCompute for feeHistory; apply minimum gas premium ( #10413 )
2023-03-09 00:28:17 +00:00
Raúl Kripalani
28d8b4cd65
Eth API: fail when requesting future epochs.
2023-03-08 20:49:36 +00:00
Raúl Kripalani
cef416e2b0
Eth API: make block parameter parsing sounder.
2023-03-08 20:38:09 +00:00
Aayush
f1b1eb8b36
refactor: EthAPI: Drop unnecessary param from newEthTxReceipt
2023-03-07 13:40:39 -05:00
Aayush
8b5bc45fcf
fix: eth API: correct gateway restrictions, drop unimplemented methods
2023-03-07 12:53:04 -05:00
Aayush Rajasekaran
12496e5631
Merge pull request #10389 from filecoin-project/asr/fix-eth-api-genesis
...
fix: EthAPI: Correctly get parent hash
2023-03-06 09:15:48 -05:00
Aayush
920fdfdf85
fix: EthAPI: Correctly get parent hash
2023-03-03 16:42:57 -05:00
Aayush
cfb5eac015
fix: EthAPI: Make newEthBlockFromFilecoinTipSet faster and correct
2023-03-02 12:34:09 -05:00
Aayush
17e680ea3c
fix: EthGetBalance: lookup balance at correct state
2023-02-27 14:43:57 -05:00
Aayush Rajasekaran
8975f0b753
feat: EthAPI: Add FilecoinAddressToEthAddress ( #10343 )
2023-02-24 14:19:52 -05:00
Aayush Rajasekaran
e3e78f1dc9
Merge pull request #10306 from filecoin-project/steb/error-cleanup
...
fix: eth: cleanup error cases
2023-02-17 15:22:07 -05:00
Steven Allen
bad41c247a
fix: eth: cleanup error cases
...
1. Return an error on gas estimation failure instead of logging.
2. Return early when processing signed messages on failure instead of
continuing.
2023-02-17 12:04:01 -08:00
Aayush Rajasekaran
efcdec6517
Merge pull request #10300 from filecoin-project/steb/fix-eth-nonce
...
fix: eth: return the correct nonce from EthGetTransactionCount
2023-02-17 14:45:45 -05:00
Steven Allen
6c0f4cbd74
nit: actually, don't use blocks
2023-02-17 11:18:51 -08:00
Steven Allen
49cd428c43
nit: put evm case in a block
2023-02-17 11:17:35 -08:00
Steven Allen
a3bc65ba05
fix: eth: return the correct nonce from EthGetTransactionCount
...
EVM contracts track this number internally.
fixes https://github.com/filecoin-project/lotus/issues/10255
2023-02-17 10:51:42 -08:00
Steven Allen
30615a4ed6
feat: eth: return revert data on failed gas estimation ( #10298 )
...
Unfortunately, we need to execute the message twice to get this (unless
we want to change some APIs). But it's unlikely to be a performance
issue and will definitely help people debug failures.
2023-02-17 10:36:30 -08:00
Steven Allen
00b6d06041
feat: eth: parse revert data ( #10295 )
...
We don't really want to do this in the FVM because it's Ethereum
specific, but this makes sense to do in the Ethereum API.
See:
See https://docs.soliditylang.org/en/latest/control-structures.html#panic-via-assert-and-error-via-require
2023-02-17 01:18:03 +00:00
Steven Allen
5854d72784
fix: eth: correctly decode EthGetStorageAt output ( #10284 )
...
* fix: eth: correctly decode EthGetStorageAt output
We cbor-encode it. Also:
1. Actually use the passed block param.
2. Check if the target actor is an EVM actor to avoid nonsense outputs.
fixes https://github.com/filecoin-project/ref-fvm/issues/1621
2023-02-16 16:36:52 -08:00
Aayush
1d0a524b88
feat: EthAPI: Add EthAddressToFilecoinAddress
2023-02-16 12:24:17 -05:00
Aayush
3f063f7cd7
fix: StorageKey is now fixed-size array
2023-02-14 19:04:43 -05:00
Łukasz Magiera
7150243cda
feat: ethrpc: Support newPendingTransactions in eth_subscribe ( #10269 )
2023-02-14 16:15:42 +00:00
ychiao
0d92c746bd
Eth JSON-RPC: populate reward in eth_feeHistory ( #10245 )
...
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
Co-authored-by: Raúl Kripalani <raul@protocol.ai>
2023-02-14 01:02:37 +00:00
Steven Allen
f427c2b566
fix: eth: correctly convert filecoin message <-> eth txn ( #10257 )
...
1. We do allow deploying with empty initcode.
2. Make sure that the encoded "code" is non-empty, if specified.
Basically, this makes everything consistent (and it's how I specified it
in the FIP).
2023-02-13 10:33:59 -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
Steven Allen
a085eb1593
fix: eth: correctly return empty bytecode after selfdestruct
2023-02-12 19:31:56 -08:00
raulk
37e1ac5d93
eth: FIP-0055: implement final version of transitory delegated signature. ( #10239 )
2023-02-12 21:08:42 +00:00
Raúl Kripalani
6a76bbb6e3
improve TODO.
2023-02-10 22:46:57 +00:00
ychiao
8cded9f8d2
add todo
2023-02-10 17:34:53 -05:00
Raúl Kripalani
778768dbf7
eth_feeHistory: parse block param correctly.
2023-02-10 22:29:52 +00:00
ychiao
db749b8fc7
Merge branch 'release/v1.20.0' into fix/EthUint64-args
2023-02-10 17:26:38 -05:00
ychiao
3c580403c1
implement itest and handle optional params
2023-02-10 13:33:59 -05:00
Steven Allen
cc302dd68b
fix: eth: log on unexpected events
...
We can remove these later as we add more event types, but this will aid
in debugging.
2023-02-10 07:59:47 -08:00
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
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
75f9b7d040
Merge pull request #10119 from filecoin-project/gstuart/tx-hash-on-simport-napshot
...
feat: eth: populate tx hash database on startup
2023-02-09 19:06:20 +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
9339267e6e
fix: ethrpc: emit correct bloom filters ( #10194 )
2023-02-08 23:14:53 +00:00
Łukasz Magiera
3516c7674b
fix: ethrpc: Don't send sub notifs in array
2023-02-08 15:55:38 +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
Łukasz Magiera
5dc56841ea
fix: ethtypes: Correct 'no transactions' hash in NewEthBlock
2023-02-06 17:17:19 +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
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
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
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
Ł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
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
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
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