UNPKG

ulysses-sdk

Version:

An sdk for interacting with the Ulysses contracts

95 lines (94 loc) 5.93 kB
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; }