Files
metamask-integration/DEPLOYMENT_CHECKLIST.md

246 lines
5.4 KiB
Markdown
Raw Normal View History

# Smart Accounts Kit Deployment Checklist
**Date**: 2026-01-26
**Network**: ChainID 138 (SMOM-DBIS-138)
---
## Pre-Deployment Checklist
### Environment Setup
- [ ] Foundry installed and configured
- [ ] Node.js installed (v18+)
- [ ] Environment variables configured (`.env`)
- [ ] RPC endpoint accessible
- [ ] Deployer has sufficient ETH for gas
- [ ] Private key secured and backed up
### Configuration
- [ ] `RPC_URL_138` set in `.env`
- [ ] `PRIVATE_KEY` set in `.env`
- [ ] `SMART_ACCOUNT_FACTORY` address (if deploying)
- [ ] `ENTRY_POINT` address (if deploying)
- [ ] `PAYMASTER` address (optional)
---
## Phase 1: Foundation Deployment
### Install SDK
- [ ] Run `./scripts/install-smart-accounts-sdk.sh`
- [ ] Verify SDK installed correctly
- [ ] Check `node_modules/@metamask/smart-accounts-kit` exists
### Deploy Contracts
- [ ] Deploy EntryPoint contract
```bash
forge script script/smart-accounts/DeploySmartAccountsKit.s.sol \
--rpc-url $RPC_URL_138 --broadcast
```
- [ ] Record EntryPoint address
- [ ] Deploy AccountFactory contract
- [ ] Record AccountFactory address
- [ ] Deploy Paymaster contract (optional)
- [ ] Record Paymaster address
### Update Configuration
- [ ] Update `config/smart-accounts-config.json` with addresses
- [ ] Verify configuration is correct
- [ ] Test configuration loading
---
## Phase 2: AccountWalletRegistry Integration
### Deploy Extended Registry
- [ ] Deploy AccountWalletRegistryExtended
```bash
forge script script/smart-accounts/DeployAccountWalletRegistryExtended.s.sol \
--rpc-url $RPC_URL_138 --broadcast
```
- [ ] Record AccountWalletRegistryExtended address
- [ ] Grant ACCOUNT_MANAGER_ROLE to authorized addresses
- [ ] Verify roles are set correctly
### Integration Testing
- [ ] Test linking EOA wallet
- [ ] Test linking Smart Account
- [ ] Test `isSmartAccount()` function
- [ ] Test `getSmartAccounts()` function
- [ ] Verify events are emitted
---
## Phase 3: Testing
### Unit Tests
- [ ] Test smart account creation
- [ ] Test AccountWalletRegistry linking
- [ ] Test delegation framework
- [ ] Test Advanced Permissions
- [ ] Test user operations batching
### Integration Tests
- [ ] Test Smart account + RailEscrowVault
- [ ] Test Smart account + SettlementOrchestrator
- [ ] Test Delegation + Payment rails
- [ ] Test Advanced Permissions + dApps
- [ ] Test AccountWalletRegistry with both EOA and smart accounts
### End-to-End Tests
- [ ] Test complete payment rail flow with smart account
- [ ] Test complete dApp interaction flow
- [ ] Test hybrid EOA + smart account flow
- [ ] Test delegation expiry and renewal
- [ ] Test permission lifecycle
---
## Phase 4: Security
### Security Audit
- [ ] Audit EntryPoint contract
- [ ] Audit AccountFactory contract
- [ ] Audit Paymaster contract (if deployed)
- [ ] Audit AccountWalletRegistryExtended contract
- [ ] Fix any security issues found
### Access Control
- [ ] Verify role-based access control
- [ ] Test permission checks
- [ ] Verify admin functions are protected
- [ ] Test emergency pause (if applicable)
---
## Phase 5: Production Deployment
### Final Checks
- [ ] All tests passing
- [ ] Security audit complete
- [ ] Documentation complete
- [ ] Configuration verified
- [ ] Monitoring set up
### Deployment
- [ ] Deploy to production network
- [ ] Verify contracts deployed correctly
- [ ] Update production configuration
- [ ] Test production deployment
- [ ] Monitor for issues
### Post-Deployment
- [ ] User acceptance testing
- [ ] Performance testing
- [ ] Load testing
- [ ] Monitor metrics
- [ ] Document deployment addresses
---
## Verification Steps
### Contract Verification
- [ ] Verify EntryPoint on block explorer
- [ ] Verify AccountFactory on block explorer
- [ ] Verify Paymaster on block explorer (if deployed)
- [ ] Verify AccountWalletRegistryExtended on block explorer
### Functionality Verification
- [ ] Create test smart account
- [ ] Link smart account to test account
- [ ] Test delegation request
- [ ] Test permission request
- [ ] Test batch operations
---
## Documentation
### User Documentation
- [ ] Smart Accounts User Guide complete
- [ ] FAQ document complete
- [ ] Troubleshooting guide complete
### Developer Documentation
- [ ] Smart Accounts Developer Guide complete
- [ ] Delegation Usage Guide complete
- [ ] Advanced Permissions Guide complete
- [ ] API documentation complete
### Deployment Documentation
- [ ] Deployment guide complete
- [ ] Configuration guide complete
- [ ] Troubleshooting guide complete
---
## Monitoring and Maintenance
### Monitoring Setup
- [ ] Set up contract monitoring
- [ ] Set up transaction monitoring
- [ ] Set up error alerting
- [ ] Set up performance monitoring
### Maintenance
- [ ] Schedule regular security reviews
- [ ] Plan for upgrades
- [ ] Document maintenance procedures
- [ ] Set up backup procedures
---
## Rollback Plan
### If Issues Occur
- [ ] Document rollback procedure
- [ ] Test rollback procedure
- [ ] Keep EOA support active (backward compatible)
- [ ] Have emergency pause ready (if applicable)
---
## Success Criteria
### Technical
- [ ] All contracts deployed successfully
- [ ] All tests passing
- [ ] Security audit passed
- [ ] Performance meets requirements
### User Experience
- [ ] Users can create smart accounts
- [ ] Users can link smart accounts
- [ ] Delegation works correctly
- [ ] Permissions work correctly
---
**Last Updated**: 2026-01-26