-
Notifications
You must be signed in to change notification settings - Fork 83
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
WIP:: Custom method selector SVM (ABI SVM) #174
Conversation
contracts/smart-account/modules/SessionValidationModules/ABISessionValidationModule.sol
Outdated
Show resolved
Hide resolved
contracts/smart-account/modules/SessionValidationModules/ABISessionValidationModule.sol
Outdated
Show resolved
Hide resolved
contracts/smart-account/modules/SessionValidationModules/ABISessionValidationModule.sol
Outdated
Show resolved
Hide resolved
contracts/smart-account/modules/SessionValidationModules/ABISessionValidationModule.sol
Outdated
Show resolved
Hide resolved
contracts/smart-account/modules/SessionValidationModules/ABISessionValidationModule.sol
Outdated
Show resolved
Hide resolved
contracts/smart-account/modules/SessionValidationModules/ABISessionValidationModule.sol
Show resolved
Hide resolved
contracts/smart-account/modules/SessionValidationModules/ABISessionValidationModule.sol
Outdated
Show resolved
Hide resolved
If the argument is address then how does rules like <= >= apply and be relevant |
can you document more about how to add rules. I think we will hand hold people a lot understanding offset especially. and generating session key data accordingly cause this heavily depends on contract and method |
contracts/smart-account/modules/SessionValidationModules/ABISessionValidationModule.sol
Show resolved
Hide resolved
* @return sessionKey address of the sessionKey that signed the userOp | ||
* for example to store a list of allowed tokens or receivers | ||
*/ | ||
function _validateSessionParams( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can you add more comments on solidity assembly blocks about what it achieves.
also would be great is constant numbers can be defined as constants or some offset constant then x:x+4 (depending on bytes)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
added
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
added couple of constants, in other places just added comments not have constant+constant (which would add gas) instead of just hardcoded value
can sessionKeyData just be concat of
and not providing anything else at all? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
review ii
Yeah, it is explained here I think |
technically any address is a uint as well. so technically it can be applied, but logically it rarely makes sense |
yes, added according test case |
will provide feedback this week |
can you link it here or on dm. sorry for trouble again |
==== SELF-REVIEW AND INTERNAL REVIEWS ARE DONE ==== |
Linking the documentation in the PR Description |
Passing to Security Auditors |
…ediations SMA 379 ABI SVM audit remediations pt 1
Summary
Introduces the new Session Validation Module, which can validate an action, performed by userOp, based on:
It allows a dApp to validate calls from a SmartAccount to any method of any contract.
This SVM can be a useful building block for custom flows via the Batched Session Router.
Detailed Document:
ABI SVM the universal Session Validation Module 2716292a4efe4b6b96d4910927ea3cca.pdf
Related Issue: #SMA-363
Change Type
Checklist