63 lines
1.4 KiB
Bash
Executable File
63 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
set -uo pipefail
|
|
|
|
function usage() {
|
|
cat <<EOF >&2
|
|
Usage:
|
|
|
|
$(basename "$0") [-h] [-n network] -- Verify that all deployed contracts match the local build artifact
|
|
|
|
where:
|
|
-h show this help text
|
|
-n set the network (mainnet, testnet, devnet)
|
|
EOF
|
|
exit 1
|
|
}
|
|
|
|
if ! command -v worm &> /dev/null
|
|
then
|
|
echo "worm binary could not be found. See installation instructions in clients/js/README.md"
|
|
exit 1
|
|
fi
|
|
|
|
network=""
|
|
while getopts ':hn:' option; do
|
|
case "$option" in
|
|
h) usage
|
|
;;
|
|
n) network=$OPTARG
|
|
;;
|
|
:) printf "missing argument for -%s\n" "$OPTARG" >&2
|
|
usage
|
|
;;
|
|
\?) printf "illegal option: -%s\n" "$OPTARG" >&2
|
|
usage
|
|
;;
|
|
esac
|
|
done
|
|
shift $((OPTIND - 1))
|
|
[ -z "$network" ] && usage
|
|
|
|
chains=$(worm evm chains)
|
|
modules=(Core TokenBridge NFTBridge)
|
|
|
|
for module in ${modules[@]}; do
|
|
for chain in ${chains[@]}; do
|
|
FILE=""
|
|
case "$module" in
|
|
Core)
|
|
FILE="build/contracts/Implementation.json"
|
|
;;
|
|
TokenBridge)
|
|
FILE="build/contracts/BridgeImplementation.json"
|
|
;;
|
|
NFTBridge)
|
|
FILE="build/contracts/NFTBridgeImplementation.json"
|
|
;;
|
|
*) echo "unknown module $module" >&2
|
|
;;
|
|
esac
|
|
./verify -n $network -c "$chain" $FILE "$(worm evm info -c $chain -m $module -n $network -i)"
|
|
done
|
|
done
|