Improve memory efficiency of getting store keys
This is done by removing repeated appends, which will create a new
slice if theres insufficient capacity, and instead creating a key
of the correct size, and then copying the data into it.
* pulling in stuff from fee-distr PR
* revert some gov changes
* fix using cons address, also remove old commented distr code
* doc update
* val comments
* remove GetValidatorByConsPubKey
* Update validator commission fields
* Remove CommissionChangeToday and update to use CommissionChangeTime
* Implement commission as a first class citizen type
* Implement stringer for Comission
* Move commission type and logic to new file
* Add new commission errors
* Add commission to create validator message
* Implement and call UpdateValidatorCommission
* Update godoc for UpdateValidatorCommission
* Add Abs to the decimal type
* Implement new SetValidatorCommission
* Update decimal short godocs
* Move set initial commission logic
* Move initial commission validation to Commission type
* Update initial validator commission logic and unit tests
* Remove commission update time from struct and move to validator
* Update validator create handler tests
* Implement commission logic for CLI
* Fix make lint failure
* Fix make cover failure
* Update edit validator logic to handle new commission rate
* Fix lint and cover
* Update create/edit validator simulation to include commission params
* Update MsgEditValidator godoc
* Update pending log
* Update staking tx docs
* Fix CLI create validator test
* Update variables names for commission strings
* Merge UpdateTime into Commission type
* Update create-validator usage in docs
* Update more docs with examples
* More doc updates
This removes privkeys and addresses from function signatures.
This comes with a 11% performance improvement to the simulator,
as we no longer keep recomputing the pubkeys.
Once we move the transient store clearing to endblock, we can
further raise the size of make test_sim_gaia_fast
concretely, `make test_sim_gaia_fast` went from 16.8 seconds to 13.5 seconds on my system.
This is to facillitate ease of implementing #1406. (Tags for messages
could then be added dynamically)
Ultimately once we make the router support hiearchical routing, (#770)
we can then remove the name field and just the parse info for tags from that.
Until then, we can parse the tag name as
`fmt.Sprintf("%s %s", msg.Type(), msg.Name())`
* Cherry picked commits from prev branch
* Added new keepers for querier functionalities
* Renaming
* Fixed gov errors and messages
* Added Querier to stake and app
* Update delegation keepers
* REST Queriers not working
* Fix marshalling error
* Querier tests working
* Pool and params working
* sdk.NewCoin for test handler
* Refactor and renaming
* Update LCD queries and added more tests for queriers
* use sdk.NewCoin
* Delegator summary query and tests
* Added more tests for keeper
* Update PENDING.md
* Update stake rest query
* Format and replaced panics for sdk.Error
* Refactor and addressed comments from Sunny and Aleks
* Fixed some of the errors produced by addr type change
* Fixed remaining errors
* Updated and fixed lite tests
* JSON Header and consistency on errors
* Increased cov for genesis
* Added comment for maxRetrieve param in keepers
* Comment on DelegationWithoutDec
* Bech32Validator Keepers
* Changed Bech validator
* Updated remaining tests and bech32 validator
* Addressed most of Rigel's comments
* Updated tests and types
* Make codec to be unexported from keeper
* Moved logic to query_utils and updated tests
* Fix linter err and PENDING
* Fix err
* Fix err
* Fixed tests
* Update PENDING description
* Update UpdateBondedValidatorsFull
* Update iterator
* defer iterator.Close()
* delete comment
* Address some of Aleks comments, need to fix tests
* export querier
* Fixed tests
* Address Rigel's comments
* More tests
* return error for GetDelegatorValidator
* Fixed conflicts
* Fix linter warnings
* Address @rigelrozanski comments
* Delete comments
* wire ––> codec
* Change --gas=0 semantic and introduce --gas=simulate
Make --gas flag accept a conventional "simulate" string value in addition
to integers. Passing --gas=simulate would trigger the tx simulation and
set the gas according to the gas estimate returned by the simulation.
Any other integer value passed to --gas would be interpreted as-is and
and set as gas wanted value.
Closes: #2300
* Add test cases with gas=0
* ACK suggestion from @alexanderbez
* s/GasFlagSimulateString/GasFlagSimulate/
* Drop TODO comment on Gas type
* Enrich TODO with ref
- replace with and unexported struct and amino's ability to override /
implement MarshalJSON & UnmarshalJSON to have the pub key bechified
- replaced default time to UTC as I (from London) always got an error
while decoding (epoch but in BST ;-)
- remove all occurrences of `BechValidator
The new CLI flag builds an unsigned transaction and writes it to STDOUT.
Likewise, REST clients can now append generate_only=true to a request's
query arguments list and expect a JSON response carrying the unsigned
transaction.
Closes: #966