# Cronos and Multi-Chain Full Deployment TODO **Includes:** Required, optional, all token factories, and additional recommendations. **Cronos deployment status:** WETH9, WETH10, CCIPWETH9Bridge, CCIPWETH10Bridge are deployed and on-chain confirmed. Explorer source publication is still pending/manual. **Recently deployed to Cronos:** - Multicall, Oracle (Aggregator+Proxy), WETH, CREATE2Factory — via `Deploy.s.sol` and `DeployOracle.s.sol` - Design doc: `CRONOS_TRUSTLESS_BRIDGE_DESIGN.md` --- ## 1. Cronos (Chain 25) — Remaining ### 1.1 Required - [ ] **CCIPLogger** — Foundry: `forge script script/DeployCCIPLogger.s.sol:DeployCCIPLogger --rpc-url https://evm.cronos.org --broadcast` - Contract: `contracts/ccip-integration/CCIPLogger.sol` - Depends: CCIP Router (Chainlink). Needs ~0.65 CRO for gas. ### 1.2 Optional / Recommended - [x] **Oracle Aggregator + Proxy** — Deployed to Cronos ✅ - Addresses in broadcast/DeployOracle.s.sol/25/ ### 1.3 Trustless Bridge (Cronos-specific) - [ ] **Design Cronos trustless bridge** — Current trustless bridge targets Chain 138 ↔ Mainnet; Cronos needs Cronos DEX addresses (VVS, CronaSwap, etc.) - [ ] **Cronos liquidity pools** — Use existing DEXes or deploy custom pools --- ## 2. Core Infrastructure (Chain 138 / Multi-Chain) - [ ] **Multicall** — `script/DeployMulticall.s.sol` - [ ] **CREATE2Factory** — `script/Deploy.s.sol` - [ ] **Oracle Aggregator + Proxy** — `script/DeployOracle.s.sol` - [ ] **MultiSig** — `script/DeployMultiSig.s.sol` (requires MULTISIG_OWNERS) - [ ] **Voting** (optional) — No script; create if needed --- ## 3. CCIP / Messaging ### 3.1 Required - [ ] **CCIPLogger** — Mainnet, Cronos, BSC, Polygon, Gnosis (per chain) - [ ] **CCIP Router** — Use Chainlink official; no custom deploy ### 3.2 Optional - [ ] **CCIPSender** — No script; create if oracle cross-chain sync needed - [ ] **CCIPReceiver** — No script; create if oracle cross-chain sync needed - [ ] **CCIPMessageValidator** — No script; create if needed - [ ] **CCIPRouterOptimized** — No script; deploy only if using custom optimized router - [ ] **OracleWithCCIP** — No script; create if CCIP oracle integration needed --- ## 4. Token Factories & Token Systems ### 4.1 ISO-4217W Token Factory - [ ] **ComplianceGuard** — `script/deploy/iso4217w/DeployISO4217WSystem.s.sol` (included) - [ ] **ReserveOracle** — Same script - [ ] **MintController** — Same script - [ ] **BurnController** — Same script - [ ] **TokenRegistry** — Same script - [ ] **TokenFactory** (ISO4217W) — Same script - [ ] **W Tokens** — USDW, EURW, GBPW, AUDW, JPYW, CHFW, CADW, XAUC, XAUT via TokenFactory ### 4.2 eMoney TokenFactory138 - [ ] **TokenFactory138** — `script/emoney/DeployChain138.s.sol` or `script/emoney/Deploy.s.sol` - [ ] **PolicyManager** — Same script - [ ] **DebtRegistry** — Same script - [ ] **ComplianceRegistry** — Same script ### 4.3 Compliant Fiat Tokens (CREATE2) - [ ] **DeployCompliantFiatTokens** — cEURC, cEURT, cGBPC, cGBPT, cAUDC, cJPYC, cCHFC, cCADC, cXAUC, cXAUT - Script: `script/deploy/DeployCompliantFiatTokens.s.sol` - Requires: CREATE2_FACTORY_ADDRESS ### 4.4 VaultFactory - [ ] **VaultFactory** — `script/vault/DeployVaultSystem.s.sol` or `script/deploy/vault/DeployVaultSystem.s.sol` --- ## 5. Trustless Bridge (Chain 138 ↔ Mainnet) - [ ] **ReserveSystem** (Chain 138) — `script/reserve/DeployReserveSystem.s.sol` - [ ] **Lockbox138** — `script/bridge/trustless/DeployTrustlessBridge.s.sol` - [ ] **BondManager** - [ ] **ChallengeManager** - [ ] **LiquidityPoolETH** - [ ] **InboxETH** - [ ] **SwapRouter** (Mainnet DEXes: Uniswap V3, Curve, 1inch) - [ ] **BridgeSwapCoordinator** - [ ] **EnhancedSwapRouter** (optional) — `script/bridge/trustless/DeployEnhancedSwapRouter.s.sol` - [ ] **Integration contracts** — `script/bridge/trustless/DeployIntegrationContracts.s.sol` --- ## 6. Vault System - [ ] **Ledger** - [ ] **Regulated Entity Registry** - [ ] **XAU Oracle** - [ ] **Rate Accrual** - [ ] **Liquidation Module** - [ ] **Collateral Adapter** - [ ] **eMoney Join Adapter** - [ ] **VaultFactory** - [ ] **Initialize Vault System** --- ## 7. Reserve System - [ ] **ReserveSystem** — `script/reserve/DeployReserveSystem.s.sol` - Requires: TOKEN_FACTORY - [ ] **StablecoinReserveVault** — `script/reserve/DeployStablecoinReserveVault.s.sol` - [ ] **Reserve Keeper** — `script/reserve/DeployKeeper.s.sol` --- ## 8. Bridge Integrations & Other Chains - [ ] **Bridge Integrations** — `script/bridge/DeployBridgeIntegrations.s.sol` - Requires: TOKEN_FACTORY, VERIFIER_ADDRESS - [ ] **WETH Bridges** — Chain 138, Cronos, BSC, Polygon, Gnosis (Cronos done) - [ ] **Deploy All Adapters** — Polygon, Arbitrum, Optimism, Base, Avalanche, BSC, Ethereum, Etherlink, XDC, Alltra, XRPL, Stellar, Tezos, Firefly, Cacti, Fabric - [ ] **TwoWayTokenBridge** (L1/L2) — `script/DeployTwoWayBridge.s.sol` - [ ] **MirrorManager** — `script/DeployMirrorManager.s.sol` - [ ] **TransactionMirror** — `script/DeployTransactionMirror.s.sol` --- ## 9. Additional / Optional - [ ] **Smart Accounts Kit** — `script/smart-accounts/DeploySmartAccountsKit.s.sol` - [ ] **Account Wallet Registry Extended** — `script/smart-accounts/DeployAccountWalletRegistryExtended.s.sol` - [ ] **Private Pool Registry & Pools** — `script/dex/DeployPrivatePoolRegistryAndPools.s.sol` - [ ] **DODO PMM Integration** — `script/dex/DeployDODOPMMIntegration.s.sol` - [ ] **Generic State Channel Manager** — `script/DeployGenericStateChannelManager.s.sol` - [ ] **Payment Channel Manager** — `script/DeployPaymentChannelManager.s.sol` - [ ] **Fee Collector** — `script/DeployFeeCollector.s.sol` - [ ] **Compliance Registry** — `script/DeployComplianceRegistry.s.sol` - [ ] **Token Registry** — `script/DeployTokenRegistry.s.sol` - [ ] **Address Mapper** — `script/DeployAddressMapper.s.sol` - [ ] **Link to Canonical Address** — `script/DeployLinkToCanonicalAddress.s.sol` - [ ] **Deterministic Core** — Universal Asset Registry, CCIP Bridge, Mirror, Adapter - Script: `script/deploy/DeployDeterministicCore.s.sol` - [ ] **Bridge Vault** — `script/deploy/DeployBridgeVaultDeterministic.s.sol` - [ ] **Etherlink Relay Receiver** — `script/deploy/bridge/DeployEtherlinkRelayReceiver.s.sol` --- ## 10. Testing & Verification - [ ] **Run full test suite** — `forge test` - [ ] **Test suite for Vault system** - [ ] **Test suite for ISO-4217W system** - [ ] **Test suite for TokenFactory** - [ ] **Bridge integration tests** - [ ] **Contract verification** — Blockscout/Etherscan per chain - Cronos: source publication still pending manual UI acceptance for the four contract set. --- ## 11. Security & Audit - [ ] **Security audit** - [ ] **Access control audit** - [ ] **Reentrancy protection verification** - [ ] **Upgrade safety review** --- ## 12. Off-Chain Services - [ ] **Oracle services** for non-EVM chains (XRPL, Stellar, Algorand, etc.) - [ ] **Cacti connector** - [ ] **Fabric event listener** - [ ] **Indy verifier agent** - [ ] **State anchoring service** - [ ] **Transaction mirroring service** --- ## Summary by Chain | Chain | Core | CCIP | Token Factories | Trustless Bridge | Vault | Reserve | |-------|------|------|-----------------|------------------|-------|---------| | **Cronos** | CCIPLogger, Oracle (opt) | CCIPLogger | Per product | Design needed | Per product | Per product | | **Chain 138** | Multicall, Oracle, MultiSig | CCIPLogger | All systems | Full stack | Full stack | Full stack | | **Mainnet** | Use existing | CCIPLogger | Per product | Inbox, SwapRouter, LPs | Per product | Per product | | **BSC/Polygon/Gnosis** | Per chain | CCIPLogger + bridges | Per product | — | — | — | --- ## Pre-Deployment - [ ] Fund deployer wallets (CRO for Cronos, ETH for Mainnet, etc.) - [ ] Set `.env` with PRIVATE_KEY, RPC URLs, API keys - [ ] Set MULTISIG_OWNERS, MULTISIG_REQUIRED - [ ] Obtain CREATE2_FACTORY if using deterministic deploys - [ ] Verify CCIP Router addresses per chain