You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: delegation-toolkit/concepts/erc7715.md
+20-4Lines changed: 20 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,6 +16,26 @@ It also enables dapps to execute transactions for users without an active wallet
16
16
This feature requires [MetaMask Flask 12.14.2](/snaps/get-started/install-flask) or later.
17
17
:::
18
18
19
+
## ERC-7715 technical overview
20
+
21
+
[ERC-7715](https://eips.ethereum.org/EIPS/eip-7715) defines a JSON-RPC method `wallet_grantPermissions`. Dapps can use this method to request a wallet to grant the dapp permission to execute transactions on a user's behalf.
22
+
`wallet_grantPermissions` includes a `signer` parameter, which identifies the entity requesting or managing the permission.
23
+
Common signer implementations include wallet signers, single key and multisig signers, and account signers.
24
+
25
+
The Delegation Toolkit's implementation uses an account signer.
26
+
A session account is created and used for the single purpose of requesting and redeeming ERC-7715 permissions, and does not contain tokens.
27
+
The account can be granted with permissions and redeem them as specified in [ERC-7710](https://eips.ethereum.org/EIPS/eip-7710).
28
+
The account can be a smart account or an externally owned account (EOA).
29
+
30
+
31
+
The MetaMask user that the session account requests permissions from must be upgraded to a [MetaMask smart account](smart-accounts.md).
32
+
33
+
:::info ERC-7715 vs. delegations
34
+
ERC-7715 expands on regular [delegations](delegation/index.md) by enabling permission sharing *via the MetaMask browser extension*.
35
+
Regular delegations cannot be signed through the MetaMask extension, because if a dapp requests a delegation without constraints, the whole wallet can be exposed to the dapp.
36
+
In contrast, ERC-7715 requires a [permission type](#permission-types) which displays a readable confirmation for the MetaMask user.
37
+
:::
38
+
19
39
## ERC-7715 permissions lifecycle
20
40
21
41
The ERC-7715 permissions lifecycle is as follows:
@@ -39,7 +59,3 @@ The Delegation Toolkit currently supports the following types of ERC-7715 permis
39
59
-**Native token permissions** - Define how dapps can use users' native tokens.
40
60
41
61
-**ERC-20 token permissions** - Define how dapps can use users' ERC-20 tokens.
42
-
43
-
## ERC-7715 permissions vs. delegation
44
-
45
-
Requesting and redeeming ERC-7715 permissions differ from [creating and redeeming delegations](delegation/index.md).
0 commit comments