LogoLogo
  • 🌊💸 Welcome to Fluidity Money
  • Docs
    • 📚Learning and getting started
      • 🔮Why Fluidity?
      • ❓What are Fluid Assets?
      • 🌟How do you get a Fluid Asset?
      • 💰How are the rewards earned?
      • 🗃️The Economics of a Fluid Asset
        • ✏️Transfer Reward Function (TRF) Example
      • 📋Tutorials
        • How to use Fluidity
    • 🏡Addresses
      • 🅰️Arbitrum
      • ☀️Solana
      • 💧Sui
      • 😳Superposition devnet
    • 🔠Fundamentals
      • 📄FAQ
      • 🔫Fluidity Wars
      • ⛏️Utility Mining
      • 🤝For arbitrage
      • 🏛️Understanding the $FLY Governance Token
        • 💸Fluidity $FLY Vaults
        • 🪙Understanding $FLY Tokenomics
      • ⛓️Launch restrictions (mint limits)
      • 🔓Governance structure
      • 🚂Advisory team
      • 👩‍🏫👩🏫 Laws of Fluidity
      • 🛣️Roadmap
        • 🚀Product roadmap
        • 🌤️Decentralisation roadmap
      • 👩‍🚀Why instant rewards?
    • 💸Use-cases
      • ⌨️Developers
      • 🦄DEXs
      • ✨Fluid Assets and Utility
      • 🎮Metaverse and Gaming
      • 🖼️NFTs
      • 💳Transactions and Payments
      • 🌊Other Use-Cases
    • 🎪Developers
      • 🏢Architecture
        • 👷Worker architecture
        • 💠Ethereum contract architecture
        • ☀️Solana program architecture
      • 🎍EVM ABIs
      • ☀️Solana account structure
      • 🙋How can I Fluid Wrap my custom token?
      • 📊GraphQL
      • 🧾Dev Tutorials
        • ⛏️Creating a New Utility Mining Client
        • 👩‍💻Supporting a New Application
        • 💸Sending and receiving a Fluid Asset
        • 🚄Supporting a Fluid Asset on your DEX/AMM/exchange
        • 🎁Wrapping and unwrapping a Fluid Asset in your app
        • 🌊Providing liquidity for a Fluid Asset
      • 📔Whitepapers
    • 💪Security
      • 🤳Website/infrastructure security
      • 📥Dropboxes
      • 💰Bounty program
      • 📜Audits completed
      • 🫂Contactable team
    • 🤝Partnerships/collaboration
      • 🤝Partnering with us
      • 👐Join us!
      • 💬Fluidifying your asset
        • 😎Brand assets
    • Useful links
      • Fluidity website and whitepapers
      • Fluidity Whitepaper v1.0
      • Discord server
      • Medium
      • Telegram
Powered by GitBook
On this page

Was this helpful?

  1. Docs
  2. Developers
  3. Architecture

Worker architecture

The two currently supported platforms (Ethereum and Solana) follow a similar process:

  1. Application server becomes aware of a block/slot

  2. Application server classifies Fluid Asset interactions in the block/slot as either

    • a standard Fluid Asset transfer

    • an application transaction utilising a Fluid Asset (e.g. a swap on Uniswap, Saber use)

  3. For application transactions, the Application server decodes the interaction and attaches a decorated structure containing information such as its associated fees

  4. Application server sends all Fluid Asset interactions to the Worker Server

  5. Worker computes the current state of the TRF using every available variable (fees paid for each application used, past state history, averages if there are any) and sends it to the Worker client queue

  6. Worker optionally computes more variables after fetching data (this system is disintermediated since some upstream dependencies are unreliable and can dilute the calculation in the previous stage)

  7. Worker either sends the transaction depending on the backend (Solana) or sends it to the final stage which aggregates the batched payouts (Ethereum)

PreviousArchitectureNextEthereum contract architecture

Last updated 2 years ago

Was this helpful?

🎪
🏢
👷