Overview
Poolshark is a set of smart contracts comprised of support for range liquidity, cover liquidity, and price liquidity.
The smart contract's base purpose is to provide fundamental guarantees for all interfacing parties. They define the logic of permissionlessly creating new pools, adding liquidity, executing swaps, accumulating across ticks, etc.
Cover Pools¶
The factory defines the logic for generating Cover Pools
. A pool is defined by two tokens and a volatility tier. Multiple pools of the same pair can exist, distinguished by the input pool being tracked as well as the auction parameters (i.e. tickSpread
, twapLength
, and auctionLength
).
Cover Pools allow liquidity providers to increase exposure when token price is increasing and decrease exposure when token price is decreasing.
Limit Pools¶
The factory defines the logic for generating Limit Pools
. A pool is defined by two tokens. Limit Pools
differ from Range Pools
in that LP positions only trade in one direction.
Limit Pools
allow liquidity providers to decrease exposure when token price is increasing.
Limit Solidity Contracts (open-source soon)
Range Pools¶
The factory defines the logic for generating Range Pools
. A range pool is defined by two tokens, which make up the asset pair, and a fee tier. Multiple pools of the same pair can exist, distinguished by each fee tier in existence.
Range Pools allow liquidity providers to have fungible two-way liquidity and autocompounding.
The Samples
library allows for on-chain price and liquidity oracle data to be aggregated for a wide variety of use cases both on-chain and off-chain. is turned off by default in all Range Pools
and is automatically expanded via Cover Pools
as needed.