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
Add a simulate only flag '--dry-run' to both CLI tx commands
and RESTful endpoints to trigger the simulation of unsigned
transactions.
* Turning --dry-run on causes the --gas flag to be ignored.
The simulation will return the estimate of the gas required
to actually run the transaction.
* Adjustment is no longer required. It now defaults to 1.0.
* In some test cases accounts retrieved from the state do not
come with a PubKey. In such cases, a fake secp256k1 key is
generated and gas consumption calculated accordingly.
Closes: #2110
* Change --gas=0 semantic in order to enable gas auto estimate.
* REST clients have been modified to simulate the execution of
the tx first to then populate the context with the estimated
gas amount returned by the simulation.
* The simulation returns both an unadjusted gas estimate and an
adjusted one. The adjustment is required to ensure that the
ensuing execution doesn't fail due to state changes that might
have occurred. Gas adjustment can be controlled via the CLI's
--gas-adjustment flag.
* Tiny refactorig of REST endpoints error handling.
Closes: #1246
* 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