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
rigelrozanski
12932de40f
further cleanup, also reorg updateBondedValidators
2018-07-10 10:23:31 -04:00
rigelrozanski
61cbd12976
cleanup logic in updateValidator
2018-07-10 02:38:09 -04:00
ValarDragon
985037d2bd
Fix unformatted files
2018-07-09 22:08:01 -07:00
mossid
bc12880394
Merge pull request #1379 : Account constructor in AccountMaper
...
fix
fix democoin
fix tests
pass lint
last fix
apply requests
fix build failing
fix docs
2018-07-09 20:29:14 -07:00
Christopher Goes
5a56c3f03d
Merge PR #1575 : ready-for-review: sdk.AccAddress natively bech32
2018-07-10 04:18:23 +02:00
ValarDragon
99e91dd276
Add nolints on remaining functions
2018-07-09 16:16:43 -07:00
ValarDragon
17b5370c22
Continue fixing gocyclo errors
2018-07-09 16:08:35 -07:00
Sunny Aggarwal
896cd333f0
address comments
2018-07-09 16:06:05 -07:00
ValarDragon
2a419a3192
add helper to UpdateBondedValidatorsFull
2018-07-09 15:29:16 -07:00
ValarDragon
1433b61a92
Missed a min in slashing
2018-07-09 15:29:16 -07:00
ValarDragon
0c5358c267
Continue reducing code complexity:
...
* Adds a Min function to Int, and uses that in the slash function
* Adds a getHeight helper function to iavlstore
* Adds a splitPath function to baseapp
* Changes cyclo param from 10 to 11
2018-07-09 15:29:16 -07:00
Sunny Aggarwal
25d976feb4
works?
2018-07-09 01:47:38 -07:00
sunnya97
7ac220beb6
asdf
2018-07-09 00:59:51 -07:00
Sunny Aggarwal
50ed0fa1ae
asdf
2018-07-09 00:35:28 -07:00
Christopher Goes
51a50210e9
Merge PR #1565 : Validator Cliff Updates
2018-07-07 02:50:54 +02:00
rigelrozanski
d36dda0267
address cwgoes comments
2018-07-06 20:29:39 -04:00
Christopher Goes
3630cde63e
Address PR comments
2018-07-07 02:20:37 +02:00
Christopher Goes
dbe7744b14
Simplify test slightly
2018-07-07 02:02:46 +02:00
rigelrozanski
062a683d11
completely fix dem tests
2018-07-06 20:00:33 -04:00
Christopher Goes
eafd1e492f
Update comments
2018-07-07 01:53:40 +02:00
rigelrozanski
37a5f2fd4c
fix count in UpdateBondedValidators to not include revoked validators
2018-07-06 19:53:07 -04:00
Christopher Goes
c456daae25
Merge remote-tracking branch 'origin/develop' into cwgoes/zero-power-should-not-be-bonded
2018-07-07 01:49:46 +02:00
Christopher Goes
ad3e123c82
Ignore slashes on nonexistent validators; update testcases
2018-07-07 01:49:17 +02:00
rigelrozanski
2bf0b842fa
Merge remote-tracking branch 'origin/develop' into rigel/a-validator-on-a-cliff
2018-07-06 18:04:49 -04:00
Christopher Goes
723e057d95
Merge pull request #1566 : Fix validator power decrease bug
...
* Demonstrative testcase
* Update when decreasing but still bonded
* Only update when decreasing, not when equal
* Cleanup conditional; changelog
* Clarify comments
* Simplify conditional
2018-07-06 18:00:00 -04:00
rigelrozanski
926a6160c9
rearrage cliff tests to reveal new problem
2018-07-06 03:04:01 -04:00
Christopher Goes
e8b841080d
Update .Slash() and testcase
2018-07-05 20:21:56 +02:00
Christopher Goes
b92f802835
Demonstrate failing testcase
2018-07-05 20:10:05 +02:00
rigelrozanski
aed3a87366
address cwgoes comments
2018-07-04 17:07:06 -04:00
rigelrozanski
f152b64952
Merge remote-tracking branch 'origin/develop' into rigel/no_keys_in_state_value
2018-07-04 14:29:12 -04:00
rigelrozanski
a2f7b582df
validators smaller values stored
2018-07-04 01:32:49 -04:00
rigelrozanski
04921b9ebd
ubd and red more limited values
2018-07-04 00:29:02 -04:00
rigelrozanski
199c1e81eb
delegations new key format ported
2018-07-03 23:44:54 -04:00
Rigel
cae6b40221
Merge pull request #1467 : staking index keys don't hold values
...
* docs: Explain the expected return type within the store (#1452 )
* bug somewhere here
* ...
* ...
* fix appending over key
* keys cleanup
* changelog
* remove some junk
* address bucky comments - rearrange appends
* hard code address length
2018-07-03 19:15:48 -04:00
Christopher Goes
5c939cfab7
Demonstrative testcase, export GetCliffValidator
2018-07-04 00:08:37 +02:00
rigelrozanski
4f0c7d8746
address bucky comments - rearrange appends
2018-07-03 13:37:17 -04:00
Rigel
2a2f5db450
Merge branch 'develop' into rigel/stake-spec-compliance
2018-07-02 21:03:46 -04:00
rigelrozanski
6f3b4c1805
keys cleanup
2018-07-02 20:58:22 -04:00
rigelrozanski
96f2d2983b
Merge branch 'rigel/stake-spec-compliance' of https://github.com/cosmos/cosmos-sdk into rigel/stake-spec-compliance
2018-07-02 20:08:55 -04:00
Ethan Buchman
aa243565ce
fix appending over key
2018-07-02 20:09:57 -04:00
rigelrozanski
2355e5ae6e
...
2018-07-02 20:05:52 -04:00
rigelrozanski
b3d6a59c61
...
2018-07-02 18:58:52 -04:00
rigelrozanski
ab4661f88b
bug somewhere here
2018-07-02 18:16:47 -04:00
Ethan Buchman
f78f30c67a
update for tm v0.22.0. tmlibs->tendermint/libs
2018-07-02 16:34:06 -04:00
Rigel
f1937bc0e7
Merge branch 'develop' into rigel/stake-spec-compliance
2018-07-02 12:06:20 -04:00
Dev Ojha
6a864923fa
types: Rename rational.Evaluate to rational.Round ( #1487 )
...
* rational.Evaluate -> rational.RoundInt64
* rational.EvaluateInt -> rational.RoundInt
This done to improve clarity of the code.
Closes #1485
2018-07-02 11:57:33 -04:00
Christopher Goes
3654579ea7
Merge PR #1278 : Slashing v2
...
Implement semifinal Gaia slashing spec (#1263 ), less #1348 , #1378 , and #1440 which are TBD.
2018-06-30 05:34:55 +02:00
Dev Ojha
955a0c9af7
Switch asserts to require ( #1483 )
...
* meta: Switch the majority of asserts to require
Switch most assert statements to require, to ease debugging.
Closes #1418
* Fix imports
2018-06-30 03:10:15 +02:00
Dev Ojha
097dd8a164
tools: Add unparam linter ( #1443 )
...
* tools: Add unparam linter
unparam detects unused parameters in functions, and a parameter to
a function which only ever takes on one value. The latter is an
indication that more tests are required.
There are many nolints in this PR, as I believe that writing tests
to fix alot of these situations is out of scope for this PR / it
will be changed in future commits. There are some nolints for
when we have to comply to normal api's.
* crypto/keys no longer used by x/gov/client/rest/rest.go
2018-06-29 18:22:24 -04:00
Dev Ojha
94a3ce4c83
docs: Explain the expected return type within the store ( #1452 )
2018-06-29 13:45:11 -04:00
Christopher Goes
59aadf42aa
Ledger integration ( #931 )
...
Merges the keybase and Ledger code from go-crypto (which is no more) into the SDK
Adds support for Ledger into gaiacli
Cherry-picks updated error handling from #1158
2018-06-29 02:54:47 +02:00
Dev Ojha
ac3adff1e8
Merge PR #1438 : Tools: Add errcheck linter
...
This linter ensures that all errors are checked.
This is disabled in the client directories, since its not needed on
those writes
2018-06-29 00:52:10 +02:00
Dev Ojha
3e14868bd6
Merge PR #1429 : tools: Add ineffassign linter
...
* tools: Add ineffassign linter
This errors on assignments that don't actually do anything. i.e.
x, err := myFunc(1)
y, err = myFunc(2)
This will call out that the first function's call error was never
used.
* Fix makefile, add misspell to makefile
2018-06-28 19:12:02 +02:00
Rigel
6f140d7296
Merge PR #1119 : Unbonding, Redelegation
...
* stake/fees spec updates
* staking overview.md revisions, moving files
* docs reorganization
* staking spec state revisions
* transaction stake updates
* complete staking spec update
* WIP adding unbonding/redelegation commands
* added msg types for unbonding, redelegation
* stake sub-package reorg
* working stake reorg
* modify lcd tests to not use hardcoded json strings
* add description update
* index keys
* key managment for unbonding redelegation complete
* update stake errors
* completed handleMsgCompleteUnbonding fn
* updated to use begin/complete unbonding/redelegation
* fix token shares bug
* develop docs into unbonding
* got non-tests compiling after merge develop
* working fixing tests
* PrivlegedKeeper -> PrivilegedKeeper
* tests compile
* fix some tests
* fixing tests
* remove PrivilegedKeeper
* get unbonding bug
* only rpc sig verification failed tests now
* move percent unbonding/redelegation to the CLI and out of handler logic
* remove min unbonding height
* add lcd txs
* add pool sanity checks, fix a buncha tests
* fix ante. set lcd log to debug (#1322 )
* redelegation tests, adding query functionality for bonds
* add self-delegations at genesis ref #1165
* PR comments (mostly) addressed
* cleanup, added Query LCD functionality
* test cleanup/fixes
* fix governance test
* SlashValidatorSet -> ValidatorSet
* changelog
* stake lcd fix
* x/auth: fix chainID in ante
* fix lcd test
* fix lint, update lint make command for spelling
* lowercase error string
* don't expose coinkeeper in staking
* remove a few duplicate lines in changelog
* chain_id in stake lcd tests
* added transient redelegation
* 'transient' => 'transitive'
* Re-add nolint instruction
* Fix tiny linter error
2018-06-27 04:00:12 +02:00