Skip to content

Add non-ERC-4337 EIP-7702 multi-manager account - #200

Open
hanzel98 wants to merge 1 commit into
mainfrom
feat/eip7702-multi-manager-delegator
Open

Add non-ERC-4337 EIP-7702 multi-manager account#200
hanzel98 wants to merge 1 commit into
mainfrom
feat/eip7702-multi-manager-delegator

Conversation

@hanzel98

@hanzel98hanzel98 commented Aug 18, 2026

Copy link
Copy Markdown
Contributor

Summary

  • add a standalone, non-ERC-4337 EIP7702MultiManagerDeleGator with two immutable default DelegationManager contracts and optional additional approved managers
  • add deterministic deployment and verification support
  • add concise pre-use security guidance and focused test coverage

Security considerations

  • every default or approved DelegationManager has root authority to execute arbitrary calls, self-call the account, and modify mutable approvals
  • the two defaults cannot be revoked for this implementation
  • unknown, unofficial, unaudited, compromised, or upgradeable DelegationManager contracts can compromise the account and must be carefully verified and trusted
  • mutable approvals persist when returning to the same implementation; there is no on-chain enumeration or revoke-all operation

Validation

  • targeted suite: 22 passed, 0 failed, including 512 fuzz runs
  • full non-RPC suite: 1,047 passed, 0 failed across 59 suites
  • scoped account coverage: 115/115 lines, 36/38 branches, 27/27 functions
  • forge fmt --check and forge build --sizes passed
  • runtime size: 8,673 bytes; initcode: 9,110 bytes

Note

Cursor Bugbot is generating a summary for commit 51fd2d9. Configure here.

@hanzel98
hanzel98 requested a review from a team as a code ownerAugust 18, 2026 03:38
@hanzel98
hanzel98force-pushed the feat/eip7702-multi-manager-delegator branch from e1a6665 to 87deeecCompareAugust 18, 2026 04:09
@hanzel98hanzel98 changed the title feat: add EIP-7702 multi-manager delegatorAdd EIP-7702 multi-manager delegatorAug 18, 2026
@hanzel98
hanzel98force-pushed the feat/eip7702-multi-manager-delegator branch 4 times, most recently from 019b144 to 9cd7132CompareAugust 18, 2026 19:34
@hanzel98hanzel98 changed the title Add EIP-7702 multi-manager delegatorAdd non-ERC-4337 EIP-7702 multi-manager accountAug 18, 2026
@hanzel98
hanzel98force-pushed the feat/eip7702-multi-manager-delegator branch from 9cd7132 to 308b706CompareAugust 18, 2026 19:55
@hanzel98

Copy link
Copy Markdown
ContributorAuthor

I think we may be able to remove the relay functions:

disableDelegation, enableDelegation, approveDelegationManager, revokeDelegationManager, redeemDelegations, and isDelegationDisabled.

The user can already use execute to call any Delegation Manager that is not whitelisted, just as they would call any other contract.

The main reason to keep these functions would be backward compatibility with previous Gator accounts. However, since the function signatures have already changed, that compatibility is already broken.

Do you see any reason to keep them, @McOso?

@hanzel98
hanzel98force-pushed the feat/eip7702-multi-manager-delegator branch 2 times, most recently from f5e999d to 748727bCompareAugust 19, 2026 00:19
@hanzel98
hanzel98force-pushed the feat/eip7702-multi-manager-delegator branch from 748727b to 51fd2d9CompareAugust 19, 2026 00:23
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@hanzel98