* migrate first distribution test to use simapp
* refactor test TestAllocateTokensTruncation
* migrate allocation test for distribution
* migrate TestCalculateRewardsBasic to simapp in distribution
* migrate TestCalculateRewardsAfterSlash to simapp in distribution
* migrate TestCalculateRewardsAfterManySlashes to use simapp
* migrate TestCalculateRewardsMultiDelegator to use ssimapp
* migrate TestWithdrawDelegationRewardsBasic to simapp
* migrate TestCalculateRewardsAfterManySlashesInSameBlock to simapp
* migrate TestCalculateRewardsMultiDelegatorMultiSlash
* migrate old delegation test
* migrate keeper test to simapp
* refactor all distribution to use simapp
Co-authored-by: Federico Kunze <31522760+fedekunze@users.noreply.github.com>
* cleanup staking references from types pkg
* check interface on runtime
* fixes
* rename validator set from slashing keeper
* final cleanup
* fix test
* fix querier
* fix tests
* rename interfaces
* update bond status
* fixes
* expected pkg
* ensure expected keepers match used funcs
* cha cha cha
* Remove shares concept from unbonding and redelegation
* Remove redundant staking REST type declerations
* Rename staking REST request types
* Fix slashing tests
* Fix staking tests
* Fix integration tests
* Add safety checks for when validator tokens are zero
* Attempt to fix simulation
* Add pending log entry
* Update docs
* Implement and use SharesFromTokens
* Rename ShareTokens and ShareTokensTruncated
* Rename Delegation to Amount in DelegateRequest
* Implement and use SharesFromTokensTruncated
* Update MsgDelegate to use Amount instead of Value
* Use constructors in staking sim messages
* Implement and use ValidateUnbondAmount
* Some minor cleanup and reformatting to make things easier to understand
* Update onDelegationSharesModified hook
* Add pending log
* Address PR comments
* Fix linting
Closes#2812
This PR adds the flag --for-zero-height to gaiad export, which runs several alterations to the application state to prepare for restarting a new chain in a consistent fashion.
It also:
* Moves Gaia's export code to cmd/gaia/app/export.go for cleaner separation.
* Fixes an inconsistency where we treated the initChainer as happening at height -1 - it should now happen at height 0, since the first header sent by Tendermint has height 1.
* Runs the runtime invariant checks on start (in initChainer)
* Adds a few auxiliary functions to clear slashing periods
* Removes the Height field from Delegation objects in x/stake, which was not used anywhere