UNPKG

@catalabs/catalyst-sdk

Version:
65 lines 3.28 kB
import { VaultInformation } from './types/math.types'; export declare function sendAsset(fromBalance: bigint, input: bigint, fromWeight: bigint, amp: bigint): bigint; export declare function receiveAsset(toBalance: bigint, input: bigint, toWeight: bigint, amp: bigint): bigint; export declare function getImmediatePrice(balanceFrom: bigint, balanceTo: bigint, weightFrom: bigint, weightTo: bigint, amplification: bigint, escrowTo?: bigint): bigint; export declare function depositMixed(vault: VaultInformation, depositAmounts: bigint[]): bigint; export declare function withdrawEqual(vault: VaultInformation, vaultTokens: bigint): bigint[]; export declare function solvWithdrawEqual(vault: VaultInformation, referenceTokenWithdraw: bigint, referenceTokenIndex: number): bigint; export declare function withdrawMixed(vault: VaultInformation, vaultTokens: bigint, withdrawRatio: bigint[]): bigint[]; export declare function estimateImbalanceLossDeposit(vaults: VaultInformation[], userDeposits: bigint[][]): bigint; export declare function estimateImbalanceLossWithdraw(vaults: VaultInformation[], vaultTokens: bigint[], withdrawRatios: bigint[][]): bigint; export declare function findOptimalLiquiditySwaps(vaults: VaultInformation[], userDeposit: bigint[][]): { vaultTokenSwaps: { equivalentOutput: bigint[]; equivalentInput: bigint[]; vaultTokensSent: bigint; vaultTokensReceived: bigint; from: number; to: number; units: bigint; }[]; expectedVaultTokens: bigint[]; vaultsPostDeposit: { balances: bigint[]; escrowedTokens: bigint[]; weights: bigint[]; totalSupply: bigint; escrowedVaultTokens: bigint; vaultFee: bigint; amplification: bigint; unitTracker: bigint; }[]; postBalance: bigint[][]; }; export declare function findOptimalDepositValues(vaults: VaultInformation[], userBalances: bigint[][], userInputs: bigint[][]): { newUserInputs: bigint[][]; restrictingBalanceIndex: [number, number]; }; export declare function balancedWithdrawalMacro(vaults: VaultInformation[], userVaultTokens: bigint[], userInput: { vaultIndex: number; tokenIndex: number; value: bigint; }): { newUserInputs: bigint[][]; vaultTokensToWithdraw: bigint[]; }; export declare function findOptimalWithdrawLiquiditySwaps(vaults: VaultInformation[], userVaultTokens: bigint[], userWithdrawals: bigint[][]): { vaultTokenSwaps: { vaultTokens: bigint; from: number; to: number; units: bigint; }[]; boughtUnits: bigint[][]; }; export declare function distributeVaultTokenValue(vaults: VaultInformation[], userVaultTokens: bigint[], withdrawalWeights: bigint[][]): bigint[][]; export declare function computeEstimatedOutGivenPercentageWithdrawal(vaults: VaultInformation[], userPoolTokens: bigint[], percentage: bigint, vaultIndex: number, tokenIndex: number): bigint; export declare function findMeExpectedWithdrawnUnits(vaults: VaultInformation[], userVaultTokens: bigint[], percentage: bigint, vaultIndex: number): { vaultTokenSwaps: { vaultTokens: bigint; from: number; to: number; units: bigint; }[]; }; //# sourceMappingURL=math.functions.d.ts.map