cosmos-sdk v0.46.0 Release Notes
Release Date: 2022-07-26 // almost 2 years ago-
🔋 Features
- (types) #11985 Add a
Priority
field onsdk.Context
, which represents the CheckTx priority field. It is only used during CheckTx. - 👀 (gRPC) #11889 Support custom read and write gRPC options in
app.toml
. Seemax-recv-msg-size
andmax-send-msg-size
respectively. - (cli) #11738 Add
tx auth multi-sign
as alias oftx auth multisign
for consistency withmulti-send
. - (cli) #11738 Add
tx bank multi-send
command for bulk send of coins to multiple accounts. - (grpc) #11642 Implement
ABCIQuery
in the Tendermint gRPC service, which proxies ABCIQuery
requests directly to the application. - ⚡️ (x/upgrade) #11551 Update
ScheduleUpgrade
for chains to schedule an automated upgrade onBeginBlock
without having to go though governance. - (tx) #11533 Register
EIP191
as an availableSignMode
for chains to use. - (x/genutil) #11500 Fix GenTx validation and adjust error messages
- #11430 Introduce a new
grpc-only
flag, such that when enabled, will start the node in a query-only mode. Note, gRPC MUST be enabled with this flag. - (x/bank) #11417 Introduce a new
SpendableBalances
gRPC query that retrieves an account's total (paginated) spendable balances. - #11441 Added a new method,
IsLTE
, fortypes.Coin
. This method is used to check if atypes.Coin
is less than or equal to anothertypes.Coin
. - ⬆️ (x/upgrade) #11116
MsgSoftwareUpgrade
andMsgCancelUpgrade
have been added to support v1beta2 msgs-based gov proposals. - 📇 #11308 Added a mandatory metadata field to Vote in x/gov v1beta2.
- 🚦 #10977 Now every cosmos message protobuf definition must be extended with a
cosmos.msg.v1.signer
option to signal the signer fields in a language agnostic way. - #10710 Chain-id shouldn't be required for creating a transaction with both --generate-only and --offline flags.
- #10703 Create a new grantee account, if the grantee of an authorization does not exist.
- 👀 #10592 Add a
DecApproxEq
function that checks to see if|d1 - d2| < tol
for some Decd1, d2, tol
. - #9933 Introduces the notion of a Cosmos "Scalar" type, which would just be simple aliases that give human-understandable meaning to the underlying type, both in Go code and in Proto definitions.
- #9884 Provide a new gRPC query handler,
/cosmos/params/v1beta1/subspaces
, that allows the ability to query for all registered subspaces and their respective keys. - #9776 Add flag
staking-bond-denom
to specify the staking bond denomination value when initializing a new chain. - #9533 Added a new gRPC method,
DenomOwners
, inx/bank
to query for all account holders of a specific denomination. - 📇 (bank) #9618 Update bank.Metadata: add URI and URIHash attributes.
- (store) #8664 Implementation of ADR-038 file StreamingService
- #9837
--generate-only
flag can be used with a keyname from the keyring. - #10326
x/authz
add all grants by granter query. - #10944
x/authz
add all grants by grantee query - #10348 Add
fee.{payer,granter}
andtip
fields to StdSignDoc for signing tipped transactions. - #10208 Add
TipsTxMiddleware
for transferring tips. - ⬆️ #10379 Add validation to
x/upgrade
CLIsoftware-upgrade
command--plan-info
value. - #10507 Add middleware for tx priority.
- #10311 Adds cli to use tips transactions. It adds an
--aux
flag to all CLI tx commands to generate the aux signer data (with optional tip), and a newtx aux-to-fee
subcommand to let the fee payer gather aux signer data and broadcast the tx - #10430 ADR-040: Add store/v2
MultiStore
implementation - #11019 Add
MsgCreatePermanentLockedAccount
and CLI method for creating permanent locked account - #10947 Add
AllowancesByGranter
query to the feegrant module - ⬇️ #10407 Add validation to
x/upgrade
module'sBeginBlock
to check accidental binary downgrades - (gov) #11036 Add in-place migrations for 0.43->0.46. Add a
migrate v0.46
CLI command for v0.43->0.46 JSON genesis migration. - #11006 Add
debug pubkey-raw
command to allow inspecting of pubkeys in legacy bech32 format - 👍 (x/authz) #10714 Add support for pruning expired authorizations
- #10015 ADR-040: ICS-23 proofs for SMT store
- #11240 Replace various modules
ModuleCdc
with the globallegacy.Cdc
- ⏪ #11179 Add state rollback command.
- 🔀 #10794 ADR-040: Add State Sync to V2 Store
- #11234 Add
GRPCClient
field to Client Context. IfGRPCClient
field is set to nil, theInvoke
method would use ABCI query, otherwise use gprc. - #10962 ADR-040: Add state migration from iavl (v1Store) to smt (v2Store)
- (types) #10948 Add
app-db-backend
to theapp.toml
config to replace the compile-timetypes.DBbackend
variable. - 👍 (authz)#11060 Support grant with no expire time.
- ✅ (rosetta) #11590 Add fee suggestion for rosetta and enable offline mode. Also force set events about Fees to Success to pass reconciliation test.
- (types) #11959 Added
sdk.Coins.Find
helper method to find a coin by denom. - ⬆️ (upgrade) #12603 feat: Move AppModule.BeginBlock and AppModule.EndBlock to extension interfaces
- (telemetry) #12405 Add query calls metric to telemetry.
- 📦 (query) #12253 Add
GenericFilteredPaginate
to thequery
package to improve UX.
API Breaking Changes
- 🚚 (x/auth/ante) #11985 The
MempoolFeeDecorator
has been removed. Instead, theDeductFeeDecorator
takes a new argument of typeTxFeeChecker
, to define custom fee models. Ifnil
is passed to thisTxFeeChecker
argument, then it will default tocheckTxFeeWithValidatorMinGasPrices
, which is the exact same behavior as the oldMempoolFeeDecorator
(i.e. checking fees against validator's own min gas price). - 0️⃣ (x/auth/ante) #11985 The
ExtensionOptionsDecorator
takes an argument of typeExtensionOptionChecker
. For backwards-compatibility, you can passnil
, which defaults to the old behavior of rejecting all tx extensions. - 📦 (crypto/keyring) #11932 Remove
Unsafe*
interfaces from keyring package. Please use interface casting if you wish to access those unsafe functions. - (types) #11881 Rename
AccAddressFromHex
toAccAddressFromHexUnsafe
. - 📦 (types) #11788 The
Int
andUint
types have been moved to their own dedicated module,math
. Aliases are kept in the SDK's roottypes
package, however, it is encouraged to utilize the newmath
module. As a result, theInt#ToDec
API has been removed. - 📦 (grpc) #11642 The
RegisterTendermintService
method in thetmservice
package now requires aabciQueryFn
query function parameter. - 🔨 #11496 Refactor abstractions for snapshot and pruning; snapshot intervals eventually pruned; unit tests.
- (types) #11689 Make
Coins#Sub
andCoins#SafeSub
consistent withCoins#Add
. - 🚚 (store)#11152 Remove
keep-every
from pruning options. - #10950 Add
envPrefix
parameter tocmd.Execute
. - (x/mint) #10441 The
NewAppModule
function now accepts an inflation calculation function as an argument. - 🚚 #10295 Remove store type aliases from /types
- #9695 Migrate keys from
Info
(serialized as amino) ->Record
(serialized as proto)- Add new
codec.Codec
argument in:keyring.NewInMemory
keyring.New
- Rename:
SavePubKey
toSaveOfflineKey
.NewMultiInfo
,NewLedgerInfo
toNewLegacyMultiInfo
,newLegacyLedgerInfo
respectively. Move them intolegacy_info.go
.NewOfflineInfo
tonewLegacyOfflineInfo
and move it tomigration_test.go
.
- Return:
*
keyring.Record, error
inSaveOfflineKey
,SaveLedgerKey
,SaveMultiSig
,Key
andKeyByAddress
. *keyring.Record
instead ofInfo
inNewMnemonic
andList
. - Remove
algo
argument from :SaveOfflineKey
- Take
keyring.Record
instead ofInfo
as first argument in:MkConsKeyOutput
MkValKeyOutput
MkAccKeyOutput
- Add new
- #10022
AuthKeeper
interface inx/auth
now includes a functionHasAccount
. - #9759
NewAccountKeeeper
inx/auth
now takes an additionalbech32Prefix
argument that representssdk.Bech32MainPrefix
. - #9628 Rename
x/{mod}/legacy
tox/{mod}/migrations
. - #9571 Implemented error handling for staking hooks, which now return an error on failure.
- 🚚 #9427 Move simapp
FundAccount
andFundModuleAccount
tox/bank/testutil
- 🏗 (client/tx) #9421
BuildUnsignedTx
,BuildSimTx
,PrintUnsignedStdTx
functions are moved to the Tx Factory as methods. - (client/keys) #9601 Added
keys rename
CLI command andKeyring.Rename
interface method to rename a key in the keyring. - (x/slashing) #9458 Coins burned from slashing is now returned from Slash function and included in Slash event.
- 📦 #9246 The
New
method for the network package now returns an error. - #9519
DeleteDeposits
renamed toDeleteAndBurnDeposits
,RefundDeposits
renamed toRefundAndDeleteDeposits
- 🚚 (codec) #9521 Removed deprecated
clientCtx.JSONCodec
fromclient.Context
. - (codec) #9521 Rename
EncodingConfig.Marshaler
toCodec
. - 🚚 #9594
RESTHandlerFn
argument is removed from thegov/NewProposalHandler
. - 📦 #9594
types/rest
package moved totestutil/rest
. - 🚚 #9432
ConsensusParamsKeyTable
moved fromparams/keeper
toparams/types
- #9576 Add debug error message to
sdkerrors.QueryResult
when enabled - 🚚 #9650 Removed deprecated message handler implementation from the SDK modules.
- 🚚 #10248 Remove unused
KeyPowerReduction
variable from x/staking types. - (x/bank) #9832
AddressFromBalancesStore
renamed toAddressAndDenomFromBalancesStore
. - ✅ (tests) #9938
simapp.Setup
accepts additionaltesting.T
argument. - (baseapp) #11979 Rename baseapp simulation helper methods
baseapp.{Check,Deliver}
tobaseapp.Sim{Check,Deliver}
. - 🚚 (x/gov) #10373 Removed gov
keeper.{MustMarshal, MustUnmarshal}
. - #10348 StdSignBytes takes a new argument of type
*tx.Tip
for signing over tips using LEGACY_AMINO_JSON. - #10208 The
x/auth/signing.Tx
interface now also includes a newGetTip() *tx.Tip
method for verifying tipped transactions. Thex/auth/types
expected BankKeeper interface now expects theSendCoins
method too. - 🚚 #10612
baseapp.NewBaseApp
constructor function doesn't take thesdk.TxDecoder
anymore. This logic has been moved into the TxDecoderMiddleware. - #10692
SignerData
takes 2 new fields,Address
andPubKey
, which need to get populated when using SIGN_MODE_DIRECT_AUX. - 🚚 #10748 Move legacy
x/gov
api tov1beta1
directory. - #10816 Reuse blocked addresses from the bank module. No need to pass them to distribution.
- 🚚 #10852 Move
x/gov/types
tox/gov/types/v1beta2
. - 📦 #10922, /#10957 Move key
server.Generate*
functions to testutil and support custom mnemonics in in-process testing network. MovedTestMnemonic
fromtestutil
package totestdata
. - (x/bank) #10771 Add safety check on bank module perms to allow module-specific mint restrictions (e.g. only minting a certain denom).
- (x/bank) #10771 Add
bank.BaseKeeper.WithMintCoinsRestriction
function to restrict use of bankMintCoins
usage. - 📇 #10868, #10989 The Gov keeper accepts now 2 more mandatory arguments, the ServiceMsgRouter and a maximum proposal metadata length.
- 📇 #10868, #10989, #11093 The Gov keeper accepts now 2 more mandatory arguments, the ServiceMsgRouter and a gov Config including the max metadata length.
- #11124 Add
GetAllVersions
to application store - (x/authz) #10447 authz
NewGrant
takes a new argument: block time, to correctly validate expire time. - 🔀 #10961 Support third-party modules to add extension snapshots to state-sync.
- #11274
types/errors.New
now is an alias fortypes/errors.Register
and should only be used in initialization code. - (authz)#11060
authz.NewMsgGrant
expiration
is now a pointer. Whennil
is used then no expiration will be set (grant won't expire). - (x/distribution)#11457 Add amount field to
distr.MsgWithdrawDelegatorRewardResponse
anddistr.MsgWithdrawValidatorCommissionResponse
. - 🚚 #11334 Move
x/gov/types/v1beta2
tox/gov/types/v1
. - 🔨 (x/auth/middleware) #11413 Refactor tx middleware to be extensible on tx fee logic. Merged
MempoolFeeMiddleware
andTxPriorityMiddleware
functionalities intoDeductFeeMiddleware
, make the logic extensible using theTxFeeChecker
option, the current fee logic is preserved by the defaultcheckTxFeeWithValidatorMinGasPrices
implementation. ChangeRejectExtensionOptionsMiddleware
toNewExtensionOptionsMiddleware
which is extensible with theExtensionOptionChecker
option. Unpack the tx extension optionsAny
s to interfaceTxExtensionOptionI
. - 🚚 (migrations) #11556 Remove migration code from 0.42 and below. To use previous migrations, checkout previous versions of the cosmos-sdk.
Client Breaking Changes
- 🚚 #11797 Remove all RegisterRESTRoutes (previously deprecated)
- 📄 #11089 interacting with the node through
grpc.Dial
requires clients to pass a codec refer to [doc](docs/run-node/interact-node.md). - 👀 #9594 Remove legacy REST API. Please see the REST Endpoints Migration guide to migrate to the new REST endpoints.
- #9995 Increased gas cost for creating proposals.
- 🚚 #11029 The deprecated Vote Option field is removed in gov v1beta2 and nil in v1beta1. Use Options instead.
- 👍 #11013 The
tx gov submit-proposal
command has changed syntax to support the new Msg-based gov proposals. To access the old CLI command, please usetx gov submit-legacy-proposal
. - 🛠 #11170 Fixes issue related to grpc-gateway of supply by ibc-denom.
CLI Breaking Changes
- (cli) #11818 CLI transactions preview now respect the chosen
--output
flag format (json or text). - #9695
<app> keys migrate
CLI command now takes no arguments. - 🚚 #9246 Removed the CLI flag
--setup-config-only
from thetestnet
command and added the subcommandinit-files
. - #9780 Use sigs.k8s.io for yaml, which might lead to minor YAML output changes
- #10625 Rename
--fee-account
CLI flag to--fee-granter
- #10684 Rename
edit-validator
command's--moniker
flag to--new-moniker
- ⚡️ (authz)#11060 Changed the default value of the
--expiration
tx grant
CLI Flag: was now + 1year, update: null (no expire date).
👌 Improvements
- (types) #12201 Add
MustAccAddressFromBech32
util function - #11696 Rename
helpers.GenTx
toGenSignedMockTx
to avoid confusion with genutil'sGenTxCmd
. - (x/auth/vesting) #11652 Add util functions for
Period(s)
- #11630 Add SafeSub method to sdk.Coin.
- #11511 Add api server flags to start command.
- #11484 Implement getter for keyring backend option.
- 🔀 #11449 Improved error messages when node isn't synced.
- #11349 Add
RegisterAminoMsg
function that checks that a msg name is <40 chars (else this would break ledger nano signing) then registers the concrete msg type with amino, it should be used for registeringsdk.Msg
s with amino instead ofcdc.RegisterConcrete
. - ⬆️ #11089 Now cosmos-sdk consumers can upgrade gRPC to its newest versions.
- #10439 Check error for
RegisterQueryHandlerClient
in all modulesRegisterGRPCGatewayRoutes
. - 🚚 #9780 Remove gogoproto
moretags
YAML annotations and addsigs.k8s.io/yaml
for YAML marshalling. - 📇 (x/bank) #10134 Add
HasDenomMetadata
function to bankKeeper
to check if a client coin denom metadata exists in state. - (x/bank) #10022
BankKeeper.SendCoins
now takes less execution time. - (deps) #9987 Bump Go version minimum requirement to
1.17
- 0️⃣ (cli) #9856 Overwrite
--sequence
and--account-number
flags with default flag values when used withoffline=false
insign-batch
command. - 📚 (rosetta) #10001 Add documentation for rosetta-cli dockerfile and rename folder for the rosetta-ci dockerfile
- 0️⃣ #9699 Add
:
,.
,-
, and_
as allowed characters in the default denom regular expression. - (genesis) #9697 Ensure
InitGenesis
returns with non-empty validator set. - 📦 #10341 Move from
io/ioutil
toio
andos
packages. - #10468 Allow futureOps to queue additional operations in simulations
- #10625 Add
--fee-payer
CLI flag - (cli) #10683 In CLI, allow 1 SIGN_MODE_DIRECT signer in transactions with multiple signers.
- (deps) #10706 Bump rosetta-sdk-go to v0.7.2 and rosetta-cli to v0.7.3
- 🚚 (types/errors) #10779 Move most functionality in
types/errors
to a standaloneerrors
go module, except theRootCodespace
errors and ABCI response helpers. All functions and types that used to live intypes/errors
are now aliased so this is not a breaking change. - 🗄 (gov) #10854 v1beta2's vote doesn't include the deprecate
option VoteOption
anymore. Instead, it only usesWeightedVoteOption
. - 🐎 (types) #11004 Added mutable versions of many of the sdk.Dec types operations. This improves performance when used by avoiding reallocating a new bigint for each operation.
- (x/auth) #10880 Added a new query to the tx query service that returns a block with transactions fully decoded.
- (types) #11200 Added
Min()
andMax()
operations on sdk.Coins. - (gov) #11287 Fix error message when no flags are provided while executing
submit-legacy-proposal
transaction. - (x/auth) #11482 Improve panic message when attempting to register a method handler for a message that does not implement sdk.Msg
- (x/staking) #11596 Add (re)delegation getters
- 🚚 (errors) #11960 Removed 'redacted' error message from defaultErrEncoder
- (ante) #12013 Index ante events for failed tx.
- #12668 Add
authz_msg_index
event attribute to message events emitted when executing viaMsgExec
throughx/authz
. - ⬆️ #12626 Upgrade IAVL to v0.19.0 with fast index and error propagation. NOTE: first start will take a while to propagate into new model.
- #12649 Bump tendermint to v0.34.20.
- ⬆️ #12576 Remove dependency on cosmos/keyring and upgrade to 99designs/keyring v1.2.1
- #12590 Allow zero gas in simulation mode.
- #12453 Add
NewInMemoryWithKeyring
function which allows the creation of in memorykeystore
instances with a specified set of existing items. - #11390
LatestBlockResponse
&BlockByHeightResponse
types'Block
filed has been deprecated and they now contains new fieldsdk_block
withproposer_address
asstring
- 🚀 (deps) Downgrade to Tendermint v0.34.20-rc0.
- 0️⃣ #12089 Mark the
TipDecorator
as beta, don't include it in simapp by default. - #12153 Add a new
NewSimulationManagerFromAppModules
constructor, to simplify simulation wiring.
🐛 Bug Fixes
- ⬆️ #11969 Fix the panic error in
x/upgrade
whenAppVersion
is not set. - ✅ (tests) #11940 Fix some client tests in the
x/gov
module - #11772 Limit types.Dec length to avoid overflow.
- #11724 Fix data race issues with api.Server
- #11693 Add validation for gentx cmd.
- #11645 Fix
--home
flag ignored when running help. - #11558 Fix
--dry-run
not working when using tx command. - #11354 Added missing pagination flag for
bank q total
query. - #11197 Signing with multisig now works with multisig address which is not in the keyring.
- 👕 (makefile) #11285 Fix lint-fix make target.
- 👍 (client) #11283 Support multiple keys for tx simulation and setting automatic gas for txs.
- ⚡️ (store) #11177 Update the prune
everything
strategy to store the last two heights. - #10844 Automatic recovering non-consistent keyring storage during public key import.
- (store) #11117 Fix data race in store trace component
- (cli) #11065 Ensure the
tendermint-validator-set
query command respects the-o
output flag. - (grpc) #10985 The
/cosmos/tx/v1beta1/txs/{hash}
endpoint returns a 404 when a tx does not exist. - (rosetta) #10340 Use
GenesisChunked(ctx)
insteadGenesis(ctx)
to get genesis block height - 📚 #10180 Documentation: make references to Cosmos SDK consistent
- #9651 Change inconsistent limit of
0
toMaxUint64
on InfiniteGasMeter and add GasRemaining func to GasMeter. - #9639 Check store keys length before accessing them by making sure that
key
is of lengthm+1
(forkey[n:m]
) - (types) #9627 Fix nil pointer panic on
NewBigIntFromInt
- (x/genutil) #9574 Actually use the
gentx
client tx flags (like--keyring-dir
) - (x/distribution) #9599 Withdraw rewards event now includes a value attribute even if there are 0 rewards (due to situations like 100% commission).
- (x/genutil) #9638 Added missing validator key save when recovering from mnemonic
- #9762 The init command uses the chain-id from the client config if --chain-id is not provided
- 🛠 #9854 Fixed the
make proto-gen
to get dynamic container name based on project name for the cosmos based sdks. - #9980 Returning the error when the invalid argument is passed to bank query total supply cli.
- (server) #10016 Fix marshaling of index-events into server config file.
- 🛠 #10184 Fixed CLI tx commands to no longer explicitly require the chain-id flag as this value can come from a user config.
- 📇 #10239 Fixed x/bank/044 migrateDenomMetadata.
- ⬆️ (x/upgrade) #10189 Removed potential sources of non-determinism in upgrades
- 🛠 #10258 Fixes issue related to segmentation fault on mac m1 arm64
- ✅ #10466 Fixes error with simulation tests when genesis start time is randomly created after the year 2262
- 🛠 #10394 Fixes issue related to grpc-gateway of account balance by ibc-denom.
- ⚡️ #10593 Update swagger-ui to v4.1.0 to fix xss vulnerability.
- #10842 Fix error when
--generate-only
,--max-msgs
fags set while executingWithdrawAllRewards
command. - #10897 Fix: set a non-zero value on gas overflow.
- #9790 Fix behavior of
DecCoins.MulDecTruncate
. - 📜 #10990 Fixes missing
iavl-cache-size
config parsing inGetConfig
method. - 🚚 (crypto) [#11027] Remove dependency on Tendermint core for xsalsa20symmetric.
- (x/authz) #10447 Fix authz
NewGrant
expiration check. - 🛠 (x/authz) #10633 Fixed authorization not found error when executing message.
- #11222 reject query with block height in the future
- #11229 Handled the error message of
transaction encountered error
from tendermint. - (x/authz) #11252 Allow insufficient funds error for authz simulation
- 🛠 (cli) #11313 Fixes
--gas auto
when executing CLI transactions in--generate-only
mode - 🛠 (cli) #11337 Fixes
show-adress
cli cmd - ⚡️ (crypto) #11298 Fix cgo secp signature verification and update libscep256k1 library.
- (x/authz) #11512 Fix response of a panic to error, when subtracting balances.
- ⏱ (rosetta) #11590
/block
returns an error with nil pointer when a request has both of index and hash and increase timeout for huge genesis. - (x/feegrant) #11813 Fix pagination total count in
AllowancesByGranter
query. - (simapp) #11855 Use
sdkmath.Int
instead ofint64
forSimulationState.InitialStake
. - 🛠 (x/capability) #11737 Use a fixed length encoding of
Capability
pointer forFwdCapabilityKey
- #11983 (x/feegrant, x/authz) rename grants query commands to
grants-by-grantee
,grants-by-granter
cmds. - (protos) #12701 Fix tendermint and ics23 versions used in Makefile. Run "make proto-gen".
- ✅ (testutil/sims) #12374 fix the non-determinstic behavior in simulations caused by
GenSignedMockTx
and check empty coins slice before it is used to createbanktype.MsgSend
. - #12448 Start telemetry independently from the API server.
- #12509 Fix
Register{Tx,Tendermint}Service
not being called, resulting in some endpoints like the Simulate endpoint not working. - #12416 Prevent zero gas transactions in the
DeductFeeDecorator
AnteHandler decorator. - (x/mint) #12384 Ensure
GoalBonded
must be positive when performingx/mint
parameter validation. - 🗄 (x/auth) #12261 Deprecate pagination in GetTxsEventRequest/Response in favor of page and limit to align with tendermint
SignClient.TxSearch
- (vesting) #12190 Replace https://github.com/cosmos/cosmos-sdk/pull/12190 to use
NewBaseAccountWithAddress
in all vesting account message handlers. - 👕 (linting) #12135 Fix variable naming issues per enabled linters. Run gofumpt to ensure easy reviews of ongoing linting work.
- 👕 (linting) #12132 Change sdk.Int to math.Int, run
gofumpt -w -l .
, andgolangci-lint run ./... --fix
- (cli) #12127 Fix the CLI not always taking into account
--fee-payer
and--fee-granter
flags. - (migrations) #12028 Fix v0.45->v0.46 in-place store migrations.
- (baseapp) #12089 Include antehandler and runMsgs events in SimulateTx.
- (cli) #12095 Fix running a tx with --dry-run returns an error
- (x/auth) #12108 Fix GetBlockWithTxs error when querying block with 0 tx
- (genutil) #12140 Fix staking's genesis JSON migrate in the
simd migrate v0.46
CLI command. - (types) #12154 Add
baseAccountGetter
to avoid invalid account error when create vesting account. - 🔊 (x/crisis) #12208 Fix progress index of crisis invariant assertion logs.
- (types) #12229 Increase sdk.Dec maxApproxRootIterations to 300
State Machine Breaking
- (baseapp) #11985 Add a
postHandler
to baseapp. ThispostHandler
is like antehandler, but is run after therunMsgs
execution. It is in the same store branch thatrunMsgs
, meaning that bothrunMsgs
andpostHandler
- (x/gov) #11998 Tweak the
x/gov
ModuleAccountInvariant
invariant to ensure deposits are<=
total module account balance instead of strictly equal. - ⬆️ (x/upgrade) #11800 Fix
GetLastCompleteUpgrade
to properly return the latest upgrade. - ⚡️ #10564 Fix bug when updating allowance inside AllowedMsgAllowance
- (x/auth)#9596 Enable creating periodic vesting accounts with a transactions instead of requiring them to be created in genesis.
- (x/bank) #9611 Introduce a new index to act as a reverse index between a denomination and address allowing to query for
token holders of a specific denomination.
DenomOwners
is updated to use the new reverse index. - (x/bank) #9832 Account balance is stored as
sdk.Int
rather thansdk.Coin
. - 📇 (x/bank) #9890 Remove duplicate denom from denom metadata key.
- ⬆️ (x/upgrade) #10189 Removed potential sources of non-determinism in upgrades
- #10422 and #10529 Add
MinCommissionRate
param tox/staking
module. - (x/gov) #10763 modify the fields in
TallyParams
to usestring
instead ofbytes
- ⏪ #10770 revert tx when block gas limit exceeded
- (x/gov) #10868 Bump gov to v1beta2. Both v1beta1 and v1beta2 queries and Msgs are accepted.
- 🚚 #11011 Remove burning of deposits when qourum is not reached on a governance proposal and when the deposit is not fully met.
- #11019 Add
MsgCreatePermanentLockedAccount
and CLI method for creating permanent locked account - (x/staking) #10885 Add new
CancelUnbondingDelegation
transaction tox/staking
module. Delegators can now cancel unbonding delegation entry and delegate back to validator. - (x/feegrant) #10830 Expired allowances will be pruned from state.
- (x/authz,x/feegrant) #11214 Fix Amino JSON encoding of authz and feegrant Msgs to be consistent with other modules.
- 👍 (authz)#11060 Support grant with no expire time.
- (x/gov) #10868 Bump gov to v1.
🗄 Deprecated
- ⬆️ (x/upgrade) #9906 Deprecate
UpgradeConsensusState
gRPC query since this functionality is only used for IBC, which now has its own IBC replacement - 🚚 (types) #10948 Deprecate the types.DBBackend variable and types.NewLevelDB function. They are replaced by a new entry in
app.toml
:app-db-backend
andtendermint/tm-db
sNewDB
function. Ifapp-db-backend
is defined, then it is used. Otherwise, iftypes.DBBackend
is defined, it is used (until removed: #11241). Otherwise, Tendermint config'sdb-backend
is used.
- (types) #11985 Add a