docs: update master documentation and push to Gitea (2026-03-06)
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
- MASTER_INDEX: Last Updated 2026-03-06; status 59/59 contracts; add NEXT_STEPS_LIST, CONTRACT_NEXT_STEPS_LIST - docs/README, NEXT_STEPS_INDEX, 06-besu/MASTER_INDEX: Last Updated 2026-03-06 - Contract check script: 59 addresses (PMM, vault/reserve, CompliantFiatTokens); canonical CCIP/router - New docs: EXECUTION_CHECKLIST, NEXT_STEPS_LIST, DOTENV_AUDIT, ADDITIONAL_PATHS, deployer gas runbook, WEMIX_ACQUISITION_TABLED, etc. - Config: deployer-gas-routes, cro-wemix-swap-routes, routing-registry, token-mapping - Scripts: check-contracts-on-chain-138, check-pmm-pool-balances-chain138, deployer-gas-auto-route, acquire-cro-and-wemix-gas - Operator rule: operator-lan-access-check.mdc Made-with: Cursor
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
# Check that Chain 138 deployed contracts have bytecode on-chain.
|
||||
# Address list: 59 (core, CCIP, PMM, vault/reserve, CompliantFiatTokens). Source: CONTRACT_ADDRESSES_REFERENCE, ADDRESS_MATRIX.
|
||||
# Usage: ./scripts/verify/check-contracts-on-chain-138.sh [RPC_URL] [--dry-run]
|
||||
# Default RPC: from env RPC_URL_138 (Chain 138 Core standard) or config/ip-addresses.conf, else https://rpc-core.d-bis.org
|
||||
# Optional: SKIP_EXIT=1 to exit 0 even when some addresses MISS (e.g. when RPC unreachable from this host).
|
||||
@@ -81,7 +82,28 @@ else
|
||||
"0x6427F9739e6B6c3dDb4E94fEfeBcdF35549549d8" # MirrorRegistry
|
||||
"0x66FEBA2fC9a0B47F26DD4284DAd24F970436B8Dc" # AlltraAdapter
|
||||
"0x7131F887DBEEb2e44c1Ed267D2A68b5b83285afc" # TransactionMirror Chain 138 (deployed 2026-02-27; set TRANSACTION_MIRROR_ADDRESS in .env)
|
||||
"0x9fcB06Aa1FD5215DC0E91Fd098aeff4B62fEa5C8" # DODO cUSDT-cUSDC pool (pending until CreateCUSDTCUSDCPool succeeds)
|
||||
"0x9fcB06Aa1FD5215DC0E91Fd098aeff4B62fEa5C8" # DODO cUSDT-cUSDC pool
|
||||
"0x79cdbaFBaA0FdF9F55D26F360F54cddE5c743F7D" # DODOPMMIntegration
|
||||
"0x8EF6657D2a86c569F6ffc337EE6b4260Bd2e59d0" # DODOPMMProvider
|
||||
"0xa3Ee6091696B28e5497b6F491fA1e99047250c59" # DODO pool cUSDT/USDT
|
||||
"0x90bd9Bf18Daa26Af3e814ea224032d015db58Ea5" # DODO pool cUSDC/USDC
|
||||
"0x607e97cD626f209facfE48c1464815DDE15B5093" # ReserveSystem
|
||||
"0x34B73e6EDFd9f85a7c25EeD31dcB13aB6E969b96" # ReserveTokenIntegration
|
||||
"0xEA4C892D6c1253797c5D95a05BF3863363080b4B" # RegulatedEntityRegistry (vault)
|
||||
"0xB2Ac70f35A81481B005067ed6567a5043BA32336" # VaultFactory
|
||||
"0x67b3831dc64C14FB9352B2a45C6Dd69b3C86B7af" # Ledger (vault)
|
||||
"0x3aCdbCB749d6037a02F0ef6ea2E5Fb89D31fAB72" # Liquidation (vault)
|
||||
"0xf23E1eDa304082ab7a81531dFE6020E6105e77A8" # XAU Oracle (vault)
|
||||
"0x8085961F9cF02b4d800A3c6d386D31da4B34266a" # cEURC
|
||||
"0xdf4b71c61E5912712C1Bdd451416B9aC26949d72" # cEURT
|
||||
"0x003960f16D9d34F2e98d62723B6721Fb92074aD2" # cGBPC
|
||||
"0x350f54e4D23795f86A9c03988c7135357CCaD97c" # cGBPT
|
||||
"0xD51482e567c03899eecE3CAe8a058161FD56069D" # cAUDC
|
||||
"0xEe269e1226a334182aace90056EE4ee5Cc8A6770" # cJPYC
|
||||
"0x873990849DDa5117d7C644f0aF24370797C03885" # cCHFC
|
||||
"0x54dBd40cF05e15906A2C21f600937e96787f5679" # cCADC
|
||||
"0x290E52a8819A4fbD0714E517225429aA2B70EC6b" # cXAUC
|
||||
"0x94e408E26c6FD8F4ee00b54dF19082FDA07dC96E" # cXAUT
|
||||
)
|
||||
fi
|
||||
|
||||
|
||||
77
scripts/verify/check-pmm-pool-balances-chain138.sh
Executable file
77
scripts/verify/check-pmm-pool-balances-chain138.sh
Executable file
@@ -0,0 +1,77 @@
|
||||
#!/usr/bin/env bash
|
||||
# Check all Chain 138 DODO PMM pool token balances (base + quote).
|
||||
# Uses eth_call (curl) for compatibility with RPCs that reject some cast call formats.
|
||||
#
|
||||
# Usage: ./scripts/verify/check-pmm-pool-balances-chain138.sh [RPC_URL]
|
||||
# Default RPC: http://192.168.11.211:8545
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
PROJECT_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
|
||||
RPC="${1:-${RPC_URL_138:-http://192.168.11.211:8545}}"
|
||||
|
||||
# Token addresses (Chain 138 canonical)
|
||||
cUSDT="0x93E66202A11B1772E55407B32B44e5Cd8eda7f22"
|
||||
cUSDC="0xf22258f57794CC8E06237084b353Ab30fFfa640b"
|
||||
OFFICIAL_USDT="0x15DF1D5BFDD8Aa4b380445D4e3E9B38d34283619"
|
||||
# Official USDC from integration or placeholder (no contract on 138)
|
||||
OFFICIAL_USDC="0x0000000000000000000000000000000000000000"
|
||||
|
||||
# Pool addresses
|
||||
POOL_CUSDTCUSDC="0x9fcB06Aa1FD5215DC0E91Fd098aeff4B62fEa5C8"
|
||||
POOL_CUSDTUSDT="0xa3Ee6091696B28e5497b6F491fA1e99047250c59"
|
||||
POOL_CUSDCUSDC="0x90bd9Bf18Daa26Af3e814ea224032d015db58Ea5"
|
||||
|
||||
pads() { local a; a=$(echo "$1" | sed 's/0x//'); printf '%064s' "$a" | tr ' ' '0'; }
|
||||
balance() {
|
||||
local tok="$1" acc="$2"
|
||||
local d="0x70a08231$(pads "$acc")"
|
||||
local res
|
||||
res=$(curl -s -X POST "$RPC" -H "Content-Type: application/json" \
|
||||
--data "{\"jsonrpc\":\"2.0\",\"method\":\"eth_call\",\"params\":[{\"to\":\"$tok\",\"data\":\"$d\"},\"latest\"],\"id\":1}" \
|
||||
| jq -r '.result // empty')
|
||||
echo "${res:-0x0000000000000000000000000000000000000000000000000000000000000000}"
|
||||
}
|
||||
hex2dec() { local h="$1"; [[ -z "$h" || "$h" == "0x" ]] && echo "0" && return; printf '%d' "$h"; }
|
||||
human6() { local r; r=$(hex2dec "$1"); echo "scale=6; $r / 1000000" | bc 2>/dev/null || echo "$r"; }
|
||||
|
||||
echo "=============================================="
|
||||
echo " Chain 138 — PMM pool balances"
|
||||
echo " RPC: $RPC"
|
||||
echo "=============================================="
|
||||
echo ""
|
||||
|
||||
# Pool 1: cUSDT / cUSDC (base / quote)
|
||||
echo "Pool 1: cUSDT / cUSDC"
|
||||
echo " Address: $POOL_CUSDTCUSDC"
|
||||
r1=$(balance "$cUSDT" "$POOL_CUSDTCUSDC")
|
||||
r2=$(balance "$cUSDC" "$POOL_CUSDTCUSDC")
|
||||
echo " cUSDT (base): raw=$r1 → $(human6 "$r1")"
|
||||
echo " cUSDC (quote): raw=$r2 → $(human6 "$r2")"
|
||||
echo ""
|
||||
|
||||
# Pool 2: cUSDT / USDT (official USDT has no code on 138)
|
||||
echo "Pool 2: cUSDT / USDT (official)"
|
||||
echo " Address: $POOL_CUSDTUSDT"
|
||||
r1=$(balance "$cUSDT" "$POOL_CUSDTUSDT")
|
||||
r2=$(balance "$OFFICIAL_USDT" "$POOL_CUSDTUSDT")
|
||||
echo " cUSDT (base): raw=${r1:-0x0} → $(human6 "$r1")"
|
||||
echo " USDT (quote): raw=${r2:-0x0} → $(human6 "$r2")"
|
||||
echo ""
|
||||
|
||||
# Pool 3: cUSDC / USDC (official USDC not deployed on 138)
|
||||
echo "Pool 3: cUSDC / USDC (official)"
|
||||
echo " Address: $POOL_CUSDCUSDC"
|
||||
r1=$(balance "$cUSDC" "$POOL_CUSDCUSDC")
|
||||
echo " cUSDC (base): raw=$r1 → $(human6 "$r1")"
|
||||
if [[ "$OFFICIAL_USDC" != "0x0000000000000000000000000000000000000000" ]]; then
|
||||
r2=$(balance "$OFFICIAL_USDC" "$POOL_CUSDCUSDC")
|
||||
echo " USDC (quote): raw=$r2 → $(human6 "$r2")"
|
||||
else
|
||||
echo " USDC (quote): N/A (no official USDC contract on 138)"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
echo "Note: Pool 1 (cUSDT/cUSDC) is the only pool with liquidity on 138. Pools 2 and 3 use official USDT/USDC which have no contract on Chain 138."
|
||||
echo "Done."
|
||||
@@ -32,11 +32,11 @@ FEE_COLLECTOR=0xF78246eB94c6CB14018E507E60661314E5f4C53f
|
||||
DEBT_REGISTRY=0x95BC4A997c0670d5DAC64d55cDf3769B53B63C28
|
||||
POLICY_MANAGER=0x0C4FD27018130A00762a802f91a72D6a64a60F14
|
||||
TOKEN_IMPLEMENTATION=0x0059e237973179146237aB49f1322E8197c22b21
|
||||
CCIPWETH9_BRIDGE_CHAIN138=0x971cD9D156f193df8051E48043C476e53ECd4693
|
||||
CCIPWETH9_BRIDGE_CHAIN138=0x9cba0D04Ae5f6f16e3C599025aB97a05c4A593d5
|
||||
CCIPWETH10_BRIDGE_CHAIN138=0xe0E93247376aa097dB308B92e6Ba36bA015535D0
|
||||
LINK_TOKEN=0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03
|
||||
CCIP_FEE_TOKEN=0xb7721dD53A8c629d9f1Ba31a5819AFe250002b03
|
||||
CCIP_ROUTER=0x8078A09637e47Fa5Ed34F626046Ea2094a5CDE5e
|
||||
CCIP_ROUTER=0x89EC6574eeAC72Ed1b93DfCa4DB43547C8367FF0
|
||||
CCIP_SENDER=0x105F8A15b819948a89153505762444Ee9f324684
|
||||
UNIVERSAL_ASSET_REGISTRY=0xAEE4b7fBe82E1F8295951584CBc772b8BBD68575
|
||||
GOVERNANCE_CONTROLLER=0xA6891D5229f2181a34D4FF1B515c3Aa37dd90E0e
|
||||
|
||||
Reference in New Issue
Block a user