Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
Co-authored-by: Cursor <cursoragent@cursor.com>
4.2 KiB
4.2 KiB
Contract Deployment Gaps — Completed
Last Updated: 2026-02-13
Purpose: Record of gaps and missing pieces that were completed so all blocks to contract deployments are removed or documented.
Related: CONTRACT_DEPLOYMENT_RUNBOOK | CONTRACTS_TO_DEPLOY | CONTRACT_INVENTORY_AND_VERIFICATION | PLACEHOLDERS_AND_COMPLETION_MASTER_LIST
1. Env and config (unblock deploys)
| Gap | Completion |
|---|---|
CCIPReceiver / CCIPSender need CCIP_ROUTER_ADDRESS and ORACLE_AGGREGATOR_ADDRESS |
Added ORACLE_AGGREGATOR_ADDRESS to smom-dbis-138/.env.example with comment; CCIP_ROUTER_ADDRESS already present. |
| Mainnet WETH bridge addresses for cross-chain config | .env.example already had MAINNET_WETH9_BRIDGE_ADDRESS, MAINNET_WETH10_BRIDGE_ADDRESS; added comment "Set when configuring cross-chain destinations." |
| Single source for which env each script needs | Added "Env required per deploy script" table in CONTRACT_DEPLOYMENT_RUNBOOK § Prerequisites. |
2. TransactionMirror (Forge broadcast bug workaround)
| Gap | Completion |
|---|---|
| TransactionMirror deploy script can hit constructor-args decode on broadcast | Runbook already had forge create one-liner. Added dedicated § TransactionMirror in CONTRACT_DEPLOYMENT_RUNBOOK with full command and MIRROR_ADMIN handling. |
| One-command deploy for operators | Added ./scripts/deployment/deploy-transaction-mirror-chain138.sh — runs forge create with admin from MIRROR_ADMIN or deployer; documents setting TRANSACTION_MIRROR_ADDRESS in .env. |
| Inventory pointed to runbook | CONTRACT_INVENTORY_AND_VERIFICATION §4 Undeployed updated to reference the helper script and runbook § TransactionMirror. |
3. Smart accounts (no contracts in repo)
| Gap | Completion |
|---|---|
| DeploySmartAccountsKit does not deploy (logs next steps only) | Prerequisites table in runbook states: "Script does not deploy contracts; obtain EntryPoint/Factory from MetaMask kit or ERC-4337 impl and set in env." |
| .env.example and runbook | Already had ENTRY_POINT, SMART_ACCOUNT_FACTORY, PAYMASTER in smom-dbis-138/.env.example and runbook § Smart accounts. |
4. Deployments already done (reference)
| Contract | Address | Script / note |
|---|---|---|
| Multicall, Oracle (Aggregator+Proxy), MultiSig | See CONTRACT_ADDRESSES_REFERENCE | deploy-all-contracts.sh (2026-02-13) |
| CCIPReceiver | 0xC12236C03b28e675d376774FCE2C2C052488430F |
DeployCCIPReceiver.s.sol |
| Voting | 0x022267b26400114aF01BaCcb92456Fe36cfccD93 |
DeployVoting.s.sol |
| Phased core, channels, CREATE2, Vault, Reserve | See CONTRACT_ADDRESSES_REFERENCE | deploy-all-phases.sh (skips when env set) |
5. Remaining (operator / when-needed)
| Item | Blocker / when | Action |
|---|---|---|
| TransactionMirror on chain | None | Run ./scripts/deployment/deploy-transaction-mirror-chain138.sh when mirror feature is needed. |
| Smart accounts (EntryPoint, Factory, Paymaster) | No contracts in repo | Obtain from MetaMask Smart Accounts Kit or ERC-4337 impl; deploy to Chain 138; set ENTRY_POINT, SMART_ACCOUNT_FACTORY, PAYMASTER in .env. |
| Mainnet WETH receiver addresses | When configuring cross-chain to mainnet | Set MAINNET_WETH9_BRIDGE_ADDRESS, MAINNET_WETH10_BRIDGE_ADDRESS in .env. |
| CCIPLogger | Optional | Omit from deploy list unless monitoring needed; see CONTRACTS_TO_DEPLOY §1.4. |
| Dodo / EnhancedSwapRouter | When DEX integration needed | Set quoter/pool env when pools exist; see PLACEHOLDERS_AND_TBD. |
6. Where to update when more is completed
- This doc: Add rows to §1–§5 as new gaps are closed.
- Runbook: Keep "Env required per deploy script" and § TransactionMirror in sync.
- CONTRACT_INVENTORY_AND_VERIFICATION: Update §2 (deployed) and §4 (undeployed) when contracts are deployed or deprecated.
- PLACEHOLDERS_AND_COMPLETION_MASTER_LIST: Mark items ✅ and point to this doc or runbook.