UNPKG

@settlemint/ssolidity-token-erc721-generative-art

Version:
513 lines 15.2 kB
{ "compiler": { "version": "0.8.27+commit.40a35a09" }, "language": "Solidity", "output": { "abi": [ { "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": "_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": "_approved", "type": "address" }, { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "stateMutability": "payable", "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": "uint256", "name": "_tokenId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "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": "name", "outputs": [ { "internalType": "string", "name": "_name", "type": "string" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ] }, { "inputs": [ { "internalType": "address", "name": "_from", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "stateMutability": "payable", "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": "payable", "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": "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": "_symbol", "type": "string" } ] }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "stateMutability": "view", "type": "function", "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ] }, { "inputs": [ { "internalType": "address", "name": "_from", "type": "address" }, { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "stateMutability": "payable", "type": "function", "name": "transferFrom" } ], "devdoc": { "kind": "dev", "methods": { "approve(address,uint256)": { "details": "The zero address indicates there is no approved address. Throws unless `msg.sender` is the current NFT owner, or an authorized operator of the current owner.", "params": { "_approved": "The new approved NFT controller", "_tokenId": "The NFT to approve" } }, "balanceOf(address)": { "details": "NFTs assigned to the zero address are considered invalid, and this function throws for queries about the zero address.", "params": { "_owner": "An address for whom to query the balance" }, "returns": { "_0": "The number of NFTs owned by `_owner`, possibly zero" } }, "getApproved(uint256)": { "details": "Throws if `_tokenId` is not a valid NFT.", "params": { "_tokenId": "The NFT to find the approved address for" }, "returns": { "_0": "The approved address for this NFT, or the zero address if there is none" } }, "isApprovedForAll(address,address)": { "params": { "_operator": "The address that acts on behalf of the owner", "_owner": "The address that owns the NFTs" }, "returns": { "_0": "True if `_operator` is an approved operator for `_owner`, false otherwise" } }, "ownerOf(uint256)": { "details": "NFTs assigned to zero address are considered invalid, and queries about them do throw.", "params": { "_tokenId": "The identifier for an NFT" }, "returns": { "_0": "The address of the owner of the NFT" } }, "safeTransferFrom(address,address,uint256)": { "details": "This works identically to the other function with an extra data parameter, except this function just sets data to \"\".", "params": { "_from": "The current owner of the NFT", "_to": "The new owner", "_tokenId": "The NFT to transfer" } }, "safeTransferFrom(address,address,uint256,bytes)": { "details": "Throws unless `msg.sender` is the current owner, an authorized operator, or the approved address for this NFT. Throws if `_from` is not the current owner. Throws if `_to` is the zero address. Throws if `_tokenId` is not a valid NFT. When transfer is complete, this function checks if `_to` is a smart contract (code size > 0). If so, it calls `onERC721Received` on `_to` and throws if the return value is not `bytes4(keccak256(\"onERC721Received(address,address,uint256,bytes)\"))`.", "params": { "_from": "The current owner of the NFT", "_to": "The new owner", "_tokenId": "The NFT to transfer", "data": "Additional data with no specified format, sent in call to `_to`" } }, "setApprovalForAll(address,bool)": { "details": "Emits the ApprovalForAll event. The contract MUST allow multiple operators per owner.", "params": { "_approved": "True if the operator is approved, false to revoke approval", "_operator": "Address to add to the set of authorized operators" } }, "supportsInterface(bytes4)": { "details": "Interface identification is specified in ERC-165. This function uses less than 30,000 gas.", "params": { "interfaceID": "The interface identifier, as specified in ERC-165" }, "returns": { "_0": "`true` if the contract implements `interfaceID` and `interfaceID` is not 0xffffffff, `false` otherwise" } }, "tokenURI(uint256)": { "details": "Throws if `_tokenId` is not a valid NFT. URIs are defined in RFC 3986. The URI may point to a JSON file that conforms to the \"ERC721 Metadata JSON Schema\"." }, "transferFrom(address,address,uint256)": { "details": "Throws unless `msg.sender` is the current owner, an authorized operator, or the approved address for this NFT. Throws if `_from` is not the current owner. Throws if `_to` is the zero address. Throws if `_tokenId` is not a valid NFT.", "params": { "_from": "The current owner of the NFT", "_to": "The new owner", "_tokenId": "The NFT to transfer" } } }, "version": 1 }, "userdoc": { "kind": "user", "methods": { "approve(address,uint256)": { "notice": "Change or reaffirm the approved address for an NFT" }, "balanceOf(address)": { "notice": "Count all NFTs assigned to an owner" }, "getApproved(uint256)": { "notice": "Get the approved address for a single NFT" }, "isApprovedForAll(address,address)": { "notice": "Query if an address is an authorized operator for another address" }, "name()": { "notice": "A descriptive name for a collection of NFTs in this contract" }, "ownerOf(uint256)": { "notice": "Find the owner of an NFT" }, "safeTransferFrom(address,address,uint256)": { "notice": "Transfers the ownership of an NFT from one address to another address" }, "safeTransferFrom(address,address,uint256,bytes)": { "notice": "Transfers the ownership of an NFT from one address to another address" }, "setApprovalForAll(address,bool)": { "notice": "Enable or disable approval for a third party (\"operator\") to manage all of `msg.sender`'s assets" }, "supportsInterface(bytes4)": { "notice": "Query if a contract implements an interface" }, "symbol()": { "notice": "An abbreviated name for NFTs in this contract" }, "tokenURI(uint256)": { "notice": "A distinct Uniform Resource Identifier (URI) for a given asset." }, "transferFrom(address,address,uint256)": { "notice": "Transfer ownership of an NFT -- THE CALLER IS RESPONSIBLE TO CONFIRM THAT `_to` IS CAPABLE OF RECEIVING NFTS OR ELSE THEY MAY BE PERMANENTLY LOST" } }, "version": 1 } }, "settings": { "remappings": [ "@openzeppelin/=node_modules/@openzeppelin/", "eth-gas-reporter/=node_modules/eth-gas-reporter/", "forge-std/=lib/forge-std/src/", "hardhat/=node_modules/hardhat/" ], "optimizer": { "enabled": true, "runs": 10000 }, "metadata": { "bytecodeHash": "ipfs" }, "compilationTarget": { "lib/forge-std/src/interfaces/IERC721.sol": "IERC721Metadata" }, "evmVersion": "cancun", "libraries": {}, "viaIR": true }, "sources": { "lib/forge-std/src/interfaces/IERC165.sol": { "keccak256": "0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600", "urls": [ "bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc", "dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT" ], "license": "MIT" }, "lib/forge-std/src/interfaces/IERC721.sol": { "keccak256": "0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15", "urls": [ "bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f", "dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm" ], "license": "MIT" } }, "version": 1 }