hermes-v2-sdk
Version:
⚒️ An SDK for building applications on top of Hermes V2
48 lines (47 loc) • 5.61 kB
TypeScript
import { BigNumber } from '@ethersproject/bignumber';
import { BigNumber as OldBigNumber } from '../../../../utils/balancer/bignumber';
import { PhantomStablePoolPairData } from '.';
export declare function _invariant(A: BigNumber, balances: OldBigNumber[]): OldBigNumber;
/**********************************************************************************************
// outGivenIn token x for y - polynomial equation to solve //
// ay = amount out to calculate //
// by = balance token out //
// y = by - ay //
// D = invariant D D^(n+1) //
// A = amplifier y^2 + ( S - ---------- - 1) * y - ------------- = 0 //
// n = number of tokens (A * n^n) A * n^2n * P //
// S = sum of final balances but y //
// P = product of final balances but y //
**********************************************************************************************/
export declare function _exactTokenInForTokenOut(amount: OldBigNumber, poolPairData: PhantomStablePoolPairData): OldBigNumber;
/**********************************************************************************************
// inGivenOut token x for y - polynomial equation to solve //
// ax = amount in to calculate //
// bx = balance token in //
// x = bx + ax //
// D = invariant D D^(n+1) //
// A = amplifier x^2 + ( S - ---------- - 1) * x - ------------- = 0 //
// n = number of tokens (A * n^n) A * n^2n * P //
// S = sum of final balances but x //
// P = product of final balances but x //
**********************************************************************************************/
export declare function _tokenInForExactTokenOut(amount: OldBigNumber, poolPairData: PhantomStablePoolPairData): OldBigNumber;
export declare function _tokenInForExactBPTOut(amount: OldBigNumber, poolPairData: PhantomStablePoolPairData): OldBigNumber;
export declare function _BPTInForExactTokenOut(amount: OldBigNumber, poolPairData: PhantomStablePoolPairData): OldBigNumber;
export declare function _solveAnalyticalBalance(sum: OldBigNumber, inv: OldBigNumber, A: BigNumber, n_pow_n: OldBigNumber, p: OldBigNumber): OldBigNumber;
export declare function _exactTokenInForBPTOut(amount: OldBigNumber, poolPairData: PhantomStablePoolPairData): OldBigNumber;
export declare function _exactBPTInForTokenOut(amount: OldBigNumber, poolPairData: PhantomStablePoolPairData): OldBigNumber;
export declare function _poolDerivatives(A: BigNumber, balances: OldBigNumber[], tokenIndexIn: number, tokenIndexOut: number, is_first_derivative: boolean, wrt_out: boolean): OldBigNumber;
export declare function _poolDerivativesBPT(A: BigNumber, balances: OldBigNumber[], bptSupply: OldBigNumber, tokenIndexIn: number, is_first_derivative: boolean, is_BPT_out: boolean, wrt_out: boolean): OldBigNumber;
export declare function _spotPriceAfterSwapExactTokenInForTokenOut(amount: OldBigNumber, poolPairData: PhantomStablePoolPairData): OldBigNumber;
export declare function _spotPriceAfterSwapTokenInForExactTokenOut(amount: OldBigNumber, poolPairData: PhantomStablePoolPairData): OldBigNumber;
export declare function _spotPriceAfterSwapExactTokenInForBPTOut(amount: OldBigNumber, poolPairData: PhantomStablePoolPairData): OldBigNumber;
export declare function _spotPriceAfterSwapTokenInForExactBPTOut(amount: OldBigNumber, poolPairData: PhantomStablePoolPairData): OldBigNumber;
export declare function _spotPriceAfterSwapExactBPTInForTokenOut(amount: OldBigNumber, poolPairData: PhantomStablePoolPairData): OldBigNumber;
export declare function _spotPriceAfterSwapBPTInForExactTokenOut(amount: OldBigNumber, poolPairData: PhantomStablePoolPairData): OldBigNumber;
export declare function _derivativeSpotPriceAfterSwapExactTokenInForTokenOut(amount: OldBigNumber, poolPairData: PhantomStablePoolPairData): OldBigNumber;
export declare function _derivativeSpotPriceAfterSwapTokenInForExactTokenOut(amount: OldBigNumber, poolPairData: PhantomStablePoolPairData): OldBigNumber;
export declare function _derivativeSpotPriceAfterSwapExactTokenInForBPTOut(amount: OldBigNumber, poolPairData: PhantomStablePoolPairData): OldBigNumber;
export declare function _derivativeSpotPriceAfterSwapTokenInForExactBPTOut(amount: OldBigNumber, poolPairData: PhantomStablePoolPairData): OldBigNumber;
export declare function _derivativeSpotPriceAfterSwapBPTInForExactTokenOut(amount: OldBigNumber, poolPairData: PhantomStablePoolPairData): OldBigNumber;
export declare function _derivativeSpotPriceAfterSwapExactBPTInForTokenOut(amount: OldBigNumber, poolPairData: PhantomStablePoolPairData): OldBigNumber;