Files
metamask-integration/docs/SMART_ACCOUNTS_DEPLOYMENT_NOTE.md
2026-03-02 12:14:14 -08:00

112 lines
2.9 KiB
Markdown

# Smart Accounts Kit Deployment - Important Note
**Date**: 2026-01-26
**Status**: ⚠️ **Contract Sources Required**
---
## Important Deployment Note
MetaMask Smart Accounts Kit uses **ERC-4337 standard contracts** that need to be deployed:
1. **EntryPoint Contract** (ERC-4337 standard)
2. **AccountFactory Contract** (MetaMask Smart Accounts Kit)
3. **Paymaster Contract** (Optional, for gas abstraction)
---
## Contract Sources
### Option 1: MetaMask Smart Accounts Kit Package
The contracts may be available in the `@metamask/smart-accounts-kit` package:
```bash
npm install @metamask/smart-accounts-kit
# Check for contract artifacts in node_modules/@metamask/smart-accounts-kit
```
### Option 2: Standard ERC-4337 Implementations
Use standard ERC-4337 implementations:
- **OpenZeppelin**: ERC-4337 contracts
- **Alchemy**: Account Abstraction SDK
- **Stackup**: ERC-4337 implementations
- **Pimlico**: ERC-4337 contracts
### Option 3: Use Existing Deployments
If EntryPoint and AccountFactory are already deployed on ChainID 138, use those addresses.
---
## Deployment Steps
### Step 1: Obtain Contract Sources
1. Check `@metamask/smart-accounts-kit` package for contracts
2. Or use standard ERC-4337 implementations
3. Or verify if contracts are already deployed
### Step 2: Deploy Contracts
Once contract sources are available:
```bash
# Deploy EntryPoint
forge script script/smart-accounts/DeployEntryPoint.s.sol \
--rpc-url $RPC_URL_138 --broadcast
# Deploy AccountFactory
forge script script/smart-accounts/DeployAccountFactory.s.sol \
--rpc-url $RPC_URL_138 --broadcast
# Deploy Paymaster (optional)
forge script script/smart-accounts/DeployPaymaster.s.sol \
--rpc-url $RPC_URL_138 --broadcast
```
### Step 3: Update Configuration
```bash
# Update .env
echo "ENTRY_POINT=<deployed-address>" >> smom-dbis-138/.env
echo "SMART_ACCOUNT_FACTORY=<deployed-address>" >> smom-dbis-138/.env
echo "PAYMASTER=<deployed-address>" >> smom-dbis-138/.env # optional
# Update config
cd metamask-integration
./scripts/update-smart-accounts-config.sh --interactive
```
### Step 4: Deploy AccountWalletRegistryExtended
```bash
cd smom-dbis-138
forge script script/smart-accounts/DeployAccountWalletRegistryExtended.s.sol \
--rpc-url $RPC_URL_138 --broadcast
```
---
## Current Status
**Deployment script created**: `script/smart-accounts/DeploySmartAccountsKit.s.sol`
⚠️ **Contract sources needed**: EntryPoint and AccountFactory implementations
**AccountWalletRegistryExtended ready**: Can be deployed once factory/entry point addresses are set
---
## Next Steps
1. **Obtain contract sources** from MetaMask Smart Accounts Kit or ERC-4337 implementations
2. **Create deployment scripts** for EntryPoint and AccountFactory
3. **Deploy contracts** to ChainID 138
4. **Update configuration** with deployed addresses
5. **Deploy AccountWalletRegistryExtended**
---
**Last Updated**: 2026-01-26