- CCIP/trustless bridge contracts, GRU tokens, DEX/PMM tests, reserve vault. - Token-aggregation service routes, planner, chain config, relay env templates. - Config snapshots and multi-chain deployment markdown updates. - gitignore services/btc-intake/dist/ (tsc output); do not track dist. Run forge build && forge test before deploy (large solc graph). Made-with: Cursor
68 lines
2.6 KiB
Bash
Executable File
68 lines
2.6 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Mint cEURT to the deployer (minter); transfer fixed cXAUC/cXAUT (troy oz) to a recipient.
|
|
#
|
|
# Usage:
|
|
# ./scripts/mint-ceurt-transfer-cxau-recipient-138.sh [cEURT_mint_human]
|
|
# RECIPIENT=0x... XAU_OZ=500 CEURT_MINT_HUMAN=100000 ./scripts/mint-ceurt-transfer-cxau-recipient-138.sh
|
|
# DRY_RUN=1 ./scripts/mint-ceurt-transfer-cxau-recipient-138.sh
|
|
#
|
|
# Defaults: RECIPIENT=0xCD386a74ab9E6378C8B5B44299CF595119647989, XAU_OZ=500,
|
|
# cEURT mint = first arg or CEURT_MINT_HUMAN or 100000 (6 decimals).
|
|
#
|
|
# Requires: PRIVATE_KEY, RPC_URL_138 (or RPC_URL) in smom-dbis-138/.env or repo .env
|
|
#
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
cd "$PROJECT_ROOT"
|
|
[ -f .env ] && set -a && source .env && set +a
|
|
[ -f "$PROJECT_ROOT/../.env" ] && set -a && source "$PROJECT_ROOT/../.env" && set +a
|
|
|
|
RPC="${RPC_URL_138:-${RPC_URL:-http://192.168.11.211:8545}}"
|
|
RECIPIENT="${RECIPIENT:-0xCD386a74ab9E6378C8B5B44299CF595119647989}"
|
|
XAU_OZ="${XAU_OZ:-500}"
|
|
CEURT_ADDR="0xdf4b71c61E5912712C1Bdd451416B9aC26949d72"
|
|
CXAUC="0x290E52a8819A4fbD0714E517225429aA2B70EC6b"
|
|
CXAUT="0x94e408E26c6FD8F4ee00b54dF19082FDA07dC96E"
|
|
|
|
CEURT_MINT_HUMAN="${1:-${CEURT_MINT_HUMAN:-100000}}"
|
|
if [ -n "${PRIVATE_KEY:-}" ]; then
|
|
DEPLOYER="$(cast wallet address "$PRIVATE_KEY")" || exit 1
|
|
else
|
|
DEPLOYER="(set PRIVATE_KEY)"
|
|
fi
|
|
|
|
if [ -z "${PRIVATE_KEY:-}" ] && [ -z "${DRY_RUN:-}" ]; then
|
|
echo "PRIVATE_KEY not set (use DRY_RUN=1 to print intended commands only)"
|
|
exit 1
|
|
fi
|
|
CEURT_BASE=$((CEURT_MINT_HUMAN * 1000000))
|
|
XAU_BASE=$((XAU_OZ * 1000000))
|
|
|
|
echo "=== Chain 138: mint cEURT + transfer cXAUC/cXAUT ==="
|
|
echo " RPC: $RPC"
|
|
echo " Deployer: $DEPLOYER"
|
|
echo " Recipient: $RECIPIENT"
|
|
echo " Mint cEURT to deployer: $CEURT_MINT_HUMAN ($CEURT_BASE base)"
|
|
echo " Transfer each XAU token: $XAU_OZ troy oz ($XAU_BASE base)"
|
|
echo ""
|
|
|
|
if [ -n "${DRY_RUN:-}" ]; then
|
|
echo "[dry-run] cast send $CEURT_ADDR mint $DEPLOYER $CEURT_BASE"
|
|
echo "[dry-run] cast send $CXAUC transfer $RECIPIENT $XAU_BASE"
|
|
echo "[dry-run] cast send $CXAUT transfer $RECIPIENT $XAU_BASE"
|
|
exit 0
|
|
fi
|
|
|
|
cast send "$CEURT_ADDR" "mint(address,uint256)" "$DEPLOYER" "$CEURT_BASE" \
|
|
--rpc-url "$RPC" --private-key "$PRIVATE_KEY" --legacy --gas-limit 200000
|
|
|
|
cast send "$CXAUC" "transfer(address,uint256)" "$RECIPIENT" "$XAU_BASE" \
|
|
--rpc-url "$RPC" --private-key "$PRIVATE_KEY" --legacy --gas-limit 200000
|
|
|
|
cast send "$CXAUT" "transfer(address,uint256)" "$RECIPIENT" "$XAU_BASE" \
|
|
--rpc-url "$RPC" --private-key "$PRIVATE_KEY" --legacy --gas-limit 200000
|
|
|
|
echo "Done."
|