ulysses-sdk
Version:
An sdk for interacting with the Ulysses contracts
95 lines (94 loc) • 5.93 kB
TypeScript
import { Interface } from '@ethersproject/abi';
import { MethodReturnParams } from 'maia-core-sdk';
import { GasParams, IDefaultParams, IMultipleDepositParams, ISingleDepositParams } from '../../types';
import { IBranchRouterCallOutAndBridgeMultipleParams, ICallOutAndBridgeParams } from '../../types/baseBranchRouterTypes';
/**
* Class to create the calldata to pass as argument for a given call to the branch router.
*/
export declare abstract class BaseBranchRouter {
static readonly INTERFACE: Interface;
/**
* Cannot be constructed.
*/
private constructor();
/**
* Encodes the calldata to pass as argument to a BaseBranchRouter attached to a MulticallRootRouter.
* Produces the on-chain calldata to pass as argument for a call that does not require a token deposit.
* Eg: Claiming rewards,withdraw liq, etc.
*
* @param params The parameters to pass to the branch router function.
* @param gasParams params that hold information about the gasLimit and remoteBranchExecutionGas.
*/
static encodeCallOutCalldata(params: string, gasParams: GasParams): string;
/**
* Encodes the calldata to pass as argument to a BaseBranchRouter attached to a MulticallRootRouter.
* Produces the on chain parameters to pass as arguments for a given call that requires a single token deposit.
* Eg: ERC4626 Deposit, swap, etc.
*
* @param params The encoded params to pass to the root router. (executeSignedDepositSingle function on the router)
* @param depositParams params that hold information about the deposit token and amount.
* @param gasParams params that hold information about the gasLimit and remoteBranchExecutionGas
* @returns
*/
static encodeCallOutAndBridgeCalldata({ params, depositParams, gasParams }: ICallOutAndBridgeParams): string;
/**
* Encodes the calldata to pass as argument to a BaseBranchRouter attached to a MulticallRootRouter.
* Produces the on chain parameters to pass as arguments for a given call that requires multiple token deposit.
* Eg: Adding Liquidity, etc.
*
* @param params The encoded params to pass to the root router. (executeSignedDepositSingle function on the router)
* @param depositParams params that hold information about the deposit tokens and amounts.
* @param gasParams params that hold information about the gasLimit and remoteBranchExecutionGas
* @returns
*/
static encodeCallOutAndBridgeMultipleCalldata({ params, depositParams, gasParams, }: IBranchRouterCallOutAndBridgeMultipleParams): string;
/**
* Used to request the retry of a failed deposit from the origin branch chain.
* @param depositNonce The nonce of the deposit to retry.
* @param params The encoded params to pass to the root router
* @param gasParams params that hold information about the gasLimit and remoteBranchExecutionGas
* @returns encoded calldata for the retryDeposit function
*/
static encodeRetryDepositCalldata(depositNonce: number, params: string, gasParams: GasParams): string;
/**
* Encodes the calldata to pass as argument to a BaseBranchRouter attached to a MulticallRootRouterLibZip.
* Produces the on-chain calldata to pass as argument for a call that does not require a token deposit.
* Eg: Claiming rewards,withdraw liq, etc.
*
* @param params The parameters to pass to the branch router function.
* @param gasParams params that hold information about the gasLimit and remoteBranchExecutionGas.
* @returns the encoded calldata and message value for the call
*
*/
static encodeCallOutLibZipCalldata(params: IDefaultParams, gasParams: GasParams): MethodReturnParams;
/**
* Encodes the calldata to pass as argument to a BaseBranchRouter attached to a MulticallRootRouterLibZip.
* Produces the on chain parameters to pass as arguments for a given call that requires a single token deposit.
* Eg: ERC4626 Deposit, swap, etc.
*
* @param params parameters to pass to the branch router function.
* @param dParams deposit params to pass to the branch router function.
* @param gasParams params that hold information about the gasLimit and remoteBranchExecutionGas.
* @returns the encoded calldata and message value for the call
*/
static encodeCallOutAndBridgeLibZipCalldata(params: IDefaultParams, dParams: ISingleDepositParams, gasParams: GasParams): MethodReturnParams;
/**
* Encodes the calldata to pass as argument to a BaseBranchRouter attached to a MulticallRootRouterLibZip.
* Produces the on chain parameters to pass as arguments for a given call that requires multiple token deposit.
* Eg: Adding Liquidity, etc.
*
* @param params parameters to pass to the branch router function.
* @param mdParams multiple deposit params to pass to the branch router function.
* @param gasParams params that hold information about the gasLimit and remoteBranchExecutionGas.
* @returns the encoded calldata and message value for the call
*/
static encodeCallOutAndBridgeMultipleLibZipCalldata(params: IDefaultParams, mdParams: IMultipleDepositParams, gasParams: GasParams): MethodReturnParams;
/**
* Used to request the retry of a failed deposit from the origin branch chain to a MulticallRootRouterLibZip.
* @param depositNonce The nonce of the deposit to retry.
* @param params The encoded params to pass to the root router
* @param gasParams params that hold information about the gasLimit and remoteBranchExecutionGas
* @returns encoded calldata for the retryDeposit function
*/
static encodeRetryDepositLibZipCalldata(depositNonce: number, params: IDefaultParams, gasParams: GasParams): MethodReturnParams;
}