-
Notifications
You must be signed in to change notification settings - Fork 19
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
Implement StakingRewardsProvider traits in runtime and mocks #1572
Labels
Comments
2 tasks
shannonwells
added a commit
that referenced
this issue
Jun 14, 2023
# Goal The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 # Discussion Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. # Checklist - [x] Design doc(s) updated - [x] Tests added
shannonwells
added a commit
that referenced
this issue
Jun 21, 2023
# Goal The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 # Discussion Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. # Checklist - [x] Design doc(s) updated - [x] Tests added
shannonwells
added a commit
that referenced
this issue
Jun 27, 2023
# Goal The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 # Discussion Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. # Checklist - [x] Design doc(s) updated - [x] Tests added
shannonwells
added a commit
that referenced
this issue
Jul 3, 2023
# Goal The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 # Discussion Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. # Checklist - [x] Design doc(s) updated - [x] Tests added
shannonwells
added a commit
that referenced
this issue
Jul 3, 2023
# Goal The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 # Discussion Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. # Checklist - [x] Design doc(s) updated - [x] Tests added
shannonwells
added a commit
that referenced
this issue
Jul 7, 2023
# Goal The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 # Discussion Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. # Checklist - [x] Design doc(s) updated - [x] Tests added
shannonwells
added a commit
that referenced
this issue
Sep 30, 2023
# Goal The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 # Discussion Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. # Checklist - [x] Design doc(s) updated - [x] Tests added
shannonwells
added a commit
that referenced
this issue
Oct 11, 2023
The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. - [x] Design doc(s) updated - [x] Tests added
shannonwells
added a commit
that referenced
this issue
Oct 11, 2023
# Goal The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 # Discussion Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. # Checklist - [x] Design doc(s) updated - [x] Tests added
shannonwells
added a commit
that referenced
this issue
Oct 13, 2023
The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. - [x] Design doc(s) updated - [x] Tests added
shannonwells
added a commit
that referenced
this issue
Oct 16, 2023
# Goal The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 # Discussion Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. # Checklist - [x] Design doc(s) updated - [x] Tests added
shannonwells
added a commit
that referenced
this issue
Oct 18, 2023
# Goal The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 # Discussion Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. # Checklist - [x] Design doc(s) updated - [x] Tests added
shannonwells
added a commit
that referenced
this issue
Nov 7, 2023
The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. - [x] Design doc(s) updated - [x] Tests added
shannonwells
added a commit
that referenced
this issue
Dec 21, 2023
The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. - [x] Design doc(s) updated - [x] Tests added
shannonwells
added a commit
that referenced
this issue
Apr 17, 2024
The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. - [x] Design doc(s) updated - [x] Tests added
shannonwells
added a commit
that referenced
this issue
Apr 19, 2024
The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. - [x] Design doc(s) updated - [x] Tests added
shannonwells
added a commit
that referenced
this issue
Apr 22, 2024
The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. - [x] Design doc(s) updated - [x] Tests added
shannonwells
added a commit
that referenced
this issue
May 3, 2024
The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. - [x] Design doc(s) updated - [x] Tests added
shannonwells
added a commit
that referenced
this issue
May 6, 2024
The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. - [x] Design doc(s) updated - [x] Tests added
shannonwells
added a commit
that referenced
this issue
May 14, 2024
The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. - [x] Design doc(s) updated - [x] Tests added
shannonwells
added a commit
that referenced
this issue
May 21, 2024
The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. - [x] Design doc(s) updated - [x] Tests added
shannonwells
added a commit
that referenced
this issue
May 22, 2024
The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. - [x] Design doc(s) updated - [x] Tests added
shannonwells
added a commit
that referenced
this issue
Jun 12, 2024
The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. - [x] Design doc(s) updated - [x] Tests added
shannonwells
added a commit
that referenced
this issue
Jun 25, 2024
The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. - [x] Design doc(s) updated - [x] Tests added
shannonwells
added a commit
that referenced
this issue
Jul 18, 2024
The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. - [x] Design doc(s) updated - [x] Tests added
shannonwells
added a commit
that referenced
this issue
Jul 23, 2024
The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. - [x] Design doc(s) updated - [x] Tests added
shannonwells
added a commit
that referenced
this issue
Oct 9, 2024
The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. - [x] Design doc(s) updated - [x] Tests added
shannonwells
added a commit
that referenced
this issue
Oct 10, 2024
updates to design docs to use a capacity rewards interface Prototypes, make check working refinements to design doc Implement Staking Reward Eras basics (#1589) Implement the basic functionality of tracking and rotating Reward Era. Closes #1567 Does not include anything to do with the Reward Pool. Feat/staking rewards rewards provider #1572 (#1598) The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. change staking target extrinsic, closes #1570 (#1623) comments, capacity boost fn added to StakingRewardsProvider trait * Refactor staking type to go in StakingTargetDetails * Make some functions pass by reference (performance) * fix broken tests & calls use capacity_boost and StakingType to adjust capacity generation, add/adjust tests * Check from/to aren't the same when retargeting * Performance: move non-db checks to top when retargeting * Lots more tests * Fix a bug where we weren't setting the staking type on a retarget * Remove staking type from StakingAccountDetails * Fix broken tests from last commit Feat/reward pool history (#1710) Closes #1710 Feat/split stake extrinsic #1699 (#1717) The goal of this PR is to split the `stake` extrinsic into two: `stake` and `provider_boost` Closes #1707 Feat/split storage #1726 (#1744) The goal of this PR is to split up storage of boosting and maximized staking accounts, as well as store retarget history separately, which can store retargeting events for any type of staking. Closes #1726 fix e2e tests, correction to implementation design doc initialize storage for ProviderBoost on runtime upgrade Set ProviderBoost capacity generated and fix tests (#1947) * set the amount of capacity generated by a provider boost to the final amount, 50% of what is generated by MaximizedCapacity staking. * Also Fixes some tests broken from the last rebase with main. Closes #1569 Update reward pool on `provider_boost` or `unstake` #1699 (#1948) The goal of this PR is to update the StakingRewardPool on a `provider_boost` or `unstake` extrinsic call. Closes #1699 Implement rewards calculation formula #1941 (#1956) The goal of this PR is to implement (but not really use yet) the chosen formula for calculation of a reward in a single Provider Boost Reward Era. Closes #1941 updates after rebase upsert staking history #1699 (#1963) The goal of this PR is to add and use storage for individual staking history so that rewards can be calculated and paid out. Benchmarks run to update capacity weights. Relates to #1699 Chores/update capacity benchmarks #1949 (#1966) The goal of this PR is to update the benchmark for `on_initialize` to include the weight when a new RewardEra must be created. Closes #1949 Feat/check unclaimed rewards 1969 (#1972) The goal of this PR is to implement `list_unclaimed_rewards`, and also one that is lighter weight, `has_unclaimed_rewards`, which returns a `bool` and which `unstake` extrinsic uses. Unstake now fails if there are any unclaimed rewards. Closes #1969 Closes #1578 Feat/reward pool refactor #1976 (#2005) The goal of this PR is to implement a "chunk" version of the overall reward pool history to reduce read/write load and hence weight for transactions and `on_initialize` when a new `RewardEra` needs to start. Part of #1976 Co-authored-by: Wil Wade <[email protected]> Revise Provider Boost implementation design doc #2016 (#2020) The goal of this PR is to review and update the implementation design doc in light of the chosen economic model, and to reflect some changes in behavior. Review of the design doc also fed back into the code itself. Some code is no longer needed. Closes #2016 Co-authored-by: Aramik <[email protected]> E2e for new extrinsics (#2067) The goal of this PR is to add some e2e tests for the `provider_boost` extrinsic, and update the `change_staking_target` extrinsic after a rebase with main. Refactor reward era (#2069) The goal of this PR is primarily to pull RewardEra out of the Capacity Config and make it the same type everywhere. `claim_staking_rewards` extrinsic (#2080) Closes #1970 Capacity runtime api with list_unclaimed_rewards endpoint (#2088) The goal of this PR is to implement a capacity runtime api for the `list_unclaimed_rewards` endpoint. Closes #1698 Update Capacity README address the lint failure. updates after rebase with main Remove TODO since it's already been addressed. Add a minor test case to unstaking tests Add new extrinsics to Capacity README
shannonwells
added a commit
that referenced
this issue
Oct 18, 2024
updates to design docs to use a capacity rewards interface Prototypes, make check working refinements to design doc Implement Staking Reward Eras basics (#1589) Implement the basic functionality of tracking and rotating Reward Era. Closes #1567 Does not include anything to do with the Reward Pool. Feat/staking rewards rewards provider #1572 (#1598) The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. change staking target extrinsic, closes #1570 (#1623) comments, capacity boost fn added to StakingRewardsProvider trait * Refactor staking type to go in StakingTargetDetails * Make some functions pass by reference (performance) * fix broken tests & calls use capacity_boost and StakingType to adjust capacity generation, add/adjust tests * Check from/to aren't the same when retargeting * Performance: move non-db checks to top when retargeting * Lots more tests * Fix a bug where we weren't setting the staking type on a retarget * Remove staking type from StakingAccountDetails * Fix broken tests from last commit Feat/reward pool history (#1710) Closes #1710 Feat/split stake extrinsic #1699 (#1717) The goal of this PR is to split the `stake` extrinsic into two: `stake` and `provider_boost` Closes #1707 Feat/split storage #1726 (#1744) The goal of this PR is to split up storage of boosting and maximized staking accounts, as well as store retarget history separately, which can store retargeting events for any type of staking. Closes #1726 fix e2e tests, correction to implementation design doc initialize storage for ProviderBoost on runtime upgrade Set ProviderBoost capacity generated and fix tests (#1947) * set the amount of capacity generated by a provider boost to the final amount, 50% of what is generated by MaximizedCapacity staking. * Also Fixes some tests broken from the last rebase with main. Closes #1569 Update reward pool on `provider_boost` or `unstake` #1699 (#1948) The goal of this PR is to update the StakingRewardPool on a `provider_boost` or `unstake` extrinsic call. Closes #1699 Implement rewards calculation formula #1941 (#1956) The goal of this PR is to implement (but not really use yet) the chosen formula for calculation of a reward in a single Provider Boost Reward Era. Closes #1941 updates after rebase upsert staking history #1699 (#1963) The goal of this PR is to add and use storage for individual staking history so that rewards can be calculated and paid out. Benchmarks run to update capacity weights. Relates to #1699 Chores/update capacity benchmarks #1949 (#1966) The goal of this PR is to update the benchmark for `on_initialize` to include the weight when a new RewardEra must be created. Closes #1949 Feat/check unclaimed rewards 1969 (#1972) The goal of this PR is to implement `list_unclaimed_rewards`, and also one that is lighter weight, `has_unclaimed_rewards`, which returns a `bool` and which `unstake` extrinsic uses. Unstake now fails if there are any unclaimed rewards. Closes #1969 Closes #1578 Feat/reward pool refactor #1976 (#2005) The goal of this PR is to implement a "chunk" version of the overall reward pool history to reduce read/write load and hence weight for transactions and `on_initialize` when a new `RewardEra` needs to start. Part of #1976 Co-authored-by: Wil Wade <[email protected]> Revise Provider Boost implementation design doc #2016 (#2020) The goal of this PR is to review and update the implementation design doc in light of the chosen economic model, and to reflect some changes in behavior. Review of the design doc also fed back into the code itself. Some code is no longer needed. Closes #2016 Co-authored-by: Aramik <[email protected]> E2e for new extrinsics (#2067) The goal of this PR is to add some e2e tests for the `provider_boost` extrinsic, and update the `change_staking_target` extrinsic after a rebase with main. Refactor reward era (#2069) The goal of this PR is primarily to pull RewardEra out of the Capacity Config and make it the same type everywhere. `claim_staking_rewards` extrinsic (#2080) Closes #1970 Capacity runtime api with list_unclaimed_rewards endpoint (#2088) The goal of this PR is to implement a capacity runtime api for the `list_unclaimed_rewards` endpoint. Closes #1698 Update Capacity README address the lint failure. updates after rebase with main Remove TODO since it's already been addressed. Add a minor test case to unstaking tests Add new extrinsics to Capacity README
shannonwells
added a commit
that referenced
this issue
Oct 25, 2024
updates to design docs to use a capacity rewards interface Prototypes, make check working refinements to design doc Implement Staking Reward Eras basics (#1589) Implement the basic functionality of tracking and rotating Reward Era. Closes #1567 Does not include anything to do with the Reward Pool. Feat/staking rewards rewards provider #1572 (#1598) The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. change staking target extrinsic, closes #1570 (#1623) comments, capacity boost fn added to StakingRewardsProvider trait * Refactor staking type to go in StakingTargetDetails * Make some functions pass by reference (performance) * fix broken tests & calls use capacity_boost and StakingType to adjust capacity generation, add/adjust tests * Check from/to aren't the same when retargeting * Performance: move non-db checks to top when retargeting * Lots more tests * Fix a bug where we weren't setting the staking type on a retarget * Remove staking type from StakingAccountDetails * Fix broken tests from last commit Feat/reward pool history (#1710) Closes #1710 Feat/split stake extrinsic #1699 (#1717) The goal of this PR is to split the `stake` extrinsic into two: `stake` and `provider_boost` Closes #1707 Feat/split storage #1726 (#1744) The goal of this PR is to split up storage of boosting and maximized staking accounts, as well as store retarget history separately, which can store retargeting events for any type of staking. Closes #1726 fix e2e tests, correction to implementation design doc initialize storage for ProviderBoost on runtime upgrade Set ProviderBoost capacity generated and fix tests (#1947) * set the amount of capacity generated by a provider boost to the final amount, 50% of what is generated by MaximizedCapacity staking. * Also Fixes some tests broken from the last rebase with main. Closes #1569 Update reward pool on `provider_boost` or `unstake` #1699 (#1948) The goal of this PR is to update the StakingRewardPool on a `provider_boost` or `unstake` extrinsic call. Closes #1699 Implement rewards calculation formula #1941 (#1956) The goal of this PR is to implement (but not really use yet) the chosen formula for calculation of a reward in a single Provider Boost Reward Era. Closes #1941 updates after rebase upsert staking history #1699 (#1963) The goal of this PR is to add and use storage for individual staking history so that rewards can be calculated and paid out. Benchmarks run to update capacity weights. Relates to #1699 Chores/update capacity benchmarks #1949 (#1966) The goal of this PR is to update the benchmark for `on_initialize` to include the weight when a new RewardEra must be created. Closes #1949 Feat/check unclaimed rewards 1969 (#1972) The goal of this PR is to implement `list_unclaimed_rewards`, and also one that is lighter weight, `has_unclaimed_rewards`, which returns a `bool` and which `unstake` extrinsic uses. Unstake now fails if there are any unclaimed rewards. Closes #1969 Closes #1578 Feat/reward pool refactor #1976 (#2005) The goal of this PR is to implement a "chunk" version of the overall reward pool history to reduce read/write load and hence weight for transactions and `on_initialize` when a new `RewardEra` needs to start. Part of #1976 Co-authored-by: Wil Wade <[email protected]> Revise Provider Boost implementation design doc #2016 (#2020) The goal of this PR is to review and update the implementation design doc in light of the chosen economic model, and to reflect some changes in behavior. Review of the design doc also fed back into the code itself. Some code is no longer needed. Closes #2016 Co-authored-by: Aramik <[email protected]> E2e for new extrinsics (#2067) The goal of this PR is to add some e2e tests for the `provider_boost` extrinsic, and update the `change_staking_target` extrinsic after a rebase with main. Refactor reward era (#2069) The goal of this PR is primarily to pull RewardEra out of the Capacity Config and make it the same type everywhere. `claim_staking_rewards` extrinsic (#2080) Closes #1970 Capacity runtime api with list_unclaimed_rewards endpoint (#2088) The goal of this PR is to implement a capacity runtime api for the `list_unclaimed_rewards` endpoint. Closes #1698 Update Capacity README address the lint failure. updates after rebase with main Remove TODO since it's already been addressed. Add a minor test case to unstaking tests Add new extrinsics to Capacity README
shannonwells
added a commit
that referenced
this issue
Oct 29, 2024
updates to design docs to use a capacity rewards interface Prototypes, make check working refinements to design doc Implement Staking Reward Eras basics (#1589) Implement the basic functionality of tracking and rotating Reward Era. Closes #1567 Does not include anything to do with the Reward Pool. Feat/staking rewards rewards provider #1572 (#1598) The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. change staking target extrinsic, closes #1570 (#1623) comments, capacity boost fn added to StakingRewardsProvider trait * Refactor staking type to go in StakingTargetDetails * Make some functions pass by reference (performance) * fix broken tests & calls use capacity_boost and StakingType to adjust capacity generation, add/adjust tests * Check from/to aren't the same when retargeting * Performance: move non-db checks to top when retargeting * Lots more tests * Fix a bug where we weren't setting the staking type on a retarget * Remove staking type from StakingAccountDetails * Fix broken tests from last commit Feat/reward pool history (#1710) Closes #1710 Feat/split stake extrinsic #1699 (#1717) The goal of this PR is to split the `stake` extrinsic into two: `stake` and `provider_boost` Closes #1707 Feat/split storage #1726 (#1744) The goal of this PR is to split up storage of boosting and maximized staking accounts, as well as store retarget history separately, which can store retargeting events for any type of staking. Closes #1726 fix e2e tests, correction to implementation design doc initialize storage for ProviderBoost on runtime upgrade Set ProviderBoost capacity generated and fix tests (#1947) * set the amount of capacity generated by a provider boost to the final amount, 50% of what is generated by MaximizedCapacity staking. * Also Fixes some tests broken from the last rebase with main. Closes #1569 Update reward pool on `provider_boost` or `unstake` #1699 (#1948) The goal of this PR is to update the StakingRewardPool on a `provider_boost` or `unstake` extrinsic call. Closes #1699 Implement rewards calculation formula #1941 (#1956) The goal of this PR is to implement (but not really use yet) the chosen formula for calculation of a reward in a single Provider Boost Reward Era. Closes #1941 updates after rebase upsert staking history #1699 (#1963) The goal of this PR is to add and use storage for individual staking history so that rewards can be calculated and paid out. Benchmarks run to update capacity weights. Relates to #1699 Chores/update capacity benchmarks #1949 (#1966) The goal of this PR is to update the benchmark for `on_initialize` to include the weight when a new RewardEra must be created. Closes #1949 Feat/check unclaimed rewards 1969 (#1972) The goal of this PR is to implement `list_unclaimed_rewards`, and also one that is lighter weight, `has_unclaimed_rewards`, which returns a `bool` and which `unstake` extrinsic uses. Unstake now fails if there are any unclaimed rewards. Closes #1969 Closes #1578 Feat/reward pool refactor #1976 (#2005) The goal of this PR is to implement a "chunk" version of the overall reward pool history to reduce read/write load and hence weight for transactions and `on_initialize` when a new `RewardEra` needs to start. Part of #1976 Co-authored-by: Wil Wade <[email protected]> Revise Provider Boost implementation design doc #2016 (#2020) The goal of this PR is to review and update the implementation design doc in light of the chosen economic model, and to reflect some changes in behavior. Review of the design doc also fed back into the code itself. Some code is no longer needed. Closes #2016 Co-authored-by: Aramik <[email protected]> E2e for new extrinsics (#2067) The goal of this PR is to add some e2e tests for the `provider_boost` extrinsic, and update the `change_staking_target` extrinsic after a rebase with main. Refactor reward era (#2069) The goal of this PR is primarily to pull RewardEra out of the Capacity Config and make it the same type everywhere. `claim_staking_rewards` extrinsic (#2080) Closes #1970 Capacity runtime api with list_unclaimed_rewards endpoint (#2088) The goal of this PR is to implement a capacity runtime api for the `list_unclaimed_rewards` endpoint. Closes #1698 Update Capacity README address the lint failure. updates after rebase with main Remove TODO since it's already been addressed. Add a minor test case to unstaking tests Add new extrinsics to Capacity README
shannonwells
added a commit
that referenced
this issue
Oct 30, 2024
updates to design docs to use a capacity rewards interface Prototypes, make check working refinements to design doc Implement Staking Reward Eras basics (#1589) Implement the basic functionality of tracking and rotating Reward Era. Closes #1567 Does not include anything to do with the Reward Pool. Feat/staking rewards rewards provider #1572 (#1598) The goal of this PR is to implement a really basic version of the StakingRewardsProvider in the Capacity pallet and in the test mock, neither of which is actively used. Closes #1572 Does not include anything to do with setting and storing RewardPoolInfo when each new Era starts. change staking target extrinsic, closes #1570 (#1623) comments, capacity boost fn added to StakingRewardsProvider trait * Refactor staking type to go in StakingTargetDetails * Make some functions pass by reference (performance) * fix broken tests & calls use capacity_boost and StakingType to adjust capacity generation, add/adjust tests * Check from/to aren't the same when retargeting * Performance: move non-db checks to top when retargeting * Lots more tests * Fix a bug where we weren't setting the staking type on a retarget * Remove staking type from StakingAccountDetails * Fix broken tests from last commit Feat/reward pool history (#1710) Closes #1710 Feat/split stake extrinsic #1699 (#1717) The goal of this PR is to split the `stake` extrinsic into two: `stake` and `provider_boost` Closes #1707 Feat/split storage #1726 (#1744) The goal of this PR is to split up storage of boosting and maximized staking accounts, as well as store retarget history separately, which can store retargeting events for any type of staking. Closes #1726 fix e2e tests, correction to implementation design doc initialize storage for ProviderBoost on runtime upgrade Set ProviderBoost capacity generated and fix tests (#1947) * set the amount of capacity generated by a provider boost to the final amount, 50% of what is generated by MaximizedCapacity staking. * Also Fixes some tests broken from the last rebase with main. Closes #1569 Update reward pool on `provider_boost` or `unstake` #1699 (#1948) The goal of this PR is to update the StakingRewardPool on a `provider_boost` or `unstake` extrinsic call. Closes #1699 Implement rewards calculation formula #1941 (#1956) The goal of this PR is to implement (but not really use yet) the chosen formula for calculation of a reward in a single Provider Boost Reward Era. Closes #1941 updates after rebase upsert staking history #1699 (#1963) The goal of this PR is to add and use storage for individual staking history so that rewards can be calculated and paid out. Benchmarks run to update capacity weights. Relates to #1699 Chores/update capacity benchmarks #1949 (#1966) The goal of this PR is to update the benchmark for `on_initialize` to include the weight when a new RewardEra must be created. Closes #1949 Feat/check unclaimed rewards 1969 (#1972) The goal of this PR is to implement `list_unclaimed_rewards`, and also one that is lighter weight, `has_unclaimed_rewards`, which returns a `bool` and which `unstake` extrinsic uses. Unstake now fails if there are any unclaimed rewards. Closes #1969 Closes #1578 Feat/reward pool refactor #1976 (#2005) The goal of this PR is to implement a "chunk" version of the overall reward pool history to reduce read/write load and hence weight for transactions and `on_initialize` when a new `RewardEra` needs to start. Part of #1976 Co-authored-by: Wil Wade <[email protected]> Revise Provider Boost implementation design doc #2016 (#2020) The goal of this PR is to review and update the implementation design doc in light of the chosen economic model, and to reflect some changes in behavior. Review of the design doc also fed back into the code itself. Some code is no longer needed. Closes #2016 Co-authored-by: Aramik <[email protected]> E2e for new extrinsics (#2067) The goal of this PR is to add some e2e tests for the `provider_boost` extrinsic, and update the `change_staking_target` extrinsic after a rebase with main. Refactor reward era (#2069) The goal of this PR is primarily to pull RewardEra out of the Capacity Config and make it the same type everywhere. `claim_staking_rewards` extrinsic (#2080) Closes #1970 Capacity runtime api with list_unclaimed_rewards endpoint (#2088) The goal of this PR is to implement a capacity runtime api for the `list_unclaimed_rewards` endpoint. Closes #1698 Update Capacity README address the lint failure. updates after rebase with main Remove TODO since it's already been addressed. Add a minor test case to unstaking tests Add new extrinsics to Capacity README
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Story
To support easier testing and development, the Capacity pallet has a Config for a
RewardsProvider
which must implement theStakingRewardsProvider
trait. We need the trait to be implemented as much as possible in advance of getting the final economic model.Solution
Based on the Design Doc,
StakingRewardsProvider
for use by runtimeStakingRewardsProvider
for the mocksBlocked by
The full implementation is blocked by the finalization of the economic model for determining Reward Pool size in a given Era and how/when/where to calculate and pay out rewards.
The text was updated successfully, but these errors were encountered: