Closed
Description
opened on May 5, 2022
This issue tracks all v0.46 changes we should be manually testing before the final release. Part of #11096.
This list has been compiled by scanning through the changelog.
Manual Test Description
For each task, please write 1-2 lines on which exact commands were tested (or a link to a script), with the following format
// Example:
- [x] `MsgCancelUpgrade` #11116
- TEST: On localnet, create a software upgrade proposal, set height to block 100 (set voting period short, e.g. 30s). After proposal passes, submit another proposal `MsgCancelUpgrade`. Make sure upgrade doesn't happen on block 100.
Manual tests
- Depends on:
- v0.46 Release Candidate 1 (see v0.46.0 Release #11096 for progress)
Gov/Group
- x/gov
v1
Module Readiness Checklist #11086-
tx gov submit-proposal <json>
with the new JSON format @JeancarloBarrios - Genesis export
-
- Group Module - Module Readiness Checklist #10968
- All
tx group ...
commands @JeancarloBarrios- might be good to link a bash script of all commands run
- happy path (create group, create policy, submit proposal, vote, exec)
- update policy after proposal submission
- member leaving after proposal submission (should fail, depends on member weight)
- update policy when you're not a member (should fail)
- MsgExec on msg that fails (e.g. not enough balance) (should fail)
- Genesis export
- All
Transaction Tips
- Untested. refactor: Mark tips as beta #12089
Other
- Software Upgrade from v0.45 to v0.46 @anilcse @kaustubhkapatral
- On localnet
- Genesis JSON migration @AmauryM
- In-place store migration @AmauryM fix: Fix v0.45->v0.46 migration #12028
- On live testnet
- In-place store migration @kaustubhkapatral fix: Fix v0.45->v0.46 migration #12028
- On localnet
- Keyring migration
- Create keys on v0.45, make sure they still work in v0.46 @AmauryM
- Create new keys in v0.46 @AmauryM
-
--multisig
flag works with an address that's not in the keyring fix: multisig works with only multisig name as argument, not its address #11197 @AmauryM- TEST: repro
- Sign with ledger
- TEST: Run a v0.45 chain, add a ledger account with
--ledger
. Send some funds to this account. Perform a in-place migration to v0.46. Make surev046_node keys list
still has the ledger key. On the v046 node, do a bank send from the ledger account, make sure it works.
- TEST: Run a v0.45 chain, add a ledger account with
- Fix: Error while listing keys using v0.46.x #12093
- New/updated gRPC queries @atheeshp
- abci_query
- Tested in localnet, with the url: http://localhost:1317/cosmos/base/tendermint/v1beta1/abci_query?data=NA%3D%3D&path=%2Fstore%2Fgov%2Fkey&prove=true worked fine.
- GetBlockWithTxs
- getting error when querying the no transactions block
{ "code": 2, "message": "out of range: cannot paginate 0 txs with offset 0 and limit 100: invalid request", "details": [ ] }
is this intended behaviour?
- getting error when querying the no transactions block
- abci_query
- New/updated CLI commands @likhita-809
-
tx staking cancel-unbond
feat: Cancel unbonding delegation entry #10885- TEST: On localnet, create a delegation for a validator and unbond few tokens for the same validator, and then run cancel-unbond cmd with the same amount or less than the unbonded amount of tokens which cancels the unbond and delegates back to the validator. Here, the amount specified cannot be greater than unbonded tokens, as it results in error.
-
tx bank multi-send
feat: implement multi-send transaction command #11738- TEST: On localnet, create a multi-send transaction with a from key followed by 2 or more to-addresses followed by amount and required flags. When used
--split
flag along with this, amount is split equally to the to-addresses otherwise each account gets the specified amount of tokens.
- TEST: On localnet, create a multi-send transaction with a from key followed by 2 or more to-addresses followed by amount and required flags. When used
-
start --grpc-only
, make sure we can still do gRPC queries feat: grpc-only mode #11430- TEST:
- On localnet, transfer some tokens to an account
- Make sure simd q bank balances $acc works
- Halt the node and re-run with --grpc-only
- Query the bank balances $acc using
curl
orgrpcurl
which works
- TEST:
-
q feegrant grants-by-granter
feat: add feegrant query to see allowances from a given granter #10947- TEST: On localnet, run several feegrant grant authorizations to pay fees from a granter account by grantees and then query grants using
grants-by-granter
to get all the grants provided from a single granter to different grantees.
- TEST: On localnet, run several feegrant grant authorizations to pay fees from a granter account by grantees and then query grants using
-
q authz grants-by-grantee
feat: add grants by grantee authz query #10944- TEST: On localnet, run a authz grant authorization (for eg.
send
) from a granter to a grantee and then query the grants for a grantee usinggrants-by-grantee
cmd which shows the grants provided to it
- TEST: On localnet, run a authz grant authorization (for eg.
-
- Set
max-recv-msg-size
andmax-send-msg-size
in app.toml, make sure large gRPC requests are blocked feat!: support custom r/w gRPC options #11889 @likhita-809- TEST: Initialize a node and before starting the node, change the
max-recv-msg-size
andmax-send-msg-size
values to1
. Now start the node and try do any gRPC request (for e.g., cosmos.bank.v1beta1.Query/Balance
), it fails with errgrpc: received message larger than max
.
- TEST: Initialize a node and before starting the node, change the
-
tx multi-sign
feat: implement multi-send transaction command #11738 @likhita-809- TEST: On localnet, try using auth's
tx multi-sign
andtx multisign
both works, sincemultisign
is now an alias formulti-sign
in auth to be consistent with bank'smulti-send
- TEST: On localnet, try using auth's
-
tendermint inspect
feat: add tm inspect cmd #11548 @JeancarloBarrios - gentx validation fix: Improve gentx validation & error messages #11500 @likhita-809
- TEST:
- Initialize a node, add genesis account and create a genesis transaction. Now edit the gentx file in the
config/gentx
folder with different msg other thanMsgCreateValidator
(for., e.g,{"body":{"messages":[{"@type":"/cosmos.staking.v1beta1.MsgEditValidator","description":{"moniker":"test","identity":"","website":"","security_contact":"","details":""},"min_self_delegation":"1","validator_address":"cosmosvaloper1gjrjd93lhafax6reev72aeq00h699rpw58jvsq"}],"memo":"5b4e5bd4741531b575f53e51bb7e9f32deec8e26@192.168.1.61:26656","timeout_height":"0","extension_options":[],"non_critical_extension_options":[]},"auth_info":{"signer_infos":[{"public_key":{"@type":"/cosmos.crypto.secp256k1.PubKey","key":"Ayl0uR3X/3EnfYy1fA3XIssVh+IH9r88sJyG7fJUravU"},"mode_info":{"single":{"mode":"SIGN_MODE_DIRECT"}},"sequence":"0"}],"fee":{"amount":[],"gas_limit":"200000","payer":"","granter":""},"tip":null},"signatures":["bf9GvJGBngfMBCHdh7k/SRKnfxyHdvlukY7+ar6V4Px86L6J9ZcJOYLLAHgtYcyIT6TMqEAofCo6mvakViTV8A=="]}
) - Now run
collect-gentxs
cmd, which returns appropriate errunexpected GenTx message type; expected: MsgCreateValidator, got: *types.MsgEditValidator
- Initialize a node, add genesis account and create a genesis transaction. Now edit the gentx file in the
- TEST:
- gRPC query
SpendableBalances
feat: add support for spendable balances gRPC query #11417 @atheeshp- tested on localnet, queried for spendable balanaces of a account, no issues found.
-
MsgCancelUpgrade
feat: AddMsgSoftwareUpgrade
andMsgCancelUpgrade
(for new msgs-based gov proposals) #11116 @likhita-809- TEST:
- Initialize a node and change the voting period to 100s in genesis file and then proceed with required steps to start the node.
- Create a software upgrade proposal at height 150 and vote on it. Make sure the proposal passes.
- Now create a cancel upgrade proposal and vote on it. Make sure the proposal passes.
- We can see that block passes the height 150 without any interruption for upgrade.
- TEST:
- gov v1 vote with adding metadata, make sure metadata is committed to state feat: Add metadata field to Vote in x/gov #11308 @atheeshp
- Tested on localnet, create a proposal and voted with random metadata, queried the votes, vote to verify metadata is stored in the state.
- Chain-id shouldn't be required for creating a transaction with both --generate-only and --offline flags. feat: tx with generate-only and offline shouldn't use chain id #10710 @likhita-809
- TEST: On localnet, create any tx (for eg., authz grant) with
offline
,generate-only
andchain-id
flags, then the following error is returned :chain ID cannot be used when offline and generate-only flags are set
. If only one of theoffline
orgenerate-only
flags are used withchain-id
, it works.
- TEST: On localnet, create any tx (for eg., authz grant) with
- gRPC query
/cosmos/params/v1beta1/subspaces
feat: implement x/params get all subspaces/keys #9884 @likhita-809- TEST: On localnet, enable GRPC configuration, and query the params subspaces using
grpcurl -plaintext localhost:9090 cosmos.params.v1beta1.Query/Subspaces
which returns all the subspaces from params.
- TEST: On localnet, enable GRPC configuration, and query the params subspaces using
- Initialize a chain with custom
--staking-bond-denom
flag feat: specify staking bond_denom when creating a new chain #9776 @likhita-809- TEST: Initialise a node with
staking-bond-denom
flag with some denom value (e.g., my_denom), check the stakingbond_denom
value in genesis file created. It'll have the valuemy_denom
. By default the staking bond_denom value isstake
.
- TEST: Initialise a node with
- gRPC query
DenomOwners
feat: add DenomOwners gRPC method for x/bank #9533 @JeancarloBarrios -
--generate-only
flag can be used with a keyname from the keyring. When using--offline
and--generate-only
the key names are no longer recognized, have to use an address #9837 @likhita-809- TEST: On localnet, create a tx (for eg., authz grant) with
generate-only
flag andfrom
flag with value key name which results in successful transaction. Now, we can use both key address and key name forfrom
flag when used withgenerate-only
.
- TEST: On localnet, create a tx (for eg., authz grant) with
- Use --fee-payer --fee-granter flags with SIGN_MODE_LEGACY_AMINO_JSON feat: Add
fee.{payer,granter}
andtip
fields to StdSignDoc #10348 @AmauryM - CLI software-upgrade command --plan-info value validation feat: Add upgrade proposal plan validation to CLI #10379 @likhita-809
- TEST: On localnet, run
tx gov submit-legacy-proposal
by passing --upgrade-info <random_value>, it fails. Again test it with passing empty plan info, it fails again. We can also test with incorrect data without checksum, we'll havemissing checksum query parameter
error.
- TEST: On localnet, run
-
MsgCreatePermanentLockedAccount
feat: add msg for permanent locked vesting accounts #11019 @AmauryM- TEST:
simd tx vesting create-permanent-locked-account cosmos1e0jnq2sun3dzjh8p2xq95kk0expwmd7shwjpfg 10stake --from validator --keyring-backend test --chain-id my-chain --broadcast-mode block
, code 0
- TEST:
- CLI
debug pubkey-raw
feat: Add debug pubkey-raw cli command #11006 @likhita-809- TEST: On localnet, run
debug pubkey-raw
with pubkey of a key. It returned the parsed key's Address, Json(base64), Bech32 Acc, Bech32 Validator Operator and Consensus.
- TEST: On localnet, run
- Authz pruning expired authorizations feat(authz)!: pruning expired authorizations #10714 @likhita-809
- TEST: On localnet, create a grant with expiration of current time + 10 seconds (e.g., 1653282500 which equals 2022-05-23T05:08:20Z), query the grant using
grants-by-granter
where grant can be listed. Query again after 10 seconds, the grant is not found since it is expired.
- TEST: On localnet, create a grant with expiration of current time + 10 seconds (e.g., 1653282500 which equals 2022-05-23T05:08:20Z), query the grant using
- Authz Support grant with no expire time. feat!: make grant expiration optional #11060 @likhita-809
- TEST: On localnet, create a grant with expiration time 0 or without passing expiration flag. Query the grant using
grants-by-granter
, where the grant can be listed with expiration time null.
- TEST: On localnet, create a grant with expiration time 0 or without passing expiration flag. Query the grant using
- CLI transactions preview now respect the chosen
--output
flag format (json or text). feat: improve cli tx output #11818 @likhita-809- TEST: On localnet, create any tx (for e.g., bank send) with
output
flag valuejson
, which returns the o/p in json format. Again run the same cmd without passingoutput
flag, which returns the o/p in YAML format (default format).
- TEST: On localnet, create any tx (for e.g., bank send) with
- Make sure CLI flag
--fee-granter
works (replaces--fee-account
) fix!: Add--fee-payer
CLI flag, rename--fee-account
to--fee-granter
#10625 @likhita-809- TEST:
- On localnet, run a
feegrant grant
cmd to grant authorization for grantee to pay fees from granter - Now create a proposal using
gov submit-proposal
(for e.g., Where proposal file contains a send proposal with from address as gov module account address and to address is grantee address with amount and deposit) withfee-granter
granter address and proposer account. This results in a successful tx.
NOTE: Here theto_address
in proposal file must be grantee since there must be a feegrant from granter to grantee for the transaction to be successful.
- On localnet, run a
- TEST:
- Rename
edit-validator
command's--moniker
flag to--new-moniker
fix: edit validator bug from the cli #10684 @likhita-809- TEST:
- On localnet, run q staking validator cmd, to fetch current validator info and check for moniker
- Now run tx staking edit-validator to modify the moniker (using --new-moniker flag) and query the validator info again to check if successful
- After successful updation, again run tx staking edit-validator to modify other details (for e.g., use --website flag) and query the validator info again. Now only the website is updated in validator info, not the moniker.
- TEST:
- Changed the default value of the
--expiration
tx grant
CLI Flag: was now + 1year, update: null (no expire date). feat!: make grant expiration optional #11060 @likhita-809- TEST: On localnet, create a grant without expiration flag which results in a successful transaction with expiration time null. Query the grant using grants-by-granter, where that grant can be listed.
- Test
FlagAPI*
flags for the api server feat: api server flags to start command #11511 @likhita-809- TEST: Initialise a localnet with all the requirements, start the node without any api flags and try accessing api server (for e.g., localhost:1317/swagger, which is default api server) which will not be accessible. Now stop the node and again start the node along with
api.enable
flag and if required, other api flags from the cli. If we try accessing api server, it works.
- TEST: Initialise a localnet with all the requirements, start the node without any api flags and try accessing api server (for e.g., localhost:1317/swagger, which is default api server) which will not be accessible. Now stop the node and again start the node along with
- Improved error messages when node isn't synced. chore: Better error msgs when node isn't synced #11449 @likhita-809
- TEST: Start syncing a node and try to query an account (using query account cmd) which is not synced which returns a better error msg that
your node may be syncing, please check node status using /status
followed by the actual error.
- TEST: Start syncing a node and try to query an account (using query account cmd) which is not synced which returns a better error msg that
- Overwrite
--sequence
and--account-number
flags with default flag values when used withoffline=false
insign-batch
command. fix: overwrite sequence and account-number flags when used with offline=false #9856 @likhita-809- TEST: On localnet, create a single or multiple tx's with
generate-only
flag and save the output json's to a file. Then sign it usingsign-batch
tx cmd providingoffline
flag which definitely requiresaccount-number
andsequence
flags with it, otherwise returns an error stating the requirement flags. If tx succeds, it returns an output with given sequence and account number. Again try to sign usingoffline=false
flag value, then it may takesequence
andaccount-number
from cli, but the returned output will havesequence
andaccount-number
starting from default values (for e.g, 0), i.e., ifaccount-number
andsequence
flags are given, they are overridden.
- TEST: On localnet, create a single or multiple tx's with
- In CLI, allow 1 SIGN_MODE_DIRECT signer in transactions with multiple signers. fix(cli): Allow max 1 DIRECT signer per tx #10683 @AmauryM
- Fix error message when no flags are provided while executing
submit-legacy-proposal
transaction. fix(cli):submit-legacy-proposal
: return propoer error if no flag is provided #11287 @likhita-809- TEST: On localnet, create a
submit-legacy-proposal
tx withtitle
,description
andtype
from a proposal, it succeeds. Again create asubmit-legacy-proposal
tx with one or more of the flags fromtitle
,description
andtype
missing, it returns an err saying that particular missing flag is required.
- TEST: On localnet, create a
- Fix
--dry-run
not working when using tx command. fix:--dry-run
not working when using tx command #11558 @likhita-809 - Added missing pagination flag for
bank q total
query. fix: Update query.go to include pagination for bank q totals #11355 @likhita-809- TEST: On localnet, run
q bank total
cmd withpage
flag (for e.g., --page 2) which now returns the queried output.
- TEST: On localnet, run
- Ensure the
tendermint-validator-set
query command respects the-o
output flag. fix: ensure tendermint-validator-set respects output flag #11065 @likhita-809- TEST: On localnet, run q tendermint-validator-set with required height, it returns the output in text format by default. Again run same query cmd with output flag value json, it now returns the output in json format.
- The
/cosmos/tx/v1beta1/txs/{hash}
endpoint returns a 404 when a tx does not exist. The/cosmos/tx/v1beta1/txs/{hash}
endpoint should return a 404 error if no tx is found for the given hash #10985 @likhita-809- TEST: On localnet, query the
/cosmos/tx/v1beta1/txs/{hash}
endpoint with an invalid hash, it returns tx not found page. When a valid hash is given, it returns the successful tx response.
- TEST: On localnet, query the
- Withdraw rewards event now includes a value attribute even if there are 0 rewards (due to situations like 100% commission). fix: WithdrawRewards event emit value when no rewards #9599 @likhita-809
- TEST:
- On localnet, create a validator with 100% commission rate (e.g., simd tx staking create-validator --amount 10000000stake --commission-rate 1 --from key --pubkey $(./simd tendermint show-validator ) --moniker moniker_name --website "https://mysite.com" --details "desc of validator" --chain-id 1 --commission-max-rate 1 --commission-max-change-rate 0.3 --min-self-delegation 1 )
- Query the rewards using
simd q distribution rewards $KEY_ADDRESS $VALIDATOR_ADDRESS
which returns empty rewards. - Now create a withdraw-rewards tx (e.g., simd tx distribution withdraw-rewards $VALIDATOR_ADDRESS --chain-id 1 --from key) and query the returned
txhash
, where theraw_log
contains{"type":"withdraw_rewards","attributes":[{"key":"amount","value":"0"}
- TEST:
- The init command uses the chain-id from the client config if --chain-id is not provided fix: init with config chain-id #9762 @likhita-809
- TEST: While initialising a node, do not pass the
chain-id
flag, then we'll get the chain-id from client config and node gets initialised with that chain-id and provided moniker.
- TEST: While initialising a node, do not pass the
- Returning the error when the invalid argument is passed to bank query total supply cli. fix: fix the invalid argument for bank total supply cli query #9980 @likhita-809
- TEST: On localnet, when we query total supply of coins using
q bank total
we'll get the supply output. If any args are passed to it (for e.g.,q bank total arg
), an error is returned.
- TEST: On localnet, when we query total supply of coins using
- Fixed CLI tx commands to no longer explicitly require the chain-id flag as this value can come from a user config. fix: make chain-id flag not strictly required for tx commands #10184 @atheeshp
- Tested in localnet, without specifying chain-id got the error (ex:
simd tx gov submit-proposal proposal.json --from mykey1 -y
)Error: chain ID required but not specified
- whereas the same command working fine with
--chain-id flag
(ex:simd tx gov submit-proposal proposal.json --chain-id test-chain --from mykey1 -y
)
- Tested in localnet, without specifying chain-id got the error (ex:
- Fix error when
--generate-only
,--max-msgs
fags set while executingWithdrawAllRewards
command. fix:--max-msgs
withgenerate-only
should not throw error #10842 @atheeshp- Tested on localnet by withdrawing all delegations with
--generate-only
,--max-msgs
, working as epected.
- Tested on localnet by withdrawing all delegations with
- Fixes
--gas auto
when executing CLI transactions in--generate-only
mode fix: ensure TxFactory has acc & seq fields when simulating tx in generate-only mode #11313 @likhita-809- TEST: On localnet, run any CLI transaction (for e.g., bank send) along with
--generate-only
and--gas
flag with valueauto
, which returns the proper response now instead of error.
- TEST: On localnet, run any CLI transaction (for e.g., bank send) along with
- Fixes
show-adress
cli cmd fix(cli): fix theshow-address
cli cmd #11337 @likhita-809- TEST: On localnet, run
tendermint show-address
cmd, which returns the node's tendermint validator consensus address.
- TEST: On localnet, run
- Fix pagination total count in
AllowancesByGranter
query. fix: grants by granter paginationtotal
#11813 @likhita-809- TEST: On localnet, create 2 or more keys . Now run
tx feegrant grant
cmd to grant authorization to pay fees from granter to grantee. Run this cmd 2 or more times with same granter and different grantees. Now query these grants using grpc (i.e.,curl http://localhost:1317/cosmos/feegrant/v1beta1/issued/{granter}
) where all the grants are returned with correct total count.
- TEST: On localnet, create 2 or more keys . Now run
Skipped
- refactor: Mark tips as beta #12089 Help needed. Need 2 chains, IBC relayer.
- Support multiple keys for tx simulation and setting automatic gas for txs. Tx simulation only supports hardcoded secp256k1 keys #11283 (already in v0.45, used by evmos)
- ADR-038 Streaming service (big task)
-
rollback
command (already in v0.45)
Metadata
Assignees
Labels
Type
Projects
Status
No status
Activity