**Purpose:** Single list of all remaining operator and optional tasks with exact commands and references. Use when you want to complete Blockscout verification, deploy the trustless bridge, or run any "when needed" deployment.
- Other contracts and full manual commands: [BLOCKSCOUT_VERIFICATION_GUIDE](../08-monitoring/BLOCKSCOUT_VERIFICATION_GUIDE.md) and script `scripts/verify-contracts-blockscout.sh` (addresses/paths).
**Option C — Manual UI:**
Open https://explorer.d-bis.org/address/<ADDRESS>#verify-contract and use "Verify & Publish" with Standard JSON or flattened source.
---
## 2. Trustless bridge (optional, when needed)
**When:** You need the trustless bridge stack on Chain 138 and mainnet.
**Steps:**
- Deploy from `script/bridge/trustless/` (see scripts and order in repo).
- Set production env: replace placeholders in `config/production/.env.production.example` and use `config/production/.env.production`.
**When:** Deploying to Ethereum mainnet or other chains.
**Steps:**
- Use `DeployAll.s.sol` or chain-specific scripts in `smom-dbis-138/script/` with correct RPC and env.
- Document addresses per chain in [CONTRACT_ADDRESSES_REFERENCE](CONTRACT_ADDRESSES_REFERENCE.md) or [SMART_CONTRACTS_INVENTORY_ALL_CHAINS](SMART_CONTRACTS_INVENTORY_ALL_CHAINS.md).
**When:** Running the relay (138→Mainnet), adding a new token, or enabling LINK on the mainnet bridge.
**Reference:**
- Token mapping source of truth: [config/token-mapping.json](../../config/token-mapping.json). When adding a token, add an entry and optionally update [CHAIN138_TOKEN_ADDRESSES](CHAIN138_TOKEN_ADDRESSES.md).
- Full table and recommendations: [TOKEN_MAPPING_AND_MAINNET_ADDRESSES](../07-ccip/TOKEN_MAPPING_AND_MAINNET_ADDRESSES.md).
- Fund mainnet CCIPRelayBridge (WETH9) for payouts: [CCIP_BRIDGE_MAINNET_CONNECTION](../07-ccip/CCIP_BRIDGE_MAINNET_CONNECTION.md). Optional LINK support: [RELAY_BRIDGE_ADD_LINK_SUPPORT_RUNBOOK](../07-ccip/RELAY_BRIDGE_ADD_LINK_SUPPORT_RUNBOOK.md).
## 4. CREATE2 / deterministic core (optional, when needed)
**When:** Deterministic addresses are required.
**Command / reference:**
`smom-dbis-138/script/deploy/DeployDeterministicCore.s.sol` — run with Foundry from `smom-dbis-138`; see [CONTRACTS_TO_DEPLOY](CONTRACTS_TO_DEPLOY.md).
---
## 5. Vault / reserve / Keeper (optional, when needed)
**When:** Vault or reserve flow is needed.
**Reference:**
`smom-dbis-138/script/deploy/vault/`, `smom-dbis-138/script/reserve/` — see [CONTRACTS_TO_DEPLOY](CONTRACTS_TO_DEPLOY.md).
---
## 6. Dodo / swap integration (optional, when needed)
**When:** DEX integration is needed.
**Reference:**
`smom-dbis-138/script/deploy/dex/`, `smom-dbis-138/script/bridge/trustless/DeployEnhancedSwapRouter.s.sol` — see [CONTRACTS_TO_DEPLOY](CONTRACTS_TO_DEPLOY.md). Set Dodo-related addresses in `smom-dbis-138/.env` per `.env.example`.
---
## 7. eMoney / smart accounts (optional, when needed)
**When:** eMoney or account abstraction is needed.
**Reference:**
`smom-dbis-138/script/emoney/`, `smom-dbis-138/script/smart-accounts/` — see [CONTRACTS_TO_DEPLOY](CONTRACTS_TO_DEPLOY.md).
---
## 8. PaymentChannelManager / GenericStateChannelManager / Mirror (optional, when needed)
**When:** Channel or mirror features are needed on Mainnet or Chain 138.
| 8 | Payment/state channels / mirror | When channel/mirror needed | AddressMapper, MirrorManager deployed 2026-02-12; TransactionMirror via forge create if script fails; DeployPaymentChannelManager, DeployGenericStateChannelManager; use --with-gas-price 1000000000 on Chain 138 |
---
## Completion status (automated run)
| Task | Result |
|------|--------|
| **Blockscout verification** | Direct `--verifier-url https://explorer.d-bis.org/api` fails (Blockscout requires `module`/`action` in query; use **proxy** from LAN or manual UI). |
| **PaymentChannelManager** | Script simulated OK (no `--broadcast`). To deploy: add `--broadcast --private-key $PRIVATE_KEY`. |
| **GenericStateChannelManager** | Script simulated OK (no `--broadcast`). To deploy: add `--broadcast --private-key $PRIVATE_KEY`. |
| **DeployDeterministicCore** | **Fixed 2026-02-11:** Refactored to struct + _deployAll; registry deployed via proxy. Compiles and simulates. |
| **Trustless bridge** | No `script/bridge/trustless/` in repo; referenced in docs only. |
| **Vault / reserve / eMoney** | Scripts exist; run when needed (simulate first with `forge script ... --rpc-url $RPC` then `--broadcast` to deploy). |