API initialization
TheBalancerApi class provides helper functions for interacting with the Berancer API.
Constructor
Properties
TheBalancerApi class initializes the following properties:
- Pools - Methods for interacting with individual pools
- NestedPools - Methods for working with nested pools
- SorSwapPaths - Methods for optimizing swap paths
Pools
pools.fetchPoolState
Finds state of given pool.
Returns
pools.fetchPoolStateWithBalances
Finds state of given pool including token balances and pool shares.
Returns
Nested pools
nestedPools.fetchPoolState
Finds state of a set of nested pools.
Returns
SorSwapPaths
sorSwapPaths.fetchSorSwapPaths
Finds optimized swap paths for a given swap config.
Returns
AddLiquidity
This class provides functionality to:- Perform on-chain queries to see the result of an addLiquidity operation
- Build an addLiquidity transaction, with slippage, for a consumer to submit
- Supported add types: SingleToken, Unbalanced, Proportional
Constructor
Methods
query
Simulate addLiquidity operation by using an onchain call.
Returns
buildCall. Includes updated bptOut amount.
buildCall
Builds the addLiquidity transaction using user defined slippage.
Returns
buildCallWithPermit2
Builds the addLiquidity transaction using user defined slippage and Permit2 signature for token approval.Check out the Permit2 Helper section on how to generate a Permit2 signature.
Returns
RemoveLiquidity
This class provides functionality to:- Perform on-chain queries to see the result of a removeLiquidity operation
- Build a removeLiquidity transaction, with slippage, for a consumer to submit
- Supported remove types: Unbalanced, SingleTokenExactOutInput, SingleTokenExactInInput, Proportional
Constructor
Methods
query
Simulate removeLiquidity operation by using an onchain call.
Returns
buildCall. Includes updated amountsOut amount.
queryRemoveLiquidityRecovery
Calculates proportional exit using pool state. Note - this does not do an onchain query.
Returns
buildCall. Includes updated amountsOut amount.
buildCall
Builds the removeLiquidity transaction using user defined slippage.
Returns
buildCallWithPermit
Builds the removeLiquidity transaction using user defined slippage and Permit signature for token approval.Check out the Permit Helper section on how to generate a Permit signature.
Returns
Swap
This class provides functionality to:- Perform on-chain queries to see the result of a Swap operation
- Build a Swap transaction, with slippage, for a consumer to submit
Constructor
Note:
SwapInput data is normally returned from an API SOR query but may be constructed manually.
Methods
query
Gets up to date swap result by querying onchain.
Returns
expectedAmountOut or expectedAmountIn depending on swap kind.
buildCall
Builds the swap transaction using user defined slippage.
Returns
minAmountOut or maxAmountIn depending on swap kind.
buildCallWithPermit2
Builds the swap transaction using user defined slippage and Permit2 signature for token approval.Check out the Permit2 Helper section on how to generate a Permit2 signature.
Returns
minAmountOut or maxAmountIn depending on swap kind.
quote
Gives the combined return amount for all paths. Note - this always uses the original path amounts provided in constructor and does not get updated.inputAmount
outputAmount
queryCallData
PriceImpact
This class provides helper functions to calculate Price Impact for add/remove/swap actions.Methods
addLiquiditySingleToken
Calculate price impact on add liquidity single token operations.
Returns
addLiquidityUnbalanced
Calculate price impact on add liquidity unbalanced operations.
Returns
addLiquidityNested
Calculate price impact on add liquidity nested token operations.
Returns
removeLiquidity
Calculate price impact on remove liquidity operations.
Returns
removeLiquidityNested
Calculate price impact on remove liquidity single token nested operations.
Returns
swap
Calculate price impact on swap operations.
Note:
SwapInput data is normally returned from an API SOR query but may be constructed manually.
Returns
Utils
Helper functions.calculateProportionalAmounts
Given pool balances (including BPT) and a reference token amount, it calculates all other amounts proportional to the reference amount.
Returns
Permit2 helper
Balancer v3 handles token approval through Permit2 and this helper facilitates Permit2 signature generation. Each operation (i.e.addLiquidity, addLiquidityNested, addLiquidityBoosted and swap) has its own method that leverages the same input type of the operation itself in order to simplify signature generation.
Function
Returns
Permit helper
Balancer v3 conforms with EIP-2612 and this helper facilitates Permit signature generation. Each operation (i.e.removeLiquidity, removeLiquidityNested and removeLiquidityBoosted) has its own method that leverages the same input type of the operation itself in order to simplify signature generation.
Function
Returns