UNPKG

@vechain/vebetterdao-contracts

Version:

Open-source repository that houses the smart contracts powering the decentralized VeBetterDAO on the VeChain Thor blockchain.

1,732 lines (1,636 loc) 54.3 kB
/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ 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 declare namespace ChallengeTypes { export type CreateChallengeParamsStruct = { kind: BigNumberish; visibility: BigNumberish; challengeType: BigNumberish; stakeAmount: BigNumberish; startRound: BigNumberish; endRound: BigNumberish; threshold: BigNumberish; numWinners: BigNumberish; appIds: BytesLike[]; invitees: AddressLike[]; title: string; description: string; imageURI: string; metadataURI: string; }; export type CreateChallengeParamsStructOutput = [ kind: bigint, visibility: bigint, challengeType: bigint, stakeAmount: bigint, startRound: bigint, endRound: bigint, threshold: bigint, numWinners: bigint, appIds: string[], invitees: string[], title: string, description: string, imageURI: string, metadataURI: string ] & { kind: bigint; visibility: bigint; challengeType: bigint; stakeAmount: bigint; startRound: bigint; endRound: bigint; threshold: bigint; numWinners: bigint; appIds: string[]; invitees: string[]; title: string; description: string; imageURI: string; metadataURI: string; }; export type ChallengeViewStruct = { challengeId: BigNumberish; kind: BigNumberish; visibility: BigNumberish; challengeType: BigNumberish; status: BigNumberish; settlementMode: BigNumberish; creator: AddressLike; stakeAmount: BigNumberish; startRound: BigNumberish; endRound: BigNumberish; duration: BigNumberish; threshold: BigNumberish; numWinners: BigNumberish; winnersClaimed: BigNumberish; prizePerWinner: BigNumberish; allApps: boolean; totalPrize: BigNumberish; participantCount: BigNumberish; invitedCount: BigNumberish; declinedCount: BigNumberish; selectedAppsCount: BigNumberish; winnersCount: BigNumberish; bestScore: BigNumberish; bestCount: BigNumberish; payoutsClaimed: BigNumberish; title: string; description: string; imageURI: string; metadataURI: string; }; export type ChallengeViewStructOutput = [ challengeId: bigint, kind: bigint, visibility: bigint, challengeType: bigint, status: bigint, settlementMode: bigint, creator: string, stakeAmount: bigint, startRound: bigint, endRound: bigint, duration: bigint, threshold: bigint, numWinners: bigint, winnersClaimed: bigint, prizePerWinner: bigint, allApps: boolean, totalPrize: bigint, participantCount: bigint, invitedCount: bigint, declinedCount: bigint, selectedAppsCount: bigint, winnersCount: bigint, bestScore: bigint, bestCount: bigint, payoutsClaimed: bigint, title: string, description: string, imageURI: string, metadataURI: string ] & { challengeId: bigint; kind: bigint; visibility: bigint; challengeType: bigint; status: bigint; settlementMode: bigint; creator: string; stakeAmount: bigint; startRound: bigint; endRound: bigint; duration: bigint; threshold: bigint; numWinners: bigint; winnersClaimed: bigint; prizePerWinner: bigint; allApps: boolean; totalPrize: bigint; participantCount: bigint; invitedCount: bigint; declinedCount: bigint; selectedAppsCount: bigint; winnersCount: bigint; bestScore: bigint; bestCount: bigint; payoutsClaimed: bigint; title: string; description: string; imageURI: string; metadataURI: string; }; export type InitializationDataStruct = { b3trAddress: AddressLike; veBetterPassportAddress: AddressLike; xAllocationVotingAddress: AddressLike; x2EarnAppsAddress: AddressLike; maxChallengeDuration: BigNumberish; maxSelectedApps: BigNumberish; maxParticipants: BigNumberish; minBetAmount: BigNumberish; }; export type InitializationDataStructOutput = [ b3trAddress: string, veBetterPassportAddress: string, xAllocationVotingAddress: string, x2EarnAppsAddress: string, maxChallengeDuration: bigint, maxSelectedApps: bigint, maxParticipants: bigint, minBetAmount: bigint ] & { b3trAddress: string; veBetterPassportAddress: string; xAllocationVotingAddress: string; x2EarnAppsAddress: string; maxChallengeDuration: bigint; maxSelectedApps: bigint; maxParticipants: bigint; minBetAmount: bigint; }; export type InitializationRoleDataStruct = { admin: AddressLike; upgrader: AddressLike; contractsAddressManager: AddressLike; settingsManager: AddressLike; }; export type InitializationRoleDataStructOutput = [ admin: string, upgrader: string, contractsAddressManager: string, settingsManager: string ] & { admin: string; upgrader: string; contractsAddressManager: string; settingsManager: string; }; } export interface IChallengesInterface extends Interface { getFunction( nameOrSignature: | "addInvites" | "cancelChallenge" | "challengeCount" | "claimChallengePayout" | "claimChallengeRefund" | "claimCreatorSplitWinRefund" | "claimSplitWinPrize" | "completeChallenge" | "createChallenge" | "declineChallenge" | "getChallenge" | "getChallengeDeclined" | "getChallengeInvited" | "getChallengeParticipants" | "getChallengeSelectedApps" | "getChallengeStatus" | "getChallengeWinners" | "getParticipantActions" | "getParticipantStatus" | "initialize" | "isInvitationEligible" | "isSplitWinWinner" | "joinChallenge" | "leaveChallenge" | "maxChallengeDuration" | "maxParticipants" | "maxSelectedApps" | "minBetAmount" | "setB3TRAddress" | "setMaxChallengeDuration" | "setMaxParticipants" | "setMaxSelectedApps" | "setMinBetAmount" | "setVeBetterPassportAddress" | "setX2EarnAppsAddress" | "setXAllocationVotingAddress" | "syncChallenge" | "version" | "withdraw" ): FunctionFragment; getEvent( nameOrSignatureOrTopic: | "AdminWithdrawal" | "B3TRAddressUpdated" | "ChallengeActivated" | "ChallengeCancelled" | "ChallengeCompleted" | "ChallengeCreated" | "ChallengeDeclined" | "ChallengeInvalidated" | "ChallengeInviteAdded" | "ChallengeJoined" | "ChallengeLeft" | "ChallengePayoutClaimed" | "ChallengeRefundClaimed" | "MaxChallengeDurationUpdated" | "MaxParticipantsUpdated" | "MaxSelectedAppsUpdated" | "MinBetAmountUpdated" | "SplitWinConfigured" | "SplitWinCreatorRefunded" | "SplitWinPrizeClaimed" | "VeBetterPassportAddressUpdated" | "X2EarnAppsAddressUpdated" | "XAllocationVotingAddressUpdated" ): EventFragment; encodeFunctionData( functionFragment: "addInvites", values: [BigNumberish, AddressLike[]] ): string; encodeFunctionData( functionFragment: "cancelChallenge", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "challengeCount", values?: undefined ): string; encodeFunctionData( functionFragment: "claimChallengePayout", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "claimChallengeRefund", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "claimCreatorSplitWinRefund", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "claimSplitWinPrize", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "completeChallenge", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "createChallenge", values: [ChallengeTypes.CreateChallengeParamsStruct] ): string; encodeFunctionData( functionFragment: "declineChallenge", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "getChallenge", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "getChallengeDeclined", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "getChallengeInvited", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "getChallengeParticipants", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "getChallengeSelectedApps", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "getChallengeStatus", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "getChallengeWinners", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "getParticipantActions", values: [BigNumberish, AddressLike] ): string; encodeFunctionData( functionFragment: "getParticipantStatus", values: [BigNumberish, AddressLike] ): string; encodeFunctionData( functionFragment: "initialize", values: [ ChallengeTypes.InitializationDataStruct, ChallengeTypes.InitializationRoleDataStruct ] ): string; encodeFunctionData( functionFragment: "isInvitationEligible", values: [BigNumberish, AddressLike] ): string; encodeFunctionData( functionFragment: "isSplitWinWinner", values: [BigNumberish, AddressLike] ): string; encodeFunctionData( functionFragment: "joinChallenge", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "leaveChallenge", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "maxChallengeDuration", values?: undefined ): string; encodeFunctionData( functionFragment: "maxParticipants", values?: undefined ): string; encodeFunctionData( functionFragment: "maxSelectedApps", values?: undefined ): string; encodeFunctionData( functionFragment: "minBetAmount", values?: undefined ): string; encodeFunctionData( functionFragment: "setB3TRAddress", values: [AddressLike] ): string; encodeFunctionData( functionFragment: "setMaxChallengeDuration", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "setMaxParticipants", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "setMaxSelectedApps", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "setMinBetAmount", values: [BigNumberish] ): string; encodeFunctionData( functionFragment: "setVeBetterPassportAddress", values: [AddressLike] ): string; encodeFunctionData( functionFragment: "setX2EarnAppsAddress", values: [AddressLike] ): string; encodeFunctionData( functionFragment: "setXAllocationVotingAddress", values: [AddressLike] ): string; encodeFunctionData( functionFragment: "syncChallenge", values: [BigNumberish] ): string; encodeFunctionData(functionFragment: "version", values?: undefined): string; encodeFunctionData( functionFragment: "withdraw", values: [AddressLike, BigNumberish] ): string; decodeFunctionResult(functionFragment: "addInvites", data: BytesLike): Result; decodeFunctionResult( functionFragment: "cancelChallenge", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "challengeCount", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "claimChallengePayout", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "claimChallengeRefund", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "claimCreatorSplitWinRefund", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "claimSplitWinPrize", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "completeChallenge", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "createChallenge", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "declineChallenge", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getChallenge", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getChallengeDeclined", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getChallengeInvited", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getChallengeParticipants", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getChallengeSelectedApps", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getChallengeStatus", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getChallengeWinners", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getParticipantActions", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "getParticipantStatus", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult( functionFragment: "isInvitationEligible", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "isSplitWinWinner", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "joinChallenge", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "leaveChallenge", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "maxChallengeDuration", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "maxParticipants", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "maxSelectedApps", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "minBetAmount", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setB3TRAddress", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setMaxChallengeDuration", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setMaxParticipants", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setMaxSelectedApps", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setMinBetAmount", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setVeBetterPassportAddress", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setX2EarnAppsAddress", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "setXAllocationVotingAddress", data: BytesLike ): Result; decodeFunctionResult( functionFragment: "syncChallenge", data: BytesLike ): Result; decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdraw", data: BytesLike): Result; } export namespace AdminWithdrawalEvent { export type InputTuple = [ admin: AddressLike, recipient: AddressLike, amount: BigNumberish ]; export type OutputTuple = [admin: string, recipient: string, amount: bigint]; export interface OutputObject { admin: string; recipient: string; amount: bigint; } export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; export type Filter = TypedDeferredTopicFilter<Event>; export type Log = TypedEventLog<Event>; export type LogDescription = TypedLogDescription<Event>; } export namespace B3TRAddressUpdatedEvent { export type InputTuple = [oldAddress: AddressLike, newAddress: AddressLike]; export type OutputTuple = [oldAddress: string, newAddress: string]; export interface OutputObject { oldAddress: string; newAddress: string; } export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; export type Filter = TypedDeferredTopicFilter<Event>; export type Log = TypedEventLog<Event>; export type LogDescription = TypedLogDescription<Event>; } export namespace ChallengeActivatedEvent { export type InputTuple = [challengeId: BigNumberish]; export type OutputTuple = [challengeId: bigint]; export interface OutputObject { challengeId: bigint; } export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; export type Filter = TypedDeferredTopicFilter<Event>; export type Log = TypedEventLog<Event>; export type LogDescription = TypedLogDescription<Event>; } export namespace ChallengeCancelledEvent { export type InputTuple = [challengeId: BigNumberish]; export type OutputTuple = [challengeId: bigint]; export interface OutputObject { challengeId: bigint; } export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; export type Filter = TypedDeferredTopicFilter<Event>; export type Log = TypedEventLog<Event>; export type LogDescription = TypedLogDescription<Event>; } export namespace ChallengeCompletedEvent { export type InputTuple = [ challengeId: BigNumberish, settlementMode: BigNumberish, bestScore: BigNumberish, bestCount: BigNumberish ]; export type OutputTuple = [ challengeId: bigint, settlementMode: bigint, bestScore: bigint, bestCount: bigint ]; export interface OutputObject { challengeId: bigint; settlementMode: bigint; bestScore: bigint; bestCount: bigint; } export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; export type Filter = TypedDeferredTopicFilter<Event>; export type Log = TypedEventLog<Event>; export type LogDescription = TypedLogDescription<Event>; } export namespace ChallengeCreatedEvent { export type InputTuple = [ challengeId: BigNumberish, creator: AddressLike, endRound: BigNumberish, kind: BigNumberish, visibility: BigNumberish, challengeType: BigNumberish, stakeAmount: BigNumberish, startRound: BigNumberish, threshold: BigNumberish, allApps: boolean, selectedApps: BytesLike[], title: string, description: string, imageURI: string, metadataURI: string ]; export type OutputTuple = [ challengeId: bigint, creator: string, endRound: bigint, kind: bigint, visibility: bigint, challengeType: bigint, stakeAmount: bigint, startRound: bigint, threshold: bigint, allApps: boolean, selectedApps: string[], title: string, description: string, imageURI: string, metadataURI: string ]; export interface OutputObject { challengeId: bigint; creator: string; endRound: bigint; kind: bigint; visibility: bigint; challengeType: bigint; stakeAmount: bigint; startRound: bigint; threshold: bigint; allApps: boolean; selectedApps: string[]; title: string; description: string; imageURI: string; metadataURI: string; } export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; export type Filter = TypedDeferredTopicFilter<Event>; export type Log = TypedEventLog<Event>; export type LogDescription = TypedLogDescription<Event>; } export namespace ChallengeDeclinedEvent { export type InputTuple = [ challengeId: BigNumberish, participant: AddressLike ]; export type OutputTuple = [challengeId: bigint, participant: string]; export interface OutputObject { challengeId: bigint; participant: string; } export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; export type Filter = TypedDeferredTopicFilter<Event>; export type Log = TypedEventLog<Event>; export type LogDescription = TypedLogDescription<Event>; } export namespace ChallengeInvalidatedEvent { export type InputTuple = [challengeId: BigNumberish]; export type OutputTuple = [challengeId: bigint]; export interface OutputObject { challengeId: bigint; } export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; export type Filter = TypedDeferredTopicFilter<Event>; export type Log = TypedEventLog<Event>; export type LogDescription = TypedLogDescription<Event>; } export namespace ChallengeInviteAddedEvent { export type InputTuple = [challengeId: BigNumberish, invitee: AddressLike]; export type OutputTuple = [challengeId: bigint, invitee: string]; export interface OutputObject { challengeId: bigint; invitee: string; } export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; export type Filter = TypedDeferredTopicFilter<Event>; export type Log = TypedEventLog<Event>; export type LogDescription = TypedLogDescription<Event>; } export namespace ChallengeJoinedEvent { export type InputTuple = [ challengeId: BigNumberish, participant: AddressLike ]; export type OutputTuple = [challengeId: bigint, participant: string]; export interface OutputObject { challengeId: bigint; participant: string; } export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; export type Filter = TypedDeferredTopicFilter<Event>; export type Log = TypedEventLog<Event>; export type LogDescription = TypedLogDescription<Event>; } export namespace ChallengeLeftEvent { export type InputTuple = [ challengeId: BigNumberish, participant: AddressLike ]; export type OutputTuple = [challengeId: bigint, participant: string]; export interface OutputObject { challengeId: bigint; participant: string; } export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; export type Filter = TypedDeferredTopicFilter<Event>; export type Log = TypedEventLog<Event>; export type LogDescription = TypedLogDescription<Event>; } export namespace ChallengePayoutClaimedEvent { export type InputTuple = [ challengeId: BigNumberish, account: AddressLike, amount: BigNumberish ]; export type OutputTuple = [ challengeId: bigint, account: string, amount: bigint ]; export interface OutputObject { challengeId: bigint; account: string; amount: bigint; } export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; export type Filter = TypedDeferredTopicFilter<Event>; export type Log = TypedEventLog<Event>; export type LogDescription = TypedLogDescription<Event>; } export namespace ChallengeRefundClaimedEvent { export type InputTuple = [ challengeId: BigNumberish, account: AddressLike, amount: BigNumberish ]; export type OutputTuple = [ challengeId: bigint, account: string, amount: bigint ]; export interface OutputObject { challengeId: bigint; account: string; amount: bigint; } export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; export type Filter = TypedDeferredTopicFilter<Event>; export type Log = TypedEventLog<Event>; export type LogDescription = TypedLogDescription<Event>; } export namespace MaxChallengeDurationUpdatedEvent { export type InputTuple = [oldValue: BigNumberish, newValue: BigNumberish]; export type OutputTuple = [oldValue: bigint, newValue: bigint]; export interface OutputObject { oldValue: bigint; newValue: bigint; } export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; export type Filter = TypedDeferredTopicFilter<Event>; export type Log = TypedEventLog<Event>; export type LogDescription = TypedLogDescription<Event>; } export namespace MaxParticipantsUpdatedEvent { export type InputTuple = [oldValue: BigNumberish, newValue: BigNumberish]; export type OutputTuple = [oldValue: bigint, newValue: bigint]; export interface OutputObject { oldValue: bigint; newValue: bigint; } export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; export type Filter = TypedDeferredTopicFilter<Event>; export type Log = TypedEventLog<Event>; export type LogDescription = TypedLogDescription<Event>; } export namespace MaxSelectedAppsUpdatedEvent { export type InputTuple = [oldValue: BigNumberish, newValue: BigNumberish]; export type OutputTuple = [oldValue: bigint, newValue: bigint]; export interface OutputObject { oldValue: bigint; newValue: bigint; } export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; export type Filter = TypedDeferredTopicFilter<Event>; export type Log = TypedEventLog<Event>; export type LogDescription = TypedLogDescription<Event>; } export namespace MinBetAmountUpdatedEvent { export type InputTuple = [oldValue: BigNumberish, newValue: BigNumberish]; export type OutputTuple = [oldValue: bigint, newValue: bigint]; export interface OutputObject { oldValue: bigint; newValue: bigint; } export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; export type Filter = TypedDeferredTopicFilter<Event>; export type Log = TypedEventLog<Event>; export type LogDescription = TypedLogDescription<Event>; } export namespace SplitWinConfiguredEvent { export type InputTuple = [ challengeId: BigNumberish, numWinners: BigNumberish, prizePerWinner: BigNumberish ]; export type OutputTuple = [ challengeId: bigint, numWinners: bigint, prizePerWinner: bigint ]; export interface OutputObject { challengeId: bigint; numWinners: bigint; prizePerWinner: bigint; } export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; export type Filter = TypedDeferredTopicFilter<Event>; export type Log = TypedEventLog<Event>; export type LogDescription = TypedLogDescription<Event>; } export namespace SplitWinCreatorRefundedEvent { export type InputTuple = [ challengeId: BigNumberish, creator: AddressLike, amount: BigNumberish ]; export type OutputTuple = [ challengeId: bigint, creator: string, amount: bigint ]; export interface OutputObject { challengeId: bigint; creator: string; amount: bigint; } export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; export type Filter = TypedDeferredTopicFilter<Event>; export type Log = TypedEventLog<Event>; export type LogDescription = TypedLogDescription<Event>; } export namespace SplitWinPrizeClaimedEvent { export type InputTuple = [ challengeId: BigNumberish, winner: AddressLike, prize: BigNumberish, actions: BigNumberish, winnersClaimed: BigNumberish ]; export type OutputTuple = [ challengeId: bigint, winner: string, prize: bigint, actions: bigint, winnersClaimed: bigint ]; export interface OutputObject { challengeId: bigint; winner: string; prize: bigint; actions: bigint; winnersClaimed: bigint; } export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; export type Filter = TypedDeferredTopicFilter<Event>; export type Log = TypedEventLog<Event>; export type LogDescription = TypedLogDescription<Event>; } export namespace VeBetterPassportAddressUpdatedEvent { export type InputTuple = [oldAddress: AddressLike, newAddress: AddressLike]; export type OutputTuple = [oldAddress: string, newAddress: string]; export interface OutputObject { oldAddress: string; newAddress: string; } export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; export type Filter = TypedDeferredTopicFilter<Event>; export type Log = TypedEventLog<Event>; export type LogDescription = TypedLogDescription<Event>; } export namespace X2EarnAppsAddressUpdatedEvent { export type InputTuple = [oldAddress: AddressLike, newAddress: AddressLike]; export type OutputTuple = [oldAddress: string, newAddress: string]; export interface OutputObject { oldAddress: string; newAddress: string; } export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; export type Filter = TypedDeferredTopicFilter<Event>; export type Log = TypedEventLog<Event>; export type LogDescription = TypedLogDescription<Event>; } export namespace XAllocationVotingAddressUpdatedEvent { export type InputTuple = [oldAddress: AddressLike, newAddress: AddressLike]; export type OutputTuple = [oldAddress: string, newAddress: string]; export interface OutputObject { oldAddress: string; newAddress: string; } export type Event = TypedContractEvent<InputTuple, OutputTuple, OutputObject>; export type Filter = TypedDeferredTopicFilter<Event>; export type Log = TypedEventLog<Event>; export type LogDescription = TypedLogDescription<Event>; } export interface IChallenges extends BaseContract { connect(runner?: ContractRunner | null): IChallenges; waitForDeployment(): Promise<this>; interface: IChallengesInterface; 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>; addInvites: TypedContractMethod< [challengeId: BigNumberish, invitees: AddressLike[]], [void], "nonpayable" >; cancelChallenge: TypedContractMethod< [challengeId: BigNumberish], [void], "nonpayable" >; challengeCount: TypedContractMethod<[], [bigint], "view">; claimChallengePayout: TypedContractMethod< [challengeId: BigNumberish], [bigint], "nonpayable" >; claimChallengeRefund: TypedContractMethod< [challengeId: BigNumberish], [bigint], "nonpayable" >; claimCreatorSplitWinRefund: TypedContractMethod< [challengeId: BigNumberish], [bigint], "nonpayable" >; claimSplitWinPrize: TypedContractMethod< [challengeId: BigNumberish], [bigint], "nonpayable" >; completeChallenge: TypedContractMethod< [challengeId: BigNumberish], [void], "nonpayable" >; createChallenge: TypedContractMethod< [params: ChallengeTypes.CreateChallengeParamsStruct], [bigint], "nonpayable" >; declineChallenge: TypedContractMethod< [challengeId: BigNumberish], [void], "nonpayable" >; getChallenge: TypedContractMethod< [challengeId: BigNumberish], [ChallengeTypes.ChallengeViewStructOutput], "view" >; getChallengeDeclined: TypedContractMethod< [challengeId: BigNumberish], [string[]], "view" >; getChallengeInvited: TypedContractMethod< [challengeId: BigNumberish], [string[]], "view" >; getChallengeParticipants: TypedContractMethod< [challengeId: BigNumberish], [string[]], "view" >; getChallengeSelectedApps: TypedContractMethod< [challengeId: BigNumberish], [string[]], "view" >; getChallengeStatus: TypedContractMethod< [challengeId: BigNumberish], [bigint], "view" >; getChallengeWinners: TypedContractMethod< [challengeId: BigNumberish], [string[]], "view" >; getParticipantActions: TypedContractMethod< [challengeId: BigNumberish, participant: AddressLike], [bigint], "view" >; getParticipantStatus: TypedContractMethod< [challengeId: BigNumberish, account: AddressLike], [bigint], "view" >; initialize: TypedContractMethod< [ data: ChallengeTypes.InitializationDataStruct, roles: ChallengeTypes.InitializationRoleDataStruct ], [void], "nonpayable" >; isInvitationEligible: TypedContractMethod< [challengeId: BigNumberish, account: AddressLike], [boolean], "view" >; isSplitWinWinner: TypedContractMethod< [challengeId: BigNumberish, account: AddressLike], [boolean], "view" >; joinChallenge: TypedContractMethod< [challengeId: BigNumberish], [void], "nonpayable" >; leaveChallenge: TypedContractMethod< [challengeId: BigNumberish], [void], "nonpayable" >; maxChallengeDuration: TypedContractMethod<[], [bigint], "view">; maxParticipants: TypedContractMethod<[], [bigint], "view">; maxSelectedApps: TypedContractMethod<[], [bigint], "view">; minBetAmount: TypedContractMethod<[], [bigint], "view">; setB3TRAddress: TypedContractMethod< [newAddress: AddressLike], [void], "nonpayable" >; setMaxChallengeDuration: TypedContractMethod< [newValue: BigNumberish], [void], "nonpayable" >; setMaxParticipants: TypedContractMethod< [newValue: BigNumberish], [void], "nonpayable" >; setMaxSelectedApps: TypedContractMethod< [newValue: BigNumberish], [void], "nonpayable" >; setMinBetAmount: TypedContractMethod< [newValue: BigNumberish], [void], "nonpayable" >; setVeBetterPassportAddress: TypedContractMethod< [newAddress: AddressLike], [void], "nonpayable" >; setX2EarnAppsAddress: TypedContractMethod< [newAddress: AddressLike], [void], "nonpayable" >; setXAllocationVotingAddress: TypedContractMethod< [newAddress: AddressLike], [void], "nonpayable" >; syncChallenge: TypedContractMethod< [challengeId: BigNumberish], [bigint], "nonpayable" >; version: TypedContractMethod<[], [string], "view">; withdraw: TypedContractMethod< [to: AddressLike, amount: BigNumberish], [void], "nonpayable" >; getFunction<T extends ContractMethod = ContractMethod>( key: string | FunctionFragment ): T; getFunction( nameOrSignature: "addInvites" ): TypedContractMethod< [challengeId: BigNumberish, invitees: AddressLike[]], [void], "nonpayable" >; getFunction( nameOrSignature: "cancelChallenge" ): TypedContractMethod<[challengeId: BigNumberish], [void], "nonpayable">; getFunction( nameOrSignature: "challengeCount" ): TypedContractMethod<[], [bigint], "view">; getFunction( nameOrSignature: "claimChallengePayout" ): TypedContractMethod<[challengeId: BigNumberish], [bigint], "nonpayable">; getFunction( nameOrSignature: "claimChallengeRefund" ): TypedContractMethod<[challengeId: BigNumberish], [bigint], "nonpayable">; getFunction( nameOrSignature: "claimCreatorSplitWinRefund" ): TypedContractMethod<[challengeId: BigNumberish], [bigint], "nonpayable">; getFunction( nameOrSignature: "claimSplitWinPrize" ): TypedContractMethod<[challengeId: BigNumberish], [bigint], "nonpayable">; getFunction( nameOrSignature: "completeChallenge" ): TypedContractMethod<[challengeId: BigNumberish], [void], "nonpayable">; getFunction( nameOrSignature: "createChallenge" ): TypedContractMethod< [params: ChallengeTypes.CreateChallengeParamsStruct], [bigint], "nonpayable" >; getFunction( nameOrSignature: "declineChallenge" ): TypedContractMethod<[challengeId: BigNumberish], [void], "nonpayable">; getFunction( nameOrSignature: "getChallenge" ): TypedContractMethod< [challengeId: BigNumberish], [ChallengeTypes.ChallengeViewStructOutput], "view" >; getFunction( nameOrSignature: "getChallengeDeclined" ): TypedContractMethod<[challengeId: BigNumberish], [string[]], "view">; getFunction( nameOrSignature: "getChallengeInvited" ): TypedContractMethod<[challengeId: BigNumberish], [string[]], "view">; getFunction( nameOrSignature: "getChallengeParticipants" ): TypedContractMethod<[challengeId: BigNumberish], [string[]], "view">; getFunction( nameOrSignature: "getChallengeSelectedApps" ): TypedContractMethod<[challengeId: BigNumberish], [string[]], "view">; getFunction( nameOrSignature: "getChallengeStatus" ): TypedContractMethod<[challengeId: BigNumberish], [bigint], "view">; getFunction( nameOrSignature: "getChallengeWinners" ): TypedContractMethod<[challengeId: BigNumberish], [string[]], "view">; getFunction( nameOrSignature: "getParticipantActions" ): TypedContractMethod< [challengeId: BigNumberish, participant: AddressLike], [bigint], "view" >; getFunction( nameOrSignature: "getParticipantStatus" ): TypedContractMethod< [challengeId: BigNumberish, account: AddressLike], [bigint], "view" >; getFunction( nameOrSignature: "initialize" ): TypedContractMethod< [ data: ChallengeTypes.InitializationDataStruct, roles: ChallengeTypes.InitializationRoleDataStruct ], [void], "nonpayable" >; getFunction( nameOrSignature: "isInvitationEligible" ): TypedContractMethod< [challengeId: BigNumberish, account: AddressLike], [boolean], "view" >; getFunction( nameOrSignature: "isSplitWinWinner" ): TypedContractMethod< [challengeId: BigNumberish, account: AddressLike], [boolean], "view" >; getFunction( nameOrSignature: "joinChallenge" ): TypedContractMethod<[challengeId: BigNumberish], [void], "nonpayable">; getFunction( nameOrSignature: "leaveChallenge" ): TypedContractMethod<[challengeId: BigNumberish], [void], "nonpayable">; getFunction( nameOrSignature: "maxChallengeDuration" ): TypedContractMethod<[], [bigint], "view">; getFunction( nameOrSignature: "maxParticipants" ): TypedContractMethod<[], [bigint], "view">; getFunction( nameOrSignature: "maxSelectedApps" ): TypedContractMethod<[], [bigint], "view">; getFunction( nameOrSignature: "minBetAmount" ): TypedContractMethod<[], [bigint], "view">; getFunction( nameOrSignature: "setB3TRAddress" ): TypedContractMethod<[newAddress: AddressLike], [void], "nonpayable">; getFunction( nameOrSignature: "setMaxChallengeDuration" ): TypedContractMethod<[newValue: BigNumberish], [void], "nonpayable">; getFunction( nameOrSignature: "setMaxParticipants" ): TypedContractMethod<[newValue: BigNumberish], [void], "nonpayable">; getFunction( nameOrSignature: "setMaxSelectedApps" ): TypedContractMethod<[newValue: BigNumberish], [void], "nonpayable">; getFunction( nameOrSignature: "setMinBetAmount" ): TypedContractMethod<[newValue: BigNumberish], [void], "nonpayable">; getFunction( nameOrSignature: "setVeBetterPassportAddress" ): TypedContractMethod<[newAddress: AddressLike], [void], "nonpayable">; getFunction( nameOrSignature: "setX2EarnAppsAddress" ): TypedContractMethod<[newAddress: AddressLike], [void], "nonpayable">; getFunction( nameOrSignature: "setXAllocationVotingAddress" ): TypedContractMethod<[newAddress: AddressLike], [void], "nonpayable">; getFunction( nameOrSignature: "syncChallenge" ): TypedContractMethod<[challengeId: BigNumberish], [bigint], "nonpayable">; getFunction( nameOrSignature: "version" ): TypedContractMethod<[], [string], "view">; getFunction( nameOrSignature: "withdraw" ): TypedContractMethod< [to: AddressLike, amount: BigNumberish], [void], "nonpayable" >; getEvent( key: "AdminWithdrawal" ): TypedContractEvent< AdminWithdrawalEvent.InputTuple, AdminWithdrawalEvent.OutputTuple, AdminWithdrawalEvent.OutputObject >; getEvent( key: "B3TRAddressUpdated" ): TypedContractEvent< B3TRAddressUpdatedEvent.InputTuple, B3TRAddressUpdatedEvent.OutputTuple, B3TRAddressUpdatedEvent.OutputObject >; getEvent( key: "ChallengeActivated" ): TypedContractEvent< ChallengeActivatedEvent.InputTuple, ChallengeActivatedEvent.OutputTuple, ChallengeActivatedEvent.OutputObject >; getEvent( key: "ChallengeCancelled" ): TypedContractEvent< ChallengeCancelledEvent.InputTuple, ChallengeCancelledEvent.OutputTuple, ChallengeCancelledEvent.OutputObject >; getEvent( key: "ChallengeCompleted" ): TypedContractEvent< ChallengeCompletedEvent.InputTuple, ChallengeCompletedEvent.OutputTuple, ChallengeCompletedEvent.OutputObject >; getEvent( key: "ChallengeCreated" ): TypedContractEvent< ChallengeCreatedEvent.InputTuple, ChallengeCreatedEvent.OutputTuple, ChallengeCreatedEvent.OutputObject >; getEvent( key: "ChallengeDeclined" ): TypedContractEvent< ChallengeDeclinedEvent.InputTuple, ChallengeDeclinedEvent.OutputTuple, ChallengeDeclinedEvent.OutputObject >; getEvent( key: "ChallengeInvalidated" ): TypedContractEvent< ChallengeInvalidatedEvent.InputTuple, ChallengeInvalidatedEvent.OutputTuple, ChallengeInvalidatedEvent.OutputObject >; getEvent( key: "ChallengeInviteAdded" ): TypedContractEvent< ChallengeInviteAddedEvent.InputTuple, ChallengeInviteAddedEvent.OutputTuple, ChallengeInviteAddedEvent.OutputObject >; getEvent( key: "ChallengeJoined" ): TypedContractEvent< ChallengeJoinedEvent.InputTuple, ChallengeJoinedEvent.OutputTuple, ChallengeJoinedEvent.OutputObject >; getEvent( key: "ChallengeLeft" ): TypedContractEvent< ChallengeLeftEvent.InputTuple, ChallengeLeftEvent.OutputTuple, ChallengeLeftEvent.OutputObject >; getEvent( key: "ChallengePayoutClaimed" ): TypedContractEvent< ChallengePayoutClaimedEvent.InputTuple, ChallengePayoutClaimedEvent.OutputTuple, ChallengePayoutClaimedEvent.OutputObject >; getEvent( key: "ChallengeRefundClaimed" ): TypedContractEvent< ChallengeRefundClaimedEvent.InputTuple, ChallengeRefundClaimedEvent.OutputTuple, ChallengeRefundClaimedEvent.OutputObject >; getEvent( key: "MaxChallengeDurationUpdated" ): TypedContractEvent< MaxChallengeDurationUpdatedEvent.InputTuple, MaxChallengeDurationUpdatedEvent.OutputTuple, MaxChallengeDurationUpdatedEvent.OutputObject >; getEvent( key: "MaxParticipantsUpdated" ): TypedContractEvent< MaxParticipantsUpdatedEvent.InputTuple, MaxParticipantsUpdatedEvent.OutputTuple, MaxParticipantsUpdatedEvent.OutputObject >; getEvent( key: "MaxSelectedAppsUpdated" ): TypedContractEvent< MaxSelectedAppsUpdatedEvent.InputTuple, MaxSelectedAppsUpdatedEvent.OutputTuple, MaxSelectedAppsUpdatedEvent.OutputObject >; getEvent( key: "MinBetAmountUpdated" ): TypedContractEvent< MinBetAmountUpdatedEvent.InputTuple, MinBetAmountUpdatedEvent.OutputTuple, MinBetAmountUpdatedEvent.OutputObject >; getEvent( key: "SplitWinConfigured" ): TypedContractEvent< SplitWinConfiguredEvent.InputTuple, SplitWinConfiguredEvent.OutputTuple, SplitWinConfiguredEvent.OutputObject >; getEvent( key: "SplitWinCreatorRefunded" ): TypedContractEvent< SplitWinCreatorRefundedEvent.InputTuple, SplitWinCreatorRefundedEvent.OutputTuple, SplitWinCreatorRefundedEvent.OutputObject >; getEvent( key: "SplitWinPrizeClaimed" ): TypedContractEvent< SplitWinPrizeClaimedEvent.InputTuple, SplitWinPrizeClaimedEvent.OutputTuple, SplitWinPrizeClaimedEvent.OutputObject >; getEvent( key: "VeBetterPassportAddressUpdated" ): TypedContractEvent< VeBetterPassportAddressUpdatedEvent.InputTuple, VeBetterPassportAddressUpdatedEvent.OutputTuple, VeBetterPassportAddressUpdatedEvent.OutputObject >; getEvent( key: "X2EarnAppsAddressUpdated" ): TypedContractEvent< X2EarnAppsAddressUpdatedEvent.InputTuple, X2EarnAppsAddressUpdatedEvent.OutputTuple, X2EarnAppsAddressUpdatedEvent.OutputObject >; getEvent( key: "XAllocationVotingAddressUpdated" ): TypedContractEvent< XAllocationVotingAddressUpdatedEvent.InputTuple, XAllocationVotingAddressUpdatedEvent.OutputTuple, XAllocationVotingAddressUpdatedEvent.OutputObject >; filters: { "AdminWithdrawal(address,address,uint256)": TypedContractEvent< AdminWithdrawalEvent.InputTuple, AdminWithdrawalEvent.OutputTuple, AdminWithdrawalEvent.OutputObject >; AdminWithdrawal: TypedContractEvent< AdminWithdrawalEvent.InputTuple, AdminWithdrawalEvent.OutputTuple, AdminWithdrawalEvent.OutputObject >; "B3TRAddressUpdated(address,address)": TypedContractEvent< B3TRAddressUpdatedEvent.InputTuple, B3TRAddressUpdatedEvent.OutputTuple, B3TRAddressUpdatedEvent.OutputObject >; B3TRAddressUpdated: TypedContractEvent< B3TRAddressUpdatedEvent.InputTuple, B3TRAddressUpdatedEvent.OutputTuple, B3TRAddressUpdatedEvent.OutputObject >; "ChallengeActivated(uint256)": TypedContractEvent< ChallengeActivatedEvent.InputTuple, ChallengeActivatedEvent.OutputTuple, ChallengeActivatedEvent.OutputObject >; ChallengeActivated: TypedContractEvent< ChallengeActivatedEvent.InputTuple, ChallengeActivatedEvent.OutputTuple, ChallengeActivatedEvent.OutputObject >; "ChallengeCancelled(uint256)": TypedContractEvent< ChallengeCancelledEvent.InputTuple, ChallengeCancelledEvent.OutputTuple, ChallengeCancelledEvent.OutputObject >; ChallengeCancelled: TypedContractEvent< ChallengeCancelledEvent.InputTuple, ChallengeCancelledEvent.OutputTuple, ChallengeCancelledEvent.OutputObject >; "ChallengeCompleted(uint256,uint8,uint256,uint256)": TypedContractEvent< ChallengeCompletedEvent.InputTuple, ChallengeCompletedEvent.OutputTuple, ChallengeCompletedEvent.OutputObject >; ChallengeCompleted: TypedContractEvent< ChallengeCompletedEvent.InputTuple, ChallengeCompletedEvent.OutputTuple, ChallengeCompletedEvent.OutputObject >; "ChallengeCreated(uint256,address,uint256,uint8,uint8,uint8,uint256,uint256,uint256,bool,bytes32[],string,string,string,string)": TypedContractEvent< ChallengeCreatedEvent.InputTuple, ChallengeCreatedEvent.OutputTuple, ChallengeCreatedEvent.OutputObject >; ChallengeCreated: TypedContractEvent< ChallengeCreatedEvent.InputTuple, ChallengeCreatedEvent.OutputTuple, ChallengeCreatedEvent.OutputObject >; "ChallengeDeclined(uint256,address)": TypedContractEvent< ChallengeDeclinedEvent.InputTuple, ChallengeDeclinedEvent.OutputTuple, ChallengeDeclinedEvent.OutputObject >; ChallengeDeclined: TypedContractEvent< ChallengeDeclinedEvent.InputTuple, ChallengeDeclinedEvent.OutputTuple, ChallengeDeclinedEvent.OutputObject >; "ChallengeInvalidated(uint256)": TypedContractEvent< ChallengeInvalidatedEvent.InputTuple, ChallengeInvalidatedEvent.OutputTuple, ChallengeInvalidatedEvent.OutputObject >; ChallengeInvalidated: TypedContractEvent< ChallengeInvalidatedEvent.InputTuple, ChallengeInvalidatedEvent.OutputTuple, ChallengeInvalidatedEvent.OutputObject >; "ChallengeInviteAdded(uint256,address)": TypedContractEvent< ChallengeInviteAddedEvent.InputTuple, ChallengeInviteAddedEvent.OutputTuple, ChallengeInviteAddedEvent.OutputObject >; ChallengeInviteAdded: TypedContractEvent< ChallengeInviteAddedEvent.InputTuple, ChallengeInviteAddedEvent.OutputTuple, ChallengeInviteAddedEvent.OutputObject >; "ChallengeJoined(uint256,address)": TypedContractEvent< ChallengeJoinedEvent.InputTuple, ChallengeJoinedEvent.OutputTuple, ChallengeJoinedEvent.OutputObject >; ChallengeJoined: TypedContractEvent< ChallengeJoinedEvent.InputTuple, ChallengeJoinedEvent.OutputTuple, ChallengeJoinedEvent.OutputObject >; "ChallengeLeft(uint256,address)": TypedContractEvent< ChallengeLeftEvent.InputTuple, ChallengeLeftEvent.OutputTuple, ChallengeLeftEvent.OutputObject >; ChallengeLeft: TypedContractEvent< ChallengeLeftEvent.InputTuple, ChallengeLeftEvent.OutputTuple, ChallengeLeftEvent.OutputObject >; "ChallengePayoutClaimed(uint256,address,uint256)": TypedContractEvent< ChallengePayoutClaimedEvent.InputTuple, ChallengePayoutClaimedEvent.OutputTuple, ChallengePayoutClaimedEvent.OutputObject >; ChallengePayoutClaimed: TypedContractEvent< ChallengePayoutClaimedEvent.InputTuple, ChallengePayoutClaimedEvent.OutputTuple, ChallengePayoutClaimedEvent.OutputObject >; "ChallengeRefundClaimed(uint256,address,uint256)": TypedContractEvent< ChallengeRefundClaimedEvent.InputTuple, ChallengeRefundClaimedEvent.OutputTuple, ChallengeRefundClaimedEvent.OutputObject >; ChallengeRefundClaimed: TypedContractEvent< ChallengeRefundClaimedEvent.InputTuple, ChallengeRefundClaimedEv