Files
proxmox/scripts/truth-network/deploy-chain-registry-and-truth.sh
defiQUG b3a8fe4496
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
chore: sync all changes to Gitea
- Config, docs, scripts, and backup manifests
- Submodule refs unchanged (m = modified content in submodules)

Made-with: Cursor
2026-03-02 11:37:34 -08:00

63 lines
2.1 KiB
Bash
Executable File

#!/usr/bin/env bash
# 1) Deploy ChainRegistry (if CHAIN_REGISTRY_ADDRESS_138 not set). 2) Deploy TruthNetworkAdapter and register Truth.
# Requires: RPC_URL_138, PRIVATE_KEY in smom-dbis-138/.env or repo .env.
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
REPO_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
SMOM="$REPO_ROOT/smom-dbis-138"
if [[ -f "$SMOM/.env" ]]; then
set -a
source "$SMOM/.env"
set +a
elif [[ -f "$REPO_ROOT/.env" ]]; then
set -a
source "$REPO_ROOT/.env"
set +a
fi
RPC="${RPC_URL_138:-${CHAIN_138_RPC_URL:-}}"
KEY="${PRIVATE_KEY:-}"
REGISTRY="${CHAIN_REGISTRY_ADDRESS_138:-${CHAIN_REGISTRY_ADDRESS:-}}"
if [[ -z "$RPC" ]] || [[ -z "$KEY" ]]; then
echo "Error: RPC_URL_138 and PRIVATE_KEY required. Set in smom-dbis-138/.env or repo .env."
exit 1
fi
if [[ -z "$REGISTRY" ]]; then
echo "Deploying ChainRegistry on Chain 138..."
cd "$SMOM"
OUT=$(forge script script/deploy/DeployChainRegistry.s.sol:DeployChainRegistry \
--rpc-url "$RPC" \
--broadcast \
--private-key "$KEY" \
--with-gas-price 1000000000 \
-vvv 2>&1)
REGISTRY=$(echo "$OUT" | grep "CHAIN_REGISTRY_ADDRESS_138" | grep -oE "0x[a-fA-F0-9]{40}" | head -1)
if [[ -z "$REGISTRY" ]]; then
REGISTRY=$(echo "$OUT" | grep -oE "0x[a-fA-F0-9]{40}" | tail -1)
fi
if [[ -z "$REGISTRY" ]]; then
echo "Could not parse ChainRegistry address."; echo "$OUT" | tail -50; exit 1
fi
echo "ChainRegistry deployed at $REGISTRY"
export CHAIN_REGISTRY_ADDRESS_138="$REGISTRY"
if [[ -f "$SMOM/.env" ]]; then
if ! grep -q "CHAIN_REGISTRY_ADDRESS_138=" "$SMOM/.env" 2>/dev/null; then
echo "" >> "$SMOM/.env"
echo "CHAIN_REGISTRY_ADDRESS_138=$REGISTRY" >> "$SMOM/.env"
echo "Appended CHAIN_REGISTRY_ADDRESS_138 to $SMOM/.env"
fi
fi
else
export CHAIN_REGISTRY_ADDRESS_138="$REGISTRY"
echo "Using existing CHAIN_REGISTRY_ADDRESS_138=$REGISTRY"
fi
export RPC_URL_138="$RPC"
export PRIVATE_KEY="$KEY"
"$SCRIPT_DIR/deploy-and-register-truth-on-chain138.sh"
echo "Done: ChainRegistry and Truth Network registration complete."