{
  "_format": "hh-sol-artifact-1",
  "contractName": "Rand",
  "sourceName": "contracts/6.12/Rand.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_maxWhitelistSpot",
          "type": "uint256"
        },
        {
          "internalType": "address",
          "name": "_vrfCoordinator",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "_link",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "_keyHash",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "_vrfFee",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [],
      "name": "LogAlreadyMark",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "randIndex",
          "type": "uint256"
        }
      ],
      "name": "LogMark",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "caller",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "bytes32",
          "name": "requestId",
          "type": "bytes32"
        }
      ],
      "name": "LogRand",
      "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"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_randTimes",
          "type": "uint256"
        }
      ],
      "name": "draw",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "isDraw",
      "outputs": [
        {
          "internalType": "bool",
          "name": "",
          "type": "bool"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address[]",
          "name": "_eligibleAddress",
          "type": "address[]"
        }
      ],
      "name": "issueTicket",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "maxWhitelistSpot",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "pendingRandom",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "requestId",
          "type": "bytes32"
        },
        {
          "internalType": "uint256",
          "name": "randomness",
          "type": "uint256"
        }
      ],
      "name": "rawFulfillRandomness",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "ticketInfo",
      "outputs": [
        {
          "internalType": "address",
          "name": "owner",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "mark",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "whitelistTaken",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "to",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "amount",
          "type": "uint256"
        }
      ],
      "name": "withdrawLINK",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60e060405234801561001057600080fd5b5060405161119a38038061119a83398101604081905261002f916100df565b6001600160601b0319606085811b821660a05284901b1660805260006100536100be565b600180546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600160025560c0949094526003555050600455600060085561012f565b3390565b80516001600160a01b03811681146100d957600080fd5b92915050565b600080600080600060a086880312156100f6578081fd5b8551945061010787602088016100c2565b935061011687604088016100c2565b6060870151608090970151959894975095949392505050565b60805160601c60a05160601c60c05161102061017a6000398061019d528061022c52806102795250806104a4528061085e5250806102d95280610541528061082f52506110206000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806394985ddd1161007157806394985ddd14610119578063983fbab21461012c578063b6ee99241461013f578063f2fde38b14610152578063f84fce5614610165578063fa7130831461017a576100b4565b80632b73b725146100b95780633b304147146100d757806357c4438c146100ec578063658304c8146100f4578063715018a6146100fc5780638da5cb5b14610104575b600080fd5b6100c161019b565b6040516100ce9190610fe1565b60405180910390f35b6100ea6100e5366004610c65565b6101bf565b005b6100c16103f5565b6100c16103fb565b6100ea610401565b61010c61048a565b6040516100ce9190610ca3565b6100ea610127366004610c44565b610499565b6100ea61013a366004610b8b565b6104eb565b6100ea61014d366004610bb5565b6105cf565b6100ea610160366004610b69565b6106c0565b61016d610781565b6040516100ce9190610d3a565b61018d610188366004610c65565b61078a565b6040516100ce929190610cb7565b7f000000000000000000000000000000000000000000000000000000000000000081565b6101c76107bf565b6001600160a01b03166101d861048a565b6001600160a01b0316146102075760405162461bcd60e51b81526004016101fe90610f1f565b60405180910390fd5b600754156102275760405162461bcd60e51b81526004016101fe90610f8b565b6008547f00000000000000000000000000000000000000000000000000000000000000009061025690836107c3565b11156102745760405162461bcd60e51b81526004016101fe90610ddc565b6006547f0000000000000000000000000000000000000000000000000000000000000000106102b55760405162461bcd60e51b81526004016101fe90610ea7565b6004546102c290826107f1565b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a082319061030e903090600401610ca3565b60206040518083038186803b15801561032657600080fd5b505afa15801561033a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035e9190610c7d565b101561037c5760405162461bcd60e51b81526004016101fe90610fb8565b60055460ff16610394576005805460ff191660011790555b60005b818110156103f15760006103af60035460045461082b565b600780546001019055604051909150819033907fb06e85b18f77a86dfa9f65853ca79c2ea5a4121082e4d402818d4b479338f2e790600090a350600101610397565b5050565b60085481565b60075481565b6104096107bf565b6001600160a01b031661041a61048a565b6001600160a01b0316146104405760405162461bcd60e51b81526004016101fe90610f1f565b6001546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600180546001600160a01b0319169055565b6001546001600160a01b031690565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104e15760405162461bcd60e51b81526004016101fe90610f54565b6103f18282610971565b6104f36107bf565b6001600160a01b031661050461048a565b6001600160a01b03161461052a5760405162461bcd60e51b81526004016101fe90610f1f565b60405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906105789085908590600401610cb7565b602060405180830381600087803b15801561059257600080fd5b505af11580156105a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ca9190610c24565b505050565b6105d76107bf565b6001600160a01b03166105e861048a565b6001600160a01b03161461060e5760405162461bcd60e51b81526004016101fe90610f1f565b60055460ff16156106315760405162461bcd60e51b81526004016101fe90610d69565b8060005b818110156106ba576006604051806040016040528086868581811061065657fe5b905060200201602081019061066b9190610b69565b6001600160a01b0390811682526000602092830181905284546001808201875595825290839020845160029092020180546001600160a01b031916919092161781559101519082015501610635565b50505050565b6106c86107bf565b6001600160a01b03166106d961048a565b6001600160a01b0316146106ff5760405162461bcd60e51b81526004016101fe90610f1f565b6001600160a01b0381166107255760405162461bcd60e51b81526004016101fe90610d96565b6001546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b60055460ff1681565b6006818154811061079757fe5b6000918252602090912060029091020180546001909101546001600160a01b03909116915082565b3390565b6000828201838110156107e85760405162461bcd60e51b81526004016101fe90610e02565b90505b92915050565b600082610800575060006107eb565b8282028284828161080d57fe5b04146107e85760405162461bcd60e51b81526004016101fe90610ede565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634000aea07f000000000000000000000000000000000000000000000000000000000000000084866000604051602001610892929190610c95565b6040516020818303038152906040526040518463ffffffff1660e01b81526004016108bf93929190610cd0565b602060405180830381600087803b1580156108d957600080fd5b505af11580156108ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109119190610c24565b5060006109338460003060008089815260200190815260200160002054610a8d565b6000858152602081905260409020549091506109509060016107c3565b6000858152602081905260409020556109698482610ac7565b949350505050565b600654600090610982908390610afa565b90506006818154811061099157fe5b90600052602060002090600202016001015460001415610a45576001600682815481106109ba57fe5b9060005260206000209060020201600101819055506008600081548092919060010191905055507fa3cee0bc951e5632d7ec09983c6814031da97c1460583227be6844ea81571d8660068281548110610a0f57fe5b6000918252602090912060029091020154604051610a38916001600160a01b0316908490610cb7565b60405180910390a1610a6f565b6040517f135c1fbe13b2c5290fb00bdeebaf383b9bed654a68ab3d023eaee30fdec4223390600090a15b600754156105ca57600754610a85906001610b2a565b600755505050565b600084848484604051602001610aa69493929190610d45565b60408051601f19818403018152919052805160209091012095945050505050565b60008282604051602001610adc929190610c95565b60405160208183030381529060405280519060200120905092915050565b600081610b195760405162461bcd60e51b81526004016101fe90610e70565b818381610b2257fe5b069392505050565b600082821115610b4c5760405162461bcd60e51b81526004016101fe90610e39565b50900390565b80356001600160a01b03811681146107eb57600080fd5b600060208284031215610b7a578081fd5b610b848383610b52565b9392505050565b60008060408385031215610b9d578081fd5b610ba78484610b52565b946020939093013593505050565b60008060208385031215610bc7578182fd5b823567ffffffffffffffff80821115610bde578384fd5b818501915085601f830112610bf1578384fd5b813581811115610bff578485fd5b8660208083028501011115610c12578485fd5b60209290920196919550909350505050565b600060208284031215610c35578081fd5b815180151581146107e8578182fd5b60008060408385031215610c56578182fd5b50508035926020909101359150565b600060208284031215610c76578081fd5b5035919050565b600060208284031215610c8e578081fd5b5051919050565b918252602082015260400190565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b600060018060a01b038516825260208481840152606060408401528351806060850152825b81811015610d1157858101830151858201608001528201610cf5565b81811115610d225783608083870101525b50601f01601f19169290920160800195945050505050565b901515815260200190565b93845260208401929092526001600160a01b03166040830152606082015260800190565b6020808252601390820152726e6f206973737565206166746572206472617760681b604082015260600190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252600c908201526b1b9bc81b5bdc99481c985b9960a21b604082015260600190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601e908201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604082015260600190565b60208082526018908201527f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000604082015260600190565b6020808252601b908201527f7469636b6574496e666f2e6c656e67746820746f6f20736d616c6c0000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601f908201527f4f6e6c7920565246436f6f7264696e61746f722063616e2066756c66696c6c00604082015260600190565b602080825260139082015272736f6d652070656e64696e672072616e646f6d60681b604082015260600190565b6020808252600f908201526e6e6f7420656e6f756768204c494e4b60881b604082015260600190565b9081526020019056fea2646970667358221220b144bd762f75cb76e1732199c7d6aef9f44b9132cecc73d690f812253d64202664736f6c634300060c0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c806394985ddd1161007157806394985ddd14610119578063983fbab21461012c578063b6ee99241461013f578063f2fde38b14610152578063f84fce5614610165578063fa7130831461017a576100b4565b80632b73b725146100b95780633b304147146100d757806357c4438c146100ec578063658304c8146100f4578063715018a6146100fc5780638da5cb5b14610104575b600080fd5b6100c161019b565b6040516100ce9190610fe1565b60405180910390f35b6100ea6100e5366004610c65565b6101bf565b005b6100c16103f5565b6100c16103fb565b6100ea610401565b61010c61048a565b6040516100ce9190610ca3565b6100ea610127366004610c44565b610499565b6100ea61013a366004610b8b565b6104eb565b6100ea61014d366004610bb5565b6105cf565b6100ea610160366004610b69565b6106c0565b61016d610781565b6040516100ce9190610d3a565b61018d610188366004610c65565b61078a565b6040516100ce929190610cb7565b7f000000000000000000000000000000000000000000000000000000000000000081565b6101c76107bf565b6001600160a01b03166101d861048a565b6001600160a01b0316146102075760405162461bcd60e51b81526004016101fe90610f1f565b60405180910390fd5b600754156102275760405162461bcd60e51b81526004016101fe90610f8b565b6008547f00000000000000000000000000000000000000000000000000000000000000009061025690836107c3565b11156102745760405162461bcd60e51b81526004016101fe90610ddc565b6006547f0000000000000000000000000000000000000000000000000000000000000000106102b55760405162461bcd60e51b81526004016101fe90610ea7565b6004546102c290826107f1565b6040516370a0823160e01b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016906370a082319061030e903090600401610ca3565b60206040518083038186803b15801561032657600080fd5b505afa15801561033a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035e9190610c7d565b101561037c5760405162461bcd60e51b81526004016101fe90610fb8565b60055460ff16610394576005805460ff191660011790555b60005b818110156103f15760006103af60035460045461082b565b600780546001019055604051909150819033907fb06e85b18f77a86dfa9f65853ca79c2ea5a4121082e4d402818d4b479338f2e790600090a350600101610397565b5050565b60085481565b60075481565b6104096107bf565b6001600160a01b031661041a61048a565b6001600160a01b0316146104405760405162461bcd60e51b81526004016101fe90610f1f565b6001546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600180546001600160a01b0319169055565b6001546001600160a01b031690565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146104e15760405162461bcd60e51b81526004016101fe90610f54565b6103f18282610971565b6104f36107bf565b6001600160a01b031661050461048a565b6001600160a01b03161461052a5760405162461bcd60e51b81526004016101fe90610f1f565b60405163a9059cbb60e01b81526001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169063a9059cbb906105789085908590600401610cb7565b602060405180830381600087803b15801561059257600080fd5b505af11580156105a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105ca9190610c24565b505050565b6105d76107bf565b6001600160a01b03166105e861048a565b6001600160a01b03161461060e5760405162461bcd60e51b81526004016101fe90610f1f565b60055460ff16156106315760405162461bcd60e51b81526004016101fe90610d69565b8060005b818110156106ba576006604051806040016040528086868581811061065657fe5b905060200201602081019061066b9190610b69565b6001600160a01b0390811682526000602092830181905284546001808201875595825290839020845160029092020180546001600160a01b031916919092161781559101519082015501610635565b50505050565b6106c86107bf565b6001600160a01b03166106d961048a565b6001600160a01b0316146106ff5760405162461bcd60e51b81526004016101fe90610f1f565b6001600160a01b0381166107255760405162461bcd60e51b81526004016101fe90610d96565b6001546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b60055460ff1681565b6006818154811061079757fe5b6000918252602090912060029091020180546001909101546001600160a01b03909116915082565b3390565b6000828201838110156107e85760405162461bcd60e51b81526004016101fe90610e02565b90505b92915050565b600082610800575060006107eb565b8282028284828161080d57fe5b04146107e85760405162461bcd60e51b81526004016101fe90610ede565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316634000aea07f000000000000000000000000000000000000000000000000000000000000000084866000604051602001610892929190610c95565b6040516020818303038152906040526040518463ffffffff1660e01b81526004016108bf93929190610cd0565b602060405180830381600087803b1580156108d957600080fd5b505af11580156108ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109119190610c24565b5060006109338460003060008089815260200190815260200160002054610a8d565b6000858152602081905260409020549091506109509060016107c3565b6000858152602081905260409020556109698482610ac7565b949350505050565b600654600090610982908390610afa565b90506006818154811061099157fe5b90600052602060002090600202016001015460001415610a45576001600682815481106109ba57fe5b9060005260206000209060020201600101819055506008600081548092919060010191905055507fa3cee0bc951e5632d7ec09983c6814031da97c1460583227be6844ea81571d8660068281548110610a0f57fe5b6000918252602090912060029091020154604051610a38916001600160a01b0316908490610cb7565b60405180910390a1610a6f565b6040517f135c1fbe13b2c5290fb00bdeebaf383b9bed654a68ab3d023eaee30fdec4223390600090a15b600754156105ca57600754610a85906001610b2a565b600755505050565b600084848484604051602001610aa69493929190610d45565b60408051601f19818403018152919052805160209091012095945050505050565b60008282604051602001610adc929190610c95565b60405160208183030381529060405280519060200120905092915050565b600081610b195760405162461bcd60e51b81526004016101fe90610e70565b818381610b2257fe5b069392505050565b600082821115610b4c5760405162461bcd60e51b81526004016101fe90610e39565b50900390565b80356001600160a01b03811681146107eb57600080fd5b600060208284031215610b7a578081fd5b610b848383610b52565b9392505050565b60008060408385031215610b9d578081fd5b610ba78484610b52565b946020939093013593505050565b60008060208385031215610bc7578182fd5b823567ffffffffffffffff80821115610bde578384fd5b818501915085601f830112610bf1578384fd5b813581811115610bff578485fd5b8660208083028501011115610c12578485fd5b60209290920196919550909350505050565b600060208284031215610c35578081fd5b815180151581146107e8578182fd5b60008060408385031215610c56578182fd5b50508035926020909101359150565b600060208284031215610c76578081fd5b5035919050565b600060208284031215610c8e578081fd5b5051919050565b918252602082015260400190565b6001600160a01b0391909116815260200190565b6001600160a01b03929092168252602082015260400190565b600060018060a01b038516825260208481840152606060408401528351806060850152825b81811015610d1157858101830151858201608001528201610cf5565b81811115610d225783608083870101525b50601f01601f19169290920160800195945050505050565b901515815260200190565b93845260208401929092526001600160a01b03166040830152606082015260800190565b6020808252601390820152726e6f206973737565206166746572206472617760681b604082015260600190565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b6020808252600c908201526b1b9bc81b5bdc99481c985b9960a21b604082015260600190565b6020808252601b908201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604082015260600190565b6020808252601e908201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604082015260600190565b60208082526018908201527f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000604082015260600190565b6020808252601b908201527f7469636b6574496e666f2e6c656e67746820746f6f20736d616c6c0000000000604082015260600190565b60208082526021908201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6040820152607760f81b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6020808252601f908201527f4f6e6c7920565246436f6f7264696e61746f722063616e2066756c66696c6c00604082015260600190565b602080825260139082015272736f6d652070656e64696e672072616e646f6d60681b604082015260600190565b6020808252600f908201526e6e6f7420656e6f756768204c494e4b60881b604082015260600190565b9081526020019056fea2646970667358221220b144bd762f75cb76e1732199c7d6aef9f44b9132cecc73d690f812253d64202664736f6c634300060c0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
