@vechain/vebetterdao-contracts
Version:
Open-source repository that houses the smart contracts powering the decentralized VeBetterDAO on the VeChain Thor blockchain.
1,772 lines (1,671 loc) • 65.4 kB
text/typescript
/* 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 ChallengeTypesV1 {
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 B3TRChallengesV1Interface extends Interface {
getFunction(
nameOrSignature:
| "CONTRACTS_ADDRESS_MANAGER_ROLE"
| "DEFAULT_ADMIN_ROLE"
| "SETTINGS_MANAGER_ROLE"
| "UPGRADER_ROLE"
| "UPGRADE_INTERFACE_VERSION"
| "addInvites"
| "cancelChallenge"
| "challengeCount"
| "claimChallengePayout"
| "claimChallengeRefund"
| "claimCreatorSplitWinRefund"
| "claimSplitWinPrize"
| "completeChallenge"
| "createChallenge"
| "declineChallenge"
| "getChallenge"
| "getChallengeDeclined"
| "getChallengeInvited"
| "getChallengeParticipants"
| "getChallengeSelectedApps"
| "getChallengeStatus"
| "getChallengeWinners"
| "getParticipantActions"
| "getParticipantStatus"
| "getRoleAdmin"
| "grantRole"
| "hasRole"
| "initialize"
| "isInvitationEligible"
| "isSplitWinWinner"
| "joinChallenge"
| "leaveChallenge"
| "maxChallengeDuration"
| "maxParticipants"
| "maxSelectedApps"
| "minBetAmount"
| "proxiableUUID"
| "renounceRole"
| "revokeRole"
| "setB3TRAddress"
| "setMaxChallengeDuration"
| "setMaxParticipants"
| "setMaxSelectedApps"
| "setMinBetAmount"
| "setVeBetterPassportAddress"
| "setX2EarnAppsAddress"
| "setXAllocationVotingAddress"
| "supportsInterface"
| "syncChallenge"
| "upgradeToAndCall"
| "version"
| "withdraw"
): FunctionFragment;
getEvent(
nameOrSignatureOrTopic:
| "AdminWithdrawal"
| "B3TRAddressUpdated"
| "ChallengeActivated"
| "ChallengeCancelled"
| "ChallengeCompleted"
| "ChallengeCreated"
| "ChallengeDeclined"
| "ChallengeInvalidated"
| "ChallengeInviteAdded"
| "ChallengeJoined"
| "ChallengeLeft"
| "ChallengePayoutClaimed"
| "ChallengeRefundClaimed"
| "Initialized"
| "MaxChallengeDurationUpdated"
| "MaxParticipantsUpdated"
| "MaxSelectedAppsUpdated"
| "MinBetAmountUpdated"
| "RoleAdminChanged"
| "RoleGranted"
| "RoleRevoked"
| "SplitWinConfigured"
| "SplitWinCreatorRefunded"
| "SplitWinPrizeClaimed"
| "Upgraded"
| "VeBetterPassportAddressUpdated"
| "X2EarnAppsAddressUpdated"
| "XAllocationVotingAddressUpdated"
): EventFragment;
encodeFunctionData(
functionFragment: "CONTRACTS_ADDRESS_MANAGER_ROLE",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "DEFAULT_ADMIN_ROLE",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "SETTINGS_MANAGER_ROLE",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "UPGRADER_ROLE",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "UPGRADE_INTERFACE_VERSION",
values?: undefined
): string;
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: [ChallengeTypesV1.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: "getRoleAdmin",
values: [BytesLike]
): string;
encodeFunctionData(
functionFragment: "grantRole",
values: [BytesLike, AddressLike]
): string;
encodeFunctionData(
functionFragment: "hasRole",
values: [BytesLike, AddressLike]
): string;
encodeFunctionData(
functionFragment: "initialize",
values: [
ChallengeTypesV1.InitializationDataStruct,
ChallengeTypesV1.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: "proxiableUUID",
values?: undefined
): string;
encodeFunctionData(
functionFragment: "renounceRole",
values: [BytesLike, AddressLike]
): string;
encodeFunctionData(
functionFragment: "revokeRole",
values: [BytesLike, AddressLike]
): 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: "supportsInterface",
values: [BytesLike]
): string;
encodeFunctionData(
functionFragment: "syncChallenge",
values: [BigNumberish]
): string;
encodeFunctionData(
functionFragment: "upgradeToAndCall",
values: [AddressLike, BytesLike]
): string;
encodeFunctionData(functionFragment: "version", values?: undefined): string;
encodeFunctionData(
functionFragment: "withdraw",
values: [AddressLike, BigNumberish]
): string;
decodeFunctionResult(
functionFragment: "CONTRACTS_ADDRESS_MANAGER_ROLE",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "DEFAULT_ADMIN_ROLE",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "SETTINGS_MANAGER_ROLE",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "UPGRADER_ROLE",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "UPGRADE_INTERFACE_VERSION",
data: BytesLike
): Result;
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: "getRoleAdmin",
data: BytesLike
): Result;
decodeFunctionResult(functionFragment: "grantRole", data: BytesLike): Result;
decodeFunctionResult(functionFragment: "hasRole", 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: "proxiableUUID",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "renounceRole",
data: BytesLike
): Result;
decodeFunctionResult(functionFragment: "revokeRole", 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: "supportsInterface",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "syncChallenge",
data: BytesLike
): Result;
decodeFunctionResult(
functionFragment: "upgradeToAndCall",
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 InitializedEvent {
export type InputTuple = [version: BigNumberish];
export type OutputTuple = [version: bigint];
export interface OutputObject {
version: 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 RoleAdminChangedEvent {
export type InputTuple = [
role: BytesLike,
previousAdminRole: BytesLike,
newAdminRole: BytesLike
];
export type OutputTuple = [
role: string,
previousAdminRole: string,
newAdminRole: string
];
export interface OutputObject {
role: string;
previousAdminRole: string;
newAdminRole: 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 RoleGrantedEvent {
export type InputTuple = [
role: BytesLike,
account: AddressLike,
sender: AddressLike
];
export type OutputTuple = [role: string, account: string, sender: string];
export interface OutputObject {
role: string;
account: string;
sender: 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 RoleRevokedEvent {
export type InputTuple = [
role: BytesLike,
account: AddressLike,
sender: AddressLike
];
export type OutputTuple = [role: string, account: string, sender: string];
export interface OutputObject {
role: string;
account: string;
sender: 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 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 UpgradedEvent {
export type InputTuple = [implementation: AddressLike];
export type OutputTuple = [implementation: string];
export interface OutputObject {
implementation: 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 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 B3TRChallengesV1 extends BaseContract {
connect(runner?: ContractRunner | null): B3TRChallengesV1;
waitForDeployment(): Promise<this>;
interface: B3TRChallengesV1Interface;
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>;
CONTRACTS_ADDRESS_MANAGER_ROLE: TypedContractMethod<[], [string], "view">;
DEFAULT_ADMIN_ROLE: TypedContractMethod<[], [string], "view">;
SETTINGS_MANAGER_ROLE: TypedContractMethod<[], [string], "view">;
UPGRADER_ROLE: TypedContractMethod<[], [string], "view">;
UPGRADE_INTERFACE_VERSION: TypedContractMethod<[], [string], "view">;
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: ChallengeTypesV1.CreateChallengeParamsStruct],
[bigint],
"nonpayable"
>;
declineChallenge: TypedContractMethod<
[challengeId: BigNumberish],
[void],
"nonpayable"
>;
getChallenge: TypedContractMethod<
[challengeId: BigNumberish],
[ChallengeTypesV1.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"
>;
getRoleAdmin: TypedContractMethod<[role: BytesLike], [string], "view">;
grantRole: TypedContractMethod<
[role: BytesLike, account: AddressLike],
[void],
"nonpayable"
>;
hasRole: TypedContractMethod<
[role: BytesLike, account: AddressLike],
[boolean],
"view"
>;
initialize: TypedContractMethod<
[
data: ChallengeTypesV1.InitializationDataStruct,
roles: ChallengeTypesV1.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">;
proxiableUUID: TypedContractMethod<[], [string], "view">;
renounceRole: TypedContractMethod<
[role: BytesLike, callerConfirmation: AddressLike],
[void],
"nonpayable"
>;
revokeRole: TypedContractMethod<
[role: BytesLike, account: AddressLike],
[void],
"nonpayable"
>;
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"
>;
supportsInterface: TypedContractMethod<
[interfaceId: BytesLike],
[boolean],
"view"
>;
syncChallenge: TypedContractMethod<
[challengeId: BigNumberish],
[bigint],
"nonpayable"
>;
upgradeToAndCall: TypedContractMethod<
[newImplementation: AddressLike, data: BytesLike],
[void],
"payable"
>;
version: TypedContractMethod<[], [string], "view">;
withdraw: TypedContractMethod<
[to: AddressLike, amount: BigNumberish],
[void],
"nonpayable"
>;
getFunction<T extends ContractMethod = ContractMethod>(
key: string | FunctionFragment
): T;
getFunction(
nameOrSignature: "CONTRACTS_ADDRESS_MANAGER_ROLE"
): TypedContractMethod<[], [string], "view">;
getFunction(
nameOrSignature: "DEFAULT_ADMIN_ROLE"
): TypedContractMethod<[], [string], "view">;
getFunction(
nameOrSignature: "SETTINGS_MANAGER_ROLE"
): TypedContractMethod<[], [string], "view">;
getFunction(
nameOrSignature: "UPGRADER_ROLE"
): TypedContractMethod<[], [string], "view">;
getFunction(
nameOrSignature: "UPGRADE_INTERFACE_VERSION"
): TypedContractMethod<[], [string], "view">;
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: ChallengeTypesV1.CreateChallengeParamsStruct],
[bigint],
"nonpayable"
>;
getFunction(
nameOrSignature: "declineChallenge"
): TypedContractMethod<[challengeId: BigNumberish], [void], "nonpayable">;
getFunction(
nameOrSignature: "getChallenge"
): TypedContractMethod<
[challengeId: BigNumberish],
[ChallengeTypesV1.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: "getRoleAdmin"
): TypedContractMethod<[role: BytesLike], [string], "view">;
getFunction(
nameOrSignature: "grantRole"
): TypedContractMethod<
[role: BytesLike, account: AddressLike],
[void],
"nonpayable"
>;
getFunction(
nameOrSignature: "hasRole"
): TypedContractMethod<
[role: BytesLike, account: AddressLike],
[boolean],
"view"
>;
getFunction(
nameOrSignature: "initialize"
): TypedContractMethod<
[
data: ChallengeTypesV1.InitializationDataStruct,
roles: ChallengeTypesV1.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: "proxiableUUID"
): TypedContractMethod<[], [string], "view">;
getFunction(
nameOrSignature: "renounceRole"
): TypedContractMethod<
[role: BytesLike, callerConfirmation: AddressLike],
[void],
"nonpayable"
>;
getFunction(
nameOrSignature: "revokeRole"
): TypedContractMethod<
[role: BytesLike, account: AddressLike],
[void],
"nonpayable"
>;
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: "supportsInterface"
): TypedContractMethod<[interfaceId: BytesLike], [boolean], "view">;
getFunction(
nameOrSignature: "syncChallenge"
): TypedContractMethod<[challengeId: BigNumberish], [bigint], "nonpayable">;
getFunction(
nameOrSignature: "upgradeToAndCall"
): TypedContractMethod<
[newImplementation: AddressLike, data: BytesLike],
[void],
"payable"
>;
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<
Challen