{"compiler":{"version":"0.7.0+commit.9e61f92b"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"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":"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_NFT_SUPPLY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MINT_PRICE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"SALE_START_TIMESTAMP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WHITELIST_SIGNER","outputs":[{"internalType":"address","name":"","type":"address"}],"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":"baseTokenURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"baseURI","type":"string"}],"name":"changeBaseURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"newContractURI","type":"string"}],"name":"changeContractURI","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_disableWhitelistTimestamp","type":"uint256"}],"name":"changeDisableWhitelistTimestamp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_nftsPerAddress","type":"uint256"}],"name":"changeNftsPerAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"contractURI","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"disableWhitelistTimestamp","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":[],"name":"getNFTPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"addr","type":"address"}],"name":"getNftsMintedByAddress","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"user","type":"address"},{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes","name":"signature","type":"bytes"}],"name":"mintNFT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"mintedTimestampByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"nftsPerAddress","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"publicMintingHasStarted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"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":"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":"string","name":"str","type":"string"}],"name":"toLower","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint256","name":"index","type":"uint256"}],"name":"tokenByIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"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":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"whitelistMintingHasStarted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}],"devdoc":{"details":"Extends ERC721 Non-Fungible Token Standard basic implementation","kind":"dev","methods":{"approve(address,uint256)":{"details":"See {IERC721-approve}."},"balanceOf(address)":{"details":"See {IERC721-balanceOf}."},"baseTokenURI()":{"details":"Gets the base token URI","returns":{"_0":"string representing the base token URI"}},"changeBaseURI(string)":{"details":"Changes the base URI if we want to move things in the future (Callable by owner only)"},"changeContractURI(string)":{"details":"Changes the base URI if we want to move things in the future (Callable by owner only)"},"changeDisableWhitelistTimestamp(uint256)":{"details":"Changes the number of NFTs a unique address can mint (Callable by owner only)"},"changeNftsPerAddress(uint256)":{"details":"Changes the number of NFTs a unique address can mint (Callable by owner only)"},"constructor":{"details":"Initializes the contract which sets a name and a symbol to the token collection."},"contractURI()":{"details":"Gets the contract URI for contract level metadata","returns":{"_0":"string representing the contract URI"}},"getApproved(uint256)":{"details":"See {IERC721-getApproved}."},"getNFTPrice()":{"details":"Gets current NFT Price"},"isApprovedForAll(address,address)":{"details":"See {IERC721-isApprovedForAll}."},"mintNFT(bytes)":{"details":"Mints NFTs"},"mintedTimestampByIndex(uint256)":{"details":"Returns the timestamp of the block in which the NFT was minted"},"name()":{"details":"See {IERC721Metadata-name}."},"owner()":{"details":"Returns the address of the current owner."},"ownerOf(uint256)":{"details":"See {IERC721-ownerOf}."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner."},"safeTransferFrom(address,address,uint256)":{"details":"See {IERC721-safeTransferFrom}."},"safeTransferFrom(address,address,uint256,bytes)":{"details":"See {IERC721-safeTransferFrom}."},"setApprovalForAll(address,bool)":{"details":"See {IERC721-setApprovalForAll}."},"supportsInterface(bytes4)":{"details":"See {IERC165-supportsInterface}. Time complexity O(1), guaranteed to always use less than 30 000 gas."},"symbol()":{"details":"See {IERC721Metadata-symbol}."},"toLower(string)":{"details":"Converts the string to lowercase"},"tokenByIndex(uint256)":{"details":"See {IERC721Enumerable-tokenByIndex}."},"tokenOfOwnerByIndex(address,uint256)":{"details":"See {IERC721Enumerable-tokenOfOwnerByIndex}."},"tokenURI(uint256)":{"details":"Returns an URI for a given token ID Throws if the token ID does not exist. May return an empty string.","params":{"tokenId":"uint256 ID of the token to query"}},"totalSupply()":{"details":"See {IERC721Enumerable-totalSupply}."},"transferFrom(address,address,uint256)":{"details":"See {IERC721-transferFrom}."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."},"withdraw()":{"details":"Withdraw ether from this contract (Callable by owner)"}},"title":"MSOW contract","version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"compilationTarget":{"MSOW.sol":"MSOW"},"evmVersion":"istanbul","libraries":{},"metadata":{"bytecodeHash":"ipfs"},"optimizer":{"enabled":true,"runs":200},"remappings":[]},"sources":{"ERC165/ERC165.sol":{"keccak256":"0xe561105e0cb8718110aaca80ea52e0c26b4f59c5fbb49dc2cafb13865cd3d6a6","urls":["bzz-raw://c866c68f568f3884425dce375ef177ed25a6bc7ca0f88dc67f7f3c9ae6663c27","dweb:/ipfs/QmPcBPnbA53JujGK2XAY9s4BmcGkVe8AsMF14Zvtn5xoWG"]},"ERC165/IERC165.sol":{"keccak256":"0x239a010e6663eecbe05cd950188bb81e57112782d0c3871831415eb6ad343195","urls":["bzz-raw://828f1d8d42ff7e4d0a36e0ff6012dc1da180de871977a3850708d01dd77be331","dweb:/ipfs/QmcA5g2nUF1JDnQmpwrg6X8KbjyBfxuqWuAoMe4Y8bqBK5"]},"IERC721.sol":{"keccak256":"0xcb3d7eab00daa13b1457a981e7343b424407b8dfd45e375ee5517c3c698870cc","urls":["bzz-raw://ce212393f7c2c6c7bb67705a6d548405672daeb43d83273d9c84086e4e5abfaa","dweb:/ipfs/QmaQr33QWFtahaYNTsvRQRXd8UMTQgTfq1nPLG7YoYk5f9"]},"IERC721Enumerable.sol":{"keccak256":"0xc5c1bd0feba13f88dcc52706ec4084e57912273147221c3d78eb0d9e75386156","urls":["bzz-raw://2102c2f272dc626da416160620b4c89d90759c4473f8b20f35e327a35acecea7","dweb:/ipfs/QmNSHzRu5hrnxWdB9xzYGHk2i6eJhgUKQE5C7FpcP11czM"]},"IMSOW.sol":{"keccak256":"0x9c9162fe248334ed89160ae2261d9993d5a64ed9f2ecf11f2d7d197f553d1e38","urls":["bzz-raw://8a1bbbb05a6f1a4a17b2c4d8029687c3205bbf8b396a6bc7dbb5e3965de7531f","dweb:/ipfs/QmVbTvFEMWAbrK2pZa4TcWBJa2d93yAfFZV1yE44KPhiqf"]},"MSOW.sol":{"keccak256":"0x2fad3298077a11cff1aca3c8ddf1b989828eeae1531710ba789f8221114b4c44","urls":["bzz-raw://44117eab6622f09b6e96c624225ced93548661afcaaaade697ec977aac80405e","dweb:/ipfs/QmVJBCG4jyPKjW3mhmc3foEaQ5rsvB4gwoThqimS7weca8"]},"utils/Address.sol":{"keccak256":"0x9d491336662cfeab11aecf0b96d803250b4b8b340e50f789030cb936ef725a63","urls":["bzz-raw://cd9956fa76c4d9384bbcb4e4c7cfb5e789458edbc0986699bbc8e8c704948b7d","dweb:/ipfs/QmQRwWPDomnMi2vxUEeZdfnYW7bH6N6yaNFBcK9wYvqUqg"]},"utils/Context.sol":{"keccak256":"0xb1c2392fac532c357366c6151f6828a47b88dbe2b58c61a1c2148232df212023","urls":["bzz-raw://81e38df7af18e49ccc1fbbfc8470980daa249a728b9136a8a8126431becb2499","dweb:/ipfs/QmPUmqb2EmfPXsTEaVGGMzoBgdPPoTWUFdmheZLD97Xhde"]},"utils/EnumerableMap.sol":{"keccak256":"0x399851268ea9beec71ea4900fdcd7188b2481f2594ecc40ce7c30386582d468f","urls":["bzz-raw://51286c221aba8cdf8e7a45772c4dc7552f9008cf04ab1319f9c74b1d02216882","dweb:/ipfs/QmWSbaLQsogmzKbjf5zXK45ahkZsQXHysrrVEvr7W6CvtP"]},"utils/EnumerableSet.sol":{"keccak256":"0xb1ee906a838fa35c0a18a9473da2eb206779f5b19580d01bcdd1bf67f8cf8e4d","urls":["bzz-raw://7c2200ad85618b081180a510b47c54ee157e29e2e85171500aa8078ff277509e","dweb:/ipfs/QmemTHYRnKGo3AYuHLuNgpZcaZu85n2Enx3NFesySzwX4v"]},"utils/Ownable.sol":{"keccak256":"0x5d5736d8e5c2a8b8fbb2cff2ff232e77c74f4e2c5e5f802935c6c92ea3fa2014","urls":["bzz-raw://aa17c2c4c8e9d69664f96d00d3b6da7798386780c3f80165132a9b8c7b52d601","dweb:/ipfs/QmNqk44sw1pd1nehKGEYxrkig5HPvVXJ5W5A5bTyY3yQJf"]},"utils/SafeMath.sol":{"keccak256":"0x0b4f195d54618be9443dfefed2616c4c64a65282a6e38dd13c93c23934e90e91","urls":["bzz-raw://acf1b99af42942b88688b7893041496e2fa632eaad764caee0a980efdb1caa07","dweb:/ipfs/QmQoy592YYcJpe3nX7cKPUX69jmq5P5qRtnUg6Pq7vmuGA"]},"utils/Strings.sol":{"keccak256":"0x7604eea876ff498490570341f52c8b3796e620b383ea8d2bdcf5e3b3b649cf3e","urls":["bzz-raw://fb5cf77c2f4e67651113f8d71f5889af425bae0d0e2b3376ca08fc147e7246e1","dweb:/ipfs/QmaB7ZttUDBsnQKHjYUWmGEXCYacPzdyntPwJ24FsGkKt6"]}},"version":1}