forked from cosmos/cosmos-sdk
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: add upgrade test for v12 (cosmos#2678)
- Loading branch information
1 parent
581ef19
commit 8769bb3
Showing
3 changed files
with
157 additions
and
12 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,75 @@ | ||
#!/bin/sh | ||
|
||
set -o errexit -o nounset | ||
set -x | ||
|
||
NODE_HOME=$(realpath ./build/.gaia) | ||
rm -r $NODE_HOME | ||
echo "NODE_HOME = ${NODE_HOME}" | ||
BINARY=$NODE_HOME/cosmovisor/genesis/bin/gaiad | ||
echo "BINARY = ${BINARY}" | ||
CHAINID=cosmoshub-4 | ||
|
||
USER_MNEMONIC="abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon art" | ||
|
||
if ! test -f "./build/gaiad11"; then | ||
echo "gaiad v11 does not exist" | ||
exit | ||
fi | ||
|
||
|
||
rm -rf ./build/.gaia | ||
|
||
mkdir -p "$NODE_HOME"/cosmovisor/genesis/bin | ||
cp ./build/gaiad11 "$NODE_HOME"/cosmovisor/genesis/bin/gaiad | ||
$BINARY init upgrader --chain-id $CHAINID --home "$NODE_HOME" | ||
|
||
|
||
if ! test -f "./build/gaiad12"; then | ||
echo "gaiad v12 does not exist" | ||
exit | ||
fi | ||
|
||
mkdir -p "$NODE_HOME"/cosmovisor/upgrades/v12/bin | ||
cp ./build/gaiad12 "$NODE_HOME"/cosmovisor/upgrades/v12/bin/gaiad | ||
|
||
GOPATH=$(go env GOPATH) | ||
|
||
export DAEMON_NAME=gaiad | ||
export DAEMON_HOME=$NODE_HOME | ||
COSMOVISOR=$GOPATH/bin/cosmovisor | ||
|
||
|
||
$BINARY config chain-id $CHAINID --home $NODE_HOME | ||
$BINARY config keyring-backend test --home $NODE_HOME | ||
tmp=$(mktemp) | ||
|
||
# add bank part of genesis | ||
jq --argjson foo "$(jq -c '.' contrib/denom.json)" '.app_state.bank.denom_metadata = $foo' $NODE_HOME/config/genesis.json > "$tmp" && mv "$tmp" $NODE_HOME/config/genesis.json | ||
|
||
# replace default stake token with uatom | ||
sed -i -e 's/stake/uatom/g' $NODE_HOME/config/genesis.json | ||
# min deposition amount (this one isn't working) | ||
sed -i -e 's%"amount": "10000000",%"amount": "1",%g' $NODE_HOME/config/genesis.json | ||
# min voting power that a proposal requires in order to be a valid proposal | ||
sed -i -e 's%"quorum": "0.334000000000000000",%"quorum": "0.000000000000000001",%g' $NODE_HOME/config/genesis.json | ||
# the minimum proportion of "yes" votes requires for the proposal to pass | ||
sed -i -e 's%"threshold": "0.500000000000000000",%"threshold": "0.000000000000000001",%g' $NODE_HOME/config/genesis.json | ||
# voting period to 30s | ||
sed -i -e 's%"voting_period": "172800s"%"voting_period": "30s"%g' $NODE_HOME/config/genesis.json | ||
|
||
echo $USER_MNEMONIC | $BINARY --home $NODE_HOME keys add val --recover --keyring-backend=test | ||
$BINARY add-genesis-account val 10000000000000000000000000uatom --home $NODE_HOME --keyring-backend test | ||
$BINARY gentx val 1000000000uatom --home $NODE_HOME --chain-id $CHAINID | ||
$BINARY collect-gentxs --home $NODE_HOME | ||
|
||
sed -i.bak'' 's/minimum-gas-prices = ""/minimum-gas-prices = "0uatom"/' $NODE_HOME/config/app.toml | ||
|
||
perl -i~ -0777 -pe 's/# Enable defines if the API server should be enabled. | ||
enable = false/# Enable defines if the API server should be enabled. | ||
enable = true/g' $NODE_HOME/config/app.toml | ||
|
||
pwd | ||
ls $NODE_HOME | ||
|
||
$COSMOVISOR run start --home $NODE_HOME --x-crisis-skip-assert-invariants |
74 changes: 74 additions & 0 deletions
74
contrib/scripts/upgrade_test_scripts/v12/run_upgrade_commands_v12.sh
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
#!/bin/sh | ||
set -x | ||
# set -o errexit -o nounset | ||
|
||
UPGRADE_HEIGHT=$1 | ||
|
||
if [ -z "$1" ]; then | ||
echo "Need to add an upgrade height" | ||
exit 1 | ||
fi | ||
|
||
NODE_HOME=$(realpath ./build/.gaia) | ||
|
||
echo "NODE_HOME = ${NODE_HOME}" | ||
|
||
BINARY=$NODE_HOME/cosmovisor/genesis/bin/gaiad | ||
echo "BINARY = ${BINARY}" | ||
|
||
$BINARY version | ||
|
||
USER_MNEMONIC="abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon art" | ||
CHAINID=cosmoshub-4 | ||
|
||
if test -f "$BINARY"; then | ||
|
||
echo "wait 10 seconds for blockchain to start" | ||
sleep 10 | ||
|
||
$BINARY config chain-id $CHAINID --home $NODE_HOME | ||
$BINARY config output json --home $NODE_HOME | ||
$BINARY config keyring-backend test --home $NODE_HOME | ||
# $BINARY config --home $NODE_HOME | ||
$BINARY config broadcast-mode block --home $NODE_HOME | ||
|
||
key=$($BINARY keys show val --home $NODE_HOME) | ||
if [ -z "$key" ]; then | ||
echo $USER_MNEMONIC | $BINARY --home $NODE_HOME keys add val --recover --keyring-backend=test | ||
fi | ||
|
||
|
||
echo "\n" | ||
echo "Submitting proposal... \n" | ||
$BINARY tx gov submit-proposal software-upgrade v12 \ | ||
--title v12 \ | ||
--deposit 10000000uatom \ | ||
--upgrade-height $UPGRADE_HEIGHT \ | ||
--upgrade-info "upgrade to v12" \ | ||
--description "upgrade to v12" \ | ||
--fees 400uatom \ | ||
--from val \ | ||
--keyring-backend test \ | ||
--chain-id $CHAINID \ | ||
--home $NODE_HOME \ | ||
--node tcp://localhost:26657 \ | ||
--yes | ||
echo "Done \n" | ||
|
||
sleep 6 | ||
echo "Casting vote... \n" | ||
|
||
$BINARY tx gov vote 1 yes \ | ||
--from val \ | ||
--keyring-backend test \ | ||
--chain-id $CHAINID \ | ||
--home $NODE_HOME \ | ||
--fees 400uatom \ | ||
--node tcp://localhost:26657 \ | ||
--yes | ||
|
||
echo "Done \n" | ||
|
||
else | ||
echo "Please build gaia v11 and move to ./build/gaiad11" | ||
fi |