Skip to content

Commit fe67b28

Browse files
resolve review comments
1 parent 64648af commit fe67b28

1 file changed

Lines changed: 21 additions & 17 deletions

File tree

smart-accounts-kit/troubleshooting/invalid-signature.md

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -10,24 +10,25 @@ The Delegation Manager reverts with `InvalidEOASignature()` in the following cas
1010

1111
## Smart account is not deployed
1212

13-
The root delegation's delegator must be a MetaMask smart account. The Delegation Manager
14-
checks delegator code length to determine whether the delegator is an EOA or a smart
15-
account.
13+
The [root delegation's](../concepts/delegation/index.md#delegation-types) delegator must be a
14+
MetaMask smart account. The Delegation Manager checks the delegator code to determine
15+
whether it is an externally owned account (EOA) or a smart account.
1616

17-
If the smart account hasn't been deployed yet, it has no code at its address,
18-
so the Delegation Manager treats it as an EOA and attempts ECDSA signature recovery.
19-
Since the delegation was signed by the smart account, recovery produces a different address and reverts.
17+
If the smart account is not deployed yet, its address has no contract code. The Delegation
18+
Manager treats the address as an EOA and attempts ECDSA signature recovery. Because the
19+
delegation was signed by the smart account, signature recovery returns a different address,
20+
and the call reverts.
2021

2122
### Solution
2223

23-
Verify the delegator's smart account is deployed before the delegation is redeemed. The
24-
smart account can be either an ERC-4337 smart account or an EIP-7702 upgraded EOA.
24+
Verify that the smart account used as the delegator is deployed before redeeming the delegation. The
25+
smart account can be either an ERC-4337 smart account or an EIP-7702 upgraded EOA.
2526

26-
For an ERC-4337 smart account, the first user operation sent from the account automatically
27-
deploys it. See [deploy a smart account guide](../guides/smart-accounts/deploy-smart-account.md) to learn more
27+
For an ERC-4337 smart account, the first user operation sent from that account deploys it
28+
automatically. For more information, see the [deploy a smart account](../guides/smart-accounts/deploy-smart-account.md) guide.
2829

29-
For an EIP-7702 upgraded EOA, verify that the authorization to set the
30-
account code has been submitted before the delegation is redeemed.
30+
For an EIP-7702-upgraded EOA, verify that you submit the authorization to set the account code
31+
before redeeming the delegation.
3132

3233
```ts
3334
import { getSmartAccountsEnvironment } from "@metamask/smart-accounts-kit";
@@ -53,7 +54,7 @@ if (code) {
5354
}
5455
```
5556

56-
If the EOA isn't upgraded to a MetaMask smart account, see the [EIP-7702 quickstart guide](../get-started/smart-account-quickstart/eip7702.md).
57+
To upgrade an EOA to a MetaMask smart account, see the [EIP-7702 quickstart guide](../get-started/smart-account-quickstart/eip7702.md).
5758

5859
## Incorrect signer
5960

@@ -62,11 +63,14 @@ address. When the delegator is an EOA, the Delegation Manager recovers the signe
6263
the EIP-712 typed data hash and compares it to the `delegator` field. If they don't
6364
match, the transaction reverts.
6465

65-
This case occurs when redeeming a [delegation chain](../guides/delegation/create-redelegation.md), where an intermediate or leaf delegation has an EOA as the delegator and the delegation is signed with the wrong account.
66+
This occurs when redeeming a [delegation chain](../guides/delegation/create-redelegation.md). An
67+
intermediate or leaf delegation has an EOA as the delegator, but the delegation is signed by an
68+
account other than the expected delegator.
6669

6770
### Solution
6871

69-
Verify that the private key used to sign the delegation belongs to the delegator address. See [`signDelegation`](../reference/delegation/index.md#signdelegation) reference docs to learn more.
72+
Verify that the private key used to sign the delegation corresponds to the delegator address. For
73+
more information, see the [`signDelegation`](../reference/delegation/index.md#signdelegation) reference.
7074

7175
## Incorrect chain ID or Delegation Manager
7276

@@ -76,5 +80,5 @@ Delegation Manager, the recovered address won't match.
7680

7781
### Solution
7882

79-
Verify that the chain ID and Delegation Manager contract address used during signing
80-
match the exact chain and contract where the delegation is being redeemed.
83+
Verify that the chain ID and Delegation Manager contract address you use when signing match the
84+
chain and contract where you redeem the delegation.

0 commit comments

Comments
 (0)