#!/usr/bin/env bash # Print dry-run deployment commands for the Wave 1 GRU V2 Chain 138 plan. # # Usage: # bash scripts/deployment/plan-gru-v2-wave1-chain138.sh # bash scripts/deployment/plan-gru-v2-wave1-chain138.sh --code=EUR set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)" PLAN_JSON="${PROJECT_ROOT}/config/gru-v2-chain138-wave1-v2-plan.json" FILTER_CODE="" for arg in "$@"; do case "$arg" in --code=*) FILTER_CODE="${arg#--code=}" ;; *) echo "Unknown argument: $arg" >&2 exit 2 ;; esac done if ! command -v jq >/dev/null 2>&1; then echo "jq is required" >&2 exit 1 fi echo "=== GRU V2 Wave 1 Chain 138 plan ===" echo "Plan: $PLAN_JSON" echo "" jq -c --arg filter "$FILTER_CODE" ' .assets[] | select(($filter == "") or (.code == $filter)) | . as $asset | .deployments[] | { code: $asset.code, tokenName, tokenSymbol, currencyCode, registryName, registrySymbol, currentCanonicalAddress } ' "$PLAN_JSON" | while IFS= read -r row; do code="$(jq -r '.code' <<<"$row")" token_name="$(jq -r '.tokenName' <<<"$row")" token_symbol="$(jq -r '.tokenSymbol' <<<"$row")" currency_code="$(jq -r '.currencyCode' <<<"$row")" registry_name="$(jq -r '.registryName' <<<"$row")" registry_symbol="$(jq -r '.registrySymbol' <<<"$row")" current_address="$(jq -r '.currentCanonicalAddress' <<<"$row")" echo "- ${code} :: ${token_symbol}" echo " legacy/current canonical: ${current_address}" printf " command: TOKEN_NAME=%q TOKEN_SYMBOL=%q CURRENCY_CODE=%q REGISTRY_NAME=%q REGISTRY_SYMBOL=%q bash %q --dry-run\n" \ "$token_name" "$token_symbol" "$currency_code" "$registry_name" "$registry_symbol" \ "${PROJECT_ROOT}/scripts/deployment/deploy-gru-v2-generic-chain138.sh" echo "" done