[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "InsufficientFunds", "type": "error" }, { "inputs": [], "name": "MintLimit", "type": "error" }, { "inputs": [], "name": "MintNotEnabled", "type": "error" }, { "inputs": [], "name": "NotOwner", "type": "error" }, { "inputs": [], "name": "SoldOut", "type": "error" }, { "inputs": [], "name": "URIAlreadySet", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "id", "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": "owner", "type": "address" }, { "indexed": false, "internalType": "string", "name": "tokenURI", "type": "string" }, { "indexed": true, "internalType": "uint256", "name": "mintTime", "type": "uint256" } ], "name": "Minted", "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": "id", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "cost", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxMints", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "ownerOf", "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": "id", "type": "uint256" } ], "name": "safeTransferFrom", "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": "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": "string", "name": "_uri", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_cost", "type": "uint256" } ], "name": "setCost", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_limit", "type": "uint256" } ], "name": "setMaxMints", "outputs": [], "stateMutability": "nonpayable", "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": "uint256", "name": "tokenId", "type": "uint256" } ], "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": "id", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
608060405260006007556001600855600980546001600160a01b03199081163317909155600a8054909116739e6865daeeedd093ea4a4f6c9bfbbb0ce6bc8b171790553480156200004f57600080fd5b506040518060400160405280600d81526020016c02a3432a6b0bd32b72130b13c9609d1b815250604051806040016040528060038152602001622a26a160e91b8152508160009081620000a3919062000160565b506001620000b2828262000160565b5050506200022c565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620000e657607f821691505b6020821081036200010757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200015b57600081815260208120601f850160051c81016020861015620001365750805b601f850160051c820191505b81811015620001575782815560010162000142565b5050505b505050565b81516001600160401b038111156200017c576200017c620000bb565b62000194816200018d8454620000d1565b846200010d565b602080601f831160018114620001cc5760008415620001b35750858301515b600019600386901b1c1916600185901b17855562000157565b600085815260208120601f198616915b82811015620001fd57888601518255948401946001909101908401620001dc565b50858210156200021c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b611623806200023c6000396000f3fe6080604052600436106101055760003560e01c806301ffc9a71461010a57806306fdde031461013f578063081812fc14610161578063095ea7b3146101af5780631249c58b146101d157806313faede6146101d957806318160ddd146101fd57806323b872dd146102135780633ccfd60b1461023357806342842e0e1461024857806344a0d68a1461026857806355f804b3146102885780636352211e146102a857806370a08231146102de57806379c9cb7b1461030b5780638da5cb5b1461032b57806395d89b411461034b578063a22cb46514610360578063b6b6f0c314610380578063b88d4fde14610396578063c87b56dd146103b6578063e985e9c5146103d6575b600080fd5b34801561011657600080fd5b5061012a610125366004610f31565b610411565b60405190151581526020015b60405180910390f35b34801561014b57600080fd5b50610154610463565b6040516101369190610fad565b34801561016d57600080fd5b5061019761017c366004610fc0565b6004602052600090815260409020546001600160a01b031681565b6040516001600160a01b039091168152602001610136565b3480156101bb57600080fd5b506101cf6101ca366004610ff5565b6104f1565b005b6101cf6105bb565b3480156101e557600080fd5b506101ef60075481565b604051908152602001610136565b34801561020957600080fd5b506101ef60065481565b34801561021f57600080fd5b506101cf61022e36600461101f565b61078d565b34801561023f57600080fd5b506101cf6108fd565b34801561025457600080fd5b506101cf61026336600461101f565b61098b565b34801561027457600080fd5b506101cf610283366004610fc0565b610a4a565b34801561029457600080fd5b506101cf6102a33660046110e6565b610a7a565b3480156102b457600080fd5b506101976102c3366004610fc0565b6003602052600090815260409020546001600160a01b031681565b3480156102ea57600080fd5b506101ef6102f936600461112e565b60026020526000908152604090205481565b34801561031757600080fd5b506101cf610326366004610fc0565b610ae5565b34801561033757600080fd5b50600954610197906001600160a01b031681565b34801561035757600080fd5b50610154610b15565b34801561036c57600080fd5b506101cf61037b366004611149565b610b22565b34801561038c57600080fd5b506101ef60085481565b3480156103a257600080fd5b506101cf6103b1366004611185565b610b8e565b3480156103c257600080fd5b506101546103d1366004610fc0565b610c50565b3480156103e257600080fd5b5061012a6103f1366004611200565b600560209081526000928352604080842090915290825290205460ff1681565b60006301ffc9a760e01b6001600160e01b03198316148061044257506380ac58cd60e01b6001600160e01b03198316145b8061045d5750635b5e139f60e01b6001600160e01b03198316145b92915050565b6000805461047090611233565b80601f016020809104026020016040519081016040528092919081815260200182805461049c90611233565b80156104e95780601f106104be576101008083540402835291602001916104e9565b820191906000526020600020905b8154815290600101906020018083116104cc57829003601f168201915b505050505081565b6000818152600360205260409020546001600160a01b03163381148061053a57506001600160a01b038116600090815260056020908152604080832033845290915290205460ff165b61055f5760405162461bcd60e51b81526004016105569061126d565b60405180910390fd5b60008281526004602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b600854336000908152600c6020526040902054106105ec5760405163ec8e6a6360e01b815260040160405180910390fd5b609660065460016105fd91906112ab565b111561061c576040516352df9fe560e01b815260040160405180910390fd5b60075434101561063f5760405163356680b760e01b815260040160405180910390fd5b600b805461064c90611233565b905060000361066e5760405163447691f760e01b815260040160405180910390fd5b336000908152600c60205260408120805491610689836112c3565b90915550506006805490600061069e836112c3565b91905055506106af33600654610c84565b600a546001600160a01b03166108fc6106c96028346112f2565b6040518115909202916000818181858888f193505050501580156106f1573d6000803e3d6000fd5b506009546001600160a01b03166108fc61070c6028346112f2565b6107169034611306565b6040518115909202916000818181858888f1935050505015801561073e573d6000803e3d6000fd5b5042336001600160a01b03167fe678c8da3d2d6082f140bbbaa1ee822f0c7072ab604536db4a3e0315f8a92776610776600654610c50565b6040516107839190610fad565b60405180910390a3565b6000818152600360205260409020546001600160a01b038481169116146107e35760405162461bcd60e51b815260206004820152600a60248201526957524f4e475f46524f4d60b01b6044820152606401610556565b6001600160a01b0382166108095760405162461bcd60e51b81526004016105569061131d565b336001600160a01b038416148061083657506000818152600460205260409020546001600160a01b031633145b8061086457506001600160a01b038316600090815260056020908152604080832033845290915290205460ff165b6108805760405162461bcd60e51b81526004016105569061126d565b6001600160a01b0380841660008181526002602090815260408083208054600019019055938616808352848320805460010190558583526003825284832080546001600160a01b03199081168317909155600490925284832080549092169091559251849392916000805160206115ce83398151915291a4505050565b6009546001600160a01b03163314610928576040516330cd747160e01b815260040160405180910390fd5b6009546040516000916001600160a01b03169047908381818185875af1925050503d8060008114610975576040519150601f19603f3d011682016040523d82523d6000602084013e61097a565b606091505b505090508061098857600080fd5b50565b61099683838361078d565b6001600160a01b0382163b1580610a295750604051630a85bd0160e11b808252906001600160a01b0384169063150b7a02906109da90339088908790600401611348565b6020604051808303816000875af11580156109f9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a1d919061137b565b6001600160e01b031916145b610a455760405162461bcd60e51b815260040161055690611398565b505050565b6009546001600160a01b03163314610a75576040516330cd747160e01b815260040160405180910390fd5b600755565b6000600b8054610a8990611233565b90501115610aaa576040516341666d6560e11b815260040160405180910390fd5b6009546001600160a01b03163314610ad5576040516330cd747160e01b815260040160405180910390fd5b600b610ae18282611410565b5050565b6009546001600160a01b03163314610b10576040516330cd747160e01b815260040160405180910390fd5b600855565b6001805461047090611233565b3360008181526005602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610b9984848461078d565b6001600160a01b0383163b1580610c2e5750604051630a85bd0160e11b808252906001600160a01b0385169063150b7a0290610bdf9033908990889088906004016114cf565b6020604051808303816000875af1158015610bfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c22919061137b565b6001600160e01b031916145b610c4a5760405162461bcd60e51b815260040161055690611398565b50505050565b6060600b610c5d83610d3e565b604051602001610c6e92919061150c565b6040516020818303038152906040529050919050565b610c8e8282610e46565b6001600160a01b0382163b1580610d225750604051630a85bd0160e11b808252906001600160a01b0384169063150b7a0290610cd39033906000908790600401611348565b6020604051808303816000875af1158015610cf2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d16919061137b565b6001600160e01b031916145b610ae15760405162461bcd60e51b815260040161055690611398565b606081600003610d655750506040805180820190915260018152600360fc1b602082015290565b8160005b8115610d8f5780610d79816112c3565b9150610d889050600a836112f2565b9150610d69565b6000816001600160401b03811115610da957610da961105b565b6040519080825280601f01601f191660200182016040528015610dd3576020820181803683370190505b5090505b8415610e3e57610de8600183611306565b9150610df5600a866115a3565b610e009060306112ab565b60f81b818381518110610e1557610e156115b7565b60200101906001600160f81b031916908160001a905350610e37600a866112f2565b9450610dd7565b949350505050565b6001600160a01b038216610e6c5760405162461bcd60e51b81526004016105569061131d565b6000818152600360205260409020546001600160a01b031615610ec25760405162461bcd60e51b815260206004820152600e60248201526d1053149150511657d3525395115160921b6044820152606401610556565b6001600160a01b038216600081815260026020908152604080832080546001019055848352600390915280822080546001600160a01b0319168417905551839291906000805160206115ce833981519152908290a45050565b6001600160e01b03198116811461098857600080fd5b600060208284031215610f4357600080fd5b8135610f4e81610f1b565b9392505050565b60005b83811015610f70578181015183820152602001610f58565b83811115610c4a5750506000910152565b60008151808452610f99816020860160208601610f55565b601f01601f19169290920160200192915050565b602081526000610f4e6020830184610f81565b600060208284031215610fd257600080fd5b5035919050565b80356001600160a01b0381168114610ff057600080fd5b919050565b6000806040838503121561100857600080fd5b61101183610fd9565b946020939093013593505050565b60008060006060848603121561103457600080fd5b61103d84610fd9565b925061104b60208501610fd9565b9150604084013590509250925092565b634e487b7160e01b600052604160045260246000fd5b60006001600160401b038084111561108b5761108b61105b565b604051601f8501601f19908116603f011681019082821181831017156110b3576110b361105b565b816040528093508581528686860111156110cc57600080fd5b858560208301376000602087830101525050509392505050565b6000602082840312156110f857600080fd5b81356001600160401b0381111561110e57600080fd5b8201601f8101841361111f57600080fd5b610e3e84823560208401611071565b60006020828403121561114057600080fd5b610f4e82610fd9565b6000806040838503121561115c57600080fd5b61116583610fd9565b91506020830135801515811461117a57600080fd5b809150509250929050565b6000806000806080858703121561119b57600080fd5b6111a485610fd9565b93506111b260208601610fd9565b92506040850135915060608501356001600160401b038111156111d457600080fd5b8501601f810187136111e557600080fd5b6111f487823560208401611071565b91505092959194509250565b6000806040838503121561121357600080fd5b61121c83610fd9565b915061122a60208401610fd9565b90509250929050565b600181811c9082168061124757607f821691505b60208210810361126757634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252600e908201526d1393d517d055551213d49256915160921b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600082198211156112be576112be611295565b500190565b6000600182016112d5576112d5611295565b5060010190565b634e487b7160e01b600052601260045260246000fd5b600082611301576113016112dc565b500490565b60008282101561131857611318611295565b500390565b6020808252601190820152701253959053125117d49150d25412515395607a1b604082015260600190565b6001600160a01b039384168152919092166020820152604081019190915260806060820181905260009082015260a00190565b60006020828403121561138d57600080fd5b8151610f4e81610f1b565b60208082526010908201526f155394d0519157d49150d2541251539560821b604082015260600190565b601f821115610a4557600081815260208120601f850160051c810160208610156113e95750805b601f850160051c820191505b81811015611408578281556001016113f5565b505050505050565b81516001600160401b038111156114295761142961105b565b61143d816114378454611233565b846113c2565b602080601f831160018114611472576000841561145a5750858301515b600019600386901b1c1916600185901b178555611408565b600085815260208120601f198616915b828110156114a157888601518255948401946001909101908401611482565b50858210156114bf5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061150290830184610f81565b9695505050505050565b600080845461151a81611233565b60018281168015611532576001811461154757611576565b60ff1984168752821515830287019450611576565b8860005260208060002060005b8581101561156d5781548a820152908401908201611554565b50505082870194505b50505050835161158a818360208801610f55565b64173539b7b760d91b9101908152600501949350505050565b6000826115b2576115b26112dc565b500690565b634e487b7160e01b600052603260045260246000fdfeddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212209e3eefc568f21a255971dc37a1883fac4453a8bdd2278d21e26bca42b73a9fea64736f6c634300080f0033