# Contract next steps — single checklist **Purpose:** One list of all next steps (done, operator, pending). Full detail: [CONTRACT_NEXT_STEPS_AND_RECOMMENDATIONS_COMPLETE](CONTRACT_NEXT_STEPS_AND_RECOMMENDATIONS_COMPLETE.md). --- ## All next steps at a glance | # | Task | Type | Status | |---|------|------|--------| | 1 | **Chain 138 next steps (all in one)** | Operator | `./scripts/deployment/run-all-next-steps-chain138.sh` — preflight → mirror+pool → register c* as GRU → verify; use `--skip-mirror` if mirror exists. | | 2 | On-chain check (59 addresses; run check-contracts-on-chain-138.sh) | Operator | Run `./scripts/verify/check-contracts-on-chain-138.sh` from host with RPC | | 3 | Blockscout source verification | Operator | Run from host that can reach Blockscout | | 4 | Reconcile .env | Repo | Done 2026-02-11 | | 5 | Multicall vs Oracle at 0x99b3... | Operator | Confirm on explorer; document in CONTRACT_ADDRESSES_REFERENCE | | 6 | Deploy phased core (138) | Optional | Done 2026-02-11 | | 7 | Deploy trustless bridge | Optional | When needed; script/bridge/trustless/ | | 8 | Mainnet/multichain deployments | Optional | DeployAll or chain scripts; document addresses | | 9 | CREATE2 / deterministic core | Pending | When needed | | 10 | Vault / reserve / Keeper | Pending | When needed | | 11 | Dodo / swap integration | Pending | When needed | | 12 | eMoney / smart accounts | Pending | When needed | | 13 | PaymentChannelManager / GenericStateChannelManager | Pending | When needed; see PAYMENT_CHANNELS_DEPLOYMENT.md | --- ## Completed in repo - [x] Deprecated bridge removed from defaults (use `0x971c...` only) - [x] CCIP Router and Chain 138 addresses in .env.example and terraform - [x] Full inventory: [SMART_CONTRACTS_INVENTORY_ALL_CHAINS](SMART_CONTRACTS_INVENTORY_ALL_CHAINS.md) - [x] Simple inventory and verification: [SMART_CONTRACTS_INVENTORY_SIMPLE](SMART_CONTRACTS_INVENTORY_SIMPLE.md), [CONTRACT_INVENTORY_AND_VERIFICATION](CONTRACT_INVENTORY_AND_VERIFICATION.md) - [x] Address inconsistencies resolved (CONTRACT_INVENTORY_AND_VERIFICATION §7) - [x] Verification script and proxy: `scripts/verify/run-contract-verification-with-proxy.sh`, etc. - [x] Canonical source of truth: [CONTRACT_ADDRESSES_REFERENCE § Canonical](CONTRACT_ADDRESSES_REFERENCE.md#-canonical-source-of-truth-chain-138) - [x] On-chain check script: `scripts/verify/check-contracts-on-chain-138.sh` (36 addresses: canonical + channels/mirror/trustless + CREATE2) - [x] Deployer balance & gas check: `smom-dbis-138/scripts/deployment/check-balances-gas-and-deploy.sh` - [x] Deployer tokens (all networks): `smom-dbis-138/scripts/deployment/list-deployer-tokens-all-networks.sh` - [x] Phased core (138) deployed 2026-02-11: UniversalAssetRegistry, GovernanceController, UniversalCCIPBridge, BridgeOrchestrator (see CONTRACT_ADDRESSES_REFERENCE) - [x] Channel manager docs and runbooks (smom-dbis-138 docs/channels, PAYMENT_CHANNELS_DEPLOYMENT) --- ## Operator actions (need network/explorer) **Last run summary:** [OPERATOR_RUN_SUMMARY](OPERATOR_RUN_SUMMARY.md) (2026-02-11). From a host without LAN/VPN: on-chain check and Blockscout were run but RPC/Blockscout unreachable; .env verified reconciled; Multicall/Oracle not confirmed (explorer timeout). - [x] **On-chain check:** Run `./scripts/verify/check-contracts-on-chain-138.sh` — **Done 2026-02-11** (26/26 OK). Re-run when new contracts are deployed. - [ ] **Blockscout verification:** From host that can reach Blockscout: `source smom-dbis-138/.env 2>/dev/null; ./scripts/verify/run-contract-verification-with-proxy.sh`. Or verify each contract at https://explorer.d-bis.org/address/
#verify-contract. - [x] **Reconcile .env:** Verified 2026-02-11: `smom-dbis-138/.env` has one entry per variable and matches [CONTRACT_ADDRESSES_REFERENCE § Canonical](CONTRACT_ADDRESSES_REFERENCE.md#-canonical-source-of-truth-chain-138). No change needed. - [x] **Multicall vs Oracle at 0x99b3...:** **Done 2026-02-11.** Confirmed via RPC (`latestRoundData()` returns data, `getBlockNumber()` reverts): **Oracle Aggregator**. Documented in [CONTRACT_ADDRESSES_REFERENCE](CONTRACT_ADDRESSES_REFERENCE.md). --- ## Optional (when needed) - [x] ~~Deploy phased core (138)~~ — **Done 2026-02-11.** Addresses in CONTRACT_ADDRESSES_REFERENCE. To redeploy: `cd smom-dbis-138 && ./scripts/deployment/check-balances-gas-and-deploy.sh --deploy`. - [ ] Deploy trustless bridge: from `script/bridge/trustless/`; update config/production placeholders. - [ ] Mainnet/multichain: use DeployAll or chain-specific scripts; document addresses per chain. --- ## Pending (when needed) - [x] ~~AddressMapper / MirrorManager (Chain 138)~~ — Deployed 2026-02-12. TransactionMirror: deploy via `forge create` with `--with-gas-price 1000000000` if script fails. - [ ] CREATE2 / deterministic core (when needed) - [ ] Vault / reserve / Keeper - [ ] Dodo / swap integration - [ ] eMoney / smart accounts - [ ] PaymentChannelManager / GenericStateChannelManager (see smom-dbis-138 PAYMENT_CHANNELS_DEPLOYMENT.md). **Chain 138:** use `--with-gas-price 1000000000`. --- **See also:** [OPERATOR_OPTIONAL_CHECKLIST](OPERATOR_OPTIONAL_CHECKLIST.md) (all optional/operator tasks and commands) | [OPERATOR_RUN_SUMMARY](OPERATOR_RUN_SUMMARY.md) | [CONTRACT_NEXT_STEPS_AND_RECOMMENDATIONS_COMPLETE](CONTRACT_NEXT_STEPS_AND_RECOMMENDATIONS_COMPLETE.md) | [OPERATOR_ACTIONS](OPERATOR_ACTIONS.md) | [CONTRACT_REMAINING_OPERATOR_ACTIONS](CONTRACT_REMAINING_OPERATOR_ACTIONS.md)