Sailfish Docs
  • Welcome
  • Getting Started
    • Faucet
    • Concept
    • Why SailFish
    • Tokenomics
    • Contract Addresses
    • Page
  • Page 1
  • Dex Features
    • Trading
    • Bridge EDU
    • Yuzu Distribution
    • Liquidity Provision
  • Technical Docs
    • Concept
      • Architecture Overview
      • V3 pools (Concentrated Liquidity)
      • Read Function
      • Write Functions
      • Execute() for Chaining & Complex Operations
        • Swap using execute()
        • Add Liquidity
        • Stake
        • Voting
        • Multicall operations
  • SailFish Prediction
    • How Prediction Works
  • Security
    • Audit
  • LEGAL
    • Terms of Service
    • Privacy Policy
  • Twitter
Powered by GitBook
On this page
  1. Technical Docs

Concept

Vault: A singleton contract storing user-deposited tokens. It stores balances of pools and depositors. Users mainly interact with this contract.

Pool: A class of smart contracts holding their tokens in the vault and implementing certain callbacks. Liquidity pools, gauges, and bribes are all types of Pools.

Token: Supports not only ERC20 but also ERC721, ERC1155, and native tokens. Tokens are represented as a wrapped bytes32 (Token)

Design Objectives and Security Model

Our approach emphasizes abstraction and encapsulation. We aimed for the vault to make minimal assumptions about the pools' behavior. While gas optimization is a secondary goal, it remains crucial.

Pools deployed by anyone can interact with the Vault freely and permissionlessly. Vault always assumes the possibility of malicious behavior when interacting with pools. They're trusted for user-deposited amounts only.

PreviousLiquidity ProvisionNextArchitecture Overview

Last updated 9 months ago