[ { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "address", "name": "_contractOwner", "type": "address" } ], "name": "NotContractOwner", "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": "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" }, { "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": [ { "internalType": "address[]", "name": "_tos", "type": "address[]" }, { "internalType": "uint256[]", "name": "_amounts", "type": "uint256[]" } ], "name": "OwnerDoMints", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "start_", "type": "uint256" }, { "internalType": "uint256", "name": "end_", "type": "uint256" }, { "internalType": "uint8", "name": "seed_", "type": "uint8" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "string", "name": "name_", "type": "string" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" }, { "internalType": "bytes", "name": "", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bool", "name": "", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "tokensOfOwner", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "pure", "type": "function" } ]
6080604052348015600f57600080fd5b50611f928061001f6000396000f3fe6080604052600436106101145760003560e01c806342966c68116100a0578063a22cb46511610064578063a22cb46514610345578063b654691214610360578063b88d4fde14610380578063e985e9c51461039b578063fa686870146103b657600080fd5b806342966c681461024b5780636352211e1461026b57806370a08231146102c05780638462151c1461030357806395d89b411461033057600080fd5b80631249c58b116100e75780631249c58b146101ca57806318160ddd146101d257806323b872dd146102105780632f745c591461022b57806342842e0e1461021057600080fd5b806301ffc9a71461011957806306fdde031461014e578063081812fc14610170578063095ea7b3146101a8575b600080fd5b34801561012557600080fd5b50610139610134366004611748565b6103d6565b60405190151581526020015b60405180910390f35b34801561015a57600080fd5b5061016361040d565b6040516101459190611772565b34801561017c57600080fd5b5061019061018b3660046117c0565b6104af565b6040516001600160a01b039091168152602001610145565b3480156101b457600080fd5b506101c86101c33660046117f5565b6104f1565b005b6101c861052b565b3480156101de57600080fd5b507f7cdd259a1dd9611ce9d90388172634af6fcb06705bb297b751bf3c9df62c3080545b604051908152602001610145565b34801561021c57600080fd5b506101c86101c336600461181f565b34801561023757600080fd5b506102026102463660046117f5565b6108cb565b34801561025757600080fd5b506101c86102663660046117c0565b6108de565b34801561027757600080fd5b506101906102863660046117c0565b60009081527f7cdd259a1dd9611ce9d90388172634af6fcb06705bb297b751bf3c9df62c308160205260409020546001600160a01b031690565b3480156102cc57600080fd5b506102026102db36600461185c565b6001600160a01b03166000908152600080516020611f1d833981519152602052604090205490565b34801561030f57600080fd5b5061032361031e36600461185c565b6108ea565b6040516101459190611877565b34801561033c57600080fd5b506101636108f5565b34801561035157600080fd5b506101c86101c33660046118ba565b34801561036c57600080fd5b506101c861037b3660046119ce565b610914565b34801561038c57600080fd5b506101c86101c3366004611a97565b3480156103a757600080fd5b5061013961018b366004611b34565b3480156103c257600080fd5b506101c86103d1366004611bd7565b610a5a565b60006380ac58cd60e01b6001600160e01b03198316148061040757506001600160e01b03198216631249c58b60e01b145b92915050565b6060600080516020611f3d833981519152600101805461042c90611c6c565b80601f016020809104026020016040519081016040528092919081815260200182805461045890611c6c565b80156104a55780601f1061047a576101008083540402835291602001916104a5565b820191906000526020600020905b81548152906001019060200180831161048857829003601f168201915b5050505050905090565b60405162461bcd60e51b815260206004820152600f60248201526e139bdd081a5b5c1b195b595b9d1959608a1b60448201526000906064015b60405180910390fd5b60405162461bcd60e51b815260206004820152600f60248201526e139bdd081a5b5c1b195b595b9d1959608a1b60448201526064016104e8565b6040805160a0810182527f8a844ca8e3dafb64110f153693c7adac59ba5369fa9e8075ca2109047833816d805460ff908116151583527f8a844ca8e3dafb64110f153693c7adac59ba5369fa9e8075ca2109047833816e5460208401527f8a844ca8e3dafb64110f153693c7adac59ba5369fa9e8075ca2109047833816f54838501527f8a844ca8e3dafb64110f153693c7adac59ba5369fa9e8075ca2109047833817054166060808401919091528351908101938490526000938493929160808401917f8a844ca8e3dafb64110f153693c7adac59ba5369fa9e8075ca210904783381719060039082845b81546001600160a01b0316815260019091019060200180831161061757505050505081525050905060006106687fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c90565b82519091506106c45760405162461bcd60e51b815260206004820152602260248201527f44617461496e746572666163654661636574204e6f7420696e697469616c697a604482015261195960f21b60648201526084016104e8565b826106cd610b69565b6106d79190611cbc565b34146107155760405162461bcd60e51b815260206004820152600d60248201526c1999595cc81b9bdd081c185a59609a1b60448201526064016104e8565b600381015460ff161561075f5760405162461bcd60e51b815260206004820152601260248201527110dbdb9d1c9858dd081a5cc81b1bd8dad95960721b60448201526064016104e8565b60038101805460ff191660011790556000610785600080516020611f3d83398151915290565b60038101549091507f4e29af6741fb351e62fb1f646baad0bc6f9343cf6da625f0a1ab2d1ad25ef03f906000906107bd906014611ccf565b83600601546107cc9190611cbc565b33600090815260048401602052604090205490915060ff16806107f657508154610100900460ff16155b6108425760405162461bcd60e51b815260206004820152601f60248201527f596f75206e65656420746f20626520726566657272656420746f206d696e740060448201526064016104e8565b826005015481106108895760405162461bcd60e51b8152602060048201526011602482015270115e18d959591cc81d1a19481b1a5b5a5d607a1b60448201526064016104e8565b6108933382610cef565b6003830180549060006108a583611ce6565b91905055506108b96108b43390565b610e2e565b505050600301805460ff191690555050565b60006108d78383610eaf565b9392505050565b6108e781610f74565b50565b606061040782611132565b6060600080516020611f3d833981519152600201805461042c90611c6c565b61091c611212565b80518251600080516020611f3d833981519152911461096d5760405162461bcd60e51b815260206004820152600d60248201526c125b9d985b1a59081a5b9c1d5d609a1b60448201526064016104e8565b60005b8351811015610a545760005b83828151811061098e5761098e611cff565b6020026020010151811015610a4b576000836003015460146109b09190611ccf565b84600601546109bf9190611cbc565b905083600501548110610a085760405162461bcd60e51b8152602060048201526011602482015270115e18d959591cc81d1a19481b1a5b5a5d607a1b60448201526064016104e8565b610a2b868481518110610a1d57610a1d611cff565b602002602001015182610cef565b600384018054906000610a3d83611ce6565b90915550505060010161097c565b50600101610970565b50505050565b600080516020611f3d83398151915280547fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c919060ff1615610afc5760405162461bcd60e51b815260206004820152603560248201527f4e465446616365743a20666163657420696e7374616e63652068617320616c726044820152741958591e481899595b881a5b9a5d1a585b1a5e9959605a1b60648201526084016104e8565b805460ff1916600190811782558101610b158482611d63565b5060028101610b248582611d63565b5060048101969096556005860194909455505060ff16600690920191909155631a241e3960e21b6000908152600290910160205260409020805460ff19166001179055565b7f8a844ca8e3dafb64110f153693c7adac59ba5369fa9e8075ca2109047833816e546000907f8a844ca8e3dafb64110f153693c7adac59ba5369fa9e8075ca2109047833816d90825b60038160ff161015610ce85760006004840160ff831660038110610bd857610bd8611cff565b01546001600160a01b031614610cd6576000836004018260ff1660038110610c0257610c02611cff565b0160009054906101000a90046001600160a01b03166001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a060405180830381865afa158015610c54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c789190611e3c565b5050509150508160ff16600003610ca95780610c9c84670de0b6b3a7640000611ccf565b610ca69190611e8e565b92505b8160ff16600103610cd457670de0b6b3a7640000610cc78285611ccf565b610cd19190611e8e565b92505b505b80610ce081611eb0565b915050610bb2565b5092915050565b600080516020611f3d8339815191526001600160a01b038316610d545760405162461bcd60e51b815260206004820152601860248201527f4d696e7420746f20746865207a65726f2061646472657373000000000000000060448201526064016104e8565b60008281526008820160205260409020546001600160a01b031615610db25760405162461bcd60e51b8152602060048201526014602482015273151bdad95b88185b1c9958591e481b5a5b9d195960621b60448201526064016104e8565b610dbe600084846112a1565b6001600160a01b0383166000818152600d830160209081526040808320805460010190558583526008850190915280822080546001600160a01b0319168417905551849291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4505050565b6001600160a01b03811660009081527f4e29af6741fb351e62fb1f646baad0bc6f9343cf6da625f0a1ab2d1ad25ef049602052604090207f4e29af6741fb351e62fb1f646baad0bc6f9343cf6da625f0a1ab2d1ad25ef03f90610e908361141b565b6001816000016000828254610ea59190611cbc565b9091555050505050565b6001600160a01b0382166000908152600080516020611f1d8339815191526020526040812054600080516020611f3d833981519152908310610f475760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b60648201526084016104e8565b6001600160a01b03939093166000908152600a909301602090815260408085209385529290525090205490565b60008181527f7cdd259a1dd9611ce9d90388172634af6fcb06705bb297b751bf3c9df62c30816020526040902054600080516020611f3d833981519152906001600160a01b0316806110085760405162461bcd60e51b815260206004820152601960248201527f4275726e206f66206e6f6e6578697374656e7420746f6b656e0000000000000060448201526064016104e8565b6001600160a01b03811633148061104457506001600160a01b0381166000908152600e83016020908152604080832033845290915290205460ff165b61109e5760405162461bcd60e51b815260206004820152602560248201527f4275726e2063616c6c6572206973206e6f74206f776e6572206e6f72206170706044820152641c9bdd995960da1b60648201526084016104e8565b6110aa816000856112a1565b6001600160a01b0381166000908152600d8301602052604081208054600192906110d5908490611ecf565b9091555050600083815260088301602052604080822080546001600160a01b0319169055518491906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a4505050565b6001600160a01b0381166000908152600080516020611f1d8339815191526020526040812054606091600080516020611f3d83398151915291908167ffffffffffffffff811115611185576111856118f6565b6040519080825280602002602001820160405280156111ae578160200160208202803683370190505b50905060005b82811015611209576001600160a01b0386166000908152600a85016020908152604080832084845290915290205482518390839081106111f6576111f6611cff565b60209081029190910101526001016111b4565b50949350505050565b7fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131c6003015461010090046001600160a01b0316331461129f577fc8fcad8db84d3cc18b4c41d551ea0ee66dd599cde068d998e57d5e09332c131f54604051600162bed83560e01b031981523360048201526101009091046001600160a01b031660248201526044016104e8565b565b6001600160a01b03831661133a57611335817f7cdd259a1dd9611ce9d90388172634af6fcb06705bb297b751bf3c9df62c3080805460008381527f7cdd259a1dd9611ce9d90388172634af6fcb06705bb297b751bf3c9df62c308460205260408120829055600182018355919091527f14a315ad8d9af6ddc65485ff5cb05c2923070133ce7d4abfbd61a0a8782a6a180155565b61135d565b816001600160a01b0316836001600160a01b03161461135d5761135d838261158a565b6001600160a01b038216611379576113748161165f565b505050565b826001600160a01b0316826001600160a01b031614611374576001600160a01b03919091166000908152600080516020611f1d83398151915260209081526040808320547f7cdd259a1dd9611ce9d90388172634af6fcb06705bb297b751bf3c9df62c3083835281842081855283528184208590559383527f7cdd259a1dd9611ce9d90388172634af6fcb06705bb297b751bf3c9df62c308290915290205550565b7f4e29af6741fb351e62fb1f646baad0bc6f9343cf6da625f0a1ab2d1ad25ef041547f4e29af6741fb351e62fb1f646baad0bc6f9343cf6da625f0a1ab2d1ad25ef03f906001600160a01b03166114aa5760405162461bcd60e51b8152602060048201526013602482015272149959881c1c9bd9dc985b481b9bdd081cd95d606a1b60448201526064016104e8565b6001600160a01b038216600090815260038201602052604081205460ff1615159003611586576001600160a01b038281166000818152600384016020526040808220805460ff1916600117905560028501549051631abf2e1160e31b815260048101939093529092839291169063d5f97088906024016040805180830381865afa15801561153c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115609190611ee2565b6001600160a01b0386166000908152600a86016020526040902091825560019091015550505b5050565b6001600160a01b0382166000908152600080516020611f1d8339815191526020526040812054600080516020611f3d83398151915291906115cd90600190611ecf565b6000848152600984016020526040902054909150808214611626576001600160a01b0385166000908152600a84016020908152604080832085845282528083205484845281842081905583526009860190915290208190555b50600092835260098201602090815260408085208590556001600160a01b039095168452600a9092018252838320908352905290812055565b7f7cdd259a1dd9611ce9d90388172634af6fcb06705bb297b751bf3c9df62c308054600080516020611f3d833981519152906000906116a090600190611ecf565b6000848152600b840160205260408120546007850180549394509092849081106116cc576116cc611cff565b90600052602060002001549050808460070183815481106116ef576116ef611cff565b6000918252602080832090910192909255828152600b860190915260408082208490558682528120556007840180548061172b5761172b611f06565b600190038181906000526020600020016000905590555050505050565b60006020828403121561175a57600080fd5b81356001600160e01b0319811681146108d757600080fd5b602081526000825180602084015260005b818110156117a05760208186018101516040868401015201611783565b506000604082850101526040601f19601f83011684010191505092915050565b6000602082840312156117d257600080fd5b5035919050565b80356001600160a01b03811681146117f057600080fd5b919050565b6000806040838503121561180857600080fd5b611811836117d9565b946020939093013593505050565b60008060006060848603121561183457600080fd5b61183d846117d9565b925061184b602085016117d9565b929592945050506040919091013590565b60006020828403121561186e57600080fd5b6108d7826117d9565b602080825282518282018190526000918401906040840190835b818110156118af578351835260209384019390920191600101611891565b509095945050505050565b600080604083850312156118cd57600080fd5b6118d6836117d9565b9150602083013580151581146118eb57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611935576119356118f6565b604052919050565b600067ffffffffffffffff821115611957576119576118f6565b5060051b60200190565b600082601f83011261197257600080fd5b81356119856119808261193d565b61190c565b8082825260208201915060208360051b8601019250858311156119a757600080fd5b602085015b838110156119c45780358352602092830192016119ac565b5095945050505050565b600080604083850312156119e157600080fd5b823567ffffffffffffffff8111156119f857600080fd5b8301601f81018513611a0957600080fd5b8035611a176119808261193d565b8082825260208201915060208360051b850101925087831115611a3957600080fd5b6020840193505b82841015611a6257611a51846117d9565b825260209384019390910190611a40565b9450505050602083013567ffffffffffffffff811115611a8157600080fd5b611a8d85828601611961565b9150509250929050565b600080600080600060808688031215611aaf57600080fd5b611ab8866117d9565b9450611ac6602087016117d9565b935060408601359250606086013567ffffffffffffffff811115611ae957600080fd5b8601601f81018813611afa57600080fd5b803567ffffffffffffffff811115611b1157600080fd5b886020828401011115611b2357600080fd5b959894975092955050506020019190565b60008060408385031215611b4757600080fd5b611b50836117d9565b9150611b5e602084016117d9565b90509250929050565b600082601f830112611b7857600080fd5b813567ffffffffffffffff811115611b9257611b926118f6565b611ba5601f8201601f191660200161190c565b818152846020838601011115611bba57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a08688031215611bef57600080fd5b8535945060208601359350604086013560ff81168114611c0e57600080fd5b9250606086013567ffffffffffffffff811115611c2a57600080fd5b611c3688828901611b67565b925050608086013567ffffffffffffffff811115611c5357600080fd5b611c5f88828901611b67565b9150509295509295909350565b600181811c90821680611c8057607f821691505b602082108103611ca057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561040757610407611ca6565b808202811582820484141761040757610407611ca6565b600060018201611cf857611cf8611ca6565b5060010190565b634e487b7160e01b600052603260045260246000fd5b601f82111561137457806000526020600020601f840160051c81016020851015611d3c5750805b601f840160051c820191505b81811015611d5c5760008155600101611d48565b5050505050565b815167ffffffffffffffff811115611d7d57611d7d6118f6565b611d9181611d8b8454611c6c565b84611d15565b6020601f821160018114611dc55760008315611dad5750848201515b600019600385901b1c1916600184901b178455611d5c565b600084815260208120601f198516915b82811015611df55787850151825560209485019460019092019101611dd5565b5084821015611e135786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b805169ffffffffffffffffffff811681146117f057600080fd5b600080600080600060a08688031215611e5457600080fd5b611e5d86611e22565b60208701516040880151606089015192975090955093509150611e8260808701611e22565b90509295509295909350565b600082611eab57634e487b7160e01b600052601260045260246000fd5b500490565b600060ff821660ff8103611ec657611ec6611ca6565b60010192915050565b8181038181111561040757610407611ca6565b60008060408385031215611ef557600080fd5b505080516020909101519092909150565b634e487b7160e01b600052603160045260246000fdfe7cdd259a1dd9611ce9d90388172634af6fcb06705bb297b751bf3c9df62c30867cdd259a1dd9611ce9d90388172634af6fcb06705bb297b751bf3c9df62c3079a2646970667358221220b5b0a0f038bb8c5b7beb9ff96a00119d85cd8d8c95b335a94ae150f92d33cf1164736f6c634300081b0033