Files
proxmox/docs/00-meta/OPERATOR_READY_CHECKLIST.md
defiQUG b3a8fe4496
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
chore: sync all changes to Gitea
- Config, docs, scripts, and backup manifests
- Submodule refs unchanged (m = modified content in submodules)

Made-with: Cursor
2026-03-02 11:37:34 -08:00

6.1 KiB
Raw Blame History

Operator Ready Checklist — Copy-Paste Commands

Last Updated: 2026-03-02
Purpose: Single page with exact commands to complete every pending todo. Run from repo root on a host with LAN access (and smom-dbis-138/.env with PRIVATE_KEY, NPM_PASSWORD where noted).

From anywhere (no LAN): ./scripts/run-completable-tasks-from-anywhere.sh


1. High: Gnosis, Celo, Wemix CCIP bridges

Ref: CONFIG_READY_CHAINS_COMPLETION_RUNBOOK

Prereqs: Confirm CCIP supports 100, 42220, 1111. Per chain: RPC, CCIP Router, LINK, WETH9/WETH10, deployer with native gas (xDAI, CELO, WEMIX).

cd smom-dbis-138
source .env

# Per chain (set RPC_URL, CCIP_ROUTER_ADDRESS, LINK_TOKEN_ADDRESS, WETH9_ADDRESS, WETH10_ADDRESS, PRIVATE_KEY)
forge script script/deploy/bridge/DeployWETHBridges.s.sol:DeployWETHBridges --rpc-url "$RPC_URL" --broadcast -vvvv

Then add destinations (Chain 138 ↔ each chain) and fund with LINK — use:

DRY_RUN=1 ./scripts/deployment/complete-config-ready-chains.sh   # print commands
./scripts/deployment/complete-config-ready-chains.sh             # run (requires bridge addresses in .env)

Full steps: See runbook § Step 14.


Ref: RELAY_BRIDGE_ADD_LINK_SUPPORT_RUNBOOK

Options: A = extend CCIPRelayBridge to accept LINK; B = deploy separate LINK receiver. After implement + deploy + fund:

# In config/token-mapping.json set relaySupported: true for LINK
# Update TOKEN_MAPPING_AND_MAINNET_ADDRESSES.md and CCIP_BRIDGE_MAINNET_CONNECTION.md
# Restart relay service on r630-01: /opt/smom-dbis-138/services/relay

3. LAN: Blockscout verification

source smom-dbis-138/.env 2>/dev/null
./scripts/verify/run-contract-verification-with-proxy.sh

Single contract retry: ./scripts/verify/run-contract-verification-with-proxy.sh --only ContractName


4. LAN: Fix E2E 502s

./scripts/maintenance/run-all-maintenance-via-proxmox-ssh.sh --e2e
# Or lighter:
./scripts/maintenance/address-all-remaining-502s.sh --run-besu-fix --e2e

Runbook: 502_DEEP_DIVE_ROOT_CAUSES_AND_FIXES.md


5. LAN: Run all operator tasks (backup + verify ± deploy ± create-vms)

./scripts/run-all-operator-tasks-from-lan.sh --dry-run    # print steps
./scripts/run-all-operator-tasks-from-lan.sh               # backup + Blockscout verify
./scripts/run-all-operator-tasks-from-lan.sh --deploy      # + contract deploy
./scripts/run-all-operator-tasks-from-lan.sh --create-vms  # + create DBIS Core containers
./scripts/run-all-operator-tasks-from-lan.sh --deploy --create-vms

5b. LAN: Chain 138 next steps (Phase 2: preflight → mirror+pool → register c* as GRU → verify)

Ref: DEPLOYMENT_ORDER_OF_OPERATIONS Phase 2. Use when mirror/pool/GRU registration or verify are pending.

./scripts/deployment/run-all-next-steps-chain138.sh --dry-run   # print steps only
./scripts/deployment/run-all-next-steps-chain138.sh              # run all (preflight, deploy mirror+pool, register c*, verify)
./scripts/deployment/run-all-next-steps-chain138.sh --skip-mirror   # pool + register + verify only (set TRANSACTION_MIRROR_ADDRESS in smom-dbis-138/.env first)

If TransactionMirror deploy fails with CreateCollision: set TRANSACTION_MIRROR_ADDRESS=0xC7f2Cf4845C6db0e1a1e91ED41Bcd0FcC1b0E141 in smom-dbis-138/.env and re-run with --skip-mirror. See TRANSACTION_MIRROR_CHAIN138_COLLISION_FIX.


6. Low: DODO PMM on Chain 138

Ref: OPTIONAL_DEPLOYMENTS_START_HERE §2B

Prereqs: Set in smom-dbis-138/.env: DODO_VENDING_MACHINE_ADDRESS, COMPLIANT_USDT_ADDRESS, COMPLIANT_USDC_ADDRESS.

./scripts/run-optional-deployments.sh --execute --phases 7
# Or from smom-dbis-138: ./scripts/deployment/deploy-optional-future-all.sh (Phase 7 = DODO)

7. Low: Mainnet trustless stack (Lockbox138 + Mainnet)

Ref: OPTIONAL_DEPLOYMENTS_START_HERE §2C

Prereqs: ETHEREUM_MAINNET_RPC, Mainnet ETH for deployer.

cd smom-dbis-138
source .env
forge script script/bridge/trustless/DeployTrustlessBridge.s.sol:DeployTrustlessBridge \
  --rpc-url "$ETHEREUM_MAINNET_RPC" --broadcast --via-ir --verify
# Then: Lockbox138 on 138; configure Lockbox138↔InboxETH; fund liquidity. See runbook §C.

8. Wave 0: sendCrossChain (real) and NPMplus backup

sendCrossChain (real): Requires PRIVATE_KEY and LINK approved in .env. Bridge: 0x971cD9D156f193df8051E48043C476e53ECd4693.

bash scripts/bridge/run-send-cross-chain.sh 0.01 [recipient_address]
# Omit --dry-run to execute. Example: bash scripts/bridge/run-send-cross-chain.sh 0.01 0x...

NPMplus backup: Requires NPM_PASSWORD in .env and host on LAN.

bash scripts/verify/backup-npmplus.sh
# Or combined Wave 0: bash scripts/run-wave0-from-lan.sh

NPMplus RPC fix (405): From LAN: bash scripts/nginx-proxy-manager/update-npmplus-proxy-hosts-api.sh. Verify: bash scripts/verify/verify-end-to-end-routing.sh.


9. Wemix token verification (High)

Open scan.wemix.com/tokens; confirm WETH, USDT, USDC addresses. If different, update config/token-mapping-multichain.json and WEMIX_TOKEN_VERIFICATION.md. Then:

./scripts/validation/validate-config-files.sh

References