Commit Graph

712 Commits

Author SHA1 Message Date
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
Łukasz Magiera
7150243cda
feat: ethrpc: Support newPendingTransactions in eth_subscribe (#10269) 2023-02-14 16:15:42 +00:00
Steven Allen
abeb4fadc4
fix: itest: EthFeeHistory flake (#10265) 2023-02-14 02:42:44 +00:00
snissn
9f2f9154d2
itest for block.difficulty (#10263) 2023-02-13 18:29:11 -08: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
a16c54051c
fix: eth: rename yParity to v in transaction return values (#10264)
fixes https://github.com/filecoin-project/ref-fvm/issues/1662
2023-02-13 23:29:13 +00:00
Mike Seiler
3177f63a17 add test for transparent delegate proxy from openzeppelin 2023-02-13 13:57:18 +01:00
Łukasz Magiera
a652ffcb62 make gen 2023-02-13 13:09:09 +01: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
Raúl Kripalani
c61267cadc fix bad test. 2023-02-10 22:42:17 +00:00
ychiao
db749b8fc7 Merge branch 'release/v1.20.0' into fix/EthUint64-args 2023-02-10 17:26:38 -05:00
Steven Allen
01e616f29e
fix: stmgr: make the tipset and height agree when estimating gas (#10216)
* fix: stmgr: make the tipset and height agree when estimating gas

Specifically re-execute all messages in the current tipset, tacking the new
message onto the end. That way, the epoch is the epoch of the current tipset.

We could try to "make" a fake block and use that, but that's unlikely to
work well.

* fix: stmgr: only apply tipset messages for CallWithGas

* fix: itest: window post dispute
2023-02-10 20:49:26 +00:00
ychiao
3c580403c1 implement itest and handle optional params 2023-02-10 13:33:59 -05: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
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
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
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