[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "ApprovalCallerNotOwnerNorApproved", "type": "error" }, { "inputs": [], "name": "ApprovalQueryForNonexistentToken", "type": "error" }, { "inputs": [], "name": "ApproveToCaller", "type": "error" }, { "inputs": [], "name": "BalanceQueryForZeroAddress", "type": "error" }, { "inputs": [], "name": "MintERC2309QuantityExceedsLimit", "type": "error" }, { "inputs": [], "name": "MintToZeroAddress", "type": "error" }, { "inputs": [], "name": "MintZeroQuantity", "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" }, { "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" }, { "stateMutability": "payable", "type": "fallback" }, { "inputs": [], "name": "COST", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_FREE_PER_WALLET", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MAX_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": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "freeMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "mod", "type": "uint256" } ], "name": "generateRandomNumber", "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": "", "type": "address" } ], "name": "isWhale", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "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": "tokenId", "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": "tokenId", "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": "tokenId", "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": "_base", "type": "string" } ], "name": "setData", "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": [], "name": "teamMint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "teamMintUsed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "whale", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "withdraw", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ]
60e0604052602e6080818152906118d860a03960019061001f90826100ed565b505f6002819055600755600a805460ff1916905534801561003e575f80fd5b505f80546001600160a01b031916331790556101a7565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061007d57607f821691505b60208210810361009b57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156100e857805f5260205f20601f840160051c810160208510156100c65750805b601f840160051c820191505b818110156100e5575f81556001016100d2565b50505b505050565b81516001600160401b0381111561010657610106610055565b61011a816101148454610069565b846100a1565b6020601f82116001811461014c575f83156101355750848201515b5f19600385901b1c1916600184901b1784556100e5565b5f84815260208120601f198516915b8281101561017b578785015182556020948501946001909201910161015b565b508482101561019857868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b611724806101b45f395ff3fe60806040526004361061019f575f3560e01c80636352211e116100eb578063a22cb46511610089578063bf8fbbd211610063578063bf8fbbd2146104fe578063c87b56dd14610518578063e985e9c514610537578063f14695ae1461057e5761020c565b8063a22cb465146104ac578063b88d4fde146104cb578063ba7a86b8146104ea5761020c565b80638ef1e259116100c55780638ef1e2591461042b57806395d89b411461045957806398710d1e14610485578063a0712d68146104995761020c565b80636352211e146103d157806370a08231146103f05780638da5cb5b1461040f5761020c565b806332cb6b0c1161015857806347064d6a1161013257806347064d6a146103665780634dd08f82146103855780635b70ea9f1461039e578063609526c2146103b25761020c565b806332cb6b0c1461031e5780633ccfd60b1461033357806342842e0e146103475761020c565b806301ffc9a71461021e57806306fdde0314610252578063081812fc1461028b578063095ea7b3146102c257806318160ddd146102e157806323b872dd146102ff5761020c565b3661020c575f60096101b65f60098054905061059d565b815481106101c6576101c66111bd565b5f9182526020822001546040516001600160a01b039091169250829182913480156108fc0292909190818181858888f1935050505015801561020a573d5f803e3d5ffd5b005b5f60096101b65f60098054905061059d565b348015610229575f80fd5b5061023d6102383660046111d1565b6105f2565b60405190151581526020015b60405180910390f35b34801561025d575f80fd5b5060408051808201909152600881526742616e616e616e7360c01b60208201525b60405161024991906111f8565b348015610296575f80fd5b506102aa6102a536600461122d565b61063f565b6040516001600160a01b039091168152602001610249565b3480156102cd575f80fd5b5061020a6102dc36600461125f565b610683565b3480156102ec575f80fd5b506002545b604051908152602001610249565b34801561030a575f80fd5b5061020a610319366004611287565b61073e565b348015610329575f80fd5b506102f16103e781565b34801561033e575f80fd5b5061020a61074e565b348015610352575f80fd5b5061020a610361366004611287565b6107b0565b348015610371575f80fd5b5061020a61038036600461134c565b6107ca565b348015610390575f80fd5b50600a5461023d9060ff1681565b3480156103a9575f80fd5b5061020a6107ff565b3480156103bd575f80fd5b506102f16103cc366004611399565b61059d565b3480156103dc575f80fd5b506102aa6103eb36600461122d565b610917565b3480156103fb575f80fd5b506102f161040a3660046113b9565b610921565b34801561041a575f80fd5b505f546001600160a01b03166102aa565b348015610436575f80fd5b5061023d6104453660046113b9565b60086020525f908152604090205460ff1681565b348015610464575f80fd5b5060408051808201909152600481526342414e4160e01b602082015261027e565b348015610490575f80fd5b506102f1600181565b61020a6104a736600461122d565b610967565b3480156104b7575f80fd5b5061020a6104c63660046113d2565b610a11565b3480156104d6575f80fd5b5061020a6104e536600461140b565b610aa5565b3480156104f5575f80fd5b5061020a610ab6565b348015610509575f80fd5b506102f16601c6bf5263400081565b348015610523575f80fd5b5061027e61053236600461122d565b610b3d565b348015610542575f80fd5b5061023d610551366004611482565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205460ff1690565b348015610589575f80fd5b506102aa61059836600461122d565b610c41565b5f806105aa6001436114c7565b6040805160208082018490523382840152606080830189905283518084039091018152608090920190925280519101209091506105e784826114da565b925050505b92915050565b5f6301ffc9a760e01b6001600160e01b03198316148061062257506380ac58cd60e01b6001600160e01b03198316145b806105ec5750506001600160e01b031916635b5e139f60e01b1490565b5f61064b826002541190565b610668576040516333d1c03960e21b815260040160405180910390fd5b505f908152600560205260409020546001600160a01b031690565b5f61068d82610c69565b9050806001600160a01b0316836001600160a01b0316036106ac575f80fd5b336001600160a01b038216146106e3576106c68133610551565b6106e3576040516367d9dca160e11b815260040160405180910390fd5b5f8281526005602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b610749838383610ccb565b505050565b5f546001600160a01b031633146107805760405162461bcd60e51b8152600401610777906114f9565b60405180910390fd5b6040514790339082156108fc029083905f818181858888f193505050501580156107ac573d5f803e3d5ffd5b5050565b61074983838360405180602001604052805f815250610aa5565b5f546001600160a01b031633146107f35760405162461bcd60e51b8152600401610777906114f9565b60016107ac8282611598565b32331461083a5760405162461bcd60e51b81526020600482015260096024820152681b9bc814d8dc9a5c1d60ba1b6044820152606401610777565b3360016103e78161084a60025490565b6108549190611653565b11156108965760405162461bcd60e51b8152602060048201526011602482015270119c99595b5a5b9d0814dbdb190813dd5d607a1b6044820152606401610777565b60016108c4836001600160a01b03165f908152600460205260409081902054901c67ffffffffffffffff1690565b6108ce9083611653565b111561090d5760405162461bcd60e51b815260206004820152600e60248201526d13585e081c195c8815d85b1b195d60921b6044820152606401610777565b6107ac8282610e69565b5f6105ec82610c69565b5f815f03610942576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b03165f9081526004602052604090205467ffffffffffffffff1690565b336103e78261097560025490565b61097f9190611653565b11156109b85760405162461bcd60e51b815260206004820152600860248201526714dbdb190813dd5d60c21b6044820152606401610777565b346109ca6601c6bf5263400084611666565b1115610a075760405162461bcd60e51b815260206004820152600c60248201526b56616c756520746f204c6f7760a01b6044820152606401610777565b6107ac8183610e69565b336001600160a01b03831603610a3a5760405163b06307db60e01b815260040160405180910390fd5b335f8181526006602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610ab0848484610ccb565b50505050565b5f546001600160a01b03163314610adf5760405162461bcd60e51b8152600401610777906114f9565b600a5460ff1615610b235760405162461bcd60e51b815260206004820152600e60248201526d55736564206f6e6c79204f6e636560901b6044820152606401610777565b600a805460ff19166001179055610b3b336032610e69565b565b6060610b4a826002541190565b610b6757604051630a14c4b560e41b815260040160405180910390fd5b5f60018054610b759061151c565b80601f0160208091040260200160405190810160405280929190818152602001828054610ba19061151c565b8015610bec5780601f10610bc357610100808354040283529160200191610bec565b820191905f5260205f20905b815481529060010190602001808311610bcf57829003601f168201915b5050505050905080515f03610c0f5760405180602001604052805f815250610c3a565b80610c1984610f29565b604051602001610c2a929190611694565b6040516020818303038152906040525b9392505050565b60098181548110610c50575f80fd5b5f918252602090912001546001600160a01b0316905081565b5f81600254811015610cb2575f8181526003602052604081205490600160e01b82169003610cb0575b805f03610c3a57505f19015f81815260036020526040902054610c92565b505b604051636f96cda160e11b815260040160405180910390fd5b5f610cd582610c69565b9050836001600160a01b0316816001600160a01b031614610d085760405162a1148160e81b815260040160405180910390fd5b5f828152600560205260408120546001600160a01b0390811691908616331480610d375750610d378633610551565b80610d4a57506001600160a01b03821633145b905080610d6a57604051632ce44b5f60e11b815260040160405180910390fd5b8115610d8c575f84815260056020526040902080546001600160a01b03191690555b6001600160a01b038681165f90815260046020908152604080832080545f1901905592881682528282208054600101905586825260039052908120600160e11b4260a01b8817811790915584169003610e1357600184015f818152600360205260408120549003610e11576002548114610e11575f8181526003602052604090208490555b505b83856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610e618686866001610f78565b505050505050565b6002545f829003610e8d5760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b0383165f9081526004602090815260408083208054680100000000000000018702019055838352600390915290204260a01b84176001841460e11b179055808083015b6040516001830192906001600160a01b038716905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4808210610ed757506002556107495f848385610f78565b604080516080810191829052607f0190826030600a8206018353600a90045b8015610f6657600183039250600a81066030018353600a9004610f48565b50819003601f19909101908152919050565b335f8181526008602052604090205460ff16158015610fa057506032610f9d82610921565b10155b1561100a576001600160a01b0381165f818152600860205260408120805460ff191660019081179091556009805491820181559091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0180546001600160a01b03191690911790555b6001600160a01b0381165f9081526008602052604090205460ff1680156110395750603261103782610921565b105b156110b1576001600160a01b0381165f908152600860205260408120805460ff191690555b600954811015610e6157816001600160a01b031660098281548110611085576110856111bd565b5f918252602090912001546001600160a01b0316036110a9576110a96009826110b8565b60010161105e565b5050505050565b815481106110f85760405162461bcd60e51b815260206004820152600d60248201526c4f7574206f6620626f756e647360981b6044820152606401610777565b805b8254611108906001906114c7565b811015611188578261111b826001611653565b8154811061112b5761112b6111bd565b905f5260205f20015f9054906101000a90046001600160a01b0316838281548110611158576111586111bd565b5f91825260209091200180546001600160a01b0319166001600160a01b03929092169190911790556001016110fa565b5081805480611199576111996116da565b5f8281526020902081015f1990810180546001600160a01b03191690550190555050565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156111e1575f80fd5b81356001600160e01b031981168114610c3a575f80fd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f6020828403121561123d575f80fd5b5035919050565b80356001600160a01b038116811461125a575f80fd5b919050565b5f8060408385031215611270575f80fd5b61127983611244565b946020939093013593505050565b5f805f60608486031215611299575f80fd5b6112a284611244565b92506112b060208501611244565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f8067ffffffffffffffff8411156112ef576112ef6112c1565b50604051601f19601f85018116603f0116810181811067ffffffffffffffff8211171561131e5761131e6112c1565b604052838152905080828401851015611335575f80fd5b838360208301375f60208583010152509392505050565b5f6020828403121561135c575f80fd5b813567ffffffffffffffff811115611372575f80fd5b8201601f81018413611382575f80fd5b611391848235602084016112d5565b949350505050565b5f80604083850312156113aa575f80fd5b50508035926020909101359150565b5f602082840312156113c9575f80fd5b610c3a82611244565b5f80604083850312156113e3575f80fd5b6113ec83611244565b915060208301358015158114611400575f80fd5b809150509250929050565b5f805f806080858703121561141e575f80fd5b61142785611244565b935061143560208601611244565b925060408501359150606085013567ffffffffffffffff811115611457575f80fd5b8501601f81018713611467575f80fd5b611476878235602084016112d5565b91505092959194509250565b5f8060408385031215611493575f80fd5b61149c83611244565b91506114aa60208401611244565b90509250929050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156105ec576105ec6114b3565b5f826114f457634e487b7160e01b5f52601260045260245ffd5b500690565b6020808252600990820152683737ba1027bbb732b960b91b604082015260600190565b600181811c9082168061153057607f821691505b60208210810361154e57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561074957805f5260205f20601f840160051c810160208510156115795750805b601f840160051c820191505b818110156110b1575f8155600101611585565b815167ffffffffffffffff8111156115b2576115b26112c1565b6115c6816115c0845461151c565b84611554565b6020601f8211600181146115f8575f83156115e15750848201515b5f19600385901b1c1916600184901b1784556110b1565b5f84815260208120601f198516915b828110156116275787850151825560209485019460019092019101611607565b508482101561164457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b808201808211156105ec576105ec6114b3565b80820281158282048414176105ec576105ec6114b3565b5f81518060208401855e5f93019283525090919050565b66697066733a2f2f60c81b81525f6116af600783018561167d565b602f60f81b81526116c3600182018561167d565b64173539b7b760d91b815260050195945050505050565b634e487b7160e01b5f52603160045260245ffdfea2646970667358221220d8519fa357d4e327c21a9d27bdcf2a387851f9ed344c0aebddff712f7bc905bf64736f6c634300081a0033516d59324d6e715348436346544b58487a6b554d346956503862516a706654334e7647364e454c7a615377665537