Skip to content

Commit 411af6f

Browse files
committed
add technical overview
1 parent c8cf451 commit 411af6f

File tree

1 file changed

+20
-4
lines changed

1 file changed

+20
-4
lines changed

delegation-toolkit/concepts/erc7715.md

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,26 @@ It also enables dapps to execute transactions for users without an active wallet
1616
This feature requires [MetaMask Flask 12.14.2](/snaps/get-started/install-flask) or later.
1717
:::
1818

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+
1939
## ERC-7715 permissions lifecycle
2040

2141
The ERC-7715 permissions lifecycle is as follows:
@@ -39,7 +59,3 @@ The Delegation Toolkit currently supports the following types of ERC-7715 permis
3959
- **Native token permissions** - Define how dapps can use users' native tokens.
4060

4161
- **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

Comments
 (0)