text: 'use strict'
  Object.defineProperty(exports, '__esModule', { value: true })
  const contract = require('@truffle/contract')
  const BlockhashStoreTestHelper = contract({
   "contractName": "BlockhashStoreTestHelper",
   "abi": [
    {
     "inputs": [
      {
       "internalType": "uint256",
       "name": "n",
       "type": "uint256"
      }
     ],
     "name": "getBlockhash",
     "outputs": [
      {
       "internalType": "bytes32",
       "name": "",
       "type": "bytes32"
      }
     ],
     "stateMutability": "view",
     "type": "function"
    },
    {
     "inputs": [
      {
       "internalType": "uint256",
       "name": "n",
       "type": "uint256"
      },
      {
       "internalType": "bytes32",
       "name": "h",
       "type": "bytes32"
      }
     ],
     "name": "godmodeSetHash",
     "outputs": [],
     "stateMutability": "nonpayable",
     "type": "function"
    },
    {
     "inputs": [
      {
       "internalType": "uint256",
       "name": "n",
       "type": "uint256"
      }
     ],
     "name": "store",
     "outputs": [],
     "stateMutability": "nonpayable",
     "type": "function"
    },
    {
     "inputs": [],
     "name": "storeEarliest",
     "outputs": [],
     "stateMutability": "nonpayable",
     "type": "function"
    },
    {
     "inputs": [
      {
       "internalType": "uint256",
       "name": "n",
       "type": "uint256"
      },
      {
       "internalType": "bytes",
       "name": "header",
       "type": "bytes"
      }
     ],
     "name": "storeVerifyHeader",
     "outputs": [],
     "stateMutability": "nonpayable",
     "type": "function"
    }
   ],
   "evm": {
    "bytecode": {
     "linkReferences": {},
     "object": "0x608060405234801561001057600080fd5b5061034f806100206000396000f3fe608060405234801561001057600080fd5b50600436106100675760003560e01c8063898faab211610050578063898faab214610093578063e9413d38146100b6578063fadff0e1146100e557610067565b80636057361d1461006c57806383b6d6b71461008b575b600080fd5b6100896004803603602081101561008257600080fd5b5035610192565b005b610089610212565b610089600480360360408110156100a957600080fd5b5080359060200135610200565b6100d3600480360360208110156100cc57600080fd5b5035610221565b60408051918252519081900360200190f35b610089600480360360408110156100fb57600080fd5b8135919081019060408101602082013564010000000081111561011d57600080fd5b82018360208201111561012f57600080fd5b8035906020019184600183028401116401000000008311171561015157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102a2945050505050565b80408061020057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f626c6f636b68617368286e29206661696c656400000000000000000000000000604482015290519081900360640190fd5b60009182526020829052604090912055565b61021f6101004303610192565b565b6000818152602081905260408120548061029c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f626c6f636b68617368206e6f7420666f756e6420696e2073746f726500000000604482015290519081900360640190fd5b92915050565b6000808360010181526020019081526020016000205481805190602001201461032c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f6865616465722068617320756e6b6e6f776e20626c6f636b6861736800000000604482015290519081900360640190fd5b602401516000918252602082905260409091205556fea164736f6c6343000606000a",
     "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x34F DUP1 PUSH2 0x20 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x67 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x898FAAB2 GT PUSH2 0x50 JUMPI DUP1 PUSH4 0x898FAAB2 EQ PUSH2 0x93 JUMPI DUP1 PUSH4 0xE9413D38 EQ PUSH2 0xB6 JUMPI DUP1 PUSH4 0xFADFF0E1 EQ PUSH2 0xE5 JUMPI PUSH2 0x67 JUMP JUMPDEST DUP1 PUSH4 0x6057361D EQ PUSH2 0x6C JUMPI DUP1 PUSH4 0x83B6D6B7 EQ PUSH2 0x8B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x89 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x82 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x192 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x89 PUSH2 0x212 JUMP JUMPDEST PUSH2 0x89 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xA9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x200 JUMP JUMPDEST PUSH2 0xD3 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xCC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x221 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x89 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xFB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH1 0x40 DUP2 ADD PUSH1 0x20 DUP3 ADD CALLDATALOAD PUSH5 0x100000000 DUP2 GT ISZERO PUSH2 0x11D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x12F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x1 DUP4 MUL DUP5 ADD GT PUSH5 0x100000000 DUP4 GT OR ISZERO PUSH2 0x151 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP SWAP3 SWAP6 POP PUSH2 0x2A2 SWAP5 POP POP POP POP POP JUMP JUMPDEST DUP1 BLOCKHASH DUP1 PUSH2 0x200 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x626C6F636B68617368286E29206661696C656400000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH2 0x21F PUSH2 0x100 NUMBER SUB PUSH2 0x192 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP1 PUSH2 0x29C JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x626C6F636B68617368206E6F7420666F756E6420696E2073746F726500000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1 ADD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP2 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ PUSH2 0x32C JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x6865616465722068617320756E6B6E6F776E20626C6F636B6861736800000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH1 0x24 ADD MLOAD PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SSTORE JUMP INVALID LOG1 PUSH5 0x736F6C6343 STOP MOD MOD STOP EXP ",
     "sourceMap": "93:142:44:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;93:142:44;;;;;;;"
    },
    "deployedBytecode": {
     "immutableReferences": {},
     "linkReferences": {},
     "object": "0x608060405234801561001057600080fd5b50600436106100675760003560e01c8063898faab211610050578063898faab214610093578063e9413d38146100b6578063fadff0e1146100e557610067565b80636057361d1461006c57806383b6d6b71461008b575b600080fd5b6100896004803603602081101561008257600080fd5b5035610192565b005b610089610212565b610089600480360360408110156100a957600080fd5b5080359060200135610200565b6100d3600480360360208110156100cc57600080fd5b5035610221565b60408051918252519081900360200190f35b610089600480360360408110156100fb57600080fd5b8135919081019060408101602082013564010000000081111561011d57600080fd5b82018360208201111561012f57600080fd5b8035906020019184600183028401116401000000008311171561015157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506102a2945050505050565b80408061020057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f626c6f636b68617368286e29206661696c656400000000000000000000000000604482015290519081900360640190fd5b60009182526020829052604090912055565b61021f6101004303610192565b565b6000818152602081905260408120548061029c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f626c6f636b68617368206e6f7420666f756e6420696e2073746f726500000000604482015290519081900360640190fd5b92915050565b6000808360010181526020019081526020016000205481805190602001201461032c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f6865616465722068617320756e6b6e6f776e20626c6f636b6861736800000000604482015290519081900360640190fd5b602401516000918252602082905260409091205556fea164736f6c6343000606000a",
     "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x67 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x898FAAB2 GT PUSH2 0x50 JUMPI DUP1 PUSH4 0x898FAAB2 EQ PUSH2 0x93 JUMPI DUP1 PUSH4 0xE9413D38 EQ PUSH2 0xB6 JUMPI DUP1 PUSH4 0xFADFF0E1 EQ PUSH2 0xE5 JUMPI PUSH2 0x67 JUMP JUMPDEST DUP1 PUSH4 0x6057361D EQ PUSH2 0x6C JUMPI DUP1 PUSH4 0x83B6D6B7 EQ PUSH2 0x8B JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x89 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0x82 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x192 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x89 PUSH2 0x212 JUMP JUMPDEST PUSH2 0x89 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xA9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD CALLDATALOAD PUSH2 0x200 JUMP JUMPDEST PUSH2 0xD3 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x20 DUP2 LT ISZERO PUSH2 0xCC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP CALLDATALOAD PUSH2 0x221 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH2 0x89 PUSH1 0x4 DUP1 CALLDATASIZE SUB PUSH1 0x40 DUP2 LT ISZERO PUSH2 0xFB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD SWAP2 SWAP1 DUP2 ADD SWAP1 PUSH1 0x40 DUP2 ADD PUSH1 0x20 DUP3 ADD CALLDATALOAD PUSH5 0x100000000 DUP2 GT ISZERO PUSH2 0x11D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP3 ADD DUP4 PUSH1 0x20 DUP3 ADD GT ISZERO PUSH2 0x12F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP1 CALLDATALOAD SWAP1 PUSH1 0x20 ADD SWAP2 DUP5 PUSH1 0x1 DUP4 MUL DUP5 ADD GT PUSH5 0x100000000 DUP4 GT OR ISZERO PUSH2 0x151 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP2 SWAP1 DUP1 DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP4 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP4 DUP1 DUP3 DUP5 CALLDATACOPY PUSH1 0x0 SWAP3 ADD SWAP2 SWAP1 SWAP2 MSTORE POP SWAP3 SWAP6 POP PUSH2 0x2A2 SWAP5 POP POP POP POP POP JUMP JUMPDEST DUP1 BLOCKHASH DUP1 PUSH2 0x200 JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x13 PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x626C6F636B68617368286E29206661696C656400000000000000000000000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SSTORE JUMP JUMPDEST PUSH2 0x21F PUSH2 0x100 NUMBER SUB PUSH2 0x192 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 KECCAK256 SLOAD DUP1 PUSH2 0x29C JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x626C6F636B68617368206E6F7420666F756E6420696E2073746F726500000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 DUP4 PUSH1 0x1 ADD DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD DUP2 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD KECCAK256 EQ PUSH2 0x32C JUMPI PUSH1 0x40 DUP1 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x20 PUSH1 0x4 DUP3 ADD MSTORE PUSH1 0x1C PUSH1 0x24 DUP3 ADD MSTORE PUSH32 0x6865616465722068617320756E6B6E6F776E20626C6F636B6861736800000000 PUSH1 0x44 DUP3 ADD MSTORE SWAP1 MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x64 ADD SWAP1 REVERT JUMPDEST PUSH1 0x24 ADD MLOAD PUSH1 0x0 SWAP2 DUP3 MSTORE PUSH1 0x20 DUP3 SWAP1 MSTORE PUSH1 0x40 SWAP1 SWAP2 KECCAK256 SSTORE JUMP INVALID LOG1 PUSH5 0x736F6C6343 STOP MOD MOD STOP EXP ",
     "sourceMap": "93:142:44:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;93:142:44;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;799:140:25;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;799:140:25;;:::i;:::-;;1043:70;;;:::i;149:84:44:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;149:84:44;;;;;;;:::i;2864:173:25:-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;2864:173:25;;:::i;:::-;;;;;;;;;;;;;;;;1483:1202;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;1483:1202:25;;;;;;;;;;;;;;27:11:-1;11:28;;8:2;;;52:1;49;42:12;8:2;1483:1202:25;;41:9:-1;34:4;18:14;14:25;11:40;8:2;;;64:1;61;54:12;8:2;1483:1202:25;;;;;;100:9:-1;95:1;81:12;77:20;67:8;63:35;60:50;39:11;25:12;22:29;11:107;8:2;;;131:1;128;121:12;8:2;1483:1202:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;30:3:-1;22:6;14;1:33;99:1;81:16;;74:27;;;;-1:-1;1483:1202:25;;-1:-1:-1;1483:1202:25;;-1:-1:-1;;;;;1483:1202:25:i;799:140::-;850:12;;876:8;868:40;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;914:13;:16;;;;;;;;;;;:20;799:140::o;1043:70::-;1083:25;1104:3;1089:12;:18;1083:5;:25::i;:::-;1043:70::o;2864:173::-;2920:7;2947:16;;;;;;;;;;;2977:8;2969:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3031:1;2864:173;-1:-1:-1;;2864:173:25:o;1483:1202::-;1584:13;:20;1598:1;1602;1598:5;1584:20;;;;;;;;;;;;1573:6;1563:17;;;;;;:41;1555:82;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2481:2;2469:15;2463:22;2408:18;2651:16;;;;;;;;;;;:29;1483:1202::o"
    },
    "methodIdentifiers": {
     "getBlockhash(uint256)": "e9413d38",
     "godmodeSetHash(uint256,bytes32)": "898faab2",
     "store(uint256)": "6057361d",
     "storeEarliest()": "83b6d6b7",
     "storeVerifyHeader(uint256,bytes)": "fadff0e1"
    }
   },
   "metadata": "{\"compiler\":{\"version\":\"0.6.6+commit.6c089d02\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"n\",\"type\":\"uint256\"}],\"name\":\"getBlockhash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"n\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"h\",\"type\":\"bytes32\"}],\"name\":\"godmodeSetHash\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"n\",\"type\":\"uint256\"}],\"name\":\"store\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"storeEarliest\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"n\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"header\",\"type\":\"bytes\"}],\"name\":\"storeVerifyHeader\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"methods\":{\"getBlockhash(uint256)\":{\"params\":{\"n\":\"the number of the block whose blockhash should be returned\"}},\"store(uint256)\":{\"params\":{\"n\":\"the number of the block whose blockhash should be stored\"}},\"storeVerifyHeader(uint256,bytes)\":{\"params\":{\"header\":\"the rlp-encoded blockheader of block n+1. We verify its correctness by checking  that it hashes to a stored blockhash, and then extract parentHash to get the n-th blockhash.\",\"n\":\"the number of the block whose blockhash should be stored\"}}}},\"userdoc\":{\"methods\":{\"getBlockhash(uint256)\":{\"notice\":\"gets a blockhash from the store. If no hash is known, this function reverts.\"},\"store(uint256)\":{\"notice\":\"stores blockhash of a given block, assuming it is available through BLOCKHASH\"},\"storeEarliest()\":{\"notice\":\"stores blockhash of the earliest block still available through BLOCKHASH.\"},\"storeVerifyHeader(uint256,bytes)\":{\"notice\":\"stores blockhash after verifying blockheader of child/subsequent block\"}}}},\"settings\":{\"compilationTarget\":{\"/Users/steve/workspace/chainlink/evm-contracts/src/v0.6/tests/BlockhashStoreTestHelper.sol\":\"BlockhashStoreTestHelper\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[]},\"sources\":{\"/Users/steve/workspace/chainlink/evm-contracts/src/v0.6/dev/BlockhashStore.sol\":{\"keccak256\":\"0x3c03a9132a71f7764543dcf47eb22b8d0a5885deec483c6c3b88a3b6db81819b\",\"urls\":[\"bzz-raw://b3aa93c58529cb1effe9f7d61472d00eca355aee19cd20fff8b4e0b92cbf67f8\",\"dweb:/ipfs/QmcKHKzNNJEVfG7NtLVG8xLY3UnaoxiVnV8keoVPNxuZsf\"]},\"/Users/steve/workspace/chainlink/evm-contracts/src/v0.6/tests/BlockhashStoreTestHelper.sol\":{\"keccak256\":\"0xe195deab961d042dc2f3472a6e7f75ac90eacb8f4b2ba0b3c17859dec093a65f\",\"urls\":[\"bzz-raw://6c3df9c904030c55ea8a13e9bd0b4239e6561b706da66cdb1626568218adaacf\",\"dweb:/ipfs/QmXd2r9ZmUcU4egnxdGEjFtJk6zKaeEGhxY8yApsAWGfMX\"]}},\"version\":1}"
  })
  
  if (process.env.NODE_ENV === 'test') {
    try {
      eval('BlockhashStoreTestHelper.setProvider(web3.currentProvider)')
    } catch (e) {}
  }
  
  exports.BlockhashStoreTestHelper = BlockhashStoreTestHelper
  