Files
proxmox/docs/11-references/OPERATOR_OPTIONAL_CHECKLIST.md
defiQUG bea1903ac9
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
Sync all local changes: docs, config, scripts, submodule refs, verification evidence
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-21 15:46:06 -08:00

7.4 KiB

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_AND_RECOMMENDATIONS_COMPLETE | OPERATOR_ACTIONS


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):

source smom-dbis-138/.env 2>/dev/null
./scripts/verify/run-contract-verification-with-proxy.sh
  • RPC and Blockscout must be reachable (set RPC_URL_138 for Core; explorer.d-bis.org for Blockscout).
  • If submission returns "Invalid JSON", use Option B or C.

Option B — Direct Forge (same host, explorer reachable):

cd smom-dbis-138
export RPC="${RPC_URL_138:-https://rpc-core.d-bis.org}"   # Chain 138 Core
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

Option C — Manual UI:
Open https://explorer.d-bis.org/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, CONTRACTS_TO_DEPLOY.

3. Mainnet / multichain deployments (optional)

When: Deploying to Ethereum mainnet or other chains.

Steps:


3b. Relay and token mapping (138↔Mainnet)

When: Running the relay (138→Mainnet), adding a new token, or enabling LINK on the mainnet bridge.

Reference:


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.


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.


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. 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.


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 0xe48E3f248698610e18Db865457fcd935Bb3da856, 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 $RPC_URL_138 --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 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