[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "EmptyReceiverNonEmptyRoyalty", "type": "error" }, { "inputs": [], "name": "EmptyRoyaltyNonEmptyReceiver", "type": "error" }, { "inputs": [], "name": "LengthMismatch", "type": "error" }, { "inputs": [], "name": "NotAMinter", "type": "error" }, { "inputs": [], "name": "RoyaltyTooLarge", "type": "error" }, { "inputs": [], "name": "TransferNotAuthorized", "type": "error" }, { "inputs": [], "name": "UnsafeRecipient", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "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": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "indexed": false, "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" } ], "name": "TransferBatch", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "TransferSingle", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "value", "type": "string" }, { "indexed": true, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "URI", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "owners", "type": "address[]" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" } ], "name": "balanceOfBatch", "outputs": [ { "internalType": "uint256[]", "name": "balances", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "disableAutoApprove", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "enableAutoApprove", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "marketplace", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "buyer", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint256", "name": "editions", "type": "uint256" }, { "internalType": "string", "name": "meta", "type": "string" }, { "internalType": "address", "name": "royaltyReceiver", "type": "address" }, { "internalType": "uint96", "name": "royalty", "type": "uint96" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "minted", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "noAutoApprove", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint256", "name": "price", "type": "uint256" } ], "name": "royaltyInfo", "outputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeBatchTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_marketplace", "type": "address" } ], "name": "setMarketplace", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "uri", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" } ]
60c0604052600c60809081526b125b9d195c9b985b0813919560a21b60a0526003906200002d908262000144565b503480156200003b57600080fd5b5062000047336200004d565b62000210565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000ca57607f821691505b602082108103620000eb57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200013f57600081815260208120601f850160051c810160208610156200011a5750805b601f850160051c820191505b818110156200013b5782815560010162000126565b5050505b505050565b81516001600160401b038111156200016057620001606200009f565b6200017881620001718454620000b5565b84620000f1565b602080601f831160018114620001b05760008415620001975750858301515b600019600386901b1c1916600185901b1785556200013b565b600085815260208120601f198616915b82811015620001e157888601518255948401946001909101908401620001c0565b5085821015620002005787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61185e80620002206000396000f3fe608060405234801561001057600080fd5b506004361061012b5760003560e01c806373ad6c2d116100ad578063e985e9c511610071578063e985e9c5146102e5578063f242432a146102f8578063f2fde38b1461030b578063f9b13ab21461031e578063fd8bf5961461033a57600080fd5b806373ad6c2d146102675780637dc0bf3f1461027a5780638da5cb5b1461029a578063a22cb465146102bf578063abc8c7af146102d257600080fd5b80632d15acd0116100f45780632d15acd0146101e85780632eb2c2d61461020b5780633a065b59146102205780634e1273f41461023f578063715018a61461025f57600080fd5b8062fdd58e1461013057806301ffc9a71461016b57806306fdde031461018e5780630e89341c146101a35780632a55205a146101b6575b600080fd5b61015861013e366004611018565b600060208181529281526040808220909352908152205481565b6040519081526020015b60405180910390f35b61017e610179366004611058565b61034d565b6040519015158152602001610162565b610196610379565b60405161016291906110bb565b6101966101b13660046110ce565b610407565b6101c96101c43660046110e7565b6104a9565b604080516001600160a01b039093168352602083019190915201610162565b61017e6101f6366004611109565b60086020526000908152604090205460ff1681565b61021e6102193660046111ab565b610518565b005b61021e336000908152600860205260409020805460ff19166001179055565b61025261024d366004611266565b610766565b60405161016291906112d2565b61021e61087d565b61021e610275366004611109565b610891565b6101586102883660046110ce565b60046020526000908152604090205481565b6002546001600160a01b03165b6040516001600160a01b039091168152602001610162565b61021e6102cd366004611316565b6108bb565b6007546102a7906001600160a01b031681565b61017e6102f3366004611352565b610927565b61021e610306366004611385565b610994565b61021e610319366004611109565b610b57565b61021e336000908152600860205260409020805460ff19169055565b61021e6103483660046113fd565b610bd5565b600061035882610d5f565b8061037357506001600160e01b0319821663152a902d60e11b145b92915050565b6003805461038690611496565b80601f01602080910402602001604051908101604052809291908181526020018280546103b290611496565b80156103ff5780601f106103d4576101008083540402835291602001916103ff565b820191906000526020600020905b8154815290600101906020018083116103e257829003601f168201915b505050505081565b600081815260056020526040902080546060919061042490611496565b80601f016020809104026020016040519081016040528092919081815260200182805461045090611496565b801561049d5780601f106104725761010080835404028352916020019161049d565b820191906000526020600020905b81548152906001019060200180831161048057829003601f168201915b50505050509050919050565b600082815260066020526040812080548291906001600160a01b03166104d6576000809250925050610511565b80546001600160a01b038116906127109061050190600160a01b90046001600160601b0316876114e6565b61050b91906114fd565b92509250505b9250929050565b84831461053b576040516001621398b960e31b0319815260040160405180910390fd5b336001600160a01b0389161480159061055b57506105598833610927565b155b1561057957604051631f8e654960e11b815260040160405180910390fd5b60008060005b87811015610634578888828181106105995761059961151f565b9050602002013592508686828181106105b4576105b461151f565b6001600160a01b038e16600090815260208181526040808320898452825282208054939091029490940135955085939250906105f1908490611535565b90915550506001600160a01b038a1660009081526020818152604080832086845290915281208054849290610627908490611548565b909155505060010161057f565b50886001600160a01b03168a6001600160a01b0316336001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8b8b8b8b604051610688949392919061158d565b60405180910390a46001600160a01b0389163b156107305760405163bc197c8160e01b808252906001600160a01b038b169063bc197c81906106dc9033908f908e908e908e908e908e908e906004016115e8565b6020604051808303816000875af11580156106fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061071f919061164c565b6001600160e01b031916141561073c565b6001600160a01b038916155b1561075a57604051633da6393160e01b815260040160405180910390fd5b50505050505050505050565b606083821461078b576040516001621398b960e31b0319815260040160405180910390fd5b8367ffffffffffffffff8111156107a4576107a4611669565b6040519080825280602002602001820160405280156107cd578160200160208202803683370190505b50905060005b84811015610874576000808787848181106107f0576107f061151f565b90506020020160208101906108059190611109565b6001600160a01b03166001600160a01b0316815260200190815260200160002060008585848181106108395761083961151f565b905060200201358152602001908152602001600020548282815181106108615761086161151f565b60209081029190910101526001016107d3565b50949350505050565b610885610dad565b61088f6000610e07565b565b610899610dad565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b3360008181526001602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b6007546000906001600160a01b03163314801561095d57506001600160a01b03831660009081526008602052604090205460ff16155b8061098d57506001600160a01b0380841660009081526001602090815260408083209386168352929052205460ff165b9392505050565b336001600160a01b038716148015906109b457506109b28633610927565b155b156109d257604051631f8e654960e11b815260040160405180910390fd5b6001600160a01b03861660009081526020818152604080832087845290915281208054859290610a03908490611535565b90915550506001600160a01b03851660009081526020818152604080832087845290915281208054859290610a39908490611548565b909155505060408051858152602081018590526001600160a01b03808816929089169133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46001600160a01b0385163b15610b255760405163f23a6e6160e01b808252906001600160a01b0387169063f23a6e6190610ad19033908b908a908a908a908a9060040161167f565b6020604051808303816000875af1158015610af0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b14919061164c565b6001600160e01b0319161415610b31565b6001600160a01b038516155b15610b4f57604051633da6393160e01b815260040160405180910390fd5b505050505050565b610b5f610dad565b6001600160a01b038116610bc95760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b610bd281610e07565b50565b6007546001600160a01b03163314801590610bfb57506002546001600160a01b03163314155b15610c195760405163120892f760e31b815260040160405180910390fd5b81816001600160a01b038216158015610c3a57506001600160601b03811615155b15610c585760405163a4319a3960e01b815260040160405180910390fd5b6001600160601b038116158015610c7757506001600160a01b03821615155b15610c9557604051637ebf3a1d60e11b815260040160405180910390fd5b6127106001600160601b0382161115610cc15760405163c0cb3c0560e01b815260040160405180910390fd5b60008881526004602052604081208054899290610cdf908490611548565b90915550506040805180820182526001600160a01b0380871682526001600160601b03808716602080850191825260008e81526006909152949094209251935116600160a01b029216919091179055610d39888787610e59565b610d5489898960405180602001604052806000815250610eb2565b505050505050505050565b60006301ffc9a760e01b6001600160e01b031983161480610d905750636cdb3d1360e11b6001600160e01b03198316145b806103735750506001600160e01b0319166303a24d0760e21b1490565b6002546001600160a01b0316331461088f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610bc0565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000838152600560205260409020610e72828483611711565b50827f6bb7ff708619ba0610cba295a58592e0451dee2622938c8755667688daf3529b8383604051610ea59291906117d2565b60405180910390a2505050565b6001600160a01b03841660009081526020818152604080832086845290915281208054849290610ee3908490611548565b909155505060408051848152602081018490526001600160a01b0386169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910160405180910390a46001600160a01b0384163b15610fcc5760405163f23a6e6160e01b808252906001600160a01b0386169063f23a6e6190610f789033906000908990899089906004016117ee565b6020604051808303816000875af1158015610f97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610fbb919061164c565b6001600160e01b0319161415610fd8565b6001600160a01b038416155b15610ff657604051633da6393160e01b815260040160405180910390fd5b50505050565b80356001600160a01b038116811461101357600080fd5b919050565b6000806040838503121561102b57600080fd5b61103483610ffc565b946020939093013593505050565b6001600160e01b031981168114610bd257600080fd5b60006020828403121561106a57600080fd5b813561098d81611042565b6000815180845260005b8181101561109b5760208185018101518683018201520161107f565b506000602082860101526020601f19601f83011685010191505092915050565b60208152600061098d6020830184611075565b6000602082840312156110e057600080fd5b5035919050565b600080604083850312156110fa57600080fd5b50508035926020909101359150565b60006020828403121561111b57600080fd5b61098d82610ffc565b60008083601f84011261113657600080fd5b50813567ffffffffffffffff81111561114e57600080fd5b6020830191508360208260051b850101111561051157600080fd5b60008083601f84011261117b57600080fd5b50813567ffffffffffffffff81111561119357600080fd5b60208301915083602082850101111561051157600080fd5b60008060008060008060008060a0898b0312156111c757600080fd5b6111d089610ffc565b97506111de60208a01610ffc565b9650604089013567ffffffffffffffff808211156111fb57600080fd5b6112078c838d01611124565b909850965060608b013591508082111561122057600080fd5b61122c8c838d01611124565b909650945060808b013591508082111561124557600080fd5b506112528b828c01611169565b999c989b5096995094979396929594505050565b6000806000806040858703121561127c57600080fd5b843567ffffffffffffffff8082111561129457600080fd5b6112a088838901611124565b909650945060208701359150808211156112b957600080fd5b506112c687828801611124565b95989497509550505050565b6020808252825182820181905260009190848201906040850190845b8181101561130a578351835292840192918401916001016112ee565b50909695505050505050565b6000806040838503121561132957600080fd5b61133283610ffc565b91506020830135801515811461134757600080fd5b809150509250929050565b6000806040838503121561136557600080fd5b61136e83610ffc565b915061137c60208401610ffc565b90509250929050565b60008060008060008060a0878903121561139e57600080fd5b6113a787610ffc565b95506113b560208801610ffc565b94506040870135935060608701359250608087013567ffffffffffffffff8111156113df57600080fd5b6113eb89828a01611169565b979a9699509497509295939492505050565b600080600080600080600060c0888a03121561141857600080fd5b61142188610ffc565b96506020880135955060408801359450606088013567ffffffffffffffff81111561144b57600080fd5b6114578a828b01611169565b909550935061146a905060808901610ffc565b915060a08801356001600160601b038116811461148657600080fd5b8091505092959891949750929550565b600181811c908216806114aa57607f821691505b6020821081036114ca57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082028115828204841417610373576103736114d0565b60008261151a57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b81810381811115610373576103736114d0565b80820180821115610373576103736114d0565b81835260006001600160fb1b0383111561157457600080fd5b8260051b80836020870137939093016020019392505050565b6040815260006115a160408301868861155b565b82810360208401526115b481858761155b565b979650505050505050565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b6001600160a01b0389811682528816602082015260a060408201819052600090611615908301888a61155b565b828103606084015261162881878961155b565b9050828103608084015261163d8185876115bf565b9b9a5050505050505050505050565b60006020828403121561165e57600080fd5b815161098d81611042565b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03878116825286166020820152604081018590526060810184905260a0608082018190526000906116ba90830184866115bf565b98975050505050505050565b601f82111561170c57600081815260208120601f850160051c810160208610156116ed5750805b601f850160051c820191505b81811015610b4f578281556001016116f9565b505050565b67ffffffffffffffff83111561172957611729611669565b61173d836117378354611496565b836116c6565b6000601f84116001811461177157600085156117595750838201355b600019600387901b1c1916600186901b1783556117cb565b600083815260209020601f19861690835b828110156117a25786850135825560209485019460019092019101611782565b50868210156117bf5760001960f88860031b161c19848701351681555b505060018560011b0183555b5050505050565b6020815260006117e66020830184866115bf565b949350505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a0608082018190526000906115b49083018461107556fea2646970667358221220aabb5d6cf831c53c6e6dd3fa96b41f63e7a9516be807811b862e0d8b814c5cec64736f6c63430008110033