Files
proxmox/docs/03-deployment/ADD_LIQUIDITY_PMM_CHAIN138_RUNBOOK.md
defiQUG b8613905bd
Some checks failed
Deploy to Phoenix / validate (push) Failing after 15s
Deploy to Phoenix / deploy (push) Has been skipped
chore: sync workspace — configs, docs, scripts, CI, pnpm, submodules
- Submodule pins: dbis_core, cross-chain-pmm-lps, mcp-proxmox (local, push may be pending), metamask-integration, smom-dbis-138
- Atomic swap + cross-chain-pmm-lops-publish, deploy-portal workflow, phoenix deploy-targets, routing/aggregator matrices
- Docs, token-lists, forge proxy, phoenix API, runbooks, verify scripts

Made-with: Cursor
2026-04-21 22:01:33 -07:00

3.4 KiB
Raw Blame History

Add Liquidity to PMM Pools (Chain 138) — Runbook

Historical note (2026-03-26): this runbook originated during the earlier three-pool PMM phase. Current canonical Chain 138 PMM addresses are DODOPMMIntegration=0x5BDc62f1ae7D630c37A8B363a1d49845356Ee72d and DODOPMMProvider=0x5CAe6Ce155b7f08D3a956F5Dc82fC9945f29B381.

Purpose: Add base/quote liquidity to the canonical DODO PMM pools on Chain 138, including the live stable/WETH pools.

Prerequisites:

  • Deployer is owner of cUSDT and cUSDC contracts (to mint), or already has balance.
  • smom-dbis-138/.env has: PRIVATE_KEY, RPC_URL_138, DODO_PMM_INTEGRATION_ADDRESS (or DODO_PMM_INTEGRATION), pool addresses and amounts.

0. Mint tokens for liquidity (if deployer has no balance)

From smom-dbis-138/:

source .env
# Mint 1M cUSDT and 1M cUSDC to deployer (default)
./scripts/mint-for-liquidity.sh

# Mint custom amounts (human units)
MINT_CUSDT_AMOUNT=2000000 MINT_CUSDC_AMOUNT=2000000 ./scripts/mint-for-liquidity.sh

# Mint then add liquidity in one go (uses half of minted for cUSDT/cUSDC pool)
./scripts/mint-for-liquidity.sh --add-liquidity

Deployer must be the owner of both cUSDT and cUSDC contracts (onlyOwner can mint). Amounts use 6 decimals internally (1M tokens = 1_000_000 × 10^6 base units).

If mint fails: Ensure RPC_URL_138 is reachable and deployer is owner (cast call <CUSDT> "owner()(address)" --rpc-url $RPC_URL_138). Alternative: use ./scripts/mint-to-750m.sh both <deployer_address> to mint 749M each (one-time top-up to 750M supply).


1. Set pool addresses and amounts in .env

Add or set in smom-dbis-138/.env:

# Pool addresses
POOL_CUSDTCUSDC=0x9e89bAe009adf128782E19e8341996c596ac40dC
POOL_CUSDTUSDT=0x866Cb44b59303d8dc5f4F9E3E7A8e8b0bf238d66
POOL_CUSDCUSDC=0xc39B7D0F40838cbFb54649d327f49a6DAC964062
POOL_CUSDTWETH=0xaE38a008Ba4Dbf8D9F141D03e9dC8f7Dbe0ce17c
POOL_CUSDCWETH=0xAAE68830a55767722618E869882c6Ed064Cc1eb2
POOL_CEURTWETH=0x4a64c886cedF00db42ea5B946D6b304121ad9529

# Amounts in base units (6 decimals): 1M tokens = 1000000000000
ADD_LIQUIDITY_BASE_AMOUNT=1000000000000
ADD_LIQUIDITY_QUOTE_AMOUNT=1000000000000

Optional per-pool overrides: ADD_LIQUIDITY_CUSDTCUSDC_BASE, ADD_LIQUIDITY_CUSDTCUSDC_QUOTE, ADD_LIQUIDITY_CUSDTWETH_BASE, ADD_LIQUIDITY_CUSDTWETH_QUOTE, ADD_LIQUIDITY_CUSDCWETH_BASE, ADD_LIQUIDITY_CUSDCWETH_QUOTE, ADD_LIQUIDITY_CEURTWETH_BASE, ADD_LIQUIDITY_CEURTWETH_QUOTE, etc.


2. Run the add-liquidity script

From repo root (or from smom-dbis-138 with RPC_URL_138 and DODO_PMM_INTEGRATION set):

cd smom-dbis-138
source .env
forge script script/dex/AddLiquidityPMMPoolsChain138.s.sol:AddLiquidityPMMPoolsChain138 \
  --rpc-url "$RPC_URL_138" --broadcast --private-key "$PRIVATE_KEY" --with-gas-price 1000000000

Ensure the deployer has approved (or the script will approve) base/quote tokens to DODOPMMIntegration and has sufficient balance for the chosen amounts.


3. References