[ { "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" } ]
60e0604052602e6080818152906118c860a03960019061001f90826100ed565b505f6002819055600755600a805460ff1916905534801561003e575f5ffd5b505f80546001600160a01b031916331790556101a7565b634e487b7160e01b5f52604160045260245ffd5b600181811c9082168061007d57607f821691505b60208210810361009b57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f8211156100e857805f5260205f20601f840160051c810160208510156100c65750805b601f840160051c820191505b818110156100e5575f81556001016100d2565b50505b505050565b81516001600160401b0381111561010657610106610055565b61011a816101148454610069565b846100a1565b6020601f82116001811461014c575f83156101355750848201515b5f19600385901b1c1916600184901b1784556100e5565b5f84815260208120601f198516915b8281101561017b578785015182556020948501946001909201910161015b565b508482101561019857868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b611714806101b45f395ff3fe60806040526004361061019f575f3560e01c80636352211e116100eb578063a22cb46511610089578063bf8fbbd211610063578063bf8fbbd214610500578063c87b56dd1461051a578063e985e9c514610539578063f14695ae146105805761020c565b8063a22cb465146104ae578063b88d4fde146104cd578063ba7a86b8146104ec5761020c565b80638ef1e259116100c55780638ef1e2591461042f57806395d89b411461045d57806398710d1e14610487578063a0712d681461049b5761020c565b80636352211e146103d557806370a08231146103f45780638da5cb5b146104135761020c565b806332cb6b0c1161015857806347064d6a1161013257806347064d6a1461036a5780634dd08f82146103895780635b70ea9f146103a2578063609526c2146103b65761020c565b806332cb6b0c146103225780633ccfd60b1461033757806342842e0e1461034b5761020c565b806301ffc9a71461021e57806306fdde0314610252578063081812fc1461028f578063095ea7b3146102c657806318160ddd146102e557806323b872dd146103035761020c565b3661020c575f60096101b65f60098054905061059f565b815481106101c6576101c66111ad565b5f9182526020822001546040516001600160a01b039091169250829182913480156108fc0292909190818181858888f1935050505015801561020a573d5f5f3e3d5ffd5b005b5f60096101b65f60098054905061059f565b348015610229575f5ffd5b5061023d6102383660046111c1565b6105f4565b60405190151581526020015b60405180910390f35b34801561025d575f5ffd5b5060408051808201909152600c81526b506570652042726f74686b6f60a01b60208201525b60405161024991906111e8565b34801561029a575f5ffd5b506102ae6102a936600461121d565b610641565b6040516001600160a01b039091168152602001610249565b3480156102d1575f5ffd5b5061020a6102e036600461124f565b610685565b3480156102f0575f5ffd5b506002545b604051908152602001610249565b34801561030e575f5ffd5b5061020a61031d366004611277565b610740565b34801561032d575f5ffd5b506102f56101f481565b348015610342575f5ffd5b5061020a610750565b348015610356575f5ffd5b5061020a610365366004611277565b6107b2565b348015610375575f5ffd5b5061020a61038436600461133c565b6107cc565b348015610394575f5ffd5b50600a5461023d9060ff1681565b3480156103ad575f5ffd5b5061020a610801565b3480156103c1575f5ffd5b506102f56103d0366004611389565b61059f565b3480156103e0575f5ffd5b506102ae6103ef36600461121d565b610907565b3480156103ff575f5ffd5b506102f561040e3660046113a9565b610911565b34801561041e575f5ffd5b505f546001600160a01b03166102ae565b34801561043a575f5ffd5b5061023d6104493660046113a9565b60086020525f908152604090205460ff1681565b348015610468575f5ffd5b50604080518082019091526002815261282160f11b6020820152610282565b348015610492575f5ffd5b506102f5600181565b61020a6104a936600461121d565b610957565b3480156104b9575f5ffd5b5061020a6104c83660046113c2565b610a01565b3480156104d8575f5ffd5b5061020a6104e73660046113fb565b610a95565b3480156104f7575f5ffd5b5061020a610aa6565b34801561050b575f5ffd5b506102f56601c6bf5263400081565b348015610525575f5ffd5b5061028261053436600461121d565b610b2d565b348015610544575f5ffd5b5061023d610553366004611472565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205460ff1690565b34801561058b575f5ffd5b506102ae61059a36600461121d565b610c31565b5f806105ac6001436114b7565b6040805160208082018490523382840152606080830189905283518084039091018152608090920190925280519101209091506105e984826114ca565b925050505b92915050565b5f6301ffc9a760e01b6001600160e01b03198316148061062457506380ac58cd60e01b6001600160e01b03198316145b806105ee5750506001600160e01b031916635b5e139f60e01b1490565b5f61064d826002541190565b61066a576040516333d1c03960e21b815260040160405180910390fd5b505f908152600560205260409020546001600160a01b031690565b5f61068f82610c59565b9050806001600160a01b0316836001600160a01b0316036106ae575f5ffd5b336001600160a01b038216146106e5576106c88133610553565b6106e5576040516367d9dca160e11b815260040160405180910390fd5b5f8281526005602052604080822080546001600160a01b0319166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b61074b838383610cbb565b505050565b5f546001600160a01b031633146107825760405162461bcd60e51b8152600401610779906114e9565b60405180910390fd5b6040514790339082156108fc029083905f818181858888f193505050501580156107ae573d5f5f3e3d5ffd5b5050565b61074b83838360405180602001604052805f815250610a95565b5f546001600160a01b031633146107f55760405162461bcd60e51b8152600401610779906114e9565b60016107ae8282611588565b32331461083c5760405162461bcd60e51b81526020600482015260096024820152681b9bc814d8dc9a5c1d60ba1b6044820152606401610779565b3360016101f48161084c60025490565b6108569190611643565b11156108985760405162461bcd60e51b8152602060048201526011602482015270119c99595b5a5b9d0814dbdb190813dd5d607a1b6044820152606401610779565b6001600160a01b0382165f90815260046020526040908190205467ffffffffffffffff911c16156108fd5760405162461bcd60e51b815260206004820152600f60248201526e119a5c9cdd08135a5b9d081d5cd959608a1b6044820152606401610779565b6107ae8282610e59565b5f6105ee82610c59565b5f815f03610932576040516323d3ad8160e21b815260040160405180910390fd5b506001600160a01b03165f9081526004602052604090205467ffffffffffffffff1690565b336101f48261096560025490565b61096f9190611643565b11156109a85760405162461bcd60e51b815260206004820152600860248201526714dbdb190813dd5d60c21b6044820152606401610779565b346109ba6601c6bf5263400084611656565b11156109f75760405162461bcd60e51b815260206004820152600c60248201526b56616c756520746f204c6f7760a01b6044820152606401610779565b6107ae8183610e59565b336001600160a01b03831603610a2a5760405163b06307db60e01b815260040160405180910390fd5b335f8181526006602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b610aa0848484610cbb565b50505050565b5f546001600160a01b03163314610acf5760405162461bcd60e51b8152600401610779906114e9565b600a5460ff1615610b135760405162461bcd60e51b815260206004820152600e60248201526d55736564206f6e6c79204f6e636560901b6044820152606401610779565b600a805460ff19166001179055610b2b336032610e59565b565b6060610b3a826002541190565b610b5757604051630a14c4b560e41b815260040160405180910390fd5b5f60018054610b659061150c565b80601f0160208091040260200160405190810160405280929190818152602001828054610b919061150c565b8015610bdc5780601f10610bb357610100808354040283529160200191610bdc565b820191905f5260205f20905b815481529060010190602001808311610bbf57829003601f168201915b5050505050905080515f03610bff5760405180602001604052805f815250610c2a565b80610c0984610f19565b604051602001610c1a929190611684565b6040516020818303038152906040525b9392505050565b60098181548110610c40575f80fd5b5f918252602090912001546001600160a01b0316905081565b5f81600254811015610ca2575f8181526003602052604081205490600160e01b82169003610ca0575b805f03610c2a57505f19015f81815260036020526040902054610c82565b505b604051636f96cda160e11b815260040160405180910390fd5b5f610cc582610c59565b9050836001600160a01b0316816001600160a01b031614610cf85760405162a1148160e81b815260040160405180910390fd5b5f828152600560205260408120546001600160a01b0390811691908616331480610d275750610d278633610553565b80610d3a57506001600160a01b03821633145b905080610d5a57604051632ce44b5f60e11b815260040160405180910390fd5b8115610d7c575f84815260056020526040902080546001600160a01b03191690555b6001600160a01b038681165f90815260046020908152604080832080545f1901905592881682528282208054600101905586825260039052908120600160e11b4260a01b8817811790915584169003610e0357600184015f818152600360205260408120549003610e01576002548114610e01575f8181526003602052604090208490555b505b83856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610e518686866001610f68565b505050505050565b6002545f829003610e7d5760405163b562e8dd60e01b815260040160405180910390fd5b6001600160a01b0383165f9081526004602090815260408083208054680100000000000000018702019055838352600390915290204260a01b84176001841460e11b179055808083015b6040516001830192906001600160a01b038716905f907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a4808210610ec7575060025561074b5f848385610f68565b604080516080810191829052607f0190826030600a8206018353600a90045b8015610f5657600183039250600a81066030018353600a9004610f38565b50819003601f19909101908152919050565b335f8181526008602052604090205460ff16158015610f9057506032610f8d82610911565b10155b15610ffa576001600160a01b0381165f818152600860205260408120805460ff191660019081179091556009805491820181559091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0180546001600160a01b03191690911790555b6001600160a01b0381165f9081526008602052604090205460ff1680156110295750603261102782610911565b105b156110a1576001600160a01b0381165f908152600860205260408120805460ff191690555b600954811015610e5157816001600160a01b031660098281548110611075576110756111ad565b5f918252602090912001546001600160a01b031603611099576110996009826110a8565b60010161104e565b5050505050565b815481106110e85760405162461bcd60e51b815260206004820152600d60248201526c4f7574206f6620626f756e647360981b6044820152606401610779565b805b82546110f8906001906114b7565b811015611178578261110b826001611643565b8154811061111b5761111b6111ad565b905f5260205f20015f9054906101000a90046001600160a01b0316838281548110611148576111486111ad565b5f91825260209091200180546001600160a01b0319166001600160a01b03929092169190911790556001016110ea565b5081805480611189576111896116ca565b5f8281526020902081015f1990810180546001600160a01b03191690550190555050565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156111d1575f5ffd5b81356001600160e01b031981168114610c2a575f5ffd5b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f6020828403121561122d575f5ffd5b5035919050565b80356001600160a01b038116811461124a575f5ffd5b919050565b5f5f60408385031215611260575f5ffd5b61126983611234565b946020939093013593505050565b5f5f5f60608486031215611289575f5ffd5b61129284611234565b92506112a060208501611234565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f5f67ffffffffffffffff8411156112df576112df6112b1565b50604051601f19601f85018116603f0116810181811067ffffffffffffffff8211171561130e5761130e6112b1565b604052838152905080828401851015611325575f5ffd5b838360208301375f60208583010152509392505050565b5f6020828403121561134c575f5ffd5b813567ffffffffffffffff811115611362575f5ffd5b8201601f81018413611372575f5ffd5b611381848235602084016112c5565b949350505050565b5f5f6040838503121561139a575f5ffd5b50508035926020909101359150565b5f602082840312156113b9575f5ffd5b610c2a82611234565b5f5f604083850312156113d3575f5ffd5b6113dc83611234565b9150602083013580151581146113f0575f5ffd5b809150509250929050565b5f5f5f5f6080858703121561140e575f5ffd5b61141785611234565b935061142560208601611234565b925060408501359150606085013567ffffffffffffffff811115611447575f5ffd5b8501601f81018713611457575f5ffd5b611466878235602084016112c5565b91505092959194509250565b5f5f60408385031215611483575f5ffd5b61148c83611234565b915061149a60208401611234565b90509250929050565b634e487b7160e01b5f52601160045260245ffd5b818103818111156105ee576105ee6114a3565b5f826114e457634e487b7160e01b5f52601260045260245ffd5b500690565b6020808252600990820152683737ba1027bbb732b960b91b604082015260600190565b600181811c9082168061152057607f821691505b60208210810361153e57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561074b57805f5260205f20601f840160051c810160208510156115695750805b601f840160051c820191505b818110156110a1575f8155600101611575565b815167ffffffffffffffff8111156115a2576115a26112b1565b6115b6816115b0845461150c565b84611544565b6020601f8211600181146115e8575f83156115d15750848201515b5f19600385901b1c1916600184901b1784556110a1565b5f84815260208120601f198516915b8281101561161757878501518255602094850194600190920191016115f7565b508482101561163457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b808201808211156105ee576105ee6114a3565b80820281158282048414176105ee576105ee6114a3565b5f81518060208401855e5f93019283525090919050565b66697066733a2f2f60c81b81525f61169f600783018561166d565b602f60f81b81526116b3600182018561166d565b64173539b7b760d91b815260050195945050505050565b634e487b7160e01b5f52603160045260245ffdfea2646970667358221220173ebe2aa753d8d7ad47e49f53c662c7659440c3a6ff26719b1ff54d61718e9e64736f6c634300081b0033516d5073484c6b61584d36615468634e6b725155636d61546135465a4c7841444b757864334336516f58374a4e6a