@soma-finance/core-contracts
Version:
SOMA Finance core contracts
92 lines • 4.67 kB
TypeScript
import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, 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, PromiseOrValue } from "../common";
export declare namespace ILockdrop {
type DateConfigStruct = {
startDate: PromiseOrValue<BigNumberish>;
removeDelegationEnd: PromiseOrValue<BigNumberish>;
endDate: PromiseOrValue<BigNumberish>;
};
type DateConfigStructOutput = [number, number, number] & {
startDate: number;
removeDelegationEnd: number;
endDate: number;
};
}
export interface ILockdropFactoryInterface extends utils.Interface {
functions: {
"CREATE_ROLE()": FunctionFragment;
"create(address,address,(uint48,uint48,uint48))": FunctionFragment;
};
getFunction(nameOrSignatureOrTopic: "CREATE_ROLE" | "create"): FunctionFragment;
encodeFunctionData(functionFragment: "CREATE_ROLE", values?: undefined): string;
encodeFunctionData(functionFragment: "create", values: [
PromiseOrValue<string>,
PromiseOrValue<string>,
ILockdrop.DateConfigStruct
]): string;
decodeFunctionResult(functionFragment: "CREATE_ROLE", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "create", data: BytesLike): Result;
events: {
"LockdropCreated(uint256,address,address)": EventFragment;
};
getEvent(nameOrSignatureOrTopic: "LockdropCreated"): EventFragment;
}
export interface LockdropCreatedEventObject {
id: BigNumber;
asset: string;
instance: string;
}
export declare type LockdropCreatedEvent = TypedEvent<[
BigNumber,
string,
string
], LockdropCreatedEventObject>;
export declare type LockdropCreatedEventFilter = TypedEventFilter<LockdropCreatedEvent>;
export interface ILockdropFactory extends BaseContract {
connect(signerOrProvider: Signer | Provider | string): this;
attach(addressOrName: string): this;
deployed(): Promise<this>;
interface: ILockdropFactoryInterface;
queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
listeners(eventName?: string): Array<Listener>;
removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
removeAllListeners(eventName?: string): this;
off: OnEvent<this>;
on: OnEvent<this>;
once: OnEvent<this>;
removeListener: OnEvent<this>;
functions: {
CREATE_ROLE(overrides?: CallOverrides): Promise<[string]>;
create(asset: PromiseOrValue<string>, withdrawTo: PromiseOrValue<string>, dateConfig: ILockdrop.DateConfigStruct, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
};
CREATE_ROLE(overrides?: CallOverrides): Promise<string>;
create(asset: PromiseOrValue<string>, withdrawTo: PromiseOrValue<string>, dateConfig: ILockdrop.DateConfigStruct, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<ContractTransaction>;
callStatic: {
CREATE_ROLE(overrides?: CallOverrides): Promise<string>;
create(asset: PromiseOrValue<string>, withdrawTo: PromiseOrValue<string>, dateConfig: ILockdrop.DateConfigStruct, overrides?: CallOverrides): Promise<void>;
};
filters: {
"LockdropCreated(uint256,address,address)"(id?: null, asset?: null, instance?: null): LockdropCreatedEventFilter;
LockdropCreated(id?: null, asset?: null, instance?: null): LockdropCreatedEventFilter;
};
estimateGas: {
CREATE_ROLE(overrides?: CallOverrides): Promise<BigNumber>;
create(asset: PromiseOrValue<string>, withdrawTo: PromiseOrValue<string>, dateConfig: ILockdrop.DateConfigStruct, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<BigNumber>;
};
populateTransaction: {
CREATE_ROLE(overrides?: CallOverrides): Promise<PopulatedTransaction>;
create(asset: PromiseOrValue<string>, withdrawTo: PromiseOrValue<string>, dateConfig: ILockdrop.DateConfigStruct, overrides?: Overrides & {
from?: PromiseOrValue<string>;
}): Promise<PopulatedTransaction>;
};
}
//# sourceMappingURL=ILockdropFactory.d.ts.map