Add mainnet cW market registry and align ops scripts with Stack A.
Some checks failed
CI/CD Pipeline / Solidity Contracts (push) Failing after 1m18s
CI/CD Pipeline / Security Scanning (push) Successful in 2m27s
CI/CD Pipeline / Lint and Format (push) Failing after 46s
CI/CD Pipeline / Terraform Validation (push) Failing after 28s
CI/CD Pipeline / Kubernetes Validation (push) Successful in 29s
Deploy ChainID 138 / Deploy ChainID 138 (push) Failing after 1m0s
HYBX OMNL TypeScript & anchor / token-aggregation build + reconcile artifact (push) Failing after 29s
Validation / validate-genesis (push) Successful in 30s
Validation / validate-terraform (push) Failing after 32s
Validation / validate-kubernetes (push) Failing after 10s
Validation / validate-smart-contracts (push) Failing after 13s
Validation / validate-security (push) Failing after 1m23s
Validation / validate-documentation (push) Failing after 22s
Verify Deployment / Verify Deployment (push) Failing after 11m53s
Some checks failed
CI/CD Pipeline / Solidity Contracts (push) Failing after 1m18s
CI/CD Pipeline / Security Scanning (push) Successful in 2m27s
CI/CD Pipeline / Lint and Format (push) Failing after 46s
CI/CD Pipeline / Terraform Validation (push) Failing after 28s
CI/CD Pipeline / Kubernetes Validation (push) Successful in 29s
Deploy ChainID 138 / Deploy ChainID 138 (push) Failing after 1m0s
HYBX OMNL TypeScript & anchor / token-aggregation build + reconcile artifact (push) Failing after 29s
Validation / validate-genesis (push) Successful in 30s
Validation / validate-terraform (push) Failing after 32s
Validation / validate-kubernetes (push) Failing after 10s
Validation / validate-smart-contracts (push) Failing after 13s
Validation / validate-security (push) Failing after 1m23s
Validation / validate-documentation (push) Failing after 22s
Verify Deployment / Verify Deployment (push) Failing after 11m53s
- CWTokenMarketRegistry + USD feeds for mainnet cW* market anchors - HYBX cross-chain treasury line registry expansion - PMM seed default → live DODOPMMIntegration (0x86ADA6Ef…) - mint-xau-chain138: troy-ounce mint helper with multisig path - relay: prefer CCIP_MAINNET_LINK138 relayer key on default profile Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -24,7 +24,7 @@ fi
|
||||
command -v cast >/dev/null 2>&1 || { echo "cast is required" >&2; exit 1; }
|
||||
|
||||
RPC_URL_138="${RPC_URL_138:-${RPC_URL:-http://192.168.11.221:8545}}"
|
||||
DODO_PMM_INTEGRATION_ADDRESS="${CHAIN_138_DODO_PMM_INTEGRATION:-${DODO_PMM_INTEGRATION_ADDRESS:-0x5BDc62f1ae7D630c37A8B363a1d49845356Ee72d}}"
|
||||
DODO_PMM_INTEGRATION_ADDRESS="${CHAIN_138_DODO_PMM_INTEGRATION:-${DODO_PMM_INTEGRATION_ADDRESS:-0x86ADA6Ef91A3B450F89f2b751e93B1b7A3218895}}"
|
||||
PRIVATE_KEY="${PRIVATE_KEY:-${DEPLOYER_PRIVATE_KEY:-}}"
|
||||
CHAIN_GAS_PRICE="${CHAIN_GAS_PRICE:-1000000000}"
|
||||
APPROVE_GAS_LIMIT="${APPROVE_GAS_LIMIT:-200000}"
|
||||
|
||||
@@ -65,9 +65,65 @@ echo " Troy ounces: $OZ -> base units: $BASE_UNITS"
|
||||
echo " cXAUC: $DO_CXAUC cXAUT: $DO_CXAUT"
|
||||
echo ""
|
||||
|
||||
MULTISIG="${ADDR_MULTISIG:-0xb9E29cFa1f89d369671E640d0BB3aD94Cab43965}"
|
||||
GAS_LIMIT_MULTISIG="${GAS_LIMIT_MULTISIG:-600000}"
|
||||
GAS_PRICE="${GAS_PRICE_138:-1000000000}"
|
||||
|
||||
extract_tx_hash() {
|
||||
awk '/^transactionHash[[:space:]]/ {print $2; exit}'
|
||||
}
|
||||
|
||||
tx_status_ok() {
|
||||
local txhash="$1"
|
||||
[[ -n "$txhash" && "$txhash" == 0x* ]] || return 1
|
||||
local st
|
||||
st=$(cast receipt "$txhash" status --rpc-url "$RPC" 2>/dev/null | awk '{print $1}' || echo "")
|
||||
[[ "$st" == "1" || "$st" == "true" ]]
|
||||
}
|
||||
|
||||
mint_via_multisig() {
|
||||
local addr="$1" label="$2"
|
||||
local data txid exec_out txhash count
|
||||
data=$(cast calldata "mint(address,uint256)" "$TO" "$BASE_UNITS")
|
||||
echo -n " multisig mint $label... "
|
||||
if [ -n "${DRY_RUN:-}" ]; then
|
||||
echo "[dry-run]"
|
||||
return 0
|
||||
fi
|
||||
cast send "$MULTISIG" \
|
||||
"submitTransaction(address,uint256,bytes)" "$addr" 0 "$data" \
|
||||
--rpc-url "$RPC" --private-key "$PRIVATE_KEY" --legacy \
|
||||
--gas-limit "$GAS_LIMIT_MULTISIG" --gas-price "$GAS_PRICE" >/dev/null || {
|
||||
echo "FAIL (submit)"; return 1
|
||||
}
|
||||
count=$(cast call "$MULTISIG" "getTransactionCount()(uint256)" --rpc-url "$RPC" | awk '{print $1}')
|
||||
txid=$((count - 1))
|
||||
exec_out=$(cast send "$MULTISIG" "executeTransaction(uint256)" "$txid" \
|
||||
--rpc-url "$RPC" --private-key "$PRIVATE_KEY" --legacy \
|
||||
--gas-limit "$GAS_LIMIT_MULTISIG" --gas-price "$GAS_PRICE" 2>&1) || {
|
||||
echo "FAIL (execute)"; return 1
|
||||
}
|
||||
txhash=$(echo "$exec_out" | extract_tx_hash)
|
||||
if tx_status_ok "$txhash"; then
|
||||
echo "OK (tx $txhash)"
|
||||
return 0
|
||||
fi
|
||||
echo "FAIL (receipt: $txhash)"
|
||||
return 1
|
||||
}
|
||||
|
||||
run_mint() {
|
||||
local addr="$1"
|
||||
local label="$2"
|
||||
local owner lc_to lc_own lc_ms
|
||||
owner=$(cast call "$addr" "owner()(address)" --rpc-url "$RPC" 2>/dev/null || echo "")
|
||||
lc_to=$(echo "$TO" | tr '[:upper:]' '[:lower:]')
|
||||
lc_own=$(echo "$owner" | tr '[:upper:]' '[:lower:]')
|
||||
lc_ms=$(echo "$MULTISIG" | tr '[:upper:]' '[:lower:]')
|
||||
if [[ "$lc_own" == "$lc_ms" ]]; then
|
||||
mint_via_multisig "$addr" "$label" || return 1
|
||||
return 0
|
||||
fi
|
||||
if [ -n "${DRY_RUN:-}" ]; then
|
||||
echo "[dry-run] cast send $label $addr mint $TO $BASE_UNITS"
|
||||
return 0
|
||||
|
||||
Reference in New Issue
Block a user