1.2 KiB
1.2 KiB
MirrorRegistry Deployment
Purpose: Deploy MirrorRegistry to public mainnets for Merkle commitment mirroring (DBIS 138 / Alltra 651940 → public).
Contract
- File:
contracts/mirror/MirrorRegistry.sol - Interface:
submitCommit(uint256 sourceChainId, uint64 startBlock, uint64 endBlock, bytes32 root, string calldata uri, uint64 ts) - Event:
CommitSubmitted(sourceChainId, startBlock, endBlock, root, uri, ts) - Access: Publisher allowlist; admin can set publishers and pause.
Deploy (one mainnet)
cd smom-dbis-138
export PRIVATE_KEY=0x...
export MIRROR_ADMIN=0x... # or DEPLOYER
forge script script/DeployMirrorRegistry.s.sol \
--rpc-url $ETH_MAINNET_RPC_URL \
--broadcast \
--verify
Post-deploy
- Set publisher address(es) for the Mirroring Service warm key:
setPublisher(publisher, true). - Document deployed address per chain in DEPLOYED_ADDRESSES or this doc.
- Mirroring Service calls
submitCommit(...)with root from Merkle commitment builder.
Multi-mainnet (Phase 3)
Repeat deploy with same admin/publisher pattern on Arbitrum, Base, Polygon, BSC using respective RPC and chain IDs. MS can post the same root to multiple MirrorRegistry instances for redundancy.