/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils, } from "ethers"; import { FunctionFragment, Result } from "@ethersproject/abi"; import { Listener, Provider } from "@ethersproject/providers"; import { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export type LmRedeemRequestStruct = { addr: string; expiry: BigNumberish; mode: BigNumberish; }; export type LmRedeemRequestStructOutput = [string, BigNumber, number] & { addr: string; expiry: BigNumber; mode: number; }; export type ArgsStruct = { yts: string[]; ots: string[]; markets: string[]; lmV1: LmRedeemRequestStruct[]; lmV2: LmRedeemRequestStruct[]; tokensDistribution: string[]; }; export type ArgsStructOutput = [ string[], string[], string[], LmRedeemRequestStructOutput[], LmRedeemRequestStructOutput[], string[] ] & { yts: string[]; ots: string[]; markets: string[]; lmV1: LmRedeemRequestStructOutput[]; lmV2: LmRedeemRequestStructOutput[]; tokensDistribution: string[]; }; export type TrioTokensStruct = { tokenA: string; tokenB: string; tokenC: string; }; export type TrioTokensStructOutput = [string, string, string] & { tokenA: string; tokenB: string; tokenC: string; }; export type TrioUintsStruct = { uintA: BigNumberish; uintB: BigNumberish; uintC: BigNumberish; }; export type TrioUintsStructOutput = [BigNumber, BigNumber, BigNumber] & { uintA: BigNumber; uintB: BigNumber; uintC: BigNumber; }; export type TrioTokenUintsStruct = { tokens: TrioTokensStruct; uints: TrioUintsStruct; }; export type TrioTokenUintsStructOutput = [ TrioTokensStructOutput, TrioUintsStructOutput ] & { tokens: TrioTokensStructOutput; uints: TrioUintsStructOutput }; export type PairTokensStruct = { tokenA: string; tokenB: string }; export type PairTokensStructOutput = [string, string] & { tokenA: string; tokenB: string; }; export type PairUintsStruct = { uintA: BigNumberish; uintB: BigNumberish }; export type PairUintsStructOutput = [BigNumber, BigNumber] & { uintA: BigNumber; uintB: BigNumber; }; export type PairTokenUintsStruct = { tokens: PairTokensStruct; uints: PairUintsStruct; }; export type PairTokenUintsStructOutput = [ PairTokensStructOutput, PairUintsStructOutput ] & { tokens: PairTokensStructOutput; uints: PairUintsStructOutput }; export type LmRedeemResultStruct = { rewards: PairTokenUintsStruct; interests: PairTokenUintsStruct; }; export type LmRedeemResultStructOutput = [ PairTokenUintsStructOutput, PairTokenUintsStructOutput ] & { rewards: PairTokenUintsStructOutput; interests: PairTokenUintsStructOutput; }; export interface PendleRedeemProxyBaseInterface extends utils.Interface { functions: { "redeem((address[],address[],address[],(address,uint256,uint8)[],(address,uint256,uint8)[],address[]),address)": FunctionFragment; "redeemLmV1((address,uint256,uint8)[],address)": FunctionFragment; "redeemLmV2((address,uint256,uint8)[],address)": FunctionFragment; "redeemMarkets(address[],address)": FunctionFragment; "redeemOts(address[],address)": FunctionFragment; "redeemTokenDist(address[],address)": FunctionFragment; "redeemYts(address[],address)": FunctionFragment; "router()": FunctionFragment; "tokenDistContract()": FunctionFragment; }; encodeFunctionData( functionFragment: "redeem", values: [ArgsStruct, string] ): string; encodeFunctionData( functionFragment: "redeemLmV1", values: [LmRedeemRequestStruct[], string] ): string; encodeFunctionData( functionFragment: "redeemLmV2", values: [LmRedeemRequestStruct[], string] ): string; encodeFunctionData( functionFragment: "redeemMarkets", values: [string[], string] ): string; encodeFunctionData( functionFragment: "redeemOts", values: [string[], string] ): string; encodeFunctionData( functionFragment: "redeemTokenDist", values: [string[], string] ): string; encodeFunctionData( functionFragment: "redeemYts", values: [string[], string] ): string; encodeFunctionData(functionFragment: "router", values?: undefined): string; encodeFunctionData( functionFragment: "tokenDistContract", values?: undefined ): string; decodeFunctionResult(functionFragment: "redeem", data: BytesLike): Result; decodeFunctionResult(functionFragment: "redeemLmV1", data: BytesLike): Result; decodeFunctionResult(functionFragment: "redeemLmV2", data: BytesLike): Result; decodeFunctionResult( functionFragment: "redeemMarkets", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "redeemOts", data: BytesLike): Result; decodeFunctionResult( functionFragment: "redeemTokenDist", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "redeemYts", data: BytesLike): Result; decodeFunctionResult(functionFragment: "router", data: BytesLike): Result; decodeFunctionResult( functionFragment: "tokenDistContract", data: BytesLike ): Result; events: {}; } export interface PendleRedeemProxyBase extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: PendleRedeemProxyBaseInterface; queryFilter( event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined ): Promise>; listeners( eventFilter?: TypedEventFilter ): Array>; listeners(eventName?: string): Array; removeAllListeners( eventFilter: TypedEventFilter ): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { redeem( args: ArgsStruct, user: string, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemLmV1( lm: LmRedeemRequestStruct[], user: string, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemLmV2( lm: LmRedeemRequestStruct[], user: string, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemMarkets( markets: string[], user: string, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemOts( ots: string[], user: string, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemTokenDist( tokens: string[], user: string, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemYts( yts: string[], user: string, overrides?: Overrides & { from?: string | Promise } ): Promise; router(overrides?: CallOverrides): Promise<[string]>; tokenDistContract(overrides?: CallOverrides): Promise<[string]>; }; redeem( args: ArgsStruct, user: string, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemLmV1( lm: LmRedeemRequestStruct[], user: string, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemLmV2( lm: LmRedeemRequestStruct[], user: string, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemMarkets( markets: string[], user: string, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemOts( ots: string[], user: string, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemTokenDist( tokens: string[], user: string, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemYts( yts: string[], user: string, overrides?: Overrides & { from?: string | Promise } ): Promise; router(overrides?: CallOverrides): Promise; tokenDistContract(overrides?: CallOverrides): Promise; callStatic: { redeem( args: ArgsStruct, user: string, overrides?: CallOverrides ): Promise< [ BigNumber[], TrioTokenUintsStructOutput[], BigNumber[], LmRedeemResultStructOutput[], LmRedeemResultStructOutput[], BigNumber[] ] & { ytInterests: BigNumber[]; otRewards: TrioTokenUintsStructOutput[]; marketInterests: BigNumber[]; lmV1Returns: LmRedeemResultStructOutput[]; lmV2Returns: LmRedeemResultStructOutput[]; tokenDistReturns: BigNumber[]; } >; redeemLmV1( lm: LmRedeemRequestStruct[], user: string, overrides?: CallOverrides ): Promise; redeemLmV2( lm: LmRedeemRequestStruct[], user: string, overrides?: CallOverrides ): Promise; redeemMarkets( markets: string[], user: string, overrides?: CallOverrides ): Promise; redeemOts( ots: string[], user: string, overrides?: CallOverrides ): Promise; redeemTokenDist( tokens: string[], user: string, overrides?: CallOverrides ): Promise; redeemYts( yts: string[], user: string, overrides?: CallOverrides ): Promise; router(overrides?: CallOverrides): Promise; tokenDistContract(overrides?: CallOverrides): Promise; }; filters: {}; estimateGas: { redeem( args: ArgsStruct, user: string, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemLmV1( lm: LmRedeemRequestStruct[], user: string, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemLmV2( lm: LmRedeemRequestStruct[], user: string, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemMarkets( markets: string[], user: string, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemOts( ots: string[], user: string, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemTokenDist( tokens: string[], user: string, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemYts( yts: string[], user: string, overrides?: Overrides & { from?: string | Promise } ): Promise; router(overrides?: CallOverrides): Promise; tokenDistContract(overrides?: CallOverrides): Promise; }; populateTransaction: { redeem( args: ArgsStruct, user: string, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemLmV1( lm: LmRedeemRequestStruct[], user: string, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemLmV2( lm: LmRedeemRequestStruct[], user: string, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemMarkets( markets: string[], user: string, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemOts( ots: string[], user: string, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemTokenDist( tokens: string[], user: string, overrides?: Overrides & { from?: string | Promise } ): Promise; redeemYts( yts: string[], user: string, overrides?: Overrides & { from?: string | Promise } ): Promise; router(overrides?: CallOverrides): Promise; tokenDistContract(overrides?: CallOverrides): Promise; }; }