* Update docs/sdk/clients.md
* organize ADR directory like tendermint
* docs: move spec-proposals into spec/
* remove lotion, moved to website repo
* move getting-started to cosmos-hub, and voyager to website
* docs: move lite/ into clients/lite/
* move introduction/ content to website repo
* move resources/ content to website repo
* mv sdk/clients.md to clients/clients.md
* mv validators to cosmos-hub/validators
* move deprecated sdk/ content to _attic
* sdk/modules.md is duplicate with modules/README.md
* consolidate remianing sdk/ files into a single sdk.md
* move examples/ to docs/examples/
* mv docs/cosmos-hub to docs/gaia
* Add keys/accounts section to localnet docs
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.
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`
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.
* `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
* Demonstrative testcase
* Update when decreasing but still bonded
* Only update when decreasing, not when equal
* Cleanup conditional; changelog
* Clarify comments
* Simplify conditional
* 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
* 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
* 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
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
* 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
* 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
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
* 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
* 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
* 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
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
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
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.
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.
* 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
* 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
* update to tm v0.19.6
* update tm to 0.17.4
* update for tm v0.19.9
* update godep
* Merge PR #1195: gaiacli - Add error message for when account isn't found
* Add --gas flag to specify gas limit for a transaction
* lawl viper
* version and changelog
* add cmd/gaia/testnets folder to deprecate cosmos/testnets repo
* cmd/gaia/testnets: update status.md with recent history
* cmd/gaia/testnets: update versions, use a working seed
* readme points to testnet folder
* add fixes from billy
* fix status.md
* seed->seeds
* readme improvements
add link to official faucet, remove sequence from cmds
readme improvements
wording improvements and simplifications
add link to cosmos explorer
remove instances of candidate
add apostrophe
small fixes
improve the installing software section
fixes based on feedback
add note about querying an empty account
remove panic note
update introduction
add full cp path for copying genesis.json
update moniker warning
remove redundant sections
add error message when querying empty account
don't need a link to golang.org
link to sections, better section names
fix section link
reorganize sections
add h3s
remove & symbol
add whitespace
update h3 to h2
add note about explorer not connecting to every node
* testnets: minor readme update
* gaiadebug tool
* gaiadebug: add hack command
* fix from merge
* gaiadebug: raw-bytes command
* fix from merge
Finished testnet command and introduced localnet targets in Makefile, together with gaiadnode Docker image
Fixed function parameter list - now starts with ctx
Separated GenTxConfig into a server/config package so both the server package and the mock package can use it
Adding server/config to app package
gaiadnode Docker image
Separated GenTxConfig into a server/config package so both the server package and the mock package can use it
Adding server/config to app package
Fixes requested by Rigel
Removed commented code
Global flag fixes
* in progress
* passes current tests
* added tests and got working
* changelog and docs
* removed prints
* oops
* works!
* issue in test_cli
* number 9 number 9 number 9
* at least it does only the 9 issue now
* hallelujah it works!
* removed print statement
* rebased
* gah