Overview
Documentation for Arrakis V2 Core Smart Contracts
The core contracts allow anyone to:
create an
ArrakisV2
vault instance that manages holdings of a given token pair and issues ERC20 shares to depositor(s) of the token pairdispatch and collect vault's token pair holdings to/from Uniswap V3 Liquidity Positions via a settable
manager
account (or smart contract)configure and control important vault setup parameters (manager, restrictedMint, pools, swap routers) via the vault
owner
role
The Arrakis V2 Core contracts are thus neutral concentrated liquidity management infrastructure which anyone can deploy, configure and use freely- no added fees or haircut. While vaults don't have any hardcoded protocol fees, the manager
role may still optionally set a fee parameter to take some proportion (or all) of the fees earned by the vault's Uniswap LP positions. Anyone can build "Active Liquidity Management" products on Arrakis V2 infrastructure and implement their own custom fee models.
ArrakisV2
The ERC20 vault smart contract at the heart of this LP management system. A vault collects assets in a given token pair and delegates a manager
smart contract to deploy vault capital in and out of an arbitrary collection of Uniswap V3 LP Positions for that token pair. Utilize the ERC20 tokenization of the position to aggregate liquidity from multiple shareholders, or create a "private" vault exclusively for a single depositor (see restrictedMint
property).
ArrakisV2Factory
Factory contract for deploying ArrakisV2
vault instances. Deploy vaults for any token pair and configure the owner, manager, and other initial parameters when calling deployVault.
ArrakisV2Resolver
Helper contract that resolves payloads for ArrakisV2
vault functions.
ArrakisV2Helper
Helper contract for querying common information about ArrakisV2
vaults.
Last updated