Installing Permissions During Account Creation
You can install permission plugins during account creation using initConfig
. This approach allows you to set up permissions right when the account is deployed.
Example
Here's how to install a permission plugin during account creation:
import {
toInitConfig
} from "@zerodev/permissions"
import { privateKeyToAccount, generatePrivateKey } from "viem/accounts"
// Create a permission plugin
const permissionPlugin = await toPermissionValidator(publicClient, {
entryPoint,
signer: ecdsaModularSigner,
kernelVersion,
policies: [toSudoPolicy({})]
})
// Create the account with the permission plugin in initConfig using the `toInitConfig` utility
const account = await createKernelAccount(publicClient, {
entryPoint,
plugins: {
sudo: ecdsaValidatorPlugin
},
kernelVersion,
initConfig: await toInitConfig(permissionPlugin)
})
Starter Template
An example of a starter template for installing permissions during account creation is available here.