-
Notifications
You must be signed in to change notification settings - Fork 5
EIP-7702 Session Key Utils #151
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
WalkthroughNew session key management and query methods were added to the Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant EcosystemWallet
participant EIP7702Contract
User->>EcosystemWallet: CreateSessionKey(chainId, signerAddress, ...)
EcosystemWallet->>EcosystemWallet: Ensure7702()
EcosystemWallet->>EIP7702Contract: createSessionKey(...)
EIP7702Contract-->>EcosystemWallet: TransactionReceipt
EcosystemWallet-->>User: TransactionReceipt
User->>EcosystemWallet: SignerHasFullPermissions(chainId, signerAddress)
EcosystemWallet->>EcosystemWallet: Ensure7702()
EcosystemWallet->>EIP7702Contract: hasFullPermissions(signerAddress)
EIP7702Contract-->>EcosystemWallet: bool
EcosystemWallet-->>User: bool
User->>EcosystemWallet: GetSessionStateForSigner(chainId, signerAddress)
EcosystemWallet->>EcosystemWallet: Ensure7702()
EcosystemWallet->>EIP7702Contract: getSessionState(signerAddress)
EIP7702Contract-->>EcosystemWallet: SessionState
EcosystemWallet-->>User: SessionState
Assessment against linked issues
Possibly related PRs
Warning Review ran into problems🔥 ProblemsErrors were encountered while retrieving linked issues. Errors (1)
📜 Recent review detailsConfiguration used: CodeRabbit UI 📒 Files selected for processing (3)
⏰ Context from checks skipped due to timeout of 90000ms (1)
🔇 Additional comments (5)
✨ Finishing Touches
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #151 +/- ##
==========================================
- Coverage 60.78% 60.73% -0.05%
==========================================
Files 41 41
Lines 6563 6570 +7
Branches 832 832
==========================================
+ Hits 3989 3990 +1
- Misses 2385 2392 +7
+ Partials 189 188 -1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Closes TOOL-4874
PR-Codex overview
This PR introduces new classes and methods related to session keys and permissions for EIP-7702 accounts in the
Thirdweb
wallet system. It enhances functionality for managing session states, call policies, and transfer policies.Detailed summary
LimitState
andSessionState
classes to manage session-related data.CreateSessionKey
,SignerHasFullPermissions
,GetCallPoliciesForSigner
,GetTransferPoliciesForSigner
,GetSessionExpirationForSigner
, andGetSessionStateForSigner
methods.Ensure7702
method to validate EIP-7702 execution mode and delegation status.Summary by CodeRabbit
New Features
Documentation