* build & publish rocksdb docker images merge to master
* publish docker images on push of release version tags
NOTE: New docker image tag pattern. ALL tags now include database suffix
ex. <githash>-goleveldb, v0.25.0-alpha.1-rocksdb, master-rocksdb, etc
* update dockerfiles for better caching
* update all github action workflow versions
* improve caching of go packages
* cache docker image layers for reuse between runs
* update dockerignore to remove non-essential files
* Add upgrade guide and staking rewards doc
* Update date
* Update date for upgrade vs failure
* Use height 7637650 for upgrade
* Adjust bolding
* Use linux/amd64 in docs
* Upgrade height at 7637070
- Add upgrade handler for mainnet, testnet, and e2e test
- Set validator minimum commission to 5%
- Initialize `x/community` parameters
- Add `banktypes.MsgSend` authz grant for `x/kavadist` for gov proposals
- Set `x/gov` Quorum param to 20%
- Set `x/incentive` earn rewards param for bkava to 600K KAVA per year
* Initial e2e setup
* Fix inflation disable tests
* Add upgrade handler
* Add param tests for after upgrade
* Replace deprecated grpc creds
* Remove upgrade for e2e test
* Update upgrade handler to set x/community params
* Remove params check in upgrade
* Update tests for switchover time and params check
* wip inflation
* Add attribute to disable inflation event
* Add before/after switchover mint and dist checks
* Add missing attribute to disable inflation test check
* Check mint events are 0
* Check total supply doesn't change
* Check inflation and events before switchover
* Check staking reward payouts from x/community
* move events funcs to util
* Add keyring to chain, fetch keys from kvtool and test withdrawal
* Remove duplicate KavaHomePath
* Update subtest names to specify before/after switchover
Co-authored-by: Draco <draco@dracoli.com>
* Use blocktime for InflationStop event DisableTime
* Test 5 blocks for staking rewards payout
* Remove logging and unused lines
* Check val claimed balance with queried
* Enable and update consolidation tests
* Update test for modified EventTypeInflationStop time attr
* Test x/distribution community tax
* Fix test names
* Update e2e tests for better live network test support (#1749)
* Update e2e tests to support mirrornet
* Skip claim rewards on live network, require no errors for existing tests
* Update readme with upgrade height
* Update .env example with usdt contract address
* Restore .env file to original local e2e
* Log community params when set
* Make AttributeKeyInflationDisableTime more precise
* Add mainnet and testnet community params (#1753)
* Re-enable ibc tests
* Remove duplicate types.EventTypeInflationStop emit
* feat: set validator minimum commissions to at least 5% in upgrade handler (#1761)
* Update validator min commission in upgrade
* Add min commission upgrade test
* Update changelog
* Set validator MaxRate, call BeforeValidatorModified hook
* Check max commission and update time in tests
* Update e2e test for max rate
* Test val update time
* Use SdkBlock instead of Block
* Remove upgrade related handlers and tests
Preserve any module and test util changes
* Update e2e x/community params proposal test to work without upgrade handler
---------
Co-authored-by: Draco <draco@dracoli.com>
* Add consolidate methods
* Update distr feepool balance with dust, add tests
* Set params for proposal handler to not influence module balances
* Add StakingRewardsPerSecond param for proposal test
* Update changelog
* Update test to check emitted events
* Log dust amounts for x/distribution
* Modify feepool communitypool field instead of entire replacement
* Update tests to include cases with empty balances
* Move EventsContains to app
* Remove extra copied ModuleName
* Add Require() to incentive claims in tests to reduce errors
* Move consolidate tests to testutil
* Only transfer non-ukava coins
* Add DefaultStakingRewardsState to proposal handler test
* Move event emit before consolidate
* add golangci specific timeout
---------
Co-authored-by: Nick DeLuca <nickdeluca08@gmail.com>
* Add authority, MsgUpdateParams
* Add e2e test for x/community UpdateParamsMsg proposal
* Ensure new params are different
* Add errors and update codec
* Update changelog
* Use single reused govAuthorityAddr
* Add unit tests for authority and msg
* Validate authority address
* Update proto comment
* Check for ErrInvalidSigner in invalid authority error
* Emit events for staking rewards
* Update test to check disable inflation check
* Only emit staking rewards event when non-zero value
* use existing transfer amount for event
* add assertion that no events are emitted for zero rewards; refactor
event assertions to be a little cleaner
---------
Co-authored-by: Nick DeLuca <nickdeluca08@gmail.com>
* add new field upgrade_time_set_staking_rewards_per_second with intention
of integrating into the disable inflation logic to set an initial
staking reward time
* when the disable inflation upgrade time occurs, set the staking rewards
per second to the value specified by the new
upgrade_time_set_staking_rewards_per_second. This will allow a decoupled
implementation between the ugprade switching logic, and the core
functionality of paying staking rewards from the pool
* add staking rewards state to community keeper and community module
genesis that is required to calculate and track staking reward payouts
accross blocks
* add implementation of staking reward payouts
* remove unused error
* touch up tests and add a test case that fully tests behavior when pool
is drained
* add function comments
* refactor and pull out main calculation to private pure function with
no dependence on keeper
* zero out default parameters -- these are too chain specific to have
useful defaults
* small touch ups on comments, test cases
* use correct Int from sdkmath, not old sdk types; update protonet genesis
for new parmater
* fix copy pasta comment
* use bond denom from staking keeper instead of referncing ukava directly
* add staking reward state for valid genesis
* update kvtool genesis for new params and rewards state