All Projects → balancer-labs → Balancer Core

balancer-labs / Balancer Core

Licence: gpl-3.0
Balancer on the EVM

Programming Languages

solidity
1140 projects

balancer pebbles logo

balancer

Balancer is an automated portfolio manager, liquidity provider, and price sensor.

Balancer turns the concept of an index fund on its head: instead of a paying fees to portfolio managers to rebalance your portfolio, you collect fees from traders, who rebalance your portfolio by following arbitrage opportunities.

Balancer is based on an N-dimensional invariant surface which is a generalization of the constant product formula described by Vitalik Buterin and proven viable by the popular Uniswap dapp.

🍂 Bronze Release 🍂

The 🍂Bronze Release🍂 is the first of 3 planned releases of the Balancer Protocol. Bronze emphasizes code clarity for audit and verification, and does not go to great lengths to optimize for gas.

The ❄️Silver Release❄️ will bring many gas optimizations and architecture changes that will reduce transaction overhead and enable more flexibility for managed pools.

The ☀️Golden Release☀️ will introduce a curious new liquidity mechanism to the market.

Documentation

The full documentation can be found at https://docs.balancer.finance

Development

Most users will want to consume the ABI definitions for BFactory and BPool.

This project follows the standard Truffle project structure.

yarn compile   # build artifacts to `build/contracts`
yarn testrpc # run ganache
yarn test    # run the tests

Tests can be run verbosely to view approximation diffs:

yarn test:verbose
  Contract: BPool
    With fees
pAi
expected: 10.891089108910892)
actual  : 10.891089106783580001)
relDif  : 1.9532588879656032e-10)
Pool Balance
expected: 98010000000000030000)
actual  : 98010000001320543977)
relDif  : 1.3473294888276702e-11)
Dirt Balance
expected: 3921200210105053000)
actual  : 3921200210099248361)
relDif  : 1.480428360949332e-12)
Rock Balance
expected: 11763600630315160000)
actual  : 11763600630334527239)
relDif  : 1.6464292361378058e-12)
      ✓ exitswap_ExternAmountOut (537ms)

Complete API docs are available at https://docs.balancer.finance/smart-contracts/api

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].