[ { "inputs": [], "name": "ALREADY_INITIALIZED", "type": "error" }, { "inputs": [], "name": "ARRAY_LENGTH_MISMATCH", "type": "error" }, { "inputs": [], "name": "ONLY_OWNER", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "_target", "type": "address" }, { "internalType": "bytes", "name": "_cd", "type": "bytes" }, { "internalType": "uint256", "name": "_value", "type": "uint256" } ], "name": "forwardCall", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "_targets", "type": "address[]" }, { "internalType": "bytes[]", "name": "_calldatas", "type": "bytes[]" }, { "internalType": "uint256[]", "name": "_values", "type": "uint256[]" } ], "name": "forwardCallBatch", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "_receiver", "type": "address" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "values", "type": "uint256[]" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "name": "onERC1155BatchReceived", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "name": "onERC1155Received", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "name": "onERC721Received", "outputs": [ { "internalType": "bytes4", "name": "", "type": "bytes4" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "pure", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
6080806040523461001657610c95908161001c8239f35b600080fdfe6080604090808252600490813610156100ad575b50361561001f57600080fd5b600080808073ffffffffffffffffffffffffffffffffffffffff6001541634905af16100496109a5565b501561005157005b602060649251917f08c379a0000000000000000000000000000000000000000000000000000000008352820152600e60248201527f4661696c656420746f2073656e640000000000000000000000000000000000006044820152fd5b600090813560e01c90816301ffc9a71461072857508063150b7a021461061d578063485cc955146105585780638363da72146104b4578063bc197c811461031f578063c0951d6b1461024e5763f23a6e6103610013579190346102465760a07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102465761013c6107e5565b5061014561080d565b5060843567ffffffffffffffff811161024a576101659036908301610830565b50508273ffffffffffffffffffffffffffffffffffffffff6001541683519261018d8461094c565b828452333b15610246576101ef855194859384937ff242432a000000000000000000000000000000000000000000000000000000008552309085015260248401526044356044840152606435606484015260a0608484015260a483019061088f565b038183335af1801561023a576020935061022b575b50517ff23a6e61000000000000000000000000000000000000000000000000000000008152f35b61023490610909565b38610204565b505051903d90823e3d90fd5b8280fd5b8380fd5b50829060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261031c576102836107e5565b60243567ffffffffffffffff8111610246576102a29036908601610830565b9073ffffffffffffffffffffffffffffffffffffffff84541633036102f45784955081849551928392833781018481520391604435905af16102f06102e56109a5565b9251928392836108ed565b0390f35b8585517fd238ed59000000000000000000000000000000000000000000000000000000008152fd5b80fd5b5091903461024657827ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc60a0813601126104b05761035b6107e5565b5061036461080d565b5067ffffffffffffffff9260443584811161024a57610386903690830161085e565b9490926064358281116104ac576103a0903690850161085e565b926084359081116104a8576103b89036908601610830565b505073ffffffffffffffffffffffffffffffffffffffff60015416948851916103e08361094c565b878352333b156104a4576104599461043a61044a938c519b8c9a8b9a7f2eb2c2d6000000000000000000000000000000000000000000000000000000008c5230908c015260248b015260a060448b015260a48a0191610968565b9185888403016064890152610968565b9184830301608485015261088f565b038183335af1801561023a5760209350610495575b50517fbc197c81000000000000000000000000000000000000000000000000000000008152f35b61049e90610909565b3861046e565b8780fd5b8680fd5b8580fd5b5080fd5b50919060607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126102465767ffffffffffffffff813581811161055457610500903690840161085e565b9490926024358381116102465761051a903690830161085e565b93909260443591821161031c57509161053f6102f0979492610547969436910161085e565b949093610a4d565b92909151928392836108ed565b8480fd5b5082346104b057807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126104b0576105906107e5565b61059861080d565b9083549073ffffffffffffffffffffffffffffffffffffffff938483166105f55750839495507fffffffffffffffffffffffff00000000000000000000000000000000000000009485911691161784551690600154161760015580f35b8690517f439a74c9000000000000000000000000000000000000000000000000000000008152fd5b509190346102465760807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc360112610246576106576107e5565b5061066061080d565b5060643567ffffffffffffffff811161024a576106809036908301610830565b505073ffffffffffffffffffffffffffffffffffffffff60015416333b1561024a578251917f42842e0e000000000000000000000000000000000000000000000000000000008352309083015260248201526044356044820152828160648183335af1801561023a5760209350610719575b50517f150b7a02000000000000000000000000000000000000000000000000000000008152f35b61072290610909565b386106f2565b905082346102465760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261024657357fffffffff00000000000000000000000000000000000000000000000000000000811680910361024657602092507f4e2312e00000000000000000000000000000000000000000000000000000000081149081156107bb575b5015158152f35b7f80ac58cd00000000000000000000000000000000000000000000000000000000915014836107b4565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361080857565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361080857565b9181601f840112156108085782359167ffffffffffffffff8311610808576020838186019501011161080857565b9181601f840112156108085782359167ffffffffffffffff8311610808576020808501948460051b01011161080857565b919082519283825260005b8481106108d95750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b60208183018101518483018201520161089a565b604090610906939215158152816020820152019061088f565b90565b67ffffffffffffffff811161091d57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6020810190811067ffffffffffffffff82111761091d57604052565b90918281527f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83116108085760209260051b809284830137010190565b3d15610a095767ffffffffffffffff903d82811161091d57604051927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f81601f85011601168401908482109082111761091d5760405282523d6000602084013e565b606090565b9190811015610a1e5760051b0190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b95939291909473ffffffffffffffffffffffffffffffffffffffff93600096858854163303610c355780158015610c2b575b8015610c21575b610bf757875b818110610ab2575050505050505090915060019160405190610aad8261094c565b815290565b610abd81838c610a0e565b358781168103610bf357610ad2828686610a0e565b3587831015610bc6578260051b8701357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe188360301811215610bc25787019081359167ffffffffffffffff8311610bbe576020018236038113610bbe57918c93918493826040519384928337810185815203925af1610b4f6109a5565b9015610bb257507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610b8557600101610a8c565b6024897f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b98995050505050505050565b8c80fd5b8b80fd5b60248b7f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b8980fd5b60046040517f88adebd2000000000000000000000000000000000000000000000000000000008152fd5b5082811415610a86565b5084811415610a7f565b60046040517fd238ed59000000000000000000000000000000000000000000000000000000008152fdfea2646970667358221220025b777292507ce0ad6ed7c4ca257687aad45312d5c9f129de84000f16d01acd64736f6c63430008130033