{
  "_format": "hh-sol-artifact-1",
  "contractName": "RandomNumberConsumerV2",
  "sourceName": "contracts/RandomNumberConsumerV2.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "uint64",
          "name": "subscriptionId",
          "type": "uint64"
        },
        {
          "internalType": "address",
          "name": "vrfCoordinator",
          "type": "address"
        },
        {
          "internalType": "bytes32",
          "name": "keyHash",
          "type": "bytes32"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "have",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "want",
          "type": "address"
        }
      ],
      "name": "OnlyCoordinatorCanFulfill",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256[]",
          "name": "randomWords",
          "type": "uint256[]"
        }
      ],
      "name": "ReturnedRandomness",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "getRandomWordsCount",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "requestId",
          "type": "uint256"
        },
        {
          "internalType": "uint256[]",
          "name": "randomWords",
          "type": "uint256[]"
        }
      ],
      "name": "rawFulfillRandomWords",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint32",
          "name": "_numWords",
          "type": "uint32"
        }
      ],
      "name": "requestRandomWords",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "s_randomWords",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "s_requestId",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x6101006040523480156200001257600080fd5b5060405162000bf838038062000bf883398181016040528101906200003891906200015e565b818073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff1660601b81525050508173ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1660601b815250508060e0818152505033600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508267ffffffffffffffff1660c08167ffffffffffffffff1660c01b815250505050506200025f565b6000815190506200012a8162000211565b92915050565b60008151905062000141816200022b565b92915050565b600081519050620001588162000245565b92915050565b6000806000606084860312156200017a57620001796200020c565b5b60006200018a8682870162000147565b93505060206200019d8682870162000119565b9250506040620001b08682870162000130565b9150509250925092565b6000620001c782620001d8565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600067ffffffffffffffff82169050919050565b600080fd5b6200021c81620001ba565b81146200022857600080fd5b50565b6200023681620001ce565b81146200024257600080fd5b50565b6200025081620001f8565b81146200025c57600080fd5b50565b60805160601c60a05160601c60c05160c01c60e05161094f620002a9600039600061026401526000610285015260006102280152600081816101020152610156015261094f6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80631fe543e31461005c578063705a050b14610078578063e726f2e114610096578063e89e106a146100b2578063f6eaffc8146100d0575b600080fd5b61007660048036038101906100719190610543565b610100565b005b6100806101c0565b60405161008d9190610749565b60405180910390f35b6100b060048036038101906100ab919061059f565b6101cc565b005b6100ba610326565b6040516100c79190610749565b60405180910390f35b6100ea60048036038101906100e591906104e9565b61032c565b6040516100f79190610749565b60405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101b257337f00000000000000000000000000000000000000000000000000000000000000006040517f1cf993f40000000000000000000000000000000000000000000000000000000081526004016101a99291906106ab565b60405180910390fd5b6101bc8282610350565b5050565b60008080549050905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461022657600080fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16635d3b1d307f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006003620186a0866040518663ffffffff1660e01b81526004016102cb9594939291906106f6565b602060405180830381600087803b1580156102e557600080fd5b505af11580156102f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031d9190610516565b60018190555050565b60015481565b6000818154811061033c57600080fd5b906000526020600020016000915090505481565b80600090805190602001906103669291906103a2565b507fefb16d61046900da527008568620fb9f8420e2f5ed4de3bfbded5035c9362b0e8160405161039691906106d4565b60405180910390a15050565b8280548282559060005260206000209081019282156103de579160200282015b828111156103dd5782518255916020019190600101906103c2565b5b5090506103eb91906103ef565b5090565b5b808211156104085760008160009055506001016103f0565b5090565b600061041f61041a84610789565b610764565b90508083825260208201905082856020860282011115610442576104416108cb565b5b60005b85811015610472578161045888826104aa565b845260208401935060208301925050600181019050610445565b5050509392505050565b600082601f830112610491576104906108c6565b5b81356104a184826020860161040c565b91505092915050565b6000813590506104b9816108eb565b92915050565b6000815190506104ce816108eb565b92915050565b6000813590506104e381610902565b92915050565b6000602082840312156104ff576104fe6108d5565b5b600061050d848285016104aa565b91505092915050565b60006020828403121561052c5761052b6108d5565b5b600061053a848285016104bf565b91505092915050565b6000806040838503121561055a576105596108d5565b5b6000610568858286016104aa565b925050602083013567ffffffffffffffff811115610589576105886108d0565b5b6105958582860161047c565b9150509250929050565b6000602082840312156105b5576105b46108d5565b5b60006105c3848285016104d4565b91505092915050565b60006105d8838361066f565b60208301905092915050565b6105ed816107ee565b82525050565b60006105fe826107c5565b61060881856107dd565b9350610613836107b5565b8060005b8381101561064457815161062b88826105cc565b9750610636836107d0565b925050600181019050610617565b5085935050505092915050565b61065a81610800565b82525050565b6106698161080a565b82525050565b61067881610838565b82525050565b61068781610838565b82525050565b61069681610842565b82525050565b6106a581610852565b82525050565b60006040820190506106c060008301856105e4565b6106cd60208301846105e4565b9392505050565b600060208201905081810360008301526106ee81846105f3565b905092915050565b600060a08201905061070b6000830188610651565b610718602083018761069c565b6107256040830186610660565b610732606083018561068d565b61073f608083018461068d565b9695505050505050565b600060208201905061075e600083018461067e565b92915050565b600061076e61077f565b905061077a8282610866565b919050565b6000604051905090565b600067ffffffffffffffff8211156107a4576107a3610897565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b60006107f982610818565b9050919050565b6000819050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600067ffffffffffffffff82169050919050565b61086f826108da565b810181811067ffffffffffffffff8211171561088e5761088d610897565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b6108f481610838565b81146108ff57600080fd5b50565b61090b81610842565b811461091657600080fd5b5056fea26469706673582212200a0444b18f837b5ec7b87cc70f59d801f88c6dc1603f60c0a1a7abcd64b6c6bc64736f6c63430008070033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80631fe543e31461005c578063705a050b14610078578063e726f2e114610096578063e89e106a146100b2578063f6eaffc8146100d0575b600080fd5b61007660048036038101906100719190610543565b610100565b005b6100806101c0565b60405161008d9190610749565b60405180910390f35b6100b060048036038101906100ab919061059f565b6101cc565b005b6100ba610326565b6040516100c79190610749565b60405180910390f35b6100ea60048036038101906100e591906104e9565b61032c565b6040516100f79190610749565b60405180910390f35b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146101b257337f00000000000000000000000000000000000000000000000000000000000000006040517f1cf993f40000000000000000000000000000000000000000000000000000000081526004016101a99291906106ab565b60405180910390fd5b6101bc8282610350565b5050565b60008080549050905090565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161461022657600080fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16635d3b1d307f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000006003620186a0866040518663ffffffff1660e01b81526004016102cb9594939291906106f6565b602060405180830381600087803b1580156102e557600080fd5b505af11580156102f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031d9190610516565b60018190555050565b60015481565b6000818154811061033c57600080fd5b906000526020600020016000915090505481565b80600090805190602001906103669291906103a2565b507fefb16d61046900da527008568620fb9f8420e2f5ed4de3bfbded5035c9362b0e8160405161039691906106d4565b60405180910390a15050565b8280548282559060005260206000209081019282156103de579160200282015b828111156103dd5782518255916020019190600101906103c2565b5b5090506103eb91906103ef565b5090565b5b808211156104085760008160009055506001016103f0565b5090565b600061041f61041a84610789565b610764565b90508083825260208201905082856020860282011115610442576104416108cb565b5b60005b85811015610472578161045888826104aa565b845260208401935060208301925050600181019050610445565b5050509392505050565b600082601f830112610491576104906108c6565b5b81356104a184826020860161040c565b91505092915050565b6000813590506104b9816108eb565b92915050565b6000815190506104ce816108eb565b92915050565b6000813590506104e381610902565b92915050565b6000602082840312156104ff576104fe6108d5565b5b600061050d848285016104aa565b91505092915050565b60006020828403121561052c5761052b6108d5565b5b600061053a848285016104bf565b91505092915050565b6000806040838503121561055a576105596108d5565b5b6000610568858286016104aa565b925050602083013567ffffffffffffffff811115610589576105886108d0565b5b6105958582860161047c565b9150509250929050565b6000602082840312156105b5576105b46108d5565b5b60006105c3848285016104d4565b91505092915050565b60006105d8838361066f565b60208301905092915050565b6105ed816107ee565b82525050565b60006105fe826107c5565b61060881856107dd565b9350610613836107b5565b8060005b8381101561064457815161062b88826105cc565b9750610636836107d0565b925050600181019050610617565b5085935050505092915050565b61065a81610800565b82525050565b6106698161080a565b82525050565b61067881610838565b82525050565b61068781610838565b82525050565b61069681610842565b82525050565b6106a581610852565b82525050565b60006040820190506106c060008301856105e4565b6106cd60208301846105e4565b9392505050565b600060208201905081810360008301526106ee81846105f3565b905092915050565b600060a08201905061070b6000830188610651565b610718602083018761069c565b6107256040830186610660565b610732606083018561068d565b61073f608083018461068d565b9695505050505050565b600060208201905061075e600083018461067e565b92915050565b600061076e61077f565b905061077a8282610866565b919050565b6000604051905090565b600067ffffffffffffffff8211156107a4576107a3610897565b5b602082029050602081019050919050565b6000819050602082019050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b60006107f982610818565b9050919050565b6000819050919050565b600061ffff82169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600063ffffffff82169050919050565b600067ffffffffffffffff82169050919050565b61086f826108da565b810181811067ffffffffffffffff8211171561088e5761088d610897565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b6108f481610838565b81146108ff57600080fd5b50565b61090b81610842565b811461091657600080fd5b5056fea26469706673582212200a0444b18f837b5ec7b87cc70f59d801f88c6dc1603f60c0a1a7abcd64b6c6bc64736f6c63430008070033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
