Skip to content

[Improvement] Support for temporary runtime permissions #33

@noam-alchemy

Description

@noam-alchemy

Support per-use permissions where the account requires explicit permission in UserOp.calldata for certain operations, so the user is made aware that the transaction is doing something that requires elevated privilege of some sort.

e.g.

require(someSpecialPermissionAppendedToCallData, "SpecialPermission needed")

When the wallet simulates the transaction without the user appending this SpecialPermission, the simulation reverts with "SpecialPermission needed" so the user cannot be tricked to do something that requires this permission without explicitly agreeing to it. On the wallet side, it'll see this revert in pre-signing simulation, append SpecialPermission to calldata and prompt the user to sign with it. The user is informed that the transaction requires a special permission such as ChangeOwnership.

For critical things like changing permission, it makes sense to require this explicit permission and ensure that there's no way to ever trigger these operations accidentally through some other operation.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    No status

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions