Files
smom-dbis-138/docs/deployment/NEXT_STEPS_COMPLETION.md
defiQUG 76aa419320 feat: bridges, PMM, flash workflow, token-aggregation, and deployment docs
- CCIP/trustless bridge contracts, GRU tokens, DEX/PMM tests, reserve vault.
- Token-aggregation service routes, planner, chain config, relay env templates.
- Config snapshots and multi-chain deployment markdown updates.
- gitignore services/btc-intake/dist/ (tsc output); do not track dist.

Run forge build && forge test before deploy (large solc graph).

Made-with: Cursor
2026-04-07 23:40:52 -07:00

98 lines
6.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Next Steps Completion Summary
> Historical note (2026-04-01): this completion summary preserves an earlier PMM deployment phase. The live canonical Chain 138 PMM stable stack is now `DODOPMMIntegration=0x86ADA6Ef91A3B450F89f2b751e93B1b7A3218895` and `DODOPMMProvider=0x3f729632E9553EBacCdE2e9b4c8F2B285b014F2e`.
**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; the live canonical stable stack is now `0x86ADA6Ef91A3B450F89f2b751e93B1b7A3218895` with provider `0x3f729632E9553EBacCdE2e9b4c8F2B285b014F2e`. `DODO_VENDING_MACHINE_ADDRESS` and `DODO_PMM_INTEGRATION` should follow the current DVM-backed deployment in `.env`. |
---
## 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 <CCIP_LOGGER_ETH_ADDRESS> "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 G1G3 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.