Files
smom-dbis-138/scripts/deployment/deploy-monad-outbound-138-lane.sh
defiQUG 11c97777d4
Some checks failed
CI/CD Pipeline / Solidity Contracts (push) Failing after 1m11s
CI/CD Pipeline / Security Scanning (push) Has been cancelled
CI/CD Pipeline / Lint and Format (push) Has been cancelled
CI/CD Pipeline / Terraform Validation (push) Has been cancelled
CI/CD Pipeline / Kubernetes Validation (push) Has been cancelled
Validation / validate-genesis (push) Has been cancelled
Validation / validate-terraform (push) Has been cancelled
Validation / validate-kubernetes (push) Has been cancelled
Validation / validate-smart-contracts (push) Has been cancelled
Validation / validate-security (push) Has been cancelled
Validation / validate-documentation (push) Has been cancelled
Deploy ChainID 138 / Deploy ChainID 138 (push) Failing after 1m4s
HYBX OMNL TypeScript & anchor / token-aggregation build + reconcile artifact (push) Failing after 31s
OMNL reconcile anchor / Run omnl:reconcile and upload artifacts (push) Failing after 29s
Verify Deployment / Verify Deployment (push) Failing after 57s
feat(chain138): Monad CCIP, token aggregation OMNL gates, HYBX client, and PMM deploy updates.
Relay router, reserve system, oracle publisher, token-aggregation compliance middleware, and Monad deployment scripts.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-18 00:11:33 -07:00

43 lines
1.6 KiB
Bash
Executable File

#!/usr/bin/env bash
# Deploy event-only CCIPRouter + outbound WMON bridge on Monad for Monad→138 relay lane.
#
# Usage: ./scripts/deployment/deploy-monad-outbound-138-lane.sh --execute
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
cd "$PROJECT_ROOT"
# shellcheck disable=SC1090
source "$SCRIPT_DIR/../lib/deployment/dotenv.sh"
load_deployment_env --repo-root "$PROJECT_ROOT"
EXECUTE=0
while [[ $# -gt 0 ]]; do
case "$1" in
--execute) EXECUTE=1; shift ;;
--dry-run) echo "[DRY RUN] forge DeployMonad138OutboundLane"; exit 0 ;;
*) echo "Unknown arg: $1" >&2; exit 1 ;;
esac
done
[[ "$EXECUTE" == "1" ]] || { echo "Pass --execute"; exit 0; }
require_private_key_env || exit 1
"$SCRIPT_DIR/preflight-monad-deploy.sh"
RPC="${MONAD_MAINNET_RPC_PUBLIC:-https://rpc.monad.xyz}"
export WETH9_MONAD="${WETH9_MONAD:-0x754704bc059f8c67012fed69bc8a327a5aafb603}"
export CCIP_FEE_TOKEN="0x0000000000000000000000000000000000000000"
export CHAIN138_SELECTOR="${CHAIN138_SELECTOR:-}"
LOG="/tmp/monad-outbound-138-lane.log"
forge script script/DeployMonad138OutboundLane.s.sol:DeployMonad138OutboundLane \
--rpc-url "$RPC" --chain-id 143 --private-key "$PRIVATE_KEY" \
--broadcast --legacy -vvv 2>&1 | tee "$LOG"
ROUTER=$(grep -oE "Monad event-only CCIPRouter: 0x[a-fA-F0-9]{40}" "$LOG" | grep -oE "0x[a-fA-F0-9]{40}" | tail -1)
BRIDGE=$(grep -oE "Monad outbound CCIPWETH9Bridge: 0x[a-fA-F0-9]{40}" "$LOG" | grep -oE "0x[a-fA-F0-9]{40}" | tail -1)
echo "CCIP_ROUTER_MONAD_SEND=$ROUTER"
echo "CCIPWETH9_BRIDGE_MONAD_SEND=$BRIDGE"