Commit Graph

952 Commits

Author SHA1 Message Date
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
rigelrozanski d900c583ff melekes comment 2018-08-30 21:16:23 -04:00
ValarDragon 4be69077fe Fix cyclomatic complexity, add ability to use GoLevelDB 2018-08-30 11:43:56 -07:00
ValarDragon d1a5808a75 Address Anton's comment 2018-08-30 09:32:15 -07:00
ValarDragon b3d08bcb23 minor cleanup 2018-08-30 00:35:02 -07:00
ValarDragon 03d2f7331b Remove code duplication 2018-08-30 00:28:15 -07: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
rigelrozanski 8d02c3eba0 fix golint 2018-08-29 20:24:35 -04:00
rigelrozanski 6fd8299b1a ... 2018-08-29 18:54:02 -04:00
rigelrozanski 52b249b0cd complete tests 2018-08-29 18:44:40 -04:00
rigelrozanski d1a2fed2bc tests working 2018-08-29 02:28:27 -04:00
Mike Xu fd8c1e5253 Merge PR #2159: fix the gov/slash error 2018-08-29 01:22:39 -04: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 d1ecc8f6b4
Merge PR #2141: Governance CLI uses Querier 2018-08-28 14:49:33 +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
HaoyangLiu 5ed1775681 Merge PR #2148: Change delegation amount from int64 to sdk.Int
* Change delegation amount from int64 to sdk.Int

* Refactor code according to code review

* leave freeFermionVal to int64 in case of overflow
2018-08-27 18:18:18 -04:00
Sunny Aggarwal bfdeb3f8ce works 2018-08-27 15:18:01 -07: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 f2d47f9e91 slash contract, cwgoes comment 2018-08-27 14:46:38 -04:00
rigelrozanski 527320c9fc dummy tests 2018-08-27 00:38:31 -04:00
rigelrozanski ec42e66501 fix old tests 2018-08-27 00:20:40 -04:00
ValarDragon 4451755600 simulation: rename TestAndRunTx to Operation, make timestamp randomized 2018-08-26 19:40:53 -07:00
Alessio Treglia 76a16ab288
Modify AnteHandler to take a simulate boolean parameter 2018-08-25 20:12:14 +01:00
rigelrozanski 86f07d271d unbonding validators, delegtion effects 2018-08-24 21:47:31 -04:00
Sunny Aggarwal 6391611005 asdf 2018-08-24 11:07:53 -07:00
Alessio Treglia 7e8feec738
Incorporating @cwgoes comments 2018-08-24 15:20:53 +01:00
Alessio Treglia f36f749818
Incorporating @ValarDragon's comments 2018-08-24 10:16:51 +01:00
Alessio Treglia f432c0c383
Simulate transactions before actual execution
* 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
2018-08-24 10:16:51 +01:00
Christopher Goes 879f78cfc0 Rename revoke(d) to jail(ed) 2018-08-22 17:56:13 +02:00
Christopher Goes 7b8c1c0e80
Merge branch 'develop' into fix-iterator-leak 2018-08-22 16:06:35 +02:00
Christopher Goes b23fe15e4a
Merge PR #1918: Keeper custom queries & QueryRouter 2018-08-22 12:50:59 +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 7f43d3b290 fixed GetLastProposalID function 2018-08-22 00:17:37 -07:00
Sunny Aggarwal 5ae20d2d51 address Chris's comments 2018-08-22 00:15:18 -07:00
Sunny Aggarwal 50dd53fec3 added tally query route to gov 2018-08-22 00:15:18 -07:00
Sunny Aggarwal 0134c3b7f1 Address Anton's comments 2018-08-22 00:15:18 -07:00
Sunny Aggarwal 1311117658 added to gov rest 2018-08-22 00:12:44 -07:00
Sunny Aggarwal 804baa70f4 added querier to gov module 2018-08-22 00:12:44 -07:00
Sunny Aggarwal 1d1a95656a custom queriables 2018-08-22 00:11:23 -07: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
Matthew Slipper f7d8675234 Support a proposal JSON file in submit-proposal
Closes #1852.
Closes #1776.
2018-08-21 14:34:15 -07:00
Christopher Goes 18b067cd41
Merge PR: Merge master back into develop 2018-08-21 18:33:02 +02:00
Ethan Buchman 292701d774 Merge branch 'master' into bucky/merge-master 2018-08-21 11:55:40 -04:00
Federico Kunze cfb5acca6e Merge PR #2099: Query staking Pool and Params 2018-08-21 17:32:54 +02:00
Dev Ojha 419cf85433 Merge PR #2046: auth: Make gas cost take into account cryptosystem
* 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.
2018-08-21 16:13:34 +02:00
Christopher Goes e2691d98fc 0.24.1 - Fix validator pubkey bug 2018-08-21 15:40:43 +02:00
youjing 517682f17c fix Iterator leak, ref to https://github.com/cosmos/cosmos-sdk/issues/2105 2018-08-21 14:54:12 +08:00
Jae Kwon f076794c5a Fix bug introduced during merge 2018-08-20 21:55:23 -07:00
Christopher Goes 800ac2844e validator.Operator, sdk.Dec 2018-08-20 17:10:43 +02:00
Ethan Buchman af73b885e7 Merge branch 'develop' into bucky/merge-master 2018-08-19 16:24:45 -04:00
Alexander Bezobchuk 5794f3c3ce Merge PR #2083: Fix broken invariant of bonded validator power decrease 2018-08-18 13:41:12 +02:00
Alexander Bezobchuk cf03076a0a Merge PR #2047: Fix Invalid Cliff Validator Power Comparison 2018-08-17 17:33:13 +02:00
Christopher Goes b8cfc1e19f
Merge PR #2068: Minor simulation changes 2018-08-17 16:19:33 +02:00
Dev Ojha 8bb79d12ca Fix non-deterministic map iteration in fuzzer (#2069)
* This demonstrates that the state machine is non-deterministic if there
are more than two txs in a block.

* fix non-deterministic map iteration

* (squash this) fix build errors

* (squash this) iterate using range
2018-08-16 23:45:07 +02:00
Alessio Treglia 187bc1972a Merge PR #1950: Validator.Owner -> .Operator
* Rename --address-validator flag to --validator

See #1901

* Update PENDING.md

* Rename Validator.Owner -> Validator.Operator

See #1901
2018-08-16 16:47:59 -04:00
Christopher Goes 3d50567034
Merge PR #1783: Slashing, validator set, and governance simulation 2018-08-16 17:36:15 +02:00
Rigel 422dfa3de9
Merge pr #2051: smol compile bug 2018-08-15 18:35:17 -04:00
Alessio Treglia 4fbaee205f Merge pull request #1997: Handle unmarshalling failures gracefully in x/stake commands
* 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
2018-08-15 15:49:06 -04:00
Alexander Bezobchuk 97ea51a335 Merge pull request #2023: Terminate Update Bonded Validators Iteration Properly 2018-08-15 14:51:19 -04:00
Federico Kunze c9358ec198 R4R: Fix repeated cmds in CLI for staking (v.0.24.0 release) (#2043)
* Cherry picked commits

* Update CHANGELOG.md
2018-08-15 16:59:46 +02:00
Rigel 5fff217e9b Merge PR #2033: staking lcd uses owner address not pubkey address 2018-08-15 15:04:01 +02:00
Rigel d9dc061b4f
Merge pull request #1819: rational -> decimal
* 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
2018-08-14 20:15:02 -04:00
Federico Kunze 63713c9378 Merge pull request #2000: tests for staking lcd
* Added tests for Delegator Validators routes

* Updated tests for undelegations

* Updated Gaia-lite docs

* Updated PENDING.md

* Updated comments

* Deleted more comments

* Add spacing
2018-08-13 18:06:48 -04:00
Christopher Goes 0b2bf8f3a0 Set SignedBlocksWindow to 10000 per @zmanian instructions 2018-08-13 15:56:40 +02:00
Christopher Goes a56117ee74 Stage onto release/v0.24.0 (#1999)
* Set SignedBlocksWindow back to 1000

* Merge PR #1995: upgrading ledger goclient lib

* Update version/version.go
2018-08-13 09:41:53 -04:00
Dev Ojha b2a4aecc44 Upgrade to tm version 23.0. (#1927)
* Start upgrade. Currently go test ./... hangs.

* (squash this) Fix staking tests

* wip

* note what changes need to be made to make this work on tm v0.23.0

* Fix addr -> pubkey map

* cleanup code

* Fix slashing test failures except for begin blocker

* fix all slashing tests

* fix lcd tests

* Address PR comments

* add link to changelog.

* (wip) start making addrToPubkey map persisted. Since amino can't handle maps,
we have to change from what this commit is doing.

* Use the correct method of storing a map

* (squash this) address PR comments

* Did you run 'make'?

* remove gaiadebug binary
2018-08-12 03:33:48 -04:00
Jae Kwon a9800a92ae Fix slashing test to reflect SlashFractionDowntime param 2018-08-12 01:08:35 -04:00
Jae Kwon 77d02e348e fixed proposaltype string bug (#1829)
* fixed proposaltype string bug
2018-08-12 01:05:08 -04:00
Fabian 1479a35e5e Merge PR #1949: Fixed delegations endpoint 2018-08-10 15:41:01 +02:00
Christopher Goes ac26d33547
Merge PR #1858: Fix Cliff Validator Update Bugs 2018-08-09 00:57:59 +02:00
Federico Kunze 1da1115a24 Merge PR #1880: Staking Gaia-lite (ex LCD) refactor 2018-08-08 12:38:39 +02:00
Sunny Aggarwal 4582de4902 Merge PR #1914: tallyResults added to state
* tallyResults added to state
* fixed bug with tallyresult equals
2018-08-08 12:28:52 +02:00
Rigel 7fb626f548 Merge PR #1702: lamborghini distribution & inflation spec upgrade 2018-08-08 12:10:21 +02:00
Christopher Goes 46382994a3
Merge PR #1925: Fix develop from FF merge
* Update types/coin_test.go from FF merge
* 'make format'
2018-08-06 21:49:17 +02:00
Alexander Bezobchuk 12c2c236c2 Merge PR #1741: CoreContext Refactor 2018-08-06 20:11:30 +02:00
Joon 7b54e4b786 Merge pull request #1812: Add BaseApp.Seal
* Merge pull request #1812: Add BaseApp.Seal

fix pow

move setter functions

apply requests

* fix errors

* fix test

* fix test

* changelog
2018-08-01 00:23:25 -04:00
Joe Bowman 874a6055b0 Merge PR #1889: update signing info endpoint
* update /slashing/signing_info/ endpoint of lcd to take cosmosvalpub instead of cosmosvaladdr for consistency reasons
* update pending.md
* update test that calls /slashing/signing-info endpoint
2018-07-31 20:27:03 +02:00
Joon 19b0781e60 Merge PR #1811: NewCoin takes sdk.Int 2018-07-31 02:09:50 +02:00
Sunny Aggarwal d3fcfdba57 Merge PR #1845: Query-proposals CLI command 2018-07-31 01:48:00 +02:00
Sunny Aggarwal 7fc2ed61d7 Merge pull request #1859: slashing to governance for non-voting validators
* added slashing to governance non voting

* minor formatting
2018-07-30 01:11:21 -04:00
Rigel c40d5debcc
Merge pull request #1862 from cosmos/dev/speed_up_handleMsgEditValidator
x/stake: Speed up handleMsgEditValidator
2018-07-29 23:21:10 -04:00
ValarDragon 0bb3497356 x/stake: Speed up handleMsgEditValidator
This removes running the power update logic on handleMsgEditValidator,
as its unnecessary.

Closes #1815
2018-07-27 21:42:59 -07:00
Christopher Goes 79aeb2b4b9 Fix genesis bond intra-tx counter bug 2018-07-27 20:01:06 +02:00
Sunny Aggarwal 55ef898db8 Merge PR #1688: Un-hardcode in governance parameters 2018-07-27 03:24:41 +02:00
Aditya 74e06d8b96 Merge PR #1841: Must specify amount flag
* Removed default value for staking. Must now specify amount flag or it will error
* add to pending and better error msg
2018-07-26 23:41:24 +02:00
rigelrozanski 422eb0374e ... 2018-07-26 13:49:58 -04:00
rigelrozanski 07705444fd do-not-modify in defaults for edit-validator cli 2018-07-26 13:41:34 -04:00
rigelrozanski 58afe9780b Merge remote-tracking branch 'origin/develop' into sunny/fix-do-not-modify 2018-07-26 13:25:51 -04:00
ValarDragon f9eb1e725f gov/tests: Cleanup test file
Cache calls to generating the privatekeys, remove repitition in validator
set creation.
2018-07-26 00:10:31 -07:00
Sunny Aggarwal 29bdd663c2 fixed donotmodify bug 2018-07-25 16:05:43 -07:00
Dev Ojha 5d02a743fb Update to tendermint v0.22.6-rc0 (#1798)
* Update to tendermint v0.22.6-rc0

This is comprised of updating the crypto imports / API

* (squash this) switch to v0.22.6

If this passes tests, I'll squash this commit and update the PR.
2018-07-25 16:43:37 -04:00
Rigel d6cd0d4acc Merge PR #1818: CLI keybase-sig -> identity 2018-07-25 20:43:13 +02:00
Christopher Goes 4b7f6efd87
Merge PR #1805: Downtime slashing off-by-one-block fix
* Avoid slashing & revoking no longer stored or already revoked validators for downtime
* Add testcase
* Update PENDING.md
2018-07-25 04:12:48 +02:00
Sunny Aggarwal 89eba4952c Merge PR #1801: Fixed governance bug with iterate delegations 2018-07-24 21:00:56 +02:00
Rigel 52916f3c25
Merge branch 'develop' into rigel/no-endblock-rat-calcs 2018-07-23 14:59:06 -04:00