VELOCORE V2
V1 DocszkSyncEraLineaTelos
  • Introduction
  • Our Philosophy
    • Vision
    • Gas Optimization
    • General Bedrock for All Kinds of AMM
    • Epoch-less Predictability
    • Free Flowing Easy Vote System
  • DEX Innovation
    • Token Vault
      • Flashloan
    • Gas Saving Matters : Benchmark
    • AMM Flexibility
    • Multi In/Out Swap
    • Batch Swap
    • Adjustable Trading Fee Mechanics
    • Accumulating Swap Fees in LP Tokens
  • ve(3,3) Innovation
    • Removing 'Epoch' Systems
      • Bribe Optimization
    • Fungible Votes ($veVC)
      • No Decay & Easy Liquidation
    • Decentralized Gauge Deployment
    • Rebase Elimination
  • Security & Contract Address
    • zkSyncEra Contracts
    • Linea Contracts
    • Telos Contracts
    • V1 zkSyncEra (deprecated)
    • Three Rounds of Audits
  • Technical Docs
    • Concepts
    • Architecture Overview
      • Source Files Overview
    • How to interact with VELOCORE
      • Uniswap compatible interface
    • How to Read Data
    • Example Codes
      • Swap
      • Add liquidity
      • Stake
      • Voting
      • Multicall operations
      • cf) wrapper functions
    • Typescript Examples for Integration
    • Pool Specifics
      • Generalized CPMM
      • Wombat Stableswap
    • Events & Chart Integration
      • Getting a pair list
      • Interpreting Swap / LP events
    • Flashloan
  • zkSync Era
    • Migration Plan
      • $VC 1:1 Exchange
      • veNFT -> $veVC
      • One-Step LP Migration
      • Migration Schedule
      • Emission Migration
    • V2 Tokenomics
      • $VC Gauge
      • Bribe Mechanics
      • $veVC VOTING
    • Paymaster as a Service
  • Linea
    • Launch Details
      • Getting Ready
      • Bridging
      • V2 Launch Event
      • $LVC Presale
    • $LVC Tokenomics
      • $LVC Gauge
      • Bribe Mechanics
      • $veLVC VOTING
  • Telos
    • Launch Details
      • Getting Ready
      • Bridging
      • Launch Event
    • $TVC Tokenomics
      • $TVC Gauge
      • Bribe Mechanics
      • $veTVC VOTING
  • Free Loot Box for Future Airdrops
  • PASSPORT - F'air drops
  • Legal Disclaimer
  • Velocore Brand Assets
Powered by GitBook
On this page
  1. Technical Docs

Architecture Overview

Singleton structure for all kinds of interactions

Last updated 1 year ago

For any kind of write function, the only thing you should be interacting with is 'Vault'.

Pools

Unlike previous solidly forks, there is no separate gauge address for each pool.

The structure of the Volatile pool (Constant product MM) and Stable pool (Wombat pool) is slightly different.

Volatile pools(CPMM)

The pool (LP token) is the gauge for volatile pools.

Like an oridinary uniswap factories, volatile pool LP tokens are deployed from one factory contract(ConstantProductPoolFactory). LP tokens are themselves ERC20 and Gauge contract.

However, it's important to keep in mind that in Velocore, all tokens are stored in the Vault contract and the rest of the contracts only perform computations. The staking operations for LP tokens are done through gauge, but the tokens themselves are moved to the Vault contract to be staked.

Stable pools(Wombat pools)

There is an LP contract (ERC-1155), and a gauge contract is deployed for each token corresponding to each #Id. You should use pool address for swap operation and gauge address for stake operation.

Unlike volatile pools, wombat pool doesn't have a factory. Each LP is ERC-1155 and deployed one by one. Instead, they are registered to Register contract(WombatRegistry) as a list for easy tracking.

There can be any number of tokens that make up a Wombat pool, and they are given incremental id in ERC-1155 standard.

Standard diamond structure