{
  "_format": "hh-sol-artifact-1",
  "contractName": "BlockBuilderRegistry",
  "sourceName": "contracts/block-builder-registry/BlockBuilderRegistry.sol",
  "abi": [
    {
      "inputs": [],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "target",
          "type": "address"
        }
      ],
      "name": "AddressEmptyCode",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "implementation",
          "type": "address"
        }
      ],
      "name": "ERC1967InvalidImplementation",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "ERC1967NonPayable",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "FailedCall",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "InvalidInitialization",
      "type": "error"
    },
    {
      "inputs": [],
      "name": "NotInitializing",
      "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": "UUPSUnauthorizedCallContext",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes32",
          "name": "slot",
          "type": "bytes32"
        }
      ],
      "name": "UUPSUnsupportedProxiableUUID",
      "type": "error"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "blockBuilder",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "string",
          "name": "url",
          "type": "string"
        }
      ],
      "name": "BlockBuilderHeartbeat",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "uint64",
          "name": "version",
          "type": "uint64"
        }
      ],
      "name": "Initialized",
      "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": "address",
          "name": "implementation",
          "type": "address"
        }
      ],
      "name": "Upgraded",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "UPGRADE_INTERFACE_VERSION",
      "outputs": [
        {
          "internalType": "string",
          "name": "",
          "type": "string"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "string",
          "name": "url",
          "type": "string"
        }
      ],
      "name": "emitHeartbeat",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "admin",
          "type": "address"
        }
      ],
      "name": "initialize",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "proxiableUUID",
      "outputs": [
        {
          "internalType": "bytes32",
          "name": "",
          "type": "bytes32"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newImplementation",
          "type": "address"
        },
        {
          "internalType": "bytes",
          "name": "data",
          "type": "bytes"
        }
      ],
      "name": "upgradeToAndCall",
      "outputs": [],
      "stateMutability": "payable",
      "type": "function"
    }
  ],
  "bytecode": "0x60a06040523060805234801561001457600080fd5b5061001d610022565b6100d4565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100725760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d15780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b608051610b0b6100fd600039600081816103b4015281816103dd01526105230152610b0b6000f3fe60806040526004361061007b5760003560e01c80638da5cb5b1161004e5780638da5cb5b146100f2578063ad3cb1cc14610139578063c4d66de814610177578063f2fde38b1461019757600080fd5b806307a4104c146100805780634f1ef286146100a257806352d1902d146100b5578063715018a6146100dd575b600080fd5b34801561008c57600080fd5b506100a061009b36600461086f565b6101b7565b005b6100a06100b0366004610915565b6101fe565b3480156100c157600080fd5b506100ca61021d565b6040519081526020015b60405180910390f35b3480156100e957600080fd5b506100a061023a565b3480156100fe57600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016100d4565b34801561014557600080fd5b5061016a604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100d49190610a03565b34801561018357600080fd5b506100a0610192366004610a36565b61024e565b3480156101a357600080fd5b506100a06101b2366004610a36565b610366565b336001600160a01b03167f67981767cba56b93db9acb6becc4635fc1177e7837379bdd332bbcae78a5550583836040516101f2929190610a51565b60405180910390a25050565b6102066103a9565b61020f8261044e565b6102198282610456565b5050565b6000610227610518565b50600080516020610ab683398151915290565b610242610561565b61024c60006105bc565b565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156102945750825b905060008267ffffffffffffffff1660011480156102b15750303b155b9050811580156102bf575080155b156102dd5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561030757845460ff60401b1916600160401b1785555b6103108661062d565b61031861063e565b831561035e57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b61036e610561565b6001600160a01b03811661039d57604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6103a6816105bc565b50565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061043057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610424600080516020610ab6833981519152546001600160a01b031690565b6001600160a01b031614155b1561024c5760405163703e46dd60e11b815260040160405180910390fd5b6103a6610561565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104b0575060408051601f3d908101601f191682019092526104ad91810190610a80565b60015b6104d857604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610394565b600080516020610ab6833981519152811461050957604051632a87526960e21b815260048101829052602401610394565b6105138383610646565b505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461024c5760405163703e46dd60e11b815260040160405180910390fd5b336105937f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b03161461024c5760405163118cdaa760e01b8152336004820152602401610394565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b61063561069c565b6103a6816106e5565b61024c61069c565b61064f826106ed565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610694576105138282610752565b6102196107c8565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff1661024c57604051631afcd79f60e31b815260040160405180910390fd5b61036e61069c565b806001600160a01b03163b60000361072357604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610394565b600080516020610ab683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161076f9190610a99565b600060405180830381855af49150503d80600081146107aa576040519150601f19603f3d011682016040523d82523d6000602084013e6107af565b606091505b50915091506107bf8583836107e7565b95945050505050565b341561024c5760405163b398979f60e01b815260040160405180910390fd5b6060826107fc576107f782610846565b61083f565b815115801561081357506001600160a01b0384163b155b1561083c57604051639996b31560e01b81526001600160a01b0385166004820152602401610394565b50805b9392505050565b8051156108565780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b6000806020838503121561088257600080fd5b823567ffffffffffffffff81111561089957600080fd5b8301601f810185136108aa57600080fd5b803567ffffffffffffffff8111156108c157600080fd5b8560208284010111156108d357600080fd5b6020919091019590945092505050565b80356001600160a01b03811681146108fa57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561092857600080fd5b610931836108e3565b9150602083013567ffffffffffffffff81111561094d57600080fd5b8301601f8101851361095e57600080fd5b803567ffffffffffffffff811115610978576109786108ff565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156109a7576109a76108ff565b6040528181528282016020018710156109bf57600080fd5b816020840160208301376000602083830101528093505050509250929050565b60005b838110156109fa5781810151838201526020016109e2565b50506000910152565b6020815260008251806020840152610a228160408501602087016109df565b601f01601f19169190910160400192915050565b600060208284031215610a4857600080fd5b61083f826108e3565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b600060208284031215610a9257600080fd5b5051919050565b60008251610aab8184602087016109df565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220248d7131bebe3b0a3d332aea5a14a2efd14b17ea4c07c481e72d36161728c6e464736f6c634300081b0033",
  "deployedBytecode": "0x60806040526004361061007b5760003560e01c80638da5cb5b1161004e5780638da5cb5b146100f2578063ad3cb1cc14610139578063c4d66de814610177578063f2fde38b1461019757600080fd5b806307a4104c146100805780634f1ef286146100a257806352d1902d146100b5578063715018a6146100dd575b600080fd5b34801561008c57600080fd5b506100a061009b36600461086f565b6101b7565b005b6100a06100b0366004610915565b6101fe565b3480156100c157600080fd5b506100ca61021d565b6040519081526020015b60405180910390f35b3480156100e957600080fd5b506100a061023a565b3480156100fe57600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b0390911681526020016100d4565b34801561014557600080fd5b5061016a604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100d49190610a03565b34801561018357600080fd5b506100a0610192366004610a36565b61024e565b3480156101a357600080fd5b506100a06101b2366004610a36565b610366565b336001600160a01b03167f67981767cba56b93db9acb6becc4635fc1177e7837379bdd332bbcae78a5550583836040516101f2929190610a51565b60405180910390a25050565b6102066103a9565b61020f8261044e565b6102198282610456565b5050565b6000610227610518565b50600080516020610ab683398151915290565b610242610561565b61024c60006105bc565b565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff16159067ffffffffffffffff166000811580156102945750825b905060008267ffffffffffffffff1660011480156102b15750303b155b9050811580156102bf575080155b156102dd5760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561030757845460ff60401b1916600160401b1785555b6103108661062d565b61031861063e565b831561035e57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b505050505050565b61036e610561565b6001600160a01b03811661039d57604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b6103a6816105bc565b50565b306001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148061043057507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610424600080516020610ab6833981519152546001600160a01b031690565b6001600160a01b031614155b1561024c5760405163703e46dd60e11b815260040160405180910390fd5b6103a6610561565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156104b0575060408051601f3d908101601f191682019092526104ad91810190610a80565b60015b6104d857604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610394565b600080516020610ab6833981519152811461050957604051632a87526960e21b815260048101829052602401610394565b6105138383610646565b505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461024c5760405163703e46dd60e11b815260040160405180910390fd5b336105937f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b03161461024c5760405163118cdaa760e01b8152336004820152602401610394565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b61063561069c565b6103a6816106e5565b61024c61069c565b61064f826106ed565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a2805115610694576105138282610752565b6102196107c8565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff1661024c57604051631afcd79f60e31b815260040160405180910390fd5b61036e61069c565b806001600160a01b03163b60000361072357604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610394565b600080516020610ab683398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b03168460405161076f9190610a99565b600060405180830381855af49150503d80600081146107aa576040519150601f19603f3d011682016040523d82523d6000602084013e6107af565b606091505b50915091506107bf8583836107e7565b95945050505050565b341561024c5760405163b398979f60e01b815260040160405180910390fd5b6060826107fc576107f782610846565b61083f565b815115801561081357506001600160a01b0384163b155b1561083c57604051639996b31560e01b81526001600160a01b0385166004820152602401610394565b50805b9392505050565b8051156108565780518082602001fd5b60405163d6bda27560e01b815260040160405180910390fd5b6000806020838503121561088257600080fd5b823567ffffffffffffffff81111561089957600080fd5b8301601f810185136108aa57600080fd5b803567ffffffffffffffff8111156108c157600080fd5b8560208284010111156108d357600080fd5b6020919091019590945092505050565b80356001600160a01b03811681146108fa57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561092857600080fd5b610931836108e3565b9150602083013567ffffffffffffffff81111561094d57600080fd5b8301601f8101851361095e57600080fd5b803567ffffffffffffffff811115610978576109786108ff565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156109a7576109a76108ff565b6040528181528282016020018710156109bf57600080fd5b816020840160208301376000602083830101528093505050509250929050565b60005b838110156109fa5781810151838201526020016109e2565b50506000910152565b6020815260008251806020840152610a228160408501602087016109df565b601f01601f19169190910160400192915050565b600060208284031215610a4857600080fd5b61083f826108e3565b60208152816020820152818360408301376000818301604090810191909152601f909201601f19160101919050565b600060208284031215610a9257600080fd5b5051919050565b60008251610aab8184602087016109df565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220248d7131bebe3b0a3d332aea5a14a2efd14b17ea4c07c481e72d36161728c6e464736f6c634300081b0033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
