Files
proxmox/docs/11-references/CONTRACTS_TO_DEPLOY.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

7.9 KiB

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. Env per script and gaps: DEPLOYMENT_GAPS_COMPLETED.


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 0x971cD9D156f193df8051E48043C476e53ECd4693
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 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

# 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)

# 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