Files
proxmox/docs/11-references/OPERATOR_OPTIONAL_CHECKLIST.md
defiQUG fbda1b4beb
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
docs: Ledger Live integration, contract deploy learnings, NEXT_STEPS updates
- ADD_CHAIN138_TO_LEDGER_LIVE: Ledger form done; public code review repo bis-innovations/LedgerLive; init/push commands
- CONTRACT_DEPLOYMENT_RUNBOOK: Chain 138 gas price 1 gwei, 36-addr check, TransactionMirror workaround
- CONTRACT_*: AddressMapper, MirrorManager deployed 2026-02-12; 36-address on-chain check
- NEXT_STEPS_FOR_YOU: Ledger done; steps completable now (no LAN); run-completable-tasks-from-anywhere
- MASTER_INDEX, OPERATOR_OPTIONAL, SMART_CONTRACTS_INVENTORY_SIMPLE: updates
- LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE: bis-innovations/LedgerLive reference

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 15:46:57 -08:00

138 lines
6.7 KiB
Markdown

# Operator optional checklist
**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.
**Related:** [CONTRACT_NEXT_STEPS_LIST](CONTRACT_NEXT_STEPS_LIST.md) | [CONTRACT_NEXT_STEPS_AND_RECOMMENDATIONS_COMPLETE](CONTRACT_NEXT_STEPS_AND_RECOMMENDATIONS_COMPLETE.md) | [OPERATOR_ACTIONS](OPERATOR_ACTIONS.md)
---
## 1. Blockscout source verification (optional)
**When:** After deployments or when contracts show "Unverified" on the explorer.
**Option A — Proxy (from host that can reach Blockscout, e.g. LAN/VPN):**
```bash
source smom-dbis-138/.env 2>/dev/null
./scripts/verify/run-contract-verification-with-proxy.sh
```
- RPC and Blockscout must be reachable (e.g. `192.168.11.211:8545`, `192.168.11.140:4000` or explorer.d-bis.org).
- If submission returns "Invalid JSON", use Option B or C.
**Option B — Direct Forge (same host, explorer reachable):**
```bash
cd smom-dbis-138
export RPC="${RPC_URL_138:-https://rpc-core.d-bis.org}"
export VERIFIER="https://explorer.d-bis.org/api"
# Example: CCIPSender
forge verify-contract 0x105F8A15b819948a89153505762444Ee9f324684 \
contracts/ccip/CCIPSender.sol:CCIPSender \
--chain-id 138 --rpc-url "$RPC" --verifier blockscout --verifier-url "$VERIFIER" --flatten
```
- 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`.
- Reference: [CONTRACT_DEPLOYMENT_RUNBOOK](../03-deployment/CONTRACT_DEPLOYMENT_RUNBOOK.md), [CONTRACTS_TO_DEPLOY](CONTRACTS_TO_DEPLOY.md).
---
## 3. Mainnet / multichain deployments (optional)
**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).
---
## 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.
**Chain 138 (2026-02-12):** AddressMapper `0x439Fcb2d2ab2f890DCcAE50461Fa7d978F9Ffe1A`, MirrorManager `0x6eD905A30c552a6e003061A38FD52A5A427beE56` — deployed. TransactionMirror: if `forge script script/DeployTransactionMirror.s.sol` hits constructor-args decode error, deploy via `forge create contracts/mirror/TransactionMirror.sol:TransactionMirror --constructor-args <ADMIN> --rpc-url $CHAIN138_RPC_URL --private-key $PRIVATE_KEY --gas-price 1000000000`.
**Steps:**
- **Chain 138:** Always use `--with-gas-price 1000000000` for any `forge script` or `forge create`.
- Deploy channel managers via `smom-dbis-138/script/DeployPaymentChannelManager.s.sol` and `DeployGenericStateChannelManager.s.sol`.
- Reference: [PAYMENT_CHANNELS_DEPLOYMENT](../../smom-dbis-138/docs/deployment/PAYMENT_CHANNELS_DEPLOYMENT.md) and `smom-dbis-138/docs/channels/`.
---
## Summary
| # | Task | When | Command / reference |
|---|------|------|----------------------|
| 1 | Blockscout verification | After deploy or when unverified | Proxy script or direct forge or manual UI (above) |
| 2 | Trustless bridge | When using trustless stack | script/bridge/trustless/ + config/production |
| 3 | Mainnet/multichain | When deploying to other chains | DeployAll or chain scripts; document addresses |
| 4 | CREATE2 core | When deterministic addresses needed | DeployDeterministicCore.s.sol |
| 5 | Vault / reserve / Keeper | When vault/reserve needed | script/deploy/vault/, script/reserve/ |
| 6 | Dodo / swap | When DEX needed | script/deploy/dex/, DeployEnhancedSwapRouter |
| 7 | eMoney / smart accounts | When needed | script/emoney/, script/smart-accounts/ |
| 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). |
---
**Last updated:** 2026-02-12