🤖
UP Assistants
UP Assistants Web
  • UP Assistants: Digital Assistants For Everyone
  • Getting Started
    • Quickstart
    • UP Assistant Usecases
    • Supported Blockchains
    • Catalog page
    • Global Settings page
    • Wallets
  • Developers
    • Overview
    • Protocol Architecture
    • Transaction flow
    • Creating assistants
    • Deployment
    • Future proposal: Screener Assistants
Powered by GitBook
On this page
  1. Developers

Overview

PreviousWalletsNextProtocol Architecture

Last updated 3 months ago

If you're unfamiliar with LSP1 Universal Receiver, please check .

Our contract serves as a Universal Receiver Delegate tailored for the Universal Assistant Protocol (UAP). It extends a base universal receiver delegate, allowing it to intercept and handle incoming transactions on a Universal Profile. The primary purpose is to dynamically evaluate transaction types and, based on on-chain configurations stored in the profile’s data, delegate the transaction processing to a series of "assistant" contracts—specifically, executive and screener assistants (coming soon).

When a transaction is received, the contract’s universalReceiverDelegate function is invoked. This function first attempts to fetch a type-specific configuration using a generated mapping key that incorporates the transaction’s typeId. If a configuration exists, it decodes an ordered list of executive assistant addresses from the returned data. In cases where no configuration is found, it simply defers to the default behavior defined in its parent contract.

Overall, this design enables flexible and modular transaction handling on Universal Profiles. By leveraging on-chain configurations to dynamically determine which assistant contracts to engage, the system supports customizable behavior for different transaction types while maintaining a robust security model through screening and trust verification mechanisms.

Lukso's guide on LSP1
UniversalReceiverDelegateUAP