Transaction flow
Detailed Universal Assistant Protocol Transaction Flow
Flow Explanation
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
anddata
.
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 updatedvalue
anddata
.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