Files
proxmox/docs/00-meta/DEPLOY_CONFIRM_AND_FULL_E2E_RUNBOOK.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

5.2 KiB

Deploy Confirm and Full E2E Testing Runbook

Last updated: 2026-02-14

Run this sequence to ensure everything is deployed, confirmed, verified, and then run full e2e testing.


1. Deploy confirmed (from LAN only)

From a host on the same LAN as 192.168.11.x (or with reachable RPC):

# On-chain check: all contract addresses from config/smart-contracts-master.json have bytecode
source scripts/lib/load-project-env.sh
./scripts/verify/check-contracts-on-chain-138.sh
# Expect: "Total: N present, 0 missing"

If RPC is unreachable from your host, you'll see "0 present, N missing" and a WARN. Run the same command from a machine on VPN/LAN or pass a reachable RPC: ./scripts/verify/check-contracts-on-chain-138.sh https://rpc.d-bis.org.


2. Contracts verified (Blockscout)

Verification was fixed (forge-verification-proxy accepts form-encoded bodies). From LAN:

source smom-dbis-138/.env 2>/dev/null
./scripts/verify/run-contract-verification-with-proxy.sh
# Or one contract: ./scripts/verify/run-contract-verification-with-proxy.sh --only Multicall

Check https://explorer.d-bis.org/address/ for verification status.


3. Unit and E2E tests (no LAN required)

smom-dbis-138

cd smom-dbis-138
forge test
forge test --match-path "test/e2e/*.sol"

alltra-lifi-settlement

cd alltra-lifi-settlement
forge test
npm run test:e2e -- --forceExit
  • Forge tests: pass without RPC.
  • Jest e2e: payment-flow and monitoring-flow can pass; withdrawal-flow requires reachable Chain 138 RPC (192.168.11.211:8545 or public RPC). Run from LAN for full e2e pass.

4. E2E routing (public domains)

From anywhere (uses public DNS/HTTPS):

./scripts/verify/verify-end-to-end-routing.sh
  • DNS: all domains.
  • HTTPS / RPC: Some endpoints may return 502 (dbis-admin, dbis-api, rpc-http-prv, rpc-alltra*, rpc-hybx*, cacti-*) if backends are stopped or unreachable from the test host. Fix from LAN:
    • Comprehensive fix (all 502 backends): ./scripts/maintenance/fix-all-502s-comprehensive.sh (10130 Python, dbis-api, 2101/2500-2505 Besu, Cacti).
    • Deep dive (diagnose + fix per backend): ./scripts/maintenance/diagnose-and-fix-502s-via-ssh.sh (use --diagnose-only to only report).
    • Start containers: ./scripts/maintenance/start-stopped-containers-via-ssh.sh
    • Ensure services in DBIS containers: ./scripts/maintenance/ensure-dbis-services-via-ssh.sh
    • Add explorer security headers: ./scripts/maintenance/add-explorer-security-headers-via-ssh.sh
  • To have the script exit 0 when only 502s remain (e.g. for CI): E2E_ACCEPT_502_INTERNAL=1 ./scripts/verify/verify-end-to-end-routing.sh
  • Report: docs/04-configuration/verification-evidence/e2e-verification-<timestamp>/verification_report.md.

5. Explorer E2E

EXPLORER_URL="https://explorer.d-bis.org" bash explorer-monorepo/scripts/e2e-test-explorer.sh

Covers: homepage, Blockscout API, SPA routes, security headers (warnings only), performance. From LAN you can also use BASE_URL="http://192.168.11.140" for direct backend checks.


Quick reference

Step Command / action Requires LAN?
On-chain check ./scripts/verify/check-contracts-on-chain-138.sh Yes (RPC)
Blockscout verify ./scripts/verify/run-contract-verification-with-proxy.sh Yes
smom forge test cd smom-dbis-138 && forge test && forge test --match-path "test/e2e/*.sol" No
alltra forge cd alltra-lifi-settlement && forge test No
alltra Jest e2e cd alltra-lifi-settlement && npm run test:e2e -- --forceExit Yes for full
E2E routing ./scripts/verify/verify-end-to-end-routing.sh No
Explorer E2E EXPLORER_URL="https://explorer.d-bis.org" bash explorer-monorepo/scripts/e2e-test-explorer.sh No
Fix 502s (LAN) ./scripts/maintenance/start-stopped-containers-via-ssh.sh then ensure-dbis-services-via-ssh.sh Yes (SSH)
E2E accept 502 E2E_ACCEPT_502_INTERNAL=1 ./scripts/verify/verify-end-to-end-routing.sh (exit 0 when only 502s) No

Last run summary (2026-02-14)

  • On-chain check: Not run from this host (RPC 192.168.11.211 unreachable off-LAN). Run from LAN to confirm deploy.
  • Blockscout verification: Already completed for all 11 contracts (Multicall, Aggregator, Proxy, MultiSig, CCIPReceiver, Voting, CCIPSender, CCIPWETH10/9, MerchantSettlementRegistry, WithdrawalEscrow).
  • smom-dbis-138: forge test passed; forge test --match-path "test/e2e/*.sol" — 26 e2e tests passed.
  • alltra-lifi-settlement: forge test 8 passed; npm run test:e2e — 33 passed, 1 failed (withdrawal-flow, RPC unreachable).
  • E2E routing: 34 DNS pass, 10 HTTPS pass, 7 RPC/502 fails (alltra/hybx/prv tunnels); explorer.d-bis.org and Blockscout API passed.
  • Explorer E2E: 37 passed, 0 failed, 4 warnings.