[
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_drawingDurationInSeconds",
        "type": "uint256"
      },
      {
        "internalType": "uint8",
        "name": "_normalBallMax",
        "type": "uint8"
      },
      {
        "internalType": "uint8",
        "name": "_bonusballMin",
        "type": "uint8"
      },
      {
        "internalType": "uint8",
        "name": "_bonusballSoftCap",
        "type": "uint8"
      },
      {
        "internalType": "uint8",
        "name": "_bonusballHardCap",
        "type": "uint8"
      },
      {
        "internalType": "uint256",
        "name": "_lpEdgeTarget",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_reserveRatio",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_referralFee",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_referralWinShare",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_ticketPrice",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_maxReferrers",
        "type": "uint256"
      },
      {
        "internalType": "uint32",
        "name": "_entropyBaseGasLimit",
        "type": "uint32"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "inputs": [],
    "name": "ContractAlreadyInitialized",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "ContractNotInitialized",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "DepositAmountZero",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "DrawingNotDue",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "EmergencyEnabled",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "EmergencyModeAlreadyEnabled",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "EmergencyModeNotEngaged",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InsufficientEntropyFee",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidBonusball",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidBonusballHardCap",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidBonusballMin",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidBonusballSoftCap",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidDrawingDuration",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidDrawingId",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidGovernancePoolCap",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidLpEdgeTarget",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidMaxReferrers",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidNormalBallMax",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidNormalsCount",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidProtocolFee",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidRecipient",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidReferralFee",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidReferralSplitBps",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidReferralWinShare",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidReserveRatio",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidTicketCount",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "InvalidTicketPrice",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "JackpotAlreadyInitialized",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "JackpotLocked",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "JackpotNotInitialized",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "JackpotNotLocked",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "LPDepositsAlreadyInitialized",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "LPDepositsNotInitialized",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "NoLPDeposits",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "NoPrizePool",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "NoReferralFeesToClaim",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "NoTicketsProvided",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "NoTicketsToClaim",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "NotTicketOwner",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "owner",
        "type": "address"
      }
    ],
    "name": "OwnableInvalidOwner",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "account",
        "type": "address"
      }
    ],
    "name": "OwnableUnauthorizedAccount",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "ReentrancyGuardReentrantCall",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "ReferralSplitLengthMismatch",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "ReferralSplitSumInvalid",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "token",
        "type": "address"
      }
    ],
    "name": "SafeERC20FailedOperation",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "TicketFromFutureDrawing",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "TicketNotEligibleForRefund",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "TicketPurchasesAlreadyDisabled",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "TicketPurchasesAlreadyEnabled",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "TicketPurchasesDisabled",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "TooManyReferrers",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "Uint8OutOfBounds",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "UnauthorizedEntropyCaller",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "WithdrawAmountZero",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "ZeroAddress",
    "type": "error"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "uncappedValue",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint8",
        "name": "hardCapValue",
        "type": "uint8"
      }
    ],
    "name": "BonusballHardCapHit",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint8",
        "name": "oldValue",
        "type": "uint8"
      },
      {
        "indexed": false,
        "internalType": "uint8",
        "name": "newValue",
        "type": "uint8"
      }
    ],
    "name": "BonusballHardCapUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint8",
        "name": "oldValue",
        "type": "uint8"
      },
      {
        "indexed": false,
        "internalType": "uint8",
        "name": "newValue",
        "type": "uint8"
      }
    ],
    "name": "BonusballMinUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint8",
        "name": "oldValue",
        "type": "uint8"
      },
      {
        "indexed": false,
        "internalType": "uint8",
        "name": "newValue",
        "type": "uint8"
      }
    ],
    "name": "BonusballSoftCapUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "oldValue",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "newValue",
        "type": "uint256"
      }
    ],
    "name": "DrawingDurationUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      }
    ],
    "name": "EmergencyModeDisabled",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      }
    ],
    "name": "EmergencyModeEnabled",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint32",
        "name": "oldValue",
        "type": "uint32"
      },
      {
        "indexed": false,
        "internalType": "uint32",
        "name": "newValue",
        "type": "uint32"
      }
    ],
    "name": "EntropyBaseGasLimitUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "oldEntropy",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "newEntropy",
        "type": "address"
      }
    ],
    "name": "EntropyUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint32",
        "name": "oldValue",
        "type": "uint32"
      },
      {
        "indexed": false,
        "internalType": "uint32",
        "name": "newValue",
        "type": "uint32"
      }
    ],
    "name": "EntropyVariableGasLimitUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "oldValue",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "newValue",
        "type": "uint256"
      }
    ],
    "name": "GovernancePoolCapUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      }
    ],
    "name": "JackpotLocked",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "entropyGasLimit",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "fee",
        "type": "uint256"
      }
    ],
    "name": "JackpotRunRequested",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "lpEarnings",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "userWinnings",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint8",
        "name": "winningBonusball",
        "type": "uint8"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "winningNumbers",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "newDrawingAccumulator",
        "type": "uint256"
      }
    ],
    "name": "JackpotSettled",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      }
    ],
    "name": "JackpotUnlocked",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "LpEarningsUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "oldValue",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "newValue",
        "type": "uint256"
      }
    ],
    "name": "LpEdgeTargetUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "oldValue",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "newValue",
        "type": "uint256"
      }
    ],
    "name": "MaxReferrersUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "lpPoolTotal",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "prizePool",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "ticketPrice",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "normalBallMax",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint8",
        "name": "bonusballMax",
        "type": "uint8"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "referralWinShare",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "drawingTime",
        "type": "uint256"
      }
    ],
    "name": "NewDrawingInitialized",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint8",
        "name": "oldValue",
        "type": "uint8"
      },
      {
        "indexed": false,
        "internalType": "uint8",
        "name": "newValue",
        "type": "uint8"
      }
    ],
    "name": "NormalBallMaxUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "previousOwner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "OwnershipTransferStarted",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "previousOwner",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "OwnershipTransferred",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "oldPayoutCalculator",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "address",
        "name": "newPayoutCalculator",
        "type": "address"
      }
    ],
    "name": "PayoutCalculatorUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "oldAddress",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "newAddress",
        "type": "address"
      }
    ],
    "name": "ProtocolFeeAddressUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "ProtocolFeeCollected",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "oldValue",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "newValue",
        "type": "uint256"
      }
    ],
    "name": "ProtocolFeeThresholdUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "oldValue",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "newValue",
        "type": "uint256"
      }
    ],
    "name": "ProtocolFeeUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "referrer",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "ReferralFeeCollected",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "oldValue",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "newValue",
        "type": "uint256"
      }
    ],
    "name": "ReferralFeeUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "userAddress",
        "type": "address"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "amount",
        "type": "uint256"
      }
    ],
    "name": "ReferralFeesClaimed",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "bytes32",
        "name": "referralSchemeId",
        "type": "bytes32"
      },
      {
        "indexed": false,
        "internalType": "address[]",
        "name": "referrers",
        "type": "address[]"
      },
      {
        "indexed": false,
        "internalType": "uint256[]",
        "name": "referralSplit",
        "type": "uint256[]"
      }
    ],
    "name": "ReferralSchemeAdded",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "oldValue",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "newValue",
        "type": "uint256"
      }
    ],
    "name": "ReferralWinShareUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "oldValue",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "newValue",
        "type": "uint256"
      }
    ],
    "name": "ReserveRatioUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "buyer",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "address",
        "name": "recipient",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "currentDrawingId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "numberOfTickets",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "lpEarnings",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "referralFees",
        "type": "uint256"
      }
    ],
    "name": "TicketOrderProcessed",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "oldValue",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "newValue",
        "type": "uint256"
      }
    ],
    "name": "TicketPriceUpdated",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "recipient",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "currentDrawingId",
        "type": "uint256"
      },
      {
        "indexed": true,
        "internalType": "bytes32",
        "name": "source",
        "type": "bytes32"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "userTicketId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint8[]",
        "name": "normals",
        "type": "uint8[]"
      },
      {
        "indexed": false,
        "internalType": "uint8",
        "name": "bonusball",
        "type": "uint8"
      },
      {
        "indexed": false,
        "internalType": "bytes32",
        "name": "referralScheme",
        "type": "bytes32"
      }
    ],
    "name": "TicketPurchased",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      }
    ],
    "name": "TicketPurchasesDisabled",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      }
    ],
    "name": "TicketPurchasesEnabled",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "ticketId",
        "type": "uint256"
      }
    ],
    "name": "TicketRefunded",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "address",
        "name": "userAddress",
        "type": "address"
      },
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "userTicketId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "matchedNormals",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "bool",
        "name": "bonusballMatch",
        "type": "bool"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "winningsAmount",
        "type": "uint256"
      }
    ],
    "name": "TicketWinningsClaimed",
    "type": "event"
  },
  {
    "anonymous": false,
    "inputs": [
      {
        "indexed": true,
        "internalType": "uint256",
        "name": "drawingId",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256[]",
        "name": "winningNormals",
        "type": "uint256[]"
      },
      {
        "indexed": false,
        "internalType": "uint256",
        "name": "winningBonusball",
        "type": "uint256"
      },
      {
        "indexed": false,
        "internalType": "uint256[]",
        "name": "uniqueResult",
        "type": "uint256[]"
      },
      {
        "indexed": false,
        "internalType": "uint256[]",
        "name": "dupResult",
        "type": "uint256[]"
      }
    ],
    "name": "WinnersCalculated",
    "type": "event"
  },
  {
    "inputs": [],
    "name": "acceptOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "allowTicketPurchases",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "bonusballHardCap",
    "outputs": [
      {
        "internalType": "uint8",
        "name": "",
        "type": "uint8"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "bonusballMin",
    "outputs": [
      {
        "internalType": "uint8",
        "name": "",
        "type": "uint8"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "bonusballSoftCap",
    "outputs": [
      {
        "internalType": "uint8",
        "name": "",
        "type": "uint8"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "components": [
          {
            "internalType": "uint8[]",
            "name": "normals",
            "type": "uint8[]"
          },
          {
            "internalType": "uint8",
            "name": "bonusball",
            "type": "uint8"
          }
        ],
        "internalType": "struct IJackpot.Ticket[]",
        "name": "_tickets",
        "type": "tuple[]"
      },
      {
        "internalType": "address",
        "name": "_recipient",
        "type": "address"
      },
      {
        "internalType": "address[]",
        "name": "_referrers",
        "type": "address[]"
      },
      {
        "internalType": "uint256[]",
        "name": "_referralSplit",
        "type": "uint256[]"
      },
      {
        "internalType": "bytes32",
        "name": "_source",
        "type": "bytes32"
      }
    ],
    "name": "buyTickets",
    "outputs": [
      {
        "internalType": "uint256[]",
        "name": "ticketIds",
        "type": "uint256[]"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_drawingId",
        "type": "uint256"
      },
      {
        "components": [
          {
            "internalType": "uint8[]",
            "name": "normals",
            "type": "uint8[]"
          },
          {
            "internalType": "uint8",
            "name": "bonusball",
            "type": "uint8"
          }
        ],
        "internalType": "struct IJackpot.Ticket[]",
        "name": "_tickets",
        "type": "tuple[]"
      }
    ],
    "name": "checkIfTicketsBought",
    "outputs": [
      {
        "internalType": "bool[]",
        "name": "",
        "type": "bool[]"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "claimReferralFees",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256[]",
        "name": "_userTicketIds",
        "type": "uint256[]"
      }
    ],
    "name": "claimWinnings",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "currentDrawingId",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "disableTicketPurchases",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "drawingDurationInSeconds",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "emergencyMode",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256[]",
        "name": "_userTicketIds",
        "type": "uint256[]"
      }
    ],
    "name": "emergencyRefundTickets",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "emergencyWithdrawLP",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "enableEmergencyMode",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "enableTicketPurchases",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "entropy",
    "outputs": [
      {
        "internalType": "contract IScaledEntropyProvider",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "entropyBaseGasLimit",
    "outputs": [
      {
        "internalType": "uint32",
        "name": "",
        "type": "uint32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "entropyVariableGasLimit",
    "outputs": [
      {
        "internalType": "uint32",
        "name": "",
        "type": "uint32"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "finalizeWithdraw",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_drawingId",
        "type": "uint256"
      }
    ],
    "name": "getDrawingState",
    "outputs": [
      {
        "components": [
          {
            "internalType": "uint256",
            "name": "prizePool",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "ticketPrice",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "edgePerTicket",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "referralWinShare",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "referralFee",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "globalTicketsBought",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "lpEarnings",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "drawingTime",
            "type": "uint256"
          },
          {
            "internalType": "uint256",
            "name": "winningTicket",
            "type": "uint256"
          },
          {
            "internalType": "uint8",
            "name": "ballMax",
            "type": "uint8"
          },
          {
            "internalType": "uint8",
            "name": "bonusballMax",
            "type": "uint8"
          },
          {
            "internalType": "contract IPayoutCalculator",
            "name": "payoutCalculator",
            "type": "address"
          },
          {
            "internalType": "bool",
            "name": "jackpotLock",
            "type": "bool"
          }
        ],
        "internalType": "struct IJackpot.DrawingState",
        "name": "",
        "type": "tuple"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_drawingId",
        "type": "uint256"
      }
    ],
    "name": "getDrawingTierPayouts",
    "outputs": [
      {
        "internalType": "uint256[12]",
        "name": "",
        "type": "uint256[12]"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "getEntropyCallbackFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "fee",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "_referralSchemeId",
        "type": "bytes32"
      }
    ],
    "name": "getReferralScheme",
    "outputs": [
      {
        "components": [
          {
            "internalType": "address[]",
            "name": "referrers",
            "type": "address[]"
          },
          {
            "internalType": "uint256[]",
            "name": "referralSplit",
            "type": "uint256[]"
          }
        ],
        "internalType": "struct Jackpot.ReferralScheme",
        "name": "",
        "type": "tuple"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_drawingId",
        "type": "uint256"
      },
      {
        "internalType": "uint8[]",
        "name": "_normals",
        "type": "uint8[]"
      },
      {
        "internalType": "uint8",
        "name": "_bonusball",
        "type": "uint8"
      }
    ],
    "name": "getSubsetCount",
    "outputs": [
      {
        "components": [
          {
            "internalType": "uint128",
            "name": "count",
            "type": "uint128"
          },
          {
            "internalType": "uint128",
            "name": "dupCount",
            "type": "uint128"
          }
        ],
        "internalType": "struct TicketComboTracker.ComboCount",
        "name": "",
        "type": "tuple"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256[]",
        "name": "_ticketIds",
        "type": "uint256[]"
      }
    ],
    "name": "getTicketTierIds",
    "outputs": [
      {
        "internalType": "uint256[]",
        "name": "tierIds",
        "type": "uint256[]"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_drawingId",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_packedTicket",
        "type": "uint256"
      }
    ],
    "name": "getUnpackedTicket",
    "outputs": [
      {
        "internalType": "uint8[]",
        "name": "normals",
        "type": "uint8[]"
      },
      {
        "internalType": "uint8",
        "name": "bonusball",
        "type": "uint8"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "governancePoolCap",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "contract IERC20",
        "name": "_usdc",
        "type": "address"
      },
      {
        "internalType": "contract IJackpotLPManager",
        "name": "_jackpotLPManager",
        "type": "address"
      },
      {
        "internalType": "contract IJackpotTicketNFT",
        "name": "_jackpotNFT",
        "type": "address"
      },
      {
        "internalType": "contract IScaledEntropyProvider",
        "name": "_entropy",
        "type": "address"
      },
      {
        "internalType": "contract IPayoutCalculator",
        "name": "_payoutCalculator",
        "type": "address"
      },
      {
        "internalType": "address",
        "name": "_protocolFeeAddress",
        "type": "address"
      },
      {
        "internalType": "uint256",
        "name": "_protocolFee",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "_protocolFeeThreshold",
        "type": "uint256"
      }
    ],
    "name": "initialize",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_initialDrawingTime",
        "type": "uint256"
      }
    ],
    "name": "initializeJackpot",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_governancePoolCap",
        "type": "uint256"
      }
    ],
    "name": "initializeLPDeposits",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "initialized",
    "outputs": [
      {
        "internalType": "bool",
        "name": "",
        "type": "bool"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_amountToWithdrawInShares",
        "type": "uint256"
      }
    ],
    "name": "initiateWithdraw",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "jackpotLPManager",
    "outputs": [
      {
        "internalType": "contract IJackpotLPManager",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "jackpotNFT",
    "outputs": [
      {
        "internalType": "contract IJackpotTicketNFT",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "lockJackpot",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_amountToDeposit",
        "type": "uint256"
      }
    ],
    "name": "lpDeposit",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "lpEdgeTarget",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "maxReferrers",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "normalBallMax",
    "outputs": [
      {
        "internalType": "uint8",
        "name": "",
        "type": "uint8"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "owner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "payoutCalculator",
    "outputs": [
      {
        "internalType": "contract IPayoutCalculator",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "pendingOwner",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "protocolFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "protocolFeeAddress",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "protocolFeeThreshold",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "referralFee",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "name": "referralFees",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "referralWinShare",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "renounceOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "reserveRatio",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "runJackpot",
    "outputs": [],
    "stateMutability": "payable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "bytes32",
        "name": "",
        "type": "bytes32"
      },
      {
        "internalType": "uint256[][]",
        "name": "_randomNumbers",
        "type": "uint256[][]"
      },
      {
        "internalType": "bytes",
        "name": "",
        "type": "bytes"
      }
    ],
    "name": "scaledEntropyCallback",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint8",
        "name": "_bonusballHardCap",
        "type": "uint8"
      }
    ],
    "name": "setBonusballHardCap",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint8",
        "name": "_bonusballMin",
        "type": "uint8"
      }
    ],
    "name": "setBonusballMin",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint8",
        "name": "_bonusballSoftCap",
        "type": "uint8"
      }
    ],
    "name": "setBonusballSoftCap",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_drawingDurationInSeconds",
        "type": "uint256"
      }
    ],
    "name": "setDrawingDurationInSeconds",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "contract IScaledEntropyProvider",
        "name": "_entropy",
        "type": "address"
      }
    ],
    "name": "setEntropy",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint32",
        "name": "_entropyBaseGasLimit",
        "type": "uint32"
      }
    ],
    "name": "setEntropyBaseGasLimit",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint32",
        "name": "_entropyVariableGasLimit",
        "type": "uint32"
      }
    ],
    "name": "setEntropyVariableGasLimit",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_governancePoolCap",
        "type": "uint256"
      }
    ],
    "name": "setGovernancePoolCap",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_lpEdgeTarget",
        "type": "uint256"
      }
    ],
    "name": "setLpEdgeTarget",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_maxReferrers",
        "type": "uint256"
      }
    ],
    "name": "setMaxReferrers",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint8",
        "name": "_normalBallMax",
        "type": "uint8"
      }
    ],
    "name": "setNormalBallMax",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "contract IPayoutCalculator",
        "name": "_payoutCalculator",
        "type": "address"
      }
    ],
    "name": "setPayoutCalculator",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_protocolFee",
        "type": "uint256"
      }
    ],
    "name": "setProtocolFee",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "_protocolFeeAddress",
        "type": "address"
      }
    ],
    "name": "setProtocolFeeAddress",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_protocolFeeThreshold",
        "type": "uint256"
      }
    ],
    "name": "setProtocolFeeThreshold",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_referralFee",
        "type": "uint256"
      }
    ],
    "name": "setReferralFee",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_referralWinShare",
        "type": "uint256"
      }
    ],
    "name": "setReferralWinShare",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_reserveRatio",
        "type": "uint256"
      }
    ],
    "name": "setReserveRatio",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "_ticketPrice",
        "type": "uint256"
      }
    ],
    "name": "setTicketPrice",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "ticketPrice",
    "outputs": [
      {
        "internalType": "uint256",
        "name": "",
        "type": "uint256"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  },
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "newOwner",
        "type": "address"
      }
    ],
    "name": "transferOwnership",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "unlockJackpot",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "usdc",
    "outputs": [
      {
        "internalType": "contract IERC20",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  }
]
