* Cherry picked commits from prev branch * Added new keepers for querier functionalities * Renaming * Fixed gov errors and messages * Added Querier to stake and app * Update delegation keepers * REST Queriers not working * Fix marshalling error * Querier tests working * Pool and params working * sdk.NewCoin for test handler * Refactor and renaming * Update LCD queries and added more tests for queriers * use sdk.NewCoin * Delegator summary query and tests * Added more tests for keeper * Update PENDING.md * Update stake rest query * Format and replaced panics for sdk.Error * Refactor and addressed comments from Sunny and Aleks * Fixed some of the errors produced by addr type change * Fixed remaining errors * Updated and fixed lite tests * JSON Header and consistency on errors * Increased cov for genesis * Added comment for maxRetrieve param in keepers * Comment on DelegationWithoutDec * Bech32Validator Keepers * Changed Bech validator * Updated remaining tests and bech32 validator * Addressed most of Rigel's comments * Updated tests and types * Make codec to be unexported from keeper * Moved logic to query_utils and updated tests * Fix linter err and PENDING * Fix err * Fix err * Fixed tests * Update PENDING description * Update UpdateBondedValidatorsFull * Update iterator * defer iterator.Close() * delete comment * Address some of Aleks comments, need to fix tests * export querier * Fixed tests * Address Rigel's comments * More tests * return error for GetDelegatorValidator * Fixed conflicts * Fix linter warnings * Address @rigelrozanski comments * Delete comments * wire ––> codec
11 KiB
11 KiB
PENDING
BREAKING CHANGES
-
Gaia REST API (
gaiacli advanced rest-server)- [x/stake] Validator.Owner renamed to Validator.Operator
-
Gaia CLI (
gaiacli)- [x/stake] Validator.Owner renamed to Validator.Operator
- [cli] unsafe_reset_all, show_validator, and show_node_id have been renamed to unsafe-reset-all, show-validator, and show-node-id
- [cli] #1983 --print-response now defaults to true in commands that create and send a transaction
- [cli] #1983 you can now pass --pubkey or --address to gaiacli keys show to return a plaintext representation of the key's address or public key for use with other commands
- [cli] #2061 changed proposalID in governance REST endpoints to proposal-id
- [cli] #2014
gaiacli advancedno longer exists - to accessibc,rest-server, andvalidator-setcommands usegaiacli ibc,gaiacli rest-server, andgaiacli tendermint, respectively - [makefile]
get_vendor_depsno longer updates lock file it just updates vendor directory. Useupdate_vendor_depsto update the lock file. #2152 - [cli] #2221 All commands that
utilize a validator's operator address must now use the new Bech32 prefix,
cosmosvaloper. - [cli] #2190
gaiacli init --gen-txsis nowgaiacli init --with-txsto reduce confusion
-
Gaia
- Make the transient store key use a distinct store key. #2013
- [x/stake] #1901 Validator type's Owner field renamed to Operator; Validator's GetOwner() renamed accordingly to comply with the SDK's Validator interface.
- [docs] #2001 Update slashing spec for slashing period
- [x/stake, x/slashing] #1305 - Rename "revoked" to "jailed"
- [x/stake] [#1676] Revoked and jailed validators put into the unbonding state
- [x/stake] [#1877] Redelegations/unbonding-delegation from unbonding validator have reduced time
- [x/stake] #2040 Validator
operator type has now changed to
sdk.ValAddress - [x/stake] #2221 New
Bech32 prefixes have been introduced for a validator's consensus address and
public key:
cosmosvalconsandcosmosvalconspubrespectively. Also, existing Bech32 prefixes have been renamed for accounts and validator operators:cosmosaccaddr/cosmosaccpub=>cosmos/cosmospubcosmosvaladdr/cosmosvalpub=>cosmosvaloper/cosmosvaloperpub
- [x/stake] [#1013] TendermintUpdates now uses transient store
-
SDK
- [core] #1807 Switch from use of rational to decimal
- [types] #1901 Validator interface's GetOwner() renamed to GetOperator()
- [x/slashing] #2122 - Implement slashing period
- [types] #2119 Parsed error messages and ABCI log errors to make them more human readable.
- [simulation] Rename TestAndRunTx to Operation #2153
- [simulation] Remove log and testing.TB from Operation and Invariants, in favor of using errors #2282
- [tools] Removed gocyclo #2211
- [baseapp] Remove
SetTxDecoderin favor of requiring the decoder be set in baseapp initialization. #1441 - [store] Change storeInfo within the root multistore to use tmhash instead of ripemd160 #2308
- [codec] #2324 All referrences to wire have been renamed to codec. Additionally, wire.NewCodec is now codec.New().
-
Tendermint
FEATURES
-
Gaia REST API (
gaiacli advanced rest-server)- [gaia-lite] Endpoints to query staking pool and params
- [gaia-lite] #2110 Add support for
simulate=truerequests query argument to endpoints that send txs to run simulations of transactions - [gaia-lite] #966 Add support for
generate_only=truequery argument to generate offline unsigned transactions - [gaia-lite] #1953 Add /sign endpoint to sign transactions generated with
generate_only=true. - [gaia-lite] #1954 Add /broadcast endpoint to broadcast transactions signed by the /sign endpoint.
-
Gaia CLI (
gaiacli)- [cli] Cmds to query staking pool and params
- [gov][cli] #2062 added
--proposalflag tosubmit-proposalthat allows a JSON file containing a proposal to be passed in - #2040 Add
--bechtogaiacli keys showand respective REST endpoint to provide desired Bech32 prefix encoding - [cli] #2047 #2306 Passing --gas=simulate triggers a simulation of the tx before the actual execution. The gas estimate obtained via the simulation will be used as gas limit in the actual execution.
- [cli] #2047 The --gas-adjustment flag can be used to adjust the estimate obtained via the simulation triggered by --gas=simulate.
- [cli] #2110 Add --dry-run flag to perform a simulation of a transaction without broadcasting it. The --gas flag is ignored as gas would be automatically estimated.
- [cli] #2204 Support generating and broadcasting messages with multiple signatures via command line:
-
Gaia
- [cli] #2170 added ability to show the node's address via
gaiad tendermint show-address
- [cli] #2170 added ability to show the node's address via
-
SDK
-
Tendermint
IMPROVEMENTS
-
[tools] Improved terraform and ansible scripts for infrastructure deployment
-
[tools] Added ansible script to enable process core dumps
-
Gaia REST API (
gaiacli advanced rest-server)- [x/stake] #2000 Added tests for new staking endpoints
-
Gaia CLI (
gaiacli)- [cli] #2060 removed
--selectfromblockcommand - [cli] #2128 fixed segfault when exporting directly after
gaiad init
- [cli] #2060 removed
-
Gaia
- [x/stake] #2023 Terminate iteration loop in
UpdateBondedValidatorsandUpdateBondedValidatorsFullwhen the first revoked validator is encountered and perform a sanity check. - [x/auth] Signature verification's gas cost now accounts for pubkey type. #2046
- [x/stake] [x/slashing] Ensure delegation invariants to jailed validators #1883.
- [x/stake] Improve speed of GetValidator, which was shown to be a performance bottleneck. #2046
- [genesis] #2229 Ensure that there are no duplicate accounts or validators in the genesis state.
- Add SDK validation to
config.toml(namely disablingcreate_empty_blocks) #1571
- [x/stake] #2023 Terminate iteration loop in
-
SDK
- [tools] Make get_vendor_deps deletes
.vendor-newdirectories, in case scratch files are present. - [spec] Added simple piggy bank distribution spec
- [cli] #1632 Add integration tests to ensure
basecoind init && basecoindstart sequences run successfully for bothdemocoinandbasecoinexamples. - [store] Speedup IAVL iteration, and consequently everything that requires IAVL iteration. #2143
- [store] #1952, #2281 Update IAVL dependency to v0.11.0
- [simulation] Make timestamps randomized #2153
- [simulation] Make logs not just pure strings, speeding it up by a large factor at greater block heights #2282
- [simulation] Add a concept of weighting the operations #2303
- [simulation] Logs get written to file if large, and also get printed on panics #2285
- [gaiad] #1992 Add optional flag to
gaiad testnetto make config directory of daemon (defaultgaiad) and cli (defaultgaiacli) configurable - [x/stake] Add stake
Queriersfor Gaia-lite endpoints. This increases the staking endpoints performance by reusing the stakingkeeperlogic for queries. #2249
- [tools] Make get_vendor_deps deletes
-
Tendermint
BUG FIXES
-
Gaia REST API (
gaiacli advanced rest-server) -
Gaia CLI (
gaiacli) -
Gaia
- [x/stake] Return correct Tendermint validator update set on
EndBlockerby not including non previously bonded validators that have zero power. #2189
- [x/stake] Return correct Tendermint validator update set on
-
SDK
- #1988 Make us compile on OpenBSD (disable ledger) [#1988] (https://github.com/cosmos/cosmos-sdk/issues/1988)
- #2105 Fix DB Iterator leak, which may leak a go routine.
- [ledger] #2064 Fix inability to sign and send transactions via the LCD by loading a Ledger device at runtime.
- #2158 Fix non-deterministic ordering of validator iteration when slashing in
gov EndBlocker - [simulation] #1924 Make simulation stop on SIGTERM
-
Tendermint