{
  "_format": "hh3-artifact-1",
  "contractName": "CCIPReader",
  "sourceName": "contracts/ccipRead/CCIPReader.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "_unsafeCallGas",
          "type": "uint256"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "sender",
          "type": "address"
        },
        {
          "internalType": "string[]",
          "name": "urls",
          "type": "string[]"
        },
        {
          "internalType": "bytes",
          "name": "callData",
          "type": "bytes"
        },
        {
          "internalType": "bytes4",
          "name": "callbackFunction",
          "type": "bytes4"
        },
        {
          "internalType": "bytes",
          "name": "extraData",
          "type": "bytes"
        }
      ],
      "name": "OffchainLookup",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "uint256",
          "name": "offset",
          "type": "uint256"
        },
        {
          "internalType": "uint256",
          "name": "length",
          "type": "uint256"
        }
      ],
      "name": "OffsetOutOfBoundsError",
      "type": "error"
    },
    {
      "inputs": [
        {
          "internalType": "bytes",
          "name": "response",
          "type": "bytes"
        },
        {
          "internalType": "bytes",
          "name": "extraData",
          "type": "bytes"
        }
      ],
      "name": "ccipReadCallback",
      "outputs": [],
      "stateMutability": "view",
      "type": "function"
    }
  ],
  "bytecode": "0x60a0604052348015600f57600080fd5b5060405161102d38038061102d833981016040819052602c916033565b608052604b565b600060208284031215604457600080fd5b5051919050565b608051610fc761006660003960006104b70152610fc76000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063ef46c0b814610030575b600080fd5b61004361003e3660046108c9565b610045565b005b60008180602001905181019061005b9190610a0b565b905061011281600001518260200151858460400151604051602401610081929190610b36565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526060840151608085015160a0860151610117565b505050565b60008061012d61012688610453565b8888610495565b915091508115801561018857507f556f18300000000000000000000000000000000000000000000000000000000061016482610b64565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b1561030957600061019882610539565b90508773ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff160361030757308160200151826040015163ef46c0b860e01b6040518060c001604052808d73ffffffffffffffffffffffffffffffffffffffff16815260200186606001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001866080015181526020018b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020018a7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020018981525060405160200161029c9190610bd0565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f556f18300000000000000000000000000000000000000000000000000000000082526102fe9594939291600401610ccb565b60405180910390fd5b505b6000826103165784610318565b855b90507fffffffff0000000000000000000000000000000000000000000000000000000081161561043d573073ffffffffffffffffffffffffffffffffffffffff1681838660405160240161036d929190610b36565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516103f69190610dbc565b600060405180830381855afa9150503d8060008114610431576040519150601f19603f3d011682016040523d82523d6000602084013e610436565b606091505b5090935091505b821561044b57815160208301f35b815160208301fd5b60003073ffffffffffffffffffffffffffffffffffffffff83160361047a57506001919050565b6113885a6000806000808786fa50815a909103109392505050565b600060608373ffffffffffffffffffffffffffffffffffffffff16856104db577f00000000000000000000000000000000000000000000000000000000000000006104dd565b5a5b846040516104eb9190610dbc565b6000604051808303818686fa925050503d8060008114610527576040519150601f19603f3d011682016040523d82523d6000602084013e61052c565b606091505b5090969095509350505050565b6040805160a081018252600080825260606020830181905292820183905282820152608081019190915261058361057e8360048086516105799190610e07565b610589565b6105e6565b92915050565b60608167ffffffffffffffff8111156105a4576105a4610786565b6040519080825280601f01601f1916602001820160405280156105ce576020820181803683370190505b5090506105df848483600086610677565b9392505050565b6040805160a0810182526000808252606060208301819052928201839052828201526080810191909152818060200190518101906106249190610e1a565b60808601527fffffffff000000000000000000000000000000000000000000000000000000001660608501526040840152602083015273ffffffffffffffffffffffffffffffffffffffff168152919050565b61068a856106858387610f7e565b6106b4565b610698836106858385610f7e565b6106ad82602085010185602088010183610700565b5050505050565b81518111156106fc5781516040517f8a3c1cfb0000000000000000000000000000000000000000000000000000000081526102fe918391600401918252602082015260400190565b5050565b5b601f81111561073f5781518352602092830192909101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001610701565b80156101125790518251600160209390930360031b9290921b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0180199091169116179052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156107d8576107d8610786565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561082557610825610786565b604052919050565b600067ffffffffffffffff82111561084757610847610786565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261088457600080fd5b81356108976108928261082d565b6107de565b8181528460208386010111156108ac57600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156108dc57600080fd5b823567ffffffffffffffff8111156108f357600080fd5b6108ff85828601610873565b925050602083013567ffffffffffffffff81111561091c57600080fd5b61092885828601610873565b9150509250929050565b73ffffffffffffffffffffffffffffffffffffffff8116811461095457600080fd5b50565b805161096281610932565b919050565b80517fffffffff000000000000000000000000000000000000000000000000000000008116811461096257600080fd5b60005b838110156109b257818101518382015260200161099a565b50506000910152565b60006109c96108928461082d565b90508281528383830111156109dd57600080fd5b6105df836020830184610997565b600082601f8301126109fc57600080fd5b6105df838351602085016109bb565b600060208284031215610a1d57600080fd5b815167ffffffffffffffff811115610a3457600080fd5b820160c08185031215610a4657600080fd5b610a4e6107b5565b610a5782610957565b8152610a6560208301610967565b6020820152604082015167ffffffffffffffff811115610a8457600080fd5b610a90868285016109eb565b604083015250610aa260608301610967565b6060820152610ab360808301610967565b608082015260a082015167ffffffffffffffff811115610ad257600080fd5b610ade868285016109eb565b60a083015250949350505050565b60008151808452610b04816020860160208601610997565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b604081526000610b496040830185610aec565b8281036020840152610b5b8185610aec565b95945050505050565b805160208201517fffffffff00000000000000000000000000000000000000000000000000000000811691906004821015610bc9577fffffffff00000000000000000000000000000000000000000000000000000000808360040360031b1b82161692505b5050919050565b6020815273ffffffffffffffffffffffffffffffffffffffff82511660208201527fffffffff0000000000000000000000000000000000000000000000000000000060208301511660408201526000604083015160c06060840152610c3860e0840182610aec565b90507fffffffff0000000000000000000000000000000000000000000000000000000060608501511660808401527fffffffff0000000000000000000000000000000000000000000000000000000060808501511660a084015260a08401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160c0850152610b5b8282610aec565b600060a0820173ffffffffffffffffffffffffffffffffffffffff8816835260a0602084015280875180835260c08501915060c08160051b86010192506020890160005b82811015610d5e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff40878603018452610d49858351610aec565b94506020938401939190910190600101610d0f565b505050508281036040840152610d748187610aec565b7fffffffff000000000000000000000000000000000000000000000000000000008616606085015290508281036080840152610db08185610aec565b98975050505050505050565b60008251610dce818460208701610997565b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561058357610583610dd8565b600080600080600060a08688031215610e3257600080fd5b8551610e3d81610932565b602087015190955067ffffffffffffffff811115610e5a57600080fd5b8601601f81018813610e6b57600080fd5b805167ffffffffffffffff811115610e8557610e85610786565b8060051b610e95602082016107de565b9182526020818401810192908101908b841115610eb157600080fd5b6020850192505b83831015610f0c57825167ffffffffffffffff811115610ed757600080fd5b8501603f81018d13610ee857600080fd5b610efa8d6020830151604084016109bb565b83525060209283019290910190610eb8565b8098505050505050604086015167ffffffffffffffff811115610f2e57600080fd5b610f3a888289016109eb565b935050610f4960608701610967565b9150608086015167ffffffffffffffff811115610f6557600080fd5b610f71888289016109eb565b9150509295509295909350565b8082018082111561058357610583610dd856fea2646970667358221220f50fd44b0d8162018be153dfeb4a888c86a74547ba0cfd2b97dd685973e1171d64736f6c634300081a0033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063ef46c0b814610030575b600080fd5b61004361003e3660046108c9565b610045565b005b60008180602001905181019061005b9190610a0b565b905061011281600001518260200151858460400151604051602401610081929190610b36565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526060840151608085015160a0860151610117565b505050565b60008061012d61012688610453565b8888610495565b915091508115801561018857507f556f18300000000000000000000000000000000000000000000000000000000061016482610b64565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b1561030957600061019882610539565b90508773ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff160361030757308160200151826040015163ef46c0b860e01b6040518060c001604052808d73ffffffffffffffffffffffffffffffffffffffff16815260200186606001517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001866080015181526020018b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020018a7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020018981525060405160200161029c9190610bd0565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f556f18300000000000000000000000000000000000000000000000000000000082526102fe9594939291600401610ccb565b60405180910390fd5b505b6000826103165784610318565b855b90507fffffffff0000000000000000000000000000000000000000000000000000000081161561043d573073ffffffffffffffffffffffffffffffffffffffff1681838660405160240161036d929190610b36565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516103f69190610dbc565b600060405180830381855afa9150503d8060008114610431576040519150601f19603f3d011682016040523d82523d6000602084013e610436565b606091505b5090935091505b821561044b57815160208301f35b815160208301fd5b60003073ffffffffffffffffffffffffffffffffffffffff83160361047a57506001919050565b6113885a6000806000808786fa50815a909103109392505050565b600060608373ffffffffffffffffffffffffffffffffffffffff16856104db577f00000000000000000000000000000000000000000000000000000000000000006104dd565b5a5b846040516104eb9190610dbc565b6000604051808303818686fa925050503d8060008114610527576040519150601f19603f3d011682016040523d82523d6000602084013e61052c565b606091505b5090969095509350505050565b6040805160a081018252600080825260606020830181905292820183905282820152608081019190915261058361057e8360048086516105799190610e07565b610589565b6105e6565b92915050565b60608167ffffffffffffffff8111156105a4576105a4610786565b6040519080825280601f01601f1916602001820160405280156105ce576020820181803683370190505b5090506105df848483600086610677565b9392505050565b6040805160a0810182526000808252606060208301819052928201839052828201526080810191909152818060200190518101906106249190610e1a565b60808601527fffffffff000000000000000000000000000000000000000000000000000000001660608501526040840152602083015273ffffffffffffffffffffffffffffffffffffffff168152919050565b61068a856106858387610f7e565b6106b4565b610698836106858385610f7e565b6106ad82602085010185602088010183610700565b5050505050565b81518111156106fc5781516040517f8a3c1cfb0000000000000000000000000000000000000000000000000000000081526102fe918391600401918252602082015260400190565b5050565b5b601f81111561073f5781518352602092830192909101907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe001610701565b80156101125790518251600160209390930360031b9290921b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0180199091169116179052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156107d8576107d8610786565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561082557610825610786565b604052919050565b600067ffffffffffffffff82111561084757610847610786565b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b600082601f83011261088457600080fd5b81356108976108928261082d565b6107de565b8181528460208386010111156108ac57600080fd5b816020850160208301376000918101602001919091529392505050565b600080604083850312156108dc57600080fd5b823567ffffffffffffffff8111156108f357600080fd5b6108ff85828601610873565b925050602083013567ffffffffffffffff81111561091c57600080fd5b61092885828601610873565b9150509250929050565b73ffffffffffffffffffffffffffffffffffffffff8116811461095457600080fd5b50565b805161096281610932565b919050565b80517fffffffff000000000000000000000000000000000000000000000000000000008116811461096257600080fd5b60005b838110156109b257818101518382015260200161099a565b50506000910152565b60006109c96108928461082d565b90508281528383830111156109dd57600080fd5b6105df836020830184610997565b600082601f8301126109fc57600080fd5b6105df838351602085016109bb565b600060208284031215610a1d57600080fd5b815167ffffffffffffffff811115610a3457600080fd5b820160c08185031215610a4657600080fd5b610a4e6107b5565b610a5782610957565b8152610a6560208301610967565b6020820152604082015167ffffffffffffffff811115610a8457600080fd5b610a90868285016109eb565b604083015250610aa260608301610967565b6060820152610ab360808301610967565b608082015260a082015167ffffffffffffffff811115610ad257600080fd5b610ade868285016109eb565b60a083015250949350505050565b60008151808452610b04816020860160208601610997565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b604081526000610b496040830185610aec565b8281036020840152610b5b8185610aec565b95945050505050565b805160208201517fffffffff00000000000000000000000000000000000000000000000000000000811691906004821015610bc9577fffffffff00000000000000000000000000000000000000000000000000000000808360040360031b1b82161692505b5050919050565b6020815273ffffffffffffffffffffffffffffffffffffffff82511660208201527fffffffff0000000000000000000000000000000000000000000000000000000060208301511660408201526000604083015160c06060840152610c3860e0840182610aec565b90507fffffffff0000000000000000000000000000000000000000000000000000000060608501511660808401527fffffffff0000000000000000000000000000000000000000000000000000000060808501511660a084015260a08401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08483030160c0850152610b5b8282610aec565b600060a0820173ffffffffffffffffffffffffffffffffffffffff8816835260a0602084015280875180835260c08501915060c08160051b86010192506020890160005b82811015610d5e577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff40878603018452610d49858351610aec565b94506020938401939190910190600101610d0f565b505050508281036040840152610d748187610aec565b7fffffffff000000000000000000000000000000000000000000000000000000008616606085015290508281036080840152610db08185610aec565b98975050505050505050565b60008251610dce818460208701610997565b9190910192915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b8181038181111561058357610583610dd8565b600080600080600060a08688031215610e3257600080fd5b8551610e3d81610932565b602087015190955067ffffffffffffffff811115610e5a57600080fd5b8601601f81018813610e6b57600080fd5b805167ffffffffffffffff811115610e8557610e85610786565b8060051b610e95602082016107de565b9182526020818401810192908101908b841115610eb157600080fd5b6020850192505b83831015610f0c57825167ffffffffffffffff811115610ed757600080fd5b8501603f81018d13610ee857600080fd5b610efa8d6020830151604084016109bb565b83525060209283019290910190610eb8565b8098505050505050604086015167ffffffffffffffff811115610f2e57600080fd5b610f3a888289016109eb565b935050610f4960608701610967565b9150608086015167ffffffffffffffff811115610f6557600080fd5b610f71888289016109eb565b9150509295509295909350565b8082018082111561058357610583610dd856fea2646970667358221220f50fd44b0d8162018be153dfeb4a888c86a74547ba0cfd2b97dd685973e1171d64736f6c634300081a0033",
  "linkReferences": {},
  "deployedLinkReferences": {},
  "immutableReferences": {
    "12147": [
      {
        "length": 32,
        "start": 1207
      }
    ]
  },
  "inputSourceName": "project/contracts/ccipRead/CCIPReader.sol",
  "buildInfoId": "solc-0_8_26-f05bdccb11f2cf6df865fc6a27a95b5ace6017ea"
}