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
Łukasz Magiera
ec1b2b959a
Merge pull request #9973 from placer14/mg/chore/expose-compaction-poolsize-envvar
...
feat: blockstore: Envvar can adjust badger compaction worker poolsize
2023-02-10 11:38:08 +01:00
Łukasz Magiera
088d231cda
fix: Don't call WalletExport in msg signing flows
2023-02-10 02:37:59 +01: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
Łukasz Magiera
a32db5ff69
Merge pull request #10186 from filecoin-project/nonsense-patch-1
...
LOTUS_FEVM_ENABLEETHRPC: Fix env variable name in error
2023-02-09 17:56:27 +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
cb8e2836bb
Merge pull request #10184 from filecoin-project/asr/merge-release-into-master
...
chore: merge release/v1.20.0 into master
2023-02-09 16:41:58 +01: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
Aayush Rajasekaran
693f230fbb
Merge branch 'release/v1.20.0' into asr/merge-release-into-master
2023-02-07 11:03:01 -05:00
Łukasz Magiera
e0d92a13a7
Merge pull request #10172 from ribasushi/fix/respect_nofsync
...
fix: extend LOTUS_CHAIN_BADGERSTORE_DISABLE_FSYNC to the markset
2023-02-07 03:18:58 +01:00
Łukasz Magiera
5dc56841ea
fix: ethtypes: Correct 'no transactions' hash in NewEthBlock
2023-02-06 17:17:19 +01:00
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
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
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
Peter Rabbitson
818b3b8daf
fix: extend LOTUS_CHAIN_BADGERSTORE_DISABLE_FSYNC to the markset
...
Without doing this walking a badger markset on a non-nvme knocks the
node hopelessly out of sync during a compaction.
2023-02-01 21:00:39 +01:00
Łukasz Magiera
7060150bdc
Merge pull request #10149 from FlattestWhite/richard/make-user-agent-dependency-injectable
...
feat: Allow libp2p user agent to be overriden
2023-02-01 19:12:08 +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
Richard Guan
45ceb5d297
move UserAgentOption upwards
2023-01-31 21:46:24 +09:00
Richard Guan
a8dace0f23
make libp2p user agent overridable
2023-01-31 21:40:55 +09: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
Jorropo
d060df2fb9
chore: node: migrate go-bitswap to go-libipfs/bitswap
...
This was migrated in https://github.com/ipfs/go-libipfs/pull/63 .
2023-01-27 23:10:44 +01: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
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
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
Aayush
65ac5669a9
Merge branch 'master' into asr/merge-release-into-master
2023-01-23 12:37:24 -05: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
Łukasz Magiera
53015dc3ee
Merge pull request #9981 from filecoin-project/masih/dep-up-dixprov
...
chore: market: Upgrade to index-provider 0.10.0
2023-01-23 12:53:23 +01:00
Aayush
4f199ada40
Merge branch 'release/v1.20.0' into asr/merge-release-into-master
2023-01-20 17:32:29 -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
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
901bb153d0
fix: should not serve non v0 api in v1
2023-01-19 11:06:04 -05: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
Aayush
e715384173
Merge branch 'release/v1.20.0' into asr/merge-release-into-master
2023-01-16 10:51:22 -05: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