Commit Graph

336 Commits

Author SHA1 Message Date
Christopher Goes 78edba82c0
Merge PR #1648: Write moniker on 'gaiad init' and 'gaiad init gen-tx'
* Write moniker on 'gaiad init' and 'gaiad init gen-tx'
* Update changelog
* Add comment to second instance
* Checkout Gopkg.lock
2018-07-13 19:16:31 +02:00
Jeremiah Andrews 43b9cc6df0 Merge PR #1533: Pruning Cleanup 2018-07-13 03:20:26 +02:00
Jordan Bibla 28da104e1a
Merge branch 'master' into jordan/cosmos-docs 2018-07-12 20:01:27 -04:00
Alexander Bezobchuk 5983a07fb6 Merge PR #1599: Implementation of TraceKVStore 2018-07-13 01:58:51 +02: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
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
Jordan Bibla 06967eff55
Merge branch 'master' into jordan/cosmos-docs 2018-07-12 17:05:35 -04:00
Jordan Bibla 33831117e7 updated changelog 2018-07-12 17:04:43 -04:00
Christopher Goes 8b9f5396de Move changelog entry 2018-07-12 19:45:09 +02:00
Fabian Weber c3bbb37df3 changelog 2018-07-12 19:44:31 +02:00
Christopher Goes a6cc85ae87
Merge PR #1619: R4R: Clearer staking logic 2018-07-12 19:39:51 +02:00
Christopher Goes 432c109f06
Merge PR #1627: ready-for-review: Gov modules enums marshalJSON to String 2018-07-12 19:39:15 +02:00
Dev Ojha c57c6c43ce
Merge branch 'master' into dev/fix_key_update_bug 2018-07-11 15:01:30 -07:00
Ethan Buchman e56379821c update changelog 2018-07-10 23:57:48 -04: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
Sunny Aggarwal cba7fd7ee8 gov enums marshal to String 2018-07-10 17:59:07 -07:00
Aditya b195c556e2 Merge pull request #1600: Friend can create validator and delegate on behalf of genesis validator
* Added msg and handling for surrogate create validator

* changelog and error fix

* fix changelog

* Remove unnecessary msg by combining into CreateValidator

* Refactor

* Appease linter

* Added onbehalfof functionality in client

* fmt

* Added gaia onbehalfof test

* Update test for onbehalfof validator creation

* fix test

* Fix flag error

* Add app test

* fmt

* Fixed signer for onbehalfof createvalidator

* Fix error msg

* Simplify test

* fmt
2018-07-10 20:16:37 -04:00
Ethan Buchman 9afb89491c
Merge pull request #1618 from cosmos/release/v0.20.0
Release/v0.20.0
2018-07-10 20:15:58 -04:00
Jeremiah Andrews 338c7b5e4c Merge pull request #1603: Adding option functions to NewBaseApp
* adding option functions to baseapp constructor

* Added simple test and changed godoc

* remove unrelated changelog updates
2018-07-10 15:10:59 -04:00
rigelrozanski c21e6a0642 Merge remote-tracking branch 'origin/develop' into rigel/clearer-staking-logic 2018-07-10 14:52:49 -04:00
rigelrozanski 053f4e955b changelog 2018-07-10 14:25:56 -04:00
Ethan Buchman d226f1d62e changelog, version 2018-07-10 12:20:29 -04:00
Christopher Goes 0ce2732660
Merge branch 'develop' into rigel/genesis-no-zero-power 2018-07-10 07:25:13 +02:00
Christopher Goes 06be53a983
Merge PR #1614: fix cli delegations unmarshalling 2018-07-10 07:23:56 +02:00
Ethan Buchman af478a94bd
Merge branch 'develop' into fedekunze/gov_module_docs 2018-07-10 00:29:39 -04:00
Ethan Buchman 7ba37a7ce5
Merge branch 'develop' into dev/update_changelog 2018-07-10 00:17:26 -04:00
Rigel b60fcb68d6
Merge branch 'develop' into rigel/genesis-no-zero-power 2018-07-10 00:15:10 -04:00
Rigel f0a6ade1a6
Merge branch 'develop' into rigel/fix-unbond-percent 2018-07-10 00:13:39 -04:00
rigelrozanski ce3fd47f9d changelog 2018-07-10 00:12:50 -04:00
Ethan Buchman 7ba52e8d32
Merge pull request #1609 from cosmos/rigel/two-val-pubkey
prevent create-validator with duplicate pubkey
2018-07-09 23:06:53 -04:00
rigelrozanski 74a9e33533 changelog 2018-07-09 22:52:34 -04:00
Christopher Goes 5a56c3f03d
Merge PR #1575: ready-for-review: sdk.AccAddress natively bech32 2018-07-10 04:18:23 +02: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
rigelrozanski f8b625b391 Merge pull request #1609: prevent create-validator with duplicate pubkey 2018-07-09 20:51:12 -04:00
Sunny Aggarwal eaf49a2dfb
Merge branch 'develop' into sunny/sdkAddress_bech32 2018-07-09 16:07:43 -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
Aleksandr Bezobchuk 7fc2363191 Merge pull request #1601: Fix LCD rest-server Command 2018-07-09 15:56:08 -04:00
Federico Kunze 4794870753 Update CHANGELOG.md 2018-07-09 11:10:56 -04:00
Sunny Aggarwal 9f2f47a0a5 changelong 2018-07-09 02:15:36 -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
Christopher Goes 51a50210e9
Merge PR #1565: Validator Cliff Updates 2018-07-07 02:50:54 +02:00
rigelrozanski f08f02d67d changelog 2018-07-06 20:04:01 -04: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 3805c35aff Merge pull request #1582: Simplify auth.StdSignMsg fields, add testcase
* Simplify auth.StdSignMsg

* Add StdSignMsg.Bytes() test
2018-07-06 19:26:22 -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
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
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
Christopher Goes 0c47e6ffdf
Merge PR #1568: cli: deprecate --name in favor of --from 2018-07-06 04:37:45 +02:00
Christopher Goes 1f3ab377ae
Merge PR #1570: stake/client: Fix panic on if validator doesn't exist 2018-07-06 04:26:39 +02:00
Liamsi 05670ea9c0 Merge remote-tracking branch 'remotes/origin/develop' into sort_getsignbytes 2018-07-06 02:52:50 +01:00
Liamsi fe04faf194 Merge branch 'sort_getsignbytes' of https://github.com/Liamsi/cosmos-sdk into sort_getsignbytes 2018-07-06 02:38:06 +01:00
Liamsi 1fabaee2dd update changelog 2018-07-06 02:37:55 +01: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
Ethan Buchman 586ab68b2a
Merge pull request #1490 from cosmos/dev/improve_send_error_msgs
gaiacli: Improve error messages for `send` command
2018-07-05 17:22:16 -04:00
Christopher Goes fef2ff0fb9
Merge PR #1538: CLI tests no longer reset local environment state
tests: cli_tests no longer call `unsafe_reset_all` on local env
2018-07-05 23:09:26 +02:00
Christopher Goes 6fa122804d Update changelog 2018-07-05 20:26:50 +02:00
rigelrozanski 319358c587 changelog 2018-07-04 14:34:55 -04: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
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
Fabian a118229fcb Fabo/Switch key creation REST output to bech32 address (#1522)
* switch new key output to bech32
* changelog
* fixed tests
* Update LCD TestKeys failure message
2018-07-03 21:31:15 +02:00
Christopher Goes 3f438cdbc2
Merge PR #1511: Prevent unrevoked validators from unrevoking
* Prevent unrevoked validators from unrevoking
* Update changelog
* Update previously incorrect test
* 'make format'
2018-07-03 07:47:40 +02:00
Ethan Buchman 498aed433e update changelog 2018-07-02 16:48:56 -04:00
Ethan Buchman 7a14982901 some changelog updates 2018-07-02 14:47:58 -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
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
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
Rigel 2f508f5b28 Merge PR #1422: Add Contributing Guidelines
* Merge pull request #1422: Add Contributing Guidelines
* cwgoes comments
2018-06-30 04:04:29 +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 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
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
David Kajpust 090aaf8137 Merge #1412: Add async flag and functionality to gaiacli send
* added async functionality to gaiacli
* addressed requested changes, updated changelog
2018-06-28 21:23:47 +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
Sunny Aggarwal 4effa6f8d4 Merge PR #1357: RESTful governance endpoints
* get deposit rest endpoint
* query proposals
* changelog
* fixed commented out headers
* fixed undeterministic tests
* increase circle test timeout
* MustBech32ifyAcc
* asdf
2018-06-28 01:49:59 +02:00
Aditya 9b4838d96e Merge PR #1367: Set ChainID on InitChain
* Added chain-id to context in InitChain
* Fix bug in test
* fmt
* Appease linter
* updated changelog
* Remove chainID hack
* setCheckState in InitChain
* Fix bug
* Fix initialization errors in example tests
* Initialize app tests with default stake genesis
* fix comments
2018-06-28 00:45:10 +02: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
Joon 6018e719d2 Merge PR #1069: Oracle Module
fix prefixstore iterator
in progress
fix mock validator
fix NewContext
add to changelog
apply requests
fix mock
2018-06-27 19:21:12 +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
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
Christopher Goes 8bdf06b9f6 Remove Viper from ante handler 2018-06-26 23:45:31 +02:00
7768 4f57a765ad Merge PR 1354: CLI: Show fractional in human-readable format
Fix https://github.com/cosmos/cosmos-sdk/issues/1353

before:
```
Shares: Status Bonded,  Amount: -6508168128760126341/-3308135364330552608
Delegator Shares: -6508168128760126341/-3308135364330552608
```
after:
```
Shares: Status Bonded,  Amount: 2.0000000000
Delegator Shares: 2.0000000000
```
2018-06-26 19:26:12 +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
Christopher Goes b098c0da74
Merge PR #1344: Swap parallelism: 4 to parallelism: 1 2018-06-22 22:58:48 +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
Sunny Aggarwal c3c570898d Merge PR #1340: Reverted ChangePubKey
* removed msgChangePubKey
* changelog
* removed setPubKey
2018-06-22 21:53:24 +02:00
Geet Kumar 17e5a48b65 Merge PR #1334: democli: fix account query
* democli: fix query account
* Update changelog
2018-06-22 20:50:36 +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
Sunny Aggarwal dc2c8f900b Merge PR #1168: Governance MVP 2018-06-22 02:19:14 +02:00
Aditya f049a56376 Merge PR #1266: Multiple messages
* Started work on multiple msgs, types and x/auth tests pass
* Fix issues in x, examples, and baseapp
* Added baseapp tests for multiple msgs
* Documentation fixes
* Fix baseapp tests with sdk.Int
* Modify test
* Transaction handling is now atomic
* Fix test comment
* Minor doc fixes and code cleanup
* Added baseapp result changes
* Use address in validator update accumulation
* Started work on multiple msgs, types and x/auth tests pass
* Fix issues in x, examples, and baseapp
* Added baseapp tests for multiple msgs
* Documentation fixes
* Fix baseapp tests with sdk.Int
* Modify test
* Transaction handling is now atomic
* Fix test comment
* Minor doc fixes and code cleanup
* Added baseapp result changes
* Use address in validator update accumulation
* Added ante tests for multisigner
* Remove validatorUpdates from tx result
* Better error logs
* Put Memo in StdSignBytes and formatting
* Updated changelog
2018-06-22 00:05:25 +02:00