feat(iota-core, iota-types): Add advance epoch v4#9424
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. 6 Skipped Deployments
|
crates/iota-framework/packages/iota-system/sources/validator_set.move
Outdated
Show resolved
Hide resolved
alexsporn
left a comment
There was a problem hiding this comment.
Left small nitpicks, but rest lgtm
|
Updated the release notes with a warning for the |
valeriyr
left a comment
There was a problem hiding this comment.
Looks good to me!
Just in case, some simulation tests are broken, but probably it is ok for this PR, since I don't see the snapshots update included that is required for ChangeEpochV4 execution.
crates/iota-framework/packages/iota-system/sources/validator_set.move
Outdated
Show resolved
Hide resolved
| self.feature_flags.score_based_rewards | ||
| let score_based_rewards = self.feature_flags.score_based_rewards; | ||
| assert!( | ||
| score_based_rewards || self.scorer_version.is_none(), |
There was a problem hiding this comment.
| score_based_rewards || self.scorer_version.is_none(), | |
| !score_based_rewards || self.scorer_version.is_some(), |
Just to double-check the condition, from the related message, it looks like we need to check that scorer_version is set when score_based_rewards is enabled.
There was a problem hiding this comment.
You're right, thanks for catching that.
…on' into protocol-research/feat/score-integration-advance-epoch-v4
2ad7814
into
protocol-research/feat/score-integration-scoring-function
Enables the creation of a new version of advance epoch transaction and new advance epoch function in iota-framework to modify rewards based on scores. The existing validator reporting system remains whereby rewards can be slashed entirely when a validator is reported. Now we additionally modulate the rewards with the score provided as an argument to the new version of the advance epoch function. - [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: Enables the creation of a new version of advance epoch transaction and new advance epoch function in iota-framework to modify rewards based on scores. - [ ] Nodes (Validators and Full nodes): - [x] Indexer: Enables a new `ChangeEpochV4` system transaction which may appear in checkpoints for networks where `score_based_rewards` protocol config is enabled. Consequently **a dependency bump is necessary for `iota_data_ingestion_core` library consumers (custom indexers) to prevent outages**. - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: --------- Co-authored-by: Andrew <i.am.andrew.cullen@gmail.com>
Enables the creation of a new version of advance epoch transaction and new advance epoch function in iota-framework to modify rewards based on scores. The existing validator reporting system remains whereby rewards can be slashed entirely when a validator is reported. Now we additionally modulate the rewards with the score provided as an argument to the new version of the advance epoch function. - [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: Enables the creation of a new version of advance epoch transaction and new advance epoch function in iota-framework to modify rewards based on scores. - [ ] Nodes (Validators and Full nodes): - [x] Indexer: Enables a new `ChangeEpochV4` system transaction which may appear in checkpoints for networks where `score_based_rewards` protocol config is enabled. Consequently **a dependency bump is necessary for `iota_data_ingestion_core` library consumers (custom indexers) to prevent outages**. - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: --------- Co-authored-by: Andrew <i.am.andrew.cullen@gmail.com>
Enables the creation of a new version of advance epoch transaction and new advance epoch function in iota-framework to modify rewards based on scores. The existing validator reporting system remains whereby rewards can be slashed entirely when a validator is reported. Now we additionally modulate the rewards with the score provided as an argument to the new version of the advance epoch function. - [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: Enables the creation of a new version of advance epoch transaction and new advance epoch function in iota-framework to modify rewards based on scores. - [ ] Nodes (Validators and Full nodes): - [x] Indexer: Enables a new `ChangeEpochV4` system transaction which may appear in checkpoints for networks where `score_based_rewards` protocol config is enabled. Consequently **a dependency bump is necessary for `iota_data_ingestion_core` library consumers (custom indexers) to prevent outages**. - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: --------- Co-authored-by: Andrew <i.am.andrew.cullen@gmail.com>
Enables the creation of a new version of advance epoch transaction and new advance epoch function in iota-framework to modify rewards based on scores. The existing validator reporting system remains whereby rewards can be slashed entirely when a validator is reported. Now we additionally modulate the rewards with the score provided as an argument to the new version of the advance epoch function. - [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: Enables the creation of a new version of advance epoch transaction and new advance epoch function in iota-framework to modify rewards based on scores. - [ ] Nodes (Validators and Full nodes): - [x] Indexer: Enables a new `ChangeEpochV4` system transaction which may appear in checkpoints for networks where `score_based_rewards` protocol config is enabled. Consequently **a dependency bump is necessary for `iota_data_ingestion_core` library consumers (custom indexers) to prevent outages**. - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: --------- Co-authored-by: Andrew <i.am.andrew.cullen@gmail.com>
Enables the creation of a new version of advance epoch transaction and new advance epoch function in iota-framework to modify rewards based on scores. The existing validator reporting system remains whereby rewards can be slashed entirely when a validator is reported. Now we additionally modulate the rewards with the score provided as an argument to the new version of the advance epoch function. - [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: Enables the creation of a new version of advance epoch transaction and new advance epoch function in iota-framework to modify rewards based on scores. - [ ] Nodes (Validators and Full nodes): - [x] Indexer: Enables a new `ChangeEpochV4` system transaction which may appear in checkpoints for networks where `score_based_rewards` protocol config is enabled. Consequently **a dependency bump is necessary for `iota_data_ingestion_core` library consumers (custom indexers) to prevent outages**. - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: --------- Co-authored-by: Andrew <i.am.andrew.cullen@gmail.com>
Enables the creation of a new version of advance epoch transaction and new advance epoch function in iota-framework to modify rewards based on scores. The existing validator reporting system remains whereby rewards can be slashed entirely when a validator is reported. Now we additionally modulate the rewards with the score provided as an argument to the new version of the advance epoch function. - [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: Enables the creation of a new version of advance epoch transaction and new advance epoch function in iota-framework to modify rewards based on scores. - [ ] Nodes (Validators and Full nodes): - [x] Indexer: Enables a new `ChangeEpochV4` system transaction which may appear in checkpoints for networks where `score_based_rewards` protocol config is enabled. Consequently **a dependency bump is necessary for `iota_data_ingestion_core` library consumers (custom indexers) to prevent outages**. - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: --------- Co-authored-by: Andrew <i.am.andrew.cullen@gmail.com>
Enables the creation of a new version of advance epoch transaction and new advance epoch function in iota-framework to modify rewards based on scores. The existing validator reporting system remains whereby rewards can be slashed entirely when a validator is reported. Now we additionally modulate the rewards with the score provided as an argument to the new version of the advance epoch function. - [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: Enables the creation of a new version of advance epoch transaction and new advance epoch function in iota-framework to modify rewards based on scores. - [ ] Nodes (Validators and Full nodes): - [x] Indexer: Enables a new `ChangeEpochV4` system transaction which may appear in checkpoints for networks where `score_based_rewards` protocol config is enabled. Consequently **a dependency bump is necessary for `iota_data_ingestion_core` library consumers (custom indexers) to prevent outages**. - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: --------- Co-authored-by: Andrew <i.am.andrew.cullen@gmail.com>
Enables the creation of a new version of advance epoch transaction and new advance epoch function in iota-framework to modify rewards based on scores. The existing validator reporting system remains whereby rewards can be slashed entirely when a validator is reported. Now we additionally modulate the rewards with the score provided as an argument to the new version of the advance epoch function. - [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: Enables the creation of a new version of advance epoch transaction and new advance epoch function in iota-framework to modify rewards based on scores. - [ ] Nodes (Validators and Full nodes): - [x] Indexer: Enables a new `ChangeEpochV4` system transaction which may appear in checkpoints for networks where `score_based_rewards` protocol config is enabled. Consequently **a dependency bump is necessary for `iota_data_ingestion_core` library consumers (custom indexers) to prevent outages**. - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: --------- Co-authored-by: Andrew <i.am.andrew.cullen@gmail.com>
Enables the creation of a new version of advance epoch transaction and new advance epoch function in iota-framework to modify rewards based on scores. The existing validator reporting system remains whereby rewards can be slashed entirely when a validator is reported. Now we additionally modulate the rewards with the score provided as an argument to the new version of the advance epoch function. - [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: Enables the creation of a new version of advance epoch transaction and new advance epoch function in iota-framework to modify rewards based on scores. - [ ] Nodes (Validators and Full nodes): - [x] Indexer: Enables a new `ChangeEpochV4` system transaction which may appear in checkpoints for networks where `score_based_rewards` protocol config is enabled. Consequently **a dependency bump is necessary for `iota_data_ingestion_core` library consumers (custom indexers) to prevent outages**. - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: --------- Co-authored-by: Andrew <i.am.andrew.cullen@gmail.com>
Enables the creation of a new version of advance epoch transaction and new advance epoch function in iota-framework to modify rewards based on scores. The existing validator reporting system remains whereby rewards can be slashed entirely when a validator is reported. Now we additionally modulate the rewards with the score provided as an argument to the new version of the advance epoch function. - [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: Enables the creation of a new version of advance epoch transaction and new advance epoch function in iota-framework to modify rewards based on scores. - [ ] Nodes (Validators and Full nodes): - [x] Indexer: Enables a new `ChangeEpochV4` system transaction which may appear in checkpoints for networks where `score_based_rewards` protocol config is enabled. Consequently **a dependency bump is necessary for `iota_data_ingestion_core` library consumers (custom indexers) to prevent outages**. - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: --------- Co-authored-by: Andrew <i.am.andrew.cullen@gmail.com>
Enables the creation of a new version of advance epoch transaction and new advance epoch function in iota-framework to modify rewards based on scores. The existing validator reporting system remains whereby rewards can be slashed entirely when a validator is reported. Now we additionally modulate the rewards with the score provided as an argument to the new version of the advance epoch function. - [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: Enables the creation of a new version of advance epoch transaction and new advance epoch function in iota-framework to modify rewards based on scores. - [ ] Nodes (Validators and Full nodes): - [x] Indexer: Enables a new `ChangeEpochV4` system transaction which may appear in checkpoints for networks where `score_based_rewards` protocol config is enabled. Consequently **a dependency bump is necessary for `iota_data_ingestion_core` library consumers (custom indexers) to prevent outages**. - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: --------- Co-authored-by: Andrew <i.am.andrew.cullen@gmail.com>
Enables the creation of a new version of advance epoch transaction and new advance epoch function in iota-framework to modify rewards based on scores. The existing validator reporting system remains whereby rewards can be slashed entirely when a validator is reported. Now we additionally modulate the rewards with the score provided as an argument to the new version of the advance epoch function. - [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: Enables the creation of a new version of advance epoch transaction and new advance epoch function in iota-framework to modify rewards based on scores. - [ ] Nodes (Validators and Full nodes): - [x] Indexer: Enables a new `ChangeEpochV4` system transaction which may appear in checkpoints for networks where `score_based_rewards` protocol config is enabled. Consequently **a dependency bump is necessary for `iota_data_ingestion_core` library consumers (custom indexers) to prevent outages**. - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: --------- Co-authored-by: Andrew <i.am.andrew.cullen@gmail.com>
Enables the creation of a new version of advance epoch transaction and new advance epoch function in iota-framework to modify rewards based on scores. The existing validator reporting system remains whereby rewards can be slashed entirely when a validator is reported. Now we additionally modulate the rewards with the score provided as an argument to the new version of the advance epoch function. - [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: Enables the creation of a new version of advance epoch transaction and new advance epoch function in iota-framework to modify rewards based on scores. - [ ] Nodes (Validators and Full nodes): - [x] Indexer: Enables a new `ChangeEpochV4` system transaction which may appear in checkpoints for networks where `score_based_rewards` protocol config is enabled. Consequently **a dependency bump is necessary for `iota_data_ingestion_core` library consumers (custom indexers) to prevent outages**. - [ ] JSON-RPC: - [ ] GraphQL: - [ ] CLI: - [ ] Rust SDK: - [ ] REST API: --------- Co-authored-by: Andrew <i.am.andrew.cullen@gmail.com>
Description of change
Enables the creation of a new version of advance epoch transaction and new advance epoch function in iota-framework to modify rewards based on scores. The existing validator reporting system remains whereby rewards can be slashed entirely when a validator is reported. Now we additionally modulate the rewards with the score provided as an argument to the new version of the advance epoch function.
How the change has been tested
Release Notes
ChangeEpochV4system transaction which may appear in checkpoints for networks wherescore_based_rewardsprotocol config is enabled. Consequently a dependency bump is necessary foriota_data_ingestion_corelibrary consumers (custom indexers) to prevent outages.