# Completion Run With Keys (2026-02-23)

**Context:** User has private key, Etherscan API key, and MetaMask/Infura API key and secret in dotenv. All steps that can be completed with these credentials were run without further prompts.

---

## Completed successfully

| Step | Result |
|------|--------|
| **Chain 138 verification** | `verify-chain138-full-deployment.sh`: 14 success, 2 warnings, 0 errors. |
| **DApp env check** | `check-dapp-env.sh`: Required VITE_* for DApp build are set. |
| **Forge test** | `forge test --no-match-test "Fork|Mainnet|Integration|e2e"`: **424 tests passed**, 0 failed (81 suites, ~25s). |
| **Fund CCIP bridges with LINK** | Real run with `--link 5`: **One success** — Avalanche CCIPWETH10 bridge funded (tx `0xff7e143211427fa9706dc42c671321d559d1e89affa36af42c7396bf713ebfee`). Other chains failed (non-fatal): no LINK balance, gas/base fee, or insufficient native; script exited 0. |

---

## Run but failed (expected without additional funds)

| Step | Result |
|------|--------|
| **Fund mainnet LP** | `fund-mainnet-lp.sh --eth 0.1 --weth 0.05`: **OutOfFunds** — deployer does not have enough ETH on mainnet. Fund deployer with ETH on mainnet then re-run. |
| **Etherscan verify CCIPLogger** | **Done (after V2 migration):** `hardhat.config.js` updated to use single `apiKey` (string) for Etherscan V2. Re-ran verify; contract verified: https://etherscan.io/address/0x4F95297C23d9f4A1032B1c6a2E553225CB175BEe#code |

---

## Not run (no script or skipped)

| Item | Reason |
|------|--------|
| **configure-all-ccip-bridge-destinations** | No such script in repo; only per-call `ccip-configure-destination.sh` exists. |

---

## CCIP funding details (real run)

- **Chain 138:** Invalid params (estimate gas).
- **Ethereum:** max fee per gas less than block base fee.
- **BSC, Polygon:** invalid opcode.
- **Base:** insufficient funds for gas.
- **Optimism, Arbitrum, Cronos:** ERC20 transfer amount exceeds balance (no LINK).
- **Avalanche:** One WETH10 bridge transfer **succeeded** (5 LINK). WETH9 failed (base fee).
- **Gnosis:** execution reverted.

To fund more chains: ensure deployer has **LINK** and **native gas** on each chain, then run:

```bash
./scripts/deployment/fund-ccip-bridges-with-link.sh --link 5
```

To fund mainnet LP after funding deployer with ETH:

```bash
./scripts/deployment/fund-mainnet-lp.sh --eth 0.1 --weth 0.05
```

---

## Remaining tasks (operator)

1. **Fund deployer with ETH on mainnet** then run `./scripts/deployment/fund-mainnet-lp.sh --eth 0.1 --weth 0.05` (or higher amounts).
2. **Fund deployer with LINK (and native gas) on each chain** where CCIP funding failed, then re-run `./scripts/deployment/fund-ccip-bridges-with-link.sh --link 5`.
3. **Verify other contracts on other chains** using same Etherscan key: see [ETHERSCAN_V2_VERIFY_OTHER_CHAINS.md](ETHERSCAN_V2_VERIFY_OTHER_CHAINS.md); use `npx hardhat verify --network bsc|polygon|gnosis|optimism|base|arbitrum|avalanche <address> ...`.
4. **DApp LXC (5801)** and Tunnel/DNS/NPMplus when ready.

**Quick commands (post-setup):**
- Verify Chain 138: `./scripts/deployment/verify-chain138-full-deployment.sh`
- Check DApp env: `./scripts/deployment/check-dapp-env.sh`

---

## References

- [ALL_NEXT_STEPS_CURRENT.md](ALL_NEXT_STEPS_CURRENT.md)
- [COMPLETION_RUN_20260223_ALL_STEPS.md](COMPLETION_RUN_20260223_ALL_STEPS.md)
- [ETHERSCAN_V2_VERIFY_OTHER_CHAINS.md](ETHERSCAN_V2_VERIFY_OTHER_CHAINS.md)
