| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- #!/bin/bash
- set -euo pipefail
- usage="Usage:
- $(basename "$0") [-h] [-m s] [-c n] -- Generate governance prototxt for a given module to be upgraded to a given code id
- where:
- -h show this help text
- -m module (bridge, token_bridge, nft_bridge)
- -c code id (e.g. 4018)"
- code_id=""
- module=""
- while getopts ':hm:c:' option; do
- case "$option" in
- h) echo "$usage"
- exit
- ;;
- m) module=$OPTARG
- ;;
- c) code_id=$OPTARG
- ;;
- :) printf "missing argument for -%s\n" "$OPTARG" >&2
- echo "$usage" >&2
- exit 1
- ;;
- \?) printf "illegal option: -%s\n" "$OPTARG" >&2
- echo "$usage" >&2
- exit 1
- ;;
- esac
- done
- shift $((OPTIND - 1))
- [ -z "$code_id" ] && { echo "$usage" >&2; exit 1; }
- [ -z "$module" ] && { echo "$usage" >&2; exit 1; }
- address=$(printf "%064x" "$code_id")
- TERRA_ID=3
- GUARDIAND=guardiand
- case "$module" in
- bridge)
- "$GUARDIAND" template contract-upgrade \
- --chain-id $TERRA_ID \
- --new-address "$address" \
- > /tmp/gov.prototxt
- ;;
- token_bridge)
- "$GUARDIAND" template token-bridge-upgrade-contract \
- --chain-id $TERRA_ID --module "TokenBridge" \
- --new-address "$address" \
- > /tmp/gov.prototxt
- ;;
- nft_bridge)
- "$GUARDIAND" template token-bridge-upgrade-contract \
- --chain-id $TERRA_ID --module "NFTBridge" \
- --new-address "$address" \
- > /tmp/gov.prototxt
- ;;
- *) echo "illegal module $module"
- echo "$usage" >&2
- exit 1
- ;;
- esac
- cat /tmp/gov.prototxt
- "$GUARDIAND" admin governance-vaa-verify /tmp/gov.prototxt >&2
|