Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linking TxPoolV2 in place of V1 #2263

Merged
merged 223 commits into from
Oct 8, 2024
Merged

Linking TxPoolV2 in place of V1 #2263

merged 223 commits into from
Oct 8, 2024

Conversation

AurelienFT
Copy link
Contributor

@AurelienFT AurelienFT commented Sep 27, 2024

Closes #2020
Closes #1961
Closes #868
Closes #2185
Closes #2186
Closes #2255
Closes #2160
Closes #1967
Closes #2187

Description

Remove code of the previous txpool and connect all modules to this one

Transaction pool is now included in all modules of the code it has requires modifications on different modules :
- The PoA is now notify only when there is new transaction and not using the tx_update_sender anymore.
- The Pool transaction source for the executor is now locking the pool until the block production is finished.
- Reading operations on the pool is now asynchronous and it’s the less prioritized operation on the Pool, API has been updated accordingly.
- GasPrice is no more using async to allow the transactions verifications to not use async anymore

We also added a lot of new configuration cli parameters to fine-tune TxPool configuration.
This PR also changes the way we are making the heavy work processor and a sync and asynchronous version is available in services folder (usable by anyone)
P2P now use separate heavy work processor for DB and TxPool interactions.

Checklist

  • Breaking changes are clearly marked as such in the PR description and changelog
  • New behavior is reflected in tests
  • The specification matches the implemented behavior (link update PR if changes are needed)

Before requesting review

  • I have reviewed the code myself
  • I have created follow-up issues caused by this PR and linked them here

AurelienFT and others added 30 commits September 5, 2024 00:20
Base automatically changed from txpool-v2-block-producer-importer to master October 7, 2024 20:45
xgreenx and others added 10 commits October 7, 2024 23:18
# Conflicts:
#	CHANGELOG.md
#	crates/services/txpool/src/transaction_selector.rs
#	crates/services/txpool/src/txpool.rs
#	crates/services/txpool_v2/Cargo.toml
#	crates/services/txpool_v2/src/config.rs
#	crates/services/txpool_v2/src/lib.rs
#	crates/services/txpool_v2/src/pool.rs
#	crates/services/txpool_v2/src/ports.rs
#	crates/services/txpool_v2/src/selection_algorithms/mod.rs
#	crates/services/txpool_v2/src/selection_algorithms/ratio_tip_gas.rs
#	crates/services/txpool_v2/src/service.rs
#	crates/services/txpool_v2/src/service/subscriptions.rs
#	crates/services/txpool_v2/src/service/verifications.rs
#	crates/services/txpool_v2/src/shared_state.rs
#	crates/services/txpool_v2/src/tests/stability_test.rs
#	crates/services/txpool_v2/src/tests/tests_p2p.rs
#	crates/services/txpool_v2/src/tests/tests_pool.rs
#	crates/services/txpool_v2/src/tests/tests_service.rs
#	crates/services/txpool_v2/src/tx_status_stream.rs
@xgreenx xgreenx requested review from Voxelot and a team October 8, 2024 02:32
@AurelienFT AurelienFT merged commit 328b42c into master Oct 8, 2024
38 checks passed
@AurelienFT AurelienFT deleted the txpool-v2-use branch October 8, 2024 02:56
xgreenx added a commit that referenced this pull request Oct 8, 2024
## Version v0.38.0

### Added
- [2309](#2309): Limit number
of concurrent queries to the graphql service.
- [2216](#2216): Add more
function to the state and task of TxPoolV2 to handle the future
interactions with others modules (PoA, BlockProducer, BlockImporter and
P2P).
- [2263](#2263): Use the
Txpool v2 in the whole codebase.

### Removed
- [2306](#2306): Removed hack
for genesis asset contract from the code.

## What's Changed
* Updates to price algorithm by @rafal-ch in
#2292
* Removed hack from the code by @xgreenx in
#2306
* fix(p2p): useless dials to reserved nodes which dont have a location
multiaddress by @rymnc in
#2308
* Txpool v2 features for futures connections with other modules by
@AurelienFT in #2216
* Limit number of concurrent queries to the graphql service by @netrome
in #2309
* Linking TxPoolV2 in place of V1 by @AurelienFT in
#2263


**Full Changelog**:
v0.37.1...v0.38.0

---------

Co-authored-by: AurelienFT <aurelien.foucault@epitech.eu>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants