Commit Graph

186 Commits

Author SHA1 Message Date
Christopher Goes 17983460b8
Merge PR #2219: Update to Tendermint 0.24 (except NextValSet offsets) 2018-10-03 17:48:23 +02:00
Dev Ojha 9410b6287c Merge PR #2425: simulation: Make bank testing auth configurable 2018-10-02 14:01:18 +02:00
Dev Ojha cb86efa054 Merge PR #2376: auth: Don't recalculate mempool fees for every msg signer, misc. cleanup
This PR begins improving the godocs for the auth module, and begins cleaning
up the Ante handler.

Additionally we previously calculated if the fee was sufficient for the tx
on every single signer. This is now refactored to be more efficient, and have
a better logical flow. No changelog entry as this is new to this release.
2018-09-27 02:34:01 +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
Jae Kwon c31c0d2822 Merge remote-tracking branch 'origin/dev/simulation_remove_pubkey_ops' into develop 2018-09-24 21:29:41 -07:00
Dev Ojha 8774adc7de Merge PR #2375: Add an example for the size of a transaction
* Add an example for the size of a transaction

This shows that the size of a send tx from 1 input to 1 output is 173 bytes
This is good information to have, though we need to find the correct place
to put it.

* fix lint
2018-09-24 16:08:43 -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
Jessy Irwin 9b6b00689c Merge PR #2361: Remove IBC entrypoints 2018-09-20 22:51:14 +08:00
Dev Ojha 9cf40e2df5 Merge PR #2337: Update revoked -> jailed in the docs, and in minor places within cmd 2018-09-15 02:52:23 +08: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
Dev Ojha e5e7c4fa0f Merge PR #2303: simulation: Add weighted operation 2018-09-12 15:16:52 +08:00
Dev Ojha 962b04d985 Merge PR #2285: simulation: Write logs on panic 2018-09-11 17:18:58 +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
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
Dev Ojha 8b8028e0dd Merge PR #2280: genesis: Ensure no dup validators, or bonded and revoked validators 2018-09-09 23:23:51 +08:00
Dev Ojha 1a700206b8 Merge PR #2275: genesis: Ensure there are no duplicate accounts in genesis file
This also contains a light refactor of genesis state parsing, so that
the tests file didn't duplicate a lot of this code.
2018-09-08 17:29:34 +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
ValarDragon e812919649 Rename coinKeeper -> bankKeeper
Closes #2267
2018-09-07 22:34:32 -07:00
Christopher Goes 44b695c3c0
Merge PR #2226: simulation: Make governance simulation use future operations to schedule votes 2018-09-07 19:01:33 +02:00
ValarDragon 5ed24e44d2 simulation: Minor changes
Now that we properly initialize governance, a ton of governance slashing
doesn't happen in the first few blocks. Because of this, we can run through
blocks in the range (0,200) quite rapidly. This PR acknowledges that and
increases many of the default block heights.
2018-09-03 19:15:51 -07:00
ValarDragon 753e58bac0 simulation: Make governance simulation use future operations to schedule
votes.

In a future PR, functionality to test that slashing occured properly should be added.
2018-09-03 18:30:18 -07:00
ValarDragon 8a452b940a simulation: display db size at end of simulation, add makefile entries 2018-09-01 19:09:27 -07:00
Dev Ojha 5643c0801b Merge branch 'develop' into dev/benchmark_simulation 2018-09-01 12:37:50 -07:00
ValarDragon 3c2100793e Address @cwgoes comments 2018-09-01 12:32:24 -07:00
ValarDragon 75025720a3 simulation: Initialize governance properly 2018-08-31 21:57:33 -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
ValarDragon e64c6da6f2 cleanup goleveldb dirs 2018-08-30 23:42:12 -07: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 a69725d40d Add method to benchmark with commits 2018-08-30 11:47:32 -07:00
ValarDragon 4be69077fe Fix cyclomatic complexity, add ability to use GoLevelDB 2018-08-30 11:43:56 -07:00
ValarDragon 03d2f7331b Remove code duplication 2018-08-30 00:28:15 -07:00
ValarDragon 46bbada4ee simulation: Add benchmarking 2018-08-29 23:02:15 -07:00
Christopher Goes 5f347e0d9a
Merge PR #2166: simulation: Allow operations to specify future operations 2018-08-28 14:53:45 +02: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
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
ValarDragon 4451755600 simulation: rename TestAndRunTx to Operation, make timestamp randomized 2018-08-26 19:40:53 -07:00
Christopher Goes 879f78cfc0 Rename revoke(d) to jail(ed) 2018-08-22 17:56:13 +02:00
Christopher Goes 733559035b
Merge PR #2098: Correctly read/write governance state 2018-08-22 15:08:48 +02:00
Sunny Aggarwal 1311117658 added to gov rest 2018-08-22 00:12:44 -07:00
Christopher Goes 800ac2844e validator.Operator, sdk.Dec 2018-08-20 17:10:43 +02:00
Christopher Goes 87ca812b0b Correctly read/write governance state 2018-08-20 12:47:04 +02:00
Ethan Buchman af73b885e7 Merge branch 'develop' into bucky/merge-master 2018-08-19 16:24:45 -04: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 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
ValarDragon 0d41026a0a Rename transient store key to be a unique key.
This caused an error with non-determinism between nodes with same
gaiad version and genesis.
2018-08-13 15:13:37 -07:00