Commit Graph
75 Commits
Author SHA1 Message Date
ValarDragon fb235724d5 Fix unrelated lint error. 2018-09-07 22:39:26 -07:00
ValarDragon e812919649 Rename coinKeeper -> bankKeeper
Closes #2267
2018-09-07 22:34:32 -07:00
ValarDragon ea01b91958 baseapp: Remove baseapp.SetTxDecoder()
Closes #1441
2018-09-03 22:53:07 -07:00
ValarDragon 9b26ccfa76 tools: Remove gocyclo
We can investigate re-introducing our own fork #postlaunch.
Closes #2211
2018-09-03 21:31:20 -07: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
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
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
ValarDragon e64c6da6f2 cleanup goleveldb dirs 2018-08-30 23:42:12 -07: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 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
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
ValarDragon f6cb4d4fb6 Speedup IAVL iterator by removing defers when unneeded.
Note each defer occurs a 30ish ns overhead here, which is significant
for IAVL iteration. We were previously using around 3-4 defers. (2 in
next, one in Valid, one in Key, one in Value) This slows down the entire
application quite significantly, as we require fast iteration.
2018-08-24 10:26:02 -07:00
ValarDragon 165fdf4a07 (squash this) Add PR ref in changelog 2018-08-13 18:26:16 -07: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
ValarDragon f04deea358 CI: Reduce log output
This commit makes it such that circle CI only shows the module whose
tests it is currently running in the log, unless a test fails. For each
failing test, it will display all of the log output. This is done to make
our log output far more scrollable. We lose no information in debugging.
2018-07-29 14:12:38 -07: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
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
ValarDragon 496c75c35a tests: Move cli tests behind a build flag
This is done to make go test ./... work for people using the sdk as a sdk.
Closes #1806
2018-07-25 13:47:00 -07:00
ValarDragon 6a742c8773 client: On any tx that broadcasts a tx, check that acct exists
This subverts the really hard to decipher ABCI error message, with
a nice user friendly error message.
2018-07-20 00:23:08 +02:00
ValarDragon 2b72e3377a Clarify when to use table driven tests 2018-07-16 17:24:07 -07:00
ValarDragon 1edfb89423 contribution guide: Add guidelines for testing
Indicates to use require's and asserts, and to use table driven
tests, with error messages as described in #1664.

Closes #1664
2018-07-16 12:30:54 -07:00
ValarDragon fc4c563e29 keys: Keybase.Update no longer asks for newpass if oldpass is incorrect
Achieved by refactoring the parameter newpass as follows:

* (newpass string) -> (getNewpass func() (string, error))

Closes #1629
2018-07-10 20:00:22 -07:00
ValarDragon 985037d2bd Fix unformatted files 2018-07-09 22:08:01 -07:00
ValarDragon 39fa70b84a changelog: Reorder items in the changelog
Additionally I've added the following entries:

* Added MinInt and MinUint functions

     * The keys sub-module is now in the sdk

* [keys] New keys now have 24 word recovery keys, for heightened security

* \#872  - recovery phrases no longer all end in `abandon`
2018-07-09 19:07:35 -07:00
ValarDragon 30c4abb394 Fix golint error 2018-07-09 16:27:51 -07:00
ValarDragon 472e168a72 Minor refactor to reduce complexity, add nolint 2018-07-09 16:24:20 -07: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
ValarDragon 592419c83a Reduce code complexity of testnet command 2018-07-09 15:29:16 -07:00
ValarDragon e906272ca0 Reduce complexity of baseapp query 2018-07-09 15:29:16 -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
ValarDragon 2b5ccdbf87 Reduce code complexity in AnteHandler, and GetExternalIP 2018-07-09 15:29:16 -07:00
ValarDragon a768543d92 tools: Add code complexity linter, gocyclo
Gocyclo is a code complexity linter. It uses cyclomatic complexity.
Cyclomatic complexity essentially measures the number of different
paths code could go through. (The conditional in a for loop counts
as adding one path) It looks at this on a per-function level. The
idea that this would be enforcing is that if there are too many
different paths code can go through in a function, it needs to be
better split up. (A function with too many code paths is hard to
reason about)

The complexity which we want the linter to start failing on is
configurable. The default is 10. Change the "Cyclo" parameter in
`tools/gometalinter.json` to try other values.
2018-07-09 15:29:16 -07:00
ValarDragon 8603eb2f62 Remove mismatch in specification section (for now) 2018-07-09 11:36:43 -07:00
ValarDragon 611e4faa3a gaiad: Genesis txs now use bech32 encoding of address and pubkey
* `gaiad init gen-tx` makes the outputted file use bech32, with acct prefix
* `gaiad init --gen-txs` only reads bech32 with acct prefixes

The reason for using the account prefix is that in principle you could
have genesis transactions for non-validators.

Closes #1475
2018-07-07 14:23:19 -07:00
ValarDragon 3a7a19deec Address comments 2018-07-07 12:44:06 -07:00
ValarDragon 08e98d3124 tools: Switch gometalinter to use a config file 2018-07-07 12:00:06 -07:00
ValarDragon eb8b85c0c9 Add SECURITY.MD
Closes #1267
2018-07-07 11:28:03 -07:00
ValarDragon 12c1eb4d31 gov/client: rename submitproposal to submit-proposal
It is standard in the sdk to use a dash for subcommands / flags
with multiple words. This makes submitproposal comply with that.
2018-07-05 22:22:50 -07:00
ValarDragon c708c799fd Add print-response flag 2018-07-05 22:19:50 -07:00
ValarDragon 8e20200abe Add --json flag 2018-07-05 20:42:41 -07:00
ValarDragon 2197a9598b Merge branch 'dev/add_async_flag' of github.com:cosmos/cosmos-sdk into dev/add_async_flag 2018-07-05 20:19:39 -07:00
ValarDragon 8857b69d02 Use async flag directly from context 2018-07-05 20:15:40 -07:00
ValarDragon 27a31cae44 add Async to context 2018-07-05 20:05:17 -07:00
ValarDragon 6f94dd64c0 cli: Add async flag to all broadcasting txs
closes #1436
2018-07-05 19:15:37 -07:00
ValarDragon 8fc6e68511 stake/client: Fix panic on if validator doesn't exist
Closes #1505
2018-07-05 18:24:02 -07:00
ValarDragon 0b10430d65 gaiacli, keys: Improve error message when deleting non-existant key 2018-07-05 18:03:41 -07:00
ValarDragon bf8cde1d3a cli: deprecate --name in favor of --from 2018-07-05 17:24:02 -07:00
ValarDragon 23414868a1 Remove --owk flag 2018-07-05 10:14:12 -07:00
ValarDragon 72aac78a39 Set home-client in gaiad init 2018-07-05 09:51:20 -07:00
ValarDragon c4c1c626c9 Add --owk flag to gaiad init 2018-07-05 09:47:04 -07:00
ValarDragon 492272c5e6 cli_test: Un-abstract common code
This is done to enhance readability, so one can easily reproduce
the functionality in the command line.
2018-07-05 09:08:45 -07:00
ValarDragon 640bccf8f7 Switch using user home to a tmp directory 2018-07-04 13:09:59 -07:00
ValarDragon b0e6c76554 Remove redundant comment, switch to MustBech32ify 2018-07-04 08:20:44 -07:00
ValarDragon e41f2bc8b5 tests: cli_tests no longer reset call unsafe_reset_all on local env
* Makes all cli tests use .test_gaiad, .test_gaiacli instead of the
	same directories as the default binaries
* Abstracts alot of the functionality for setting up the server into
	a single function / file-wide constants. This is to reduce
	code duplication, especially since some of this functionality
	depends on each test setting up the keys in the same way.

Closes #1461
2018-07-03 23:33:24 -07:00
ValarDragon 819eedd281 gaiacli: Improve error messages for send command
Now provides better error messages when the account you're sending
from has no money, or it has insufficient funds. (Avoids making
the user interpret ABCI errors)

closes #1489
2018-06-30 01:32:01 -07:00
ValarDragon 508af391fe docs: Add disclaimer for install scripts 2018-06-05 09:25:27 -07:00
ValarDragon 40df73adc2 docs: Add BSD install script 2018-06-05 09:25:27 -07:00
ValarDragon 0371109039 Register crypto on amino codecs, update changelog 2018-05-31 12:55:21 -07:00
ValarDragon e9545d69ed Switch the default modules to use wire.codec's MarshalJSON instead of json.Marshal 2018-05-31 11:51:15 -07:00
ValarDragon 2d87563856 Change to go-wire UnmarshalJSON for bank transactions
The bank module now uses it's own codec to encode and decode Bank Msgs
into JSON.
2018-05-28 11:26:43 -07:00