70 lines
1.6 KiB
Bash
Executable File
70 lines
1.6 KiB
Bash
Executable File
#!/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
|