/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; import { Provider, TransactionRequest } from "@ethersproject/providers"; import type { MockLazyNFTReentrant, MockLazyNFTReentrantInterface, } from "../MockLazyNFTReentrant"; const _abi = [ { inputs: [ { internalType: "address", name: "_addy", type: "address", }, ], stateMutability: "nonpayable", type: "constructor", }, { inputs: [], name: "attack", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "", type: "address", }, { internalType: "address", name: "", type: "address", }, { internalType: "uint256", name: "", type: "uint256", }, { internalType: "bytes", name: "", type: "bytes", }, ], name: "onERC721Received", outputs: [ { internalType: "bytes4", name: "", type: "bytes4", }, ], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "bool", name: "_onReceive", type: "bool", }, ], name: "setAttackOnReceive", outputs: [], stateMutability: "nonpayable", type: "function", }, { stateMutability: "payable", type: "receive", }, ]; const _bytecode = "0x608060405234801561001057600080fd5b5060405161070038038061070083398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b61066d806100936000396000f3fe6080604052600436106100385760003560e01c8063150b7a02146101305780639e5faafc14610185578063b7991a841461019a57600080fd5b3661012b57600054600160a01b900460ff161561012957604080516000808252602082019092529054610126906001600160a01b0316632f52ebb760e01b61008560018560448101610476565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050670de0b6b3a76400006040518060400160405280600681526020017f4641494c454400000000000000000000000000000000000000000000000000008152506101ee565b50505b005b600080fd5b34801561013c57600080fd5b5061015061014b3660046104e3565b610332565b6040517fffffffff00000000000000000000000000000000000000000000000000000000909116815260200160405180910390f35b34801561019157600080fd5b5061012961038e565b3480156101a657600080fd5b506101296101b53660046105bf565b60008054911515600160a01b027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60608247101561026b5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b843b6102b95760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610262565b600080866001600160a01b031685876040516102d59190610611565b60006040518083038185875af1925050503d8060008114610312576040519150601f19603f3d011682016040523d82523d6000602084013e610317565b606091505b5091509150610327828286610420565b979650505050505050565b60008054600160a01b900460ff1661037d5760408051600080825260208201909252905461037a906001600160a01b0316632f52ebb760e01b61008560018560448101610476565b50505b50630a85bd0160e11b949350505050565b67d02ab486cedc00004710156103e65760405162461bcd60e51b815260206004820152600860248201527f3e3d2031356574680000000000000000000000000000000000000000000000006044820152606401610262565b60408051600080825260208201909252905461041c906001600160a01b0316632f52ebb760e01b61008560018560448101610476565b5050565b6060831561042f575081610459565b82511561043f5782518084602001fd5b8160405162461bcd60e51b8152600401610262919061062d565b9392505050565b634e487b7160e01b600052604160045260246000fd5b60006040820160ff851683526020604081850152818551808452606086019150828701935060005b818110156104ba5784518352938301939183019160010161049e565b5090979650505050505050565b80356001600160a01b03811681146104de57600080fd5b919050565b600080600080608085870312156104f957600080fd5b610502856104c7565b9350610510602086016104c7565b925060408501359150606085013567ffffffffffffffff8082111561053457600080fd5b818701915087601f83011261054857600080fd5b81358181111561055a5761055a610460565b604051601f8201601f19908116603f0116810190838211818310171561058257610582610460565b816040528281528a602084870101111561059b57600080fd5b82602086016020830137600060208483010152809550505050505092959194509250565b6000602082840312156105d157600080fd5b8135801515811461045957600080fd5b60005b838110156105fc5781810151838201526020016105e4565b8381111561060b576000848401525b50505050565b600082516106238184602087016105e1565b9190910192915050565b602081526000825180602084015261064c8160408501602087016105e1565b601f01601f1916919091016040019291505056fea164736f6c6343000809000a"; type MockLazyNFTReentrantConstructorParams = | [signer?: Signer] | ConstructorParameters; const isSuperArgs = ( xs: MockLazyNFTReentrantConstructorParams ): xs is ConstructorParameters => xs.length > 1; export class MockLazyNFTReentrant__factory extends ContractFactory { constructor(...args: MockLazyNFTReentrantConstructorParams) { if (isSuperArgs(args)) { super(...args); } else { super(_abi, _bytecode, args[0]); } } deploy( _addy: string, overrides?: Overrides & { from?: string | Promise } ): Promise { return super.deploy( _addy, overrides || {} ) as Promise; } getDeployTransaction( _addy: string, overrides?: Overrides & { from?: string | Promise } ): TransactionRequest { return super.getDeployTransaction(_addy, overrides || {}); } attach(address: string): MockLazyNFTReentrant { return super.attach(address) as MockLazyNFTReentrant; } connect(signer: Signer): MockLazyNFTReentrant__factory { return super.connect(signer) as MockLazyNFTReentrant__factory; } static readonly bytecode = _bytecode; static readonly abi = _abi; static createInterface(): MockLazyNFTReentrantInterface { return new utils.Interface(_abi) as MockLazyNFTReentrantInterface; } static connect( address: string, signerOrProvider: Signer | Provider ): MockLazyNFTReentrant { return new Contract( address, _abi, signerOrProvider ) as MockLazyNFTReentrant; } }