@settlemint/solidity-token-erc721
Version:
Smart contract set to build an ERC721 token in SettleMint
1,588 lines • 45.8 kB
JSON
{
"compiler": {
"version": "0.8.30+commit.73712a01"
},
"language": "Solidity",
"output": {
"abi": [
{
"inputs": [
{
"internalType": "string",
"name": "name_",
"type": "string"
},
{
"internalType": "string",
"name": "symbol_",
"type": "string"
},
{
"internalType": "string",
"name": "baseTokenURI_",
"type": "string"
},
{
"internalType": "address",
"name": "proxyRegistryAddress_",
"type": "address"
},
{
"internalType": "address payable",
"name": "wallet_",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "numerator",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "denominator",
"type": "uint256"
}
],
"type": "error",
"name": "ERC2981InvalidDefaultRoyalty"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"type": "error",
"name": "ERC2981InvalidDefaultRoyaltyReceiver"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "numerator",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "denominator",
"type": "uint256"
}
],
"type": "error",
"name": "ERC2981InvalidTokenRoyalty"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"type": "error",
"name": "ERC2981InvalidTokenRoyaltyReceiver"
},
{
"inputs": [],
"type": "error",
"name": "ERC721EnumerableForbiddenBatchMint"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"type": "error",
"name": "ERC721IncorrectOwner"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"type": "error",
"name": "ERC721InsufficientApproval"
},
{
"inputs": [
{
"internalType": "address",
"name": "approver",
"type": "address"
}
],
"type": "error",
"name": "ERC721InvalidApprover"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"type": "error",
"name": "ERC721InvalidOperator"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"type": "error",
"name": "ERC721InvalidOwner"
},
{
"inputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
}
],
"type": "error",
"name": "ERC721InvalidReceiver"
},
{
"inputs": [
{
"internalType": "address",
"name": "sender",
"type": "address"
}
],
"type": "error",
"name": "ERC721InvalidSender"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"type": "error",
"name": "ERC721NonexistentToken"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "uint256",
"name": "index",
"type": "uint256"
}
],
"type": "error",
"name": "ERC721OutOfBoundsIndex"
},
{
"inputs": [],
"type": "error",
"name": "EnforcedPause"
},
{
"inputs": [],
"type": "error",
"name": "ExpectedPause"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"type": "error",
"name": "OwnableInvalidOwner"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"type": "error",
"name": "OwnableUnauthorizedAccount"
},
{
"inputs": [],
"type": "error",
"name": "ReentrancyGuardReentrantCall"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address",
"indexed": true
},
{
"internalType": "address",
"name": "approved",
"type": "address",
"indexed": true
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256",
"indexed": true
}
],
"type": "event",
"name": "Approval",
"anonymous": false
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address",
"indexed": true
},
{
"internalType": "address",
"name": "operator",
"type": "address",
"indexed": true
},
{
"internalType": "bool",
"name": "approved",
"type": "bool",
"indexed": false
}
],
"type": "event",
"name": "ApprovalForAll",
"anonymous": false
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address",
"indexed": false
}
],
"type": "event",
"name": "MintPaused",
"anonymous": false
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address",
"indexed": false
}
],
"type": "event",
"name": "MintUnpaused",
"anonymous": false
},
{
"inputs": [
{
"internalType": "address",
"name": "previousOwner",
"type": "address",
"indexed": true
},
{
"internalType": "address",
"name": "newOwner",
"type": "address",
"indexed": true
}
],
"type": "event",
"name": "OwnershipTransferred",
"anonymous": false
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address",
"indexed": false
}
],
"type": "event",
"name": "Paused",
"anonymous": false
},
{
"inputs": [
{
"internalType": "string",
"name": "_value",
"type": "string",
"indexed": false
},
{
"internalType": "uint256",
"name": "_id",
"type": "uint256",
"indexed": true
}
],
"type": "event",
"name": "PermanentURI",
"anonymous": false
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address",
"indexed": true
},
{
"internalType": "address",
"name": "to",
"type": "address",
"indexed": true
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256",
"indexed": true
}
],
"type": "event",
"name": "Transfer",
"anonymous": false
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address",
"indexed": false
}
],
"type": "event",
"name": "Unpaused",
"anonymous": false
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "MAX_PER_TX",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "MAX_SUPPLY",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "PRICE_IN_WEI_PUBLIC",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "PRICE_IN_WEI_WHITELIST",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "RESERVES",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "ROYALTIES_IN_BASIS_POINTS",
"outputs": [
{
"internalType": "uint96",
"name": "",
"type": "uint96"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "_proxyRegistryAddress",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "_whitelistMerkleRoot",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "approve"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
}
],
"stateMutability": "view",
"type": "function",
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "_from",
"type": "address"
},
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256[]",
"name": "_tokenIds",
"type": "uint256[]"
},
{
"internalType": "bytes",
"name": "data_",
"type": "bytes"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "batchSafeTransferFrom"
},
{
"inputs": [
{
"internalType": "address",
"name": "_from",
"type": "address"
},
{
"internalType": "address",
"name": "_to",
"type": "address"
},
{
"internalType": "uint256[]",
"name": "_tokenIds",
"type": "uint256[]"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "batchTransferFrom"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "burn"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "collectReserves"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "disableWhitelistMerkleRoot"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "freeze"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "freezeAllTokens"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "freezeToken"
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "frozen",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
]
},
{
"inputs": [
{
"internalType": "string",
"name": "allowance",
"type": "string"
},
{
"internalType": "bytes32[]",
"name": "proof",
"type": "bytes32[]"
}
],
"stateMutability": "view",
"type": "function",
"name": "getAllowance",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function",
"name": "getApproved",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
]
},
{
"inputs": [
{
"internalType": "address[]",
"name": "recipients_",
"type": "address[]"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "gift"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "uint128",
"name": "value",
"type": "uint128"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "increaseBalance"
},
{
"inputs": [
{
"internalType": "address",
"name": "_owner",
"type": "address"
},
{
"internalType": "address",
"name": "operator",
"type": "address"
}
],
"stateMutability": "view",
"type": "function",
"name": "isApprovedForAll",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "mintPaused",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
]
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function",
"name": "ownerOf",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
]
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "pause"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "pauseMint"
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "paused",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
]
},
{
"inputs": [
{
"internalType": "uint256",
"name": "count",
"type": "uint256"
}
],
"stateMutability": "payable",
"type": "function",
"name": "publicMint"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "renounceOwnership"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "salePrice",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function",
"name": "royaltyInfo",
"outputs": [
{
"internalType": "address",
"name": "receiver",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "safeTransferFrom"
},
{
"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"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "safeTransferFrom"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "bool",
"name": "approved",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "setApprovalForAll"
},
{
"inputs": [
{
"internalType": "string",
"name": "baseTokenURI_",
"type": "string"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "setBaseURI"
},
{
"inputs": [
{
"internalType": "address",
"name": "proxyRegistryAddress_",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "setProxyRegistryAddress"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "whitelistMerkleRoot_",
"type": "bytes32"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "setWhitelistMerkleRoot"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "startPublicSale"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "interfaceId",
"type": "bytes4"
}
],
"stateMutability": "view",
"type": "function",
"name": "supportsInterface",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "symbol",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
]
},
{
"inputs": [
{
"internalType": "uint256",
"name": "index",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function",
"name": "tokenByIndex",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "uint256",
"name": "index",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function",
"name": "tokenOfOwnerByIndex",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
]
},
{
"inputs": [
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function",
"name": "tokenURI",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "totalSupply",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
]
},
{
"inputs": [
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "transferFrom"
},
{
"inputs": [
{
"internalType": "address",
"name": "newOwner",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "transferOwnership"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "unpause"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "unpauseMint"
},
{
"inputs": [
{
"internalType": "address",
"name": "to",
"type": "address"
},
{
"internalType": "uint256",
"name": "tokenId",
"type": "uint256"
},
{
"internalType": "address",
"name": "auth",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function",
"name": "update",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
]
},
{
"inputs": [],
"stateMutability": "view",
"type": "function",
"name": "wallet",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
]
},
{
"inputs": [
{
"internalType": "uint256",
"name": "count",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "allowance",
"type": "uint256"
},
{
"internalType": "bytes32[]",
"name": "proof",
"type": "bytes32[]"
}
],
"stateMutability": "payable",
"type": "function",
"name": "whitelistMint"
},
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "function",
"name": "withdraw"
}
],
"devdoc": {
"kind": "dev",
"methods": {
"approve(address,uint256)": {
"details": "Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event."
},
"balanceOf(address)": {
"details": "Returns the number of tokens in ``owner``'s account."
},
"burn(uint256)": {
"details": "Burns `tokenId`. See {ERC721-_burn}. Requirements: - The caller must own `tokenId` or be an approved operator."
},
"getApproved(uint256)": {
"details": "Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist."
},
"name()": {
"details": "Returns the token collection name."
},
"owner()": {
"details": "Returns the address of the current owner."
},
"ownerOf(uint256)": {
"details": "Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist."
},
"paused()": {
"details": "Returns true if the contract is paused, and false otherwise."
},
"renounceOwnership()": {
"details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."
},
"royaltyInfo(uint256,uint256)": {
"details": "Returns how much royalty is owed and to whom, based on a sale price that may be denominated in any unit of exchange. The royalty amount is denominated and should be paid in that same unit of exchange. NOTE: ERC-2981 allows setting the royalty to 100% of the price. In that case all the price would be sent to the royalty receiver and 0 tokens to the seller. Contracts dealing with royalty should consider empty transfers."
},
"safeTransferFrom(address,address,uint256)": {
"details": "Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC-721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event."
},
"safeTransferFrom(address,address,uint256,bytes)": {
"details": "Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event."
},
"setApprovalForAll(address,bool)": {
"details": "Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the address zero. Emits an {ApprovalForAll} event."
},
"symbol()": {
"details": "Returns the token collection symbol."
},
"tokenByIndex(uint256)": {
"details": "Returns a token ID at a given `index` of all the tokens stored by the contract. Use along with {totalSupply} to enumerate all tokens."
},
"tokenOfOwnerByIndex(address,uint256)": {
"details": "Returns a token ID owned by `owner` at a given `index` of its token list. Use along with {balanceOf} to enumerate all of ``owner``'s tokens."
},
"tokenURI(uint256)": {
"details": "Returns the Uniform Resource Identifier (URI) for `tokenId` token."
},
"totalSupply()": {
"details": "Returns the total amount of tokens stored by the contract."
},
"transferFrom(address,address,uint256)": {
"details": "Transfers `tokenId` token from `from` to `to`. WARNING: Note that the caller is responsible to confirm that the recipient is capable of receiving ERC-721 or else they may be permanently lost. Usage of {safeTransferFrom} prevents loss, though the caller must understand this adds an external call which potentially creates a reentrancy vulnerability. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event."
},
"transferOwnership(address)": {
"details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
}
},
"version": 1
},
"userdoc": {
"kind": "user",
"methods": {},
"version": 1
}
},
"settings": {
"remappings": [
"@openzeppelin/=node_modules/@openzeppelin/",
"forge-std/=lib/forge-std/src/",
"hardhat/=node_modules/hardhat/"
],
"optimizer": {
"enabled": true,
"runs": 200
},
"metadata": {
"bytecodeHash": "ipfs"
},
"compilationTarget": {
"contracts/ExampleERC721.sol": "ExampleERC721"
},
"evmVersion": "cancun",
"libraries": {},
"viaIR": true
},
"sources": {
"contracts/ExampleERC721.sol": {
"keccak256": "0x7727dcfeac266594b597702d0d969ed7af3f70bef2c4717a430d13afede2b470",
"urls": [
"bzz-raw://df8a3ed34eaedd609b1d534af02a849b1e854b863fc9a7ab5cfd1ea15fe7a14f",
"dweb:/ipfs/QmZv9kMuhrZXnpwVe1F3pZviT3v6Cz15GWVgS9cWLtsRDk"
],
"license": "FSL-1.1-MIT"
},
"contracts/extensions/ERC721Batch.sol": {
"keccak256": "0x80a6fcd1fb92bd82466cc919bef682343e7a99eb22a5b3ffd0aa10162530bc43",
"urls": [
"bzz-raw://1e9bc74acd3b008522d5d41175905ad4a1533291eaea8ef4b0e819b5e5aa31de",
"dweb:/ipfs/QmU5tbxyMMVbzSDRh8JmWeX4pAxuHE6MAXMMuxsHw4Rv5P"
],
"license": "FSL-1.1-MIT"
},
"contracts/extensions/ERC721Freezable.sol": {
"keccak256": "0x298f02e8ae1acaa36a8e5a5b73ae93a5f6fbea34c19bdb05554166bc3217688a",
"urls": [
"bzz-raw://942c6e9273374356e2a20ddf6aa4ad5ff3f4ebf31229550145005ae08ea28238",
"dweb:/ipfs/QmNQBdaVzfpv82hqkkHEX5yTxjDSuNDi7k7566HKxnSoVr"
],
"license": "FSL-1.1-MIT"
},
"contracts/extensions/ERC721MintPausable.sol": {
"keccak256": "0x4a4b477d3a947fd0e9530802744108a388de0e6ca92d63b4001dbb50a8160d88",
"urls": [
"bzz-raw://bd5de88942525109db4f9d39b6e523cf0efabc98dcf6008eca00d491b611784f",
"dweb:/ipfs/QmajScaLfuBMCYg5xfbjXTtLbXLap4mpLSixJMFr1etopz"
],
"license": "FSL-1.1-MIT"
},
"contracts/extensions/ERC721OpenSeaGassLess.sol": {
"keccak256": "0x327e5a6f66e94c75cef42add1e7bba5c23e5261d30cd78a626af00bf8482241d",
"urls": [
"bzz-raw://bedbad01afb6bae32e4a90ea4b63bcf71be69c9b447d5463414faf7f0d060283",
"dweb:/ipfs/QmWnj4CHAjVBwYEoD8e75qZ2hS3qzoBkkhHhd3dBRakm59"
],
"license": "FSL-1.1-MIT"
},
"contracts/extensions/ERC721Whitelist.sol": {
"keccak256": "0x6c5b2eb3090e82c8a5bba051add925fe9c19fd6e81ce833e68a63e1747efd876",
"urls": [
"bzz-raw://13540de794df19f5b656325c79a52f3c3239a98de2d4b72a3465e565c5198ca0",
"dweb:/ipfs/QmYjpSinGJgvjMyLJN8CRVHP5eMUEyDYh5vfrQT7yHYhYd"
],
"license": "FSL-1.1-MIT"
},
"node_modules/@openzeppelin/contracts/access/Ownable.sol": {
"keccak256": "0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb",
"urls": [
"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6",
"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"
],
"license": "MIT"
},
"node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol": {
"keccak256": "0xafab0e6c71905303c47dd254168cb31efc91f0ae284cde609b0202f97f85469e",
"urls": [
"bzz-raw://824d05aec56eb82a2a3c28eece530dc0792d3a008b09d01444e57cf4aceb0445",
"dweb:/ipfs/QmVvqmJ5UobuRU9Q4JMyXxBfzKs2cpjbWXMNpxX4binTX8"
],
"license": "MIT"
},
"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol": {
"keccak256": "0x19fdfb0f3b89a230e7dbd1cf416f1a6b531a3ee5db4da483f946320fc74afc0e",
"urls": [
"bzz-raw://3490d794728f5bfecb46820431adaff71ba374141545ec20b650bb60353fac23",
"dweb:/ipfs/QmPsfxjVpMcZbpE7BH93DzTpEaktESigEw4SmDzkXuJ4WR"
],
"license": "MIT"
},
"node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol": {
"keccak256": "0x6ead281d4569c26b3dee7313aefff24add906f3600b57d8aef1255a17d6b34e5",
"urls": [
"bzz-raw://aec0f9c9f14f829353663e1946bf0ea00a1771ff6ddb4f7cbe14893397b4b55c",
"dweb:/ipfs/QmVMR3SdijdM2BpL9Yp3u7Riaxqgs1FnZ1Rfg2CMjKGtVS"
],
"license": "MIT"
},
"node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol": {
"keccak256": "0xf78f05f3b8c9f75570e85300d7b4600d7f6f6a198449273f31d44c1641adb46f",
"urls": [
"bzz-raw://e28b872613b45e0e801d4995aa4380be2531147bfe2d85c1d6275f1de514fba3",
"dweb:/ipfs/QmeeFcfShHYaS3BdgVj78nxR28ZaVUwbvr66ud8bT6kzw9"
],
"license": "MIT"
},
"node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol": {
"keccak256": "0x88cd5e3bee2e8c36b8d9058fbcaa81ad5704281b25634122234b55ea853d8055",
"urls": [
"bzz-raw://8dc7e7ab5b8ea36c15027ab04221b05d1c970f47a53e9fd47ead8ca665d49c7e",
"dweb:/ipfs/Qmeeph7fsDyfRr8vb2L8KcDEmKPb224TAayMvgqgGAnqpL"
],
"license": "MIT"
},
"node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol": {
"keccak256": "0xdee1ff07172e443c6600581fc4f11e7830a6d33e4e551752935b835d52a09404",
"urls": [
"bzz-raw://c503b5573ecd8d18157903b6760e02e8f86b47238c997d6dd04b99df74ef532d",
"dweb:/ipfs/QmSGcRgfe18dtR4t3erYBSq3W6tPGXHPZ3JKkD1yFJsNsm"
],
"license": "MIT"
},
"node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol": {
"keccak256": "0xe85bdcbce4b8474872045aafb5ed8e3e0a5bd794ded35f76ee9deef25bdc7446",
"urls": [
"bzz-raw://60872f2d516e70f06d9684386c6b9c0b9d7ff7f4af257be6087efa2c3bb81937",
"dweb:/ipfs/QmdWgPbs2e8SFNNXPFwTt2xD5N8hniehgGCMHUnY1JDcCw"
],
"license": "MIT"
},
"node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Pausable.sol": {
"keccak256": "0xc99d280642a1590b7a9a65220b4a606576ad1f51f2773b997eff3d340501c44b",
"urls": [
"bzz-raw://e0aebdcae05832b3253bedd5575458fa4b9abca6a203966d72690e62efe98890",
"dweb:/ipfs/QmbeFZ6X7VksJmRqncuas8cjsYGXPN8FBYtV9PGmpmup8f"
],
"license": "MIT"
},
"node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Royalty.sol": {
"keccak256": "0xdbff31c889151c9c02f995484cb19ddd42c73773f784bda4d945da96db78d1da",
"urls": [
"bzz-raw://73cf3333d20c00adab97fee589f9915555ae548c338ee7bc0ff0e89725318ab3",
"dweb:/ipfs/QmSTkejahJxNHhJDG3GTSqVpWhoha9BiJ2SJEh6gjKcbg1"
],
"license": "MIT"
},
"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol": {
"keccak256": "0xaa3852717be1903bf8b8a66c7ce323f70ac93227769c450f2b332fdd16bd9198",
"urls": [
"bzz-raw://09ce2e4a5b1064a392594c0d5efeb3ccd8eacf431e55a85574cafb6bfb72ba69",
"dweb:/ipfs/QmUbT5UomYpwwMrNMzzuNcGb4sxuMZ4jz8mMPZewX8mEPn"
],
"license": "MIT"
},
"node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol": {
"keccak256": "0xf46268c37522320bb2119a5a394bc5c739a95c0c574c8d08e8c643f4d06e5c76",
"urls": [
"bzz-raw://517e4b295f35b9947c72ad7379a6089439ece7bb6f4a2ea0a159da13046c039e",
"dweb:/ipfs/QmZXzkSfLUbvujig3zVbpDHykpHhqLpvQtdiN3B5j4TA3u"
],
"license": "MIT"
},
"node_modules/@openzeppelin/contracts/token/ERC721/utils/ERC721Utils.sol": {
"keccak256": "0xc2dfdc8fbc8fdb142575c90568e237b809a1feaccff23e32d00131887a08dc36",
"urls": [
"bzz-raw://dbc1d283ee77da43d61661b5ba1adeb427d6a6224335494a9a857dce41d9f1d6",
"dweb:/ipfs/QmTnA35z7XzkxFSRUqB6CGVH1nhmvajwnDNfA5PiKmYuCi"
],
"license": "MIT"
},
"node_modules/@openzeppelin/contracts/token/common/ERC2981.sol": {
"keccak256": "0xa33062c6e0675a74a27b06a4ae4c6ad4d3b7219e27d9c146a4ac57295096d393",
"urls": [
"bzz-raw://777543d88013fdd0ee7f47ac619fb13a1993bb667675d8816fde024f73cfbf2d",
"dweb:/ipfs/QmfDS9uL1XZ2oUe1PH8eRCRyu3Hf98cK8ksGf4Ww7kg5zv"
],
"license": "MIT"
},
"node_modules/@openzeppelin/contracts/utils/Context.sol": {
"keccak256": "0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2",
"urls": [
"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12",
"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"
],
"license": "MIT"
},
"node_modules/@openzeppelin/contracts/utils/Panic.sol": {
"keccak256": "0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a",
"urls": [
"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a",
"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"
],
"license": "MIT"
},
"node_modules/@openzeppelin/contracts/utils/Pausable.sol": {
"keccak256": "0xdb484371dfbb848cb6f5d70464e9ac9b2900e4164ead76bbce4fef0b44bcc68f",
"urls": [
"bzz-raw://f9d6f6f6600a2bec622f699081b58350873b5e63ce05464d17d674a290bb8a7c",
"dweb:/ipfs/QmQKVzSQY1PM3Bid4QhgVVZyx6B4Jx7XgaQzLKHj38vJz8"
],
"license": "MIT"
},
"node_modules/@openzeppelin/contracts/utils/ReentrancyGuard.sol": {
"keccak256": "0x11a5a79827df29e915a12740caf62fe21ebe27c08c9ae3e09abe9ee3ba3866d3",
"urls": [
"bzz-raw://3cf0c69ab827e3251db9ee6a50647d62c90ba580a4d7bbff21f2bea39e7b2f4a",
"dweb:/ipfs/QmZiKwtKU1SBX4RGfQtY7PZfiapbbu6SZ9vizGQD9UHjRA"
],
"license": "MIT"
},
"node_modules/@openzeppelin/contracts/utils/Strings.sol": {
"keccak256": "0xad148d59f05165f9217d0a9e1ac8f772abb02ea6aaad8a756315c532bf79f9f4",
"urls": [
"bzz-raw://15e3599867c2182f5831e9268b274b2ef2047825837df6b4d81c9e89254b093e",
"dweb:/ipfs/QmZbL7XAYr5RmaNaooPgZRmcDXaudfsYQfYD9y5iAECvpS"
],
"license": "MIT"
},
"node_modules/@openzeppelin/contracts/utils/cryptography/Hashes.sol": {
"keccak256": "0x8cbd338f083224b4b6f0ff42cbda641a0a6c31ffcdca197452b97fe4d0918269",
"urls": [
"bzz-raw://f517dec5ba0c6491395acbf7f1d621f4e89e8f218bf5303c867b1c5ad70c6b11",
"dweb:/ipfs/QmWmXHRLEw8W6ckth7NyYTU88YfvuS7xSsfae5ksL8qNUe"
],
"license": "MIT"
},
"node_modules/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol": {
"keccak256": "0x36a0c409c437a753cac9b92b75f93b0fbe92803bf2c8ff1517e54b247f166134",
"urls": [
"bzz-raw://0f91ba472de411aa557cdbf6560c40750d87bd11c9060bc04d2ba7119af9d5a6",
"dweb:/ipfs/QmQjtYo2i7dDvzCEzZ67bDoNSG4RrwMoxPWuqFmX5Xzpuw"
],
"license": "MIT"
},
"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol": {
"keccak256": "0x2d9dc2fe26180f74c11c13663647d38e259e45f95eb88f57b61d2160b0109d3e",
"urls": [
"bzz-raw://81233d1f98060113d9922180bb0f14f8335856fe9f339134b09335e9f678c377",
"dweb:/ipfs/QmWh6R35SarhAn4z2wH8SU456jJSYL2FgucfTFgbHJJN4E"
],
"license": "MIT"
},
"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol": {
"keccak256": "0x8891738ffe910f0cf2da09566928589bf5d63f4524dd734fd9cedbac3274dd5c",
"urls": [
"bzz-raw://971f954442df5c2ef5b5ebf1eb245d7105d9fbacc7386ee5c796df1d45b21617",
"dweb:/ipfs/QmadRjHbkicwqwwh61raUEapaVEtaLMcYbQZWs9gUkgj3u"
],
"license": "MIT"
},
"node_modules/@openzeppelin/contracts/utils/math/Math.sol": {
"keccak256": "0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6",
"urls": [
"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3",
"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB"
],
"license": "MIT"
},
"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol": {
"keccak256": "0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54",
"urls": [
"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8",
"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"
],
"license": "MIT"
},
"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol": {
"keccak256": "0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3",
"urls": [
"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03",
"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"
],
"license": "MIT"
}
},
"version": 1
}