Context
The Universal wallet uses the MetaMask Delegation Framework for handling wallet delegations, authorizations and intents. The framework includes 20+ enforcer smart contract modules for dictating transaction execution capabilities.
Enforcer composition effects how the application behaves. A delegation's classification, as defined in the Delegations Classification System, changes how the delegation/authorization behaves in the Universal stack.
Problem
Delegations are manually classified in application forms before submission to the apps/api-delegations service.
This is bad and error prone.
Scope
In the apps/api-delegations/src/routes/delegations route update the POST method to automatically classify the delegation.
The packages/universal-delegations-sdk module should contain the utility functions for automatic classification.
Classification should happen by comparing the enforcer address fields in the caveats.
Matching classification definitions outlined in Delegations Classification System.
Context
The Universal wallet uses the MetaMask Delegation Framework for handling wallet delegations, authorizations and intents. The framework includes 20+ enforcer smart contract modules for dictating transaction execution capabilities.
Enforcer composition effects how the application behaves. A delegation's classification, as defined in the Delegations Classification System, changes how the delegation/authorization behaves in the Universal stack.
Problem
Delegations are manually classified in application forms before submission to the
apps/api-delegationsservice.This is bad and error prone.
Scope
In the
apps/api-delegations/src/routes/delegationsroute update thePOSTmethod to automatically classify the delegation.The
packages/universal-delegations-sdkmodule should contain the utility functions for automatic classification.Classification should happen by comparing the
enforceraddress fields in the caveats.Matching classification definitions outlined in Delegations Classification System.