import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, PopulatedTransaction, Signer, utils } from "ethers"; import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import type { Listener, Provider } from "@ethersproject/providers"; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export declare namespace ICPTreasuryModule { type ICPMessageDataStruct = { token: string; to: string; amount: BigNumberish; }; type ICPMessageDataStructOutput = [string, string, BigNumber] & { token: string; to: string; amount: BigNumber; }; } export declare namespace IDAOIntegration { type ResourceRecordsStruct = { existingRole: string; resource: string; permissions: string[]; }; type ResourceRecordsStructOutput = [string, string, string[]] & { existingRole: string; resource: string; permissions: string[]; }; } export interface ICPTreasuryModuleInterface extends utils.Interface { functions: { "MODULE_RESOURCE()": FunctionFragment; "__ICPTreasuryModule_init(string,string)": FunctionFragment; "__ICPTreasuryModule_initAndSetDeps(address,string,string)": FunctionFragment; "checkPermission(address,string)": FunctionFragment; "getICPMessage(uint256)": FunctionFragment; "getInjector()": FunctionFragment; "getNextICPMessageId()": FunctionFragment; "getProposalKey(address,uint256)": FunctionFragment; "getProposalMessageId(address,uint256)": FunctionFragment; "getResource()": FunctionFragment; "getResourceRecords()": FunctionFragment; "icpMessages(uint256)": FunctionFragment; "implementation()": FunctionFragment; "newModuleAddress()": FunctionFragment; "nextICPMessageId()": FunctionFragment; "permissionManager()": FunctionFragment; "proposalToMessageId(bytes32)": FunctionFragment; "proxiableUUID()": FunctionFragment; "redeemTokens(address,uint256)": FunctionFragment; "sendICPTokens(string,uint256)": FunctionFragment; "sendICRCTokens(string,string,uint256)": FunctionFragment; "setCanisterModuleAddress(address)": FunctionFragment; "setDependencies(address,bytes)": FunctionFragment; "setInjector(address)": FunctionFragment; "supportsInterface(bytes4)": FunctionFragment; "upgradeTo(address)": FunctionFragment; "upgradeToAndCall(address,bytes)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "MODULE_RESOURCE" | "__ICPTreasuryModule_init" | "__ICPTreasuryModule_initAndSetDeps" | "checkPermission" | "getICPMessage" | "getInjector" | "getNextICPMessageId" | "getProposalKey" | "getProposalMessageId" | "getResource" | "getResourceRecords" | "icpMessages" | "implementation" | "newModuleAddress" | "nextICPMessageId" | "permissionManager" | "proposalToMessageId" | "proxiableUUID" | "redeemTokens" | "sendICPTokens" | "sendICRCTokens" | "setCanisterModuleAddress" | "setDependencies" | "setInjector" | "supportsInterface" | "upgradeTo" | "upgradeToAndCall"): FunctionFragment; encodeFunctionData(functionFragment: "MODULE_RESOURCE", values?: undefined): string; encodeFunctionData(functionFragment: "__ICPTreasuryModule_init", values: [string, string]): string; encodeFunctionData(functionFragment: "__ICPTreasuryModule_initAndSetDeps", values: [string, string, string]): string; encodeFunctionData(functionFragment: "checkPermission", values: [string, string]): string; encodeFunctionData(functionFragment: "getICPMessage", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "getInjector", values?: undefined): string; encodeFunctionData(functionFragment: "getNextICPMessageId", values?: undefined): string; encodeFunctionData(functionFragment: "getProposalKey", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "getProposalMessageId", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "getResource", values?: undefined): string; encodeFunctionData(functionFragment: "getResourceRecords", values?: undefined): string; encodeFunctionData(functionFragment: "icpMessages", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "implementation", values?: undefined): string; encodeFunctionData(functionFragment: "newModuleAddress", values?: undefined): string; encodeFunctionData(functionFragment: "nextICPMessageId", values?: undefined): string; encodeFunctionData(functionFragment: "permissionManager", values?: undefined): string; encodeFunctionData(functionFragment: "proposalToMessageId", values: [BytesLike]): string; encodeFunctionData(functionFragment: "proxiableUUID", values?: undefined): string; encodeFunctionData(functionFragment: "redeemTokens", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "sendICPTokens", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "sendICRCTokens", values: [string, string, BigNumberish]): string; encodeFunctionData(functionFragment: "setCanisterModuleAddress", values: [string]): string; encodeFunctionData(functionFragment: "setDependencies", values: [string, BytesLike]): string; encodeFunctionData(functionFragment: "setInjector", values: [string]): string; encodeFunctionData(functionFragment: "supportsInterface", values: [BytesLike]): string; encodeFunctionData(functionFragment: "upgradeTo", values: [string]): string; encodeFunctionData(functionFragment: "upgradeToAndCall", values: [string, BytesLike]): string; decodeFunctionResult(functionFragment: "MODULE_RESOURCE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "__ICPTreasuryModule_init", data: BytesLike): Result; decodeFunctionResult(functionFragment: "__ICPTreasuryModule_initAndSetDeps", data: BytesLike): Result; decodeFunctionResult(functionFragment: "checkPermission", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getICPMessage", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getInjector", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getNextICPMessageId", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getProposalKey", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getProposalMessageId", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getResource", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getResourceRecords", data: BytesLike): Result; decodeFunctionResult(functionFragment: "icpMessages", data: BytesLike): Result; decodeFunctionResult(functionFragment: "implementation", data: BytesLike): Result; decodeFunctionResult(functionFragment: "newModuleAddress", data: BytesLike): Result; decodeFunctionResult(functionFragment: "nextICPMessageId", data: BytesLike): Result; decodeFunctionResult(functionFragment: "permissionManager", data: BytesLike): Result; decodeFunctionResult(functionFragment: "proposalToMessageId", data: BytesLike): Result; decodeFunctionResult(functionFragment: "proxiableUUID", data: BytesLike): Result; decodeFunctionResult(functionFragment: "redeemTokens", data: BytesLike): Result; decodeFunctionResult(functionFragment: "sendICPTokens", data: BytesLike): Result; decodeFunctionResult(functionFragment: "sendICRCTokens", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setCanisterModuleAddress", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setDependencies", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setInjector", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "upgradeToAndCall", data: BytesLike): Result; events: { "AdminChanged(address,address)": EventFragment; "BeaconUpgraded(address)": EventFragment; "Initialized(uint8)": EventFragment; "MessageSentICP((string,string,uint256))": EventFragment; "Upgraded(address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AdminChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "BeaconUpgraded"): EventFragment; getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; getEvent(nameOrSignatureOrTopic: "MessageSentICP"): EventFragment; getEvent(nameOrSignatureOrTopic: "Upgraded"): EventFragment; } export interface AdminChangedEventObject { previousAdmin: string; newAdmin: string; } export type AdminChangedEvent = TypedEvent<[ string, string ], AdminChangedEventObject>; export type AdminChangedEventFilter = TypedEventFilter; export interface BeaconUpgradedEventObject { beacon: string; } export type BeaconUpgradedEvent = TypedEvent<[ string ], BeaconUpgradedEventObject>; export type BeaconUpgradedEventFilter = TypedEventFilter; export interface InitializedEventObject { version: number; } export type InitializedEvent = TypedEvent<[number], InitializedEventObject>; export type InitializedEventFilter = TypedEventFilter; export interface MessageSentICPEventObject { action: ICPTreasuryModule.ICPMessageDataStructOutput; } export type MessageSentICPEvent = TypedEvent<[ ICPTreasuryModule.ICPMessageDataStructOutput ], MessageSentICPEventObject>; export type MessageSentICPEventFilter = TypedEventFilter; export interface UpgradedEventObject { implementation: string; } export type UpgradedEvent = TypedEvent<[string], UpgradedEventObject>; export type UpgradedEventFilter = TypedEventFilter; export interface ICPTreasuryModule extends BaseContract { contractName: "ICPTreasuryModule"; connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: ICPTreasuryModuleInterface; 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: { MODULE_RESOURCE(overrides?: CallOverrides): Promise<[string]>; __ICPTreasuryModule_init(resource_: string, relatedExpertPanelName_: string, overrides?: Overrides & { from?: string; }): Promise; __ICPTreasuryModule_initAndSetDeps(registry_: string, resource_: string, relatedExpertPanelName_: string, overrides?: Overrides & { from?: string; }): Promise; checkPermission(member_: string, permission_: string, overrides?: CallOverrides): Promise<[boolean]>; getICPMessage(messageId_: BigNumberish, overrides?: CallOverrides): Promise<[ICPTreasuryModule.ICPMessageDataStructOutput]>; getInjector(overrides?: CallOverrides): Promise<[string] & { injector_: string; }>; getNextICPMessageId(overrides?: CallOverrides): Promise<[BigNumber]>; getProposalKey(account_: string, proposalId_: BigNumberish, overrides?: CallOverrides): Promise<[string]>; getProposalMessageId(account_: string, proposalId_: BigNumberish, overrides?: CallOverrides): Promise<[BigNumber]>; getResource(overrides?: CallOverrides): Promise<[string]>; getResourceRecords(overrides?: CallOverrides): Promise<[ IDAOIntegration.ResourceRecordsStructOutput[] ] & { records_: IDAOIntegration.ResourceRecordsStructOutput[]; }>; icpMessages(messageId: BigNumberish, overrides?: CallOverrides): Promise<[ string, string, BigNumber ] & { token: string; to: string; amount: BigNumber; }>; implementation(overrides?: CallOverrides): Promise<[string]>; newModuleAddress(overrides?: CallOverrides): Promise<[string]>; nextICPMessageId(overrides?: CallOverrides): Promise<[BigNumber]>; permissionManager(overrides?: CallOverrides): Promise<[string]>; proposalToMessageId(proposalKey: BytesLike, overrides?: CallOverrides): Promise<[BigNumber] & { messageId: BigNumber; }>; proxiableUUID(overrides?: CallOverrides): Promise<[string]>; redeemTokens(to_: string, value_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; sendICPTokens(to_: string, amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; sendICRCTokens(token_: string, to_: string, amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setCanisterModuleAddress(newModuleAddress_: string, overrides?: Overrides & { from?: string; }): Promise; setDependencies(registry_: string, arg1: BytesLike, overrides?: Overrides & { from?: string; }): Promise; setInjector(injector_: string, overrides?: Overrides & { from?: string; }): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<[boolean]>; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; }; MODULE_RESOURCE(overrides?: CallOverrides): Promise; __ICPTreasuryModule_init(resource_: string, relatedExpertPanelName_: string, overrides?: Overrides & { from?: string; }): Promise; __ICPTreasuryModule_initAndSetDeps(registry_: string, resource_: string, relatedExpertPanelName_: string, overrides?: Overrides & { from?: string; }): Promise; checkPermission(member_: string, permission_: string, overrides?: CallOverrides): Promise; getICPMessage(messageId_: BigNumberish, overrides?: CallOverrides): Promise; getInjector(overrides?: CallOverrides): Promise; getNextICPMessageId(overrides?: CallOverrides): Promise; getProposalKey(account_: string, proposalId_: BigNumberish, overrides?: CallOverrides): Promise; getProposalMessageId(account_: string, proposalId_: BigNumberish, overrides?: CallOverrides): Promise; getResource(overrides?: CallOverrides): Promise; getResourceRecords(overrides?: CallOverrides): Promise; icpMessages(messageId: BigNumberish, overrides?: CallOverrides): Promise<[ string, string, BigNumber ] & { token: string; to: string; amount: BigNumber; }>; implementation(overrides?: CallOverrides): Promise; newModuleAddress(overrides?: CallOverrides): Promise; nextICPMessageId(overrides?: CallOverrides): Promise; permissionManager(overrides?: CallOverrides): Promise; proposalToMessageId(proposalKey: BytesLike, overrides?: CallOverrides): Promise; proxiableUUID(overrides?: CallOverrides): Promise; redeemTokens(to_: string, value_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; sendICPTokens(to_: string, amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; sendICRCTokens(token_: string, to_: string, amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setCanisterModuleAddress(newModuleAddress_: string, overrides?: Overrides & { from?: string; }): Promise; setDependencies(registry_: string, arg1: BytesLike, overrides?: Overrides & { from?: string; }): Promise; setInjector(injector_: string, overrides?: Overrides & { from?: string; }): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; callStatic: { MODULE_RESOURCE(overrides?: CallOverrides): Promise; __ICPTreasuryModule_init(resource_: string, relatedExpertPanelName_: string, overrides?: CallOverrides): Promise; __ICPTreasuryModule_initAndSetDeps(registry_: string, resource_: string, relatedExpertPanelName_: string, overrides?: CallOverrides): Promise; checkPermission(member_: string, permission_: string, overrides?: CallOverrides): Promise; getICPMessage(messageId_: BigNumberish, overrides?: CallOverrides): Promise; getInjector(overrides?: CallOverrides): Promise; getNextICPMessageId(overrides?: CallOverrides): Promise; getProposalKey(account_: string, proposalId_: BigNumberish, overrides?: CallOverrides): Promise; getProposalMessageId(account_: string, proposalId_: BigNumberish, overrides?: CallOverrides): Promise; getResource(overrides?: CallOverrides): Promise; getResourceRecords(overrides?: CallOverrides): Promise; icpMessages(messageId: BigNumberish, overrides?: CallOverrides): Promise<[ string, string, BigNumber ] & { token: string; to: string; amount: BigNumber; }>; implementation(overrides?: CallOverrides): Promise; newModuleAddress(overrides?: CallOverrides): Promise; nextICPMessageId(overrides?: CallOverrides): Promise; permissionManager(overrides?: CallOverrides): Promise; proposalToMessageId(proposalKey: BytesLike, overrides?: CallOverrides): Promise; proxiableUUID(overrides?: CallOverrides): Promise; redeemTokens(to_: string, value_: BigNumberish, overrides?: CallOverrides): Promise; sendICPTokens(to_: string, amount_: BigNumberish, overrides?: CallOverrides): Promise; sendICRCTokens(token_: string, to_: string, amount_: BigNumberish, overrides?: CallOverrides): Promise; setCanisterModuleAddress(newModuleAddress_: string, overrides?: CallOverrides): Promise; setDependencies(registry_: string, arg1: BytesLike, overrides?: CallOverrides): Promise; setInjector(injector_: string, overrides?: CallOverrides): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; upgradeTo(newImplementation: string, overrides?: CallOverrides): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: CallOverrides): Promise; }; filters: { "AdminChanged(address,address)"(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter; AdminChanged(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter; "BeaconUpgraded(address)"(beacon?: string | null): BeaconUpgradedEventFilter; BeaconUpgraded(beacon?: string | null): BeaconUpgradedEventFilter; "Initialized(uint8)"(version?: null): InitializedEventFilter; Initialized(version?: null): InitializedEventFilter; "MessageSentICP((string,string,uint256))"(action?: null): MessageSentICPEventFilter; MessageSentICP(action?: null): MessageSentICPEventFilter; "Upgraded(address)"(implementation?: string | null): UpgradedEventFilter; Upgraded(implementation?: string | null): UpgradedEventFilter; }; estimateGas: { MODULE_RESOURCE(overrides?: CallOverrides): Promise; __ICPTreasuryModule_init(resource_: string, relatedExpertPanelName_: string, overrides?: Overrides & { from?: string; }): Promise; __ICPTreasuryModule_initAndSetDeps(registry_: string, resource_: string, relatedExpertPanelName_: string, overrides?: Overrides & { from?: string; }): Promise; checkPermission(member_: string, permission_: string, overrides?: CallOverrides): Promise; getICPMessage(messageId_: BigNumberish, overrides?: CallOverrides): Promise; getInjector(overrides?: CallOverrides): Promise; getNextICPMessageId(overrides?: CallOverrides): Promise; getProposalKey(account_: string, proposalId_: BigNumberish, overrides?: CallOverrides): Promise; getProposalMessageId(account_: string, proposalId_: BigNumberish, overrides?: CallOverrides): Promise; getResource(overrides?: CallOverrides): Promise; getResourceRecords(overrides?: CallOverrides): Promise; icpMessages(messageId: BigNumberish, overrides?: CallOverrides): Promise; implementation(overrides?: CallOverrides): Promise; newModuleAddress(overrides?: CallOverrides): Promise; nextICPMessageId(overrides?: CallOverrides): Promise; permissionManager(overrides?: CallOverrides): Promise; proposalToMessageId(proposalKey: BytesLike, overrides?: CallOverrides): Promise; proxiableUUID(overrides?: CallOverrides): Promise; redeemTokens(to_: string, value_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; sendICPTokens(to_: string, amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; sendICRCTokens(token_: string, to_: string, amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setCanisterModuleAddress(newModuleAddress_: string, overrides?: Overrides & { from?: string; }): Promise; setDependencies(registry_: string, arg1: BytesLike, overrides?: Overrides & { from?: string; }): Promise; setInjector(injector_: string, overrides?: Overrides & { from?: string; }): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; }; populateTransaction: { MODULE_RESOURCE(overrides?: CallOverrides): Promise; __ICPTreasuryModule_init(resource_: string, relatedExpertPanelName_: string, overrides?: Overrides & { from?: string; }): Promise; __ICPTreasuryModule_initAndSetDeps(registry_: string, resource_: string, relatedExpertPanelName_: string, overrides?: Overrides & { from?: string; }): Promise; checkPermission(member_: string, permission_: string, overrides?: CallOverrides): Promise; getICPMessage(messageId_: BigNumberish, overrides?: CallOverrides): Promise; getInjector(overrides?: CallOverrides): Promise; getNextICPMessageId(overrides?: CallOverrides): Promise; getProposalKey(account_: string, proposalId_: BigNumberish, overrides?: CallOverrides): Promise; getProposalMessageId(account_: string, proposalId_: BigNumberish, overrides?: CallOverrides): Promise; getResource(overrides?: CallOverrides): Promise; getResourceRecords(overrides?: CallOverrides): Promise; icpMessages(messageId: BigNumberish, overrides?: CallOverrides): Promise; implementation(overrides?: CallOverrides): Promise; newModuleAddress(overrides?: CallOverrides): Promise; nextICPMessageId(overrides?: CallOverrides): Promise; permissionManager(overrides?: CallOverrides): Promise; proposalToMessageId(proposalKey: BytesLike, overrides?: CallOverrides): Promise; proxiableUUID(overrides?: CallOverrides): Promise; redeemTokens(to_: string, value_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; sendICPTokens(to_: string, amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; sendICRCTokens(token_: string, to_: string, amount_: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; setCanisterModuleAddress(newModuleAddress_: string, overrides?: Overrides & { from?: string; }): Promise; setDependencies(registry_: string, arg1: BytesLike, overrides?: Overrides & { from?: string; }): Promise; setInjector(injector_: string, overrides?: Overrides & { from?: string; }): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string; }): Promise; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise; }; }