Commit Graph

267 Commits

Author SHA1 Message Date
Christopher Goes 8c2c9dba8a Update block height on validator bonding 2018-10-12 00:15:58 +02:00
Christopher Goes 5fd7297e25 Count missed blocks instead of signed blocks 2018-10-12 00:04:44 +02:00
Christopher Goes f6e92df3fa Create signing info struct on validator bond hook 2018-10-11 22:48:00 +02:00
mossid 42c7a09075 Merge branch 'develop' into joon/paramstore-refactor-base 2018-10-12 00:09:07 +09:00
Alessio Treglia 0f4a03b44e Alessio/server refactor (#2472)
* Add arg to PrintUnsignedStdTx() to actually operate in offline mode
* WIP simplifying server module
* Expose ExternalIP()
* Move {GenTx,Init}Cmd into gaia's new init package
2018-10-10 15:45:41 -07:00
mossid 5c92a546c6 rename store subspace, add WithTypeTable 2018-10-11 05:01:30 +09:00
mossid 03975407ba Merge branch 'develop' into joon/paramstore-refactor-base 2018-10-10 21:20:59 +09:00
rigelrozanski 151a81eddb staking changes test_cover fixes 2018-10-09 20:37:22 -04:00
rigelrozanski fc9bafb8d3 Merge remote-tracking branch 'origin/develop' into rigel/fee-distribution 2018-10-09 20:19:22 -04:00
rigelrozanski c9730329bf ... 2018-10-09 13:58:59 -04:00
Christopher Goes 4814ae4df5
Merge branch 'develop' into cwgoes/nextvalset 2018-10-08 06:44:29 +02:00
Sunny Aggarwal cd21427a7b Merge PR #2405: Unbonding and Redelegations Queue 2018-10-08 06:43:47 +02:00
mossid 4bf14c5650 apply request finalize, fix lint 2018-10-07 01:12:01 +09:00
mossid 7a68b376bd apply requests in progress 2018-10-07 01:12:01 +09:00
mossid 7d49675600 apply requests in progress 2018-10-07 01:12:01 +09:00
mossid e7de48e375 address comments 2018-10-07 01:12:01 +09:00
mossid 2b3630eb6b finalize rebase 2018-10-07 01:12:00 +09:00
mossid d6105c5855 SetFromParamStruct -> SetStruct 2018-10-07 01:12:00 +09:00
mossid 9a35b7e949 space -> store, add doc 2018-10-07 01:12:00 +09:00
mossid 73b34353bf fix lint 2018-10-07 01:12:00 +09:00
mossid 39b5b388f1 finalize rebase 2018-10-07 01:12:00 +09:00
mossid fd8713ef9c rm key & doc.go in progress 2018-10-07 01:12:00 +09:00
mossid 6d80faface string -> []byte 2018-10-07 01:12:00 +09:00
mossid f33e856950 fix lint 2018-10-07 01:12:00 +09:00
mossid 37ce8d51c6 apply requests 2018-10-07 01:12:00 +09:00
mossid bd6ee42c5a finalize rebase 2018-10-07 01:12:00 +09:00
mossid cc0e2c9523 paramstore refactor base
rm debug code

fix lint

fix hack.go
2018-10-07 01:11:59 +09:00
Christopher Goes 1ed338fc5f Fixup comments 2018-10-05 20:00:01 +02:00
Christopher Goes 317be2bc16 Clarify ValidatorUpdateDelay 2018-10-05 19:56:17 +02:00
Christopher Goes b625cf85a1 Cleanup testcase 2018-10-05 19:45:45 +02:00
Christopher Goes 482537e6c1
Merge PR #2430: Aggressive slashing simulation & fixes 2018-10-05 19:42:52 +02:00
Christopher Goes 034163c021 Minor fixes 2018-10-05 14:58:19 +02:00
Christopher Goes 1909d8f269 Update slashing period key appropriately 2018-10-05 14:24:02 +02:00
Christopher Goes 1f12f204ce Testcase fixes, 'make format', negative pre-genesis block 2018-10-05 14:11:36 +02:00
Christopher Goes 91b755d220 Add testcase for failing to sign "extra block" 2018-10-05 13:52:30 +02:00
Christopher Goes a2113b24dc Address TODOs in slashing tests 2018-10-05 13:31:26 +02:00
Christopher Goes 48672c4c0b More comments, update sim for NextValSet 2018-10-04 18:22:51 +02:00
Christopher Goes 8f4d3a6cd7 Merge branch 'develop' into cwgoes/nextvalset 2018-10-04 18:11:14 +02:00
Rigel 324bdaf55d Merge PR #2394: Split up UpdateValidator into distinct state transitions applied only in EndBlock 2018-10-03 18:37:06 +02:00
Christopher Goes 4fee7913b5 Fix issue from earlier merge 2018-10-03 17:59:01 +02:00
Christopher Goes 17983460b8
Merge PR #2219: Update to Tendermint 0.24 (except NextValSet offsets) 2018-10-03 17:48:23 +02:00
Christopher Goes 08fcd9967d Merge branch 'cwgoes/update-tendermint-upstream' into cwgoes/nextvalset 2018-10-02 14:05:35 +02:00
Christopher Goes 3ed2c22a38 Merge branch 'develop' into cwgoes/update-tendermint-upstream 2018-10-01 18:53:42 +02:00
Jae Kwon 1e26ba2e0e
CLIContext.Logger -> .Output as it isn't a logger (#2420)
This changes .Logger to .Output, as it isn't used anywhere except as os.Stdout.
2018-09-28 21:45:54 -07:00
Christopher Goes e7c2a9614f Merge branch 'develop' into cwgoes/update-tendermint-upstream 2018-09-26 17:42:22 +02:00
Alexander Bezobchuk 91cac96fea Merge PR #2391: LCD Cleanup and DRY Refactor 2018-09-26 21:29:39 +08:00
Rigel b54801b4b3 [RETRY] Distr-PR-3 More staking hooks (#2404)
* update commission hook for new commission work
* comment update
2018-09-25 23:11:57 -07:00
Alexander Bezobchuk 611e287375 Merge PR #2401: Remove remnants of gocyclo 2018-09-25 13:45:04 -04:00
Jae Kwon c31c0d2822 Merge remote-tracking branch 'origin/dev/simulation_remove_pubkey_ops' into develop 2018-09-24 21:29:41 -07:00
Rigel 6b595842ed Distr-PR-1 Staking ConsPubKey -> ConsAddr index (#2369)
* 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
2018-09-24 21:09:31 -07:00
Alexander Bezobchuk 9dafa3252d Merge PR #2365: Validator Commission Model
* 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
2018-09-24 18:23:58 -04:00
ValarDragon bb624b36aa simulation: Use a simulation.Account struct
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.
2018-09-22 20:33:32 -07:00
Dev Ojha 65137f6331 Merge PR #2343: Add a name field to the message type
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())`
2018-09-17 22:34:06 +08:00
Dev Ojha 6b55093c75 Merge PR #2324: rename wire to codec
* rename wire to codec

* fix formatting and cli

* fix the docs
2018-09-13 14:17:32 -04:00
Rigel 5bf9401e87
Merge PR #2310: staking transient store for Tendermint Updates
* working

* non-tests compile

* fix mounting error, working on testing

* stumped using transient store

* joon comments

* remove old comments

* resolve ibc error

* lint/sim_test

* fix determinism sim test

* sim enable commit

* docs and pending
2018-09-13 00:53:55 -04:00
Alessio Treglia fb0cc0b078 Merge PR #2306: Change --gas=0 semantic and introduce --gas=simulate
* 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
2018-09-11 20:31:30 -04:00
Alexander Bezobchuk e13cdc0260 Merge PR #2146: x/bank: Keeper Interfaces
* Update banking module to implement and use keeper interfaces

* Cleanup/consolidate x/bank keeper interface
2018-09-10 14:25:34 -04:00
Dev Ojha 173ed6a63d Merge PR #2282: simulation: Switch the log method from a single string to string builders 2018-09-09 23:34:09 +08:00
Christopher Goes 1d55673f1f
Merge branch 'develop' into cwgoes/update-tendermint-upstream 2018-09-08 17:41:38 +08:00
Alexander Bezobchuk 0edfa17b53 Merge PR #2251: Refactor Bech32 Prefixes and Nomenclature of Validator Pubkey and Operator 2018-09-08 16:44:58 +08:00
Christopher Goes f95d26aec1 Merge branch 'develop' into cwgoes/update-tendermint-upstream 2018-09-08 16:14:23 +08:00
ValarDragon e812919649 Rename coinKeeper -> bankKeeper
Closes #2267
2018-09-07 22:34:32 -07:00
Jae Kwon 6325441861 txBld -> txBldr 2018-09-07 10:15:49 -07:00
Jae Kwon acd125029d x/auth/client/context -> x/auth/client/txbuilder 2018-09-07 10:04:58 -07:00
Alessio Treglia 54b3b5c028
sed -i 's/txCtx/txBld/g' 2018-09-07 14:39:23 +01:00
Alessio Treglia 3b6da7af18
TxContext -> TxBuilder 2018-09-07 14:36:21 +01:00
Christopher Goes 549eba0d54 Add height offsets 2018-09-07 06:56:05 +02:00
Christopher Goes 06adc691d2 Update testcases for TM 0.24.0-rc0 2018-09-07 00:45:07 +02:00
Christopher Goes f45cfb2f70 Merge branch 'develop' into cwgoes/update-tendermint-upstream 2018-09-06 11:51:56 +02:00
Christopher Goes e410a9e38a
Merge PR #1952: Update IAVL dependency for v0.10.0 2018-09-06 11:18:16 +02:00
Alessio Treglia 86395809cb
Implement generate-only option for commands that create txs
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
2018-09-04 02:32:05 +02:00
Jeremiah Andrews 20f5325f47 Fix more linter errors 2018-09-03 09:52:20 -07:00
Christopher Goes 14d5e686d9 More TM 0.24 updates 2018-09-03 18:04:28 +02:00
Christopher Goes 73292e08b4 Start of changes for TM 0.24 2018-09-03 17:01:49 +02:00
Jeremiah Andrews 2378e3431c Fix linter errors 2018-09-03 07:58:57 -07:00
Dev Ojha 311c5f8ac6
Merge branch 'develop' into dev/benchmark_simulation 2018-09-01 15:14:46 -07:00
Dev Ojha 5643c0801b Merge branch 'develop' into dev/benchmark_simulation 2018-09-01 12:37:50 -07:00
Rigel b296209536
Merge PR #2205: minor develop fix
* minor corrections

* ...

* ...
2018-08-31 21:23:30 -04:00
rigelrozanski acf1f09e73 Merge branch 'rigel/develop-fix' into rigel/validator-unbonding 2018-08-31 21:03:14 -04:00
rigelrozanski 6e295085c1 ... 2018-08-31 20:56:35 -04:00
rigelrozanski 9593a2641a ... 2018-08-31 20:52:45 -04:00
rigelrozanski 07ba719c75 minor corrections 2018-08-31 20:50:12 -04:00
rigelrozanski a880242895 Merge remote-tracking branch 'origin/develop' into rigel/validator-unbonding 2018-08-31 20:28:48 -04: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 122ed3a900
Don't use pointers when you need them not! 2018-08-31 19:04:45 +02:00
Alessio Treglia 1370ca611b
Set GasAdjustment in CLIContext when handling HTTP requests
This is to address @alexanderbez's comments
2018-08-31 19:04:42 +02: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
ValarDragon 46bbada4ee simulation: Add benchmarking 2018-08-29 23:02:15 -07:00
rigelrozanski c4d0a00550 Merge remote-tracking branch 'origin/develop' into rigel/validator-unbonding 2018-08-28 20:16:07 -04:00
Matthew Slipper c6d692e27f Merge PR #2172: Use cobra.NoArgs where appropriate
Closes #885.
2018-08-28 12:59:42 -04: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
rigelrozanski 78f98fec16 Merge remote-tracking branch 'origin/develop' into rigel/validator-unbonding 2018-08-27 19:34:03 -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
rigelrozanski ec42e66501 fix old tests 2018-08-27 00:20:40 -04:00