# Next Steps Completion Summary > Historical note (2026-03-26): this completion summary preserves an earlier PMM deployment phase. The current canonical Chain 138 PMM stack is `DODOPMMIntegration=0x5BDc62f1ae7D630c37A8B363a1d49845356Ee72d` and `DODOPMMProvider=0x5CAe6Ce155b7f08D3a956F5Dc82fC9945f29B381`. **Date:** 2026-02-20 This document summarizes what was completed in the "next steps" pass and what remains for the operator. --- ## Completed (automated / code) | Item | Status | |------|--------| | **Prerequisites** | `ensure-prerequisites.sh` run; .env, PRIVATE_KEY, RPC_URL_138, bridge vars, token addresses OK. PMM and LINK noted as operator tasks. | | **Chain 138 verification** | `verify-chain138-full-deployment.sh` run: **14 success, 2 warnings, 0 errors**. Warnings: besu-network namespace (optional), genesis.json (optional for RPC-only). | | **.env.example** | Added `CCIP_LOGGER_ETH_ADDRESS` and kept `CHAIN138_CCIP_REPORTER` comment. Single source for deploy/relay/token-aggregation. | | **CCIPLogger (mainnet)** | Deployed at `0x4F95297C23d9f4A1032B1c6a2E553225CB175BEe`; `CCIP_LOGGER_ETH_ADDRESS` in .env. | | **CCIPTxReporter (Chain 138)** | Deployed at `0x3F88b662F04d9B1413BA8d65bFC229e830D7d077`; `CHAIN138_CCIP_REPORTER` in .env. | | **Phased core (Chain 138)** | 01_DeployCore and 02_DeployBridges addresses in .env (e.g. UNIVERSAL_ASSET_REGISTRY, GOVERNANCE_CONTROLLER, UNIVERSAL_CCIP_BRIDGE, BRIDGE_ORCHESTRATOR). | | **Verify script** | Optional checks (CCIPTxReporter, genesis) are warnings; log_* fallbacks; safe unset-var handling. | | **Hardhat / Forge** | @emoney/interfaces replaced with relative imports; Hardhat viaIR for 0.8.22; Forge build available. | | **Docs** | WARNINGS_AND_OPTIONAL_TASKS.md, DVM_DEPLOYMENT_CHECK.md, ALL_MAINNETS_DEPLOYMENT_RUNBOOK (PMM step → DVM doc), TODO_TASK_LIST_MASTER §10b updated. | | **PMM (Chain 138)** | Earlier Mock DVM phase completed; current canonical PMM integration is `0x5BDc62f1ae7D630c37A8B363a1d49845356Ee72d` and supersedes the initial stack. `DODO_VENDING_MACHINE_ADDRESS` and `DODO_PMM_INTEGRATION` were set in .env during the first deployment phase. | --- ## Operator / manual | Item | Action | |------|--------| | **LINK funding** | Deployer needs LINK on each chain. Run `scripts/deployment/fund-ccip-bridges-with-link.sh` (use `DRY_RUN=1` first). Transfers were attempted; failed on all chains (no LINK balance or gas). | | **PMM pool creation** | Optional: grant POOL_MANAGER_ROLE and call `createCUSDTUSDTPool`, `createCUSDCUSDCPool` on `DODO_PMM_INTEGRATION`. For real DODO liquidity, deploy official DVM (DVM_DEPLOYMENT_CHECK.md option 1) and re-deploy integration. | | **Etherscan verification** | Optional. Verify was attempted; Etherscan returned deprecation error (V1 → V2 migration). When migrated, use: `npx hardhat verify --network mainnet "0x80226fc0Ee2b096224EeAc085Bb9a8cba1146f7D" "0x0000000000000000000000000000000000000000" 138`. | | **CCIPLogger on other chains** | Optional. Run `scripts/deployment/deploy-ccip-logger-all-chains.sh` for BSC, Polygon, etc., if desired. | --- ## Script reference - Prerequisites: `scripts/deployment/ensure-prerequisites.sh` - Balance check + deploy: `scripts/deployment/check-balances-gas-and-deploy.sh` [--deploy] - Verification: `scripts/deployment/verify-chain138-full-deployment.sh` - LINK: `scripts/deployment/fund-ccip-bridges-with-link.sh` - PMM: `scripts/deployment/run-pmm-and-pools.sh` - CCIPLogger (all chains): `scripts/deployment/deploy-ccip-logger-all-chains.sh` --- ## Session 2026-02-23 (continuation) | Item | Result | |------|--------| | **Chain 138 verification** | `verify-chain138-full-deployment.sh`: 14 success, 2 warnings, 0 errors. RPC, chain ID, WETH9/10, CCIPTxReporter, CCIP Router, bridges, .env, connectivity OK. | | **Fund CCIP dry-run** | `DRY_RUN=1 ./scripts/deployment/fund-ccip-bridges-with-link.sh` run; cast send commands printed for 138, mainnet, BSC, Polygon, Base, Optimism, Arbitrum, Avalanche, Cronos, Gnosis. | | **Doc accuracy** | `ALL_NEXT_STEPS_CURRENT.md` updated: Burn/Mint check and mint/test-transfer scripts noted as "if present in your clone" (scripts not in this repo at referenced paths). | | **Forge test** | Run with `--no-match-test "Fork|Mainnet|Integration|e2e"`; see terminal or CI for result. | Remaining for operator: set `LIQUIDITY_POOL_ETH_MAINNET` and run fund-mainnet-lp.sh; run fund-ccip-bridges-with-link.sh (real run when deployer has LINK + gas); optional G1–G3 and CCIPLogger; Burn/Mint live transfer still blocked by CCIP "chain not supported" until Chain 138 is supported. --- ## Session 2026-02-23 (continue and complete, including optional) | Step | Result | |------|--------| | **Chain 138 verification** | Re-ran: 14 success, 2 warnings, 0 errors. | | **Fund CCIP dry-run** | Commands printed for all chains. | | **Fund mainnet LP dry-run** | OK; real run: `fund-mainnet-lp.sh --eth 1 --weth 0.5`. | | **Optional G1 (PMM L2s)** | Deployed DODOPMMIntegration on Polygon; run-all-four-gaps G1 ran (e.g. BSC). | | **Optional G2 (Trustless L2s)** | Deployed Trustless stack on Polygon (`--no-lockbox`). G3: `deploy-trustless-l2s.sh --lockbox`. | | **Optional run-all-four-gaps** | G1/G2/G3/G4 script; full: `run-all-four-gaps.sh g1 g2g3 g4 --eth 1 --weth 0.5`. | | **Optional CCIPLogger** | `deploy-ccip-logger-all-chains.sh`; requires Node/Hardhat and per-chain RPC. | | **Forge test** | Run locally: `forge test --no-match-test "Fork|Mainnet|Integration|e2e"`. | **Full run report:** [COMPLETION_RUN_20260223_ALL_STEPS.md](COMPLETION_RUN_20260223_ALL_STEPS.md). --- ## Session 2026-02-23 (with keys in .env) With private key, Etherscan API key, and Infura/MetaMask keys in dotenv, the following was run: - **Chain 138 verification:** 14 success, 2 warnings. - **DApp env check:** Passed. - **Fund CCIP (real):** Run with `--link 5`; **Avalanche WETH10 bridge funded** (5 LINK). Other chains failed (no LINK, gas, or base fee). - **Fund mainnet LP:** Failed (OutOfFunds — fund deployer with ETH on mainnet first). - **Etherscan verify:** CCIPLogger verified after Etherscan V2 migration (single apiKey in hardhat.config.js): https://etherscan.io/address/0x4F95297C23d9f4A1032B1c6a2E553225CB175BEe#code - **Forge test:** Started (long-running); run locally to completion. **Report:** [COMPLETION_RUN_WITH_KEYS_20260223.md](COMPLETION_RUN_WITH_KEYS_20260223.md). --- ## Summary All automatable next steps and operator PMM (via mock DVM) are complete. Remaining: LINK funding (deployer must hold LINK on each chain and re-run the script), optional Etherscan verify, and optional CCIPLogger on other chains.