-
Notifications
You must be signed in to change notification settings - Fork 61
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
Kvstore delegationplan #98
Merged
Merged
Conversation
This file contains 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
joe-bowman
commented
Jun 7, 2022
joe-bowman
commented
Jun 7, 2022
zanicar
previously approved these changes
Jun 7, 2022
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
- module integrated with app - added beginblocker heartbeat log (for dev & debug) - implemented epoch hooks; - basic mosule keeper with params subspace & logger; - params now sum to 1.0 (previously 0.99);
- temporarily added authtypes.Burner to participationrewards; - set distr module to be initialized before mint module (dependency); - set participationrewards module to initialize before epochs module; - renamed participation_allocation to holdings_allocation; - mint sends coins to participation rewards module; - implemented missing participationrewards handler; - updated abci hartbeat logger (devtest); - AfterEpochEnd completed (with devtest output); - implemented keeper_test (much faster than local testnet); - added bankKeeper and feeCollectorName; - implemented GetAllocation func; - implemented allocateValidatorChoiceRewards stub; - implemented allocateHoldingsRewards stub; - implemented allocateLockupRewards (copied staking rewards); - added expected_keepers.go (for future use on refactor); - updated params; TODO: - implement allocateValidatorChoiceRewards; - implement allocateHoldingsRewards (blocked on ICQ);
- contextualized devtest output - test zone added for keeper test Blocked on validator performance scoring;
- updated script with different validator sizes - updated script to fund performance account - added sanity check to ics MakeRequest for callback handler - added InitPerformanceDelegations to zones - ibc_handler now registers performance account - refactored prm hooks with logic in distribution.go - renamed validatorChoice to validatorSelection to be consistent - added icq to participation rewards with callbacks
- added performance account rewards withdrawals - cleaned up cli/query.go
joe-bowman
force-pushed
the
kvstore-delegationplan
branch
from
June 7, 2022 12:55
a9c7a3c
to
1d1dbb8
Compare
zanicar
approved these changes
Jun 7, 2022
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
joe-bowman
pushed a commit
that referenced
this pull request
Jan 10, 2023
…of naked ++ Instead of using a naked increment for an exported struct, this change uses its .IncrementBalanceWaitgroup() which helps in logical checks. Fixes #98
joe-bowman
pushed a commit
that referenced
this pull request
Jan 10, 2023
…of naked ++ Instead of using a naked increment for an exported struct, this change uses its .IncrementBalanceWaitgroup() which helps in logical checks. Fixes #98
ajansari95
pushed a commit
that referenced
this pull request
Feb 6, 2023
…of naked ++ Instead of using a naked increment for an exported struct, this change uses its .IncrementBalanceWaitgroup() which helps in logical checks. Fixes #98
joe-bowman
pushed a commit
that referenced
this pull request
Feb 6, 2023
* x/interchainstaking/keeper: preallocate slice capacity in CalculateDeltas Given that types.ValidatorIntents is already a slice, this change just extracts its length and uses that as a slice capacity hint to improve performance. Fixes #97 * x/interchainstaking/keeper: use .IncrementBalanceWaitgroup() instead of naked ++ Instead of using a naked increment for an exported struct, this change uses its .IncrementBalanceWaitgroup() which helps in logical checks. Fixes #98 * x/interchainstaking/keeper: add fuzzers Adds fuzzers that we've written to help find vulnerabilities. While here, using go test -short to skip fuzzing being run in regular tests per `make test`. Updates #90 * bump proto-gen container to v0.9.0, to support go 1.19 * add channel close/reopen proposals * lint/gofumpt * regen proto files with additional comments * error catching epochs added * fixed test cases * lint fix * codecov secrets * add no-op upgrade handler for v1.3.0 * added check for deposit addr (#281) * Release/v1.3.2 (#285) * UpdateWithdrawAddress callback patched * added pagination fix * keeper-tests added * add deposit interval test * add adjacent verification; add deposit callback tests; * remove ibc/ prefix check from validateBasic * gofumpt * add rts functionality; enable/disable unbonding and deposits per zone; store decimals in zone struct; store first_seen and complete timestamps against receipts; add upgrade handler to migrate zones * rebase fixes * store added for self-consensus-state * handle submission of PR claims against Quicksilver * [WIP] verifying self claims * added delete method * claim from local chain * lint fix * update epoch hooks in cm * update zone struct in tests * support v0.47.x balances returned by kvstore lookup * lint fix * fix: harcoded prefix * feature: [TG-420] add stats to zone(s) endpoints * lint fixes * use correct token in error message; fixes i#118 * gofumpt * remove pedantic error checking in allocateLockupRewards * defensive check against negative validator vp * check for nil value in sdkAmount * make errors deterministic * improve error handling by propogating error * be super defensive and check for negative values, not just zero equality * reject nil value coins * set the quick prefix in the correct place * revert backwards incompatible changes to zones and related props * fix lint * tests and fixes for TG-416 slash withdrawal fix * bump tenermint version * bump tendermint to v0.34.25 * allow port to be reopened via tx * pr fixes * verbose logging * skip zone allocations for zones with no price information * lint * extended upgrade handler to clear uni-5 records * more verbose logging on unbonding satisfaction * added logic to burn uqjunox * other records removed and test case added * lint fix * check for innuendo specific upgrade-handler * Deprecation warning fix and testchain included for upgradehandler * imports tidy * errors.Register deprecation fix * deprecation fixes * lint fix --------- Co-authored-by: Emmanuel T Odeke <[email protected]> Co-authored-by: Joe Bowman <[email protected]>
ajansari95
added a commit
that referenced
this pull request
Feb 7, 2023
* x/interchainstaking/keeper: preallocate slice capacity in CalculateDeltas Given that types.ValidatorIntents is already a slice, this change just extracts its length and uses that as a slice capacity hint to improve performance. Fixes #97 * x/interchainstaking/keeper: use .IncrementBalanceWaitgroup() instead of naked ++ Instead of using a naked increment for an exported struct, this change uses its .IncrementBalanceWaitgroup() which helps in logical checks. Fixes #98 * x/interchainstaking/keeper: add fuzzers Adds fuzzers that we've written to help find vulnerabilities. While here, using go test -short to skip fuzzing being run in regular tests per `make test`. Updates #90 * bump proto-gen container to v0.9.0, to support go 1.19 * add channel close/reopen proposals * lint/gofumpt * regen proto files with additional comments * error catching epochs added * fixed test cases * lint fix * codecov secrets * add no-op upgrade handler for v1.3.0 * added check for deposit addr (#281) * Release/v1.3.2 (#285) * UpdateWithdrawAddress callback patched * added pagination fix * keeper-tests added * add deposit interval test * add adjacent verification; add deposit callback tests; * remove ibc/ prefix check from validateBasic * gofumpt * add rts functionality; enable/disable unbonding and deposits per zone; store decimals in zone struct; store first_seen and complete timestamps against receipts; add upgrade handler to migrate zones * rebase fixes * store added for self-consensus-state * handle submission of PR claims against Quicksilver * [WIP] verifying self claims * added delete method * claim from local chain * lint fix * update epoch hooks in cm * update zone struct in tests * support v0.47.x balances returned by kvstore lookup * lint fix * fix: harcoded prefix * feature: [TG-420] add stats to zone(s) endpoints * lint fixes * use correct token in error message; fixes i#118 * gofumpt * remove pedantic error checking in allocateLockupRewards * defensive check against negative validator vp * check for nil value in sdkAmount * make errors deterministic * improve error handling by propogating error * be super defensive and check for negative values, not just zero equality * reject nil value coins * set the quick prefix in the correct place * revert backwards incompatible changes to zones and related props * fix lint * tests and fixes for TG-416 slash withdrawal fix * bump tenermint version * bump tendermint to v0.34.25 * allow port to be reopened via tx * pr fixes * verbose logging * skip zone allocations for zones with no price information * lint * extended upgrade handler to clear uni-5 records * more verbose logging on unbonding satisfaction * added logic to burn uqjunox * other records removed and test case added * lint fix * check for innuendo specific upgrade-handler * Deprecation warning fix and testchain included for upgradehandler * imports tidy * errors.Register deprecation fix * deprecation fixes * lint fix * fix self consensus state store/delete fns * ensure cm hooks are registered * add pebble into default build --------- Co-authored-by: Emmanuel T Odeke <[email protected]> Co-authored-by: Ajaz Ahmed Ansari <[email protected]>
joe-bowman
pushed a commit
that referenced
this pull request
Feb 15, 2023
* x/interchainstaking/keeper: preallocate slice capacity in CalculateDeltas Given that types.ValidatorIntents is already a slice, this change just extracts its length and uses that as a slice capacity hint to improve performance. Fixes #97 * x/interchainstaking/keeper: use .IncrementBalanceWaitgroup() instead of naked ++ Instead of using a naked increment for an exported struct, this change uses its .IncrementBalanceWaitgroup() which helps in logical checks. Fixes #98 * make docker build process use makefile * fix BeforeEpochStart bug * refactor self consensus state update for testability * make decimals mandatory in validateBasic; more verbose errors if key not supported * handle failed redelegation messages * handle failed unbondings * bump cosmos-sdk v0.46.9; tendermint v0.34.26; gofumpt + lint; handle deprecated fields * add distance_to_target (euclidean distance between N-dimensional representations of aggregated_intent and current_delegations) to stats output, as measure of redelegation performance * add rc5 upgrade handler * redemptions logic v2 * comment out unused helpers * return early if there are no unbondings to attempt * reduce noise; remove unneccessary re-sorting * on dev/testnet reset RR that was affected by failed unbondings * rebased * rc6 --------- Co-authored-by: Emmanuel T Odeke <[email protected]> Co-authored-by: Ajaz Ahmed Ansari <[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.
contains Participation rewards module #96
fixes non-determinism issue with move delegation management into the KV store, and out of the zone object #94
replaces DelegationPlanItems and SendPlans with Allocations (a tuple of an address and sdk.Coins) - non protobuf
store delegation plans in kv store, indexed on zone, txhash, delegator address, validator address to persist decision state between decision and callback
iterate these based on zone, txhash, delegator address on SendMsg acknowledgement, and delegate based on returned values
Draft because it is full of logging statements still, and need rebasing.