Files
proxmox/docs/11-references/CONTRACTS_TO_DEPLOY.md
defiQUG 2a6d3cfc7f
Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
Update submodule references and improve CI workflow
- Update submodule references for explorer-monorepo and smom-dbis-138 to latest commits.
- Modify CI workflow to include shellcheck installation and enforce error severity for script checks.
- Update contract addresses in configuration and documentation to reflect the new canonical addresses for CCIPWETH9Bridge and CCIP Router.
- Revise integration test documentation to align with updated contract addresses and deployment statuses.

Made-with: Cursor
2026-03-24 22:50:52 -07:00

145 lines
7.9 KiB
Markdown

# Contracts to Deploy — Master List
**Last Updated:** 2026-02-12
**Status:** Reference
**Repos:** smom-dbis-138 (Foundry), alltra-lifi-settlement (Foundry)
This document lists all contracts that have deployment scripts, grouped by repo and purpose. Use it for compile, test, and deploy runs.
**Chain 138:** Use `--with-gas-price 1000000000` for all `forge script` / `forge create` (chain minimum). [CONTRACT_DEPLOYMENT_RUNBOOK](../03-deployment/CONTRACT_DEPLOYMENT_RUNBOOK.md). Env per script and gaps: [DEPLOYMENT_GAPS_COMPLETED](../03-deployment/DEPLOYMENT_GAPS_COMPLETED.md).
---
## 1. smom-dbis-138 (Chain 138 & multichain)
**Location:** `smom-dbis-138/`
**Build:** `forge build`
**Test:** `forge test`
### 1.1 Chain 138 — Immediate (CCIP WETH9 Bridge) ✅ Deployed
| Contract | Script | Status |
|----------|--------|--------|
| **CCIPWETH9Bridge** | `script/DeployCCIPWETH9Bridge.s.sol` | ✅ `0xcacfd227A040002e49e2e01626363071324f820a` |
| **WETH9** (optional) | — | Pre-deployed in genesis |
**Deploy (if needed):** `GAS_PRICE=1000000000 ./scripts/deploy-and-configure-weth9-bridge-chain138.sh`
### 1.2 Phased core (01 → 02)
| Contract | Script | Depends / Env |
|----------|--------|----------------|
| **UniversalAssetRegistry** | `script/deploy/01_DeployCore.s.sol` | `PRIVATE_KEY` |
| **GovernanceController** | `script/deploy/01_DeployCore.s.sol` | `PRIVATE_KEY`, registry address |
| **UniversalCCIPBridge** | `script/deploy/02_DeployBridges.s.sol` | `PRIVATE_KEY`, `UNIVERSAL_ASSET_REGISTRY`, `CCIP_ROUTER` |
| **BridgeOrchestrator** | `script/deploy/02_DeployBridges.s.sol` | `PRIVATE_KEY`, registry, bridge |
**Order:** Run `01_DeployCore.s.sol` first, set `UNIVERSAL_ASSET_REGISTRY` and `GOVERNANCE_CONTROLLER`, then run `02_DeployBridges.s.sol`.
### 1.3 Deterministic (CREATE2) core
| Contract | Script | Env |
|----------|--------|-----|
| **CREATE2Factory** | `script/deploy/DeployDeterministicCore.s.sol` | `PRIVATE_KEY` |
| **UniversalAssetRegistry** (CREATE2) | same | `PRIVATE_KEY`, `ADMIN` (optional) |
| **UniversalCCIPBridge** (impl + proxy) | same | `PRIVATE_KEY`, `CCIP_ROUTER` (optional; set later) |
| **MirrorRegistry** (CREATE2) | same | — |
| **AlltraAdapter** (CREATE2) | same | — |
### 1.4 Multichain (DeployAll)
**Script:** `script/DeployAll.s.sol`
**Chains:** Mainnet (1), Cronos (25), BSC (56), Polygon (137), Gnosis (100), Avalanche (43114), Base (8453), Arbitrum (42161), Optimism (10). **Chain 138 is not in DeployAll** — use `DeployCCIPWETH9Bridge.s.sol` + shell script above.
| Contract | When |
|----------|------|
| **WETH9** | If not set in env for chain |
| **WETH10** | If not set in env for chain |
| **CCIPWETH9Bridge** | All non-mainnet chains |
| **CCIPWETH10Bridge** | All non-mainnet chains |
| **CCIPLogger** | Optional; not implemented in Foundry script. **Decision:** Omit from deploy list unless CCIP monitoring is required; deploy via Hardhat per [TASK12_CCIP_LOGGER_STATUS.md](../../smom-dbis-138/docs/deployment/TASK12_CCIP_LOGGER_STATUS.md) if needed. |
Chain-specific env vars: e.g. `CCIP_ETH_ROUTER`, `CCIP_ETH_LINK_TOKEN`, `ETH_MAINNET_SELECTOR` for mainnet; `WETH9_POLYGON`, `WETH10_POLYGON`, etc.
### 1.5 Other deploy scripts (by feature)
- **Bridge:** `script/deploy/bridge/DeployWETHBridges.s.sol`, `DeployEtherlinkRelayReceiver.s.sol`; `script/bridge/trustless/DeployTrustlessBridge.s.sol`, `DeployCompleteSystem.s.sol`, etc.
- **Vault:** `script/deploy/vault/DeployVaultSystem.s.sol`, `script/vault/DeployVaultSystem.s.sol`
- **Reserve:** `script/reserve/DeployReserveSystem.s.sol`, `DeployStablecoinReserveVault.s.sol`, `DeployKeeper.s.sol`
- **Tokens:** `script/DeployCompliantUSDC.s.sol`, `DeployCompliantUSDT.s.sol`, `script/deploy/DeployCompliantFiatTokens.s.sol`; `script/DeployTokenRegistry.s.sol`; `script/iso4217w/DeployWTokenSystem.s.sol`; `scripts/tokenization/DeployTokenizedEUR.s.sol`, `DeployTokenRegistry.s.sol`
- **CCIP:** `script/DeployCCIPReceiver.s.sol`, `script/DeployCCIPSender.s.sol`, `script/DeployCCIPRelay.s.sol`, `script/DeployTwoWayBridge.s.sol`
- **Governance / multisig:** `script/DeployVoting.s.sol`, `script/DeployMultiSig.s.sol`, `script/DeployFeeCollector.s.sol`, `script/DeployComplianceRegistry.s.sol`
- **eMoney:** `script/emoney/Deploy.s.sol`, `script/emoney/DeployChain138.s.sol`
- **Smart accounts:** `script/smart-accounts/DeploySmartAccountsKit.s.sol`, `DeployAccountWalletRegistryExtended.s.sol`
- **Channels / mirror:** `script/DeployPaymentChannelManager.s.sol`, `script/DeployGenericStateChannelManager.s.sol` (Mainnet and/or Chain-138). **AddressMapper** and **MirrorManager** deployed on Chain 138 (2026-02-12) at `0x439Fcb2d2ab2f890DCcAE50461Fa7d978F9Ffe1A` and `0x6eD905A30c552a6e003061A38FD52A5A427beE56`. **TransactionMirror:** deploy script can hit Forge constructor-args decode bug; use `forge create` with encoded constructor and `--with-gas-price 1000000000` when needed. See smom-dbis-138 `docs/channels/` and `docs/deployment/PAYMENT_CHANNELS_DEPLOYMENT.md`.
- **Migration:** `script/deploy/05_MigrateExistingAssets.s.sol` (requires `UNIVERSAL_ASSET_REGISTRY`, `TOKENLIST_GOVERNANCE_SYNC`)
---
## 2. alltra-lifi-settlement
**Location:** `alltra-lifi-settlement/`
**Build:** `forge build`
**Test:** `forge test` (Solidity); `npm test` / Jest for TS tests
### 2.1 Settlement (Chain 138) ✅ Deployed
| Contract | Script | Status |
|----------|--------|--------|
| **MerchantSettlementRegistry** | `scripts/deploy/deploy-merchant-settlement-registry.s.sol` | ✅ `0x16D9A2cB94A0b92721D93db4A6Cd8023D3338800` |
| **WithdrawalEscrow** | `scripts/deploy/deploy-withdrawal-escrow.s.sol` | ✅ `0xe77cb26eA300e2f5304b461b0EC94c8AD6A7E46D` |
**Order:** Deploy MerchantSettlementRegistry first; WithdrawalEscrow depends on CompliantUSDC (from smom-dbis-138).
---
## 3. Quick reference — compile & test
```bash
# smom-dbis-138
cd smom-dbis-138 && forge build && forge test
# alltra-lifi-settlement
cd alltra-lifi-settlement && forge build && forge test
```
---
## 4. Quick reference — deploy (Chain 138)
```bash
# CCIP WETH9 Bridge (recommended; fixes router mismatch)
export PRIVATE_KEY=0x...
./scripts/deploy-and-configure-weth9-bridge-chain138.sh
# Optional: RPC_URL_138 (Chain 138 Core), MAINNET_WETH9_BRIDGE_ADDRESS
# After: export CCIPWETH9_BRIDGE_CHAIN138=<printed_address>
# Core + Bridges (phased)
cd smom-dbis-138
forge script script/deploy/01_DeployCore.s.sol --rpc-url $RPC_URL_138 --broadcast --private-key $PRIVATE_KEY
# Set UNIVERSAL_ASSET_REGISTRY, GOVERNANCE_CONTROLLER
forge script script/deploy/02_DeployBridges.s.sol --rpc-url $RPC_URL_138 --broadcast --private-key $PRIVATE_KEY
# Requires: UNIVERSAL_ASSET_REGISTRY, CCIP_ROUTER
```
---
## 5. Build & test status (2026-01-31)
| Repo | Build | Tests | Notes |
|------|--------|-------|-------|
| **alltra-lifi-settlement** | OK | 8/8 passed | Added `remappings` and `solc = "0.8.20"` in foundry.toml; installed `openzeppelin-contracts` and `forge-std` via `forge install`. Fixed etherscan `key` field. |
| **smom-dbis-138** | Long-running (435 files) | — | `forge build` can take several minutes. `forge script script/DeployCCIPWETH9Bridge.s.sol` compiles on the fly when deploying. |
| **Deploy (Chain 138 bridge)** | — | — | Requires `PRIVATE_KEY`. Run `./scripts/deploy-and-configure-weth9-bridge-chain138.sh` (use `--dry-run` to simulate without keys). |
---
## 6. References
- [NEXT_STEPS_MASTER.md](../00-meta/NEXT_STEPS_MASTER.md) — Immediate: CCIP WETH9 Bridge
- [CONTRACT_DEPLOYMENT_RUNBOOK.md](../03-deployment/CONTRACT_DEPLOYMENT_RUNBOOK.md) — Deploy and verify workflow (Forge Verification Proxy)
- [scripts/README.md](../../scripts/README.md) — Bridge deploy script, dry-run
- [07-ccip/CCIP_DEPLOYMENT_SPEC.md](../07-ccip/CCIP_DEPLOYMENT_SPEC.md) — CCIP fleet
- [COMPREHENSIVE_STATUS_BRIDGE_READY.md](../../COMPREHENSIVE_STATUS_BRIDGE_READY.md) — Router fix
- smom-dbis-138 [PAYMENT_CHANNELS_DEPLOYMENT.md](../../smom-dbis-138/docs/deployment/PAYMENT_CHANNELS_DEPLOYMENT.md) — Payment and state channel managers (Mainnet / Chain-138)