Skip to content
Alchemy Logo

PermissionBuilder

Defined in: packages/smart-accounts/src/ma-v2/permissionBuilder.ts:225

A builder for constructing a Permission object.

new PermissionBuilder(params): PermissionBuilder;

Defined in: packages/smart-accounts/src/ma-v2/permissionBuilder.ts:247

Creates a PermissionBuilder instance.

Parameters

ParameterTypeDescription

params

{ client: Client<Transport, Chain, SmartAccount>; deadline?: number; entityId: number; hooks?: Hook[]; key: Key; nonce: bigint; selectors?: `0x${string}`[]; }

The parameters for creating a PermissionBuilder instance.

params.client

Client<Transport, Chain, SmartAccount>

params.deadline?

number

params.entityId

number

params.hooks?

Hook[]

params.key

Key

params.nonce

bigint

params.selectors?

`0x${string}`[]

Returns

PermissionBuilder

addPermission(permission): this;

Defined in: packages/smart-accounts/src/ma-v2/permissionBuilder.ts:310

Adds a permission to the permission builder.

Parameters

ParameterTypeDescription

permission

{ permission: Permission; }

The permission to add.

permission.permission

Permission

Returns

this

The permission builder instance.


addPermissions(permissions): this;

Defined in: packages/smart-accounts/src/ma-v2/permissionBuilder.ts:393

Adds multiple permissions to the permission builder.

Parameters

ParameterTypeDescription

permissions

{ permissions: Permission[]; }

The permissions to add.

permissions.permissions

Permission[]

Returns

this

The permission builder instance.


addSelector(selector): this;

Defined in: packages/smart-accounts/src/ma-v2/permissionBuilder.ts:293

Adds a selector to the permission builder.

Parameters

ParameterTypeDescription

selector

{ selector: `0x${string}`; }

The selector to add.

selector.selector

`0x${string}`

Returns

this

The permission builder instance.


compileDeferred(): Promise<{
  fullPreSignatureDeferredActionPayload: `0x${string}`;
  typedData: MessageDefinition;
}>;

Defined in: packages/smart-accounts/src/ma-v2/permissionBuilder.ts:407

Compiles the deferred action typed data to sign.

Returns

Promise<{ fullPreSignatureDeferredActionPayload: `0x${string}`; typedData: MessageDefinition; }>

The deferred action typed data and the full pre-signature deferred action payload.


compileInstallArgs(): Promise<InstallValidationParams>;

Defined in: packages/smart-accounts/src/ma-v2/permissionBuilder.ts:494

Compiles the install arguments for the installValidation function.

Returns

Promise<InstallValidationParams>

The install arguments.


compileRaw(): Promise<`0x${string}`>;

Defined in: packages/smart-accounts/src/ma-v2/permissionBuilder.ts:464

Compiles the raw install arguments for the installValidation function.

Returns

Promise<`0x${string}`>

The raw install arguments.

Was this page helpful?