[ { "inputs": [ { "internalType": "address", "name": "productsModuleAddress_", "type": "address" }, { "internalType": "uint256", "name": "slicerId_", "type": "uint256" }, { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "address", "name": "royaltyReceiver_", "type": "address" }, { "internalType": "uint256", "name": "royaltyFraction_", "type": "uint256" }, { "internalType": "string", "name": "baseURI__", "type": "string" }, { "internalType": "string", "name": "tokenURI__", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "ApprovalCallerNotOwnerNorApproved", "type": "error" }, { "inputs": [], "name": "ApprovalQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "BalanceQueryForZeroAddress", "type": "error" }, { "inputs": [], "name": "Invalid", "type": "error" }, { "inputs": [], "name": "MintERC2309QuantityExceedsLimit", "type": "error" }, { "inputs": [], "name": "MintToZeroAddress", "type": "error" }, { "inputs": [], "name": "MintZeroQuantity", "type": "error" }, { "inputs": [], "name": "NoDelegatecall", "type": "error" }, { "inputs": [], "name": "NotAllowed", "type": "error" }, { "inputs": [], "name": "NotPurchase", "type": "error" }, { "inputs": [], "name": "NotSuccessful", "type": "error" }, { "inputs": [], "name": "OwnerQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "OwnershipNotInitializedForExtraData", "type": "error" }, { "inputs": [], "name": "TransferCallerNotOwnerNorApproved", "type": "error" }, { "inputs": [], "name": "TransferFromIncorrectOwner", "type": "error" }, { "inputs": [], "name": "TransferToNonERC721ReceiverImplementer", "type": "error" }, { "inputs": [], "name": "TransferToZeroAddress", "type": "error" }, { "inputs": [], "name": "URIQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "WrongSlicer", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "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": "uint256", "name": "fromTokenId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "toTokenId", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" } ], "name": "ConsecutiveTransfer", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "MAX_ROYALTY", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseURI_", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "name": "isPurchaseAllowed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "slicerId", "type": "uint256" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "address", "name": "buyer", "type": "address" }, { "internalType": "uint256", "name": "quantity", "type": "uint256" }, { "internalType": "bytes", "name": "", "type": "bytes" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "name": "onProductPurchase", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "royaltyFraction", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "uint256", "name": "salePrice", "type": "uint256" } ], "name": "royaltyInfo", "outputs": [ { "internalType": "address", "name": "_receiver", "type": "address" }, { "internalType": "uint256", "name": "_royaltyAmount", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "royaltyReceiver", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "bytes", "name": "_data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "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": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "tokenURI_", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "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": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "payable", "type": "function" } ]
60e06040523480156200001157600080fd5b506040516200175e3803806200175e8339810160408190526200003491620002ac565b878787878160029080519060200190620000509291906200011c565b508051620000669060039060208401906200011c565b50600080555050600880546001600160a01b0319166001600160a01b03939093169290921790915560095530608052612710831115620000b957604051636dac6a0960e01b815260040160405180910390fd5b6001600160a01b03841660c05260a0839052815115620000ef578151620000e890600a9060208501906200011c565b506200010e565b8051156200010e5780516200010c90600b9060208401906200011c565b505b5050505050505050620003db565b8280546200012a906200039f565b90600052602060002090601f0160209004810192826200014e576000855562000199565b82601f106200016957805160ff191683800117855562000199565b8280016001018555821562000199579182015b82811115620001995782518255916020019190600101906200017c565b50620001a7929150620001ab565b5090565b5b80821115620001a75760008155600101620001ac565b80516001600160a01b0381168114620001da57600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200020757600080fd5b81516001600160401b0380821115620002245762000224620001df565b604051601f8301601f19908116603f011681019082821181831017156200024f576200024f620001df565b816040528381526020925086838588010111156200026c57600080fd5b600091505b8382101562000290578582018301518183018401529082019062000271565b83821115620002a25760008385830101525b9695505050505050565b600080600080600080600080610100898b031215620002ca57600080fd5b620002d589620001c2565b60208a015160408b015191995097506001600160401b0380821115620002fa57600080fd5b620003088c838d01620001f5565b975060608b01519150808211156200031f57600080fd5b6200032d8c838d01620001f5565b96506200033d60808c01620001c2565b955060a08b0151945060c08b01519150808211156200035b57600080fd5b620003698c838d01620001f5565b935060e08b01519150808211156200038057600080fd5b506200038f8b828c01620001f5565b9150509295985092959890939650565b600181811c90821680620003b457607f821691505b602082108103620003d557634e487b7160e01b600052602260045260246000fd5b50919050565b60805160a05160c05161134562000419600039600081816102f401526107750152600081816103b9015261079e01526000610bbc01526113456000f3fe6080604052600436106101355760003560e01c806395db9368116100ab578063c87b56dd1161006f578063c87b56dd1461035c578063d2401fa41461037c578063d83e5f4d14610391578063e7dee99f146103a7578063e985e9c5146103db578063f259a29e1461042457600080fd5b806395db9368146102bb5780639fbc8713146102e2578063a22cb46514610316578063a23fffb914610336578063b88d4fde1461034957600080fd5b806323b872dd116100fd57806323b872dd146102015780632a55205a1461021457806342842e0e146102535780636352211e1461026657806370a082311461028657806395d89b41146102a657600080fd5b806301ffc9a71461013a57806306fdde031461016f578063081812fc14610191578063095ea7b3146101c957806318160ddd146101de575b600080fd5b34801561014657600080fd5b5061015a610155366004610e9c565b610439565b60405190151581526020015b60405180910390f35b34801561017b57600080fd5b50610184610465565b6040516101669190610f11565b34801561019d57600080fd5b506101b16101ac366004610f24565b6104f7565b6040516001600160a01b039091168152602001610166565b6101dc6101d7366004610f59565b61053b565b005b3480156101ea57600080fd5b50600154600054035b604051908152602001610166565b6101dc61020f366004610f83565b6105db565b34801561022057600080fd5b5061023461022f366004610fbf565b610773565b604080516001600160a01b039093168352602083019190915201610166565b6101dc610261366004610f83565b6107d6565b34801561027257600080fd5b506101b1610281366004610f24565b6107f6565b34801561029257600080fd5b506101f36102a1366004610fe1565b610801565b3480156102b257600080fd5b50610184610850565b3480156102c757600080fd5b5061015a6102d636600461109f565b60019695505050505050565b3480156102ee57600080fd5b506101b17f000000000000000000000000000000000000000000000000000000000000000081565b34801561032257600080fd5b506101dc61033136600461112f565b61085f565b6101dc61034436600461109f565b6108cb565b6101dc61035736600461116b565b6108e8565b34801561036857600080fd5b50610184610377366004610f24565b610932565b34801561038857600080fd5b50610184610a31565b34801561039d57600080fd5b506101f361271081565b3480156103b357600080fd5b506101f37f000000000000000000000000000000000000000000000000000000000000000081565b3480156103e757600080fd5b5061015a6103f63660046111d3565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205460ff1690565b34801561043057600080fd5b50610184610abf565b600061044482610acc565b8061045f57506001600160e01b0319821663152a902d60e11b145b92915050565b606060028054610474906111fd565b80601f01602080910402602001604051908101604052809291908181526020018280546104a0906111fd565b80156104ed5780601f106104c2576101008083540402835291602001916104ed565b820191906000526020600020905b8154815290600101906020018083116104d057829003601f168201915b5050505050905090565b600061050282610b1a565b61051f576040516333d1c03960e21b815260040160405180910390fd5b506000908152600660205260409020546001600160a01b031690565b6000610546826107f6565b9050336001600160a01b0382161461057f5761056281336103f6565b61057f576040516367d9dca160e11b815260040160405180910390fd5b60008281526006602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b60006105e682610b41565b9050836001600160a01b0316816001600160a01b0316146106195760405162a1148160e81b815260040160405180910390fd5b60008281526006602052604090208054338082146001600160a01b038816909114176106665761064986336103f6565b61066657604051632ce44b5f60e11b815260040160405180910390fd5b6001600160a01b03851661068d57604051633a954ecd60e21b815260040160405180910390fd5b801561069857600082555b6001600160a01b038681166000908152600560205260408082208054600019019055918716808252919020805460010190554260a01b17600160e11b17600085815260046020526040812091909155600160e11b8416900361072a576001840160008181526004602052604081205490036107285760005481146107285760008181526004602052604090208490555b505b83856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050505050565b7f000000000000000000000000000000000000000000000000000000000000000060006127106107c37f000000000000000000000000000000000000000000000000000000000000000085611237565b6107cd9190611264565b90509250929050565b6107f1838383604051806020016040528060008152506108e8565b505050565b600061045f82610b41565b60006001600160a01b03821661082a576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b031660009081526005602052604090205467ffffffffffffffff1690565b606060038054610474906111fd565b3360008181526007602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b856108d581610ba8565b6108df8585610bfd565b50505050505050565b6108f38484846105db565b6001600160a01b0383163b1561092c5761090f84848484610cfb565b61092c576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b606061093d82610b1a565b61095a57604051630a14c4b560e41b815260040160405180910390fd5b6000610964610de6565b905080516000036109ff57600b805461097c906111fd565b80601f01602080910402602001604051908101604052809291908181526020018280546109a8906111fd565b80156109f55780601f106109ca576101008083540402835291602001916109f5565b820191906000526020600020905b8154815290600101906020018083116109d857829003601f168201915b5050505050610a2a565b80610a0984610df5565b604051602001610a1a929190611286565b6040516020818303038152906040525b9392505050565b600b8054610a3e906111fd565b80601f0160208091040260200160405190810160405280929190818152602001828054610a6a906111fd565b8015610ab75780601f10610a8c57610100808354040283529160200191610ab7565b820191906000526020600020905b815481529060010190602001808311610a9a57829003601f168201915b505050505081565b600a8054610a3e906111fd565b60006301ffc9a760e01b6001600160e01b031983161480610afd57506380ac58cd60e01b6001600160e01b03198316145b8061045f5750506001600160e01b031916635b5e139f60e01b1490565b600080548210801561045f575050600090815260046020526040902054600160e01b161590565b600081600054811015610b8f5760008181526004602052604081205490600160e01b82169003610b8d575b80600003610a2a575060001901600081815260046020526040902054610b6c565b505b604051636f96cda160e11b815260040160405180910390fd5b610bb181610e39565b306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614610bfa5760405163acbcffa760e01b815260040160405180910390fd5b50565b6000805490829003610c225760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b03831660008181526005602090815260408083208054680100000000000000018802019055848352600490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b818114610cd157808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a4600101610c99565b5081600003610cf257604051622e076360e81b815260040160405180910390fd5b60005550505050565b604051630a85bd0160e11b81526000906001600160a01b0385169063150b7a0290610d309033908990889088906004016112b5565b6020604051808303816000875af1925050508015610d6b575060408051601f3d908101601f19168201909252610d68918101906112f2565b60015b610dc9573d808015610d99576040519150601f19603f3d011682016040523d82523d6000602084013e610d9e565b606091505b508051600003610dc1576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050949350505050565b6060600a8054610474906111fd565b606060a06040510180604052602081039150506000815280825b600183039250600a81066030018353600a900480610e0f5750819003601f19909101908152919050565b8060095414610e5b57604051632eafdb6960e01b815260040160405180910390fd5b6008546001600160a01b03163314610bfa576040516347322d0360e01b815260040160405180910390fd5b6001600160e01b031981168114610bfa57600080fd5b600060208284031215610eae57600080fd5b8135610a2a81610e86565b60005b83811015610ed4578181015183820152602001610ebc565b8381111561092c5750506000910152565b60008151808452610efd816020860160208601610eb9565b601f01601f19169290920160200192915050565b602081526000610a2a6020830184610ee5565b600060208284031215610f3657600080fd5b5035919050565b80356001600160a01b0381168114610f5457600080fd5b919050565b60008060408385031215610f6c57600080fd5b610f7583610f3d565b946020939093013593505050565b600080600060608486031215610f9857600080fd5b610fa184610f3d565b9250610faf60208501610f3d565b9150604084013590509250925092565b60008060408385031215610fd257600080fd5b50508035926020909101359150565b600060208284031215610ff357600080fd5b610a2a82610f3d565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261102357600080fd5b813567ffffffffffffffff8082111561103e5761103e610ffc565b604051601f8301601f19908116603f0116810190828211818310171561106657611066610ffc565b8160405283815286602085880101111561107f57600080fd5b836020870160208301376000602085830101528094505050505092915050565b60008060008060008060c087890312156110b857600080fd5b86359550602087013594506110cf60408801610f3d565b935060608701359250608087013567ffffffffffffffff808211156110f357600080fd5b6110ff8a838b01611012565b935060a089013591508082111561111557600080fd5b5061112289828a01611012565b9150509295509295509295565b6000806040838503121561114257600080fd5b61114b83610f3d565b91506020830135801515811461116057600080fd5b809150509250929050565b6000806000806080858703121561118157600080fd5b61118a85610f3d565b935061119860208601610f3d565b925060408501359150606085013567ffffffffffffffff8111156111bb57600080fd5b6111c787828801611012565b91505092959194509250565b600080604083850312156111e657600080fd5b6111ef83610f3d565b91506107cd60208401610f3d565b600181811c9082168061121157607f821691505b60208210810361123157634e487b7160e01b600052602260045260246000fd5b50919050565b600081600019048311821515161561125f57634e487b7160e01b600052601160045260246000fd5b500290565b60008261128157634e487b7160e01b600052601260045260246000fd5b500490565b60008351611298818460208801610eb9565b8351908301906112ac818360208801610eb9565b01949350505050565b6001600160a01b03858116825284166020820152604081018390526080606082018190526000906112e890830184610ee5565b9695505050505050565b60006020828403121561130457600080fd5b8151610a2a81610e8656fea2646970667358221220df5dd95f6ec0c2a4eefefbf76a57831f77d295c380d550cc01cf3e2697e8336b64736f6c634300080d0033000000000000000000000000b9d5b99d5d0fa04dd7eb2b0cd7753317c2ea1a84000000000000000000000000000000000000000000000000000000000000026000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000000194661726361737465613a204d61746368612045646974696f6e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000052697066733a2f2f68747470733a2f2f6f70656e7365612e696f2f6173736574732f626173652f3078313638623565313666306633396530633637363030336134623435306130353534653534393265372f320000000000000000000000000000