* CI: Make CI not update the lock file
We want CI to be running the lock in the repo, not generating a new one.
Linting now ensures that the lock file is up to date.
* Switch to Chris' comment
* Update pending to indicate this new command
The intent of this is to allow for simulating things like slashing for not
voting on a governance proposal. To test this, you would queue all the validator votes
in future blocks, and keep track of which ones you didn't slash. Then you could add queue a
"check governance slashing operation" after the voting period is over.
Note each defer occurs a 30ish ns overhead here, which is significant
for IAVL iteration. We were previously using around 3-4 defers. (2 in
next, one in Valid, one in Key, one in Value) This slows down the entire
application quite significantly, as we require fast iteration.
* auth: Make gas cost take into account cryptosystem
This will make including the multisig easier.
The ratio for ed25519 vs secp256k1 are based on the ratio of their
verification times, using the benchmarks in tendermint/crypto.
* Handle panic gracefully when unbond begin fails
See #1831
* Handle failure to query delegation gracefully.
Closes#1907
* Update PENDING.md
* Reuse stake's error functions
* New ErrBadValidatorAddr error
UnmarshalValidator() checks the address length first;
it does not make sense to attempt unmarshalling if the
address is wrong.
* New ErrBadDelegationAddr error
* Introduce ErrBad{Redelegation,UnbondingDelegation}Addr custom errors to replace errors.New() calls
* Replace ErrBadUnbondingDelegationAddr with ErrBadDelegationAddr to avoid duplication
Thanks: @melekes for pointing this out
* Use sdk.AddrLen instead of hardcoded address length
* s/triple/tuple/ ## mention PR id in PENDING.md
* changelog
* ...
* decimal func working
* decimal complete, untested
* fixing tests
* decimal compile errors resolved
* test compile errors
* precision multiplier test
* 1% laptop battery
* fixed TestNewDecFromStr
* equalities working
* fix bankers round chop
* ...
* working, some decimal issues resolved
* fix rounding error
* rounding works
* decimal works
* ...
* deleted rational
* rational conversion working
* revert changelog
* code compiles (not tests)
* went through all NewDec, made sure they were converted from NewRat properly
* test debugging
* all testing bugs besides the json marshalling fixed
* json unmarshal
* lint
* document update
* fix lcd test
* cli test fix
* mostly undo Dece -> Rate
* val comments
* Efficiency improvements
This now caches all of the precision multipliers (as they were all
used in non-mutative functions), and caches the precisionInt calculation.
(Now it just copies the already calculated value)
* Cache another precisionInt() call.
* Improve banker rounding efficiency
* remove defer, make negation in-place.
* chris val comments
* bez comments
* Aditya comments
* ...
* val comments
* rebasing start
* ...
* compiling
* tests pass
* cli fix
* anton, cwgoes, val comments
* val and jae comments
* type
* undo reuse quo