-
Notifications
You must be signed in to change notification settings - Fork 23
Delegation API is missing top-level revocation block #2660
Description
Description
Recent changes to the permissions model have required some downstream projects like Gateway to make updates; as part of doing so, it is recommended that Runtime APIs (or custom RPCs where they exist) be preferred over Storage API queries, in order to help insulate clients from chain implementation changes in storage representation.
In light of this, we've come to realize that the MSA Runtime API currently provides no mechanism to retrieve the top-level revocation block for a Provider Delegation; currently, clients can only retrieve that information via a direct storage API query.
Currently, the runtime API adjusts the revocation block reported for each granular permission based on whether the entire top-level delegation has been revoked as of the current block. However, this response is therefore missing the information of whether the top-level delegation has been revoked, or just each individual Intent grant. It is possible to grant a delegation to a Provider without delegating any specific Intents.