246 lines
5.4 KiB
Markdown
246 lines
5.4 KiB
Markdown
# 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
|