Deployment Architecture
Eco Routes employs a modular deployment system with the following components:Core Contracts
Portal Contract- Main protocol contract managing intent lifecycle
- Deployed using CREATE2 for deterministic addresses
- Handles intent creation, funding, fulfillment, and reward settlement
- No constructor arguments required
- HyperProver (Hyperlane integration)
- MetaProver (Metalayer integration)
- LayerZeroProver (LayerZero integration)
- PolymerProver (Polymer integration)
- Deployed using CREATE3 for deterministic addresses
- Each requires specific bridge contract addresses
Deployment Tools
SingletonFactory- CREATE2 factory at
0xce0042B868300000d44A59004Da54A005ffdcf9f - Used for deploying Portal contracts
- Ensures deterministic addresses across chains
- CREATE3 factory at
0xC6BAd1EbAF366288dA6FB5689119eDd695a66814 - Used for deploying Prover contracts
- Allows deterministic addresses independent of bytecode
- Automatically deployed if not present
Deployment Strategy
Deterministic Deployment
All contracts use aSALT value for deterministic deployment:
- Same contract addresses across all chains
- Predictable deployment for cross-chain operations
- Simplified multi-chain configuration
Modular Prover Deployment
Deployment is conditional based on available bridge contracts:- HyperProver: Deploys only if
MAILBOX_CONTRACTis set - MetaProver: Deploys only if
ROUTER_CONTRACTis set - LayerZeroProver: Deploys only if
LAYERZERO_ENDPOINTis set - PolymerProver: Deploys only if
POLYMER_CROSS_L2_PROVER_V2is set
Cross-VM Support
For non-EVM chain integration, provers can be configured with cross-VM addresses:Deployment Workflow
Environment Configuration
Configure
.env file with required variables including RPC URLs, private keys, and bridge contract addresses.Chain Data Setup
Prepare chain configuration JSON with RPC endpoints and bridge contracts for each target chain.
Script Execution
Run deployment script which automatically:
- Deploys CREATE3 factory if needed
- Deploys Portal contract (if not using existing)
- Deploys configured Prover contracts
- Records deployment addresses to CSV file
Deployment Output
Deployments are recorded in a CSV file (default:out/deploy.csv):
- Tracking deployed addresses
- Contract verification
- Cross-chain configuration
- Deployment auditing
Special Chain Support
TRON Networks
The deployment script includes special handling for TRON chains:- TRON Mainnet: Chain ID
728126428 - TRON Shasta: Chain ID
2494104990 - TRON Nile: Chain ID
3448148188
0x41) for address generation.
Security Considerations
Best Practices
- Test First: Always deploy to testnet before mainnet
- Verify SALT: Ensure SALT matches across all deployments
- Bridge Addresses: Double-check bridge contract addresses for each chain
- Gas Configuration: Configure appropriate gas multipliers for congested networks
- Verify Contracts: Always verify deployed contracts on block explorers
Next Steps
Local Deployment
Deploy and test on local development environment
Testnet Deployment
Deploy to public testnets for integration testing
Mainnet Deployment
Production deployment to mainnet chains
Contract Verification
Verify contracts on block explorers