Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions gator-sidebar.js
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,7 @@ const sidebar = {
key: 'advanced-permissions-reference',
items: [
'reference/advanced-permissions/permissions',
'reference/advanced-permissions/rules',
'reference/advanced-permissions/wallet-client',
],
},
Expand Down
85 changes: 85 additions & 0 deletions smart-accounts-kit/reference/advanced-permissions/rules.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
---
description: Advanced Permissions (ERC-7715) rules reference.
sidebar_label: Rules
keywords: [ERC-7715, advanced permissions, rules, expiry, redeemer, payee, reference]
toc_max_heading_level: 2
---

# Advanced Permissions rules reference

When [executing on a MetaMask user's behalf](../../guides/advanced-permissions/execute-on-metamask-users-behalf.md), you can add the
following rule types for the supported permission types.

Use [`getSupportedExecutionPermissions`](./wallet-client.md#getsupportedexecutionpermissions) to
check which rule types are available for each permission type on each chain.

## Expiry

Sets an expiration timestamp for the permission.

### Parameters

| Name | Type | Required | Description |
| ----------- | -------- | -------- | ------------------------------------- |
| `timestamp` | `number` | Yes | Expiration timestamp in Unix seconds. |

### Example

```ts
const currentTime = Math.floor(Date.now() / 1000)

const rules = [
{
type: 'expiry',
data: {
timestamp: currentTime + 604800,
},
},
]
```

## Redeemer

Restricts permission redemption to specific addresses.

### Parameters

| Name | Type | Required | Description |
| ----------- | ----------- | -------- | ---------------------------------------------------- |
| `addresses` | `Address[]` | Yes | Addresses that are allowed to redeem the permission. |

### Example

```ts
const rules = [
{
type: 'redeemer',
data: {
addresses: ['0x...', '0x...'],
},
},
]
```

## Payee

Restricts payments to specific receiver addresses.

### Parameters

| Name | Type | Required | Description |
| ----------- | ----------- | -------- | ------------------------------------------------- |
| `addresses` | `Address[]` | Yes | Addresses that are allowed as payment recipients. |

### Example

```ts
const rules = [
{
type: 'payee',
data: {
addresses: ['0x...'],
},
},
]
```
Loading