chore: operator env example and deployment script touch-ups

Made-with: Cursor
This commit is contained in:
defiQUG
2026-03-27 18:52:17 -07:00
parent 721cdeb92f
commit c6e7bad15e
8 changed files with 42 additions and 16 deletions

View File

@@ -5,18 +5,18 @@
# Or copy the needed lines into .env manually. Do NOT commit .env.
# DODO PMM Provider (deployed); required for liquidity/quoting scripts
DODO_PMM_PROVIDER_ADDRESS=0x8EF6657D2a86c569F6ffc337EE6b4260Bd2e59d0
DODO_PMM_PROVIDER_ADDRESS=0x5CAe6Ce155b7f08D3a956F5Dc82fC9945f29B381
# DODO PMM Integration (Chain 138)
DODO_PMM_INTEGRATION_ADDRESS=0x79cdbaFBaA0FdF9F55D26F360F54cddE5c743F7D
DODO_PMM_INTEGRATION_ADDRESS=0x5BDc62f1ae7D630c37A8B363a1d49845356Ee72d
# PMM pool addresses (optional; RegisterDODOPools reads from integration if unset)
POOL_CUSDTCUSDC=0x9fcB06Aa1FD5215DC0E91Fd098aeff4B62fEa5C8
POOL_CUSDTUSDT=0xa3Ee6091696B28e5497b6F491fA1e99047250c59
POOL_CUSDTUSDT=0x6fc60DEDc92a2047062294488539992710b99D71
POOL_CUSDCUSDC=0x90bd9Bf18Daa26Af3e814ea224032d015db58Ea5
# Token-aggregation (quote API): same integration address so indexer can index DODO pools
CHAIN_138_DODO_PMM_INTEGRATION=0x79cdbaFBaA0FdF9F55D26F360F54cddE5c743F7D
CHAIN_138_DODO_PMM_INTEGRATION=0x5BDc62f1ae7D630c37A8B363a1d49845356Ee72d
# Add liquidity (run-pmm-full-parity or AddLiquidityPMMPoolsChain138.s.sol); amounts in token units (6 decimals, e.g. 1000000e6 = 1M)
# ADD_LIQUIDITY_BASE_AMOUNT=1000000e6

View File

@@ -33,9 +33,9 @@ DODO_PMM_INTEGRATION="${DODO_PMM_INTEGRATION:-${DODO_PMM_INTEGRATION_ADDRESS:-}}
ENHANCED_SWAP_ROUTER="${ENHANCED_SWAP_ROUTER_ADDRESS:-}"
ASSET_REGISTRY="${UNIVERSAL_ASSET_REGISTRY_ADDRESS:-}"
QUOTE_TOKEN="${QUOTE_TOKEN_ADDRESS:-}"
# Default WETH for chain 138 if not set
# Chain 138 requires an explicit local quote token or an official mirror token address.
if [ "$CHAIN_ID" = "138" ]; then
QUOTE_TOKEN="${QUOTE_TOKEN:-${WETH_ADDRESS_138:-}}"
QUOTE_TOKEN="${QUOTE_TOKEN:-${OFFICIAL_USDT_ADDRESS:-${COMPLIANT_USDT_ADDRESS:-}}}"
fi
if [ "$CHAIN_ID" = "651940" ]; then
QUOTE_TOKEN="${QUOTE_TOKEN:-${WETH_ADDRESS_651940:-}}"

View File

@@ -49,7 +49,7 @@ declare -a C_STAR_ADDRS=(
[[ -n "$PROV" ]] || { echo "DODO_PMM_PROVIDER_ADDRESS not set"; exit 1; }
# Official USDT/USDC on 138 (from integration if available)
OFFICIAL_USDT="${OFFICIAL_USDT_ADDRESS:-0x15DF1D5BFDD8Aa4b380445D4e3E9B38d34283619}"
OFFICIAL_USDT="${OFFICIAL_USDT_ADDRESS:-0x004b63A7B5b0E06f6bB6adb4a5F9f590BF3182D1}"
OFFICIAL_USDC="${OFFICIAL_USDC_ADDRESS:-}"
if [[ -z "$OFFICIAL_USDC" ]] && command -v cast &>/dev/null; then
OFFICIAL_USDC=$(cast call "$INT" "officialUSDC()(address)" --rpc-url "$RPC" 2>/dev/null | cast --to-addr 2>/dev/null || true)

View File

@@ -21,9 +21,9 @@ RUN_PHASE2="${RUN_PHASE2:-1}"
DRY_RUN="${DRY_RUN:-}"
RPC_138="${RPC_URL_138:-${RPC_URL:-http://192.168.11.211:8545}}"
GAS_PRICE="${GAS_PRICE_138:-${GAS_PRICE:-1000000000}}"
INTEGRATION="${DODO_PMM_INTEGRATION_ADDRESS:-${DODO_PMM_INTEGRATION:-0x79cdbaFBaA0FdF9F55D26F360F54cddE5c743F7D}}"
INTEGRATION="${DODO_PMM_INTEGRATION_ADDRESS:-${DODO_PMM_INTEGRATION:-0x5BDc62f1ae7D630c37A8B363a1d49845356Ee72d}}"
POOL_CUSDTCUSDC="${POOL_CUSDTCUSDC:-0x9fcB06Aa1FD5215DC0E91Fd098aeff4B62fEa5C8}"
POOL_CUSDTUSDT="${POOL_CUSDTUSDT:-0xa3Ee6091696B28e5497b6F491fA1e99047250c59}"
POOL_CUSDTUSDT="${POOL_CUSDTUSDT:-0x6fc60DEDc92a2047062294488539992710b99D71}"
POOL_CUSDCUSDC="${POOL_CUSDCUSDC:-0x90bd9Bf18Daa26Af3e814ea224032d015db58Ea5}"
export RPC_URL_138="$RPC_138"

View File

@@ -29,6 +29,16 @@ load_deployment_env() {
source "$dotenv"
set +a
fi
local secure_secrets_file="${SECURE_SECRETS_FILE:-$HOME/.secure-secrets/private-keys.env}"
if [[ -f "$secure_secrets_file" ]]; then
set -a
# shellcheck disable=SC1090
source "$secure_secrets_file"
set +a
fi
if [[ -z "${PRIVATE_KEY:-}" && -n "${DEPLOYER_PRIVATE_KEY:-}" ]]; then
export PRIVATE_KEY="$DEPLOYER_PRIVATE_KEY"
fi
}
# Require vars for mainnet LP funding (G4). Fails with message if missing.

View File

@@ -14,6 +14,15 @@ if [[ -f "$ENV_FILE" ]]; then
set -a
source "$ENV_FILE"
set +a
SECURE_SECRETS_FILE="${SECURE_SECRETS_FILE:-$HOME/.secure-secrets/private-keys.env}"
if [[ -f "$SECURE_SECRETS_FILE" ]]; then
set -a
source "$SECURE_SECRETS_FILE"
set +a
fi
if [[ -z "${PRIVATE_KEY:-}" && -n "${DEPLOYER_PRIVATE_KEY:-}" ]]; then
export PRIVATE_KEY="$DEPLOYER_PRIVATE_KEY"
fi
echo "Loaded: $ENV_FILE"
else
echo "WARN: $ENV_FILE not found" >&2

View File

@@ -94,7 +94,7 @@ if [[ "$RUN_ADD_LIQUIDITY" == true ]]; then
export ADD_LIQUIDITY_BASE_AMOUNT ADD_LIQUIDITY_QUOTE_AMOUNT
# Default pool addresses (Chain 138) if not in .env
export POOL_CUSDTCUSDC="${POOL_CUSDTCUSDC:-0x9fcB06Aa1FD5215DC0E91Fd098aeff4B62fEa5C8}"
export POOL_CUSDTUSDT="${POOL_CUSDTUSDT:-0xa3Ee6091696B28e5497b6F491fA1e99047250c59}"
export POOL_CUSDTUSDT="${POOL_CUSDTUSDT:-0x6fc60DEDc92a2047062294488539992710b99D71}"
export POOL_CUSDCUSDC="${POOL_CUSDCUSDC:-0x90bd9Bf18Daa26Af3e814ea224032d015db58Ea5}"
if [[ -n "${DODO_PMM_INTEGRATION:-}" || -n "${DODO_PMM_INTEGRATION_ADDRESS:-}" ]]; then
# Use pending nonce so broadcast does not get -32001 "Nonce too low" (mints just used N and N+1)

View File

@@ -5,16 +5,24 @@ set -e
cd /home/intlc/projects/proxmox/smom-dbis-138
# Set environment
export PRIVATE_KEY=0x5373d11ee2cad4ed82b9208526a8c358839cbfe325919fb250f062a25153d1c8
export RPC_URL=http://192.168.11.250:8545
export GAS_PRICE=20000000000
# Load environment
if [[ -f ./scripts/load-env.sh ]]; then
# shellcheck disable=SC1091
source ./scripts/load-env.sh >/dev/null
fi
export RPC_URL="${RPC_URL:-${RPC_URL_138:-http://192.168.11.211:8545}}"
export GAS_PRICE="${GAS_PRICE:-20000000000}"
if [[ -z "${PRIVATE_KEY:-}" ]]; then
echo "PRIVATE_KEY not set. Source smom-dbis-138/.env or ~/.secure-secrets/private-keys.env first." >&2
exit 1
fi
echo "=========================================="
echo "Starting Deployment"
echo "=========================================="
echo "RPC URL: $RPC_URL"
echo "Deployer: $(cast wallet address $PRIVATE_KEY)"
echo "Deployer: $(cast wallet address "$PRIVATE_KEY")"
echo ""
# Step 1: Deploy ComplianceRegistry
@@ -180,4 +188,3 @@ echo "TokenRegistry: $TOKEN_REGISTRY"
echo "FeeCollector: $FEE_COLLECTOR"
echo ""
echo "All addresses saved to .env file"