62 lines
2.0 KiB
Bash
Executable File
62 lines
2.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Confirm Cronos deployments: test CRONOSCAN_API_KEY, verify contracts on-chain.
|
|
# See docs/04-configuration/CRONOS_EXPLORER_OPERATIONS.md
|
|
|
|
set -euo pipefail
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
|
cd "$PROJECT_ROOT"
|
|
source .env 2>/dev/null || true
|
|
|
|
RPC="${CRONOS_RPC_URL:-https://evm.cronos.org}"
|
|
CONTRACTS=(
|
|
"0x99B3511A2d315A497C8112C1fdd8D508d4B1E506:WETH9"
|
|
"0x3304b747E565a97ec8AC220b0B6A1f6ffDB837e6:WETH10"
|
|
"0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e:CCIPWETH9Bridge"
|
|
"0x105F8A15b819948a89153505762444Ee9f324684:CCIPWETH10Bridge"
|
|
)
|
|
|
|
echo "=== Cronos (Chain 25) deployment confirmation ==="
|
|
echo ""
|
|
|
|
# 1. On-chain confirmation via RPC (eth_getCode)
|
|
echo "1. On-chain bytecode check (RPC: $RPC):"
|
|
ok=0 missing=0
|
|
for entry in "${CONTRACTS[@]}"; do
|
|
addr="${entry%%:*}"
|
|
name="${entry##*:}"
|
|
code=$(cast code "$addr" --rpc-url "$RPC" 2>/dev/null || echo "0x")
|
|
if [ "${#code}" -gt 10 ]; then
|
|
echo " ✓ $name ($addr)"
|
|
((ok++)) || true
|
|
else
|
|
echo " ✗ $name ($addr) — no bytecode"
|
|
((missing++)) || true
|
|
fi
|
|
done
|
|
echo " Summary: $ok confirmed, $missing missing"
|
|
echo ""
|
|
|
|
# 2. Explorer API (if key set)
|
|
if [ -n "${CRONOSCAN_API_KEY:-}" ]; then
|
|
echo "2. Cronos Explorer API (CRONOSCAN_API_KEY):"
|
|
BLOCK=$(curl -s "https://explorer-api.cronos.org/mainnet/api/v1/ethproxy/getBlockNumber?apikey=${CRONOSCAN_API_KEY}")
|
|
if echo "$BLOCK" | grep -q '"result"'; then
|
|
NUM=$(echo "$BLOCK" | jq -r '.result')
|
|
echo " ✓ Block number: $NUM (dec: $((NUM)))"
|
|
else
|
|
echo " ✗ API error: $BLOCK"
|
|
fi
|
|
echo ""
|
|
else
|
|
echo "2. Cronos Explorer API: SKIP (set CRONOSCAN_API_KEY for block/explorer data)"
|
|
echo ""
|
|
fi
|
|
|
|
# 3. Verification instructions
|
|
echo "3. Contract verification:"
|
|
echo " Manual: https://explorer.cronos.org/verifyContract"
|
|
echo " Per-address: https://explorer.cronos.org/address/<ADDR>"
|
|
echo ""
|
|
echo "Full reference: docs/04-configuration/CRONOS_EXPLORER_OPERATIONS.md"
|