# Operator actions โ€” run summary **Date:** 2026-02-11 **Actions attempted:** All four operator actions from [CONTRACT_NEXT_STEPS_LIST](CONTRACT_NEXT_STEPS_LIST.md). --- ## Why do these fail from my machine? | Cause | What happens | Fix | |-------|----------------|-----| | **DNS** | `rpc-core.d-bis.org` / `explorer.d-bis.org` don't resolve off-LAN (e.g. "Could not resolve host"). | Run from VPN or a host with internal DNS; or pass a reachable RPC: `./scripts/verify/check-contracts-on-chain-138.sh `. | | **Private LAN** | Set `RPC_URL_138` (e.g. `http://192.168.11.211:8545`); Blockscout `192.168.11.140:4000`. Only reachable on 192.168.11.x LAN. | Run scripts from a host on that LAN or connected via VPN. | | **Script behavior** | The on-chain check script now loads `config/ip-addresses.conf` and prints a clear **WARN** when RPC is unreachable. On LAN (no RPC arg), it uses that config and gets **26/26 OK**. | Use `SKIP_EXIT=1` for report-only when RPC is unreachable. | --- ## 1. On-chain check **Command run:** `./scripts/verify/check-contracts-on-chain-138.sh` (or with `https://rpc-core.d-bis.org` explicitly). **Result (2026-02-11 re-run):** **26 present, 0 missing** when RPC was reachable. All 26 canonical addresses have bytecode on-chain. When RPC is unreachable, script reports all MISS and prints WARN. **To re-run:** Run from a host with RPC access: `./scripts/verify/check-contracts-on-chain-138.sh` (uses `RPC_URL_138`), or pass URL as argument. Use `SKIP_EXIT=1` for report-only when RPC is unreachable. --- ## 2. Blockscout verification **Command run:** `source smom-dbis-138/.env 2>/dev/null; ./scripts/verify/run-contract-verification-with-proxy.sh` **Result:** Proxy runs and submits to Blockscout. Submission for CCIPSender can fail with `Invalid JSON, result=None` (Blockscout API response). When Blockscout is unreachable from the host, run times out. **To complete:** Run from a host that can reach Blockscout. If submission returns Invalid JSON, try manual verification at https://explorer.d-bis.org/address/<ADDRESS>#verify-contract or check [BLOCKSCOUT_VERIFICATION_GUIDE](../08-monitoring/BLOCKSCOUT_VERIFICATION_GUIDE.md). --- ## 3. Reconcile .env **Check:** `smom-dbis-138/.env` was compared with the canonical block in [CONTRACT_ADDRESSES_REFERENCE ยง Canonical](CONTRACT_ADDRESSES_REFERENCE.md#-canonical-source-of-truth-chain-138) and with `smom-dbis-138/.env.example` (lines 52โ€“68). **Result:** **Done.** `.env` already contains one entry per canonical variable and the addresses match the reference table. No change made. --- ## 4. Multicall vs Oracle at 0x99b3... **Action:** Attempted to fetch the contract page at https://explorer.d-bis.org/address/0x99b3511a2d315a497c8112c1fdd8d508d4b1e506 to determine which contract (Multicall or Oracle Aggregator) is deployed at that slot. **Result:** **Done 2026-02-11.** Confirmed via RPC: `latestRoundData()` returns data, `getBlockNumber()` reverts โ€” **Oracle Aggregator**. Documented in [CONTRACT_ADDRESSES_REFERENCE](CONTRACT_ADDRESSES_REFERENCE.md). --- ## Summary | Action | Status | From this host | To complete from LAN/VPN | |---------------------|---------------|------------------------|-------------------------------| | On-chain check | **26/26 OK** (2026-02-11) | RPC reachable; all 26 addresses present | Re-run when new contracts deployed | | Blockscout verify | Attempted; submission can fail (Invalid JSON) | Proxy runs; Blockscout API may need manual verify | Manual verify at explorer or fix API | | Reconcile .env | **Done** | .env already matched | None | | Multicall vs Oracle | **Done** 2026-02-11 | Confirmed via RPC (Oracle Aggregator) | Documented in CONTRACT_ADDRESSES_REFERENCE |