Commit Graph

129 Commits

Author SHA1 Message Date
ValarDragon a991a2e1c4 Improve GetValidator speed
In simulation, this was shown to cause a 4x speedup. There are no safety
concerns here, as amino encoding is deterministic.
2018-09-01 12:59:36 -07:00
Dev Ojha 5643c0801b Merge branch 'develop' into dev/benchmark_simulation 2018-09-01 12:37:50 -07:00
Christopher Goes 1204857694 Merge PR #2122: Implement slashing period
* Update PENDING.md

* SlashingPeriod struct

* Seperate keys.go, constant prefixes

* Make linter happy

* Update Gopkg.lock

* Seek slashing period by infraction height

* Slashing period hooks

* Slashing period unit tests; bugfix

* Add simple hook tests

* Add sdk.ValidatorHooks interface

* No-op hooks

* Real hooks

* Fix iteration direction & duplicate key, update Gaia

* Correctly simulate past validator set signatures

* Tiny rename

* Update dep; 'make format'

* Add quick slashing period functionality test

* Additional unit tests

* Use current validators when selected

* Panic in the right place

* Address @rigelrozanski comments

* Fix linter errors

* Address @melekes suggestion

* Rename hook

* Update for new bech32 types

* 'make format'
2018-08-31 20:01:23 -04:00
Christopher Goes e1981d47e3
Merge PR #2181: Implement a simulate-only CLI flag/field for REST endpoints 2018-08-31 22:35:52 +02:00
Rigel b92ac313ac
Merg PR #2198: Ensure Legacy Validator Delegation Invariants
* Test and allow jailed validator to self-bond

* Implement TestJailedValidatorDelegations

* Restructure TestJailedValidatorDelegations

* Add Delegation to Validator type and update handleMsgUnjail accordingly

* Update ErrMissingSelfDelegation error message

* Update democoin mock validator set impl

* Update pending log

* Add comment to ValidatorSet

* Fix conflicts/errors due to develop merge
2018-08-31 15:21:12 -04:00
Alessio Treglia 599923fb99
Introduce simulate mode
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
2018-08-31 19:04:11 +02:00
Rigel ee0434e5a7
Revert "Merge PR #2176: Ensure Legacy Validator Delegation Invariants" (#2197)
This reverts commit df33452490.
2018-08-31 00:55:33 -04:00
Alexander Bezobchuk df33452490 Merge PR #2176: Ensure Legacy Validator Delegation Invariants
* Test and allow jailed validator to self-bond

* Implement TestJailedValidatorDelegations

* Restructure TestJailedValidatorDelegations

* Add Delegation to Validator type and update handleMsgUnjail accordingly

* Update ErrMissingSelfDelegation error message

* Update democoin mock validator set impl

* Update pending log

* Add comment to ValidatorSet
2018-08-31 00:10:51 -04:00
Alexander Bezobchuk 2d92803b9f Merge PR #2040: Refactor Validator Account Types/Bech32 Prefixing
* Add new account bech32 prefixes with godocs

* Restructure spacing of existing account code

* Update account godocs

* More account godoc updates + new tm pub/addr helpers

* Update validator type to use new account types/bech32 prefixes

* Fix account documentation errors

* Update Bech32 prefix for consensus nodes

* Update Bech32 spec doc

* Fix account type tests

* Add missing account consensus functions, clear up godocs, and fix tests

* Add to TestRandBech32PubkeyConsistency check

* Update initialization of validator public keys

* Update query signing info command

* Implement new ConsAddress type with associated unit tests

* [WIP] Update stake and slashing parameters

* Update all calls to MustBech32ifyValPub

* [WIP] Validator operator API updates

* [WIP] Fix and update unit tests

* Fix gov logs (helping to debug failing tests)

* Fix gov tally

* Fix all broken x/ unit tests

* Update gaia app genesis address logic

* Fix linting errors

* Fix broken LCD tests

* Fix broken CLI tests

* Implement command to get validator address and pubkey from key name

* Add support for getting validator key information via REST endpoint

* Update PENDING log

* Update docs

* Revert GaiaGenTx.PubKey bech32 prefix

* Fix broken docs and cli tests

* Update genesis to use correct Bech32 (cons) prefix for pubkeys

* Update docs and unit tests to reflect new cosmos account bech32 prefix

* minor formatting
2018-08-31 00:06:44 -04:00
Matthew Slipper dc0f13214d Merge PR #2170: Add show-address command
* Add show-address command

Closes #1274.

* Add PENDING entry

* Add godoc

* Updates from code review
2018-08-30 21:38:28 -04:00
Matthew Slipper 03c56fc024 Merge PR #2190: Rename --gen-txs to --with-txs
* Rename --gen-txs to --with-txs

Closes #1088.

* Update CHANGELOG.md
2018-08-30 21:33:48 -04:00
ValarDragon 31ca2e058b Update PENDING 2018-08-29 23:11:14 -07:00
ValarDragon 46bbada4ee simulation: Add benchmarking 2018-08-29 23:02:15 -07:00
Mike Xu fd8c1e5253 Merge PR #2159: fix the gov/slash error 2018-08-29 01:22:39 -04:00
Dev Ojha 946e24d7bf Merge PR #2152: Make CI not update the lock file
* 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
2018-08-28 12:53:56 -04:00
Christopher Goes 6a7d700543
Merge PR #2167: Load Ledger Device at Runtime 2018-08-28 14:55:25 +02:00
Christopher Goes 5f347e0d9a
Merge PR #2166: simulation: Allow operations to specify future operations 2018-08-28 14:53:45 +02:00
Christopher Goes 73f90e8f92
Merge PR #2047: Simulate transactions by default to set gas automatically 2018-08-28 13:53:29 +02:00
Christopher Goes d3021d4c2f
Merge PR #2143: Speedup IAVL iterator by removing defers when unneeded. 2018-08-28 13:51:47 +02:00
Aleksandr Bezobchuk 0245a4b5ee Update pending log 2018-08-27 18:45:34 -04:00
ValarDragon 855222e8c3 simulation: Allow operations to specify future operations
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.
2018-08-27 14:27:00 -07:00
Christopher Goes 666c218330
Merge PR #2138: Datadog fixes and new ansible scripts 2018-08-27 18:50:27 +02:00
Dev Ojha 2c3a4fc025
Merge branch 'develop' into dev/speedup_iavl_iterator 2018-08-27 08:05:09 -07:00
ValarDragon 4451755600 simulation: rename TestAndRunTx to Operation, make timestamp randomized 2018-08-26 19:40:53 -07:00
ValarDragon f6cb4d4fb6 Speedup IAVL iterator by removing defers when unneeded.
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.
2018-08-24 10:26:02 -07:00
Matthew Slipper 2146450aaa Fix export segfault
Closes #1834
2018-08-24 02:24:00 -07:00
Alessio Treglia 323fac3bf7
Update PENDING.md 2018-08-24 10:16:51 +01:00
Christopher Goes c5d44bcaf0
Merge PR #2001: Update slashing spec for slashing-by-period 2018-08-24 02:09:29 +02:00
Greg Szabo 02efc1e209
Merge branch 'develop' into greg/datadog-fixes 2018-08-23 15:03:08 -04:00
Greg Szabo 0e3883f8bf Ansible and Terraform script updates 2018-08-23 14:55:22 -04:00
Christopher Goes f8f97f7bd0
Merge PR #2124: Simple integration tests for {base,demo}coind 2018-08-23 13:56:32 +02:00
Alessio Treglia c02456b8a1
Update PENDING.md 2018-08-23 12:37:01 +01:00
Federico Kunze f143c92ca6 Addressed Chris and Dev's comments 2018-08-23 12:02:12 +02:00
Federico Kunze 1ec9d16d94 Merge branch 'develop' of https://github.com/cosmos/cosmos-sdk into fedekunze/2044-JSON-err-msgs
Merge develop
2018-08-23 11:31:37 +02:00
Christopher Goes bb9c265590
Merge branch 'develop' into cwgoes/slashing-period-spec 2018-08-22 18:31:04 +02:00
Christopher Goes 73e1965195 Update PENDING.md 2018-08-22 18:30:34 +02:00
Christopher Goes 879f78cfc0 Rename revoke(d) to jail(ed) 2018-08-22 17:56:13 +02:00
Federico Kunze b02ecf915f Update PENDING.md 2018-08-22 16:24:09 +02:00
Christopher Goes 7b8c1c0e80
Merge branch 'develop' into fix-iterator-leak 2018-08-22 16:06:35 +02:00
Christopher Goes 29634bfd1d
Merge PR #1983: CLI UX Updates #1 2018-08-22 12:51:31 +02:00
Christopher Goes b23fe15e4a
Merge PR #1918: Keeper custom queries & QueryRouter 2018-08-22 12:50:59 +02:00
Christopher Goes 42c03aeeec Merge branch 'develop' into cli-updates 2018-08-22 12:40:23 +02:00
Christopher Goes 4b5bb45a09
Merge PR #2062: Support a proposal JSON file in submit-proposal 2018-08-22 12:31:58 +02:00
Sunny Aggarwal 0eed9d1b60 PENDING 2018-08-22 00:15:18 -07:00
Rigel a54e3a3fc4
Merge branch 'develop' into cli-updates 2018-08-21 23:44:57 -04:00
Matthew Slipper d8f01be211 Merge PR #2061: Change proposalID to proposal-id in gov REST
Close #1963.
2018-08-21 23:44:13 -04:00
Rigel 58f50c24a4
Merge branch 'develop' into cli-updates 2018-08-21 23:23:44 -04:00
Matthew Slipper 62d6fd2f98 Merge PR #2014: Remove advanced gaiacli command
Closes #1965
2018-08-21 23:22:18 -04:00
Matthew Slipper 3413a2bff1 Remove --select in block command (#2060)
Closes #1968.
2018-08-21 20:53:16 -04:00
Matthew Slipper 0c0d282a0c Add plaintext flags to show keys; default print response to true; helptext updates
Closes #1970
Closes #1971
Closes #1967
Closes #1969
2018-08-21 15:36:53 -07:00