Commit Graph

793 Commits

Author SHA1 Message Date
Mikers
06294351fa perf: eth: gas estimate set applyTsMessages false (#10546)
* have gas estimate call callInternal with applyTsMessages = false and other calls with applyTsMessages=true for gas caclulation optimization

* set applyTsMessages = true in CallWithGas call in shed

* update test with new callwithgas api optimization for eth call

* Update chain/stmgr/call.go

Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>

* env flag LOTUS_SKIP_APPLY_TS_MESSAGE_CALL_WITH_GAS must be 1 in order to have applyTsMessages change

* env flag LOTUS_SKIP_APPLY_TS_MESSAGE_CALL_WITH_GAS must be 1 in order to have applyTsMessages change

* make sure that even if we arent apply ts messages we grab ts messages from the particular user who is requesting gas estimation

---------

Co-authored-by: Jiaying Wang <42981373+jennijuju@users.noreply.github.com>
Co-authored-by: Łukasz Magiera <magik6k@users.noreply.github.com>
Co-authored-by: Ubuntu <ubuntu@ip-10-0-4-29.us-east-2.compute.internal>
2023-03-29 14:25:40 -04:00
Steven Allen
2207ab3c93 fix: eth: handle a potential divide by zero in receipt handling
This isn't really possible to hit on-chain at this piont (message won't
be accepted) but we might as well be extra careful.

fixes #10471
2023-03-16 08:53:52 -07:00
Łukasz Magiera
093ff95580
Merge pull request #10467 from filecoin-project/steb/gw-eth-lookback-limit
feat: apply gateway lookback limit to eth API lookback
2023-03-16 08:50:59 +01:00
Łukasz Magiera
c0aed3c4a2
Merge pull request #10474 from filecoin-project/raulk/fix-pending-support
fix: revert "Eth API: drop support for 'pending' block parameter."
2023-03-16 08:49:49 +01:00
Steven Allen
17274e72da feat: expose limited apis on the gateway 2023-03-15 16:12:18 -07:00
Steven Allen
3776ee3b62 fix: actually apply limit 2023-03-15 16:11:13 -07:00
Steven Allen
fee480193e feat: apply gateway lookback limit to eth API lookback
This change:

1. Introduces new "limited" API endpoints for EthGetTransactionByHash
   and EthGetTransactionReceipt that accept lookback-limits.
2. Implements the gateway version of these API endpoints by calling the
   limited variants with the default message search lookback limit.

fixes #10412
2023-03-15 16:11:11 -07:00
Łukasz Magiera
720e95991c make lint happy 2023-03-15 18:52:11 +01:00
Łukasz Magiera
470dd8da3d ethrpc: Buffer sub messages if subscriber is slow 2023-03-15 18:34:10 +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
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
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
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
Ł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
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
Łukasz Magiera
ea57a1aec3 Merge remote-tracking branch 'origin/master' into hsanjuan/chain-export-range-rebased 2023-02-23 13:08:14 +01: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