/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, PopulatedTransaction, Signer, utils, } from "ethers"; import type { FunctionFragment, Result } from "@ethersproject/abi"; import type { Listener, Provider } from "@ethersproject/providers"; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue, } from "./common"; export declare namespace CyanPaymentPlanV2 { export type ItemStruct = { amount: PromiseOrValue; tokenId: PromiseOrValue; contractAddress: PromiseOrValue; cyanVaultAddress: PromiseOrValue; itemType: PromiseOrValue; }; export type ItemStructOutput = [ BigNumber, BigNumber, string, string, number ] & { amount: BigNumber; tokenId: BigNumber; contractAddress: string; cyanVaultAddress: string; itemType: number; }; export type PlanStruct = { amount: PromiseOrValue; downPaymentPercent: PromiseOrValue; interestRate: PromiseOrValue; serviceFeeRate: PromiseOrValue; term: PromiseOrValue; totalNumberOfPayments: PromiseOrValue; counterPaidPayments: PromiseOrValue; autoRepayStatus: PromiseOrValue; }; export type PlanStructOutput = [ BigNumber, number, number, number, number, number, number, number ] & { amount: BigNumber; downPaymentPercent: number; interestRate: number; serviceFeeRate: number; term: number; totalNumberOfPayments: number; counterPaidPayments: number; autoRepayStatus: number; }; } export declare namespace ISeaport { export type OfferItemStruct = { itemType: PromiseOrValue; token: PromiseOrValue; identifierOrCriteria: PromiseOrValue; startAmount: PromiseOrValue; endAmount: PromiseOrValue; }; export type OfferItemStructOutput = [ number, string, BigNumber, BigNumber, BigNumber ] & { itemType: number; token: string; identifierOrCriteria: BigNumber; startAmount: BigNumber; endAmount: BigNumber; }; export type ConsiderationItemStruct = { itemType: PromiseOrValue; token: PromiseOrValue; identifierOrCriteria: PromiseOrValue; startAmount: PromiseOrValue; endAmount: PromiseOrValue; recipient: PromiseOrValue; }; export type ConsiderationItemStructOutput = [ number, string, BigNumber, BigNumber, BigNumber, string ] & { itemType: number; token: string; identifierOrCriteria: BigNumber; startAmount: BigNumber; endAmount: BigNumber; recipient: string; }; export type OrderParametersStruct = { offerer: PromiseOrValue; zone: PromiseOrValue; offer: ISeaport.OfferItemStruct[]; consideration: ISeaport.ConsiderationItemStruct[]; orderType: PromiseOrValue; startTime: PromiseOrValue; endTime: PromiseOrValue; zoneHash: PromiseOrValue; salt: PromiseOrValue; conduitKey: PromiseOrValue; totalOriginalConsiderationItems: PromiseOrValue; }; export type OrderParametersStructOutput = [ string, string, ISeaport.OfferItemStructOutput[], ISeaport.ConsiderationItemStructOutput[], number, BigNumber, BigNumber, string, BigNumber, string, BigNumber ] & { offerer: string; zone: string; offer: ISeaport.OfferItemStructOutput[]; consideration: ISeaport.ConsiderationItemStructOutput[]; orderType: number; startTime: BigNumber; endTime: BigNumber; zoneHash: string; salt: BigNumber; conduitKey: string; totalOriginalConsiderationItems: BigNumber; }; export type AdvancedOrderStruct = { parameters: ISeaport.OrderParametersStruct; numerator: PromiseOrValue; denominator: PromiseOrValue; signature: PromiseOrValue; extraData: PromiseOrValue; }; export type AdvancedOrderStructOutput = [ ISeaport.OrderParametersStructOutput, BigNumber, BigNumber, string, string ] & { parameters: ISeaport.OrderParametersStructOutput; numerator: BigNumber; denominator: BigNumber; signature: string; extraData: string; }; export type CriteriaResolverStruct = { orderIndex: PromiseOrValue; side: PromiseOrValue; index: PromiseOrValue; identifier: PromiseOrValue; criteriaProof: PromiseOrValue[]; }; export type CriteriaResolverStructOutput = [ BigNumber, number, BigNumber, BigNumber, string[] ] & { orderIndex: BigNumber; side: number; index: BigNumber; identifier: BigNumber; criteriaProof: string[]; }; export type FulfillmentComponentStruct = { orderIndex: PromiseOrValue; itemIndex: PromiseOrValue; }; export type FulfillmentComponentStructOutput = [BigNumber, BigNumber] & { orderIndex: BigNumber; itemIndex: BigNumber; }; export type FulfillmentStruct = { offerComponents: ISeaport.FulfillmentComponentStruct[]; considerationComponents: ISeaport.FulfillmentComponentStruct[]; }; export type FulfillmentStructOutput = [ ISeaport.FulfillmentComponentStructOutput[], ISeaport.FulfillmentComponentStructOutput[] ] & { offerComponents: ISeaport.FulfillmentComponentStructOutput[]; considerationComponents: ISeaport.FulfillmentComponentStructOutput[]; }; export type OfferDataStruct = { orders: ISeaport.AdvancedOrderStruct[]; criteriaResolvers: ISeaport.CriteriaResolverStruct[]; fulfillments: ISeaport.FulfillmentStruct[]; recipient: PromiseOrValue; }; export type OfferDataStructOutput = [ ISeaport.AdvancedOrderStructOutput[], ISeaport.CriteriaResolverStructOutput[], ISeaport.FulfillmentStructOutput[], string ] & { orders: ISeaport.AdvancedOrderStructOutput[]; criteriaResolvers: ISeaport.CriteriaResolverStructOutput[]; fulfillments: ISeaport.FulfillmentStructOutput[]; recipient: string; }; } export interface PaymentPlanV2Interface extends utils.Interface { functions: { "createPawn((uint256,uint256,address,address,uint8),(uint256,uint32,uint32,uint32,uint32,uint8,uint8,uint8),uint256,uint256,bytes)": FunctionFragment; "createBNPL((uint256,uint256,address,address,uint8),(uint256,uint32,uint32,uint32,uint32,uint8,uint8,uint8),uint256,uint256,bytes)": FunctionFragment; "pay(uint256,bool)": FunctionFragment; "getExpectedPlan((uint256,uint32,uint32,uint32,uint32,uint8,uint8,uint8))": FunctionFragment; "getPaymentInfoByPlanId(uint256,bool)": FunctionFragment; "getCurrencyAddressByPlanId(uint256)": FunctionFragment; "earlyUnwind(uint256,uint256,(((address,address,(uint8,address,uint256,uint256,uint256)[],(uint8,address,uint256,uint256,uint256,address)[],uint8,uint256,uint256,bytes32,uint256,bytes32,uint256),uint120,uint120,bytes,bytes)[],(uint256,uint8,uint256,uint256,bytes32[])[],((uint256,uint256)[],(uint256,uint256)[])[],address))": FunctionFragment; }; getFunction( nameOrSignatureOrTopic: | "createPawn" | "createBNPL" | "pay" | "getExpectedPlan" | "getPaymentInfoByPlanId" | "getCurrencyAddressByPlanId" | "earlyUnwind" ): FunctionFragment; encodeFunctionData( functionFragment: "createPawn", values: [ CyanPaymentPlanV2.ItemStruct, CyanPaymentPlanV2.PlanStruct, PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "createBNPL", values: [ CyanPaymentPlanV2.ItemStruct, CyanPaymentPlanV2.PlanStruct, PromiseOrValue, PromiseOrValue, PromiseOrValue ] ): string; encodeFunctionData( functionFragment: "pay", values: [PromiseOrValue, PromiseOrValue] ): string; encodeFunctionData( functionFragment: "getExpectedPlan", values: [CyanPaymentPlanV2.PlanStruct] ): string; encodeFunctionData( functionFragment: "getPaymentInfoByPlanId", values: [PromiseOrValue, PromiseOrValue] ): string; encodeFunctionData( functionFragment: "getCurrencyAddressByPlanId", values: [PromiseOrValue] ): string; encodeFunctionData( functionFragment: "earlyUnwind", values: [ PromiseOrValue, PromiseOrValue, ISeaport.OfferDataStruct ] ): string; decodeFunctionResult(functionFragment: "createPawn", data: BytesLike): Result; decodeFunctionResult(functionFragment: "createBNPL", data: BytesLike): Result; decodeFunctionResult(functionFragment: "pay", data: BytesLike): Result; decodeFunctionResult( functionFragment: "getExpectedPlan", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getPaymentInfoByPlanId", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getCurrencyAddressByPlanId", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "earlyUnwind", data: BytesLike ): Result; events: {}; } export interface PaymentPlanV2 extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: PaymentPlanV2Interface; 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: { createPawn( item: CyanPaymentPlanV2.ItemStruct, plan: CyanPaymentPlanV2.PlanStruct, planId: PromiseOrValue, signedBlockNum: PromiseOrValue, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; createBNPL( item: CyanPaymentPlanV2.ItemStruct, plan: CyanPaymentPlanV2.PlanStruct, planId: PromiseOrValue, signedBlockNum: PromiseOrValue, signature: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; pay( planId: PromiseOrValue, isEarlyPayment: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; getExpectedPlan( plan: CyanPaymentPlanV2.PlanStruct, overrides?: CallOverrides ): Promise<[BigNumber, BigNumber, BigNumber, BigNumber, BigNumber]>; getPaymentInfoByPlanId( planId: PromiseOrValue, isEarlyPayment: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber, BigNumber, BigNumber, BigNumber, BigNumber]>; getCurrencyAddressByPlanId( planId: PromiseOrValue, overrides?: CallOverrides ): Promise<[string]>; earlyUnwind( planId: PromiseOrValue, sellPrice: PromiseOrValue, offer: ISeaport.OfferDataStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; createPawn( item: CyanPaymentPlanV2.ItemStruct, plan: CyanPaymentPlanV2.PlanStruct, planId: PromiseOrValue, signedBlockNum: PromiseOrValue, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; createBNPL( item: CyanPaymentPlanV2.ItemStruct, plan: CyanPaymentPlanV2.PlanStruct, planId: PromiseOrValue, signedBlockNum: PromiseOrValue, signature: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; pay( planId: PromiseOrValue, isEarlyPayment: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; getExpectedPlan( plan: CyanPaymentPlanV2.PlanStruct, overrides?: CallOverrides ): Promise<[BigNumber, BigNumber, BigNumber, BigNumber, BigNumber]>; getPaymentInfoByPlanId( planId: PromiseOrValue, isEarlyPayment: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber, BigNumber, BigNumber, BigNumber, BigNumber]>; getCurrencyAddressByPlanId( planId: PromiseOrValue, overrides?: CallOverrides ): Promise; earlyUnwind( planId: PromiseOrValue, sellPrice: PromiseOrValue, offer: ISeaport.OfferDataStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; callStatic: { createPawn( item: CyanPaymentPlanV2.ItemStruct, plan: CyanPaymentPlanV2.PlanStruct, planId: PromiseOrValue, signedBlockNum: PromiseOrValue, signature: PromiseOrValue, overrides?: CallOverrides ): Promise; createBNPL( item: CyanPaymentPlanV2.ItemStruct, plan: CyanPaymentPlanV2.PlanStruct, planId: PromiseOrValue, signedBlockNum: PromiseOrValue, signature: PromiseOrValue, overrides?: CallOverrides ): Promise; pay( planId: PromiseOrValue, isEarlyPayment: PromiseOrValue, overrides?: CallOverrides ): Promise; getExpectedPlan( plan: CyanPaymentPlanV2.PlanStruct, overrides?: CallOverrides ): Promise<[BigNumber, BigNumber, BigNumber, BigNumber, BigNumber]>; getPaymentInfoByPlanId( planId: PromiseOrValue, isEarlyPayment: PromiseOrValue, overrides?: CallOverrides ): Promise<[BigNumber, BigNumber, BigNumber, BigNumber, BigNumber]>; getCurrencyAddressByPlanId( planId: PromiseOrValue, overrides?: CallOverrides ): Promise; earlyUnwind( planId: PromiseOrValue, sellPrice: PromiseOrValue, offer: ISeaport.OfferDataStruct, overrides?: CallOverrides ): Promise; }; filters: {}; estimateGas: { createPawn( item: CyanPaymentPlanV2.ItemStruct, plan: CyanPaymentPlanV2.PlanStruct, planId: PromiseOrValue, signedBlockNum: PromiseOrValue, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; createBNPL( item: CyanPaymentPlanV2.ItemStruct, plan: CyanPaymentPlanV2.PlanStruct, planId: PromiseOrValue, signedBlockNum: PromiseOrValue, signature: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; pay( planId: PromiseOrValue, isEarlyPayment: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; getExpectedPlan( plan: CyanPaymentPlanV2.PlanStruct, overrides?: CallOverrides ): Promise; getPaymentInfoByPlanId( planId: PromiseOrValue, isEarlyPayment: PromiseOrValue, overrides?: CallOverrides ): Promise; getCurrencyAddressByPlanId( planId: PromiseOrValue, overrides?: CallOverrides ): Promise; earlyUnwind( planId: PromiseOrValue, sellPrice: PromiseOrValue, offer: ISeaport.OfferDataStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; populateTransaction: { createPawn( item: CyanPaymentPlanV2.ItemStruct, plan: CyanPaymentPlanV2.PlanStruct, planId: PromiseOrValue, signedBlockNum: PromiseOrValue, signature: PromiseOrValue, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; createBNPL( item: CyanPaymentPlanV2.ItemStruct, plan: CyanPaymentPlanV2.PlanStruct, planId: PromiseOrValue, signedBlockNum: PromiseOrValue, signature: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; pay( planId: PromiseOrValue, isEarlyPayment: PromiseOrValue, overrides?: PayableOverrides & { from?: PromiseOrValue } ): Promise; getExpectedPlan( plan: CyanPaymentPlanV2.PlanStruct, overrides?: CallOverrides ): Promise; getPaymentInfoByPlanId( planId: PromiseOrValue, isEarlyPayment: PromiseOrValue, overrides?: CallOverrides ): Promise; getCurrencyAddressByPlanId( planId: PromiseOrValue, overrides?: CallOverrides ): Promise; earlyUnwind( planId: PromiseOrValue, sellPrice: PromiseOrValue, offer: ISeaport.OfferDataStruct, overrides?: Overrides & { from?: PromiseOrValue } ): Promise; }; }