Files
smom-dbis-138/docs/deployment/ALL_NEXT_STEPS_CURRENT.md
2026-03-02 12:14:09 -08:00

6.7 KiB
Raw Permalink Blame History

All Next Steps (Current)

Last updated: 2026-02-23
Status: Repo is unblocked. Dotenv uses correct file (repo-root .env or ENV_FILE). Remaining steps are operator/env and one external dependency.


Priority: Obtain liquid on Mainnet & wire off/on-ramps

First: Get liquidity on Ethereum Mainnet so 138→mainnet flows complete; then wire fiat on-ramps and off-ramps.

  • Priority doc: MAINNET_LIQUIDITY_AND_RAMPS_PRIORITY.md (in docs/00-meta/).
  • Summary: (1) Fund deployer with ETH/WETH on mainnet. (2) Run fund-mainnet-lp.sh and, if used, fund-mainnet-relay-bridge.sh. (3) Wire ramp API (metamask-integration) and document on-ramp (buy on mainnet → bridge to 138) and off-ramp (138→mainnet → sell).

Unblocked in repo

Item Status
Dotenv scripts/lib/deployment/dotenv.sh loads ENV_FILE if set and existing, else PROJECT_ROOT/.env. Export ENV_FILE to use a different file.
load-env.sh Sets and exports ENV_FILE to repo-root .env unless already set; scripts using load_deployment_env use the same file.
run-all-four-gaps.sh Uses dotenv lib; respects ENV_FILE.
Fund/deploy scripts Use load_deployment_env (fund-ccip-bridges-with-link.sh, fund-mainnet-lp.sh, deploy-pmm-all-l2s.sh, deploy-trustless-l2s.sh, etc.).
Burn/Mint AMB Scripts, validation (14 Forge tests), and docs in place. Live transfer blocked only by CCIP network (see below).

1. Environment (do first)

  • Create/use correct .env: Copy .env.example to .env in repo root (or set ENV_FILE=/path/to/your/.env when running scripts).
  • Required in .env: PRIVATE_KEY, RPC_URL_138 (or RPC_138). For fund mainnet LP: LIQUIDITY_POOL_ETH_MAINNET (or LIQUIDITY_POOL), ETHEREUM_MAINNET_RPC. For CCIP funding: per-chain RPC and LINK token addresses.

2. Operator runbook order

# Step Command / note
1 DApp LXC (5801) ./scripts/deployment/deploy-dapp-lxc.sh. Configure Cloudflare Tunnel, DNS, NPMplus for dapp.d-bis.org.
2 Fund mainnet LP (G4) Set LIQUIDITY_POOL_ETH_MAINNET in .env. Then: ./scripts/deployment/fund-mainnet-lp.sh --eth 1 --weth 0.5 (or interactive).
3 Fund CCIP bridges with LINK Deployer must have LINK (and gas) on each chain. ./scripts/deployment/fund-ccip-bridges-with-link.sh (use DRY_RUN=1 first to print commands).
4 Burn/Mint AMB checks If present in your clone: ./scripts/bridge/check-deployer-balances-all-destinations.sh, ./scripts/bridge/check-burn-mint-amb-link-balances.sh, ./scripts/monitoring/check-burn-mint-amb-138-health.sh, ./scripts/verify/run-burn-mint-amb-validation.sh. Otherwise use cast balance and contract reads per §3 and deployment docs.
5 Optional G1 PMM on L2s ./scripts/deployment/deploy-pmm-all-l2s.sh (or --chain polygon base). Needs per-chain RPC and DVM/token addresses in .env.
6 Optional G2 Trustless L2s ./scripts/deployment/deploy-trustless-l2s.sh (optionally --chain polygon).
7 Optional G3 Lockbox L2s ./scripts/deployment/deploy-trustless-l2s.sh --lockbox.
8 Optional CCIPLogger other chains ./scripts/deployment/deploy-ccip-logger-all-chains.sh. Needs Node/npm and Hardhat.
9 Verification ./scripts/deployment/verify-chain138-full-deployment.sh, forge test, DApp build and E2E as in runbook.

3. Burn/Mint AMB (138 → hop)

  • Live transfer: Blocked by CCIP Router "chain not supported" until Chainlink CCIP supports Chain 138 as source and target hop chains (e.g. BSC 56) as destinations. No repo change can fix this.
  • After CCIP is configured:
    1. Ensure deployer has WETH and LINK on 138 (mint LINK via Forge script or bridge script if present: e.g. ./scripts/bridge/mint-link-chain138.sh).
    2. Run test transfer if script present: ASSUME_LINK_WEI=1000000000000000000 ./scripts/verify/send-burn-mint-amb-test-transfer.sh 56 1000000000000000; otherwise use Forge/cast per deployment docs.
    3. On destination, verify recipient BridgedWETH balance (see config/smart-contracts-master.json for BridgedWETH address).
  • If transfer fails: cast run <txHash> --rpc-url "$RPC_URL_138" for revert reason.

4. Optional / as needed

  • LINK on all chains: Re-run fund-ccip-bridges-with-link.sh after funding deployer with LINK (and gas) on each chain.
  • PMM pool creation: Grant POOL_MANAGER_ROLE and create pools on DODO_PMM_INTEGRATION; for real liquidity use official DVM (see DVM_DEPLOYMENT_CHECK.md).
  • Etherscan verification: After Etherscan V2 migration, verify CCIPLogger and other contracts per deployment docs.
  • Polygon deployer balance: If check-deployer-balances-all-destinations.sh reports Polygon (137) LOW, fund deployer with MATIC. Use --report-only or ALLOW_LOW_BALANCE=1 for report-only.
  • New Burn/Mint AMB hop: Run deploy-burn-mint-amb.sh hop, set BURN_MINT_AMB_RECEIVER_<id>, run destinations script, then enable-no-prefunding-bridged-weth.sh <id>. Routers in scripts/bridge/ccip-router-addresses.env.

5. Quick reference

Task Command
Load correct .env source scripts/load-env.sh or ENV_FILE=/path/to/.env source scripts/load-env.sh
Deployer balances ./scripts/bridge/check-deployer-balances-all-destinations.sh [--report-only] (if present; else use cast)
Burn/Mint LINK + health ./scripts/bridge/check-burn-mint-amb-link-balances.sh, ./scripts/monitoring/check-burn-mint-amb-138-health.sh (if present)
Burn/Mint validation ./scripts/verify/run-burn-mint-amb-validation.sh (if present)
Fund CCIP (dry-run) DRY_RUN=1 ./scripts/deployment/fund-ccip-bridges-with-link.sh
Fund mainnet LP Set LIQUIDITY_POOL_ETH_MAINNET in .env, then ./scripts/deployment/fund-mainnet-lp.sh --eth 1 --weth 0.5
Liquidity gaps (G1G4) ./scripts/deployment/run-all-four-gaps.sh [g1 g2g3 g4] [--eth 1 --weth 0.5]
Verify Chain 138 ./scripts/deployment/verify-chain138-full-deployment.sh
Verify on other chains (same Etherscan key) ETHERSCAN_V2_VERIFY_OTHER_CHAINS.md; run ./scripts/deployment/verify-ccip-logger-other-chains.sh (after setting CCIP_LOGGER_* and CCIP_*_ROUTER in .env) or npx hardhat verify --network <net> <address> "<router>" "0x0...0" 138

Summary

  • Repo: Unblocked. Correct dotenv (repo-root .env or ENV_FILE) is used by deployment and bridge scripts.
  • External blocker: Live 138→hop Burn/Mint AMB transfer until CCIP supports Chain 138 and destinations.
  • Operator: Set .env (and LIQUIDITY_POOL_ETH_MAINNET for G4), then run runbook steps and optional items above.