* Update vesting spec and impl time fields and constructors
* Update genesis to support vesting accounts
* More spec and godoc updates
* Update genesis section in vesting spec
* Fix bank unit tests
* Add test cases to ToAccount in genesis
* Update RegisterCodec to include vesting interface and types
* Fix GetVestedCoins bug where block time is past vesting end time
* Add vesting accounts to simulation
* Update vesting genesis logic to panic on invalid accounts
* Change randomness of vesting accounts in simulation
* --chain-id must be a persistent flag to be successfully read from config
* Prevent panic when not enough arguments
* Add docs on gaiacli config
* Small tweak
- New keys add --multisig flag to store multisig keys
locally.
- New multisign command to generate multisig
signatures.
- New sign --multisig flag to enable multisig mode.
- Add multisig transactions support in ante handler.
- gaiad add-genesis-account can now take both account
addresses and key names.
Closes: #3198
* Rename hooks from Before -> Pre and On -> Post
* Fix lint error
* Update x/slashing/hooks.go
Co-Authored-By: jackzampolin <jack.zampolin@gmail.com>
* Ignore linter warnings on hooks file
* swap 171, 172 for clarity (my own comment)
* Reset slashing periods on export
* Rename old slashing period setter to SetValidatorSlashingPeriod
* Update export to reset slashing periods
* Fix cons address
* Remove old slashing period reset
* Add pending log entry
* Update slashing period tests
- Remove DefaultChainID(). User needs to suplly chain ID
via either config or flag.
- Mark --chain-id as required by all tx commands.
- Fix gaiacli config values containing underscores.
Underscore '_' character is not automagically translated
into hyphen '-'. Viper values wouldn't be affected.
- Refresh gaiacli config tests
Closes: #810
Fixes regression introduced by #2984.
Continuiation of #3033 , which didn't fix the simulation issues.
(candidate) Complete solution for #3019, 9002 halt bug.
From #2984, it isn't sufficient to take the fee pool rewards of a validator. Since we don't track delegator accums (as we do with validator accums), and because onValidatorModified >updateValidatorDistInfoFromPool is also being called upon delegation updates (or at least I believe this is the reason), it is necessary to also withdraw self delegation.
TODO: I don't think self-delegation should be required to be modified here... consider using a delegation hook to do the self-delegation withdraw part instead, e.g. splitting the updateValidatorDistInfoFromPool function into two. It might not result in cleaner code, however. Think hard.