Files
proxmox/scripts/complete-all-contract-deployments.sh
defiQUG fbda1b4beb
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
docs: Ledger Live integration, contract deploy learnings, NEXT_STEPS updates
- ADD_CHAIN138_TO_LEDGER_LIVE: Ledger form done; public code review repo bis-innovations/LedgerLive; init/push commands
- CONTRACT_DEPLOYMENT_RUNBOOK: Chain 138 gas price 1 gwei, 36-addr check, TransactionMirror workaround
- CONTRACT_*: AddressMapper, MirrorManager deployed 2026-02-12; 36-address on-chain check
- NEXT_STEPS_FOR_YOU: Ledger done; steps completable now (no LAN); run-completable-tasks-from-anywhere
- MASTER_INDEX, OPERATOR_OPTIONAL, SMART_CONTRACTS_INVENTORY_SIMPLE: updates
- LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE: bis-innovations/LedgerLive reference

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 15:46:57 -08:00

68 lines
3.0 KiB
Bash
Executable File

#!/usr/bin/env bash
# Complete All Contract Deployments by Priority
# Run from project root. Requires: PRIVATE_KEY, network access to RPC_CORE_1 (${RPC_CORE_1:-192.168.11.211})
# Usage: set -a && source smom-dbis-138/.env && set +a && ./scripts/complete-all-contract-deployments.sh
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
cd "$PROJECT_ROOT"
source config/ip-addresses.conf 2>/dev/null || true
RPC="${RPC_URL_138:-http://${RPC_CORE_1:-192.168.11.211}:8545}"
if [[ -z "${PRIVATE_KEY:-}" ]]; then
echo "ERROR: PRIVATE_KEY required. source smom-dbis-138/.env first."
exit 1
fi
echo "=============================================="
echo "Complete Contract Deployments (Chain 138)"
echo "=============================================="
echo "RPC: $RPC"
echo ""
# Priority 1: CCIP WETH9 Bridge
echo ">>> Priority 1: CCIP WETH9 Bridge"
bash scripts/deploy-and-configure-weth9-bridge-chain138.sh
echo " Add printed CCIPWETH9_BRIDGE_CHAIN138 to .env"
echo ""
# Priority 2: Blockscout verification
echo ">>> Priority 2: Blockscout verification"
echo " Run: ./scripts/verify-contracts-blockscout.sh"
echo ""
# Priority 3: alltra-lifi-settlement
echo ">>> Priority 3: alltra-lifi-settlement"
if [[ -d alltra-lifi-settlement ]]; then
RELAYER="${SETTLEMENT_RELAYER_ADDRESS:-$(cast wallet address --private-key "$PRIVATE_KEY" 2>/dev/null || echo "")}"
if [[ -n "$RELAYER" ]]; then
(cd alltra-lifi-settlement && RPC_URL_138="$RPC" PRIVATE_KEY="$PRIVATE_KEY" SETTLEMENT_RELAYER_ADDRESS="$RELAYER" forge script scripts/deploy/deploy-merchant-settlement-registry.s.sol --rpc-url "$RPC" --broadcast --private-key "$PRIVATE_KEY" 2>&1) || echo " MerchantSettlementRegistry: check logs"
source smom-dbis-138/.env 2>/dev/null || true
if [[ -n "${COMPLIANT_USDC_ADDRESS:-}" ]] && [[ -n "${WITHDRAWAL_RELAYER_ADDRESS:-}" ]]; then
(cd alltra-lifi-settlement && forge script scripts/deploy/deploy-withdrawal-escrow.s.sol --rpc-url "$RPC" --broadcast --private-key "$PRIVATE_KEY" 2>&1) || echo " WithdrawalEscrow: check logs"
else
echo " WithdrawalEscrow: set COMPLIANT_USDC_ADDRESS, WITHDRAWAL_RELAYER_ADDRESS in .env"
fi
else
echo " Set SETTLEMENT_RELAYER_ADDRESS"
fi
else
echo " alltra-lifi-settlement not found"
fi
echo ""
# Priority 4: Phased core
echo ">>> Priority 4: Phased core (UniversalAssetRegistry, UniversalCCIPBridge)"
cd smom-dbis-138
forge script script/deploy/01_DeployCore.s.sol --rpc-url "$RPC" --broadcast --private-key "$PRIVATE_KEY" 2>&1 || echo " 01_DeployCore: check deps"
echo " Update .env with UNIVERSAL_ASSET_REGISTRY, GOVERNANCE_CONTROLLER from output"
forge script script/deploy/02_DeployBridges.s.sol --rpc-url "$RPC" --broadcast --private-key "$PRIVATE_KEY" 2>&1 || echo " 02_DeployBridges: check deps"
echo ""
echo "=============================================="
echo "Done. Run verify-contracts-blockscout.sh next."
echo "=============================================="