@paintswap/vrf
Version:
Paintswap VRF
370 lines (369 loc) • 17.6 kB
TypeScript
import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers";
import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "../common";
export interface ExampleVRFConsumerInterface extends Interface {
getFunction(nameOrSignature: "CALLBACK_GAS_LIMIT" | "MAX_WORDS_PER_REQUEST" | "allRequestIds" | "checkContractFunds" | "fulfilledRequests" | "fundVRF" | "getRequestPrice" | "getRequestStatus" | "getRequestsByRequester" | "getStats" | "getVRFCoordinator" | "rawFulfillRandomWords" | "requestRandomWords" | "requestRandomWordsFromContract" | "requests" | "totalRequests"): FunctionFragment;
getEvent(nameOrSignatureOrTopic: "FundsDeposited" | "RandomDiceRoll" | "RandomLotteryNumbers" | "RandomPercentage" | "RandomnessFulfilled" | "RandomnessRequested"): EventFragment;
encodeFunctionData(functionFragment: "CALLBACK_GAS_LIMIT", values?: undefined): string;
encodeFunctionData(functionFragment: "MAX_WORDS_PER_REQUEST", values?: undefined): string;
encodeFunctionData(functionFragment: "allRequestIds", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "checkContractFunds", values?: undefined): string;
encodeFunctionData(functionFragment: "fulfilledRequests", values?: undefined): string;
encodeFunctionData(functionFragment: "fundVRF", values?: undefined): string;
encodeFunctionData(functionFragment: "getRequestPrice", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "getRequestStatus", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "getRequestsByRequester", values: [AddressLike]): string;
encodeFunctionData(functionFragment: "getStats", values?: undefined): string;
encodeFunctionData(functionFragment: "getVRFCoordinator", values?: undefined): string;
encodeFunctionData(functionFragment: "rawFulfillRandomWords", values: [BigNumberish, BigNumberish[]]): string;
encodeFunctionData(functionFragment: "requestRandomWords", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "requestRandomWordsFromContract", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "requests", values: [BigNumberish]): string;
encodeFunctionData(functionFragment: "totalRequests", values?: undefined): string;
decodeFunctionResult(functionFragment: "CALLBACK_GAS_LIMIT", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "MAX_WORDS_PER_REQUEST", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "allRequestIds", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "checkContractFunds", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "fulfilledRequests", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "fundVRF", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getRequestPrice", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getRequestStatus", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getRequestsByRequester", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getStats", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "getVRFCoordinator", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "rawFulfillRandomWords", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "requestRandomWords", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "requestRandomWordsFromContract", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "requests", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "totalRequests", data: BytesLike): Result;
}
export declare namespace FundsDepositedEvent {
type InputTuple = [depositor: AddressLike, amount: BigNumberish];
type OutputTuple = [depositor: string, amount: bigint];
interface OutputObject {
depositor: string;
amount: bigint;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace RandomDiceRollEvent {
type InputTuple = [
requestId: BigNumberish,
requester: AddressLike,
roll: BigNumberish
];
type OutputTuple = [
requestId: bigint,
requester: string,
roll: bigint
];
interface OutputObject {
requestId: bigint;
requester: string;
roll: bigint;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace RandomLotteryNumbersEvent {
type InputTuple = [
requestId: BigNumberish,
requester: AddressLike,
numbers: BigNumberish[]
];
type OutputTuple = [
requestId: bigint,
requester: string,
numbers: bigint[]
];
interface OutputObject {
requestId: bigint;
requester: string;
numbers: bigint[];
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace RandomPercentageEvent {
type InputTuple = [
requestId: BigNumberish,
requester: AddressLike,
percentage: BigNumberish
];
type OutputTuple = [
requestId: bigint,
requester: string,
percentage: bigint
];
interface OutputObject {
requestId: bigint;
requester: string;
percentage: bigint;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace RandomnessFulfilledEvent {
type InputTuple = [
requestId: BigNumberish,
requester: AddressLike,
randomWords: BigNumberish[],
timestamp: BigNumberish
];
type OutputTuple = [
requestId: bigint,
requester: string,
randomWords: bigint[],
timestamp: bigint
];
interface OutputObject {
requestId: bigint;
requester: string;
randomWords: bigint[];
timestamp: bigint;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export declare namespace RandomnessRequestedEvent {
type InputTuple = [
requestId: BigNumberish,
requester: AddressLike,
numWords: BigNumberish,
timestamp: BigNumberish,
paidFromContract: boolean
];
type OutputTuple = [
requestId: bigint,
requester: string,
numWords: bigint,
timestamp: bigint,
paidFromContract: boolean
];
interface OutputObject {
requestId: bigint;
requester: string;
numWords: bigint;
timestamp: bigint;
paidFromContract: boolean;
}
type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>;
type Filter = TypedDeferredTopicFilter<Event>;
type Log = TypedEventLog<Event>;
type LogDescription = TypedLogDescription<Event>;
}
export interface ExampleVRFConsumer extends BaseContract {
connect(runner?: ContractRunner | null): ExampleVRFConsumer;
waitForDeployment(): Promise<this>;
interface: ExampleVRFConsumerInterface;
queryFilter<TCEvent extends TypedContractEvent>(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
queryFilter<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TypedEventLog<TCEvent>>>;
on<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
on<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
once<TCEvent extends TypedContractEvent>(event: TCEvent, listener: TypedListener<TCEvent>): Promise<this>;
once<TCEvent extends TypedContractEvent>(filter: TypedDeferredTopicFilter<TCEvent>, listener: TypedListener<TCEvent>): Promise<this>;
listeners<TCEvent extends TypedContractEvent>(event: TCEvent): Promise<Array<TypedListener<TCEvent>>>;
listeners(eventName?: string): Promise<Array<Listener>>;
removeAllListeners<TCEvent extends TypedContractEvent>(event?: TCEvent): Promise<this>;
CALLBACK_GAS_LIMIT: TypedContractMethod<[], [bigint], "view">;
MAX_WORDS_PER_REQUEST: TypedContractMethod<[], [bigint], "view">;
allRequestIds: TypedContractMethod<[arg0: BigNumberish], [bigint], "view">;
checkContractFunds: TypedContractMethod<[
], [
[
boolean,
bigint,
bigint
] & {
sufficient: boolean;
available: bigint;
required: bigint;
}
], "view">;
fulfilledRequests: TypedContractMethod<[], [bigint], "view">;
fundVRF: TypedContractMethod<[], [void], "payable">;
getRequestPrice: TypedContractMethod<[
numWords: BigNumberish
], [
bigint
], "view">;
getRequestStatus: TypedContractMethod<[
requestId: BigNumberish
], [
[
boolean,
boolean,
string,
bigint,
string,
bigint,
bigint[]
] & {
exists: boolean;
fulfilled: boolean;
requester: string;
numWords: bigint;
refundee: string;
requestedAt: bigint;
randomWords: bigint[];
}
], "view">;
getRequestsByRequester: TypedContractMethod<[
requester: AddressLike
], [
bigint[]
], "view">;
getStats: TypedContractMethod<[
], [
[
bigint,
bigint,
bigint
] & {
total: bigint;
fulfilled: bigint;
pending: bigint;
}
], "view">;
getVRFCoordinator: TypedContractMethod<[], [string], "view">;
rawFulfillRandomWords: TypedContractMethod<[
requestId: BigNumberish,
randomWords: BigNumberish[]
], [
void
], "nonpayable">;
requestRandomWords: TypedContractMethod<[
numWords: BigNumberish
], [
bigint
], "payable">;
requestRandomWordsFromContract: TypedContractMethod<[
numWords: BigNumberish
], [
bigint
], "nonpayable">;
requests: TypedContractMethod<[
arg0: BigNumberish
], [
[
string,
bigint,
bigint,
boolean
] & {
requester: string;
numWords: bigint;
requestedAt: bigint;
fulfilled: boolean;
}
], "view">;
totalRequests: TypedContractMethod<[], [bigint], "view">;
getFunction<T extends ContractMethod = ContractMethod>(key: string | FunctionFragment): T;
getFunction(nameOrSignature: "CALLBACK_GAS_LIMIT"): TypedContractMethod<[], [bigint], "view">;
getFunction(nameOrSignature: "MAX_WORDS_PER_REQUEST"): TypedContractMethod<[], [bigint], "view">;
getFunction(nameOrSignature: "allRequestIds"): TypedContractMethod<[arg0: BigNumberish], [bigint], "view">;
getFunction(nameOrSignature: "checkContractFunds"): TypedContractMethod<[
], [
[
boolean,
bigint,
bigint
] & {
sufficient: boolean;
available: bigint;
required: bigint;
}
], "view">;
getFunction(nameOrSignature: "fulfilledRequests"): TypedContractMethod<[], [bigint], "view">;
getFunction(nameOrSignature: "fundVRF"): TypedContractMethod<[], [void], "payable">;
getFunction(nameOrSignature: "getRequestPrice"): TypedContractMethod<[numWords: BigNumberish], [bigint], "view">;
getFunction(nameOrSignature: "getRequestStatus"): TypedContractMethod<[
requestId: BigNumberish
], [
[
boolean,
boolean,
string,
bigint,
string,
bigint,
bigint[]
] & {
exists: boolean;
fulfilled: boolean;
requester: string;
numWords: bigint;
refundee: string;
requestedAt: bigint;
randomWords: bigint[];
}
], "view">;
getFunction(nameOrSignature: "getRequestsByRequester"): TypedContractMethod<[requester: AddressLike], [bigint[]], "view">;
getFunction(nameOrSignature: "getStats"): TypedContractMethod<[
], [
[
bigint,
bigint,
bigint
] & {
total: bigint;
fulfilled: bigint;
pending: bigint;
}
], "view">;
getFunction(nameOrSignature: "getVRFCoordinator"): TypedContractMethod<[], [string], "view">;
getFunction(nameOrSignature: "rawFulfillRandomWords"): TypedContractMethod<[
requestId: BigNumberish,
randomWords: BigNumberish[]
], [
void
], "nonpayable">;
getFunction(nameOrSignature: "requestRandomWords"): TypedContractMethod<[numWords: BigNumberish], [bigint], "payable">;
getFunction(nameOrSignature: "requestRandomWordsFromContract"): TypedContractMethod<[numWords: BigNumberish], [bigint], "nonpayable">;
getFunction(nameOrSignature: "requests"): TypedContractMethod<[
arg0: BigNumberish
], [
[
string,
bigint,
bigint,
boolean
] & {
requester: string;
numWords: bigint;
requestedAt: bigint;
fulfilled: boolean;
}
], "view">;
getFunction(nameOrSignature: "totalRequests"): TypedContractMethod<[], [bigint], "view">;
getEvent(key: "FundsDeposited"): TypedContractEvent<FundsDepositedEvent.InputTuple, FundsDepositedEvent.OutputTuple, FundsDepositedEvent.OutputObject>;
getEvent(key: "RandomDiceRoll"): TypedContractEvent<RandomDiceRollEvent.InputTuple, RandomDiceRollEvent.OutputTuple, RandomDiceRollEvent.OutputObject>;
getEvent(key: "RandomLotteryNumbers"): TypedContractEvent<RandomLotteryNumbersEvent.InputTuple, RandomLotteryNumbersEvent.OutputTuple, RandomLotteryNumbersEvent.OutputObject>;
getEvent(key: "RandomPercentage"): TypedContractEvent<RandomPercentageEvent.InputTuple, RandomPercentageEvent.OutputTuple, RandomPercentageEvent.OutputObject>;
getEvent(key: "RandomnessFulfilled"): TypedContractEvent<RandomnessFulfilledEvent.InputTuple, RandomnessFulfilledEvent.OutputTuple, RandomnessFulfilledEvent.OutputObject>;
getEvent(key: "RandomnessRequested"): TypedContractEvent<RandomnessRequestedEvent.InputTuple, RandomnessRequestedEvent.OutputTuple, RandomnessRequestedEvent.OutputObject>;
filters: {
"FundsDeposited(address,uint256)": TypedContractEvent<FundsDepositedEvent.InputTuple, FundsDepositedEvent.OutputTuple, FundsDepositedEvent.OutputObject>;
FundsDeposited: TypedContractEvent<FundsDepositedEvent.InputTuple, FundsDepositedEvent.OutputTuple, FundsDepositedEvent.OutputObject>;
"RandomDiceRoll(uint256,address,uint256)": TypedContractEvent<RandomDiceRollEvent.InputTuple, RandomDiceRollEvent.OutputTuple, RandomDiceRollEvent.OutputObject>;
RandomDiceRoll: TypedContractEvent<RandomDiceRollEvent.InputTuple, RandomDiceRollEvent.OutputTuple, RandomDiceRollEvent.OutputObject>;
"RandomLotteryNumbers(uint256,address,uint256[])": TypedContractEvent<RandomLotteryNumbersEvent.InputTuple, RandomLotteryNumbersEvent.OutputTuple, RandomLotteryNumbersEvent.OutputObject>;
RandomLotteryNumbers: TypedContractEvent<RandomLotteryNumbersEvent.InputTuple, RandomLotteryNumbersEvent.OutputTuple, RandomLotteryNumbersEvent.OutputObject>;
"RandomPercentage(uint256,address,uint256)": TypedContractEvent<RandomPercentageEvent.InputTuple, RandomPercentageEvent.OutputTuple, RandomPercentageEvent.OutputObject>;
RandomPercentage: TypedContractEvent<RandomPercentageEvent.InputTuple, RandomPercentageEvent.OutputTuple, RandomPercentageEvent.OutputObject>;
"RandomnessFulfilled(uint256,address,uint256[],uint256)": TypedContractEvent<RandomnessFulfilledEvent.InputTuple, RandomnessFulfilledEvent.OutputTuple, RandomnessFulfilledEvent.OutputObject>;
RandomnessFulfilled: TypedContractEvent<RandomnessFulfilledEvent.InputTuple, RandomnessFulfilledEvent.OutputTuple, RandomnessFulfilledEvent.OutputObject>;
"RandomnessRequested(uint256,address,uint256,uint256,bool)": TypedContractEvent<RandomnessRequestedEvent.InputTuple, RandomnessRequestedEvent.OutputTuple, RandomnessRequestedEvent.OutputObject>;
RandomnessRequested: TypedContractEvent<RandomnessRequestedEvent.InputTuple, RandomnessRequestedEvent.OutputTuple, RandomnessRequestedEvent.OutputObject>;
};
}