Prepare migrating testing auxiliary functions from tests
to testutil.
Remove local duplicates on testutil.WriteToNewTempFile().
Always favor testutil.NewTestCaseDir() over ioutil.TempDir().
Add test cases for the testing auxiliary functions.
The command processes list of transactions from file
(one StdTx each line), generate signed transactions
or signatures and print their JSON encoding, delimited
by '\n'. As the signatures are generated, the command
increments the sequence number automatically.
Author: @jgimeno
Reviewed-by: @alessio
* switch from review dog to official golangci action
* fix release
* disable nolintlint and wsl
* fix linting issues
* have name adhere to required
* add timeout
Co-authored-by: Alessio Treglia <alessio@tendermint.com>
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
--validate-signatures should not be a flag of the sign command
as the operation performed (transaction signatures verification)
is logically distinct.
cli_test is and has always been an horrible name for package
directory as it's very much Go anti-idiomatic - _test is the
suffix used by test packages, not directories. Plus, CLI test
cases can and should live alongside other testcases that don't
require binaries to be built beforehand. Thus:
x/module/client/cli_test/*.go -> x/module/client/cli/
Test files that require sim{cli,d} shall be tagged with // +build cli_test
With regard to cli test auxiliary functions, they should live in:
x/module/client/testutil/
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
As part of #5864 part 2), this PR decouples the new client/tx
package from x/auth (as an incremental step to deprecating
all the tx logic in x/auth) and adds StdFee, StdSignature,
StdSignMsgBase and StdTxBase to codec/std, while
deprecating the corresponding types in x/auth.
crypto/keyring:
`Keybase` interface gives way to its successor: `Keyring`. `LegacyKeybase`
interface is added in order to guarantee limited backward compatibility with
the old `Keybase` interface for the sole purpose of migrating keys across
the new keyring backends.
The package no longer depends on the `github.com/types.Config`
singleton.
`SupportedAlgos` and `SupportedLedgerAlgos` methods have been removed.
The keyring just fails when trying to perform an action with an unsupported
algorithm.
crypto/ subdirs reorganization:
`crypto/keys/hd` was moved to `crypto/hd`, which now groups together
all HD wallets related types and utilities.
client/input:
* Removal of unnecessary `GetCheckPassword`, `PrintPrefixed` functions.
* `GetConfirmation`'s signature changed to take in a io.Writer for better integration
with `cobra.Command` types.
client/context:
* In-memory keyring is allocated in the context when `--gen-only` flag is passed
in. `GetFromFields` does no longer silently allocate a keyring, it takes one as
argument.
Co-authored with @jgimeno
Co-authored-by: Jonathan Gimeno <jgimeno@gmail.com>
* lint: various linting fixs
Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>
* more linting
* more linting fixes
* more errchecking
* comment out errcheck for now
* undo error check
* address some comments
* remore require error
* change delete to batch delete
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
* change abci file to use BinaryBare
* change all calls to EncodeLengthPrefixed to BinaryBare in distribution keeper store.
* change all calls to EncodeLengthPrefixed to BinaryBare in mint keeper store.
* change all calls to EncodeLengthPrefixed to BinaryBare in auth keeper store.
* change all calls to EncodeLengthPrefixed to BinaryBare in distribution keeper store.
* change all calls to EncodeLengthPrefixed to BinaryBare in staking keeper store.
* change all calls to EncodeLengthPrefixed to BinaryBare in staking keeper store.
* change all calls to EncodeLengthPrefixed to BinaryBare in gov keeper store.
* change all calls to EncodeLengthPrefixed to BinaryBare in slashing keeper store.
* update decoder test
* migrate decoder
* migrate gov simulation decoder
* migrate baseapp_test
* refactor QuerySubspace
* refactor coedc std codec
* migrate keybase
* migrate iavl store
* migrate root multi
* migrate ante basic
* migrate tx type to bare
* migrate auth client
* update auth types
* update decoder
* migrate supply decoder
* migrate stake encoding
* migrate staking simulation
* migrate genutil
* migrate simapp test helpers
* migrate docs
* upgrade changelog
* Update CHANGELOG.md
Co-Authored-By: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
* dep: bump tendermint version to 0.33.1
Signed-off-by: Marko Baricevic <marbar3778@yahoo.com>
* minor touch up
Co-authored-by: Alexander Bezobchuk <alexanderbez@users.noreply.github.com>
Packages named utils, common, or misc provide clients with no
sense of what the package contains. This makes it harder for
clients to use the package and makes it harder for maintainers
to keep the package focused. Over time, they accumulate dependencies
that can make compilation significantly and unnecessarily slower,
especially in large programs. And since such package names are
generic, they are more likely to collide with other packages
imported by client code, forcing clients to invent names to
distinguish them.
cit. https://blog.golang.org/package-names
* Bump Tendermint version to v0.33.0
* Deprecate old cmn package with new packages
* Update update DB APIs
* More DB updates
* Bump IAVL to v0.13.0
* Handle error returned by iavl.NewMutableTree
* Fix some IAVL stuffs
* Update IAVL
* More updates
* Passing tests
* Fix unit tests
Co-authored-by: Jack Zampolin <jack.zampolin@gmail.com>
* Switch keys commands to keyring
* Replace NewKeybase with NewKeyring
* Fix delete test
* Purge dead code
* Override COSMOS_SDK_TEST_KEYRING envvar to switch to a test keyring
* s/unningOnServer/unningUnattended/
C'ing @tnachen
* Add deprecated warning, output looks like the following:
```
$ gaiacli keys update --help
Command "update" is deprecated, it takes no effect with the new keyring
based backend and is provided only for backward compatibility with the
legacy LevelDB based backend.
Refer to your operating system's manual to learn how to change your
keyring's password.
Change the password used to protect private key
Usage:
gaiacli keys update <name> [flags]
Flags:
-h, --help help for update
Global Flags:
--chain-id string Chain ID of tendermint node
-e, --encoding string Binary encoding (hex|b64|btc) (default "hex")
--home string directory for config and data (default "/home/alessio/.gaiacli")
-o, --output string Output format (text|json) (default "text")
--trace print out full stack trace on errors
```
* Update multisign command
* Modify server.GenerateSaveCoinKey()
* GenerateSaveCoinKey more modifications
* Update docs
* Update upgrade module
Account getters are removed from client context. x/auth has the
queriers necessary for retrieving account information.
These functions should be removed since they are currently
redundant and don't provide any extra value.
Closes: #4543
New Signature interface available in the top level types package.
auth.StdSignature implements such interface. User defined auth
module can now define their own custom signature types.
Work carried out in the context of the following issues:
- #4488
- #4487
Gaia is removed from cosmos-sdk repository.
Few changes were required to make sure no packages depend on gaia subpackages.
CI config is amended accordingly.
Unnecessary targets are removed from Makefile.
Simulations run through a lightweight version of gaia renamed to simapp.
Closes: #4104
All query params that are empty now returns success
(http.StatusOK) instead of mixed http status codes
(http.StatusNoContent/http.StatusBadRequest/
http.StatusInternalServerError)
Closes: #2007
- Add shorthand flags `-a` and `-s` for the account and sequence numbers respectively
- Mark the account and sequence numbers required during "offline" mode
- Always do an RPC query for account and sequence number during "online" mode
- If clients wish to provide such values, they must use `--offline`. This makes the whole flow/UX easier to reason about.
closes: #3893
{,scripts/}Makefile:
- Remove gometalinter, install golangci-lint.
- Remove distinction between tools and devtools.
Just tools is enough.
- test_lint -> lint
Migrating away from underscore separated names.
- Remove unnecessary targets.
- Drop tendermint/lint. Incompatbile with golangci-lint
and no longer necessary anyway.
- Fix misleading message in go-mod-cache.
- New ci-target to avoid download tools twice.
- Run tests with -mod=readonly.
Port tools/gometalinter.json to .golangci.yml
Update CircleCI config accordingly.
Closes: #3896
* Prompt user confirmation prior to sign & broadcasting
* Update confirmation message
* Update and fix existing CLI integration tests
* Implement CLI integration test for tx confirmation
* Fix order of input into tx send