Łukasz Magiera
470dd8da3d
ethrpc: Buffer sub messages if subscriber is slow
2023-03-15 18:34:10 +01:00
Łukasz Magiera
7e414ac390
Merge remote-tracking branch 'origin/master' into feat/go-data-transfer-v2
2023-03-15 11:37:53 +01:00
raulk
e8325f9a98
Revert "Eth API: drop support for 'pending' block parameter."
...
This reverts commit 9412753ba3
.
2023-03-14 13:46:01 +00:00
Steven Allen
dcb49dc8ee
refactor: update cache to the new generic version ( #10463 )
...
- Adds type safety.
- Reduces allocations.
- Fixes the drand cache (was storing by value, but retrieving by pointer)
2023-03-13 15:29:09 -07:00
Steven Allen
73a2b4152b
feat: eth: Avoid StateCompute in EthTxnReceipt lookup ( #10460 )
...
Instead:
1. Use the receipt from the message search.
2. Re-compute the gas fees that would have been charged.
fixes #10418
Co-authored-by: raulk <raul.kripalani@gmail.com>
2023-03-13 11:44:59 -07:00
raulk
75c279ab97
Merge pull request #10456 from filecoin-project/raulk/fix-eth-net_version
2023-03-13 11:25:19 +00:00
vyzo
0a5618d406
make gen
2023-03-13 12:10:36 +02:00
vyzo
db8b593c9b
make MsgIndex configurable, disabled by default.
2023-03-13 12:01:04 +02:00
vyzo
3c945e9e3c
no need to return error from DummyMsgIndex DI constructor
2023-03-13 12:00:48 +02:00
vyzo
b90cfff0aa
wire in lifecycle context
2023-03-13 10:42:48 +02:00
Raúl Kripalani
2e56237898
Merge branch 'master' into asr/fix-eth-api-gateway
2023-03-12 15:56:55 +00:00
Raúl Kripalani
e65a5988e1
Eth API: make eth_getTransactionByBlock* ops return ErrUnsupported.
2023-03-12 15:53:56 +00:00
vyzo
3b765a30d3
dummy index for itests
2023-03-12 16:02:51 +02:00
vyzo
171734ea31
hook the index into the rest of lotus
2023-03-12 15:25:07 +02:00
Raúl Kripalani
5a4b5ff97e
remove superfluous filter.
2023-03-12 00:44:49 +00:00
Raúl Kripalani
7ce92f1422
Eth API: make net_version return the chain ID.
2023-03-11 23:26:26 +00:00
Raúl Kripalani
9412753ba3
Eth API: drop support for 'pending' block parameter.
...
After transitioning from using StateCompute to loading receipts,
we can no longer handle the 'pending' block without forcing
computation. Eth Core Devs are evaluating a proposal to remove
support on their end too.
2023-03-11 23:03:21 +00:00
Raúl Kripalani
f7a979d825
eth_feeHistory: migrate to using TipSetState.
2023-03-11 17:25:00 +00:00
Steven Allen
eba270d1e2
feat: api: optimize ChainGetParentReceipts
...
Read the receipts all at once instead of fetching them one-by-one.
2023-03-10 16:01:34 -08:00
Steven Allen
1cf57ffe2d
feat: eth: optimize receipt reading
...
This optimizes the eth APIs (except the fee history one) to lookup the
tipset state/receipts instead of computing the state.
2023-03-10 15:33:45 -08:00
Travis Person
f641139bf2
Merge pull request #10282 from filecoin-project/feat/cache-migrated-stateroot
...
feat: stmgr: cache migrated stateroots
2023-03-09 11:47:43 -08:00
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
Łukasz Magiera
faedc12531
Merge pull request #10391 from filecoin-project/feat/record-hotstore-space
...
feat:splitstore:Configure max space used by hotstore and GC makes best effort to respect
2023-03-09 17:41:36 +01:00
zenground0
87d5a3723f
lint
2023-03-09 08:57:14 -07:00
zenground0
bd0c010be6
Configur buffer and threshold
2023-03-09 08:40:14 -07:00
ZenGround0
c80783dbea
feat:splitstore:Splitstore enabled by default ( #10429 )
...
Discard mode
---------
Co-authored-by: zenground0 <ZenGround0@users.noreply.github.com>
2023-03-09 08:37:34 -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
Marten Seemann
4f060b87bb
only register metrics once
2023-03-09 16:44:37 +13:00
zenground0
efbb63582e
Review Response
2023-03-08 18:11:39 -07:00
ychiao
0a0df61d77
fix: EthAPI: use StateCompute for feeHistory; apply minimum gas premium ( #10413 )
2023-03-09 00:28:17 +00:00
Marten Seemann
0f5f91c094
register rcmgr metrics
2023-03-09 11:52:53 +13: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
Łukasz Magiera
d114d8fe7e
deprecate MarketListRetrievalDeals, make gen
2023-03-08 17:15:16 +01:00
Marten Seemann
db6efe6512
use go-libipfs/files instead of ipfs/go-ipfs-files
2023-03-08 17:50:56 +13:00
hannahhoward
7bc6185077
chore(deps): update to get to compile
2023-03-07 11:45:30 -08:00
hannahhoward
16dad6342c
feat(deps): update to go-data-transfer v2, still wip
2023-03-07 11:44:29 -08: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
zenground0
a994153e27
GC respects target for max hotstore space
2023-03-07 07:39:17 -07:00
Łukasz Magiera
64b9b532c0
Merge pull request #10387 from filecoin-project/feat/lotus-badger-gc
...
feat:splitstore:Badger GC of hotstore command
2023-03-07 08:52:15 +01: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
zenground0
71b21db0d9
chain prune hot -- hotstore online gc
2023-03-03 11:14:52 -05:00
Aayush
cfb5eac015
fix: EthAPI: Make newEthBlockFromFilecoinTipSet faster and correct
2023-03-02 12:34:09 -05:00
Aayush
19f1ad2762
Merge branch 'releases' into asr/merge-release-into-master
2023-03-01 14:18:35 -05:00
Travis Person
814c146626
feat: stmgr: cache migrated stateroots
2023-03-01 16:17:34 +00:00
Phi
4c7d9ad30e
Tune down ParallelCheckLimit
...
Tune down ParallelCheckLimit config default
2023-02-28 11:46:11 +01:00
Aayush
17e680ea3c
fix: EthGetBalance: lookup balance at correct state
2023-02-27 14:43:57 -05:00
Aayush Rajasekaran
9fba14b6b1
Merge pull request #10333 from filecoin-project/asr/overestimate
...
feat: gas: overestimate around the Hygge upgrade
2023-02-27 10:55:09 -05:00
Aayush Rajasekaran
8975f0b753
feat: EthAPI: Add FilecoinAddressToEthAddress ( #10343 )
2023-02-24 14:19:52 -05:00
Aayush
35c90d34d6
feat: gas: overestimate around the Hygge upgrade
2023-02-23 09:35:01 -05:00
Ian Davis
5d3314f121
Touch source to trigger CI
2023-02-23 13:02:20 +00:00
Łukasz Magiera
ea57a1aec3
Merge remote-tracking branch 'origin/master' into hsanjuan/chain-export-range-rebased
2023-02-23 13:08:14 +01:00
Aayush
984b4c78cb
Merge branch 'release/v1.20.0' into asr/merge-release-into-master
2023-02-17 16:08:22 -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
Aayush Rajasekaran
258df7691f
Merge pull request #10305 from filecoin-project/asr/bump-go-libipfs-for-release
...
chore: deps: bump go-libipfs to v0.4.1
2023-02-17 14:34:12 -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
Jorropo
7a4205ac36
chore: node: migrate go-bitswap to go-libipfs/bitswap
...
This was migrated in https://github.com/ipfs/go-libipfs/pull/63 .
(cherry picked from commit d060df2fb9
)
2023-02-17 18:46:17 +01:00
Jorropo
2d3065ae8e
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
(cherry picked from commit f572852d06
)
2023-02-17 18:46:11 +01: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
75c744a438
Merge branch 'release/v1.20.0'
2023-02-14 20:29:14 -05:00
Aayush
3f063f7cd7
fix: StorageKey is now fixed-size array
2023-02-14 19:04:43 -05:00
Hector Sanjuan
a2475bca94
range-export: write files to lotus repo path
2023-02-14 21:08:10 +01:00
Hector Sanjuan
be1614a042
range-export: check serverside that head > tail
2023-02-14 21:08:10 +01:00
Hector Sanjuan
ec01036871
Ranged export: remove non-internal ranged export method
...
Additionally, per feedback:
* Set "admin" permissions
* Remove from v0api
2023-02-14 21:08:10 +01:00
Hector Sanjuan
1bb698619c
Ranged-export: Remove CachingBlockstore
...
The improvements in the range-export code lead to avoid reading most blocks
twice, as well as to allowing some blocks to be written to disk multiple times.
The cache hit-rate went down from being close to 50% to a maximum of 12% at
the very end of the export. The reason is that most CIDs are never read twice
since they are correctly tracked in the CID set.
These numbers do not support the maintenance of the CachingBlockstore
code. Additional testing shows that removing it has similar memory-usage
behaviour and about 5 minute-faster execution (around 10%).
Less code to maintain and less options to mess up with.
2023-02-14 21:08:10 +01:00
Hector Sanjuan
fa93c23813
Chain ranged export: rework and address current shortcomings
...
This commit moderately refactors the ranged export code. It addresses several
problems:
* Code does not finish cleanly and things hang on ctrl-c
* Same block is read multiple times in a row (artificially increasing cached
blockstore metrics to 50%)
* It is unclear whether there are additional races (a single worker quits
when reaching height 0)
* CARs produced have duplicated blocks (~400k for an 80M-blocks CAR or
so). Some blocks appear up to 5 times.
* Using pointers for tasks where it is not necessary.
The changes:
* Use a FIFO instead of stack: simpler implementation as its own type. This
has not proven to be much more memory-friendly, but it has not made things
worse either.
* We avoid a probably not small amount of allocations by not using
unnecessary pointers.
* Fix duplicated blocks by atomically checking+adding to CID set.
* Context-termination now works correctly. Worker lifetime is correctly tracked and all channels
are closed, avoiding any memory leaks and deadlocks.
* We ensure all work is finished before finishing, something that might have
been broken in some edge cases previously. In practice, we would not have
seen this except perhaps in very early snapshots close to genesis.
Initial testing shows the code is currently about 5% faster. Resulting
snapshots do not have duplicates so they are a bit smaller. We have manually
verified that no CID is lost versus previous results, with both old and recent
snapshots.
2023-02-14 21:08:10 +01:00
Ian Davis
35730637dc
fix: tracer: emit raw peer ids for compatibility with libp2p tracer
2023-02-14 16:17:03 +00:00
Łukasz Magiera
7150243cda
feat: ethrpc: Support newPendingTransactions in eth_subscribe ( #10269 )
2023-02-14 16:15:42 +00:00
frrist
21efd481d8
First efficient ranged-export implementation by @frisst
...
This first commit contains the first and second implementation stabs (after
primary review by @hsanjuan), using a stack for task buffering.
Known issues: ctrl-c (context cancellation) results in the export code getting
deadlocked. Duplicate blocks in exports. Duplicate block reads from store.
Original commit messages:
works
works against mainnet and calibnet
feat: add internal export api method
- will hopfully make things faster by not streaming the export over the json rpc api
polish: better file nameing
fix: potential race in marking cids as seen
chore: improve logging
feat: front export with cache
fix: give hector a good channel buffer on this shit
docsgen
2023-02-14 15:41:10 +01: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
Łukasz Magiera
7486227c27
Merge remote-tracking branch 'origin/release/v1.20.0' into asr/merge-release-into-master
2023-02-13 13:14:09 +01:00
Raúl Kripalani
8ff55c027e
Merge branch 'release/v1.20.0' into asr/merge-release-into-master
2023-02-13 11:45:09 +00: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
Aayush
63b03a48d0
Merge branch 'release/v1.20.0' into asr/merge-release-into-master
2023-02-10 18:39:51 -05: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
b0d917d542
fix: make gen
2023-02-10 09:32:59 -08: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
Ł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