@catalabs/catalyst-sdk
Version:
Catalyst AMM SDK
114 lines • 5.22 kB
TypeScript
import type { PermitBatch, PermitBatchData, PermitData, PermitSingle } from '../evm/permit2/interfaces';
import { CombineRouteParamsOrder } from './enums/route.enum';
import { RouteParams, RouterCallArguments, RoutingIncentive } from './types/route.types';
import { RouteDetails } from './types/route.types';
declare const PermitSingle = "tuple(tuple(address, uint160, uint48, uint48), address, uint256)";
declare const PermitBatch = "tuple(tuple(address, uint160, uint48, uint48)[], address, uint256)";
export declare const gasCostTable: Record<string, bigint>;
export declare class RouterArguments {
static MSG_SENDER: string;
static ADDRESS_THIS: string;
static BALANCE_THIS: bigint;
static ROUTER: string;
WGAS: string;
constructor(options?: {
WGAS?: string;
});
params: RouteParams;
gasCost: bigint;
routerContains: {
[key: string]: bigint;
};
static getIncentiveCost(routingIncentive: RoutingIncentive): bigint;
ensureRouterEmpty(): void;
modifyRouterContains(asset: string, amount: bigint): void;
getParams(checkRouterIsEmpty?: boolean): RouterCallArguments;
getCalldata(): string;
getGasCostEstimate(options?: {
additionalMargin?: number;
remote?: boolean;
}): bigint;
static splitRoute(fromAsset: string, route: RouteDetails): [
{
fromAsset: string;
routeDetails: RouteDetails;
},
{
fromAsset: string;
routeDetails: RouteDetails;
},
{
fromAsset: string;
routeDetails: RouteDetails;
}
];
wrapGas(to?: string, amount?: bigint): void;
unwrapGas(to: string, minOut?: bigint): void;
localroute(fromAsset: string, route: RouteDetails, minOut: bigint): void;
sendAsset(fromAsset: string, toAssetIndex: number, fromVault: string, toVault: string, channelId: string, minOut: bigint, transferTo: string, gasTokensToSend: bigint, routingIncentive: RoutingIncentive, deadline?: bigint, underwritingIncentive?: bigint, target_data?: string, revert_to?: string): void;
deposit(vault: string, tokens: string[], tokenAmounts: bigint[], minOut: bigint): void;
withdrawEqual(vault: string, amountVaultTokens: bigint, minOuts: bigint[]): void;
withdrawMixed(vault: string, amountVaultTokens: bigint, withdrawRatios: bigint[], minOuts: bigint[]): void;
sweep(token: string, target: string, minOut?: bigint): void;
transferFrom(token: string, amount: bigint): void;
liquiditySwap(fromVault: string, toVault: string, channelId: string, minOuts: [bigint, bigint], transferTo: string, gasTokensToSend: bigint, routingIncentive: RoutingIncentive, amount?: bigint, deadline?: bigint, target_data?: string, revert_to?: string): void;
permit2Permit(permitSingle: PermitSingle, signature: string, order?: CombineRouteParamsOrder): void;
permit2PermitBatch(permitBatch: PermitBatch, signature: string, order?: CombineRouteParamsOrder): void;
permit2TransferFrom(token: string, amount: bigint, order?: CombineRouteParamsOrder): void;
permit2TransferFromBatch(assets: {
token: string;
amount: bigint;
}[], owner: string, order?: CombineRouteParamsOrder): void;
transferWithOptionalPermit(asset: {
token: string;
amount: bigint;
}, permitData?: PermitData, order?: CombineRouteParamsOrder): void;
transferWithOptionalPermitBatch(assets: {
token: string;
amount: bigint;
}[], owner: string, permitBatchData?: PermitBatchData, order?: CombineRouteParamsOrder): void;
transferWithPermitForDepositWithLiquiditySwaps(assets: {
token: string;
amount: bigint;
}[], owner: string, gasUsage: {
estimatedGasUsedOnRemote: bigint;
estimatedGasUsedOnLocalAck: bigint;
estimatedRoutingPayment: bigint;
}, permitBatchData?: PermitBatchData): {
executionInstructions: {
commands: string;
inputs: string[];
gas: {
estimatedGasUsedOnLocal: bigint;
estimatedRefundOnAck: bigint;
estimatedGasUsedOnRemote: bigint;
estimatedGasUsedOnLocalAck: bigint;
estimatedRoutingPayment: bigint;
};
};
};
transferWithPermitForWithdrawWithLiquiditySwap(asset: {
token: string;
amount: bigint;
}, gasUsage: {
estimatedGasUsedOnRemote: bigint;
estimatedGasUsedOnLocalAck: bigint;
estimatedRoutingPayment: bigint;
}, permitData?: PermitData): {
executionInstructions: {
commands: string;
inputs: string[];
gas: {
estimatedGasUsedOnLocal: bigint;
estimatedRefundOnAck: bigint;
estimatedGasUsedOnRemote: bigint;
estimatedGasUsedOnLocalAck: bigint;
estimatedRoutingPayment: bigint;
};
};
};
static addressEncodeHelper(address: string): string;
combineRouteParams(firstParams: RouteParams, lastParams: RouteParams, order?: CombineRouteParamsOrder): RouteParams;
}
export {};
//# sourceMappingURL=router.utils.d.ts.map