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

Add Validator Choice Performance Scoring Account #90

Closed
zanicar opened this issue May 25, 2022 · 1 comment
Closed

Add Validator Choice Performance Scoring Account #90

zanicar opened this issue May 25, 2022 · 1 comment

Comments

@zanicar
Copy link
Contributor

zanicar commented May 25, 2022

  • We need to add a special performance delegator account for each zone (ICS Module);
  • Its purpose is to delegate an equal exact amount to each active validator in the zone;
  • We must record rewards withdrawals for each validator in a zone on a Quicksilver epoch basis;
    • The total amount withdrawn over the last epoch constitutes its performance score;
    • The score must be reset for every subsequent epoch;
    • The amount delegated should be 10,000 ustake (0.01 stake), which aligns it with basis point calculations;
  • RegisterZone will require (0.01stake * active_validators) to be allocated to this performance measurement account;

Blocks #86

@joe-bowman
Copy link
Contributor

This has been added.

joe-bowman pushed a commit that referenced this issue Jan 10, 2023
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
ajansari95 pushed a commit that referenced this issue Feb 6, 2023
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
joe-bowman pushed a commit that referenced this issue 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 issue 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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants