Skip to content

Commit 37df431

Browse files
Merge branch 'main' into feat/buyer
2 parents d981a1f + 410298a commit 37df431

2 files changed

Lines changed: 86 additions & 0 deletions

File tree

gator-sidebar.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,6 +205,7 @@ const sidebar = {
205205
key: 'advanced-permissions-reference',
206206
items: [
207207
'reference/advanced-permissions/permissions',
208+
'reference/advanced-permissions/rules',
208209
'reference/advanced-permissions/wallet-client',
209210
],
210211
},
Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
---
2+
description: Advanced Permissions (ERC-7715) rules reference.
3+
sidebar_label: Rules
4+
keywords: [ERC-7715, advanced permissions, rules, expiry, redeemer, payee, reference]
5+
toc_max_heading_level: 2
6+
---
7+
8+
# Advanced Permissions rules reference
9+
10+
When [executing on a MetaMask user's behalf](../../guides/advanced-permissions/execute-on-metamask-users-behalf.md), you can add the
11+
following rule types for the supported permission types.
12+
13+
Use [`getSupportedExecutionPermissions`](./wallet-client.md#getsupportedexecutionpermissions) to
14+
check which rule types are available for each permission type on each chain.
15+
16+
## Expiry
17+
18+
Sets an expiration timestamp for the permission.
19+
20+
### Parameters
21+
22+
| Name | Type | Required | Description |
23+
| ----------- | -------- | -------- | ------------------------------------- |
24+
| `timestamp` | `number` | Yes | Expiration timestamp in Unix seconds. |
25+
26+
### Example
27+
28+
```ts
29+
const currentTime = Math.floor(Date.now() / 1000)
30+
31+
const rules = [
32+
{
33+
type: 'expiry',
34+
data: {
35+
timestamp: currentTime + 604800,
36+
},
37+
},
38+
]
39+
```
40+
41+
## Redeemer
42+
43+
Restricts permission redemption to specific addresses.
44+
45+
### Parameters
46+
47+
| Name | Type | Required | Description |
48+
| ----------- | ----------- | -------- | ---------------------------------------------------- |
49+
| `addresses` | `Address[]` | Yes | Addresses that are allowed to redeem the permission. |
50+
51+
### Example
52+
53+
```ts
54+
const rules = [
55+
{
56+
type: 'redeemer',
57+
data: {
58+
addresses: ['0x...', '0x...'],
59+
},
60+
},
61+
]
62+
```
63+
64+
## Payee
65+
66+
Restricts payments to specific receiver addresses.
67+
68+
### Parameters
69+
70+
| Name | Type | Required | Description |
71+
| ----------- | ----------- | -------- | ------------------------------------------------- |
72+
| `addresses` | `Address[]` | Yes | Addresses that are allowed as payment recipients. |
73+
74+
### Example
75+
76+
```ts
77+
const rules = [
78+
{
79+
type: 'payee',
80+
data: {
81+
addresses: ['0x...'],
82+
},
83+
},
84+
]
85+
```

0 commit comments

Comments
 (0)