* Move query and tx commands to modules
* Move GetAccountDecoder to prevent import cycle and replace calls to it with one call in WithAccountDecoder
* Add moduleClients interface and implement in all applicable modules
* Use module clients in cli initialization
* Allow --from to be a name or an address
Closes#1735.
* Post-rebase fixes
* Updates from code review
* Updates from code review
* Updates from code review
* Fix merge artifacts
* Fix merge conflicts
* Fix integration tests
* Add back GetFromName() check broken during merge
* Code review updates
* Fix failing test
* Updates from code review
* 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
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