{
  "_format": "hh-sol-artifact-1",
  "contractName": "IChallenges",
  "sourceName": "contracts/interfaces/IChallenges.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "AlreadyClaimed",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "invitee",
          "type": "address"
        }
      ],
      "name": "AlreadyInvited",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "participant",
          "type": "address"
        }
      ],
      "name": "AlreadyParticipating",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "AlreadyRefunded",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "provided",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "minimum",
          "type": "uint256"
        }
      ],
      "name": "BetAmountBelowMinimum",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        }
      ],
      "name": "ChallengeAlreadyCompleted",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        }
      ],
      "name": "ChallengeDoesNotExist",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "endRound",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "currentRound",
          "type": "uint256"
        }
      ],
      "name": "ChallengeEnded",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        },
        {
          "internalType": "enum ChallengeTypes.ChallengeStatus",
          "name": "status",
          "type": "uint8"
        }
      ],
      "name": "ChallengeInvalidStatus",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "endRound",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "currentRound",
          "type": "uint256"
        }
      ],
      "name": "ChallengeNotEnded",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        }
      ],
      "name": "ChallengeNotPending",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "appId",
          "type": "bytes32"
        }
      ],
      "name": "ChallengeUnknownApp",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "user",
          "type": "address"
        }
      ],
      "name": "ChallengesUnauthorizedUser",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        }
      ],
      "name": "CreatorCannotJoin",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        }
      ],
      "name": "CreatorCannotLeave",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "provided",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "maximum",
          "type": "uint256"
        }
      ],
      "name": "DescriptionTooLong",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "appId",
          "type": "bytes32"
        }
      ],
      "name": "DuplicateApp",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "provided",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "maximum",
          "type": "uint256"
        }
      ],
      "name": "ImageURITooLong",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "stakeAmount",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "numWinners",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "minPrizePerWinner",
          "type": "uint256"
        }
      ],
      "name": "InsufficientPrizePerWinner",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "available",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "requested",
          "type": "uint256"
        }
      ],
      "name": "InsufficientWithdrawableFunds",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidAmount",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidChallengeTypeForCombo",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "startRound",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "endRound",
          "type": "uint256"
        }
      ],
      "name": "InvalidEndRound",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "startRound",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "currentRound",
          "type": "uint256"
        }
      ],
      "name": "InvalidStartRound",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidTypeConfiguration",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "provided",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "maximum",
          "type": "uint256"
        }
      ],
      "name": "MaxChallengeDurationExceeded",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "provided",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "maximum",
          "type": "uint256"
        }
      ],
      "name": "MaxParticipantsExceeded",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "provided",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "maximum",
          "type": "uint256"
        }
      ],
      "name": "MaxSelectedAppsExceeded",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "provided",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "maximum",
          "type": "uint256"
        }
      ],
      "name": "MetadataURITooLong",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        }
      ],
      "name": "NotASplitWinChallenge",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "actions",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "threshold",
          "type": "uint256"
        }
      ],
      "name": "NotEligibleForSplitWin",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "participant",
          "type": "address"
        }
      ],
      "name": "NotInvited",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "participant",
          "type": "address"
        }
      ],
      "name": "NotParticipating",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        },
        {
          "internalType": "string",
          "name": "reason",
          "type": "string"
        }
      ],
      "name": "NotVerifiedPerson",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "NothingToClaim",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "NothingToRefund",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        }
      ],
      "name": "SplitWinCannotComplete",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        }
      ],
      "name": "SplitWinSlotsExhausted",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "provided",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "maximum",
          "type": "uint256"
        }
      ],
      "name": "ThresholdTooHigh",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "provided",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "maximum",
          "type": "uint256"
        }
      ],
      "name": "TitleTooLong",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "TransferFailed",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ZeroAddress",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "admin",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "recipient",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "AdminWithdrawal",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "oldAddress",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newAddress",
          "type": "address"
        }
      ],
      "name": "B3TRAddressUpdated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        }
      ],
      "name": "ChallengeActivated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        }
      ],
      "name": "ChallengeCancelled",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "enum ChallengeTypes.SettlementMode",
          "name": "settlementMode",
          "type": "uint8"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "bestScore",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "bestCount",
          "type": "uint256"
        }
      ],
      "name": "ChallengeCompleted",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "creator",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "endRound",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "enum ChallengeTypes.ChallengeKind",
          "name": "kind",
          "type": "uint8"
        },
        {
          "indexed": false,
          "internalType": "enum ChallengeTypes.ChallengeVisibility",
          "name": "visibility",
          "type": "uint8"
        },
        {
          "indexed": false,
          "internalType": "enum ChallengeTypes.ChallengeType",
          "name": "challengeType",
          "type": "uint8"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "stakeAmount",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "startRound",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "threshold",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "bool",
          "name": "allApps",
          "type": "bool"
        },
        {
          "indexed": false,
          "internalType": "bytes32[]",
          "name": "selectedApps",
          "type": "bytes32[]"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "title",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "description",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "imageURI",
          "type": "string"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "metadataURI",
          "type": "string"
        }
      ],
      "name": "ChallengeCreated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "participant",
          "type": "address"
        }
      ],
      "name": "ChallengeDeclined",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        }
      ],
      "name": "ChallengeInvalidated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "invitee",
          "type": "address"
        }
      ],
      "name": "ChallengeInviteAdded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "participant",
          "type": "address"
        }
      ],
      "name": "ChallengeJoined",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "participant",
          "type": "address"
        }
      ],
      "name": "ChallengeLeft",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "account",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "ChallengePayoutClaimed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "account",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "ChallengeRefundClaimed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "oldValue",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "newValue",
          "type": "uint256"
        }
      ],
      "name": "MaxChallengeDurationUpdated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "oldValue",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "newValue",
          "type": "uint256"
        }
      ],
      "name": "MaxParticipantsUpdated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "oldValue",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "newValue",
          "type": "uint256"
        }
      ],
      "name": "MaxSelectedAppsUpdated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "oldValue",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "newValue",
          "type": "uint256"
        }
      ],
      "name": "MinBetAmountUpdated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "numWinners",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "prizePerWinner",
          "type": "uint256"
        }
      ],
      "name": "SplitWinConfigured",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "creator",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "SplitWinCreatorRefunded",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "winner",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "prize",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "actions",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "winnersClaimed",
          "type": "uint256"
        }
      ],
      "name": "SplitWinPrizeClaimed",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "oldAddress",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newAddress",
          "type": "address"
        }
      ],
      "name": "VeBetterPassportAddressUpdated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "oldAddress",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newAddress",
          "type": "address"
        }
      ],
      "name": "X2EarnAppsAddressUpdated",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "oldAddress",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newAddress",
          "type": "address"
        }
      ],
      "name": "XAllocationVotingAddressUpdated",
      "type": "event"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        },
        {
          "internalType": "address[]",
          "name": "invitees",
          "type": "address[]"
        }
      ],
      "name": "addInvites",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        }
      ],
      "name": "cancelChallenge",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "challengeCount",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        }
      ],
      "name": "claimChallengePayout",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        }
      ],
      "name": "claimChallengeRefund",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        }
      ],
      "name": "claimCreatorSplitWinRefund",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        }
      ],
      "name": "claimSplitWinPrize",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        }
      ],
      "name": "completeChallenge",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "enum ChallengeTypes.ChallengeKind",
              "name": "kind",
              "type": "uint8"
            },
            {
              "internalType": "enum ChallengeTypes.ChallengeVisibility",
              "name": "visibility",
              "type": "uint8"
            },
            {
              "internalType": "enum ChallengeTypes.ChallengeType",
              "name": "challengeType",
              "type": "uint8"
            },
            {
              "internalType": "uint256",
              "name": "stakeAmount",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "startRound",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "endRound",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "threshold",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "numWinners",
              "type": "uint256"
            },
            {
              "internalType": "bytes32[]",
              "name": "appIds",
              "type": "bytes32[]"
            },
            {
              "internalType": "address[]",
              "name": "invitees",
              "type": "address[]"
            },
            {
              "internalType": "string",
              "name": "title",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "description",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "imageURI",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "metadataURI",
              "type": "string"
            }
          ],
          "internalType": "struct ChallengeTypes.CreateChallengeParams",
          "name": "params",
          "type": "tuple"
        }
      ],
      "name": "createChallenge",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        }
      ],
      "name": "declineChallenge",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        }
      ],
      "name": "getChallenge",
      "outputs": [
        {
          "components": [
            {
              "internalType": "uint256",
              "name": "challengeId",
              "type": "uint256"
            },
            {
              "internalType": "enum ChallengeTypes.ChallengeKind",
              "name": "kind",
              "type": "uint8"
            },
            {
              "internalType": "enum ChallengeTypes.ChallengeVisibility",
              "name": "visibility",
              "type": "uint8"
            },
            {
              "internalType": "enum ChallengeTypes.ChallengeType",
              "name": "challengeType",
              "type": "uint8"
            },
            {
              "internalType": "enum ChallengeTypes.ChallengeStatus",
              "name": "status",
              "type": "uint8"
            },
            {
              "internalType": "enum ChallengeTypes.SettlementMode",
              "name": "settlementMode",
              "type": "uint8"
            },
            {
              "internalType": "address",
              "name": "creator",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "stakeAmount",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "startRound",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "endRound",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "duration",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "threshold",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "numWinners",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "winnersClaimed",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "prizePerWinner",
              "type": "uint256"
            },
            {
              "internalType": "bool",
              "name": "allApps",
              "type": "bool"
            },
            {
              "internalType": "uint256",
              "name": "totalPrize",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "participantCount",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "invitedCount",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "declinedCount",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "selectedAppsCount",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "winnersCount",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "bestScore",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "bestCount",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "payoutsClaimed",
              "type": "uint256"
            },
            {
              "internalType": "string",
              "name": "title",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "description",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "imageURI",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "metadataURI",
              "type": "string"
            }
          ],
          "internalType": "struct ChallengeTypes.ChallengeView",
          "name": "",
          "type": "tuple"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        }
      ],
      "name": "getChallengeDeclined",
      "outputs": [
        {
          "internalType": "address[]",
          "name": "",
          "type": "address[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        }
      ],
      "name": "getChallengeInvited",
      "outputs": [
        {
          "internalType": "address[]",
          "name": "",
          "type": "address[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        }
      ],
      "name": "getChallengeParticipants",
      "outputs": [
        {
          "internalType": "address[]",
          "name": "",
          "type": "address[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        }
      ],
      "name": "getChallengeSelectedApps",
      "outputs": [
        {
          "internalType": "bytes32[]",
          "name": "",
          "type": "bytes32[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        }
      ],
      "name": "getChallengeStatus",
      "outputs": [
        {
          "internalType": "enum ChallengeTypes.ChallengeStatus",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        }
      ],
      "name": "getChallengeWinners",
      "outputs": [
        {
          "internalType": "address[]",
          "name": "",
          "type": "address[]"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "participant",
          "type": "address"
        }
      ],
      "name": "getParticipantActions",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "getParticipantStatus",
      "outputs": [
        {
          "internalType": "enum ChallengeTypes.ParticipantStatus",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "components": [
            {
              "internalType": "address",
              "name": "b3trAddress",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "veBetterPassportAddress",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "xAllocationVotingAddress",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "x2EarnAppsAddress",
              "type": "address"
            },
            {
              "internalType": "uint256",
              "name": "maxChallengeDuration",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "maxSelectedApps",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "maxParticipants",
              "type": "uint256"
            },
            {
              "internalType": "uint256",
              "name": "minBetAmount",
              "type": "uint256"
            }
          ],
          "internalType": "struct ChallengeTypes.InitializationData",
          "name": "data",
          "type": "tuple"
        },
        {
          "components": [
            {
              "internalType": "address",
              "name": "admin",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "upgrader",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "contractsAddressManager",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "settingsManager",
              "type": "address"
            }
          ],
          "internalType": "struct ChallengeTypes.InitializationRoleData",
          "name": "roles",
          "type": "tuple"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "isInvitationEligible",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "account",
          "type": "address"
        }
      ],
      "name": "isSplitWinWinner",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        }
      ],
      "name": "joinChallenge",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        }
      ],
      "name": "leaveChallenge",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "maxChallengeDuration",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "maxParticipants",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "maxSelectedApps",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "minBetAmount",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newAddress",
          "type": "address"
        }
      ],
      "name": "setB3TRAddress",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "newValue",
          "type": "uint256"
        }
      ],
      "name": "setMaxChallengeDuration",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "newValue",
          "type": "uint256"
        }
      ],
      "name": "setMaxParticipants",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "newValue",
          "type": "uint256"
        }
      ],
      "name": "setMaxSelectedApps",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "newValue",
          "type": "uint256"
        }
      ],
      "name": "setMinBetAmount",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newAddress",
          "type": "address"
        }
      ],
      "name": "setVeBetterPassportAddress",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newAddress",
          "type": "address"
        }
      ],
      "name": "setX2EarnAppsAddress",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newAddress",
          "type": "address"
        }
      ],
      "name": "setXAllocationVotingAddress",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "challengeId",
          "type": "uint256"
        }
      ],
      "name": "syncChallenge",
      "outputs": [
        {
          "internalType": "enum ChallengeTypes.ChallengeStatus",
          "name": "",
          "type": "uint8"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "version",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "pure",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "withdraw",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x",
  "deployedBytecode": "0x",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
