-
Notifications
You must be signed in to change notification settings - Fork 55
feat(iota-core): calculate suggested gas price in the new sequencer for gas price feedback mechanism #6490
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
Merged
roman1e2f5p8s
merged 119 commits into
protocol-research/feat/gas-price-feedback
from
protocol-research/feat/calculate-suggested-gas-price-in-new-sequencer
Jul 21, 2025
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…ongestion results
piotrm50
approved these changes
Jul 15, 2025
Contributor
piotrm50
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
…l-research/feat/calculate-suggested-gas-price-in-new-sequencer
semenov-vladyslav
requested changes
Jul 18, 2025
crates/iota-core/src/authority/suggested_gas_price_calculator.rs
Outdated
Show resolved
Hide resolved
crates/iota-core/src/authority/suggested_gas_price_calculator.rs
Outdated
Show resolved
Hide resolved
muXxer
requested changes
Jul 18, 2025
crates/iota-core/src/authority/suggested_gas_price_calculator.rs
Outdated
Show resolved
Hide resolved
semenov-vladyslav
approved these changes
Jul 21, 2025
muXxer
approved these changes
Jul 21, 2025
537da19
into
protocol-research/feat/gas-price-feedback
54 of 59 checks passed
roman1e2f5p8s
added a commit
that referenced
this pull request
Jul 28, 2025
…or gas price feedback mechanism (#6490) This PR add a `SuggestedGasPriceCalculator` component that collects congestion data from a single commit in order to calculate a suggested gas price for transactions deferred/cancelled due to shared object congestion. The component works similarly to `SharedObjectCongestionTracker` in the sense that a new instance of `SuggestedGasPriceCalculator` is created for each consensus commit round. The calculator supports suggested gas price calculations for both new (#5763) and old `SharedObjectCongestionTracker` (configured by the `congestion_control_min_free_execution_slot` feature flag), as well as for any currently available `PerObjectCongestionControlMode` mode. Calculated suggested gas prices are intended for use in the gas price feedback mechanism #6280 for transactions cancelled due to shared object congestion. Closes #6351. ```console cargo test -p iota-core authority::suggested_gas_price_calculator ``` - [x] Basic tests (linting, compilation, formatting, unit/integration tests) - [ ] Patch-specific tests (correctness, functionality coverage) - [x] I have added tests that prove my fix is effective or that my feature works - [x] I have checked that new and existing unit tests pass locally with my changes - [x] Protocol: - [x] Nodes (Validators and Full nodes): - [ ] Indexer: - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: --------- Co-authored-by: Andrew <[email protected]> Co-authored-by: cuileri <[email protected]> Co-authored-by: Andrew Cullen <[email protected]>
roman1e2f5p8s
added a commit
that referenced
this pull request
Jul 28, 2025
…or gas price feedback mechanism (#6490) This PR add a `SuggestedGasPriceCalculator` component that collects congestion data from a single commit in order to calculate a suggested gas price for transactions deferred/cancelled due to shared object congestion. The component works similarly to `SharedObjectCongestionTracker` in the sense that a new instance of `SuggestedGasPriceCalculator` is created for each consensus commit round. The calculator supports suggested gas price calculations for both new (#5763) and old `SharedObjectCongestionTracker` (configured by the `congestion_control_min_free_execution_slot` feature flag), as well as for any currently available `PerObjectCongestionControlMode` mode. Calculated suggested gas prices are intended for use in the gas price feedback mechanism #6280 for transactions cancelled due to shared object congestion. Closes #6351. ```console cargo test -p iota-core authority::suggested_gas_price_calculator ``` - [x] Basic tests (linting, compilation, formatting, unit/integration tests) - [ ] Patch-specific tests (correctness, functionality coverage) - [x] I have added tests that prove my fix is effective or that my feature works - [x] I have checked that new and existing unit tests pass locally with my changes - [x] Protocol: - [x] Nodes (Validators and Full nodes): - [ ] Indexer: - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: --------- Co-authored-by: Andrew <[email protected]> Co-authored-by: cuileri <[email protected]> Co-authored-by: Andrew Cullen <[email protected]>
roman1e2f5p8s
added a commit
that referenced
this pull request
Jul 28, 2025
…or gas price feedback mechanism (#6490) This PR add a `SuggestedGasPriceCalculator` component that collects congestion data from a single commit in order to calculate a suggested gas price for transactions deferred/cancelled due to shared object congestion. The component works similarly to `SharedObjectCongestionTracker` in the sense that a new instance of `SuggestedGasPriceCalculator` is created for each consensus commit round. The calculator supports suggested gas price calculations for both new (#5763) and old `SharedObjectCongestionTracker` (configured by the `congestion_control_min_free_execution_slot` feature flag), as well as for any currently available `PerObjectCongestionControlMode` mode. Calculated suggested gas prices are intended for use in the gas price feedback mechanism #6280 for transactions cancelled due to shared object congestion. Closes #6351. ```console cargo test -p iota-core authority::suggested_gas_price_calculator ``` - [x] Basic tests (linting, compilation, formatting, unit/integration tests) - [ ] Patch-specific tests (correctness, functionality coverage) - [x] I have added tests that prove my fix is effective or that my feature works - [x] I have checked that new and existing unit tests pass locally with my changes - [x] Protocol: - [x] Nodes (Validators and Full nodes): - [ ] Indexer: - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: --------- Co-authored-by: Andrew <[email protected]> Co-authored-by: cuileri <[email protected]> Co-authored-by: Andrew Cullen <[email protected]> Signed-off-by: Roman Overko <[email protected]>
roman1e2f5p8s
added a commit
that referenced
this pull request
Jul 29, 2025
…or gas price feedback mechanism (#6490) This PR add a `SuggestedGasPriceCalculator` component that collects congestion data from a single commit in order to calculate a suggested gas price for transactions deferred/cancelled due to shared object congestion. The component works similarly to `SharedObjectCongestionTracker` in the sense that a new instance of `SuggestedGasPriceCalculator` is created for each consensus commit round. The calculator supports suggested gas price calculations for both new (#5763) and old `SharedObjectCongestionTracker` (configured by the `congestion_control_min_free_execution_slot` feature flag), as well as for any currently available `PerObjectCongestionControlMode` mode. Calculated suggested gas prices are intended for use in the gas price feedback mechanism #6280 for transactions cancelled due to shared object congestion. Closes #6351. ```console cargo test -p iota-core authority::suggested_gas_price_calculator ``` - [x] Basic tests (linting, compilation, formatting, unit/integration tests) - [ ] Patch-specific tests (correctness, functionality coverage) - [x] I have added tests that prove my fix is effective or that my feature works - [x] I have checked that new and existing unit tests pass locally with my changes - [x] Protocol: - [x] Nodes (Validators and Full nodes): - [ ] Indexer: - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: --------- Co-authored-by: Andrew <[email protected]> Co-authored-by: cuileri <[email protected]> Co-authored-by: Andrew Cullen <[email protected]> Signed-off-by: Roman Overko <[email protected]>
roman1e2f5p8s
added a commit
that referenced
this pull request
Jul 29, 2025
…or gas price feedback mechanism (#6490) This PR add a `SuggestedGasPriceCalculator` component that collects congestion data from a single commit in order to calculate a suggested gas price for transactions deferred/cancelled due to shared object congestion. The component works similarly to `SharedObjectCongestionTracker` in the sense that a new instance of `SuggestedGasPriceCalculator` is created for each consensus commit round. The calculator supports suggested gas price calculations for both new (#5763) and old `SharedObjectCongestionTracker` (configured by the `congestion_control_min_free_execution_slot` feature flag), as well as for any currently available `PerObjectCongestionControlMode` mode. Calculated suggested gas prices are intended for use in the gas price feedback mechanism #6280 for transactions cancelled due to shared object congestion. Closes #6351. ```console cargo test -p iota-core authority::suggested_gas_price_calculator ``` - [x] Basic tests (linting, compilation, formatting, unit/integration tests) - [ ] Patch-specific tests (correctness, functionality coverage) - [x] I have added tests that prove my fix is effective or that my feature works - [x] I have checked that new and existing unit tests pass locally with my changes - [x] Protocol: - [x] Nodes (Validators and Full nodes): - [ ] Indexer: - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: --------- Co-authored-by: Andrew <[email protected]> Co-authored-by: cuileri <[email protected]> Co-authored-by: Andrew Cullen <[email protected]> Signed-off-by: Roman Overko <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description of change
This PR add a
SuggestedGasPriceCalculatorcomponent that collects congestion data from a single commit in order to calculate a suggested gas price for transactions deferred/cancelled due to shared object congestion.The component works similarly to
SharedObjectCongestionTrackerin the sense that a new instance ofSuggestedGasPriceCalculatoris created for each consensus commit round. The calculator supports suggested gas price calculations for both new (#5763) and oldSharedObjectCongestionTracker(configured by thecongestion_control_min_free_execution_slotfeature flag), as well as for any currently availablePerObjectCongestionControlModemode.Calculated suggested gas prices are intended for use in the gas price feedback mechanism #6280 for transactions cancelled due to shared object congestion.
Links to any relevant issues
Closes #6351.
How the change has been tested
cargo test -p iota-core authority::suggested_gas_price_calculatorRelease Notes