480 Commits

Author SHA1 Message Date
a704e4710d chore: delete STM annotations (#12752)
Signed-off-by: Jakub Sztandera <oss@kubuxu.com>
2024-12-05 16:45:07 +11:00
a83d02efba chore: deps: bump xerrors / fix lint (#12438) 2024-09-07 21:43:15 +00:00
6b03326888 chore: deps: drop direct use of minio/blake2b-simd (#12437) 2024-09-07 15:24:59 +00:00
42e6e41efe feat(eth): add EthSendRawTransactionUntrusted, use via gateway eth_sendRawTransaction (#12431)
* test(mpool): more complete testing of MpoolPush* methods
* feat(eth): add EthSendRawTransactionUntrusted, use via gateway eth_sendRawTransaction
* fix(eth): move EthSendRawTransactionUntrusted off main EthModuleAPI
  - Move it to EthAPI so the GatewayAPI doesn't have to implement it.
2024-09-07 08:14:12 +00:00
475139ff95 chore: deps: update to CGO-free go-crypto (#12411) 2024-08-23 10:50:48 +10:00
294ffc0a10 chore: types: fix type mismatches missed in #12246
Makes testground build again, namely:

 for d in ./cmd/lotus*; do go build -tags testground -o /dev/null $d || break ; done
2024-07-24 15:34:47 +10:00
1bc8a8b32c chore: remove (deprecated) deps on build/ proxy-constants
This is a large diff, yet should have exactly zero functional changes

Ideally as a result of this some parts of the depchain will become lighter,
with downstream reaping the same benefits as the team that initiated this split.

P.S. work was done while forming better intuition of current dependency graph
2024-07-22 17:36:12 +04:00
428524fdd8 chore: lint: enable method godoc linting 2024-07-19 11:10:11 +10:00
21abfc69fb feat: api: Clean API for Miners (#12112)
* proofparams alternate

* createminer

* const factored from /build and types updated to use it

* buildconstants for more places

* deprecate msg

* itest cleanup

* alerting interface

* house cleaning

* rm policy and drand from buildconstants

* clean up curio further

* aussie waffle

* pr fixes

* fix lints

* little fixes

* oops this got updated

* unbreak test builds

* test fixes

* comments - cleanups

* itests fix alerting

* rm obsolete alertinginterface

* spelling oops

* changelog

* tests need buildconstants port

* Fully migrate BlockGasTarget

* ulimit should not depend on build

* complete the simplest deprecations

* bringing back versions
2024-07-14 09:06:08 -05:00
c9c070727a feat: ETH compatibility in Filecoin : Support Homestead and EIP-155 Ethereum transactions("legacy" transactions) in Filecoin (#11969)
* poc for eth legacy tx

* print statements

* finished

* tests work

* remove print statements

* Remove all print statements

* remove extraneous changes

* cleaned up code and interface

* run make jen

* dont duplicate signature

* go mod tidy and remove prints

* clean up tests

* test for conversion

* changes as per review

* more unit tests for legacy txns

* Apply suggestions from code review

Co-authored-by: Rod Vagg <rod@vagg.org>

* address review comments from Rodd

* changes as per zen's 2nd review

* go mod tidy

* feat: ETH compatibility in Filecoin : Support EIP-155 Ethereum transactions in Filecoin (#11970)

* itests passing for 155 tx

* first working version for EIP-155 transactions

* green itest

* add docs

* tests

* remove print stmt

* remove print stmt

* validate signature

* changes as per zen's review

* correct signature verification

* gate tx by Network Version

* handle arajsek review

* fix imports order

* fix lint

* dont lock in mpool for network gating ETH messages

* sender can be an ID address

---------

Co-authored-by: Rod Vagg <rod@vagg.org>
2024-06-05 09:25:50 +04:00
26d3fd2ecc chore: lint: fix lint errors with new linting config
Ref: https://github.com/filecoin-project/lotus/issues/11967
2024-05-13 14:52:09 +10:00
cee77aa415 chore: remove duplicate words in strings and comments 2024-04-30 16:04:38 +10:00
47910cfe82 chore: remove repetitive words
Signed-off-by: shuangcui <fliter@qq.com>
2024-03-15 13:44:34 +11:00
c1c5deb458 feat: mpool: Cache actors in lite mode (#11668) 2024-03-12 10:44:56 +01:00
848c20d15f Merge branch 'master' into feat/sturdypost 2023-11-06 16:10:57 -06:00
Phi
d121760172 Record currentSize on addLocked
Record currentSize on addLocked
2023-11-03 08:59:01 +01:00
Phi
d1b8af338e Export Mpool-count
Record the current size of the mpool and export through Prometheus
2023-10-31 08:09:00 +00:00
861134d923 mpool: Fix CapGasFee maxFee handling
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
2023-10-11 16:49:00 +02:00
00aad34194 messagepool: refactor CapGasFee logic to be cleaner 2023-10-10 11:20:26 -04:00
444e75ef77 feat: mpool/wdpost: Maximize feecap config 2023-10-03 11:32:49 +02:00
a888b6320c harmonytask bump http protocol spec & lints 2023-09-22 18:06:26 -05:00
a520ee85d6 master-to-sturdy 2023-09-21 10:37:02 -05:00
be3281bdcf Invert msg validation check to explicitly specify reject errors 2023-06-28 13:35:21 -04:00
87ae60a2bc Merge pull request #10650 from filecoin-project/vyzo/test/mpool-select
Add timing test for mpool select with a large mpool dump
2023-05-30 17:00:06 +02:00
10ed18ba12 test: messagepool: gas rewards are negative if GasFeeCap too low 2023-05-29 12:54:04 -04:00
6ec413b7ad fix: not call RUnlock 2023-05-23 17:43:39 +08:00
fb228ebbff feat: mempool: reintroduce ForEachPendingMessage 2023-05-10 14:19:33 -04:00
9c05a1f734 chain errors using xerrors.Errorf 2023-05-04 23:50:07 -10:00
c1d22d8b32 refactor: streamline error handling in CheckPendingMessages (#10818) 2023-05-03 11:12:47 -10:00
742062f84c perf: mempool: lower priority optimizations (#10693)
* release the read lock earlier as it is not needed for chaincomputebasefee

* chain/messagepool/selection.go change to read lock in SelectMessages

* tighten up locks in chain/messagepool/repub.go and two questions on whether curTsLks are needed as comments

* include suggestion from @Jorropo to preallocate our msgs array so that we only need to make a single allocation

* mp.pending should not be accessed directly but through the getter

* from @arajasek: just check whether the sender is a robust address (anything except an ID address is robust) here, and return if so. That will:

be faster
reduce the size of this cache by half, because we can drop mp.keyCache.Add(ka, ka) on line 491.

* do not need curTslk and clean up code comments
2023-05-03 16:31:39 -04:00
4028c05fea address review comment 2023-04-21 20:03:13 +00:00
553da395e4 perf: Increase noncecache in MessagePool
Bumped from 256 to 32k entries which should be about 6MB of cached
entries given average nonceCacheKey of 200 bytes
2023-04-21 11:56:05 +00:00
953d56e216 perf: Address performance of EthGetTransactionCount
We have observed that EthGetTransactionCount is one of the hotspots
on Glif production notes, and we are seeing regular 10-20 second
latencies when calling this rpc method.

I tracked the high latency spikes and they were correlated when
we were running ExecuteTipSet while following the chain.

To address this, we should not rely on tipset computation to get
nounce and instead look at the parent tipset and then count the
messages sent from the 'addr'.
2023-04-21 11:55:46 +00:00
dd6720c61b message data 2023-04-11 16:19:59 +03:00
e358b3b358 add real world timing test for selection 2023-04-11 16:19:50 +03:00
b4e2e871dc prune excess messages before selection 2023-04-11 13:12:05 +03:00
41ea5a6f63 Update chain/messagepool/messagepool.go
Co-authored-by: Aayush Rajasekaran <arajasek94@gmail.com>
2023-03-29 05:44:25 -10:00
3477f7ce57 use LRU cache for keyCache to make threadsafe, also have (high) upper bounds on size of cache 2023-03-28 13:14:33 -10:00
89b217ee21 move write lock to before verifyMsg 2023-03-28 12:35:09 -10:00
2fa95a09be clean up cache logic in addTs / fix a bug where the loop was incorrectly releasing the lock 2x 2023-03-28 11:14:13 -10:00
831f8a499d repub needs Lock not RLock 2023-03-28 08:40:41 +00:00
e9d2223025 disallow infinite loop, since in testing this only runs once 2023-03-28 08:11:23 +00:00
ad81cd18c2 cache the tipset nonce calculation before holding the write lock, and also verify that the the calculation is cached after grabbing the write lock. if it is not cached, give up the lock, calculate, and then grab the write lock again 2023-03-28 08:11:00 +00:00
6f440a6420 change highly contented message pool locks to RWMutexes for performance 2023-03-24 15:49:02 -10:00
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
58900a7033 feat: mempool: Reduce minimum replace fee from 1.25x to 1.1x (#10416)
However, we're leaving the default at 1.25x for backwards compatibility, for now.

Also:

1. Actually use the configured replace fee ratio.
2. Store said ratios as percentages instead of floats. 1.25, or 1+1/(2^2),
can be represented as a float. 1.1, or 1 + 1/(2 * 5), cannot.

fixes #10415
2023-03-09 13:17:17 -08:00
e715384173 Merge branch 'release/v1.20.0' into asr/merge-release-into-master 2023-01-16 10:51:22 -05:00
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
156ba420c3 fix: splitstore: Don't deadlock in mpool protector 2022-12-17 13:14:50 +01:00
32efd0fbc2 Merge pull request #9497 from ipfs-force-community/fix/add_check_gaspremium
fix:mpool add gaspremium check when less than maxfee
2022-11-29 16:53:22 +01:00