- Update dbis_core, cross-chain-pmm-lps, explorer-monorepo, metamask-integration, pr-workspace/chains - Omit embedded publish git dirs and empty placeholders from index Made-with: Cursor
4.8 KiB
Mainnet Standard DODO Pool Migration Plan
Purpose: replace partial-surface Mainnet cW public pools with canonical full-surface DODO pools so routing, explorers, and indexers can treat them as ordinary DODO venues.
1. Audit the current factory path
Run:
bash scripts/verify/audit-mainnet-dodo-standard-pool-readiness.sh
This reports:
DODO_PMM_INTEGRATION_MAINNETdodoVendingMachine()on the live integration- runtime code size for the integration, factory, and each recorded pool
- integration mapping vs env-backed pool address
querySellBase/querySellQuoteprobe status- whether
hasStandardPoolSurface(pool)is set
2. Target state
Each replacement pool should satisfy all of the following:
- canonical factory-backed creation path
_BASE_TOKEN_/_QUOTE_TOKEN_match the intended pairgetVaultReserve,getMidPrice,_BASE_RESERVE_,_QUOTE_RESERVE_succeedquerySellBaseandquerySellQuotesucceed after liquidity is addedrefreshPoolSurface(pool)returnstrue
The integration now enforces this for future create-and-seed flows in smom-dbis-138/contracts/dex/DODOPMMIntegration.sol.
3. Files and scripts to update during replacement rollout
3.1 Canonical creation and verification path
smom-dbis-138/contracts/dex/DODOPMMIntegration.solThis is now the contract-level guardrail. Future replacement pools should be created through this integration and validated after liquidity.smom-dbis-138/script/dex/DeployDODOPMMIntegration.s.solConfirms whichDODO_VENDING_MACHINE_ADDRESSis wired into the integration deployment.scripts/deployment/deploy-mainnet-public-dodo-wave1-pool.shMain operator entrypoint for creating and seeding replacement Mainnet cW public pools.scripts/verify/check-mainnet-public-dodo-cw-bootstrap-pools.shPost-migration verification for mapping, reserves, and dry-run routability.scripts/verify/audit-mainnet-dodo-standard-pool-readiness.shMigration audit for factory path and standard-surface readiness.
3.2 Address and env inventory
Update the env-backed pool address references used by scripts and operators:
- root
.env .env.master.example
Pool keys to review and replace as each migration lands:
POOL_CWUSDT_USDC_MAINNETPOOL_CWUSDC_USDC_MAINNETPOOL_CWUSDT_USDT_MAINNETPOOL_CWUSDC_USDT_MAINNETPOOL_CWEURC_USDC_MAINNETPOOL_CWGBPC_USDC_MAINNETPOOL_CWAUDC_USDC_MAINNETPOOL_CWCADC_USDC_MAINNETPOOL_CWJPYC_USDC_MAINNETPOOL_CWCHFC_USDC_MAINNET
Also confirm:
DODO_PMM_INTEGRATION_MAINNETDODO_VENDING_MACHINE_ADDRESSfor the deployment context that creates replacement pools- any explicit mainnet DODO factory env, if introduced for stricter deployment controls
3.3 Routing and public status surfaces
Update the public inventories that describe the active pool set:
config/smart-contracts-master.jsonAdd or replace canonical Mainnet DODO pool references if this file is used as the public address source of truth.config/aggregator-route-matrix.csvconfig/aggregator-route-matrix.jsonUpdate any rows that embed legacy pool addresses or notes.docs/11-references/PMM_DEX_ROUTING_STATUS.mddocs/03-deployment/MAINNET_PMM_TRUU_CWUSD_PEG_AND_BOT_RUNBOOK.mdRemove partial-surface caveats only after every active public pool in scope has been replaced and validated.
3.4 Swap and operational helpers
Review helpers that may have embedded assumptions or pool references:
scripts/deployment/run-mainnet-public-dodo-cw-swap.shscripts/deployment/plan-mainnet-cw-stabilization.shscripts/verify/check-mainnet-pmm-peg-bot-readiness.shscripts/verify/check-full-deployment-status.shscripts/README.mdscripts/verify/README.md
4. Recommended rollout sequence
- Audit the current integration/factory/pool path with
audit-mainnet-dodo-standard-pool-readiness.sh. - Confirm the live integration is wired to the intended canonical DODO factory or adapter.
- Deploy one replacement pool for a single pair through the integration.
- Seed liquidity through
addLiquidity(...); this now fails unless the pool exposes the standard quote surface. - Call
refreshPoolSurface(pool)and confirmhasStandardPoolSurface(pool) == true. - Update env/config references for that pair.
- Run
check-mainnet-public-dodo-cw-bootstrap-pools.shand the relevant dry-run/live swap checks. - Repeat pair-by-pair, then retire the legacy pool references from public docs and route inventories.
5. Immediate migration risk to watch
Because replacement is address-based, any public explorer, route matrix, or env file that still points at the old pool will continue to show the legacy partial-surface behavior even after a correct replacement pool exists. The migration only becomes visible to routers and indexers after those references are updated.