@catalabs/catalyst-sdk
Version:
Catalyst AMM SDK
65 lines • 3.28 kB
TypeScript
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