import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, 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 IWallet { type ActionDataStruct = { ethValue: PromiseOrValue; contractAddress: PromiseOrValue; encodedFunction: PromiseOrValue; }; type ActionDataStructOutput = [BigNumber, string, string] & { ethValue: BigNumber; contractAddress: string; encodedFunction: string; }; type OperationStruct = { nonce: PromiseOrValue; gas: PromiseOrValue; actions: IWallet.ActionDataStruct[]; }; type OperationStructOutput = [ BigNumber, BigNumber, IWallet.ActionDataStructOutput[] ] & { nonce: BigNumber; gas: BigNumber; actions: IWallet.ActionDataStructOutput[]; }; type BundleStruct = { signature: [PromiseOrValue, PromiseOrValue]; senderPublicKeys: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ][]; operations: IWallet.OperationStruct[]; }; type BundleStructOutput = [ [ BigNumber, BigNumber ], [ BigNumber, BigNumber, BigNumber, BigNumber ][], IWallet.OperationStructOutput[] ] & { signature: [BigNumber, BigNumber]; senderPublicKeys: [BigNumber, BigNumber, BigNumber, BigNumber][]; operations: IWallet.OperationStructOutput[]; }; } export declare namespace BLSExpander { type AddressBundleStruct = { signature: [PromiseOrValue, PromiseOrValue]; senderAddresses: PromiseOrValue[]; operations: IWallet.OperationStruct[]; }; type AddressBundleStructOutput = [ [ BigNumber, BigNumber ], string[], IWallet.OperationStructOutput[] ] & { signature: [BigNumber, BigNumber]; senderAddresses: string[]; operations: IWallet.OperationStructOutput[]; }; } export interface BLSExpanderInterface extends utils.Interface { functions: { "addressProcessBundle((uint256[2],address[],(uint256,uint256,(uint256,address,bytes)[])[]))": FunctionFragment; "addressToPublicKey(address,uint256)": FunctionFragment; "blsCallMultiCheckRewardIncrease(address,uint256,(uint256[2],uint256[4][],(uint256,uint256,(uint256,address,bytes)[])[]))": FunctionFragment; "blsCallMultiSameCallerContractFunction(uint256[4],uint256,uint256,uint256[2],address,bytes4,bytes[])": FunctionFragment; "registerPublicKey(address,uint256[4])": FunctionFragment; "registerPublicKeys(address[],uint256[4][])": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "addressProcessBundle" | "addressToPublicKey" | "blsCallMultiCheckRewardIncrease" | "blsCallMultiSameCallerContractFunction" | "registerPublicKey" | "registerPublicKeys"): FunctionFragment; encodeFunctionData(functionFragment: "addressProcessBundle", values: [BLSExpander.AddressBundleStruct]): string; encodeFunctionData(functionFragment: "addressToPublicKey", values: [PromiseOrValue, PromiseOrValue]): string; encodeFunctionData(functionFragment: "blsCallMultiCheckRewardIncrease", values: [ PromiseOrValue, PromiseOrValue, IWallet.BundleStruct ]): string; encodeFunctionData(functionFragment: "blsCallMultiSameCallerContractFunction", values: [ [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ], PromiseOrValue, PromiseOrValue, [ PromiseOrValue, PromiseOrValue ], PromiseOrValue, PromiseOrValue, PromiseOrValue[] ]): string; encodeFunctionData(functionFragment: "registerPublicKey", values: [ PromiseOrValue, [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ] ]): string; encodeFunctionData(functionFragment: "registerPublicKeys", values: [ PromiseOrValue[], [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ][] ]): string; decodeFunctionResult(functionFragment: "addressProcessBundle", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addressToPublicKey", data: BytesLike): Result; decodeFunctionResult(functionFragment: "blsCallMultiCheckRewardIncrease", data: BytesLike): Result; decodeFunctionResult(functionFragment: "blsCallMultiSameCallerContractFunction", data: BytesLike): Result; decodeFunctionResult(functionFragment: "registerPublicKey", data: BytesLike): Result; decodeFunctionResult(functionFragment: "registerPublicKeys", data: BytesLike): Result; events: {}; } export interface BLSExpander extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: BLSExpanderInterface; 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: { addressProcessBundle(addressBundle: BLSExpander.AddressBundleStruct, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; addressToPublicKey(arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides): Promise<[BigNumber]>; blsCallMultiCheckRewardIncrease(tokenRewardAddress: PromiseOrValue, tokenRewardAmount: PromiseOrValue, bundle: IWallet.BundleStruct, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; blsCallMultiSameCallerContractFunction(publicKey: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ], nonce: PromiseOrValue, gas: PromiseOrValue, signature: [PromiseOrValue, PromiseOrValue], contractAddress: PromiseOrValue, methodId: PromiseOrValue, encodedParamSets: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; registerPublicKey(walletAddress: PromiseOrValue, publicKey: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; registerPublicKeys(walletAddresses: PromiseOrValue[], publicKeys: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ][], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; addressProcessBundle(addressBundle: BLSExpander.AddressBundleStruct, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; addressToPublicKey(arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides): Promise; blsCallMultiCheckRewardIncrease(tokenRewardAddress: PromiseOrValue, tokenRewardAmount: PromiseOrValue, bundle: IWallet.BundleStruct, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; blsCallMultiSameCallerContractFunction(publicKey: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ], nonce: PromiseOrValue, gas: PromiseOrValue, signature: [PromiseOrValue, PromiseOrValue], contractAddress: PromiseOrValue, methodId: PromiseOrValue, encodedParamSets: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; registerPublicKey(walletAddress: PromiseOrValue, publicKey: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; registerPublicKeys(walletAddresses: PromiseOrValue[], publicKeys: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ][], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; callStatic: { addressProcessBundle(addressBundle: BLSExpander.AddressBundleStruct, overrides?: CallOverrides): Promise<[ boolean[], string[][] ] & { successes: boolean[]; results: string[][]; }>; addressToPublicKey(arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides): Promise; blsCallMultiCheckRewardIncrease(tokenRewardAddress: PromiseOrValue, tokenRewardAmount: PromiseOrValue, bundle: IWallet.BundleStruct, overrides?: CallOverrides): Promise; blsCallMultiSameCallerContractFunction(publicKey: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ], nonce: PromiseOrValue, gas: PromiseOrValue, signature: [PromiseOrValue, PromiseOrValue], contractAddress: PromiseOrValue, methodId: PromiseOrValue, encodedParamSets: PromiseOrValue[], overrides?: CallOverrides): Promise; registerPublicKey(walletAddress: PromiseOrValue, publicKey: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ], overrides?: CallOverrides): Promise; registerPublicKeys(walletAddresses: PromiseOrValue[], publicKeys: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ][], overrides?: CallOverrides): Promise; }; filters: {}; estimateGas: { addressProcessBundle(addressBundle: BLSExpander.AddressBundleStruct, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; addressToPublicKey(arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides): Promise; blsCallMultiCheckRewardIncrease(tokenRewardAddress: PromiseOrValue, tokenRewardAmount: PromiseOrValue, bundle: IWallet.BundleStruct, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; blsCallMultiSameCallerContractFunction(publicKey: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ], nonce: PromiseOrValue, gas: PromiseOrValue, signature: [PromiseOrValue, PromiseOrValue], contractAddress: PromiseOrValue, methodId: PromiseOrValue, encodedParamSets: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; registerPublicKey(walletAddress: PromiseOrValue, publicKey: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; registerPublicKeys(walletAddresses: PromiseOrValue[], publicKeys: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ][], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; populateTransaction: { addressProcessBundle(addressBundle: BLSExpander.AddressBundleStruct, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; addressToPublicKey(arg0: PromiseOrValue, arg1: PromiseOrValue, overrides?: CallOverrides): Promise; blsCallMultiCheckRewardIncrease(tokenRewardAddress: PromiseOrValue, tokenRewardAmount: PromiseOrValue, bundle: IWallet.BundleStruct, overrides?: Overrides & { from?: PromiseOrValue; }): Promise; blsCallMultiSameCallerContractFunction(publicKey: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ], nonce: PromiseOrValue, gas: PromiseOrValue, signature: [PromiseOrValue, PromiseOrValue], contractAddress: PromiseOrValue, methodId: PromiseOrValue, encodedParamSets: PromiseOrValue[], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; registerPublicKey(walletAddress: PromiseOrValue, publicKey: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; registerPublicKeys(walletAddresses: PromiseOrValue[], publicKeys: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue ][], overrides?: Overrides & { from?: PromiseOrValue; }): Promise; }; } //# sourceMappingURL=BLSExpander.d.ts.map