/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
import {
  Contract,
  ContractFactory,
  ContractTransactionResponse,
  Interface,
} from "ethers";
import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers";
import type { NonPayableOverrides } from "../../common";
import type {
  DeployBlocklockReceiver,
  DeployBlocklockReceiverInterface,
} from "../../DeployBlocklockReceiver.s.sol/DeployBlocklockReceiver";

const _abi = [
  {
    type: "function",
    name: "IS_SCRIPT",
    inputs: [],
    outputs: [
      {
        name: "",
        type: "bool",
        internalType: "bool",
      },
    ],
    stateMutability: "view",
  },
  {
    type: "function",
    name: "run",
    inputs: [],
    outputs: [],
    stateMutability: "nonpayable",
  },
] as const;

const _bytecode =
  "0x6080604052600c805462ff00ff191662010001179055348015601f575f5ffd5b5061239e8061002d5f395ff3fe608060405234801561000f575f5ffd5b5060043610610034575f3560e01c8063c040622614610038578063f8ccbf4714610042575b5f5ffd5b610040610069565b005b600c546100559062010000900460ff1681565b604051901515815260200160405180910390f35b5f6100d6604051806040016040528060158152602001742232b83637bcb6b2b73a2fb4b7383aba173539b7b760591b8152506040518060400160405280601b81526020017f626c6f636b6c6f636b53656e64657250726f78794164647265737300000000008152506100e5565b90506100e181610213565b5050565b5f5f6100f084610510565b6040516360f9bb1160e01b81529091505f90737109709ecfa91a80626ff3989d68f67f5b1dd12d906360f9bb119061012c90859060040161065b565b5f60405180830381865afa158015610146573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261016d9190810190610688565b90505f846040516020016101819190610752565b60408051601f1981840301815290829052631e19e65760e01b82529150737109709ecfa91a80626ff3989d68f67f5b1dd12d90631e19e657906101ca9085908590600401610767565b602060405180830381865afa1580156101e5573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102099190610794565b9695505050505050565b5f5f6040518060200161022590610620565b601f1982820381018352601f9091011660408181526001600160a01b03861660208301520160408051601f198184030181529082905261026892916020016107ba565b6040516020818303038152906040529050737109709ecfa91a80626ff3989d68f67f5b1dd12d6001600160a01b031663afc980406040518163ffffffff1660e01b81526004015f604051808303815f87803b1580156102c5575f5ffd5b505af11580156102d7573d5f5f3e3d5ffd5b5050604051637ed1ec7d60e01b81526020600482015260136024820152725553455f52414e44414d555f464143544f525960681b60448201525f9250737109709ecfa91a80626ff3989d68f67f5b1dd12d9150637ed1ec7d90606401602060405180830381865afa15801561034e573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061037291906107d6565b156104a25760405163350d56bf60e01b815260206004820152602860248201527f52414e44414d555f435245415445325f464143544f52595f434f4e54524143546044820152675f4144445245535360c01b6064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063350d56bf90608401602060405180830381865afa158015610403573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104279190610794565b6040516366e5bb0560e11b81526001600160a01b03919091169063cdcb760a906104589060779086906004016107f5565b6020604051808303815f875af1158015610474573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104989190610794565b90508092506104e7565b60775f1b846040516104b390610620565b6001600160a01b0390911681526020018190604051809103905ff59050801580156104e0573d5f5f3e3d5ffd5b5092508290505b61050960405180606001604052806023815260200161234660239139826105b5565b5050919050565b60605f737109709ecfa91a80626ff3989d68f67f5b1dd12d6001600160a01b031663d930a0e66040518163ffffffff1660e01b81526004015f60405180830381865afa158015610562573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526105899190810190610688565b9050808360405160200161059e92919061080d565b604051602081830303815290604052915050919050565b6100e182826040516024016105cb929190610838565b60408051601f198184030181529190526020810180516001600160e01b031663319af33360e01b1790526105fe81610601565b50565b5f6a636f6e736f6c652e6c6f6790505f5f835160208501845afa505050565b611ae48061086283390190565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f61066d602083018461062d565b9392505050565b634e487b7160e01b5f52604160045260245ffd5b5f60208284031215610698575f5ffd5b815167ffffffffffffffff8111156106ae575f5ffd5b8201601f810184136106be575f5ffd5b805167ffffffffffffffff8111156106d8576106d8610674565b604051601f8201601f19908116603f0116810167ffffffffffffffff8111828210171561070757610707610674565b60405281815282820160200186101561071e575f5ffd5b8160208401602083015e5f91810160200191909152949350505050565b5f81518060208401855e5f93019283525090919050565b601760f91b81525f61066d600183018461073b565b604081525f610779604083018561062d565b828103602084015261078b818561062d565b95945050505050565b5f602082840312156107a4575f5ffd5b81516001600160a01b038116811461066d575f5ffd5b5f6107ce6107c8838661073b565b8461073b565b949350505050565b5f602082840312156107e6575f5ffd5b8151801515811461066d575f5ffd5b828152604060208201525f6107ce604083018461062d565b5f610818828561073b565b6c2f7363726970742f6a736f6e2f60981b815261078b600d82018561073b565b604081525f61084a604083018561062d565b905060018060a01b0383166020830152939250505056fe608060405234801561000f575f5ffd5b50604051611ae4380380611ae483398101604081905261002e91610186565b8033805f816100845760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f7420736574206f776e657220746f207a65726f000000000000000060448201526064015b60405180910390fd5b5f80546001600160a01b0319166001600160a01b03848116919091179091558116156100b3576100b3816100de565b5050600280546001600160a01b0319166001600160a01b039390931692909217909155506101b39050565b336001600160a01b038216036101365760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c66000000000000000000604482015260640161007b565b600180546001600160a01b0319166001600160a01b038381169182179092555f8054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b5f60208284031215610196575f5ffd5b81516001600160a01b03811681146101ac575f5ffd5b9392505050565b611924806101c05f395ff3fe60806040526004361061011d575f3560e01c8063809800431161009d57806397a9c2851161006257806397a9c28514610321578063b8ca8dd814610336578063b96dbba714610355578063e64a66ea1461035d578063f2fde38b14610365575f5ffd5b8063809800431461027157806386e560be146102905780638da5cb5b146102b357806393b9740a146102e357806393d81d5814610302575f5ffd5b80634d3de353116100e35780634d3de353146101d85780634fa26d40146101eb57806359608fda1461020a5780635d9418021461023e57806379ba50971461025d575f5ffd5b80626d6cae1461016057806309c1ba2e1461018857806312065fe01461019d5780631d2b2afd146101af57806336bfffed146101b9575f5ffd5b3661015c57604080513381523460208201527f88a5966d370b9919b20f3e2c13ff65706f196a4e32cc2c12bf57088f88525874910160405180910390a1005b5f5ffd5b34801561016b575f5ffd5b5061017560045481565b6040519081526020015b60405180910390f35b348015610193575f5ffd5b5061017560035481565b3480156101a8575f5ffd5b5047610175565b6101b7610384565b005b3480156101c4575f5ffd5b506101b76101d33660046111c2565b61042b565b6101756101e6366004611278565b610528565b3480156101f6575f5ffd5b506101b761020536600461131b565b61058b565b348015610215575f5ffd5b50610229610224366004611278565b610615565b6040805192835260208301919091520161017f565b348015610249575f5ffd5b506101b761025836600461133b565b610680565b348015610268575f5ffd5b506101b76106e5565b34801561027c575f5ffd5b506101b761028b366004611383565b61078e565b34801561029b575f5ffd5b506102a46107c8565b60405161017f9392919061140d565b3480156102be575f5ffd5b505f546001600160a01b03165b6040516001600160a01b03909116815260200161017f565b3480156102ee575f5ffd5b506002546102cb906001600160a01b031681565b34801561030d575f5ffd5b506101b761031c36600461131b565b610954565b34801561032c575f5ffd5b50610175600b5481565b348015610341575f5ffd5b506101b7610350366004611448565b610968565b6101b7610a3b565b6101b7610a82565b348015610370575f5ffd5b506101b761037f36600461131b565b610b01565b6003545f036103c85760405162461bcd60e51b815260206004820152600b60248201526a1cdd58881b9bdd081cd95d60aa1b60448201526064015b60405180910390fd5b60025460035460405163256d573f60e21b815260048101919091526001600160a01b03909116906395b55cfc9034906024015b5f604051808303818588803b158015610412575f5ffd5b505af1158015610424573d5f5f3e3d5ffd5b5050505050565b610433610b12565b6003545f036104745760405162461bcd60e51b815260206004820152600d60248201526c1cdd589251081b9bdd081cd95d609a1b60448201526064016103bf565b5f5b81811015610523576002546003546001600160a01b039091169063bec4c08c908585858181106104a8576104a8611472565b90506020020160208101906104bd919061131b565b6040516001600160e01b031960e085901b16815260048101929092526001600160a01b031660248201526044015f604051808303815f87803b158015610501575f5ffd5b505af1158015610513573d5f5f3e3d5ffd5b5050600190920191506104769050565b505050565b5f5f61056b8686868080601f0160208091040260200160405190810160405280939291908181526020018383808284375f92019190915250889250610b66915050565b6004819055905082600561057f8282611613565b50909695505050505050565b610593610b12565b6001600160a01b0381166105f35760405162461bcd60e51b815260206004820152602160248201527f43616e6e6f7420736574207a65726f20616464726573732061732073656e64656044820152603960f91b60648201526084016103bf565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b5f5f5f5f61065a8888888080601f0160208091040260200160405190810160405280939291908181526020018383808284375f920191909152508a9250610be4915050565b600482905590925090508460056106718282611613565b50919890975095505050505050565b6002546001600160a01b031633146106da5760405162461bcd60e51b815260206004820181905260248201527f4f6e6c7920626c6f636b6c6f636b20636f6e74726163742063616e2063616c6c60448201526064016103bf565b610523838383610cda565b6001546001600160a01b031633146107385760405162461bcd60e51b815260206004820152601660248201527526bab9ba10313290383937b837b9b2b21037bbb732b960511b60448201526064016103bf565b5f8054336001600160a01b0319808316821784556001805490911690556040516001600160a01b0390921692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a350565b610796610b12565b600381905560405181907f5f479ac993925efae23839aa1c813b6ecb2fe1bbd14dc78295ab267d2fca4368905f90a250565b604080516080810180835260059283918391820190839060029082845b8154815260200190600101908083116107e557505050918352505060408051808201918290526020909201919060028481019182845b81548152602001906001019080831161081b5750505050508152505090806004018054610847906114dd565b80601f0160208091040260200160405190810160405280929190818152602001828054610873906114dd565b80156108be5780601f10610895576101008083540402835291602001916108be565b820191905f5260205f20905b8154815290600101906020018083116108a157829003601f168201915b5050505050908060050180546108d3906114dd565b80601f01602080910402602001604051908101604052809291908181526020018280546108ff906114dd565b801561094a5780601f106109215761010080835404028352916020019161094a565b820191905f5260205f20905b81548152906001019060200180831161092d57829003601f168201915b5050505050905083565b61095c610b12565b61096581610ee2565b50565b610970610b12565b814710156109c05760405162461bcd60e51b815260206004820152601e60248201527f496e73756666696369656e742066756e647320696e20636f6e7472616374000060448201526064016103bf565b6040516001600160a01b0382169083156108fc029084905f818181858888f193505050501580156109f3573d5f5f3e3d5ffd5b50806001600160a01b03167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d583604051610a2f91815260200190565b60405180910390a25050565b610a43610b12565b610a4b610f7a565b600381905560025460405163256d573f60e21b815260048101929092526001600160a01b0316906395b55cfc9034906024016103fb565b5f3411610aca5760405162461bcd60e51b81526020600482015260166024820152750b2deea40daeae6e840e6cadcc840e6dedaca408aa8960531b60448201526064016103bf565b60405134815233907f5af8184bef8e4b45eb9f6ed7734d04da38ced226495548f46e0c8ff8d7d9a5249060200160405180910390a2565b610b09610b12565b610965816110a4565b5f546001600160a01b03163314610b645760405162461bcd60e51b815260206004820152601660248201527527b7363c9031b0b63630b1363290313c9037bbb732b960511b60448201526064016103bf565b565b6002546003546040516262b1d960e41b81525f926001600160a01b03169163062b1d9091610b9c91889188908890600401611754565b6020604051808303815f875af1158015610bb8573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bdc9190611795565b949350505050565b600254604051634b16093560e01b815263ffffffff851660048201525f9182916001600160a01b0390911690634b16093590602401602060405180830381865afa158015610c34573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c589190611795565b600254604051637909dc7b60e01b81529192506001600160a01b031690637909dc7b908390610c8f908990899089906004016117ac565b60206040518083038185885af1158015610cab573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610cd09190611795565b9150935093915050565b8260045414610d215760405162461bcd60e51b815260206004820152601360248201527224b73b30b634b2103932b8bab2b9ba1034b21760691b60448201526064016103bf565b6040805160e08101909152610ec79060058160608101828160a084018260028282826020028201915b815481526020019060010190808311610d4a57505050918352505060408051808201918290526020909201919060028481019182845b815481526020019060010190808311610d80575050505050815250508152602001600482018054610db0906114dd565b80601f0160208091040260200160405190810160405280929190818152602001828054610ddc906114dd565b8015610e275780601f10610dfe57610100808354040283529160200191610e27565b820191905f5260205f20905b815481529060010190602001808311610e0a57829003601f168201915b50505050508152602001600582018054610e40906114dd565b80601f0160208091040260200160405190810160405280929190818152602001828054610e6c906114dd565b8015610eb75780601f10610e8e57610100808354040283529160200191610eb7565b820191905f5260205f20905b815481529060010190602001808311610e9a57829003601f168201915b505050505081525050838361114c565b806020019051810190610eda9190611795565b600b55505050565b6003545f03610f2c5760405162461bcd60e51b8152602060048201526016602482015275537562736372697074696f6e4964206973207a65726f60501b60448201526064016103bf565b600254600354604051622b825560e61b815260048101919091526001600160a01b03838116602483015290911690630ae09540906044015f604051808303815f87803b158015610412575f5ffd5b5f6003545f14610fcc5760405162461bcd60e51b815260206004820152601a60248201527f537562736372697074696f6e4964206973206e6f74207a65726f00000000000060448201526064016103bf565b60025f9054906101000a90046001600160a01b03166001600160a01b031663a21a23e46040518163ffffffff1660e01b81526004016020604051808303815f875af115801561101d573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110419190611795565b600254604051632fb1302360e21b8152600481018390523060248201529192506001600160a01b03169063bec4c08c906044015f604051808303815f87803b15801561108b575f5ffd5b505af115801561109d573d5f5f3e3d5ffd5b5050505090565b336001600160a01b038216036110fc5760405162461bcd60e51b815260206004820152601760248201527f43616e6e6f74207472616e7366657220746f2073656c6600000000000000000060448201526064016103bf565b600180546001600160a01b0319166001600160a01b038381169182179092555f8054604051929316917fed8889f560326eb138920d842192f0eb3dd22b4f139c87a2c57538e05bae12789190a350565b60025460405163326f063160e21b81526060916001600160a01b03169063c9bc18c490611181908790879087906004016117dc565b5f60405180830381865afa15801561119b573d5f5f3e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610bdc919081019061183b565b5f5f602083850312156111d3575f5ffd5b823567ffffffffffffffff8111156111e9575f5ffd5b8301601f810185136111f9575f5ffd5b803567ffffffffffffffff81111561120f575f5ffd5b8560208260051b8401011115611223575f5ffd5b6020919091019590945092505050565b5f5f83601f840112611243575f5ffd5b50813567ffffffffffffffff81111561125a575f5ffd5b602083019150836020828501011115611271575f5ffd5b9250929050565b5f5f5f5f6060858703121561128b575f5ffd5b843563ffffffff8116811461129e575f5ffd5b9350602085013567ffffffffffffffff8111156112b9575f5ffd5b6112c587828801611233565b909450925050604085013567ffffffffffffffff8111156112e4575f5ffd5b850160c081880312156112f5575f5ffd5b939692955090935050565b80356001600160a01b0381168114611316575f5ffd5b919050565b5f6020828403121561132b575f5ffd5b61133482611300565b9392505050565b5f5f5f6040848603121561134d575f5ffd5b83359250602084013567ffffffffffffffff81111561136a575f5ffd5b61137686828701611233565b9497909650939450505050565b5f60208284031215611393575f5ffd5b5035919050565b805f5b60028110156113bc57815184526020938401939091019060010161139d565b50505050565b6113cd82825161139a565b6020810151610523604084018261139a565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b61141781856113c2565b60c060808201525f61142c60c08301856113df565b82810360a084015261143e81856113df565b9695505050505050565b5f5f60408385031215611459575f5ffd5b8235915061146960208401611300565b90509250929050565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f5f8335601e198436030181126114af575f5ffd5b83018035915067ffffffffffffffff8211156114c9575f5ffd5b602001915036819003821315611271575f5ffd5b600181811c908216806114f157607f821691505b60208210810361150f57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561052357805f5260205f20601f840160051c8101602085101561153a5750805b601f840160051c820191505b81811015610424575f8155600101611546565b67ffffffffffffffff83111561157157611571611486565b6115858361157f83546114dd565b83611515565b5f601f8411600181146115b6575f851561159f5750838201355b5f19600387901b1c1916600186901b178355610424565b5f83815260208120601f198716915b828110156115e557868501358255602094850194600190920191016115c5565b5086821015611601575f1960f88860031b161c19848701351681555b505060018560011b0183555050505050565b815f5b600281101561163357813583820155602090910190600101611616565b5050604082015f5b600281101561165b5781358382016002015560209091019060010161163b565b505061166a608083018361149a565b611678818360048601611559565b505061168760a083018361149a565b6113bc818360058601611559565b5f5f8335601e198436030181126116aa575f5ffd5b830160208101925035905067ffffffffffffffff8111156116c9575f5ffd5b803603821315611271575f5ffd5b81835281816020850137505f828201602090810191909152601f909101601f19169091010190565b6040818337604080820160408401375f61171c6080830183611695565b60c0608086015261173160c0860182846116d7565b91505061174160a0840184611695565b85830360a087015261143e8382846116d7565b63ffffffff85168152836020820152608060408201525f61177860808301856113df565b828103606084015261178a81856116ff565b979650505050505050565b5f602082840312156117a5575f5ffd5b5051919050565b63ffffffff84168152606060208201525f6117ca60608301856113df565b828103604084015261143e81856116ff565b604081526117ee6040820185516113c2565b5f602085015160c0808401526118086101008401826113df565b90506040860151603f198483030160e085015261182582826113df565b915050828103602084015261143e8185876116d7565b5f6020828403121561184b575f5ffd5b815167ffffffffffffffff811115611861575f5ffd5b8201601f81018413611871575f5ffd5b805167ffffffffffffffff81111561188b5761188b611486565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156118ba576118ba611486565b6040528181528282016020018610156118d1575f5ffd5b8160208401602083015e5f9181016020019190915294935050505056fea2646970667358221220c3b44a1906b2ea323c1b7dd1b7b303f120420afb0c338072e3b98639f89bc6d564736f6c634300081c00334d6f636b426c6f636b6c6f636b5265636569766572206465706c6f7965642061743a20a264697066735822122025874ab2432a81cd05bccf29cf2c02660c10a786db6db40f55c9d2ef8d5c7ff064736f6c634300081c0033";

type DeployBlocklockReceiverConstructorParams =
  | [signer?: Signer]
  | ConstructorParameters<typeof ContractFactory>;

const isSuperArgs = (
  xs: DeployBlocklockReceiverConstructorParams
): xs is ConstructorParameters<typeof ContractFactory> => xs.length > 1;

export class DeployBlocklockReceiver__factory extends ContractFactory {
  constructor(...args: DeployBlocklockReceiverConstructorParams) {
    if (isSuperArgs(args)) {
      super(...args);
    } else {
      super(_abi, _bytecode, args[0]);
    }
  }

  override getDeployTransaction(
    overrides?: NonPayableOverrides & { from?: string }
  ): Promise<ContractDeployTransaction> {
    return super.getDeployTransaction(overrides || {});
  }
  override deploy(overrides?: NonPayableOverrides & { from?: string }) {
    return super.deploy(overrides || {}) as Promise<
      DeployBlocklockReceiver & {
        deploymentTransaction(): ContractTransactionResponse;
      }
    >;
  }
  override connect(
    runner: ContractRunner | null
  ): DeployBlocklockReceiver__factory {
    return super.connect(runner) as DeployBlocklockReceiver__factory;
  }

  static readonly bytecode = _bytecode;
  static readonly abi = _abi;
  static createInterface(): DeployBlocklockReceiverInterface {
    return new Interface(_abi) as DeployBlocklockReceiverInterface;
  }
  static connect(
    address: string,
    runner?: ContractRunner | null
  ): DeployBlocklockReceiver {
    return new Contract(
      address,
      _abi,
      runner
    ) as unknown as DeployBlocklockReceiver;
  }
}
