1.9 KiB
1.9 KiB
| id | title | status | assignee | created_date | labels | dependencies | references | documentation | priority | |||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TASK-8 | Implement CCIP Hub-Spoke Cross-Chain Architecture | To Do | 2026-04-03 21:41 |
|
|
|
|
high |
Description
Port src/crosschain/hub_spoke.py to production Chainlink CCIP contracts.
Architecture:
- HubRegistry.sol (Base) — central state, bonding curve, tranche manager
- SpokeVault.sol (ETH/ARB/OP/Polygon) — collateral vault, accepts deposits, sends CCIP messages
CCIP Message Types:
- DEPOSIT_COLLATERAL — spoke→hub: asset deposited, amount, value
- STATE_SYNC — hub→spoke: updated prices, tranche health, system CR
- REBALANCE — hub→spoke: move collateral between spokes
- EMERGENCY_PAUSE — hub→spoke: halt deposits/withdrawals
Token Standard:
- Use CCIP Cross-Chain Token (CCT) for $MYCO and tranche tokens
- BurnMintTokenPool for tokens we control mint rights on
- Programmable token transfers: send tokens + instructions atomically
Alternative layer: LayerZero OFT for wider DEX compatibility
- Consider dual-standard: CCIP for state sync, OFT for token transfers
Security:
- CCIP Risk Management Network monitors all cross-chain messages
- Rate limiting per spoke per time window
- Emergency pause callable by multisig
Acceptance Criteria
- #1 Hub receives CCIP messages from spoke vaults on 4+ chains
- #2 Spoke deposits correctly update hub state via CCIP
- #3 State sync messages propagate tranche health to all spokes
- #4 Emergency pause halts all cross-chain activity
- #5 Rate limiting prevents single-spoke drain
- #6 Tested on CCIP testnet (Sepolia, Fuji, Mumbai)