{
  "_format": "hh-sol-artifact-1",
  "contractName": "StateConnector",
  "sourceName": "contracts/genesis/implementation/StateConnector.sol",
  "abi": [
    {
      "inputs": [],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "timestamp",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "uint256",
          "name": "instructions",
          "type": "uint256"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "id",
          "type": "bytes32"
        },
        {
          "indexed": false,
          "internalType": "bytes32",
          "name": "dataAvailabilityProof",
          "type": "bytes32"
        }
      ],
      "name": "AttestationRequest",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "BUFFER_TIMESTAMP_OFFSET",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "BUFFER_WINDOW",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "SIGNAL_COINBASE",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "TOTAL_STORED_BUFFERS",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "TOTAL_STORED_PROOFS",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "name": "buffers",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "latestVote",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "bufferNumber",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "merkleHash",
          "type": "bytes32"
        }
      ],
      "name": "finaliseRound",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "bufferNumber",
          "type": "uint256"
        }
      ],
      "name": "getAttestation",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "_unmaskedMerkleHash",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "name": "merkleRoots",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "instructions",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "id",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "dataAvailabilityProof",
          "type": "bytes32"
        }
      ],
      "name": "requestAttestations",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "bufferNumber",
          "type": "uint256"
        },
        {
          "internalType": "bytes32",
          "name": "maskedMerkleHash",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "committedRandom",
          "type": "bytes32"
        },
        {
          "internalType": "bytes32",
          "name": "revealedRandom",
          "type": "bytes32"
        }
      ],
      "name": "submitAttestation",
      "outputs": [
        {
          "internalType": "bool",
          "name": "_isInitialBufferSlot",
          "type": "bool"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "totalBuffers",
      "outputs": [
        {
          "internalType": "uint256",
          "name": "",
          "type": "uint256"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x608060405234801561001057600080fd5b506104f3806100206000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c8063cda8e74111610071578063cda8e7411461015f578063cfd1fdad1461018a578063eaebf6d3146101cd578063ec7424a0146101f0578063f417c9d8146101f8578063f5f59a4a14610200576100b4565b806329be4db2146100b95780634b8a125f146100e85780635f8c940d146100f057806371c5ecb1146100f857806371e24574146101155780637ff6faa61461013b575b600080fd5b6100d6600480360360208110156100cf57600080fd5b5035610208565b60408051918252519081900360200190f35b6100d66102f8565b6100d6610300565b6100d66004803603602081101561010e57600080fd5b5035610305565b6100d66004803603602081101561012b57600080fd5b50356001600160a01b031661031d565b610143610332565b604080516001600160a01b039092168252519081900360200190f35b6101886004803603606081101561017557600080fd5b5080359060208101359060400135610338565b005b6101b9600480360360808110156101a057600080fd5b50803590602081013590604081013590606001356103a5565b604080519115158252519081900360200190f35b610188600480360360408110156101e357600080fd5b5080359060200135610443565b6100d66104ac565b6100d66104b2565b6100d66104b8565b60006001821161021757600080fd5b3360009081526020819052604090206009015460001983019081111561023c57600080fd5b336000908152602081905260408120600383066003811061025957fe5b60039081029190910160020154336000908152602081905260408120919350916000198501066003811061028957fe5b6003020160010154905081604051602001808281526020019150506040516020818303038152906040528051906020012081146102c557600080fd5b3360009081526020819052604081206003600019860106600381106102e657fe5b60030201549290921895945050505050565b636184740081565b600381565b600281611a40811061031657600080fd5b0154905081565b60006020819052908152604090206009015481565b61dead81565b6000831161034557600080fd5b8161034f57600080fd5b8061035957600080fd5b60408051428152602081018590528082018490526060810183905290517f8749596bd7e565d6062796c02ca60f1968dc22a20b5350cce723e8216a9b2dba9181900360800190a1505050565b6000605a63618473ff1942010485146103bd57600080fd5b33600081815260208181526040808320600981018a9055815160608101835289815280840189905291820187905293835291905290600387066003811061040057fe5b600302016000820151816000015560208201518160010155604082015181600201559050506001548511156104375750600161043b565b5060005b949350505050565b6001821161045057600080fd5b605a63618473ff19420104821461046657600080fd5b600154821161047457600080fd5b334114801561048457504161dead145b156104a8576001829055806002611a40600019850106611a4081106104a557fe5b01555b5050565b60015481565b611a4081565b605a8156fea264697066735822122047f3fa6ba7414e6fc02f33352a0929ff11b4afd5405f37c027a2abd85783f31664736f6c63430007060033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100b45760003560e01c8063cda8e74111610071578063cda8e7411461015f578063cfd1fdad1461018a578063eaebf6d3146101cd578063ec7424a0146101f0578063f417c9d8146101f8578063f5f59a4a14610200576100b4565b806329be4db2146100b95780634b8a125f146100e85780635f8c940d146100f057806371c5ecb1146100f857806371e24574146101155780637ff6faa61461013b575b600080fd5b6100d6600480360360208110156100cf57600080fd5b5035610208565b60408051918252519081900360200190f35b6100d66102f8565b6100d6610300565b6100d66004803603602081101561010e57600080fd5b5035610305565b6100d66004803603602081101561012b57600080fd5b50356001600160a01b031661031d565b610143610332565b604080516001600160a01b039092168252519081900360200190f35b6101886004803603606081101561017557600080fd5b5080359060208101359060400135610338565b005b6101b9600480360360808110156101a057600080fd5b50803590602081013590604081013590606001356103a5565b604080519115158252519081900360200190f35b610188600480360360408110156101e357600080fd5b5080359060200135610443565b6100d66104ac565b6100d66104b2565b6100d66104b8565b60006001821161021757600080fd5b3360009081526020819052604090206009015460001983019081111561023c57600080fd5b336000908152602081905260408120600383066003811061025957fe5b60039081029190910160020154336000908152602081905260408120919350916000198501066003811061028957fe5b6003020160010154905081604051602001808281526020019150506040516020818303038152906040528051906020012081146102c557600080fd5b3360009081526020819052604081206003600019860106600381106102e657fe5b60030201549290921895945050505050565b636184740081565b600381565b600281611a40811061031657600080fd5b0154905081565b60006020819052908152604090206009015481565b61dead81565b6000831161034557600080fd5b8161034f57600080fd5b8061035957600080fd5b60408051428152602081018590528082018490526060810183905290517f8749596bd7e565d6062796c02ca60f1968dc22a20b5350cce723e8216a9b2dba9181900360800190a1505050565b6000605a63618473ff1942010485146103bd57600080fd5b33600081815260208181526040808320600981018a9055815160608101835289815280840189905291820187905293835291905290600387066003811061040057fe5b600302016000820151816000015560208201518160010155604082015181600201559050506001548511156104375750600161043b565b5060005b949350505050565b6001821161045057600080fd5b605a63618473ff19420104821461046657600080fd5b600154821161047457600080fd5b334114801561048457504161dead145b156104a8576001829055806002611a40600019850106611a4081106104a557fe5b01555b5050565b60015481565b611a4081565b605a8156fea264697066735822122047f3fa6ba7414e6fc02f33352a0929ff11b4afd5405f37c027a2abd85783f31664736f6c63430007060033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
