Last updated
User Initiates Transaction:
A User sends a transaction to a Universal Profile (UP) (i.e. interacts with an LSP7/LSP8 token contract to transfer tokens).
The token contract calls the UP’s Universal Receiver function with typeId and data.
UP Delegates to URDuap:
The UP forwards the call to the URDuap (universalReceiverDelegate(...)).
URDuap Fetches Executive Assistants:
URDuap reads from the ERC725Y data store using a key like UAPTypeConfig:<typeId>.
This key contains an encoded list of Executive Assistant addresses.
URDuap Invokes Each Executive Assistant:
For each Executive Assistant in the list, URDuap calls execute(...) within the same transaction context.
The Assistant returns operation instructions (e.g., IERC725X.execute(...)) plus possibly updated value and data.
URDuap then executes those instructions on the UP’s behalf.
This may include external interactions with third-party contracts.
Fallback to LSP1:
If no Executive Assistants are configured or none are invoked, URDuap calls the default LSP1 delegate.
Finally, URDuap returns control to the UP, completing the transaction.
Last updated