* 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
* Don't serialize Account Number and Sequence Number in signatures
This was not needed to be included within the tx body, as its in the
state.
* fix lint
* Update PENDING.md
* Add simple period for expensive invariants
* Remove individual module simulations
* Simulate a few more blocks
* Add README explaining reason for shell scripts
* Deduplicate scripts, log exact replication command on failure
* Refactor invariants to take sdk.Context instead of baseapp.BaseApp
* Reference all issues in PENDING.md entry
* Remove no longer used simulation.RandSetup
* Bug fixes
* Address @rigelrozanski comments
* Fix typo
* Make simulator operations predetermined
* Use new dbm.ReverseIterator API
* Simulation speed improvements
* Pin exact revisions, not branches
* Rename 'MountStoresIAVL' to 'MountStores'
* Zero Power Block fees to community pool
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
This also had to change the default seed, since with the previous one it
actually got into a state where there were no validators left bonded, lol.
This also changes Unbond msgs from failing with almost 100% probability to now
only failing with 33% probability.
Thus more of the state machine is getting tested!
Make simulation use a transition matrix for block size
This enables simulating periods of high load, and periods of low to no load.
(low load because future ops will still terminate in that time frame)