Commit Graph

204 Commits

Author SHA1 Message Date
Sunny Aggarwal e419396bd1 fixed time key marshal (#2516)
Do not use Amino Binary for key sorting.
2018-10-16 23:09:19 -07:00
Christopher Goes d8038fcddc Update testcases & pending 2018-10-16 21:44:23 +02:00
Christopher Goes abef57a9e6 Utilize Tendermint power instead 2018-10-16 21:30:52 +02:00
Christopher Goes 2803830c7e
Merge PR #2236: Distr-PR-5 Implement Distribution 2018-10-16 08:18:21 +02:00
Christopher Goes c0ce451003 Merge #2500: Block conflicting redelegations
* Block conflicting redelegations

* Update PENDING.md

* Add conflicting redelegation testcase
2018-10-15 21:06:31 -04:00
rigelrozanski 5de0c9a1f8 Merge remote-tracking branch 'origin/develop' into rigel/fee-distribution 2018-10-15 02:43:36 -04:00
Sunny Aggarwal 6c9e71b654 Merge PR #2451: implement validator queue
* unbonding redelegation queue

* address some of bez and chris review

* delete old timeslices from queue

* added Rigel's test case

* added end-time to tags

* fixed bug in staking

* removed prints

* Get -> Queue

* called Endblocker in test

* implement validator queue

* Docs and PENDING

* address federicos comments

* unexposed UnbondingToUnbonded

* no copying unbonded val array to memory
2018-10-14 20:37:06 -04: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 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
rigelrozanski 600532575b Merge remote-tracking branch 'origin/develop' into rigel/fee-distribution 2018-10-08 20:15:17 -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 9fc7e80d48 finalize rebase 2018-10-07 01:16:11 +09: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 cc75924182 last rereview 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 fd8713ef9c rm key & doc.go in progress 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
rigelrozanski e304b9c600 debugging simulation 2018-10-05 20:32:06 -04:00
rigelrozanski 83c2781c1c Merge remote-tracking branch 'origin/develop' into rigel/fee-distribution 2018-10-05 13:23:01 -04:00
Christopher Goes 018aaeb443 Add testcase for slash at negative height 2018-10-05 13:40:00 +02:00
Dev Ojha c4b243142d Merge PR #2438: Add tests for more staking key operations as requested 2018-10-05 12:42:52 +02:00
rigelrozanski 45f0dd0e3b Merge remote-tracking branch 'origin/develop' into rigel/fee-distribution 2018-10-04 18:33:12 -04:00
Dev Ojha b4e8fe5e94 Merge PR #2435: Staking store keys bug fix + memory improvement
Improve memory efficiency of getting store keys

This is done by removing repeated appends, which will create a new
slice if theres insufficient capacity, and instead creating a key
of the correct size, and then copying the data into it.
2018-10-04 08:42:03 +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 17983460b8
Merge PR #2219: Update to Tendermint 0.24 (except NextValSet offsets) 2018-10-03 17:48:23 +02:00
rigelrozanski 60a3541380 major debugs 2018-09-28 03:29:52 -04:00
Dev Ojha e11c52e873 Merge PR #2408: decimal: Add a method to multiply a decimal by an Int
This is for usage within the slash function, to minimize operations
required to slash each unbonded and redelegating account.
2018-09-26 18:13:40 +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
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
Federico Kunze d195cc15ed Merge PR #2249: Staking Querier pt1
* Cherry picked commits from prev branch

* Added new keepers for querier functionalities

* Renaming

* Fixed gov errors and messages

* Added Querier to stake and app

* Update delegation keepers

* REST Queriers not working

* Fix marshalling error

* Querier tests working

* Pool and params working

* sdk.NewCoin for test handler

* Refactor and renaming

* Update LCD queries and added more tests for queriers

* use sdk.NewCoin

* Delegator summary query and tests

* Added more tests for keeper

* Update PENDING.md

* Update stake rest query

* Format and replaced panics for sdk.Error

* Refactor and addressed comments from Sunny and Aleks

* Fixed some of the errors produced by addr type change

* Fixed remaining errors

* Updated and fixed lite tests

* JSON Header and consistency on errors

* Increased cov for genesis

* Added comment for maxRetrieve param in keepers

* Comment on DelegationWithoutDec

* Bech32Validator Keepers

* Changed Bech validator

* Updated remaining tests and bech32 validator

* Addressed most of Rigel's comments

* Updated tests and types

* Make codec to be unexported from keeper

* Moved logic to query_utils and updated tests

* Fix linter err and PENDING

* Fix err

* Fix err

* Fixed tests

* Update PENDING description

* Update UpdateBondedValidatorsFull

* Update iterator

* defer iterator.Close()

* delete comment

* Address some of Aleks comments, need to fix tests

* export querier

* Fixed tests

* Address Rigel's comments

* More tests

* return error for GetDelegatorValidator

* Fixed conflicts

* Fix linter warnings

* Address @rigelrozanski comments

* Delete comments

* wire ––> codec
2018-09-13 17:23:44 -04: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
Federico Kunze 5834a500da Merge PR #2259: Minor changes on slashing logs and gov Querier 2018-09-12 15:41:09 +08:00
Alexander Bezobchuk 854aca2f7d Merge PR #2238: Ensure Tendermint Validator Update Invariants 2018-09-12 15:16:28 +08:00
Dev Ojha 2e0fc15dd4 Merge PR #2292: x/staking: Use variable names in switch case 2018-09-11 17:14:32 +08:00
Dev Ojha 4f0c3cb25a Merge PR #2291: x/staking: standardize validator record not found error 2018-09-11 17:12:35 +08: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
Alexander Bezobchuk 0edfa17b53 Merge PR #2251: Refactor Bech32 Prefixes and Nomenclature of Validator Pubkey and Operator 2018-09-08 16:44:58 +08:00
ValarDragon e812919649 Rename coinKeeper -> bankKeeper
Closes #2267
2018-09-07 22:34:32 -07:00
Jeremiah Andrews 2378e3431c Fix linter errors 2018-09-03 07:58:57 -07:00
Christopher Goes a4f36aa874
Merge pull request #2200 from cosmos/dev/GetValidator_speed_improvement
Improve GetValidator speed
2018-09-03 13:07:09 +02:00
rigelrozanski 2c66ba0bd4 extra comment on cache key usage 2018-09-02 15:42:25 -04:00
Christopher Goes d214952450
Merge PR #2163: Validator unbonding state 2018-09-01 23:15:03 +02:00
ValarDragon 52775f3329 Make the slashing logger print a string representation of slashFactor
It used to print the decimal number, which has an extra factor of 10**10,
and is thus confusing.
2018-09-01 13:54:47 -07:00
ValarDragon f29fdcafdd Add comments 2018-09-01 13:21:42 -07:00
ValarDragon 3b4caa5dd2 fix lint 2018-09-01 12:59:36 -07:00
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
rigelrozanski f0c13bbfbd resolve merge errors 2018-08-31 21:38:50 -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
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
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
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
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
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
rigelrozanski 86f07d271d unbonding validators, delegtion effects 2018-08-24 21:47:31 -04:00
Christopher Goes 879f78cfc0 Rename revoke(d) to jail(ed) 2018-08-22 17:56:13 +02: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
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
Alexander Bezobchuk 97ea51a335 Merge pull request #2023: Terminate Update Bonded Validators Iteration Properly 2018-08-15 14:51:19 -04: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
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
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
Joon 19b0781e60 Merge PR #1811: NewCoin takes sdk.Int 2018-07-31 02:09:50 +02: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
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
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
Christopher Goes 7e88a50b2a
Merge branch 'develop' into cwgoes/a-random-walk-down-proof-of-stake 2018-07-19 08:49:20 +02:00
Joon aa525418e1 Merge PR #1373: Initialization of POS chain 2018-07-19 08:39:40 +02:00
Christopher Goes 966f26dfb2 Remove print, quickfix 2018-07-18 07:44:40 +02:00
Christopher Goes 6c61577b0b Misc, environment variables 2018-07-18 07:37:38 +02:00
Rigel 3231daa4d8 remove global shares (#1644)
* wip removing pool shares

* remove PoolShares/Tokens entirely

* worked through stake/type compile error

* work through a bunch of keeper errors

* worked through compile errors

* debugging tests

* resolve compilation error

* resolved types errors

* ...

* move inflation to pool type

* ...

* stumped problem

* Calculate newly issued shares, remove unnecessary pool arg from exchange rate calculation

* Rounding changed

* Update x/slashing tests for sdk.Rat BondedTokens

* testing fixes

* resolved test fixes

* cwgoes comments, changelog, lint

* cli bugfixes

* ..

* cli fixed

* spec update

* 'make format'

* cwgoes comments

* Increase test_cover parallelism
2018-07-13 21:46:14 +01:00
Rigel 2885ac586e Merge PR #1660: Redelegation doesn't subtract from liquid
* fix redelegation subtracting source coins
* changelog
* Add testcases for balance subtraction
* Move changelog entry
2018-07-13 01:38:35 +02:00
Christopher Goes a6cc85ae87
Merge PR #1619: R4R: Clearer staking logic 2018-07-12 19:39:51 +02:00
rigelrozanski 9eeb47517d cwgoes comments 2018-07-10 19:27:39 -04:00
Christopher Goes 75b4f4104a Merge branch 'develop' into joon/673-am-constructor 2018-07-11 00:57:46 +02:00
rigelrozanski 561eda3fc3 typo 2018-07-10 18:39:52 -04:00
rigelrozanski e8e5e8c600 bez updates 2018-07-10 18:36:57 -04:00
rigelrozanski c21e6a0642 Merge remote-tracking branch 'origin/develop' into rigel/clearer-staking-logic 2018-07-10 14:52:49 -04:00