Skip to content

Aerodrome Finance Concentrated Liquidity Contracts

License

Notifications You must be signed in to change notification settings

gabkov/slipstream

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,149 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Slipstream

This repository contains the smart contracts for the Slipstream Concentrated Liquidity contracts. It contains the core concentrated liquidity contracts, adapted from UniswapV3's core contracts. It contains the higher level periphery contracts, adapted from UniswapV3's periphery contracts. It also contains gauges designed to operate within the Velodrome ecosystem.

See SPECIFICATION.md and CHANGELOG.md for more information.

Installation

This repository is a hybrid hardhat and foundry repository.

Install hardhat dependencies with yarn install. Install foundry dependencies with forge install.

Run hardhat tests with yarn test. Run forge tests with forge test.

Testing

Invariants

To run the invariant tests, echidna must be installed. The following instructions require additional installations (e.g. of solc-select).

echidna test/invariants/E2E_mint_burn.sol --config test/invariants/E2E_mint_burn.config.yaml --contract E2E_mint_burn
echidna test/invariants/E2E_swap.sol --config test/invariants/E2E_swap.config.yaml --contract E2E_swap

Licensing

As this repository depends on the UniswapV3 v3-core and v3-periphery repository, the contracts in the contracts/core and contracts/periphery folders are licensed under GPL-2.0-or-later or alternative licenses (as indicated in their SPDX headers).

Files in the contracts/gauge folder are licensed under the Business Source License 1.1 (BUSL-1.1).

Bug Bounty

Velodrome has a live bug bounty hosted on (Immunefi).

Deployments

Initial Deployment

Initial deployment of Slipstream contracts on Base.

Name Address
GaugeFactory 0xD30677bd8dd15132F251Cb54CbDA552d2A05Fb08
GaugeImplementation 0xF5601F95708256A118EF5971820327F362442D2d
MixedQuoter 0x0A5aA5D3a4d28014f967Bf0f29EAA3FF9807D5c6
NonfungiblePositionManager 0x827922686190790b37229fd06084350E74485b72
NonfungibleTokenPositionDescriptor 0x01b0CaCB9A8004e08D075c919B5dF3b59FD53c55
PoolFactory 0x5e7BB104d84c7CB9B682AaC2F3d509f5F406809A
PoolImplementation 0xeC8E5342B19977B4eF8892e02D8DAEcfa1315831
QuoterV2 0x254cF9E1E6e233aa1AC962CB9B05b2cfeAaE15b0
CustomSwapFeeModule 0xF4171B0953b52Fa55462E4d76ecA1845Db69af00
CustomUnstakedFeeModule 0x0AD08370c76Ff426F534bb2AFFD9b5555338ee68
SwapRouter 0xBE6D8f0d05cC4be24d5167a3eF062215bE6D18a5
SugarHelper 0x0AD09A66af0154a84e86F761313d02d0abB6edd5
DynamicSwapFeeModule 0xDB45818A6db280ecfeB33cbeBd445423d0216b5D

Gauge Caps Deployment

Deployment with gauge emission cap enforcement and redistributor functionality to manage and reallocate excess emissions.

Key Changes:

  • Gauge Caps:
    • CLGauge enforces emission caps to limit rewards per gauge.
    • The emission cap is set as a percentage of total weekly emissions.
    • When a gauge exceeds its cap, excess emissions are automatically transferred to the Redistributor.
  • Redistributor:
    • Manages redistribution of excess emissions when gauges exceed their caps.
    • Collects excess emissions from capped gauges and redistributes them to other eligible gauges proportionally to their voting weight.
Name Address
GaugeFactory 0xB630227a79707D517320b6c0f885806389dFcbB3
GaugeImplementation 0xC0d2086B6f70C0C40423626167096c6196cFA0c8
MixedQuoter 0x49540630A4d2CE67d54450D007D634F4c45B4f4f
NonfungiblePositionManager 0xa990C6a764b73BF43cee5Bb40339c3322FB9D55F
NonfungibleTokenPositionDescriptor 0xf632031B94D72deE0D99DeF846c9b6211041337f
PoolFactory 0xaDe65c38CD4849aDBA595a4323a8C7DdfE89716a
PoolImplementation 0x942e97a4c6FdC38B4CD1c0298D37d81fDD8E5A16
Quoter 0x3d4C22254F86f64B7eC90ab8F7aeC1FBFD271c6C
SwapFeeModule 0x5264Eeeab16037A7A7AF15Ff69A470af6e2a2223
SwapRouter 0xcbBb8035cAc7D4B3Ca7aBb74cF7BdF900215Ce0D
UnstakedFeeModule 0xCCC21f4750E8B3E9C095BCB5d2fF59247A2CCD35
DynamicSwapFeeModule 0x00cB12a1c84dfC1b9c70734C0385E769Bc86e9Ef
Redistributor 0x11a53f31Bf406de59fCf9613E1922bd3E283A4B4

About

Aerodrome Finance Concentrated Liquidity Contracts

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Solidity 70.7%
  • TypeScript 29.3%