- 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
98 lines
6.6 KiB
Markdown
98 lines
6.6 KiB
Markdown
# 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 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.
|