Commit Graph
78 Commits
Author SHA1 Message Date
Dev Ojha 962b04d985 Merge PR #2285: simulation: Write logs on panic 2018-09-11 17:18:58 +08:00
Dev Ojha 2a49406e9b Merge PR #2284: Prevent create_empty_blocks=false 2018-09-11 17:15:38 +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
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 43ccbd4185 Merge PR #2281: Update to iavl 0.11.0 2018-09-09 23:13:17 +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
Dev Ojha 88a2ddeb25 Merge PR #2276: make simulation no longer generate new privkeys 2018-09-08 16:55:49 +08:00
Dev Ojha c800bc7a1a Merge PR #2274: simulation: Stop on SIGTERM 2018-09-08 16:29:24 +08:00
Dev Ojha a94219e062 Merge PR #2246: add script to make changelog links actual links 2018-09-07 00:54:59 -04:00
Dev Ojha 311c5f8ac6 Merge branch 'develop' into dev/benchmark_simulation 2018-09-01 15:14:46 -07:00
Dev Ojha 5643c0801b Merge branch 'develop' into dev/benchmark_simulation 2018-09-01 12:37:50 -07:00
Dev Ojha 946e24d7bf Merge PR #2152: Make CI not update the lock file
* CI: Make CI not update the lock file

We want CI to be running the lock in the repo, not generating a new one.
Linting now ensures that the lock file is up to date.

* Switch to Chris' comment

* Update pending to indicate this new command
2018-08-28 12:53:56 -04:00
Dev Ojha 2c3a4fc025 Merge branch 'develop' into dev/speedup_iavl_iterator 2018-08-27 08:05:09 -07: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
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
Dev Ojha d37de06762 decimal: Remove unnecessary allocation in bankers round chop (#2030)
This is done by making the function mutative. A non-mutative variant
is created for functions that depend on it being non-mutative.
2018-08-14 21:49:40 -04:00
Dev Ojha 4b13529f2d Merge pull request #2029: fix build error 2018-08-14 21:10:57 -04:00
Dev Ojha 9997ea2243 Merge PR #2016: dep: Fix error with scratch directory
If dep already sees its scratch directory (.vendor-new), dep ensure fails. This rm -rf's that directory so make get_vendor_deps doesn't fail.
2018-08-14 10:35:08 +02:00
Dev Ojha 1854430e7b makefile: Improve error message when LEDGER_ENABLED=True & no gcc (#2008)
Closes #2005
2018-08-13 20:42:38 +02: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
Dev Ojha 7ba479e57a Merge PR #1942: Gblue1223/basecoin fix 2018-08-08 17:32:33 +02:00
Dev Ojha 45a010bb2f Merge PR #1937: crypto/keys: Reduce bcrypt parameter in tests
Currently the crypto/keys tests take 2 minutes in circle CI.
A significant portion of this time is due to the bcrypt security
parameter. Changing it for these tests should reduce the time significantly.
2018-08-08 12:06:18 +02:00
Dev Ojha 10199c9159 Merge PR #1936: types: Reduce size of TestImmutability<Arith\U>Int tests
Currently they take ~1 minute on circle CI. There isn't a significant reason
for this to delay all our tests. This commit reduces the time spent on these
tests by a factor of 20.
2018-08-08 12:05:20 +02:00
Dev Ojha c9936b310a Merge PR #1863: link to the new doc website in the readme! 2018-07-28 19:54:37 +02:00
Dev Ojha 4c13b3a642 Merge branch 'develop' into dev/reuse_pubkeys 2018-07-26 09:47:57 -07:00
Dev Ojha 78c58bfa15 Merge PR #1836: docs: Fix build errors on latest tendermint 2018-07-26 10:19:48 +02:00
Dev Ojha bac91f7a7b Update to tendermint v0.22.6 (#1798)
* Update to tendermint v0.22.6

- This was cherry-picked and fixed from develop
- Updates all crypto imports for changes from v0.22.5
2018-07-25 17:13:30 -04: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
Dev Ojha 6d0da9bc2a Merge PR #1782: tools: Re-add get_tools to makefile 2018-07-21 00:12:21 +02:00
Dev Ojha 95191f5a51 Merge PR #1730: 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-18 20:25:55 +02:00
Dev Ojha 2c81f4973f Merge PR #1731: tools: remove rm -rf vendor/ from make get_vendor_deps
We now ensure that the Gopkg.lock is correct, and that the toml
doesn't depend on any branches, so this is no longer necessary.
2018-07-18 10:21:52 +02:00
Dev Ojha 6cfef64382 Merge PR #1732: tools: add make {get, update, check}_dev_tools
This is so that validators can have a more minimal install, but we
can still install linters for developers. (And any other future dev
tools)
2018-07-18 10:20:24 +02:00
Dev Ojha f88d64499d Merge PR #1705: baseapp: Allow alphanumerics in routes
Previously only alphabetic characters were allowed.
2018-07-17 23:11:34 +02:00
Dev Ojha c49a0df296 Merge branch 'develop' into svaishnavy/cosmos-sdk-cli 2018-07-16 14:16:24 -07:00
Dev Ojha 4b688992ba Merge pull request #1691: Table driven test indexes
* types: Switch table driven test error messages to new format

Make table driven tests in /types follow the format described in #1664

* typos / lower case errors

* lower case, not sentences

* lower case, not sentences
2018-07-16 14:42:28 -04:00
Dev Ojha a2047c5c81 Merge PR #1687: tools: Ensure Gopkg.lock is correct in linting
* tools: Ensure Gopkg.lock is correct in linting

This adds dep status to the lint process. Also fixes linting errors
that existed earlier. (not sure why they didn't show up on CI)

Closes #1574

* Update dep, use the lock file new dep version creates
2018-07-14 23:48:41 +02:00
Dev Ojha 98bc419d5e Merge PR #1659: crypto/keys: Allow one to export their private key
* crypto/keys: Allow one to export their private key
* Update changelog
2018-07-13 00:12:20 +02:00
Dev Ojha c57c6c43ce Merge branch 'master' into dev/fix_key_update_bug 2018-07-11 15:01:30 -07:00
Dev Ojha 6f8f222ef6 Merge pull request #1175: Randomized Module Testing
* WIP, ammend this later

* Add randomized testing suite

* Fix linting

* Auth invariant check, method to take in seed, way to run invariant check less frequently

* Fix merge conflicts

* Update bank

* Fix error on zero input by skipping it

* Add PeriodicInvariant Function

* Abstract verification / send functionality

* Fix liniting errors (PeriodicInvariant godoc)

* Update formatting and docs of randomization

* Minor refactor, update godocs

* Update godoc for mock

* Export TestAndRunTx

* fix cyclic dependencies

* Address PR most pr comments

* Fix merge conflict: Bring back codec.seal

* remove debug code, fix linting

* Fix merge conflicts
2018-07-06 16:19:11 -04:00
Dev Ojha be9ae47b0a Merge branch 'develop' into dev/add_async_flag 2018-07-05 20:06:52 -07: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
Dev Ojha a3ead36626 Merge branch 'develop' into dev/improve_send_error_msgs 2018-07-01 09:48:32 -07: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 fc3dd56281 Merge PR #1477: gaiacli: Make recovery allow new keys
* gaiacli: Make recovery allow new keys
* Move create key to a temporary method, restore create fundraiser key
2018-06-30 00:47:09 +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 47e4682d9f Merge PR #1415: x/stake: Limit the size of rationals from user input
* x/stake: Limit the size of rationals from user input

This commit sets the maximum number of decimal points that can be
passed in from messages. This is enforced on the validate basic of
MsgBeginUnbonding and MsgBeginRedelegation. The cli has been
updated to truncate the user input to the specified precision. This
also updates types/rational to return big ints for Num() and Den().

Closes #887

* Switch NewFromDecimal to error instead of truncating
2018-06-29 22:30:12 +02:00
Dev Ojha 0d28eda146 Merge PR #1463: docs: Fix dependencies, from monorepo merge
Closes #1456
2018-06-29 22:02:45 +02:00
Dev Ojha 94a3ce4c83 docs: Explain the expected return type within the store (#1452) 2018-06-29 13:45:11 -04:00
Dev Ojha 24a68d3bdf Merge PR #1451: crypto/keys: move checksum size into constants
Closes #1410
2018-06-29 09:52:32 +02:00
Dev Ojha b66a5cc853 Merge PR #1455: tools: Add make format
This adds a command to automatically fix gofmt and misspell errors.
2018-06-29 09:37:16 +02:00
Dev Ojha 337e87b228 Merge PR #1449: crypto/keys: make bcrypt security param a var
This is done so that the time spent on bcrypt during test cases
can be reduced. This change reduces the amount of time lcd tests
spend on bcrypt from 76% to 40%. (We need to reduce the number of
calls to bcrypt in a seperate PR, along with fixing other sources
of slowness)

Making the bcrypt security parameter a var shouldn't be a security issue:
One can't verify an invalid key by maliciously changing the bcrypt
parameter during a runtime vulnerability. The main security
threat this then exposes would be something that changes this during
runtime before the user creates their key. This vulnerability must
succeed to update this to that same value before every subsequent call
to gaiacli keys in future startups / or the attacker must get access
to the filesystem. However, with this same threat model (changing
variables in runtime), one can cause the user to sign a different tx
than what they see, which is a significantly cheaper attack then breaking
a bcrypt hash. (Recall that the nonce still exists to break rainbow
tables)
2018-06-29 09:22:06 +02:00
Dev Ojha b4e70e356e Merge PR #1453: Fix build error on develop 2018-06-29 09:06:49 +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
Dev Ojha 2755c66545 Merge PR #1424: tools: add unconvert linter
unconvert checks for unnecessary type conversions
2018-06-28 18:08:29 +02:00
Dev Ojha 6d9f07dfee tools: Add go vet as a linter (#1421)
* tools: add go vet

* tools: Add go vet as a linter
2018-06-27 20:32:06 -04:00
Dev Ojha 49f421db19 Merge PR #1332: benchmarks: Add benchmark for block time to bank module
* benchmarks: Add benchmark folder, and single benchmark for block time
* Move benchmark into module
* Fix merge conflict errors
* Fix spelling
* Add instructions to run benchmark
* Update auth_app_test.go
2018-06-28 00:33:56 +02:00
Dev Ojha 3dc2387124 Merge PR #1404: Add more context for errors when no address is provided 2018-06-27 19:39:57 +02:00
Dev Ojha d6df6b07d1 Merge PR #1388: types/int: Switch Int, Uint to use pointers internally
* types/int: Switch Int, Uint to use pointers internally
This reduces the amount of pointer refs & derefs.
* Fix nil pointers on unmarshalling amino
* Fix elusive bug in marshalling with unitialized big int
* Remove debug code
* Switch big.rat to use pointers internally
2018-06-27 03:10:34 +02:00
Dev Ojha 9f30a90980 Merge PR #1374: types/rat: Fix overflowing in printing
This now uses the underlying golang big.rat's string function,
instead of casting to num and den which are int64s.

Closes #1258
2018-06-26 05:03:55 +02:00
Dev Ojha 893bb4027d Merge PR #1377: types: remove GetMemo from Tx
This method is an unneccessary requirement on Tx. Auth casts the Tx
to StdTx, so the memo can be obtained in previous usecases from
StdTx. This also makes it more clear for when something is
implementing StdTx vs Tx.

Resolves #1375
2018-06-26 04:37:21 +02:00
Dev Ojha f2a83a07f9 Merge PR #1366: tests: add method to wait for n blocks to pass
Adds a helper method to tests/util.go for waiting for N blocks to
pass. This is useful for situations when you need to wait for
multiple blocks to pass, but don't know the current block number.
In general, this is safer than using "wait for height", since the
block height could have advanced further than expected while the
test was running.

Resolves remaining point in #1283
2018-06-25 23:53:48 +02:00
Dev Ojha 2e97baabf6 Merge PR #1358: Fix typos and gofmt files
* Fix typos
* gofmt -s files
* Add mispellings and gofmt checks to circle CI
* circleci: Install misspell in the linting step
2018-06-25 20:23:17 +02:00
Dev Ojha eb097c4c5c Merge PR 1361: server: Use differing defaults from tendermint
When loading the config file, this now checks in the sdk if the file
already exists. If not, it writes a config with different defaults.
The defaults differ by having the profiler listen address set,
and increasing the receive / send rates.
2018-06-25 18:33:07 +02:00
Dev Ojha 15bba919e2 Merge PR #1341: Switch gometalinter to stable
* Switch gometalinter to stable
* Delete empty folder
2018-06-22 22:08:50 +02:00
Dev Ojha 7f1169db4d Merge PR #1337: tools: Fix makefile install scripts
Previously, the install scripts weren't installing golint and gometalinter.
This commit fixes this, and installs tendermints linter, and the HEAD of
the gometalinter repository. Now make all should work.
2018-06-22 20:01:44 +02:00
Dev Ojha e2d23040a8 Merge PR #1325: Refactor Complete Setup to not take in a testing parameter
* Refactor Complete Setup to not take in a testing parameter
* Update changelog
2018-06-21 18:55:08 +02:00
Dev Ojha 0292a3b4d9 Merge PR #1291: Delete unused tests
* Tweak retry logic on waitForHeight
* Add HTTP retry logic to LCD tests
* Simplify waitForHeight changes
* Update changelog
* Add 'make test_cli_retry', 'make test_unit_retry'
* Run test_cli_retry in CI
* Delete unused tests
2018-06-20 00:29:54 +02:00
Dev Ojha 1f88b0bf8f Merge PR #1281: Don't run defers if it would result in an NPE
* Don't run defers if it would result in an NPE
* Nuke CircleCI caches
2018-06-16 09:49:55 +02:00
Dev Ojha bd362ee590 Merge PR #1090: Switch away from ephemeral ports
* Switch ports 4665x to be 2655x
This is done so the default ports aren't in the linux kernel's default ephemeral port range.
* Missed one doc file, change dep so gaiad works
* Update changelog, fix Gopkg.lock
2018-06-14 00:13:51 +02:00
Dev Ojha 0fa28cac3b Merge PR #1248: Sync to tendermint develop's latest revision 2018-06-13 23:44:41 +02:00
Dev Ojha 1c8dbd1087 Merge PR #1228: Update to Tendermint develop 2018-06-13 06:42:52 +02:00
Dev Ojha aaaa0e16a2 Merge PR #1195: gaiacli - Add error message for when account isn't found 2018-06-09 09:31:22 -07:00
Dev Ojha 9c4bbf7dfd Merge PR #1195: gaiacli - Add error message for when account isn't found 2018-06-09 08:40:22 +02:00
Dev Ojha 23fe4fab45 Fix typo 2018-06-05 09:25:27 -07:00
Dev Ojha fefd1d2d8b Merge PR #1075: Add more baseapp tests
* Complete TestCheckTx
* Add a test for delivering invalid transaction types
* Add test for loading of older versions
2018-06-05 06:55:02 +02:00