[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "ApprovalCallerNotOwnerNorApproved", "type": "error" }, { "inputs": [], "name": "ApprovalQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "BalanceQueryForZeroAddress", "type": "error" }, { "inputs": [], "name": "MintERC2309QuantityExceedsLimit", "type": "error" }, { "inputs": [], "name": "MintToZeroAddress", "type": "error" }, { "inputs": [], "name": "MintZeroQuantity", "type": "error" }, { "inputs": [], "name": "NotCompatibleWithSpotMints", "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": "OwnerQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "OwnershipNotInitializedForExtraData", "type": "error" }, { "inputs": [], "name": "ReentrancyGuardReentrantCall", "type": "error" }, { "inputs": [], "name": "SequentialMintExceedsLimit", "type": "error" }, { "inputs": [], "name": "SequentialUpToTooSmall", "type": "error" }, { "inputs": [], "name": "SpotMintTokenIdTooSmall", "type": "error" }, { "inputs": [], "name": "TokenAlreadyExists", "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" }, { "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": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "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_TOKEN_SUPPLY", "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": [ { "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": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "numToMint", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "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": "tokenId", "type": "uint256" } ], "name": "ownerOf", "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": "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": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "result", "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" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" } ], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60806040523461017f5761001161019a565b65576f6c76657360d01b602082015261002861019a565b65574f4c56455360d01b60208201528151916001600160401b03831161017a5761005c836100576002546101bd565b6101f7565b602090601f84116001146100f157928061009192610099956000926100e6575b50508160011b916000199060031b1c19161790565b60025561029c565b6000805533156100d0576100ac3361037a565b6100b66001600a55565b6100c1611456600b55565b6040516113c790816103c48239f35b631e4fbdf760e01b600090815260045260246000fd5b01519050388061007c565b6002600052601f19841691907f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace9260005b8181106101625750916001939186610099979410610149575b505050811b0160025561029c565b015160001960f88460031b161c1916905538808061013b565b92936020600181928786015181550195019301610122565b610184565b600080fd5b634e487b7160e01b600052604160045260246000fd5b60408051919082016001600160401b0381118382101761017a5760405260068252565b90600182811c921680156101ed575b60208310146101d757565b634e487b7160e01b600052602260045260246000fd5b91607f16916101cc565b601f8111610203575050565b60026000526020600020906020601f840160051c83019310610240575b601f0160051c01905b818110610234575050565b60008155600101610229565b9091508190610220565b601f821161025757505050565b6000526020600020906020601f840160051c83019310610292575b601f0160051c01905b818110610286575050565b6000815560010161027b565b9091508190610272565b80519091906001600160401b03811161017a576102c5816102be6003546101bd565b600361024a565b602092601f82116001146102fb576102f6929382916000926100e65750508160011b916000199060031b1c19161790565b600355565b6003600052601f198216937fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b9160005b8681106103625750836001959610610349575b505050811b01600355565b015160001960f88460031b161c1916905538808061033e565b9192602060018192868501518155019401920161032b565b600980546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a356fe6080604052600436101561001257600080fd5b60003560e01c806301ffc9a71461015757806306fdde0314610152578063081812fc1461014d578063095ea7b31461014857806318160ddd1461014357806323b872dd1461013e57806340c10f191461013957806342842e0e1461013457806351cff8d91461012f5780636352211e1461012a57806370a0823114610125578063715018a6146101205780638da5cb5b1461011b57806395d89b4114610116578063a22cb46514610111578063b88d4fde1461010c578063c87b56dd14610107578063e489d51014610102578063e985e9c5146100fd5763f2fde38b146100f857600080fd5b610b9d565b610b3b565b610b1d565b610a95565b610a11565b610921565b610869565b610842565b6107da565b610766565b610737565b610665565b610640565b6105b1565b61059d565b610540565b61043f565b6103a6565b6102b0565b61018b565b7fffffffff0000000000000000000000000000000000000000000000000000000081160361018657565b600080fd5b346101865760203660031901126101865760207fffffffff000000000000000000000000000000000000000000000000000000006004356101cb8161015c565b167f01ffc9a7000000000000000000000000000000000000000000000000000000008114908115610233575b8115610209575b506040519015158152f35b7f5b5e139f00000000000000000000000000000000000000000000000000000000915014386101fe565b7f80ac58cd00000000000000000000000000000000000000000000000000000000811491506101f7565b919082518082526020808301940160005b82811061028c575050600081602094950152601f8019910116010190565b818101518682015260200161026e565b9060206102ad92818152019061025d565b90565b346101865760003660031901126101865760405160006002548060011c906001811690811561039c575b60208310821461038857828552602085019190811561036f575060011461031c575b6103188461030c818603826109ce565b6040519182918261029c565b0390f35b600260009081529250907f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace5b81841061035b5750500161030c826102fc565b805484840152602090930192600101610348565b60ff191682525090151560051b01905061030c826102fc565b602484634e487b7160e01b81526022600452fd5b91607f16916102da565b34610186576020366003190112610186576004356103c381610f4c565b156103e957600052600660205260206001600160a01b0360406000205416604051908152f35b7fcf4700e40000000000000000000000000000000000000000000000000000000060005260046000fd5b600435906001600160a01b038216820361018657565b602435906001600160a01b038216820361018657565b604036600319011261018657610453610413565b602435906001600160a01b0361046883611073565b16908133036104e4575b806104bb6001600160a01b0392610493866000526006602052604060002090565b906001600160a01b031673ffffffffffffffffffffffffffffffffffffffff19825416179055565b16907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925600080a4005b81600052600760205260ff610510336040600020906001600160a01b0316600052602052604060002090565b5416610472577fcfb3b9420000000000000000000000000000000000000000000000000000000060005260046000fd5b346101865760003660031901126101865760206000546001549003604051908152f35b6060906003190112610186576004356001600160a01b038116810361018657906024356001600160a01b0381168103610186579060443590565b6105af6105a936610563565b91610c4c565b005b34610186576040366003190112610186576105ca610413565b60243580156105fc57600054918183018093116105f7576105f26105af93600b541015610e2a565b6110ea565b610e14565b606460405162461bcd60e51b815260206004820152600f60248201527f4d696e74206174206c65617374203100000000000000000000000000000000006044820152fd5b6105af61064c36610563565b906040519261065c6020856109ce565b60008452610ef0565b346101865760203660031901126101865761067e610413565b610686611222565b6002600a541461070d576002600a556001600160a01b031680156106c95760008080806106bf9447905af16106b9610e75565b50610ea5565b6105af6001600a55565b606460405162461bcd60e51b815260206004820152600f60248201527f494e56414c49445f4144445245535300000000000000000000000000000000006044820152fd5b7f3ee5aeb50000000000000000000000000000000000000000000000000000000060005260046000fd5b346101865760203660031901126101865760206001600160a01b0361075d600435611073565b16604051908152f35b34610186576020366003190112610186576001600160a01b03610787610413565b1680156107b0576000526005602052602067ffffffffffffffff60406000205416604051908152f35b7f8f4eb6040000000000000000000000000000000000000000000000000000000060005260046000fd5b34610186576000366003190112610186576107f3611222565b60006001600160a01b0360095473ffffffffffffffffffffffffffffffffffffffff198116600955167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b346101865760003660031901126101865760206001600160a01b0360095416604051908152f35b346101865760003660031901126101865760405160006003548060011c9060018116908115610917575b60208310821461038857828552602085019190811561036f57506001146108c4576103188461030c818603826109ce565b600360009081529250907fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8184106109035750500161030c826102fc565b8054848401526020909301926001016108f0565b91607f1691610893565b346101865760403660031901126101865761093a610413565b60243590811515809203610186576001600160a01b039033600052600760205261097b816040600020906001600160a01b0316600052602052604060002090565b60ff1981541660ff851617905560405192835216907f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3160203392a3005b634e487b7160e01b600052604160045260246000fd5b90601f8019910116810190811067ffffffffffffffff8211176109f057604052565b6109b8565b67ffffffffffffffff81116109f057601f01601f191660200190565b608036600319011261018657610a25610413565b610a2d610429565b906044356064359267ffffffffffffffff8411610186573660238501121561018657836004013592610a5e846109f5565b93610a6c60405195866109ce565b80855236602482880101116101865760208160009260246105af99018389013786010152610ef0565b346101865760006020366003190112610b1a57610ab3600435610f4c565b15610af25780604051610ac76020826109ce565b5250610318604051610ada6020826109ce565b6000815260405191829160208352602083019061025d565b807fa14c4b500000000000000000000000000000000000000000000000000000000060049252fd5b80fd5b34610186576000366003190112610186576020600b54604051908152f35b3461018657604036600319011261018657602060ff610b91610b5b610413565b6001600160a01b03610b6b610429565b9116600052600784526040600020906001600160a01b0316600052602052604060002090565b54166040519015158152f35b34610186576020366003190112610186576001600160a01b03610bbe610413565b610bc6611222565b168015610c1d576001600160a01b036009548273ffffffffffffffffffffffffffffffffffffffff19821617600955167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3005b7f1e4fbdf700000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b9190916001600160a01b03610c6083611073565b911692836001600160a01b03831603610e0f57600083815260066020526040902080549290610ca26001600160a01b03871633908114908614171590565b1590565b610dbf575b6001600160a01b0393610db5575b50610cd3856001600160a01b03166000526005602052604060002090565b8054600019019055610cf8826001600160a01b03166000526005602052604060002090565b805460010190556001600160a01b0382164260a01b17600160e11b17610d28856000526004602052604060002090565b55600160e11b811615610d6b575b501680927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a415610d6657565b610fe4565b60018401610d83816000526004602052604060002090565b5415610d90575b50610d36565b6000548114610d8a57610dad906000526004602052604060002090565b553880610d8a565b6000905538610cb5565b610e05610c9e610dfe33610de68a6001600160a01b03166000526007602052604060002090565b906001600160a01b0316600052602052604060002090565b5460ff1690565b15610ca757610fba565b610f90565b634e487b7160e01b600052601160045260246000fd5b15610e3157565b606460405162461bcd60e51b815260206004820152600760248201527f4f766572636170000000000000000000000000000000000000000000000000006044820152fd5b3d15610ea0573d90610e86826109f5565b91610e9460405193846109ce565b82523d6000602084013e565b606090565b15610eac57565b606460405162461bcd60e51b815260206004820152601160248201527f5749544844524157414c5f4641494c45440000000000000000000000000000006044820152fd5b929190610efe828286610c4c565b803b610f0b575b50505050565b610f1493611360565b15610f225738808080610f05565b7fd1a57ed60000000000000000000000000000000000000000000000000000000060005260046000fd5b906000916000548110610f5c5750565b9091505b80600052600460205260406000205480610f84575080156105f75760001901610f60565b600160e01b9150161590565b7fa11481000000000000000000000000000000000000000000000000000000000060005260046000fd5b7f59c896be0000000000000000000000000000000000000000000000000000000060005260046000fd5b7fea553b340000000000000000000000000000000000000000000000000000000060005260046000fd5b636f96cda160e11b60005260046000fd5b7fb562e8dd0000000000000000000000000000000000000000000000000000000060005260046000fd5b7f2e0763000000000000000000000000000000000000000000000000000000000060005260046000fd5b611087816000526004602052604060002090565b5490811561109e5750600160e01b811661100e5790565b905060005481101561100e575b600019016000818152600460205260409020549081156110e35750600160e01b8116156102ad57636f96cda160e11b60005260046000fd5b90506110ab565b91604051906110fa6020836109ce565b6000825260005491831561121d576001600160a01b0385164260a01b6001861460e11b1717611133846000526004602052604060002090565b55611151856001600160a01b03166000526005602052604060002090565b68010000000000000001850281540190556001600160a01b03851693841561121857808401939560015b156111af575b60008787827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a461117b565b95600101958487036111815792955092909350600055803b6111d057505050565b9091926000549283039260015b15611202575b60006111f7610c9e876001880197876112a7565b156111dd575b610f22565b8084106111e35792509250506000540361018657565b611049565b61101f565b6001600160a01b0360095416330361123657565b7f118cdaa7000000000000000000000000000000000000000000000000000000006000523360045260246000fd5b9081602091031261018657516102ad8161015c565b90926001600160a01b03608093816102ad97961684521660208301526040820152816060820152019061025d565b916112d79260209260006001600160a01b03604051809781968295630a85bd0160e11b8452853360048601611279565b0393165af16000918161132f575b50611301576112f2610e75565b8051156111fd57805190602001fd5b7fffffffff0000000000000000000000000000000000000000000000000000000016630a85bd0160e11b1490565b61135291925060203d602011611359575b61134a81836109ce565b810190611264565b90386112e5565b503d611340565b9060209260006001600160a01b036112d7969460405197889687958693630a85bd0160e11b8552336004860161127956fea2646970667358221220a8cdc1416af6da85d082672f3cb1b81fe57786567cd42c7e0dad44a4a89f5df464736f6c634300081a0033