[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "balance", "type": "uint256" }, { "internalType": "uint256", "name": "needed", "type": "uint256" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ERC1155InsufficientBalance", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "approver", "type": "address" } ], "name": "ERC1155InvalidApprover", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "idsLength", "type": "uint256" }, { "internalType": "uint256", "name": "valuesLength", "type": "uint256" } ], "name": "ERC1155InvalidArrayLength", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" } ], "name": "ERC1155InvalidOperator", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "ERC1155InvalidReceiver", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "name": "ERC1155InvalidSender", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "address", "name": "owner", "type": "address" } ], "name": "ERC1155MissingApprovalForAll", "type": "error" }, { "inputs": [], "name": "NotTokenIDCreator", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "OwnableInvalidOwner", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "OwnableUnauthorizedAccount", "type": "error" }, { "inputs": [], "name": "TokenDoesNotExist", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "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": false, "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "indexed": false, "internalType": "string", "name": "tokenUri", "type": "string" } ], "name": "TokenCreated", "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": "values", "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": "value", "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": "account", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" } ], "name": "balanceOfBatch", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "tokenUri", "type": "string" } ], "name": "createNewToken", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "freeMintEnabled", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "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": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "address", "name": "receiver", "type": "address" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "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": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "values", "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": "value", "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": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "toggleFreeMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "tokenExists", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "tokenIdCreator", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "tokenSupplyById", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "uriByTokenId", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
608060405234801561001057600080fd5b5060408051808201909152600a815269536f6d6e69614974656d60b01b6020820152338061005857604051631e4fbdf760e01b81526000600482015260240160405180910390fd5b6100618161007e565b5061006b816100ce565b506009805460ff1916600117905561023e565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60036100da828261017f565b5050565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061010857607f821691505b60208210810361012857634e487b7160e01b600052602260045260246000fd5b50919050565b601f82111561017a576000816000526020600020601f850160051c810160208610156101575750805b601f850160051c820191505b8181101561017657828155600101610163565b5050505b505050565b81516001600160401b03811115610198576101986100de565b6101ac816101a684546100f4565b8461012e565b602080601f8311600181146101e157600084156101c95750858301515b600019600386901b1c1916600185901b178555610176565b600085815260208120601f198616915b82811015610210578886015182559484019460019091019084016101f1565b508582101561022e5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6119d68061024d6000396000f3fe60806040526004361061012c5760003560e01c8063715018a6116100ab578063aa77b8771161006f578063aa77b8771461036f578063b90f1aaa146103a5578063e7d3fe6b146103c5578063e985e9c5146103e5578063f242432a14610405578063f2fde38b1461042557600080fd5b8063715018a6146102c657806372c0fa54146102db57806374ab4e16146102f05780638da5cb5b1461031d578063a22cb4651461034f57600080fd5b80632693ebf2116100f25780632693ebf21461021b5780632eb2c2d6146102485780633ccfd60b1461026a5780634e1273f41461027f57806362ad68aa146102ac57600080fd5b8062923f9e1461013b578062fdd58e1461018057806301ffc9a7146101ae5780630e89341c146101ce578063167af39b146101fb57600080fd5b3661013657600080fd5b600080fd5b34801561014757600080fd5b5061016b6101563660046111ae565b60086020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b34801561018c57600080fd5b506101a061019b3660046111e3565b610445565b604051908152602001610177565b3480156101ba57600080fd5b5061016b6101c9366004611223565b61046f565b3480156101da57600080fd5b506101ee6101e93660046111ae565b6104bf565b604051610177919061128d565b34801561020757600080fd5b506101ee6102163660046111ae565b610561565b34801561022757600080fd5b506101a06102363660046111ae565b60009081526006602052604090205490565b34801561025457600080fd5b506102686102633660046113f2565b6105fb565b005b34801561027657600080fd5b50610268610667565b34801561028b57600080fd5b5061029f61029a36600461149c565b61075b565b6040516101779190611598565b3480156102b857600080fd5b5060095461016b9060ff1681565b3480156102d257600080fd5b50610268610828565b3480156102e757600080fd5b5061026861083c565b3480156102fc57600080fd5b506101a061030b3660046111ae565b60066020526000908152604090205481565b34801561032957600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610177565b34801561035b57600080fd5b5061026861036a3660046115ab565b610858565b34801561037b57600080fd5b5061033761038a3660046111ae565b6007602052600090815260409020546001600160a01b031681565b3480156103b157600080fd5b506101a06103c03660046115e7565b610863565b3480156103d157600080fd5b506102686103e0366004611638565b610918565b3480156103f157600080fd5b5061016b61040036600461166d565b6109e7565b34801561041157600080fd5b506102686104203660046116a0565b610a15565b34801561043157600080fd5b50610268610440366004611705565b610a74565b60008181526001602090815260408083206001600160a01b03861684529091529020545b92915050565b60006001600160e01b03198216636cdb3d1360e11b14806104a057506001600160e01b031982166303a24d0760e21b145b8061046957506301ffc9a760e01b6001600160e01b0319831614610469565b60008181526005602052604090208054606091906104dc90611720565b80601f016020809104026020016040519081016040528092919081815260200182805461050890611720565b80156105555780601f1061052a57610100808354040283529160200191610555565b820191906000526020600020905b81548152906001019060200180831161053857829003601f168201915b50505050509050919050565b6005602052600090815260409020805461057a90611720565b80601f01602080910402602001604051908101604052809291908181526020018280546105a690611720565b80156105f35780601f106105c8576101008083540402835291602001916105f3565b820191906000526020600020905b8154815290600101906020018083116105d657829003601f168201915b505050505081565b336001600160a01b038616811480159061061c575061061a86826109e7565b155b156106525760405163711bec9160e11b81526001600160a01b038083166004830152871660248201526044015b60405180910390fd5b61065f8686868686610ab2565b505050505050565b61066f610b19565b47806106bd5760405162461bcd60e51b815260206004820152601960248201527f4e6f2066756e6473206c65667420746f207769746864726177000000000000006044820152606401610649565b600080546040516001600160a01b039091169083908381818185875af1925050503d806000811461070a576040519150601f19603f3d011682016040523d82523d6000602084013e61070f565b606091505b50509050806107575760405162461bcd60e51b81526020600482015260146024820152732330b4b632b2103a379039b2b7321022ba3432b960611b6044820152606401610649565b5050565b6060815183511461078c5781518351604051635b05999160e01b815260048101929092526024820152604401610649565b6000835167ffffffffffffffff8111156107a8576107a86112a0565b6040519080825280602002602001820160405280156107d1578160200160208202803683370190505b50905060005b8451811015610820576020808202860101516107fb90602080840287010151610445565b82828151811061080d5761080d61175a565b60209081029190910101526001016107d7565b509392505050565b610830610b19565b61083a6000610b46565b565b610844610b19565b6009805460ff19811660ff90911615179055565b610757338383610b96565b600454600090610874816001611770565b6004556000818152600660205260409020600190556108938184610c2c565b600081815260086020908152604091829020805460ff1916600190811790915582518084019093526002835261060f60f31b918301919091526108d99133918491610c49565b7f5d3ac5872118b949a1f8db596134a0e1587ecf18f2203bb1e3ea420c3c3f8fa9818460405161090a929190611791565b60405180910390a192915050565b600954839060ff1661095b576000818152600760205260409020546001600160a01b0316331461095b5760405163d652484960e01b815260040160405180910390fd5b60008481526008602052604090205460ff1661098a5760405163677510db60e11b815260040160405180910390fd5b6000848152600660205260409020546109a4908490611770565b60066000868152602001908152602001600020819055506109e182858560405180604001604052806002815260200161060f60f31b815250610c49565b50505050565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205460ff1690565b336001600160a01b0386168114801590610a365750610a3486826109e7565b155b15610a675760405163711bec9160e11b81526001600160a01b03808316600483015287166024820152604401610649565b61065f8686868686610ca6565b610a7c610b19565b6001600160a01b038116610aa657604051631e4fbdf760e01b815260006004820152602401610649565b610aaf81610b46565b50565b6001600160a01b038416610adc57604051632bfa23e760e11b815260006004820152602401610649565b6001600160a01b038516610b0557604051626a0d4560e21b815260006004820152602401610649565b610b128585858585610d34565b5050505050565b6000546001600160a01b0316331461083a5760405163118cdaa760e01b8152336004820152602401610649565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038216610bbf5760405162ced3e160e81b815260006004820152602401610649565b6001600160a01b03838116600081815260026020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6000828152600560205260409020610c4482826117f2565b505050565b6001600160a01b038416610c7357604051632bfa23e760e11b815260006004820152602401610649565b6040805160018082526020820186905281830190815260608201859052608082019092529061065f600087848487610d34565b6001600160a01b038416610cd057604051632bfa23e760e11b815260006004820152602401610649565b6001600160a01b038516610cf957604051626a0d4560e21b815260006004820152602401610649565b60408051600180825260208201869052818301908152606082018590526080820190925290610d2b8787848487610d34565b50505050505050565b610d4085858585610d87565b6001600160a01b03841615610b125782513390600103610d795760208481015190840151610d72838989858589610fa1565b505061065f565b61065f8187878787876110c5565b8051825114610db65781518151604051635b05999160e01b815260048101929092526024820152604401610649565b3360005b8351811015610ec2576020818102858101820151908501909101516001600160a01b03881615610e715760008281526001602090815260408083206001600160a01b038c16845290915290205481811015610e48576040516303dee4c560e01b81526001600160a01b038a166004820152602481018290526044810183905260648101849052608401610649565b60008381526001602090815260408083206001600160a01b038d16845290915290209082900390555b6001600160a01b03871615610eb85760008281526001602090815260408083206001600160a01b038b16845290915281208054839290610eb2908490611770565b90915550505b5050600101610dba565b508251600103610f435760208301516000906020840151909150856001600160a01b0316876001600160a01b0316846001600160a01b03167fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f628585604051610f34929190918252602082015260400190565b60405180910390a45050610b12565b836001600160a01b0316856001600160a01b0316826001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb8686604051610f929291906118b2565b60405180910390a45050505050565b6001600160a01b0384163b1561065f5760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190610fe590899089908890889088906004016118e0565b6020604051808303816000875af1925050508015611020575060408051601f3d908101601f1916820190925261101d91810190611925565b60015b611089573d80801561104e576040519150601f19603f3d011682016040523d82523d6000602084013e611053565b606091505b50805160000361108157604051632bfa23e760e11b81526001600160a01b0386166004820152602401610649565b805181602001fd5b6001600160e01b0319811663f23a6e6160e01b14610d2b57604051632bfa23e760e11b81526001600160a01b0386166004820152602401610649565b6001600160a01b0384163b1561065f5760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906111099089908990889088908890600401611942565b6020604051808303816000875af1925050508015611144575060408051601f3d908101601f1916820190925261114191810190611925565b60015b611172573d80801561104e576040519150601f19603f3d011682016040523d82523d6000602084013e611053565b6001600160e01b0319811663bc197c8160e01b14610d2b57604051632bfa23e760e11b81526001600160a01b0386166004820152602401610649565b6000602082840312156111c057600080fd5b5035919050565b80356001600160a01b03811681146111de57600080fd5b919050565b600080604083850312156111f657600080fd5b6111ff836111c7565b946020939093013593505050565b6001600160e01b031981168114610aaf57600080fd5b60006020828403121561123557600080fd5b81356112408161120d565b9392505050565b6000815180845260005b8181101561126d57602081850181015186830182015201611251565b506000602082860101526020601f19601f83011685010191505092915050565b6020815260006112406020830184611247565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156112df576112df6112a0565b604052919050565b600067ffffffffffffffff821115611301576113016112a0565b5060051b60200190565b600082601f83011261131c57600080fd5b8135602061133161132c836112e7565b6112b6565b8083825260208201915060208460051b87010193508684111561135357600080fd5b602086015b8481101561136f5780358352918301918301611358565b509695505050505050565b600067ffffffffffffffff831115611394576113946112a0565b6113a7601f8401601f19166020016112b6565b90508281528383830111156113bb57600080fd5b828260208301376000602084830101529392505050565b600082601f8301126113e357600080fd5b6112408383356020850161137a565b600080600080600060a0868803121561140a57600080fd5b611413866111c7565b9450611421602087016111c7565b9350604086013567ffffffffffffffff8082111561143e57600080fd5b61144a89838a0161130b565b9450606088013591508082111561146057600080fd5b61146c89838a0161130b565b9350608088013591508082111561148257600080fd5b5061148f888289016113d2565b9150509295509295909350565b600080604083850312156114af57600080fd5b823567ffffffffffffffff808211156114c757600080fd5b818501915085601f8301126114db57600080fd5b813560206114eb61132c836112e7565b82815260059290921b8401810191818101908984111561150a57600080fd5b948201945b8386101561152f57611520866111c7565b8252948201949082019061150f565b9650508601359250508082111561154557600080fd5b506115528582860161130b565b9150509250929050565b60008151808452602080850194506020840160005b8381101561158d57815187529582019590820190600101611571565b509495945050505050565b602081526000611240602083018461155c565b600080604083850312156115be57600080fd5b6115c7836111c7565b9150602083013580151581146115dc57600080fd5b809150509250929050565b6000602082840312156115f957600080fd5b813567ffffffffffffffff81111561161057600080fd5b8201601f8101841361162157600080fd5b6116308482356020840161137a565b949350505050565b60008060006060848603121561164d57600080fd5b8335925060208401359150611664604085016111c7565b90509250925092565b6000806040838503121561168057600080fd5b611689836111c7565b9150611697602084016111c7565b90509250929050565b600080600080600060a086880312156116b857600080fd5b6116c1866111c7565b94506116cf602087016111c7565b93506040860135925060608601359150608086013567ffffffffffffffff8111156116f957600080fd5b61148f888289016113d2565b60006020828403121561171757600080fd5b611240826111c7565b600181811c9082168061173457607f821691505b60208210810361175457634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052603260045260246000fd5b8082018082111561046957634e487b7160e01b600052601160045260246000fd5b8281526040602082015260006116306040830184611247565b601f821115610c44576000816000526020600020601f850160051c810160208610156117d35750805b601f850160051c820191505b8181101561065f578281556001016117df565b815167ffffffffffffffff81111561180c5761180c6112a0565b6118208161181a8454611720565b846117aa565b602080601f831160018114611855576000841561183d5750858301515b600019600386901b1c1916600185901b17855561065f565b600085815260208120601f198616915b8281101561188457888601518255948401946001909101908401611865565b50858210156118a25787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6040815260006118c5604083018561155c565b82810360208401526118d7818561155c565b95945050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a06080820181905260009061191a90830184611247565b979650505050505050565b60006020828403121561193757600080fd5b81516112408161120d565b6001600160a01b0386811682528516602082015260a06040820181905260009061196e9083018661155c565b8281036060840152611980818661155c565b905082810360808401526119948185611247565b9897505050505050505056fea2646970667358221220b481207f418958cb5089575f2dcb6632aed6d971e0445a0e2585b5c58af72b2c64736f6c63430008190033