├── .gitignore ├── metadata ├── german .jpg └── images.jpg ├── artifacts ├── contracts │ ├── factoryNFT.sol │ │ └── FactoryNFT.dbg.json │ └── NFTBatchMinting.sol │ │ ├── Address.dbg.json │ │ ├── Context.dbg.json │ │ ├── Counters.dbg.json │ │ ├── ERC165.dbg.json │ │ ├── ERC721.dbg.json │ │ ├── IERC165.dbg.json │ │ ├── IERC721.dbg.json │ │ ├── Ownable.dbg.json │ │ ├── Pausable.dbg.json │ │ ├── Strings.dbg.json │ │ ├── ERC721Burnable.dbg.json │ │ ├── IERC721Metadata.dbg.json │ │ ├── IERC721Receiver.dbg.json │ │ ├── NFTBatchMinting.dbg.json │ │ ├── ERC721Enumerable.dbg.json │ │ ├── ERC721URIStorage.dbg.json │ │ ├── IERC721Enumerable.dbg.json │ │ ├── Context.json │ │ ├── ERC165.json │ │ ├── IERC165.json │ │ ├── Address.json │ │ ├── Counters.json │ │ ├── Strings.json │ │ ├── IERC721Receiver.json │ │ ├── Pausable.json │ │ ├── Ownable.json │ │ ├── IERC721.json │ │ ├── ERC721URIStorage.json │ │ ├── IERC721Metadata.json │ │ ├── ERC721Burnable.json │ │ ├── IERC721Enumerable.json │ │ ├── ERC721Enumerable.json │ │ └── NFTBatchMinting.json └── @openzeppelin │ └── contracts │ ├── utils │ ├── Address.sol │ │ ├── Address.dbg.json │ │ └── Address.json │ ├── Context.sol │ │ ├── Context.dbg.json │ │ └── Context.json │ ├── Counters.sol │ │ ├── Counters.dbg.json │ │ └── Counters.json │ ├── Strings.sol │ │ ├── Strings.dbg.json │ │ └── Strings.json │ ├── math │ │ └── Math.sol │ │ │ ├── Math.dbg.json │ │ │ └── Math.json │ └── introspection │ │ ├── ERC165.sol │ │ ├── ERC165.dbg.json │ │ └── ERC165.json │ │ └── IERC165.sol │ │ ├── IERC165.dbg.json │ │ └── IERC165.json │ └── token │ └── ERC721 │ ├── ERC721.sol │ ├── ERC721.dbg.json │ └── ERC721.json │ ├── IERC721.sol │ ├── IERC721.dbg.json │ └── IERC721.json │ ├── IERC721Receiver.sol │ ├── IERC721Receiver.dbg.json │ └── IERC721Receiver.json │ └── extensions │ ├── IERC721Metadata.sol │ ├── IERC721Metadata.dbg.json │ └── IERC721Metadata.json │ └── ERC721URIStorage.sol │ ├── ERC721URIStorage.dbg.json │ └── ERC721URIStorage.json ├── hardhat.config.js ├── package.json ├── contracts └── factoryNFT.sol ├── test └── factoryNFT.js ├── scripts └── deploy.js └── cache └── solidity-files-cache.json /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ -------------------------------------------------------------------------------- /metadata/german .jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HappyMicky0317/media-NFTmint-smartcontract/HEAD/metadata/german .jpg -------------------------------------------------------------------------------- /metadata/images.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HappyMicky0317/media-NFTmint-smartcontract/HEAD/metadata/images.jpg -------------------------------------------------------------------------------- /artifacts/contracts/factoryNFT.sol/FactoryNFT.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "..\\..\\build-info\\08295863a0e5d11a8c6322182bbd37f8.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/Address.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "..\\..\\build-info\\08295863a0e5d11a8c6322182bbd37f8.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/Context.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "..\\..\\build-info\\08295863a0e5d11a8c6322182bbd37f8.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/Counters.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "..\\..\\build-info\\08295863a0e5d11a8c6322182bbd37f8.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/ERC165.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "..\\..\\build-info\\08295863a0e5d11a8c6322182bbd37f8.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/ERC721.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "..\\..\\build-info\\08295863a0e5d11a8c6322182bbd37f8.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/IERC165.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "..\\..\\build-info\\08295863a0e5d11a8c6322182bbd37f8.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/IERC721.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "..\\..\\build-info\\08295863a0e5d11a8c6322182bbd37f8.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/Ownable.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "..\\..\\build-info\\08295863a0e5d11a8c6322182bbd37f8.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/Pausable.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "..\\..\\build-info\\08295863a0e5d11a8c6322182bbd37f8.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/Strings.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "..\\..\\build-info\\08295863a0e5d11a8c6322182bbd37f8.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/ERC721Burnable.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "..\\..\\build-info\\08295863a0e5d11a8c6322182bbd37f8.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/IERC721Metadata.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "..\\..\\build-info\\08295863a0e5d11a8c6322182bbd37f8.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/IERC721Receiver.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "..\\..\\build-info\\08295863a0e5d11a8c6322182bbd37f8.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/NFTBatchMinting.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "..\\..\\build-info\\08295863a0e5d11a8c6322182bbd37f8.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/ERC721Enumerable.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "..\\..\\build-info\\08295863a0e5d11a8c6322182bbd37f8.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/ERC721URIStorage.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "..\\..\\build-info\\08295863a0e5d11a8c6322182bbd37f8.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/IERC721Enumerable.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "..\\..\\build-info\\08295863a0e5d11a8c6322182bbd37f8.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/utils/Address.sol/Address.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "..\\..\\..\\..\\build-info\\08295863a0e5d11a8c6322182bbd37f8.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/utils/Context.sol/Context.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "..\\..\\..\\..\\build-info\\08295863a0e5d11a8c6322182bbd37f8.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/utils/Counters.sol/Counters.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "..\\..\\..\\..\\build-info\\08295863a0e5d11a8c6322182bbd37f8.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "..\\..\\..\\..\\build-info\\08295863a0e5d11a8c6322182bbd37f8.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "..\\..\\..\\..\\..\\build-info\\08295863a0e5d11a8c6322182bbd37f8.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/token/ERC721/ERC721.sol/ERC721.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "..\\..\\..\\..\\..\\build-info\\08295863a0e5d11a8c6322182bbd37f8.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/token/ERC721/IERC721.sol/IERC721.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "..\\..\\..\\..\\..\\build-info\\08295863a0e5d11a8c6322182bbd37f8.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "..\\..\\..\\..\\..\\build-info\\08295863a0e5d11a8c6322182bbd37f8.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "..\\..\\..\\..\\..\\build-info\\08295863a0e5d11a8c6322182bbd37f8.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol/IERC721Receiver.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "..\\..\\..\\..\\..\\build-info\\08295863a0e5d11a8c6322182bbd37f8.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol/IERC721Metadata.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "..\\..\\..\\..\\..\\..\\build-info\\08295863a0e5d11a8c6322182bbd37f8.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol/ERC721URIStorage.dbg.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-dbg-1", 3 | "buildInfo": "..\\..\\..\\..\\..\\..\\build-info\\08295863a0e5d11a8c6322182bbd37f8.json" 4 | } 5 | -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/Context.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "Context", 4 | "sourceName": "contracts/NFTBatchMinting.sol", 5 | "abi": [], 6 | "bytecode": "0x", 7 | "deployedBytecode": "0x", 8 | "linkReferences": {}, 9 | "deployedLinkReferences": {} 10 | } 11 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/utils/Context.sol/Context.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "Context", 4 | "sourceName": "@openzeppelin/contracts/utils/Context.sol", 5 | "abi": [], 6 | "bytecode": "0x", 7 | "deployedBytecode": "0x", 8 | "linkReferences": {}, 9 | "deployedLinkReferences": {} 10 | } 11 | -------------------------------------------------------------------------------- /hardhat.config.js: -------------------------------------------------------------------------------- 1 | 2 | require("@nomiclabs/hardhat-waffle"); 3 | 4 | /** @type import('hardhat/config').HardhatUserConfig */ 5 | module.exports = { 6 | solidity: "0.8.17", 7 | networks: { 8 | avalanche: { 9 | url: "https://avalanche-fuji.infura.io/v3/648a641c48a44133b4bcea795725aa68", //Infura url with projectId 10 | accounts: ["0xf4c3b0cb78e521829b0fc5b1bf654f4849bad8b9908a620e62b0bc7ae6f130b0"] // add the account that will deploy the contract (private key) 11 | }, 12 | }, 13 | etherscan: { 14 | apiKey: "ABCDE12345ABCDE12345ABCDE123456789", 15 | }, 16 | }; 17 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "smart_contract", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1", 8 | "compile": "yarn hardhat compile" 9 | }, 10 | "keywords": [], 11 | "author": "", 12 | "license": "ISC", 13 | "devDependencies": { 14 | "@nomiclabs/hardhat-ethers": "^2.2.1", 15 | "@nomiclabs/hardhat-waffle": "^2.0.3", 16 | "chai": "^4.3.7", 17 | "ethereum-waffle": "^3.4.4", 18 | "ethers": "^5.7.2", 19 | "hardhat": "^2.12.4" 20 | }, 21 | "dependencies": { 22 | "@openzeppelin/contracts": "^4.8.0", 23 | "@openzeppelin/hardhat-upgrades": "^1.22.0" 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/ERC165.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "ERC165", 4 | "sourceName": "contracts/NFTBatchMinting.sol", 5 | "abi": [ 6 | { 7 | "inputs": [ 8 | { 9 | "internalType": "bytes4", 10 | "name": "interfaceId", 11 | "type": "bytes4" 12 | } 13 | ], 14 | "name": "supportsInterface", 15 | "outputs": [ 16 | { 17 | "internalType": "bool", 18 | "name": "", 19 | "type": "bool" 20 | } 21 | ], 22 | "stateMutability": "view", 23 | "type": "function" 24 | } 25 | ], 26 | "bytecode": "0x", 27 | "deployedBytecode": "0x", 28 | "linkReferences": {}, 29 | "deployedLinkReferences": {} 30 | } 31 | -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/IERC165.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "IERC165", 4 | "sourceName": "contracts/NFTBatchMinting.sol", 5 | "abi": [ 6 | { 7 | "inputs": [ 8 | { 9 | "internalType": "bytes4", 10 | "name": "interfaceId", 11 | "type": "bytes4" 12 | } 13 | ], 14 | "name": "supportsInterface", 15 | "outputs": [ 16 | { 17 | "internalType": "bool", 18 | "name": "", 19 | "type": "bool" 20 | } 21 | ], 22 | "stateMutability": "view", 23 | "type": "function" 24 | } 25 | ], 26 | "bytecode": "0x", 27 | "deployedBytecode": "0x", 28 | "linkReferences": {}, 29 | "deployedLinkReferences": {} 30 | } 31 | -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/Address.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "Address", 4 | "sourceName": "contracts/NFTBatchMinting.sol", 5 | "abi": [], 6 | "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204a9d803257030d572c1551835b855b513123e68f4ac71693e6c11b522498b11864736f6c63430008110033", 7 | "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212204a9d803257030d572c1551835b855b513123e68f4ac71693e6c11b522498b11864736f6c63430008110033", 8 | "linkReferences": {}, 9 | "deployedLinkReferences": {} 10 | } 11 | -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/Counters.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "Counters", 4 | "sourceName": "contracts/NFTBatchMinting.sol", 5 | "abi": [], 6 | "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203c72f5e764d7faac7518648081aec0c8c0b38f980be5eac60acbbf1bbfadbead64736f6c63430008110033", 7 | "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212203c72f5e764d7faac7518648081aec0c8c0b38f980be5eac60acbbf1bbfadbead64736f6c63430008110033", 8 | "linkReferences": {}, 9 | "deployedLinkReferences": {} 10 | } 11 | -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/Strings.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "Strings", 4 | "sourceName": "contracts/NFTBatchMinting.sol", 5 | "abi": [], 6 | "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207fa4f4db084cd984a7fba09407e8c39fb9074c15b106457d0ccf28f7c04c668964736f6c63430008110033", 7 | "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207fa4f4db084cd984a7fba09407e8c39fb9074c15b106457d0ccf28f7c04c668964736f6c63430008110033", 8 | "linkReferences": {}, 9 | "deployedLinkReferences": {} 10 | } 11 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/utils/Address.sol/Address.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "Address", 4 | "sourceName": "@openzeppelin/contracts/utils/Address.sol", 5 | "abi": [], 6 | "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201456f7767f46f239da11f81368573b480f6d8de2e2a321dadf5bcd65d1c39d7564736f6c63430008110033", 7 | "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201456f7767f46f239da11f81368573b480f6d8de2e2a321dadf5bcd65d1c39d7564736f6c63430008110033", 8 | "linkReferences": {}, 9 | "deployedLinkReferences": {} 10 | } 11 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/utils/Strings.sol/Strings.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "Strings", 4 | "sourceName": "@openzeppelin/contracts/utils/Strings.sol", 5 | "abi": [], 6 | "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205377adc79bb987de03049c655529acbf51a3f7d36bb14c89a2d2f790fee54d6064736f6c63430008110033", 7 | "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212205377adc79bb987de03049c655529acbf51a3f7d36bb14c89a2d2f790fee54d6064736f6c63430008110033", 8 | "linkReferences": {}, 9 | "deployedLinkReferences": {} 10 | } 11 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/utils/introspection/ERC165.sol/ERC165.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "ERC165", 4 | "sourceName": "@openzeppelin/contracts/utils/introspection/ERC165.sol", 5 | "abi": [ 6 | { 7 | "inputs": [ 8 | { 9 | "internalType": "bytes4", 10 | "name": "interfaceId", 11 | "type": "bytes4" 12 | } 13 | ], 14 | "name": "supportsInterface", 15 | "outputs": [ 16 | { 17 | "internalType": "bool", 18 | "name": "", 19 | "type": "bool" 20 | } 21 | ], 22 | "stateMutability": "view", 23 | "type": "function" 24 | } 25 | ], 26 | "bytecode": "0x", 27 | "deployedBytecode": "0x", 28 | "linkReferences": {}, 29 | "deployedLinkReferences": {} 30 | } 31 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/utils/math/Math.sol/Math.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "Math", 4 | "sourceName": "@openzeppelin/contracts/utils/math/Math.sol", 5 | "abi": [], 6 | "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200deb2d155cc73fbf04f3651b35566c36121307684f46e0e4f511e6d6a66133ad64736f6c63430008110033", 7 | "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200deb2d155cc73fbf04f3651b35566c36121307684f46e0e4f511e6d6a66133ad64736f6c63430008110033", 8 | "linkReferences": {}, 9 | "deployedLinkReferences": {} 10 | } 11 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/utils/Counters.sol/Counters.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "Counters", 4 | "sourceName": "@openzeppelin/contracts/utils/Counters.sol", 5 | "abi": [], 6 | "bytecode": "0x60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202bae9536ac7c538ee977f17079d929e640d7dab035bace3465e2b533fa3038ef64736f6c63430008110033", 7 | "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202bae9536ac7c538ee977f17079d929e640d7dab035bace3465e2b533fa3038ef64736f6c63430008110033", 8 | "linkReferences": {}, 9 | "deployedLinkReferences": {} 10 | } 11 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/utils/introspection/IERC165.sol/IERC165.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "IERC165", 4 | "sourceName": "@openzeppelin/contracts/utils/introspection/IERC165.sol", 5 | "abi": [ 6 | { 7 | "inputs": [ 8 | { 9 | "internalType": "bytes4", 10 | "name": "interfaceId", 11 | "type": "bytes4" 12 | } 13 | ], 14 | "name": "supportsInterface", 15 | "outputs": [ 16 | { 17 | "internalType": "bool", 18 | "name": "", 19 | "type": "bool" 20 | } 21 | ], 22 | "stateMutability": "view", 23 | "type": "function" 24 | } 25 | ], 26 | "bytecode": "0x", 27 | "deployedBytecode": "0x", 28 | "linkReferences": {}, 29 | "deployedLinkReferences": {} 30 | } 31 | -------------------------------------------------------------------------------- /contracts/factoryNFT.sol: -------------------------------------------------------------------------------- 1 | pragma solidity ^0.8.3; 2 | 3 | import "@openzeppelin/contracts/utils/Counters.sol"; 4 | import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol"; 5 | import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; 6 | 7 | contract FactoryNFT is ERC721URIStorage { 8 | 9 | using Counters for Counters.Counter; 10 | Counters.Counter private _tokenIds; 11 | 12 | constructor() ERC721("Factory NFT", "FTN") { 13 | } 14 | 15 | function createToken(string memory tokenURI) public returns (uint) { 16 | _tokenIds.increment(); 17 | uint256 newItemId = _tokenIds.current(); 18 | 19 | _mint(msg.sender, newItemId); 20 | _setTokenURI(newItemId, tokenURI); 21 | 22 | return newItemId; 23 | } 24 | } 25 | 26 | 27 | // 648a641c48a44133b4bcea795725aa68 28 | -------------------------------------------------------------------------------- /test/factoryNFT.js: -------------------------------------------------------------------------------- 1 | const { expect } = require("chai"); 2 | 3 | describe("Minting the token and returning it", function () { 4 | it("should the contract be able to mint a function and return it", async function () { 5 | const metadata = "https://opensea-creatures-api.herokuapp.com/api/creature/1" //Random metadata url 6 | 7 | const FactoryContract = await ethers.getContractFactory("FactoryNFT"); // Getting the contract 8 | 9 | const factoryContract = await FactoryContract.deploy(); //Deploying the Contract 10 | 11 | const transaction = await factoryContract.createToken(metadata); // Minting the token 12 | const tx = await transaction.wait() // Waiting for the token to be minted 13 | 14 | const event = tx.events[0]; 15 | const value = event.args[2]; 16 | const tokenId = value.toNumber(); // Getting the tokenID 17 | 18 | const tokenURI = await factoryContract.tokenURI(tokenId) // Using the tokenURI from ERC721 to retrieve de metadata 19 | 20 | expect(tokenURI).to.be.equal(metadata); // Comparing and testing 21 | 22 | }); 23 | }); -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/IERC721Receiver.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "IERC721Receiver", 4 | "sourceName": "contracts/NFTBatchMinting.sol", 5 | "abi": [ 6 | { 7 | "inputs": [ 8 | { 9 | "internalType": "address", 10 | "name": "operator", 11 | "type": "address" 12 | }, 13 | { 14 | "internalType": "address", 15 | "name": "from", 16 | "type": "address" 17 | }, 18 | { 19 | "internalType": "uint256", 20 | "name": "tokenId", 21 | "type": "uint256" 22 | }, 23 | { 24 | "internalType": "bytes", 25 | "name": "data", 26 | "type": "bytes" 27 | } 28 | ], 29 | "name": "onERC721Received", 30 | "outputs": [ 31 | { 32 | "internalType": "bytes4", 33 | "name": "", 34 | "type": "bytes4" 35 | } 36 | ], 37 | "stateMutability": "nonpayable", 38 | "type": "function" 39 | } 40 | ], 41 | "bytecode": "0x", 42 | "deployedBytecode": "0x", 43 | "linkReferences": {}, 44 | "deployedLinkReferences": {} 45 | } 46 | -------------------------------------------------------------------------------- /scripts/deploy.js: -------------------------------------------------------------------------------- 1 | const hre = require("hardhat"); //import the hardhat 2 | 3 | async function main() { 4 | const [deployer] = await ethers.getSigners(); //get the account to deploy the contract 5 | 6 | console.log("Deploying contracts with the account:", deployer.address); 7 | 8 | const FactoryNFT = await hre.ethers.getContractFactory("NFTBatchMinting"); // Getting the Contract 9 | const factoryNFT = await FactoryNFT.deploy("NFTBatchMinting", "NBM"); //deploying the contract 10 | 11 | 12 | await factoryNFT.deployed(); // waiting for the contract to be deployed 13 | 14 | console.log("FactoryNFT deployed to:", factoryNFT.address); // Returning the contract address on the rinkeby 15 | 16 | await hre.run("verify:verify", { 17 | address: factoryNFT.address, 18 | constructorArguments: [ 19 | "NFTBatchMinting", 20 | "NBM" 21 | ], 22 | libraries: { 23 | SomeLibrary: "0xa204446e1239879397f2860d6317E0914358d2fB", 24 | } 25 | }); 26 | 27 | console.log("Smart contract verified successfully"); 28 | } 29 | 30 | main() 31 | .then(() => process.exit(0)) 32 | .catch((error) => { 33 | console.error(error); 34 | process.exit(1); 35 | }); // Calling the function to deploy the contract -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/Pausable.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "Pausable", 4 | "sourceName": "contracts/NFTBatchMinting.sol", 5 | "abi": [ 6 | { 7 | "anonymous": false, 8 | "inputs": [ 9 | { 10 | "indexed": false, 11 | "internalType": "address", 12 | "name": "account", 13 | "type": "address" 14 | } 15 | ], 16 | "name": "Paused", 17 | "type": "event" 18 | }, 19 | { 20 | "anonymous": false, 21 | "inputs": [ 22 | { 23 | "indexed": false, 24 | "internalType": "address", 25 | "name": "account", 26 | "type": "address" 27 | } 28 | ], 29 | "name": "Unpaused", 30 | "type": "event" 31 | }, 32 | { 33 | "inputs": [], 34 | "name": "paused", 35 | "outputs": [ 36 | { 37 | "internalType": "bool", 38 | "name": "", 39 | "type": "bool" 40 | } 41 | ], 42 | "stateMutability": "view", 43 | "type": "function" 44 | } 45 | ], 46 | "bytecode": "0x", 47 | "deployedBytecode": "0x", 48 | "linkReferences": {}, 49 | "deployedLinkReferences": {} 50 | } 51 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol/IERC721Receiver.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "IERC721Receiver", 4 | "sourceName": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", 5 | "abi": [ 6 | { 7 | "inputs": [ 8 | { 9 | "internalType": "address", 10 | "name": "operator", 11 | "type": "address" 12 | }, 13 | { 14 | "internalType": "address", 15 | "name": "from", 16 | "type": "address" 17 | }, 18 | { 19 | "internalType": "uint256", 20 | "name": "tokenId", 21 | "type": "uint256" 22 | }, 23 | { 24 | "internalType": "bytes", 25 | "name": "data", 26 | "type": "bytes" 27 | } 28 | ], 29 | "name": "onERC721Received", 30 | "outputs": [ 31 | { 32 | "internalType": "bytes4", 33 | "name": "", 34 | "type": "bytes4" 35 | } 36 | ], 37 | "stateMutability": "nonpayable", 38 | "type": "function" 39 | } 40 | ], 41 | "bytecode": "0x", 42 | "deployedBytecode": "0x", 43 | "linkReferences": {}, 44 | "deployedLinkReferences": {} 45 | } 46 | -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/Ownable.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "Ownable", 4 | "sourceName": "contracts/NFTBatchMinting.sol", 5 | "abi": [ 6 | { 7 | "anonymous": false, 8 | "inputs": [ 9 | { 10 | "indexed": true, 11 | "internalType": "address", 12 | "name": "previousOwner", 13 | "type": "address" 14 | }, 15 | { 16 | "indexed": true, 17 | "internalType": "address", 18 | "name": "newOwner", 19 | "type": "address" 20 | } 21 | ], 22 | "name": "OwnershipTransferred", 23 | "type": "event" 24 | }, 25 | { 26 | "inputs": [], 27 | "name": "owner", 28 | "outputs": [ 29 | { 30 | "internalType": "address", 31 | "name": "", 32 | "type": "address" 33 | } 34 | ], 35 | "stateMutability": "view", 36 | "type": "function" 37 | }, 38 | { 39 | "inputs": [], 40 | "name": "renounceOwnership", 41 | "outputs": [], 42 | "stateMutability": "nonpayable", 43 | "type": "function" 44 | }, 45 | { 46 | "inputs": [ 47 | { 48 | "internalType": "address", 49 | "name": "newOwner", 50 | "type": "address" 51 | } 52 | ], 53 | "name": "transferOwnership", 54 | "outputs": [], 55 | "stateMutability": "nonpayable", 56 | "type": "function" 57 | } 58 | ], 59 | "bytecode": "0x", 60 | "deployedBytecode": "0x", 61 | "linkReferences": {}, 62 | "deployedLinkReferences": {} 63 | } 64 | -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/IERC721.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "IERC721", 4 | "sourceName": "contracts/NFTBatchMinting.sol", 5 | "abi": [ 6 | { 7 | "anonymous": false, 8 | "inputs": [ 9 | { 10 | "indexed": true, 11 | "internalType": "address", 12 | "name": "owner", 13 | "type": "address" 14 | }, 15 | { 16 | "indexed": true, 17 | "internalType": "address", 18 | "name": "approved", 19 | "type": "address" 20 | }, 21 | { 22 | "indexed": true, 23 | "internalType": "uint256", 24 | "name": "tokenId", 25 | "type": "uint256" 26 | } 27 | ], 28 | "name": "Approval", 29 | "type": "event" 30 | }, 31 | { 32 | "anonymous": false, 33 | "inputs": [ 34 | { 35 | "indexed": true, 36 | "internalType": "address", 37 | "name": "owner", 38 | "type": "address" 39 | }, 40 | { 41 | "indexed": true, 42 | "internalType": "address", 43 | "name": "operator", 44 | "type": "address" 45 | }, 46 | { 47 | "indexed": false, 48 | "internalType": "bool", 49 | "name": "approved", 50 | "type": "bool" 51 | } 52 | ], 53 | "name": "ApprovalForAll", 54 | "type": "event" 55 | }, 56 | { 57 | "anonymous": false, 58 | "inputs": [ 59 | { 60 | "indexed": true, 61 | "internalType": "address", 62 | "name": "from", 63 | "type": "address" 64 | }, 65 | { 66 | "indexed": true, 67 | "internalType": "address", 68 | "name": "to", 69 | "type": "address" 70 | }, 71 | { 72 | "indexed": true, 73 | "internalType": "uint256", 74 | "name": "tokenId", 75 | "type": "uint256" 76 | } 77 | ], 78 | "name": "Transfer", 79 | "type": "event" 80 | }, 81 | { 82 | "inputs": [ 83 | { 84 | "internalType": "address", 85 | "name": "to", 86 | "type": "address" 87 | }, 88 | { 89 | "internalType": "uint256", 90 | "name": "tokenId", 91 | "type": "uint256" 92 | } 93 | ], 94 | "name": "approve", 95 | "outputs": [], 96 | "stateMutability": "nonpayable", 97 | "type": "function" 98 | }, 99 | { 100 | "inputs": [ 101 | { 102 | "internalType": "address", 103 | "name": "owner", 104 | "type": "address" 105 | } 106 | ], 107 | "name": "balanceOf", 108 | "outputs": [ 109 | { 110 | "internalType": "uint256", 111 | "name": "balance", 112 | "type": "uint256" 113 | } 114 | ], 115 | "stateMutability": "view", 116 | "type": "function" 117 | }, 118 | { 119 | "inputs": [ 120 | { 121 | "internalType": "uint256", 122 | "name": "tokenId", 123 | "type": "uint256" 124 | } 125 | ], 126 | "name": "getApproved", 127 | "outputs": [ 128 | { 129 | "internalType": "address", 130 | "name": "operator", 131 | "type": "address" 132 | } 133 | ], 134 | "stateMutability": "view", 135 | "type": "function" 136 | }, 137 | { 138 | "inputs": [ 139 | { 140 | "internalType": "address", 141 | "name": "owner", 142 | "type": "address" 143 | }, 144 | { 145 | "internalType": "address", 146 | "name": "operator", 147 | "type": "address" 148 | } 149 | ], 150 | "name": "isApprovedForAll", 151 | "outputs": [ 152 | { 153 | "internalType": "bool", 154 | "name": "", 155 | "type": "bool" 156 | } 157 | ], 158 | "stateMutability": "view", 159 | "type": "function" 160 | }, 161 | { 162 | "inputs": [ 163 | { 164 | "internalType": "uint256", 165 | "name": "tokenId", 166 | "type": "uint256" 167 | } 168 | ], 169 | "name": "ownerOf", 170 | "outputs": [ 171 | { 172 | "internalType": "address", 173 | "name": "owner", 174 | "type": "address" 175 | } 176 | ], 177 | "stateMutability": "view", 178 | "type": "function" 179 | }, 180 | { 181 | "inputs": [ 182 | { 183 | "internalType": "address", 184 | "name": "from", 185 | "type": "address" 186 | }, 187 | { 188 | "internalType": "address", 189 | "name": "to", 190 | "type": "address" 191 | }, 192 | { 193 | "internalType": "uint256", 194 | "name": "tokenId", 195 | "type": "uint256" 196 | } 197 | ], 198 | "name": "safeTransferFrom", 199 | "outputs": [], 200 | "stateMutability": "nonpayable", 201 | "type": "function" 202 | }, 203 | { 204 | "inputs": [ 205 | { 206 | "internalType": "address", 207 | "name": "from", 208 | "type": "address" 209 | }, 210 | { 211 | "internalType": "address", 212 | "name": "to", 213 | "type": "address" 214 | }, 215 | { 216 | "internalType": "uint256", 217 | "name": "tokenId", 218 | "type": "uint256" 219 | }, 220 | { 221 | "internalType": "bytes", 222 | "name": "data", 223 | "type": "bytes" 224 | } 225 | ], 226 | "name": "safeTransferFrom", 227 | "outputs": [], 228 | "stateMutability": "nonpayable", 229 | "type": "function" 230 | }, 231 | { 232 | "inputs": [ 233 | { 234 | "internalType": "address", 235 | "name": "operator", 236 | "type": "address" 237 | }, 238 | { 239 | "internalType": "bool", 240 | "name": "_approved", 241 | "type": "bool" 242 | } 243 | ], 244 | "name": "setApprovalForAll", 245 | "outputs": [], 246 | "stateMutability": "nonpayable", 247 | "type": "function" 248 | }, 249 | { 250 | "inputs": [ 251 | { 252 | "internalType": "bytes4", 253 | "name": "interfaceId", 254 | "type": "bytes4" 255 | } 256 | ], 257 | "name": "supportsInterface", 258 | "outputs": [ 259 | { 260 | "internalType": "bool", 261 | "name": "", 262 | "type": "bool" 263 | } 264 | ], 265 | "stateMutability": "view", 266 | "type": "function" 267 | }, 268 | { 269 | "inputs": [ 270 | { 271 | "internalType": "address", 272 | "name": "from", 273 | "type": "address" 274 | }, 275 | { 276 | "internalType": "address", 277 | "name": "to", 278 | "type": "address" 279 | }, 280 | { 281 | "internalType": "uint256", 282 | "name": "tokenId", 283 | "type": "uint256" 284 | } 285 | ], 286 | "name": "transferFrom", 287 | "outputs": [], 288 | "stateMutability": "nonpayable", 289 | "type": "function" 290 | } 291 | ], 292 | "bytecode": "0x", 293 | "deployedBytecode": "0x", 294 | "linkReferences": {}, 295 | "deployedLinkReferences": {} 296 | } 297 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/token/ERC721/IERC721.sol/IERC721.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "IERC721", 4 | "sourceName": "@openzeppelin/contracts/token/ERC721/IERC721.sol", 5 | "abi": [ 6 | { 7 | "anonymous": false, 8 | "inputs": [ 9 | { 10 | "indexed": true, 11 | "internalType": "address", 12 | "name": "owner", 13 | "type": "address" 14 | }, 15 | { 16 | "indexed": true, 17 | "internalType": "address", 18 | "name": "approved", 19 | "type": "address" 20 | }, 21 | { 22 | "indexed": true, 23 | "internalType": "uint256", 24 | "name": "tokenId", 25 | "type": "uint256" 26 | } 27 | ], 28 | "name": "Approval", 29 | "type": "event" 30 | }, 31 | { 32 | "anonymous": false, 33 | "inputs": [ 34 | { 35 | "indexed": true, 36 | "internalType": "address", 37 | "name": "owner", 38 | "type": "address" 39 | }, 40 | { 41 | "indexed": true, 42 | "internalType": "address", 43 | "name": "operator", 44 | "type": "address" 45 | }, 46 | { 47 | "indexed": false, 48 | "internalType": "bool", 49 | "name": "approved", 50 | "type": "bool" 51 | } 52 | ], 53 | "name": "ApprovalForAll", 54 | "type": "event" 55 | }, 56 | { 57 | "anonymous": false, 58 | "inputs": [ 59 | { 60 | "indexed": true, 61 | "internalType": "address", 62 | "name": "from", 63 | "type": "address" 64 | }, 65 | { 66 | "indexed": true, 67 | "internalType": "address", 68 | "name": "to", 69 | "type": "address" 70 | }, 71 | { 72 | "indexed": true, 73 | "internalType": "uint256", 74 | "name": "tokenId", 75 | "type": "uint256" 76 | } 77 | ], 78 | "name": "Transfer", 79 | "type": "event" 80 | }, 81 | { 82 | "inputs": [ 83 | { 84 | "internalType": "address", 85 | "name": "to", 86 | "type": "address" 87 | }, 88 | { 89 | "internalType": "uint256", 90 | "name": "tokenId", 91 | "type": "uint256" 92 | } 93 | ], 94 | "name": "approve", 95 | "outputs": [], 96 | "stateMutability": "nonpayable", 97 | "type": "function" 98 | }, 99 | { 100 | "inputs": [ 101 | { 102 | "internalType": "address", 103 | "name": "owner", 104 | "type": "address" 105 | } 106 | ], 107 | "name": "balanceOf", 108 | "outputs": [ 109 | { 110 | "internalType": "uint256", 111 | "name": "balance", 112 | "type": "uint256" 113 | } 114 | ], 115 | "stateMutability": "view", 116 | "type": "function" 117 | }, 118 | { 119 | "inputs": [ 120 | { 121 | "internalType": "uint256", 122 | "name": "tokenId", 123 | "type": "uint256" 124 | } 125 | ], 126 | "name": "getApproved", 127 | "outputs": [ 128 | { 129 | "internalType": "address", 130 | "name": "operator", 131 | "type": "address" 132 | } 133 | ], 134 | "stateMutability": "view", 135 | "type": "function" 136 | }, 137 | { 138 | "inputs": [ 139 | { 140 | "internalType": "address", 141 | "name": "owner", 142 | "type": "address" 143 | }, 144 | { 145 | "internalType": "address", 146 | "name": "operator", 147 | "type": "address" 148 | } 149 | ], 150 | "name": "isApprovedForAll", 151 | "outputs": [ 152 | { 153 | "internalType": "bool", 154 | "name": "", 155 | "type": "bool" 156 | } 157 | ], 158 | "stateMutability": "view", 159 | "type": "function" 160 | }, 161 | { 162 | "inputs": [ 163 | { 164 | "internalType": "uint256", 165 | "name": "tokenId", 166 | "type": "uint256" 167 | } 168 | ], 169 | "name": "ownerOf", 170 | "outputs": [ 171 | { 172 | "internalType": "address", 173 | "name": "owner", 174 | "type": "address" 175 | } 176 | ], 177 | "stateMutability": "view", 178 | "type": "function" 179 | }, 180 | { 181 | "inputs": [ 182 | { 183 | "internalType": "address", 184 | "name": "from", 185 | "type": "address" 186 | }, 187 | { 188 | "internalType": "address", 189 | "name": "to", 190 | "type": "address" 191 | }, 192 | { 193 | "internalType": "uint256", 194 | "name": "tokenId", 195 | "type": "uint256" 196 | } 197 | ], 198 | "name": "safeTransferFrom", 199 | "outputs": [], 200 | "stateMutability": "nonpayable", 201 | "type": "function" 202 | }, 203 | { 204 | "inputs": [ 205 | { 206 | "internalType": "address", 207 | "name": "from", 208 | "type": "address" 209 | }, 210 | { 211 | "internalType": "address", 212 | "name": "to", 213 | "type": "address" 214 | }, 215 | { 216 | "internalType": "uint256", 217 | "name": "tokenId", 218 | "type": "uint256" 219 | }, 220 | { 221 | "internalType": "bytes", 222 | "name": "data", 223 | "type": "bytes" 224 | } 225 | ], 226 | "name": "safeTransferFrom", 227 | "outputs": [], 228 | "stateMutability": "nonpayable", 229 | "type": "function" 230 | }, 231 | { 232 | "inputs": [ 233 | { 234 | "internalType": "address", 235 | "name": "operator", 236 | "type": "address" 237 | }, 238 | { 239 | "internalType": "bool", 240 | "name": "_approved", 241 | "type": "bool" 242 | } 243 | ], 244 | "name": "setApprovalForAll", 245 | "outputs": [], 246 | "stateMutability": "nonpayable", 247 | "type": "function" 248 | }, 249 | { 250 | "inputs": [ 251 | { 252 | "internalType": "bytes4", 253 | "name": "interfaceId", 254 | "type": "bytes4" 255 | } 256 | ], 257 | "name": "supportsInterface", 258 | "outputs": [ 259 | { 260 | "internalType": "bool", 261 | "name": "", 262 | "type": "bool" 263 | } 264 | ], 265 | "stateMutability": "view", 266 | "type": "function" 267 | }, 268 | { 269 | "inputs": [ 270 | { 271 | "internalType": "address", 272 | "name": "from", 273 | "type": "address" 274 | }, 275 | { 276 | "internalType": "address", 277 | "name": "to", 278 | "type": "address" 279 | }, 280 | { 281 | "internalType": "uint256", 282 | "name": "tokenId", 283 | "type": "uint256" 284 | } 285 | ], 286 | "name": "transferFrom", 287 | "outputs": [], 288 | "stateMutability": "nonpayable", 289 | "type": "function" 290 | } 291 | ], 292 | "bytecode": "0x", 293 | "deployedBytecode": "0x", 294 | "linkReferences": {}, 295 | "deployedLinkReferences": {} 296 | } 297 | -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/ERC721URIStorage.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "ERC721URIStorage", 4 | "sourceName": "contracts/NFTBatchMinting.sol", 5 | "abi": [ 6 | { 7 | "anonymous": false, 8 | "inputs": [ 9 | { 10 | "indexed": true, 11 | "internalType": "address", 12 | "name": "owner", 13 | "type": "address" 14 | }, 15 | { 16 | "indexed": true, 17 | "internalType": "address", 18 | "name": "approved", 19 | "type": "address" 20 | }, 21 | { 22 | "indexed": true, 23 | "internalType": "uint256", 24 | "name": "tokenId", 25 | "type": "uint256" 26 | } 27 | ], 28 | "name": "Approval", 29 | "type": "event" 30 | }, 31 | { 32 | "anonymous": false, 33 | "inputs": [ 34 | { 35 | "indexed": true, 36 | "internalType": "address", 37 | "name": "owner", 38 | "type": "address" 39 | }, 40 | { 41 | "indexed": true, 42 | "internalType": "address", 43 | "name": "operator", 44 | "type": "address" 45 | }, 46 | { 47 | "indexed": false, 48 | "internalType": "bool", 49 | "name": "approved", 50 | "type": "bool" 51 | } 52 | ], 53 | "name": "ApprovalForAll", 54 | "type": "event" 55 | }, 56 | { 57 | "anonymous": false, 58 | "inputs": [ 59 | { 60 | "indexed": true, 61 | "internalType": "address", 62 | "name": "from", 63 | "type": "address" 64 | }, 65 | { 66 | "indexed": true, 67 | "internalType": "address", 68 | "name": "to", 69 | "type": "address" 70 | }, 71 | { 72 | "indexed": true, 73 | "internalType": "uint256", 74 | "name": "tokenId", 75 | "type": "uint256" 76 | } 77 | ], 78 | "name": "Transfer", 79 | "type": "event" 80 | }, 81 | { 82 | "inputs": [ 83 | { 84 | "internalType": "address", 85 | "name": "to", 86 | "type": "address" 87 | }, 88 | { 89 | "internalType": "uint256", 90 | "name": "tokenId", 91 | "type": "uint256" 92 | } 93 | ], 94 | "name": "approve", 95 | "outputs": [], 96 | "stateMutability": "nonpayable", 97 | "type": "function" 98 | }, 99 | { 100 | "inputs": [ 101 | { 102 | "internalType": "address", 103 | "name": "owner", 104 | "type": "address" 105 | } 106 | ], 107 | "name": "balanceOf", 108 | "outputs": [ 109 | { 110 | "internalType": "uint256", 111 | "name": "", 112 | "type": "uint256" 113 | } 114 | ], 115 | "stateMutability": "view", 116 | "type": "function" 117 | }, 118 | { 119 | "inputs": [ 120 | { 121 | "internalType": "uint256", 122 | "name": "tokenId", 123 | "type": "uint256" 124 | } 125 | ], 126 | "name": "getApproved", 127 | "outputs": [ 128 | { 129 | "internalType": "address", 130 | "name": "", 131 | "type": "address" 132 | } 133 | ], 134 | "stateMutability": "view", 135 | "type": "function" 136 | }, 137 | { 138 | "inputs": [ 139 | { 140 | "internalType": "address", 141 | "name": "owner", 142 | "type": "address" 143 | }, 144 | { 145 | "internalType": "address", 146 | "name": "operator", 147 | "type": "address" 148 | } 149 | ], 150 | "name": "isApprovedForAll", 151 | "outputs": [ 152 | { 153 | "internalType": "bool", 154 | "name": "", 155 | "type": "bool" 156 | } 157 | ], 158 | "stateMutability": "view", 159 | "type": "function" 160 | }, 161 | { 162 | "inputs": [], 163 | "name": "name", 164 | "outputs": [ 165 | { 166 | "internalType": "string", 167 | "name": "", 168 | "type": "string" 169 | } 170 | ], 171 | "stateMutability": "view", 172 | "type": "function" 173 | }, 174 | { 175 | "inputs": [ 176 | { 177 | "internalType": "uint256", 178 | "name": "tokenId", 179 | "type": "uint256" 180 | } 181 | ], 182 | "name": "ownerOf", 183 | "outputs": [ 184 | { 185 | "internalType": "address", 186 | "name": "", 187 | "type": "address" 188 | } 189 | ], 190 | "stateMutability": "view", 191 | "type": "function" 192 | }, 193 | { 194 | "inputs": [ 195 | { 196 | "internalType": "address", 197 | "name": "from", 198 | "type": "address" 199 | }, 200 | { 201 | "internalType": "address", 202 | "name": "to", 203 | "type": "address" 204 | }, 205 | { 206 | "internalType": "uint256", 207 | "name": "tokenId", 208 | "type": "uint256" 209 | } 210 | ], 211 | "name": "safeTransferFrom", 212 | "outputs": [], 213 | "stateMutability": "nonpayable", 214 | "type": "function" 215 | }, 216 | { 217 | "inputs": [ 218 | { 219 | "internalType": "address", 220 | "name": "from", 221 | "type": "address" 222 | }, 223 | { 224 | "internalType": "address", 225 | "name": "to", 226 | "type": "address" 227 | }, 228 | { 229 | "internalType": "uint256", 230 | "name": "tokenId", 231 | "type": "uint256" 232 | }, 233 | { 234 | "internalType": "bytes", 235 | "name": "_data", 236 | "type": "bytes" 237 | } 238 | ], 239 | "name": "safeTransferFrom", 240 | "outputs": [], 241 | "stateMutability": "nonpayable", 242 | "type": "function" 243 | }, 244 | { 245 | "inputs": [ 246 | { 247 | "internalType": "address", 248 | "name": "operator", 249 | "type": "address" 250 | }, 251 | { 252 | "internalType": "bool", 253 | "name": "approved", 254 | "type": "bool" 255 | } 256 | ], 257 | "name": "setApprovalForAll", 258 | "outputs": [], 259 | "stateMutability": "nonpayable", 260 | "type": "function" 261 | }, 262 | { 263 | "inputs": [ 264 | { 265 | "internalType": "bytes4", 266 | "name": "interfaceId", 267 | "type": "bytes4" 268 | } 269 | ], 270 | "name": "supportsInterface", 271 | "outputs": [ 272 | { 273 | "internalType": "bool", 274 | "name": "", 275 | "type": "bool" 276 | } 277 | ], 278 | "stateMutability": "view", 279 | "type": "function" 280 | }, 281 | { 282 | "inputs": [], 283 | "name": "symbol", 284 | "outputs": [ 285 | { 286 | "internalType": "string", 287 | "name": "", 288 | "type": "string" 289 | } 290 | ], 291 | "stateMutability": "view", 292 | "type": "function" 293 | }, 294 | { 295 | "inputs": [ 296 | { 297 | "internalType": "uint256", 298 | "name": "tokenId", 299 | "type": "uint256" 300 | } 301 | ], 302 | "name": "tokenURI", 303 | "outputs": [ 304 | { 305 | "internalType": "string", 306 | "name": "", 307 | "type": "string" 308 | } 309 | ], 310 | "stateMutability": "view", 311 | "type": "function" 312 | }, 313 | { 314 | "inputs": [ 315 | { 316 | "internalType": "address", 317 | "name": "from", 318 | "type": "address" 319 | }, 320 | { 321 | "internalType": "address", 322 | "name": "to", 323 | "type": "address" 324 | }, 325 | { 326 | "internalType": "uint256", 327 | "name": "tokenId", 328 | "type": "uint256" 329 | } 330 | ], 331 | "name": "transferFrom", 332 | "outputs": [], 333 | "stateMutability": "nonpayable", 334 | "type": "function" 335 | } 336 | ], 337 | "bytecode": "0x", 338 | "deployedBytecode": "0x", 339 | "linkReferences": {}, 340 | "deployedLinkReferences": {} 341 | } 342 | -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/IERC721Metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "IERC721Metadata", 4 | "sourceName": "contracts/NFTBatchMinting.sol", 5 | "abi": [ 6 | { 7 | "anonymous": false, 8 | "inputs": [ 9 | { 10 | "indexed": true, 11 | "internalType": "address", 12 | "name": "owner", 13 | "type": "address" 14 | }, 15 | { 16 | "indexed": true, 17 | "internalType": "address", 18 | "name": "approved", 19 | "type": "address" 20 | }, 21 | { 22 | "indexed": true, 23 | "internalType": "uint256", 24 | "name": "tokenId", 25 | "type": "uint256" 26 | } 27 | ], 28 | "name": "Approval", 29 | "type": "event" 30 | }, 31 | { 32 | "anonymous": false, 33 | "inputs": [ 34 | { 35 | "indexed": true, 36 | "internalType": "address", 37 | "name": "owner", 38 | "type": "address" 39 | }, 40 | { 41 | "indexed": true, 42 | "internalType": "address", 43 | "name": "operator", 44 | "type": "address" 45 | }, 46 | { 47 | "indexed": false, 48 | "internalType": "bool", 49 | "name": "approved", 50 | "type": "bool" 51 | } 52 | ], 53 | "name": "ApprovalForAll", 54 | "type": "event" 55 | }, 56 | { 57 | "anonymous": false, 58 | "inputs": [ 59 | { 60 | "indexed": true, 61 | "internalType": "address", 62 | "name": "from", 63 | "type": "address" 64 | }, 65 | { 66 | "indexed": true, 67 | "internalType": "address", 68 | "name": "to", 69 | "type": "address" 70 | }, 71 | { 72 | "indexed": true, 73 | "internalType": "uint256", 74 | "name": "tokenId", 75 | "type": "uint256" 76 | } 77 | ], 78 | "name": "Transfer", 79 | "type": "event" 80 | }, 81 | { 82 | "inputs": [ 83 | { 84 | "internalType": "address", 85 | "name": "to", 86 | "type": "address" 87 | }, 88 | { 89 | "internalType": "uint256", 90 | "name": "tokenId", 91 | "type": "uint256" 92 | } 93 | ], 94 | "name": "approve", 95 | "outputs": [], 96 | "stateMutability": "nonpayable", 97 | "type": "function" 98 | }, 99 | { 100 | "inputs": [ 101 | { 102 | "internalType": "address", 103 | "name": "owner", 104 | "type": "address" 105 | } 106 | ], 107 | "name": "balanceOf", 108 | "outputs": [ 109 | { 110 | "internalType": "uint256", 111 | "name": "balance", 112 | "type": "uint256" 113 | } 114 | ], 115 | "stateMutability": "view", 116 | "type": "function" 117 | }, 118 | { 119 | "inputs": [ 120 | { 121 | "internalType": "uint256", 122 | "name": "tokenId", 123 | "type": "uint256" 124 | } 125 | ], 126 | "name": "getApproved", 127 | "outputs": [ 128 | { 129 | "internalType": "address", 130 | "name": "operator", 131 | "type": "address" 132 | } 133 | ], 134 | "stateMutability": "view", 135 | "type": "function" 136 | }, 137 | { 138 | "inputs": [ 139 | { 140 | "internalType": "address", 141 | "name": "owner", 142 | "type": "address" 143 | }, 144 | { 145 | "internalType": "address", 146 | "name": "operator", 147 | "type": "address" 148 | } 149 | ], 150 | "name": "isApprovedForAll", 151 | "outputs": [ 152 | { 153 | "internalType": "bool", 154 | "name": "", 155 | "type": "bool" 156 | } 157 | ], 158 | "stateMutability": "view", 159 | "type": "function" 160 | }, 161 | { 162 | "inputs": [], 163 | "name": "name", 164 | "outputs": [ 165 | { 166 | "internalType": "string", 167 | "name": "", 168 | "type": "string" 169 | } 170 | ], 171 | "stateMutability": "view", 172 | "type": "function" 173 | }, 174 | { 175 | "inputs": [ 176 | { 177 | "internalType": "uint256", 178 | "name": "tokenId", 179 | "type": "uint256" 180 | } 181 | ], 182 | "name": "ownerOf", 183 | "outputs": [ 184 | { 185 | "internalType": "address", 186 | "name": "owner", 187 | "type": "address" 188 | } 189 | ], 190 | "stateMutability": "view", 191 | "type": "function" 192 | }, 193 | { 194 | "inputs": [ 195 | { 196 | "internalType": "address", 197 | "name": "from", 198 | "type": "address" 199 | }, 200 | { 201 | "internalType": "address", 202 | "name": "to", 203 | "type": "address" 204 | }, 205 | { 206 | "internalType": "uint256", 207 | "name": "tokenId", 208 | "type": "uint256" 209 | } 210 | ], 211 | "name": "safeTransferFrom", 212 | "outputs": [], 213 | "stateMutability": "nonpayable", 214 | "type": "function" 215 | }, 216 | { 217 | "inputs": [ 218 | { 219 | "internalType": "address", 220 | "name": "from", 221 | "type": "address" 222 | }, 223 | { 224 | "internalType": "address", 225 | "name": "to", 226 | "type": "address" 227 | }, 228 | { 229 | "internalType": "uint256", 230 | "name": "tokenId", 231 | "type": "uint256" 232 | }, 233 | { 234 | "internalType": "bytes", 235 | "name": "data", 236 | "type": "bytes" 237 | } 238 | ], 239 | "name": "safeTransferFrom", 240 | "outputs": [], 241 | "stateMutability": "nonpayable", 242 | "type": "function" 243 | }, 244 | { 245 | "inputs": [ 246 | { 247 | "internalType": "address", 248 | "name": "operator", 249 | "type": "address" 250 | }, 251 | { 252 | "internalType": "bool", 253 | "name": "_approved", 254 | "type": "bool" 255 | } 256 | ], 257 | "name": "setApprovalForAll", 258 | "outputs": [], 259 | "stateMutability": "nonpayable", 260 | "type": "function" 261 | }, 262 | { 263 | "inputs": [ 264 | { 265 | "internalType": "bytes4", 266 | "name": "interfaceId", 267 | "type": "bytes4" 268 | } 269 | ], 270 | "name": "supportsInterface", 271 | "outputs": [ 272 | { 273 | "internalType": "bool", 274 | "name": "", 275 | "type": "bool" 276 | } 277 | ], 278 | "stateMutability": "view", 279 | "type": "function" 280 | }, 281 | { 282 | "inputs": [], 283 | "name": "symbol", 284 | "outputs": [ 285 | { 286 | "internalType": "string", 287 | "name": "", 288 | "type": "string" 289 | } 290 | ], 291 | "stateMutability": "view", 292 | "type": "function" 293 | }, 294 | { 295 | "inputs": [ 296 | { 297 | "internalType": "uint256", 298 | "name": "tokenId", 299 | "type": "uint256" 300 | } 301 | ], 302 | "name": "tokenURI", 303 | "outputs": [ 304 | { 305 | "internalType": "string", 306 | "name": "", 307 | "type": "string" 308 | } 309 | ], 310 | "stateMutability": "view", 311 | "type": "function" 312 | }, 313 | { 314 | "inputs": [ 315 | { 316 | "internalType": "address", 317 | "name": "from", 318 | "type": "address" 319 | }, 320 | { 321 | "internalType": "address", 322 | "name": "to", 323 | "type": "address" 324 | }, 325 | { 326 | "internalType": "uint256", 327 | "name": "tokenId", 328 | "type": "uint256" 329 | } 330 | ], 331 | "name": "transferFrom", 332 | "outputs": [], 333 | "stateMutability": "nonpayable", 334 | "type": "function" 335 | } 336 | ], 337 | "bytecode": "0x", 338 | "deployedBytecode": "0x", 339 | "linkReferences": {}, 340 | "deployedLinkReferences": {} 341 | } 342 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol/ERC721URIStorage.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "ERC721URIStorage", 4 | "sourceName": "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol", 5 | "abi": [ 6 | { 7 | "anonymous": false, 8 | "inputs": [ 9 | { 10 | "indexed": true, 11 | "internalType": "address", 12 | "name": "owner", 13 | "type": "address" 14 | }, 15 | { 16 | "indexed": true, 17 | "internalType": "address", 18 | "name": "approved", 19 | "type": "address" 20 | }, 21 | { 22 | "indexed": true, 23 | "internalType": "uint256", 24 | "name": "tokenId", 25 | "type": "uint256" 26 | } 27 | ], 28 | "name": "Approval", 29 | "type": "event" 30 | }, 31 | { 32 | "anonymous": false, 33 | "inputs": [ 34 | { 35 | "indexed": true, 36 | "internalType": "address", 37 | "name": "owner", 38 | "type": "address" 39 | }, 40 | { 41 | "indexed": true, 42 | "internalType": "address", 43 | "name": "operator", 44 | "type": "address" 45 | }, 46 | { 47 | "indexed": false, 48 | "internalType": "bool", 49 | "name": "approved", 50 | "type": "bool" 51 | } 52 | ], 53 | "name": "ApprovalForAll", 54 | "type": "event" 55 | }, 56 | { 57 | "anonymous": false, 58 | "inputs": [ 59 | { 60 | "indexed": true, 61 | "internalType": "address", 62 | "name": "from", 63 | "type": "address" 64 | }, 65 | { 66 | "indexed": true, 67 | "internalType": "address", 68 | "name": "to", 69 | "type": "address" 70 | }, 71 | { 72 | "indexed": true, 73 | "internalType": "uint256", 74 | "name": "tokenId", 75 | "type": "uint256" 76 | } 77 | ], 78 | "name": "Transfer", 79 | "type": "event" 80 | }, 81 | { 82 | "inputs": [ 83 | { 84 | "internalType": "address", 85 | "name": "to", 86 | "type": "address" 87 | }, 88 | { 89 | "internalType": "uint256", 90 | "name": "tokenId", 91 | "type": "uint256" 92 | } 93 | ], 94 | "name": "approve", 95 | "outputs": [], 96 | "stateMutability": "nonpayable", 97 | "type": "function" 98 | }, 99 | { 100 | "inputs": [ 101 | { 102 | "internalType": "address", 103 | "name": "owner", 104 | "type": "address" 105 | } 106 | ], 107 | "name": "balanceOf", 108 | "outputs": [ 109 | { 110 | "internalType": "uint256", 111 | "name": "", 112 | "type": "uint256" 113 | } 114 | ], 115 | "stateMutability": "view", 116 | "type": "function" 117 | }, 118 | { 119 | "inputs": [ 120 | { 121 | "internalType": "uint256", 122 | "name": "tokenId", 123 | "type": "uint256" 124 | } 125 | ], 126 | "name": "getApproved", 127 | "outputs": [ 128 | { 129 | "internalType": "address", 130 | "name": "", 131 | "type": "address" 132 | } 133 | ], 134 | "stateMutability": "view", 135 | "type": "function" 136 | }, 137 | { 138 | "inputs": [ 139 | { 140 | "internalType": "address", 141 | "name": "owner", 142 | "type": "address" 143 | }, 144 | { 145 | "internalType": "address", 146 | "name": "operator", 147 | "type": "address" 148 | } 149 | ], 150 | "name": "isApprovedForAll", 151 | "outputs": [ 152 | { 153 | "internalType": "bool", 154 | "name": "", 155 | "type": "bool" 156 | } 157 | ], 158 | "stateMutability": "view", 159 | "type": "function" 160 | }, 161 | { 162 | "inputs": [], 163 | "name": "name", 164 | "outputs": [ 165 | { 166 | "internalType": "string", 167 | "name": "", 168 | "type": "string" 169 | } 170 | ], 171 | "stateMutability": "view", 172 | "type": "function" 173 | }, 174 | { 175 | "inputs": [ 176 | { 177 | "internalType": "uint256", 178 | "name": "tokenId", 179 | "type": "uint256" 180 | } 181 | ], 182 | "name": "ownerOf", 183 | "outputs": [ 184 | { 185 | "internalType": "address", 186 | "name": "", 187 | "type": "address" 188 | } 189 | ], 190 | "stateMutability": "view", 191 | "type": "function" 192 | }, 193 | { 194 | "inputs": [ 195 | { 196 | "internalType": "address", 197 | "name": "from", 198 | "type": "address" 199 | }, 200 | { 201 | "internalType": "address", 202 | "name": "to", 203 | "type": "address" 204 | }, 205 | { 206 | "internalType": "uint256", 207 | "name": "tokenId", 208 | "type": "uint256" 209 | } 210 | ], 211 | "name": "safeTransferFrom", 212 | "outputs": [], 213 | "stateMutability": "nonpayable", 214 | "type": "function" 215 | }, 216 | { 217 | "inputs": [ 218 | { 219 | "internalType": "address", 220 | "name": "from", 221 | "type": "address" 222 | }, 223 | { 224 | "internalType": "address", 225 | "name": "to", 226 | "type": "address" 227 | }, 228 | { 229 | "internalType": "uint256", 230 | "name": "tokenId", 231 | "type": "uint256" 232 | }, 233 | { 234 | "internalType": "bytes", 235 | "name": "data", 236 | "type": "bytes" 237 | } 238 | ], 239 | "name": "safeTransferFrom", 240 | "outputs": [], 241 | "stateMutability": "nonpayable", 242 | "type": "function" 243 | }, 244 | { 245 | "inputs": [ 246 | { 247 | "internalType": "address", 248 | "name": "operator", 249 | "type": "address" 250 | }, 251 | { 252 | "internalType": "bool", 253 | "name": "approved", 254 | "type": "bool" 255 | } 256 | ], 257 | "name": "setApprovalForAll", 258 | "outputs": [], 259 | "stateMutability": "nonpayable", 260 | "type": "function" 261 | }, 262 | { 263 | "inputs": [ 264 | { 265 | "internalType": "bytes4", 266 | "name": "interfaceId", 267 | "type": "bytes4" 268 | } 269 | ], 270 | "name": "supportsInterface", 271 | "outputs": [ 272 | { 273 | "internalType": "bool", 274 | "name": "", 275 | "type": "bool" 276 | } 277 | ], 278 | "stateMutability": "view", 279 | "type": "function" 280 | }, 281 | { 282 | "inputs": [], 283 | "name": "symbol", 284 | "outputs": [ 285 | { 286 | "internalType": "string", 287 | "name": "", 288 | "type": "string" 289 | } 290 | ], 291 | "stateMutability": "view", 292 | "type": "function" 293 | }, 294 | { 295 | "inputs": [ 296 | { 297 | "internalType": "uint256", 298 | "name": "tokenId", 299 | "type": "uint256" 300 | } 301 | ], 302 | "name": "tokenURI", 303 | "outputs": [ 304 | { 305 | "internalType": "string", 306 | "name": "", 307 | "type": "string" 308 | } 309 | ], 310 | "stateMutability": "view", 311 | "type": "function" 312 | }, 313 | { 314 | "inputs": [ 315 | { 316 | "internalType": "address", 317 | "name": "from", 318 | "type": "address" 319 | }, 320 | { 321 | "internalType": "address", 322 | "name": "to", 323 | "type": "address" 324 | }, 325 | { 326 | "internalType": "uint256", 327 | "name": "tokenId", 328 | "type": "uint256" 329 | } 330 | ], 331 | "name": "transferFrom", 332 | "outputs": [], 333 | "stateMutability": "nonpayable", 334 | "type": "function" 335 | } 336 | ], 337 | "bytecode": "0x", 338 | "deployedBytecode": "0x", 339 | "linkReferences": {}, 340 | "deployedLinkReferences": {} 341 | } 342 | -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol/IERC721Metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "IERC721Metadata", 4 | "sourceName": "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol", 5 | "abi": [ 6 | { 7 | "anonymous": false, 8 | "inputs": [ 9 | { 10 | "indexed": true, 11 | "internalType": "address", 12 | "name": "owner", 13 | "type": "address" 14 | }, 15 | { 16 | "indexed": true, 17 | "internalType": "address", 18 | "name": "approved", 19 | "type": "address" 20 | }, 21 | { 22 | "indexed": true, 23 | "internalType": "uint256", 24 | "name": "tokenId", 25 | "type": "uint256" 26 | } 27 | ], 28 | "name": "Approval", 29 | "type": "event" 30 | }, 31 | { 32 | "anonymous": false, 33 | "inputs": [ 34 | { 35 | "indexed": true, 36 | "internalType": "address", 37 | "name": "owner", 38 | "type": "address" 39 | }, 40 | { 41 | "indexed": true, 42 | "internalType": "address", 43 | "name": "operator", 44 | "type": "address" 45 | }, 46 | { 47 | "indexed": false, 48 | "internalType": "bool", 49 | "name": "approved", 50 | "type": "bool" 51 | } 52 | ], 53 | "name": "ApprovalForAll", 54 | "type": "event" 55 | }, 56 | { 57 | "anonymous": false, 58 | "inputs": [ 59 | { 60 | "indexed": true, 61 | "internalType": "address", 62 | "name": "from", 63 | "type": "address" 64 | }, 65 | { 66 | "indexed": true, 67 | "internalType": "address", 68 | "name": "to", 69 | "type": "address" 70 | }, 71 | { 72 | "indexed": true, 73 | "internalType": "uint256", 74 | "name": "tokenId", 75 | "type": "uint256" 76 | } 77 | ], 78 | "name": "Transfer", 79 | "type": "event" 80 | }, 81 | { 82 | "inputs": [ 83 | { 84 | "internalType": "address", 85 | "name": "to", 86 | "type": "address" 87 | }, 88 | { 89 | "internalType": "uint256", 90 | "name": "tokenId", 91 | "type": "uint256" 92 | } 93 | ], 94 | "name": "approve", 95 | "outputs": [], 96 | "stateMutability": "nonpayable", 97 | "type": "function" 98 | }, 99 | { 100 | "inputs": [ 101 | { 102 | "internalType": "address", 103 | "name": "owner", 104 | "type": "address" 105 | } 106 | ], 107 | "name": "balanceOf", 108 | "outputs": [ 109 | { 110 | "internalType": "uint256", 111 | "name": "balance", 112 | "type": "uint256" 113 | } 114 | ], 115 | "stateMutability": "view", 116 | "type": "function" 117 | }, 118 | { 119 | "inputs": [ 120 | { 121 | "internalType": "uint256", 122 | "name": "tokenId", 123 | "type": "uint256" 124 | } 125 | ], 126 | "name": "getApproved", 127 | "outputs": [ 128 | { 129 | "internalType": "address", 130 | "name": "operator", 131 | "type": "address" 132 | } 133 | ], 134 | "stateMutability": "view", 135 | "type": "function" 136 | }, 137 | { 138 | "inputs": [ 139 | { 140 | "internalType": "address", 141 | "name": "owner", 142 | "type": "address" 143 | }, 144 | { 145 | "internalType": "address", 146 | "name": "operator", 147 | "type": "address" 148 | } 149 | ], 150 | "name": "isApprovedForAll", 151 | "outputs": [ 152 | { 153 | "internalType": "bool", 154 | "name": "", 155 | "type": "bool" 156 | } 157 | ], 158 | "stateMutability": "view", 159 | "type": "function" 160 | }, 161 | { 162 | "inputs": [], 163 | "name": "name", 164 | "outputs": [ 165 | { 166 | "internalType": "string", 167 | "name": "", 168 | "type": "string" 169 | } 170 | ], 171 | "stateMutability": "view", 172 | "type": "function" 173 | }, 174 | { 175 | "inputs": [ 176 | { 177 | "internalType": "uint256", 178 | "name": "tokenId", 179 | "type": "uint256" 180 | } 181 | ], 182 | "name": "ownerOf", 183 | "outputs": [ 184 | { 185 | "internalType": "address", 186 | "name": "owner", 187 | "type": "address" 188 | } 189 | ], 190 | "stateMutability": "view", 191 | "type": "function" 192 | }, 193 | { 194 | "inputs": [ 195 | { 196 | "internalType": "address", 197 | "name": "from", 198 | "type": "address" 199 | }, 200 | { 201 | "internalType": "address", 202 | "name": "to", 203 | "type": "address" 204 | }, 205 | { 206 | "internalType": "uint256", 207 | "name": "tokenId", 208 | "type": "uint256" 209 | } 210 | ], 211 | "name": "safeTransferFrom", 212 | "outputs": [], 213 | "stateMutability": "nonpayable", 214 | "type": "function" 215 | }, 216 | { 217 | "inputs": [ 218 | { 219 | "internalType": "address", 220 | "name": "from", 221 | "type": "address" 222 | }, 223 | { 224 | "internalType": "address", 225 | "name": "to", 226 | "type": "address" 227 | }, 228 | { 229 | "internalType": "uint256", 230 | "name": "tokenId", 231 | "type": "uint256" 232 | }, 233 | { 234 | "internalType": "bytes", 235 | "name": "data", 236 | "type": "bytes" 237 | } 238 | ], 239 | "name": "safeTransferFrom", 240 | "outputs": [], 241 | "stateMutability": "nonpayable", 242 | "type": "function" 243 | }, 244 | { 245 | "inputs": [ 246 | { 247 | "internalType": "address", 248 | "name": "operator", 249 | "type": "address" 250 | }, 251 | { 252 | "internalType": "bool", 253 | "name": "_approved", 254 | "type": "bool" 255 | } 256 | ], 257 | "name": "setApprovalForAll", 258 | "outputs": [], 259 | "stateMutability": "nonpayable", 260 | "type": "function" 261 | }, 262 | { 263 | "inputs": [ 264 | { 265 | "internalType": "bytes4", 266 | "name": "interfaceId", 267 | "type": "bytes4" 268 | } 269 | ], 270 | "name": "supportsInterface", 271 | "outputs": [ 272 | { 273 | "internalType": "bool", 274 | "name": "", 275 | "type": "bool" 276 | } 277 | ], 278 | "stateMutability": "view", 279 | "type": "function" 280 | }, 281 | { 282 | "inputs": [], 283 | "name": "symbol", 284 | "outputs": [ 285 | { 286 | "internalType": "string", 287 | "name": "", 288 | "type": "string" 289 | } 290 | ], 291 | "stateMutability": "view", 292 | "type": "function" 293 | }, 294 | { 295 | "inputs": [ 296 | { 297 | "internalType": "uint256", 298 | "name": "tokenId", 299 | "type": "uint256" 300 | } 301 | ], 302 | "name": "tokenURI", 303 | "outputs": [ 304 | { 305 | "internalType": "string", 306 | "name": "", 307 | "type": "string" 308 | } 309 | ], 310 | "stateMutability": "view", 311 | "type": "function" 312 | }, 313 | { 314 | "inputs": [ 315 | { 316 | "internalType": "address", 317 | "name": "from", 318 | "type": "address" 319 | }, 320 | { 321 | "internalType": "address", 322 | "name": "to", 323 | "type": "address" 324 | }, 325 | { 326 | "internalType": "uint256", 327 | "name": "tokenId", 328 | "type": "uint256" 329 | } 330 | ], 331 | "name": "transferFrom", 332 | "outputs": [], 333 | "stateMutability": "nonpayable", 334 | "type": "function" 335 | } 336 | ], 337 | "bytecode": "0x", 338 | "deployedBytecode": "0x", 339 | "linkReferences": {}, 340 | "deployedLinkReferences": {} 341 | } 342 | -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/ERC721Burnable.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "ERC721Burnable", 4 | "sourceName": "contracts/NFTBatchMinting.sol", 5 | "abi": [ 6 | { 7 | "anonymous": false, 8 | "inputs": [ 9 | { 10 | "indexed": true, 11 | "internalType": "address", 12 | "name": "owner", 13 | "type": "address" 14 | }, 15 | { 16 | "indexed": true, 17 | "internalType": "address", 18 | "name": "approved", 19 | "type": "address" 20 | }, 21 | { 22 | "indexed": true, 23 | "internalType": "uint256", 24 | "name": "tokenId", 25 | "type": "uint256" 26 | } 27 | ], 28 | "name": "Approval", 29 | "type": "event" 30 | }, 31 | { 32 | "anonymous": false, 33 | "inputs": [ 34 | { 35 | "indexed": true, 36 | "internalType": "address", 37 | "name": "owner", 38 | "type": "address" 39 | }, 40 | { 41 | "indexed": true, 42 | "internalType": "address", 43 | "name": "operator", 44 | "type": "address" 45 | }, 46 | { 47 | "indexed": false, 48 | "internalType": "bool", 49 | "name": "approved", 50 | "type": "bool" 51 | } 52 | ], 53 | "name": "ApprovalForAll", 54 | "type": "event" 55 | }, 56 | { 57 | "anonymous": false, 58 | "inputs": [ 59 | { 60 | "indexed": true, 61 | "internalType": "address", 62 | "name": "from", 63 | "type": "address" 64 | }, 65 | { 66 | "indexed": true, 67 | "internalType": "address", 68 | "name": "to", 69 | "type": "address" 70 | }, 71 | { 72 | "indexed": true, 73 | "internalType": "uint256", 74 | "name": "tokenId", 75 | "type": "uint256" 76 | } 77 | ], 78 | "name": "Transfer", 79 | "type": "event" 80 | }, 81 | { 82 | "inputs": [ 83 | { 84 | "internalType": "address", 85 | "name": "to", 86 | "type": "address" 87 | }, 88 | { 89 | "internalType": "uint256", 90 | "name": "tokenId", 91 | "type": "uint256" 92 | } 93 | ], 94 | "name": "approve", 95 | "outputs": [], 96 | "stateMutability": "nonpayable", 97 | "type": "function" 98 | }, 99 | { 100 | "inputs": [ 101 | { 102 | "internalType": "address", 103 | "name": "owner", 104 | "type": "address" 105 | } 106 | ], 107 | "name": "balanceOf", 108 | "outputs": [ 109 | { 110 | "internalType": "uint256", 111 | "name": "", 112 | "type": "uint256" 113 | } 114 | ], 115 | "stateMutability": "view", 116 | "type": "function" 117 | }, 118 | { 119 | "inputs": [ 120 | { 121 | "internalType": "uint256", 122 | "name": "tokenId", 123 | "type": "uint256" 124 | } 125 | ], 126 | "name": "burn", 127 | "outputs": [], 128 | "stateMutability": "nonpayable", 129 | "type": "function" 130 | }, 131 | { 132 | "inputs": [ 133 | { 134 | "internalType": "uint256", 135 | "name": "tokenId", 136 | "type": "uint256" 137 | } 138 | ], 139 | "name": "getApproved", 140 | "outputs": [ 141 | { 142 | "internalType": "address", 143 | "name": "", 144 | "type": "address" 145 | } 146 | ], 147 | "stateMutability": "view", 148 | "type": "function" 149 | }, 150 | { 151 | "inputs": [ 152 | { 153 | "internalType": "address", 154 | "name": "owner", 155 | "type": "address" 156 | }, 157 | { 158 | "internalType": "address", 159 | "name": "operator", 160 | "type": "address" 161 | } 162 | ], 163 | "name": "isApprovedForAll", 164 | "outputs": [ 165 | { 166 | "internalType": "bool", 167 | "name": "", 168 | "type": "bool" 169 | } 170 | ], 171 | "stateMutability": "view", 172 | "type": "function" 173 | }, 174 | { 175 | "inputs": [], 176 | "name": "name", 177 | "outputs": [ 178 | { 179 | "internalType": "string", 180 | "name": "", 181 | "type": "string" 182 | } 183 | ], 184 | "stateMutability": "view", 185 | "type": "function" 186 | }, 187 | { 188 | "inputs": [ 189 | { 190 | "internalType": "uint256", 191 | "name": "tokenId", 192 | "type": "uint256" 193 | } 194 | ], 195 | "name": "ownerOf", 196 | "outputs": [ 197 | { 198 | "internalType": "address", 199 | "name": "", 200 | "type": "address" 201 | } 202 | ], 203 | "stateMutability": "view", 204 | "type": "function" 205 | }, 206 | { 207 | "inputs": [ 208 | { 209 | "internalType": "address", 210 | "name": "from", 211 | "type": "address" 212 | }, 213 | { 214 | "internalType": "address", 215 | "name": "to", 216 | "type": "address" 217 | }, 218 | { 219 | "internalType": "uint256", 220 | "name": "tokenId", 221 | "type": "uint256" 222 | } 223 | ], 224 | "name": "safeTransferFrom", 225 | "outputs": [], 226 | "stateMutability": "nonpayable", 227 | "type": "function" 228 | }, 229 | { 230 | "inputs": [ 231 | { 232 | "internalType": "address", 233 | "name": "from", 234 | "type": "address" 235 | }, 236 | { 237 | "internalType": "address", 238 | "name": "to", 239 | "type": "address" 240 | }, 241 | { 242 | "internalType": "uint256", 243 | "name": "tokenId", 244 | "type": "uint256" 245 | }, 246 | { 247 | "internalType": "bytes", 248 | "name": "_data", 249 | "type": "bytes" 250 | } 251 | ], 252 | "name": "safeTransferFrom", 253 | "outputs": [], 254 | "stateMutability": "nonpayable", 255 | "type": "function" 256 | }, 257 | { 258 | "inputs": [ 259 | { 260 | "internalType": "address", 261 | "name": "operator", 262 | "type": "address" 263 | }, 264 | { 265 | "internalType": "bool", 266 | "name": "approved", 267 | "type": "bool" 268 | } 269 | ], 270 | "name": "setApprovalForAll", 271 | "outputs": [], 272 | "stateMutability": "nonpayable", 273 | "type": "function" 274 | }, 275 | { 276 | "inputs": [ 277 | { 278 | "internalType": "bytes4", 279 | "name": "interfaceId", 280 | "type": "bytes4" 281 | } 282 | ], 283 | "name": "supportsInterface", 284 | "outputs": [ 285 | { 286 | "internalType": "bool", 287 | "name": "", 288 | "type": "bool" 289 | } 290 | ], 291 | "stateMutability": "view", 292 | "type": "function" 293 | }, 294 | { 295 | "inputs": [], 296 | "name": "symbol", 297 | "outputs": [ 298 | { 299 | "internalType": "string", 300 | "name": "", 301 | "type": "string" 302 | } 303 | ], 304 | "stateMutability": "view", 305 | "type": "function" 306 | }, 307 | { 308 | "inputs": [ 309 | { 310 | "internalType": "uint256", 311 | "name": "tokenId", 312 | "type": "uint256" 313 | } 314 | ], 315 | "name": "tokenURI", 316 | "outputs": [ 317 | { 318 | "internalType": "string", 319 | "name": "", 320 | "type": "string" 321 | } 322 | ], 323 | "stateMutability": "view", 324 | "type": "function" 325 | }, 326 | { 327 | "inputs": [ 328 | { 329 | "internalType": "address", 330 | "name": "from", 331 | "type": "address" 332 | }, 333 | { 334 | "internalType": "address", 335 | "name": "to", 336 | "type": "address" 337 | }, 338 | { 339 | "internalType": "uint256", 340 | "name": "tokenId", 341 | "type": "uint256" 342 | } 343 | ], 344 | "name": "transferFrom", 345 | "outputs": [], 346 | "stateMutability": "nonpayable", 347 | "type": "function" 348 | } 349 | ], 350 | "bytecode": "0x", 351 | "deployedBytecode": "0x", 352 | "linkReferences": {}, 353 | "deployedLinkReferences": {} 354 | } 355 | -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/IERC721Enumerable.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "IERC721Enumerable", 4 | "sourceName": "contracts/NFTBatchMinting.sol", 5 | "abi": [ 6 | { 7 | "anonymous": false, 8 | "inputs": [ 9 | { 10 | "indexed": true, 11 | "internalType": "address", 12 | "name": "owner", 13 | "type": "address" 14 | }, 15 | { 16 | "indexed": true, 17 | "internalType": "address", 18 | "name": "approved", 19 | "type": "address" 20 | }, 21 | { 22 | "indexed": true, 23 | "internalType": "uint256", 24 | "name": "tokenId", 25 | "type": "uint256" 26 | } 27 | ], 28 | "name": "Approval", 29 | "type": "event" 30 | }, 31 | { 32 | "anonymous": false, 33 | "inputs": [ 34 | { 35 | "indexed": true, 36 | "internalType": "address", 37 | "name": "owner", 38 | "type": "address" 39 | }, 40 | { 41 | "indexed": true, 42 | "internalType": "address", 43 | "name": "operator", 44 | "type": "address" 45 | }, 46 | { 47 | "indexed": false, 48 | "internalType": "bool", 49 | "name": "approved", 50 | "type": "bool" 51 | } 52 | ], 53 | "name": "ApprovalForAll", 54 | "type": "event" 55 | }, 56 | { 57 | "anonymous": false, 58 | "inputs": [ 59 | { 60 | "indexed": true, 61 | "internalType": "address", 62 | "name": "from", 63 | "type": "address" 64 | }, 65 | { 66 | "indexed": true, 67 | "internalType": "address", 68 | "name": "to", 69 | "type": "address" 70 | }, 71 | { 72 | "indexed": true, 73 | "internalType": "uint256", 74 | "name": "tokenId", 75 | "type": "uint256" 76 | } 77 | ], 78 | "name": "Transfer", 79 | "type": "event" 80 | }, 81 | { 82 | "inputs": [ 83 | { 84 | "internalType": "address", 85 | "name": "to", 86 | "type": "address" 87 | }, 88 | { 89 | "internalType": "uint256", 90 | "name": "tokenId", 91 | "type": "uint256" 92 | } 93 | ], 94 | "name": "approve", 95 | "outputs": [], 96 | "stateMutability": "nonpayable", 97 | "type": "function" 98 | }, 99 | { 100 | "inputs": [ 101 | { 102 | "internalType": "address", 103 | "name": "owner", 104 | "type": "address" 105 | } 106 | ], 107 | "name": "balanceOf", 108 | "outputs": [ 109 | { 110 | "internalType": "uint256", 111 | "name": "balance", 112 | "type": "uint256" 113 | } 114 | ], 115 | "stateMutability": "view", 116 | "type": "function" 117 | }, 118 | { 119 | "inputs": [ 120 | { 121 | "internalType": "uint256", 122 | "name": "tokenId", 123 | "type": "uint256" 124 | } 125 | ], 126 | "name": "getApproved", 127 | "outputs": [ 128 | { 129 | "internalType": "address", 130 | "name": "operator", 131 | "type": "address" 132 | } 133 | ], 134 | "stateMutability": "view", 135 | "type": "function" 136 | }, 137 | { 138 | "inputs": [ 139 | { 140 | "internalType": "address", 141 | "name": "owner", 142 | "type": "address" 143 | }, 144 | { 145 | "internalType": "address", 146 | "name": "operator", 147 | "type": "address" 148 | } 149 | ], 150 | "name": "isApprovedForAll", 151 | "outputs": [ 152 | { 153 | "internalType": "bool", 154 | "name": "", 155 | "type": "bool" 156 | } 157 | ], 158 | "stateMutability": "view", 159 | "type": "function" 160 | }, 161 | { 162 | "inputs": [ 163 | { 164 | "internalType": "uint256", 165 | "name": "tokenId", 166 | "type": "uint256" 167 | } 168 | ], 169 | "name": "ownerOf", 170 | "outputs": [ 171 | { 172 | "internalType": "address", 173 | "name": "owner", 174 | "type": "address" 175 | } 176 | ], 177 | "stateMutability": "view", 178 | "type": "function" 179 | }, 180 | { 181 | "inputs": [ 182 | { 183 | "internalType": "address", 184 | "name": "from", 185 | "type": "address" 186 | }, 187 | { 188 | "internalType": "address", 189 | "name": "to", 190 | "type": "address" 191 | }, 192 | { 193 | "internalType": "uint256", 194 | "name": "tokenId", 195 | "type": "uint256" 196 | } 197 | ], 198 | "name": "safeTransferFrom", 199 | "outputs": [], 200 | "stateMutability": "nonpayable", 201 | "type": "function" 202 | }, 203 | { 204 | "inputs": [ 205 | { 206 | "internalType": "address", 207 | "name": "from", 208 | "type": "address" 209 | }, 210 | { 211 | "internalType": "address", 212 | "name": "to", 213 | "type": "address" 214 | }, 215 | { 216 | "internalType": "uint256", 217 | "name": "tokenId", 218 | "type": "uint256" 219 | }, 220 | { 221 | "internalType": "bytes", 222 | "name": "data", 223 | "type": "bytes" 224 | } 225 | ], 226 | "name": "safeTransferFrom", 227 | "outputs": [], 228 | "stateMutability": "nonpayable", 229 | "type": "function" 230 | }, 231 | { 232 | "inputs": [ 233 | { 234 | "internalType": "address", 235 | "name": "operator", 236 | "type": "address" 237 | }, 238 | { 239 | "internalType": "bool", 240 | "name": "_approved", 241 | "type": "bool" 242 | } 243 | ], 244 | "name": "setApprovalForAll", 245 | "outputs": [], 246 | "stateMutability": "nonpayable", 247 | "type": "function" 248 | }, 249 | { 250 | "inputs": [ 251 | { 252 | "internalType": "bytes4", 253 | "name": "interfaceId", 254 | "type": "bytes4" 255 | } 256 | ], 257 | "name": "supportsInterface", 258 | "outputs": [ 259 | { 260 | "internalType": "bool", 261 | "name": "", 262 | "type": "bool" 263 | } 264 | ], 265 | "stateMutability": "view", 266 | "type": "function" 267 | }, 268 | { 269 | "inputs": [ 270 | { 271 | "internalType": "uint256", 272 | "name": "index", 273 | "type": "uint256" 274 | } 275 | ], 276 | "name": "tokenByIndex", 277 | "outputs": [ 278 | { 279 | "internalType": "uint256", 280 | "name": "", 281 | "type": "uint256" 282 | } 283 | ], 284 | "stateMutability": "view", 285 | "type": "function" 286 | }, 287 | { 288 | "inputs": [ 289 | { 290 | "internalType": "address", 291 | "name": "owner", 292 | "type": "address" 293 | }, 294 | { 295 | "internalType": "uint256", 296 | "name": "index", 297 | "type": "uint256" 298 | } 299 | ], 300 | "name": "tokenOfOwnerByIndex", 301 | "outputs": [ 302 | { 303 | "internalType": "uint256", 304 | "name": "", 305 | "type": "uint256" 306 | } 307 | ], 308 | "stateMutability": "view", 309 | "type": "function" 310 | }, 311 | { 312 | "inputs": [], 313 | "name": "totalSupply", 314 | "outputs": [ 315 | { 316 | "internalType": "uint256", 317 | "name": "", 318 | "type": "uint256" 319 | } 320 | ], 321 | "stateMutability": "view", 322 | "type": "function" 323 | }, 324 | { 325 | "inputs": [ 326 | { 327 | "internalType": "address", 328 | "name": "from", 329 | "type": "address" 330 | }, 331 | { 332 | "internalType": "address", 333 | "name": "to", 334 | "type": "address" 335 | }, 336 | { 337 | "internalType": "uint256", 338 | "name": "tokenId", 339 | "type": "uint256" 340 | } 341 | ], 342 | "name": "transferFrom", 343 | "outputs": [], 344 | "stateMutability": "nonpayable", 345 | "type": "function" 346 | } 347 | ], 348 | "bytecode": "0x", 349 | "deployedBytecode": "0x", 350 | "linkReferences": {}, 351 | "deployedLinkReferences": {} 352 | } 353 | -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/ERC721Enumerable.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "ERC721Enumerable", 4 | "sourceName": "contracts/NFTBatchMinting.sol", 5 | "abi": [ 6 | { 7 | "anonymous": false, 8 | "inputs": [ 9 | { 10 | "indexed": true, 11 | "internalType": "address", 12 | "name": "owner", 13 | "type": "address" 14 | }, 15 | { 16 | "indexed": true, 17 | "internalType": "address", 18 | "name": "approved", 19 | "type": "address" 20 | }, 21 | { 22 | "indexed": true, 23 | "internalType": "uint256", 24 | "name": "tokenId", 25 | "type": "uint256" 26 | } 27 | ], 28 | "name": "Approval", 29 | "type": "event" 30 | }, 31 | { 32 | "anonymous": false, 33 | "inputs": [ 34 | { 35 | "indexed": true, 36 | "internalType": "address", 37 | "name": "owner", 38 | "type": "address" 39 | }, 40 | { 41 | "indexed": true, 42 | "internalType": "address", 43 | "name": "operator", 44 | "type": "address" 45 | }, 46 | { 47 | "indexed": false, 48 | "internalType": "bool", 49 | "name": "approved", 50 | "type": "bool" 51 | } 52 | ], 53 | "name": "ApprovalForAll", 54 | "type": "event" 55 | }, 56 | { 57 | "anonymous": false, 58 | "inputs": [ 59 | { 60 | "indexed": true, 61 | "internalType": "address", 62 | "name": "from", 63 | "type": "address" 64 | }, 65 | { 66 | "indexed": true, 67 | "internalType": "address", 68 | "name": "to", 69 | "type": "address" 70 | }, 71 | { 72 | "indexed": true, 73 | "internalType": "uint256", 74 | "name": "tokenId", 75 | "type": "uint256" 76 | } 77 | ], 78 | "name": "Transfer", 79 | "type": "event" 80 | }, 81 | { 82 | "inputs": [ 83 | { 84 | "internalType": "address", 85 | "name": "to", 86 | "type": "address" 87 | }, 88 | { 89 | "internalType": "uint256", 90 | "name": "tokenId", 91 | "type": "uint256" 92 | } 93 | ], 94 | "name": "approve", 95 | "outputs": [], 96 | "stateMutability": "nonpayable", 97 | "type": "function" 98 | }, 99 | { 100 | "inputs": [ 101 | { 102 | "internalType": "address", 103 | "name": "owner", 104 | "type": "address" 105 | } 106 | ], 107 | "name": "balanceOf", 108 | "outputs": [ 109 | { 110 | "internalType": "uint256", 111 | "name": "", 112 | "type": "uint256" 113 | } 114 | ], 115 | "stateMutability": "view", 116 | "type": "function" 117 | }, 118 | { 119 | "inputs": [ 120 | { 121 | "internalType": "uint256", 122 | "name": "tokenId", 123 | "type": "uint256" 124 | } 125 | ], 126 | "name": "getApproved", 127 | "outputs": [ 128 | { 129 | "internalType": "address", 130 | "name": "", 131 | "type": "address" 132 | } 133 | ], 134 | "stateMutability": "view", 135 | "type": "function" 136 | }, 137 | { 138 | "inputs": [ 139 | { 140 | "internalType": "address", 141 | "name": "owner", 142 | "type": "address" 143 | }, 144 | { 145 | "internalType": "address", 146 | "name": "operator", 147 | "type": "address" 148 | } 149 | ], 150 | "name": "isApprovedForAll", 151 | "outputs": [ 152 | { 153 | "internalType": "bool", 154 | "name": "", 155 | "type": "bool" 156 | } 157 | ], 158 | "stateMutability": "view", 159 | "type": "function" 160 | }, 161 | { 162 | "inputs": [], 163 | "name": "name", 164 | "outputs": [ 165 | { 166 | "internalType": "string", 167 | "name": "", 168 | "type": "string" 169 | } 170 | ], 171 | "stateMutability": "view", 172 | "type": "function" 173 | }, 174 | { 175 | "inputs": [ 176 | { 177 | "internalType": "uint256", 178 | "name": "tokenId", 179 | "type": "uint256" 180 | } 181 | ], 182 | "name": "ownerOf", 183 | "outputs": [ 184 | { 185 | "internalType": "address", 186 | "name": "", 187 | "type": "address" 188 | } 189 | ], 190 | "stateMutability": "view", 191 | "type": "function" 192 | }, 193 | { 194 | "inputs": [ 195 | { 196 | "internalType": "address", 197 | "name": "from", 198 | "type": "address" 199 | }, 200 | { 201 | "internalType": "address", 202 | "name": "to", 203 | "type": "address" 204 | }, 205 | { 206 | "internalType": "uint256", 207 | "name": "tokenId", 208 | "type": "uint256" 209 | } 210 | ], 211 | "name": "safeTransferFrom", 212 | "outputs": [], 213 | "stateMutability": "nonpayable", 214 | "type": "function" 215 | }, 216 | { 217 | "inputs": [ 218 | { 219 | "internalType": "address", 220 | "name": "from", 221 | "type": "address" 222 | }, 223 | { 224 | "internalType": "address", 225 | "name": "to", 226 | "type": "address" 227 | }, 228 | { 229 | "internalType": "uint256", 230 | "name": "tokenId", 231 | "type": "uint256" 232 | }, 233 | { 234 | "internalType": "bytes", 235 | "name": "_data", 236 | "type": "bytes" 237 | } 238 | ], 239 | "name": "safeTransferFrom", 240 | "outputs": [], 241 | "stateMutability": "nonpayable", 242 | "type": "function" 243 | }, 244 | { 245 | "inputs": [ 246 | { 247 | "internalType": "address", 248 | "name": "operator", 249 | "type": "address" 250 | }, 251 | { 252 | "internalType": "bool", 253 | "name": "approved", 254 | "type": "bool" 255 | } 256 | ], 257 | "name": "setApprovalForAll", 258 | "outputs": [], 259 | "stateMutability": "nonpayable", 260 | "type": "function" 261 | }, 262 | { 263 | "inputs": [ 264 | { 265 | "internalType": "bytes4", 266 | "name": "interfaceId", 267 | "type": "bytes4" 268 | } 269 | ], 270 | "name": "supportsInterface", 271 | "outputs": [ 272 | { 273 | "internalType": "bool", 274 | "name": "", 275 | "type": "bool" 276 | } 277 | ], 278 | "stateMutability": "view", 279 | "type": "function" 280 | }, 281 | { 282 | "inputs": [], 283 | "name": "symbol", 284 | "outputs": [ 285 | { 286 | "internalType": "string", 287 | "name": "", 288 | "type": "string" 289 | } 290 | ], 291 | "stateMutability": "view", 292 | "type": "function" 293 | }, 294 | { 295 | "inputs": [ 296 | { 297 | "internalType": "uint256", 298 | "name": "index", 299 | "type": "uint256" 300 | } 301 | ], 302 | "name": "tokenByIndex", 303 | "outputs": [ 304 | { 305 | "internalType": "uint256", 306 | "name": "", 307 | "type": "uint256" 308 | } 309 | ], 310 | "stateMutability": "view", 311 | "type": "function" 312 | }, 313 | { 314 | "inputs": [ 315 | { 316 | "internalType": "address", 317 | "name": "owner", 318 | "type": "address" 319 | }, 320 | { 321 | "internalType": "uint256", 322 | "name": "index", 323 | "type": "uint256" 324 | } 325 | ], 326 | "name": "tokenOfOwnerByIndex", 327 | "outputs": [ 328 | { 329 | "internalType": "uint256", 330 | "name": "", 331 | "type": "uint256" 332 | } 333 | ], 334 | "stateMutability": "view", 335 | "type": "function" 336 | }, 337 | { 338 | "inputs": [ 339 | { 340 | "internalType": "uint256", 341 | "name": "tokenId", 342 | "type": "uint256" 343 | } 344 | ], 345 | "name": "tokenURI", 346 | "outputs": [ 347 | { 348 | "internalType": "string", 349 | "name": "", 350 | "type": "string" 351 | } 352 | ], 353 | "stateMutability": "view", 354 | "type": "function" 355 | }, 356 | { 357 | "inputs": [], 358 | "name": "totalSupply", 359 | "outputs": [ 360 | { 361 | "internalType": "uint256", 362 | "name": "", 363 | "type": "uint256" 364 | } 365 | ], 366 | "stateMutability": "view", 367 | "type": "function" 368 | }, 369 | { 370 | "inputs": [ 371 | { 372 | "internalType": "address", 373 | "name": "from", 374 | "type": "address" 375 | }, 376 | { 377 | "internalType": "address", 378 | "name": "to", 379 | "type": "address" 380 | }, 381 | { 382 | "internalType": "uint256", 383 | "name": "tokenId", 384 | "type": "uint256" 385 | } 386 | ], 387 | "name": "transferFrom", 388 | "outputs": [], 389 | "stateMutability": "nonpayable", 390 | "type": "function" 391 | } 392 | ], 393 | "bytecode": "0x", 394 | "deployedBytecode": "0x", 395 | "linkReferences": {}, 396 | "deployedLinkReferences": {} 397 | } 398 | -------------------------------------------------------------------------------- /cache/solidity-files-cache.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-cache-2", 3 | "files": { 4 | "E:\\work\\22-12-16-mediaNFT\\work\\new\\smart_contract\\contracts\\factoryNFT.sol": { 5 | "lastModificationDate": 1671418389632, 6 | "contentHash": "10192e3eb4f7c41a61456643f8a9edd5", 7 | "sourceName": "contracts/factoryNFT.sol", 8 | "solcConfig": { 9 | "version": "0.8.17", 10 | "settings": { 11 | "optimizer": { 12 | "enabled": false, 13 | "runs": 200 14 | }, 15 | "outputSelection": { 16 | "*": { 17 | "*": [ 18 | "abi", 19 | "evm.bytecode", 20 | "evm.deployedBytecode", 21 | "evm.methodIdentifiers", 22 | "metadata" 23 | ], 24 | "": [ 25 | "ast" 26 | ] 27 | } 28 | } 29 | } 30 | }, 31 | "imports": [ 32 | "@openzeppelin/contracts/utils/Counters.sol", 33 | "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol", 34 | "@openzeppelin/contracts/token/ERC721/ERC721.sol" 35 | ], 36 | "versionPragmas": [ 37 | "^0.8.3" 38 | ], 39 | "artifacts": [ 40 | "FactoryNFT" 41 | ] 42 | }, 43 | "E:\\work\\22-12-16-mediaNFT\\work\\new\\smart_contract\\node_modules\\@openzeppelin\\contracts\\token\\ERC721\\extensions\\ERC721URIStorage.sol": { 44 | "lastModificationDate": 1671410818379, 45 | "contentHash": "8af32effd0536e2971ff8496812a5016", 46 | "sourceName": "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol", 47 | "solcConfig": { 48 | "version": "0.8.17", 49 | "settings": { 50 | "optimizer": { 51 | "enabled": false, 52 | "runs": 200 53 | }, 54 | "outputSelection": { 55 | "*": { 56 | "*": [ 57 | "abi", 58 | "evm.bytecode", 59 | "evm.deployedBytecode", 60 | "evm.methodIdentifiers", 61 | "metadata" 62 | ], 63 | "": [ 64 | "ast" 65 | ] 66 | } 67 | } 68 | } 69 | }, 70 | "imports": [ 71 | "../ERC721.sol" 72 | ], 73 | "versionPragmas": [ 74 | "^0.8.0" 75 | ], 76 | "artifacts": [ 77 | "ERC721URIStorage" 78 | ] 79 | }, 80 | "E:\\work\\22-12-16-mediaNFT\\work\\new\\smart_contract\\node_modules\\@openzeppelin\\contracts\\token\\ERC721\\ERC721.sol": { 81 | "lastModificationDate": 1671410818074, 82 | "contentHash": "190f627b9302b9602d3a313e28205cc5", 83 | "sourceName": "@openzeppelin/contracts/token/ERC721/ERC721.sol", 84 | "solcConfig": { 85 | "version": "0.8.17", 86 | "settings": { 87 | "optimizer": { 88 | "enabled": false, 89 | "runs": 200 90 | }, 91 | "outputSelection": { 92 | "*": { 93 | "*": [ 94 | "abi", 95 | "evm.bytecode", 96 | "evm.deployedBytecode", 97 | "evm.methodIdentifiers", 98 | "metadata" 99 | ], 100 | "": [ 101 | "ast" 102 | ] 103 | } 104 | } 105 | } 106 | }, 107 | "imports": [ 108 | "./IERC721.sol", 109 | "./IERC721Receiver.sol", 110 | "./extensions/IERC721Metadata.sol", 111 | "../../utils/Address.sol", 112 | "../../utils/Context.sol", 113 | "../../utils/Strings.sol", 114 | "../../utils/introspection/ERC165.sol" 115 | ], 116 | "versionPragmas": [ 117 | "^0.8.0" 118 | ], 119 | "artifacts": [ 120 | "ERC721" 121 | ] 122 | }, 123 | "E:\\work\\22-12-16-mediaNFT\\work\\new\\smart_contract\\node_modules\\@openzeppelin\\contracts\\utils\\Counters.sol": { 124 | "lastModificationDate": 1671410817574, 125 | "contentHash": "74654e3ae5d7f39555055dfe244dab7a", 126 | "sourceName": "@openzeppelin/contracts/utils/Counters.sol", 127 | "solcConfig": { 128 | "version": "0.8.17", 129 | "settings": { 130 | "optimizer": { 131 | "enabled": false, 132 | "runs": 200 133 | }, 134 | "outputSelection": { 135 | "*": { 136 | "*": [ 137 | "abi", 138 | "evm.bytecode", 139 | "evm.deployedBytecode", 140 | "evm.methodIdentifiers", 141 | "metadata" 142 | ], 143 | "": [ 144 | "ast" 145 | ] 146 | } 147 | } 148 | } 149 | }, 150 | "imports": [], 151 | "versionPragmas": [ 152 | "^0.8.0" 153 | ], 154 | "artifacts": [ 155 | "Counters" 156 | ] 157 | }, 158 | "E:\\work\\22-12-16-mediaNFT\\work\\new\\smart_contract\\node_modules\\@openzeppelin\\contracts\\utils\\Context.sol": { 159 | "lastModificationDate": 1671410817573, 160 | "contentHash": "5f2c5c4b6af2dd4551027144797bc8be", 161 | "sourceName": "@openzeppelin/contracts/utils/Context.sol", 162 | "solcConfig": { 163 | "version": "0.8.17", 164 | "settings": { 165 | "optimizer": { 166 | "enabled": false, 167 | "runs": 200 168 | }, 169 | "outputSelection": { 170 | "*": { 171 | "*": [ 172 | "abi", 173 | "evm.bytecode", 174 | "evm.deployedBytecode", 175 | "evm.methodIdentifiers", 176 | "metadata" 177 | ], 178 | "": [ 179 | "ast" 180 | ] 181 | } 182 | } 183 | } 184 | }, 185 | "imports": [], 186 | "versionPragmas": [ 187 | "^0.8.0" 188 | ], 189 | "artifacts": [ 190 | "Context" 191 | ] 192 | }, 193 | "E:\\work\\22-12-16-mediaNFT\\work\\new\\smart_contract\\node_modules\\@openzeppelin\\contracts\\utils\\Address.sol": { 194 | "lastModificationDate": 1671410817053, 195 | "contentHash": "f31ad6fc4bbf9c06203987220156a6ba", 196 | "sourceName": "@openzeppelin/contracts/utils/Address.sol", 197 | "solcConfig": { 198 | "version": "0.8.17", 199 | "settings": { 200 | "optimizer": { 201 | "enabled": false, 202 | "runs": 200 203 | }, 204 | "outputSelection": { 205 | "*": { 206 | "*": [ 207 | "abi", 208 | "evm.bytecode", 209 | "evm.deployedBytecode", 210 | "evm.methodIdentifiers", 211 | "metadata" 212 | ], 213 | "": [ 214 | "ast" 215 | ] 216 | } 217 | } 218 | } 219 | }, 220 | "imports": [], 221 | "versionPragmas": [ 222 | "^0.8.1" 223 | ], 224 | "artifacts": [ 225 | "Address" 226 | ] 227 | }, 228 | "E:\\work\\22-12-16-mediaNFT\\work\\new\\smart_contract\\node_modules\\@openzeppelin\\contracts\\utils\\Strings.sol": { 229 | "lastModificationDate": 1671410819132, 230 | "contentHash": "396031251978f8febfd90cb62cb240ec", 231 | "sourceName": "@openzeppelin/contracts/utils/Strings.sol", 232 | "solcConfig": { 233 | "version": "0.8.17", 234 | "settings": { 235 | "optimizer": { 236 | "enabled": false, 237 | "runs": 200 238 | }, 239 | "outputSelection": { 240 | "*": { 241 | "*": [ 242 | "abi", 243 | "evm.bytecode", 244 | "evm.deployedBytecode", 245 | "evm.methodIdentifiers", 246 | "metadata" 247 | ], 248 | "": [ 249 | "ast" 250 | ] 251 | } 252 | } 253 | } 254 | }, 255 | "imports": [ 256 | "./math/Math.sol" 257 | ], 258 | "versionPragmas": [ 259 | "^0.8.0" 260 | ], 261 | "artifacts": [ 262 | "Strings" 263 | ] 264 | }, 265 | "E:\\work\\22-12-16-mediaNFT\\work\\new\\smart_contract\\node_modules\\@openzeppelin\\contracts\\utils\\introspection\\ERC165.sol": { 266 | "lastModificationDate": 1671410817671, 267 | "contentHash": "0e7db055ce108f9da7bb6686a00287c0", 268 | "sourceName": "@openzeppelin/contracts/utils/introspection/ERC165.sol", 269 | "solcConfig": { 270 | "version": "0.8.17", 271 | "settings": { 272 | "optimizer": { 273 | "enabled": false, 274 | "runs": 200 275 | }, 276 | "outputSelection": { 277 | "*": { 278 | "*": [ 279 | "abi", 280 | "evm.bytecode", 281 | "evm.deployedBytecode", 282 | "evm.methodIdentifiers", 283 | "metadata" 284 | ], 285 | "": [ 286 | "ast" 287 | ] 288 | } 289 | } 290 | } 291 | }, 292 | "imports": [ 293 | "./IERC165.sol" 294 | ], 295 | "versionPragmas": [ 296 | "^0.8.0" 297 | ], 298 | "artifacts": [ 299 | "ERC165" 300 | ] 301 | }, 302 | "E:\\work\\22-12-16-mediaNFT\\work\\new\\smart_contract\\node_modules\\@openzeppelin\\contracts\\token\\ERC721\\IERC721.sol": { 303 | "lastModificationDate": 1671410818523, 304 | "contentHash": "eb7e61db29f31d88b3c1cef1b063d338", 305 | "sourceName": "@openzeppelin/contracts/token/ERC721/IERC721.sol", 306 | "solcConfig": { 307 | "version": "0.8.17", 308 | "settings": { 309 | "optimizer": { 310 | "enabled": false, 311 | "runs": 200 312 | }, 313 | "outputSelection": { 314 | "*": { 315 | "*": [ 316 | "abi", 317 | "evm.bytecode", 318 | "evm.deployedBytecode", 319 | "evm.methodIdentifiers", 320 | "metadata" 321 | ], 322 | "": [ 323 | "ast" 324 | ] 325 | } 326 | } 327 | } 328 | }, 329 | "imports": [ 330 | "../../utils/introspection/IERC165.sol" 331 | ], 332 | "versionPragmas": [ 333 | "^0.8.0" 334 | ], 335 | "artifacts": [ 336 | "IERC721" 337 | ] 338 | }, 339 | "E:\\work\\22-12-16-mediaNFT\\work\\new\\smart_contract\\node_modules\\@openzeppelin\\contracts\\token\\ERC721\\IERC721Receiver.sol": { 340 | "lastModificationDate": 1671410818531, 341 | "contentHash": "c22d4395e33763de693fd440c6fd10e1", 342 | "sourceName": "@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol", 343 | "solcConfig": { 344 | "version": "0.8.17", 345 | "settings": { 346 | "optimizer": { 347 | "enabled": false, 348 | "runs": 200 349 | }, 350 | "outputSelection": { 351 | "*": { 352 | "*": [ 353 | "abi", 354 | "evm.bytecode", 355 | "evm.deployedBytecode", 356 | "evm.methodIdentifiers", 357 | "metadata" 358 | ], 359 | "": [ 360 | "ast" 361 | ] 362 | } 363 | } 364 | } 365 | }, 366 | "imports": [], 367 | "versionPragmas": [ 368 | "^0.8.0" 369 | ], 370 | "artifacts": [ 371 | "IERC721Receiver" 372 | ] 373 | }, 374 | "E:\\work\\22-12-16-mediaNFT\\work\\new\\smart_contract\\node_modules\\@openzeppelin\\contracts\\token\\ERC721\\extensions\\IERC721Metadata.sol": { 375 | "lastModificationDate": 1671410818528, 376 | "contentHash": "efbc0d15b80a74e34dbe8da0f3e879bb", 377 | "sourceName": "@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol", 378 | "solcConfig": { 379 | "version": "0.8.17", 380 | "settings": { 381 | "optimizer": { 382 | "enabled": false, 383 | "runs": 200 384 | }, 385 | "outputSelection": { 386 | "*": { 387 | "*": [ 388 | "abi", 389 | "evm.bytecode", 390 | "evm.deployedBytecode", 391 | "evm.methodIdentifiers", 392 | "metadata" 393 | ], 394 | "": [ 395 | "ast" 396 | ] 397 | } 398 | } 399 | } 400 | }, 401 | "imports": [ 402 | "../IERC721.sol" 403 | ], 404 | "versionPragmas": [ 405 | "^0.8.0" 406 | ], 407 | "artifacts": [ 408 | "IERC721Metadata" 409 | ] 410 | }, 411 | "E:\\work\\22-12-16-mediaNFT\\work\\new\\smart_contract\\node_modules\\@openzeppelin\\contracts\\utils\\math\\Math.sol": { 412 | "lastModificationDate": 1671410819085, 413 | "contentHash": "b9c58920ce74d6dc819161786112e7ee", 414 | "sourceName": "@openzeppelin/contracts/utils/math/Math.sol", 415 | "solcConfig": { 416 | "version": "0.8.17", 417 | "settings": { 418 | "optimizer": { 419 | "enabled": false, 420 | "runs": 200 421 | }, 422 | "outputSelection": { 423 | "*": { 424 | "*": [ 425 | "abi", 426 | "evm.bytecode", 427 | "evm.deployedBytecode", 428 | "evm.methodIdentifiers", 429 | "metadata" 430 | ], 431 | "": [ 432 | "ast" 433 | ] 434 | } 435 | } 436 | } 437 | }, 438 | "imports": [], 439 | "versionPragmas": [ 440 | "^0.8.0" 441 | ], 442 | "artifacts": [ 443 | "Math" 444 | ] 445 | }, 446 | "E:\\work\\22-12-16-mediaNFT\\work\\new\\smart_contract\\node_modules\\@openzeppelin\\contracts\\utils\\introspection\\IERC165.sol": { 447 | "lastModificationDate": 1671410818502, 448 | "contentHash": "03e6768535ac4da0e9756f1d8a4a018a", 449 | "sourceName": "@openzeppelin/contracts/utils/introspection/IERC165.sol", 450 | "solcConfig": { 451 | "version": "0.8.17", 452 | "settings": { 453 | "optimizer": { 454 | "enabled": false, 455 | "runs": 200 456 | }, 457 | "outputSelection": { 458 | "*": { 459 | "*": [ 460 | "abi", 461 | "evm.bytecode", 462 | "evm.deployedBytecode", 463 | "evm.methodIdentifiers", 464 | "metadata" 465 | ], 466 | "": [ 467 | "ast" 468 | ] 469 | } 470 | } 471 | } 472 | }, 473 | "imports": [], 474 | "versionPragmas": [ 475 | "^0.8.0" 476 | ], 477 | "artifacts": [ 478 | "IERC165" 479 | ] 480 | }, 481 | "E:\\work\\22-12-16-mediaNFT\\work\\new\\smart_contract\\contracts\\NFTBatchMinting.sol": { 482 | "lastModificationDate": 1671434481983, 483 | "contentHash": "9da8af08b585b7f0c353a5aa34d8eaf0", 484 | "sourceName": "contracts/NFTBatchMinting.sol", 485 | "solcConfig": { 486 | "version": "0.8.17", 487 | "settings": { 488 | "optimizer": { 489 | "enabled": false, 490 | "runs": 200 491 | }, 492 | "outputSelection": { 493 | "*": { 494 | "*": [ 495 | "abi", 496 | "evm.bytecode", 497 | "evm.deployedBytecode", 498 | "evm.methodIdentifiers", 499 | "metadata" 500 | ], 501 | "": [ 502 | "ast" 503 | ] 504 | } 505 | } 506 | } 507 | }, 508 | "imports": [], 509 | "versionPragmas": [ 510 | "^0.8.0", 511 | "^0.8.0", 512 | "^0.8.0", 513 | "^0.8.0", 514 | "^0.8.0", 515 | "^0.8.1", 516 | "^0.8.0", 517 | "^0.8.0", 518 | "^0.8.0", 519 | "^0.8.0", 520 | "^0.8.0", 521 | "^0.8.0", 522 | "^0.8.0", 523 | "^0.8.0", 524 | "^0.8.0", 525 | "^0.8.0", 526 | "^0.8.16" 527 | ], 528 | "artifacts": [ 529 | "Address", 530 | "Context", 531 | "Counters", 532 | "ERC165", 533 | "ERC721", 534 | "ERC721Burnable", 535 | "ERC721Enumerable", 536 | "ERC721URIStorage", 537 | "IERC165", 538 | "IERC721", 539 | "IERC721Enumerable", 540 | "IERC721Metadata", 541 | "IERC721Receiver", 542 | "NFTBatchMinting", 543 | "Ownable", 544 | "Pausable", 545 | "Strings" 546 | ] 547 | } 548 | } 549 | } 550 | -------------------------------------------------------------------------------- /artifacts/contracts/NFTBatchMinting.sol/NFTBatchMinting.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "inputs": [ 4 | { 5 | "internalType": "string", 6 | "name": "_name", 7 | "type": "string" 8 | }, 9 | { 10 | "internalType": "string", 11 | "name": "_symbol", 12 | "type": "string" 13 | } 14 | ], 15 | "stateMutability": "nonpayable", 16 | "type": "constructor" 17 | }, 18 | { 19 | "anonymous": false, 20 | "inputs": [ 21 | { 22 | "indexed": true, 23 | "internalType": "address", 24 | "name": "owner", 25 | "type": "address" 26 | }, 27 | { 28 | "indexed": true, 29 | "internalType": "address", 30 | "name": "approved", 31 | "type": "address" 32 | }, 33 | { 34 | "indexed": true, 35 | "internalType": "uint256", 36 | "name": "tokenId", 37 | "type": "uint256" 38 | } 39 | ], 40 | "name": "Approval", 41 | "type": "event" 42 | }, 43 | { 44 | "anonymous": false, 45 | "inputs": [ 46 | { 47 | "indexed": true, 48 | "internalType": "address", 49 | "name": "owner", 50 | "type": "address" 51 | }, 52 | { 53 | "indexed": true, 54 | "internalType": "address", 55 | "name": "operator", 56 | "type": "address" 57 | }, 58 | { 59 | "indexed": false, 60 | "internalType": "bool", 61 | "name": "approved", 62 | "type": "bool" 63 | } 64 | ], 65 | "name": "ApprovalForAll", 66 | "type": "event" 67 | }, 68 | { 69 | "anonymous": false, 70 | "inputs": [ 71 | { 72 | "indexed": true, 73 | "internalType": "address", 74 | "name": "previousOwner", 75 | "type": "address" 76 | }, 77 | { 78 | "indexed": true, 79 | "internalType": "address", 80 | "name": "newOwner", 81 | "type": "address" 82 | } 83 | ], 84 | "name": "OwnershipTransferred", 85 | "type": "event" 86 | }, 87 | { 88 | "anonymous": false, 89 | "inputs": [ 90 | { 91 | "indexed": false, 92 | "internalType": "address", 93 | "name": "account", 94 | "type": "address" 95 | } 96 | ], 97 | "name": "Paused", 98 | "type": "event" 99 | }, 100 | { 101 | "anonymous": false, 102 | "inputs": [ 103 | { 104 | "indexed": true, 105 | "internalType": "address", 106 | "name": "from", 107 | "type": "address" 108 | }, 109 | { 110 | "indexed": true, 111 | "internalType": "address", 112 | "name": "to", 113 | "type": "address" 114 | }, 115 | { 116 | "indexed": true, 117 | "internalType": "uint256", 118 | "name": "tokenId", 119 | "type": "uint256" 120 | } 121 | ], 122 | "name": "Transfer", 123 | "type": "event" 124 | }, 125 | { 126 | "anonymous": false, 127 | "inputs": [ 128 | { 129 | "indexed": false, 130 | "internalType": "address", 131 | "name": "account", 132 | "type": "address" 133 | } 134 | ], 135 | "name": "Unpaused", 136 | "type": "event" 137 | }, 138 | { 139 | "inputs": [], 140 | "name": "MAX_NFTS", 141 | "outputs": [ 142 | { 143 | "internalType": "uint256", 144 | "name": "", 145 | "type": "uint256" 146 | } 147 | ], 148 | "stateMutability": "view", 149 | "type": "function" 150 | }, 151 | { 152 | "inputs": [ 153 | { 154 | "internalType": "address", 155 | "name": "to", 156 | "type": "address" 157 | }, 158 | { 159 | "internalType": "uint256", 160 | "name": "tokenId", 161 | "type": "uint256" 162 | } 163 | ], 164 | "name": "approve", 165 | "outputs": [], 166 | "stateMutability": "nonpayable", 167 | "type": "function" 168 | }, 169 | { 170 | "inputs": [ 171 | { 172 | "internalType": "address", 173 | "name": "owner", 174 | "type": "address" 175 | } 176 | ], 177 | "name": "balanceOf", 178 | "outputs": [ 179 | { 180 | "internalType": "uint256", 181 | "name": "", 182 | "type": "uint256" 183 | } 184 | ], 185 | "stateMutability": "view", 186 | "type": "function" 187 | }, 188 | { 189 | "inputs": [ 190 | { 191 | "internalType": "address", 192 | "name": "toAddress", 193 | "type": "address" 194 | }, 195 | { 196 | "internalType": "string[]", 197 | "name": "newTokenURIS", 198 | "type": "string[]" 199 | }, 200 | { 201 | "internalType": "uint256", 202 | "name": "_count", 203 | "type": "uint256" 204 | } 205 | ], 206 | "name": "batchMint", 207 | "outputs": [], 208 | "stateMutability": "payable", 209 | "type": "function" 210 | }, 211 | { 212 | "inputs": [ 213 | { 214 | "internalType": "address[]", 215 | "name": "toAddresses", 216 | "type": "address[]" 217 | }, 218 | { 219 | "internalType": "string[]", 220 | "name": "newTokenURIS", 221 | "type": "string[]" 222 | }, 223 | { 224 | "internalType": "uint256", 225 | "name": "_count", 226 | "type": "uint256" 227 | } 228 | ], 229 | "name": "batchMintByAdmin", 230 | "outputs": [], 231 | "stateMutability": "nonpayable", 232 | "type": "function" 233 | }, 234 | { 235 | "inputs": [ 236 | { 237 | "internalType": "uint256", 238 | "name": "tokenId", 239 | "type": "uint256" 240 | } 241 | ], 242 | "name": "burn", 243 | "outputs": [], 244 | "stateMutability": "nonpayable", 245 | "type": "function" 246 | }, 247 | { 248 | "inputs": [ 249 | { 250 | "internalType": "uint256", 251 | "name": "tokenId", 252 | "type": "uint256" 253 | } 254 | ], 255 | "name": "getApproved", 256 | "outputs": [ 257 | { 258 | "internalType": "address", 259 | "name": "", 260 | "type": "address" 261 | } 262 | ], 263 | "stateMutability": "view", 264 | "type": "function" 265 | }, 266 | { 267 | "inputs": [], 268 | "name": "getMaxMint", 269 | "outputs": [ 270 | { 271 | "internalType": "uint256", 272 | "name": "", 273 | "type": "uint256" 274 | } 275 | ], 276 | "stateMutability": "view", 277 | "type": "function" 278 | }, 279 | { 280 | "inputs": [], 281 | "name": "getMaxNfts", 282 | "outputs": [ 283 | { 284 | "internalType": "uint256", 285 | "name": "", 286 | "type": "uint256" 287 | } 288 | ], 289 | "stateMutability": "view", 290 | "type": "function" 291 | }, 292 | { 293 | "inputs": [], 294 | "name": "getNFTPrice", 295 | "outputs": [ 296 | { 297 | "internalType": "uint256", 298 | "name": "", 299 | "type": "uint256" 300 | } 301 | ], 302 | "stateMutability": "view", 303 | "type": "function" 304 | }, 305 | { 306 | "inputs": [ 307 | { 308 | "internalType": "address", 309 | "name": "owner", 310 | "type": "address" 311 | }, 312 | { 313 | "internalType": "address", 314 | "name": "operator", 315 | "type": "address" 316 | } 317 | ], 318 | "name": "isApprovedForAll", 319 | "outputs": [ 320 | { 321 | "internalType": "bool", 322 | "name": "", 323 | "type": "bool" 324 | } 325 | ], 326 | "stateMutability": "view", 327 | "type": "function" 328 | }, 329 | { 330 | "inputs": [], 331 | "name": "maxMint", 332 | "outputs": [ 333 | { 334 | "internalType": "uint256", 335 | "name": "", 336 | "type": "uint256" 337 | } 338 | ], 339 | "stateMutability": "view", 340 | "type": "function" 341 | }, 342 | { 343 | "inputs": [], 344 | "name": "name", 345 | "outputs": [ 346 | { 347 | "internalType": "string", 348 | "name": "", 349 | "type": "string" 350 | } 351 | ], 352 | "stateMutability": "view", 353 | "type": "function" 354 | }, 355 | { 356 | "inputs": [], 357 | "name": "nftPrice", 358 | "outputs": [ 359 | { 360 | "internalType": "uint256", 361 | "name": "", 362 | "type": "uint256" 363 | } 364 | ], 365 | "stateMutability": "view", 366 | "type": "function" 367 | }, 368 | { 369 | "inputs": [], 370 | "name": "owner", 371 | "outputs": [ 372 | { 373 | "internalType": "address", 374 | "name": "", 375 | "type": "address" 376 | } 377 | ], 378 | "stateMutability": "view", 379 | "type": "function" 380 | }, 381 | { 382 | "inputs": [ 383 | { 384 | "internalType": "uint256", 385 | "name": "tokenId", 386 | "type": "uint256" 387 | } 388 | ], 389 | "name": "ownerOf", 390 | "outputs": [ 391 | { 392 | "internalType": "address", 393 | "name": "", 394 | "type": "address" 395 | } 396 | ], 397 | "stateMutability": "view", 398 | "type": "function" 399 | }, 400 | { 401 | "inputs": [], 402 | "name": "pause", 403 | "outputs": [], 404 | "stateMutability": "nonpayable", 405 | "type": "function" 406 | }, 407 | { 408 | "inputs": [], 409 | "name": "paused", 410 | "outputs": [ 411 | { 412 | "internalType": "bool", 413 | "name": "", 414 | "type": "bool" 415 | } 416 | ], 417 | "stateMutability": "view", 418 | "type": "function" 419 | }, 420 | { 421 | "inputs": [], 422 | "name": "renounceOwnership", 423 | "outputs": [], 424 | "stateMutability": "nonpayable", 425 | "type": "function" 426 | }, 427 | { 428 | "inputs": [ 429 | { 430 | "internalType": "address", 431 | "name": "to", 432 | "type": "address" 433 | }, 434 | { 435 | "internalType": "string", 436 | "name": "uri", 437 | "type": "string" 438 | } 439 | ], 440 | "name": "safeMint", 441 | "outputs": [], 442 | "stateMutability": "nonpayable", 443 | "type": "function" 444 | }, 445 | { 446 | "inputs": [ 447 | { 448 | "internalType": "address", 449 | "name": "from", 450 | "type": "address" 451 | }, 452 | { 453 | "internalType": "address", 454 | "name": "to", 455 | "type": "address" 456 | }, 457 | { 458 | "internalType": "uint256", 459 | "name": "tokenId", 460 | "type": "uint256" 461 | } 462 | ], 463 | "name": "safeTransferFrom", 464 | "outputs": [], 465 | "stateMutability": "nonpayable", 466 | "type": "function" 467 | }, 468 | { 469 | "inputs": [ 470 | { 471 | "internalType": "address", 472 | "name": "from", 473 | "type": "address" 474 | }, 475 | { 476 | "internalType": "address", 477 | "name": "to", 478 | "type": "address" 479 | }, 480 | { 481 | "internalType": "uint256", 482 | "name": "tokenId", 483 | "type": "uint256" 484 | }, 485 | { 486 | "internalType": "bytes", 487 | "name": "_data", 488 | "type": "bytes" 489 | } 490 | ], 491 | "name": "safeTransferFrom", 492 | "outputs": [], 493 | "stateMutability": "nonpayable", 494 | "type": "function" 495 | }, 496 | { 497 | "inputs": [ 498 | { 499 | "internalType": "address", 500 | "name": "operator", 501 | "type": "address" 502 | }, 503 | { 504 | "internalType": "bool", 505 | "name": "approved", 506 | "type": "bool" 507 | } 508 | ], 509 | "name": "setApprovalForAll", 510 | "outputs": [], 511 | "stateMutability": "nonpayable", 512 | "type": "function" 513 | }, 514 | { 515 | "inputs": [ 516 | { 517 | "internalType": "uint256", 518 | "name": "newMaxMint", 519 | "type": "uint256" 520 | } 521 | ], 522 | "name": "setMaxMint", 523 | "outputs": [], 524 | "stateMutability": "nonpayable", 525 | "type": "function" 526 | }, 527 | { 528 | "inputs": [ 529 | { 530 | "internalType": "uint256", 531 | "name": "newMaxNfts", 532 | "type": "uint256" 533 | } 534 | ], 535 | "name": "setMaxNfts", 536 | "outputs": [], 537 | "stateMutability": "nonpayable", 538 | "type": "function" 539 | }, 540 | { 541 | "inputs": [ 542 | { 543 | "internalType": "uint256", 544 | "name": "newPrice", 545 | "type": "uint256" 546 | } 547 | ], 548 | "name": "setNFTPrice", 549 | "outputs": [], 550 | "stateMutability": "nonpayable", 551 | "type": "function" 552 | }, 553 | { 554 | "inputs": [ 555 | { 556 | "internalType": "bytes4", 557 | "name": "interfaceId", 558 | "type": "bytes4" 559 | } 560 | ], 561 | "name": "supportsInterface", 562 | "outputs": [ 563 | { 564 | "internalType": "bool", 565 | "name": "", 566 | "type": "bool" 567 | } 568 | ], 569 | "stateMutability": "view", 570 | "type": "function" 571 | }, 572 | { 573 | "inputs": [], 574 | "name": "symbol", 575 | "outputs": [ 576 | { 577 | "internalType": "string", 578 | "name": "", 579 | "type": "string" 580 | } 581 | ], 582 | "stateMutability": "view", 583 | "type": "function" 584 | }, 585 | { 586 | "inputs": [ 587 | { 588 | "internalType": "uint256", 589 | "name": "index", 590 | "type": "uint256" 591 | } 592 | ], 593 | "name": "tokenByIndex", 594 | "outputs": [ 595 | { 596 | "internalType": "uint256", 597 | "name": "", 598 | "type": "uint256" 599 | } 600 | ], 601 | "stateMutability": "view", 602 | "type": "function" 603 | }, 604 | { 605 | "inputs": [ 606 | { 607 | "internalType": "address", 608 | "name": "owner", 609 | "type": "address" 610 | }, 611 | { 612 | "internalType": "uint256", 613 | "name": "index", 614 | "type": "uint256" 615 | } 616 | ], 617 | "name": "tokenOfOwnerByIndex", 618 | "outputs": [ 619 | { 620 | "internalType": "uint256", 621 | "name": "", 622 | "type": "uint256" 623 | } 624 | ], 625 | "stateMutability": "view", 626 | "type": "function" 627 | }, 628 | { 629 | "inputs": [ 630 | { 631 | "internalType": "uint256", 632 | "name": "tokenId", 633 | "type": "uint256" 634 | } 635 | ], 636 | "name": "tokenURI", 637 | "outputs": [ 638 | { 639 | "internalType": "string", 640 | "name": "", 641 | "type": "string" 642 | } 643 | ], 644 | "stateMutability": "view", 645 | "type": "function" 646 | }, 647 | { 648 | "inputs": [ 649 | { 650 | "internalType": "address", 651 | "name": "_owner", 652 | "type": "address" 653 | } 654 | ], 655 | "name": "tokensOfOwner", 656 | "outputs": [ 657 | { 658 | "internalType": "uint256[]", 659 | "name": "ownerTokens", 660 | "type": "uint256[]" 661 | } 662 | ], 663 | "stateMutability": "view", 664 | "type": "function" 665 | }, 666 | { 667 | "inputs": [], 668 | "name": "totalSupply", 669 | "outputs": [ 670 | { 671 | "internalType": "uint256", 672 | "name": "", 673 | "type": "uint256" 674 | } 675 | ], 676 | "stateMutability": "view", 677 | "type": "function" 678 | }, 679 | { 680 | "inputs": [ 681 | { 682 | "internalType": "address", 683 | "name": "from", 684 | "type": "address" 685 | }, 686 | { 687 | "internalType": "address", 688 | "name": "to", 689 | "type": "address" 690 | }, 691 | { 692 | "internalType": "uint256", 693 | "name": "tokenId", 694 | "type": "uint256" 695 | } 696 | ], 697 | "name": "transferFrom", 698 | "outputs": [], 699 | "stateMutability": "nonpayable", 700 | "type": "function" 701 | }, 702 | { 703 | "inputs": [ 704 | { 705 | "internalType": "address", 706 | "name": "newOwner", 707 | "type": "address" 708 | } 709 | ], 710 | "name": "transferOwnership", 711 | "outputs": [], 712 | "stateMutability": "nonpayable", 713 | "type": "function" 714 | }, 715 | { 716 | "inputs": [], 717 | "name": "unpause", 718 | "outputs": [], 719 | "stateMutability": "nonpayable", 720 | "type": "function" 721 | }, 722 | { 723 | "inputs": [ 724 | { 725 | "internalType": "uint256", 726 | "name": "tokenId", 727 | "type": "uint256" 728 | }, 729 | { 730 | "internalType": "string", 731 | "name": "uri", 732 | "type": "string" 733 | } 734 | ], 735 | "name": "updateTokenURI", 736 | "outputs": [], 737 | "stateMutability": "nonpayable", 738 | "type": "function" 739 | }, 740 | { 741 | "inputs": [], 742 | "name": "withdraw", 743 | "outputs": [], 744 | "stateMutability": "nonpayable", 745 | "type": "function" 746 | } 747 | ] -------------------------------------------------------------------------------- /artifacts/@openzeppelin/contracts/token/ERC721/ERC721.sol/ERC721.json: -------------------------------------------------------------------------------- 1 | { 2 | "_format": "hh-sol-artifact-1", 3 | "contractName": "ERC721", 4 | "sourceName": "@openzeppelin/contracts/token/ERC721/ERC721.sol", 5 | "abi": [ 6 | { 7 | "inputs": [ 8 | { 9 | "internalType": "string", 10 | "name": "name_", 11 | "type": "string" 12 | }, 13 | { 14 | "internalType": "string", 15 | "name": "symbol_", 16 | "type": "string" 17 | } 18 | ], 19 | "stateMutability": "nonpayable", 20 | "type": "constructor" 21 | }, 22 | { 23 | "anonymous": false, 24 | "inputs": [ 25 | { 26 | "indexed": true, 27 | "internalType": "address", 28 | "name": "owner", 29 | "type": "address" 30 | }, 31 | { 32 | "indexed": true, 33 | "internalType": "address", 34 | "name": "approved", 35 | "type": "address" 36 | }, 37 | { 38 | "indexed": true, 39 | "internalType": "uint256", 40 | "name": "tokenId", 41 | "type": "uint256" 42 | } 43 | ], 44 | "name": "Approval", 45 | "type": "event" 46 | }, 47 | { 48 | "anonymous": false, 49 | "inputs": [ 50 | { 51 | "indexed": true, 52 | "internalType": "address", 53 | "name": "owner", 54 | "type": "address" 55 | }, 56 | { 57 | "indexed": true, 58 | "internalType": "address", 59 | "name": "operator", 60 | "type": "address" 61 | }, 62 | { 63 | "indexed": false, 64 | "internalType": "bool", 65 | "name": "approved", 66 | "type": "bool" 67 | } 68 | ], 69 | "name": "ApprovalForAll", 70 | "type": "event" 71 | }, 72 | { 73 | "anonymous": false, 74 | "inputs": [ 75 | { 76 | "indexed": true, 77 | "internalType": "address", 78 | "name": "from", 79 | "type": "address" 80 | }, 81 | { 82 | "indexed": true, 83 | "internalType": "address", 84 | "name": "to", 85 | "type": "address" 86 | }, 87 | { 88 | "indexed": true, 89 | "internalType": "uint256", 90 | "name": "tokenId", 91 | "type": "uint256" 92 | } 93 | ], 94 | "name": "Transfer", 95 | "type": "event" 96 | }, 97 | { 98 | "inputs": [ 99 | { 100 | "internalType": "address", 101 | "name": "to", 102 | "type": "address" 103 | }, 104 | { 105 | "internalType": "uint256", 106 | "name": "tokenId", 107 | "type": "uint256" 108 | } 109 | ], 110 | "name": "approve", 111 | "outputs": [], 112 | "stateMutability": "nonpayable", 113 | "type": "function" 114 | }, 115 | { 116 | "inputs": [ 117 | { 118 | "internalType": "address", 119 | "name": "owner", 120 | "type": "address" 121 | } 122 | ], 123 | "name": "balanceOf", 124 | "outputs": [ 125 | { 126 | "internalType": "uint256", 127 | "name": "", 128 | "type": "uint256" 129 | } 130 | ], 131 | "stateMutability": "view", 132 | "type": "function" 133 | }, 134 | { 135 | "inputs": [ 136 | { 137 | "internalType": "uint256", 138 | "name": "tokenId", 139 | "type": "uint256" 140 | } 141 | ], 142 | "name": "getApproved", 143 | "outputs": [ 144 | { 145 | "internalType": "address", 146 | "name": "", 147 | "type": "address" 148 | } 149 | ], 150 | "stateMutability": "view", 151 | "type": "function" 152 | }, 153 | { 154 | "inputs": [ 155 | { 156 | "internalType": "address", 157 | "name": "owner", 158 | "type": "address" 159 | }, 160 | { 161 | "internalType": "address", 162 | "name": "operator", 163 | "type": "address" 164 | } 165 | ], 166 | "name": "isApprovedForAll", 167 | "outputs": [ 168 | { 169 | "internalType": "bool", 170 | "name": "", 171 | "type": "bool" 172 | } 173 | ], 174 | "stateMutability": "view", 175 | "type": "function" 176 | }, 177 | { 178 | "inputs": [], 179 | "name": "name", 180 | "outputs": [ 181 | { 182 | "internalType": "string", 183 | "name": "", 184 | "type": "string" 185 | } 186 | ], 187 | "stateMutability": "view", 188 | "type": "function" 189 | }, 190 | { 191 | "inputs": [ 192 | { 193 | "internalType": "uint256", 194 | "name": "tokenId", 195 | "type": "uint256" 196 | } 197 | ], 198 | "name": "ownerOf", 199 | "outputs": [ 200 | { 201 | "internalType": "address", 202 | "name": "", 203 | "type": "address" 204 | } 205 | ], 206 | "stateMutability": "view", 207 | "type": "function" 208 | }, 209 | { 210 | "inputs": [ 211 | { 212 | "internalType": "address", 213 | "name": "from", 214 | "type": "address" 215 | }, 216 | { 217 | "internalType": "address", 218 | "name": "to", 219 | "type": "address" 220 | }, 221 | { 222 | "internalType": "uint256", 223 | "name": "tokenId", 224 | "type": "uint256" 225 | } 226 | ], 227 | "name": "safeTransferFrom", 228 | "outputs": [], 229 | "stateMutability": "nonpayable", 230 | "type": "function" 231 | }, 232 | { 233 | "inputs": [ 234 | { 235 | "internalType": "address", 236 | "name": "from", 237 | "type": "address" 238 | }, 239 | { 240 | "internalType": "address", 241 | "name": "to", 242 | "type": "address" 243 | }, 244 | { 245 | "internalType": "uint256", 246 | "name": "tokenId", 247 | "type": "uint256" 248 | }, 249 | { 250 | "internalType": "bytes", 251 | "name": "data", 252 | "type": "bytes" 253 | } 254 | ], 255 | "name": "safeTransferFrom", 256 | "outputs": [], 257 | "stateMutability": "nonpayable", 258 | "type": "function" 259 | }, 260 | { 261 | "inputs": [ 262 | { 263 | "internalType": "address", 264 | "name": "operator", 265 | "type": "address" 266 | }, 267 | { 268 | "internalType": "bool", 269 | "name": "approved", 270 | "type": "bool" 271 | } 272 | ], 273 | "name": "setApprovalForAll", 274 | "outputs": [], 275 | "stateMutability": "nonpayable", 276 | "type": "function" 277 | }, 278 | { 279 | "inputs": [ 280 | { 281 | "internalType": "bytes4", 282 | "name": "interfaceId", 283 | "type": "bytes4" 284 | } 285 | ], 286 | "name": "supportsInterface", 287 | "outputs": [ 288 | { 289 | "internalType": "bool", 290 | "name": "", 291 | "type": "bool" 292 | } 293 | ], 294 | "stateMutability": "view", 295 | "type": "function" 296 | }, 297 | { 298 | "inputs": [], 299 | "name": "symbol", 300 | "outputs": [ 301 | { 302 | "internalType": "string", 303 | "name": "", 304 | "type": "string" 305 | } 306 | ], 307 | "stateMutability": "view", 308 | "type": "function" 309 | }, 310 | { 311 | "inputs": [ 312 | { 313 | "internalType": "uint256", 314 | "name": "tokenId", 315 | "type": "uint256" 316 | } 317 | ], 318 | "name": "tokenURI", 319 | "outputs": [ 320 | { 321 | "internalType": "string", 322 | "name": "", 323 | "type": "string" 324 | } 325 | ], 326 | "stateMutability": "view", 327 | "type": "function" 328 | }, 329 | { 330 | "inputs": [ 331 | { 332 | "internalType": "address", 333 | "name": "from", 334 | "type": "address" 335 | }, 336 | { 337 | "internalType": "address", 338 | "name": "to", 339 | "type": "address" 340 | }, 341 | { 342 | "internalType": "uint256", 343 | "name": "tokenId", 344 | "type": "uint256" 345 | } 346 | ], 347 | "name": "transferFrom", 348 | "outputs": [], 349 | "stateMutability": "nonpayable", 350 | "type": "function" 351 | } 352 | ], 353 | "bytecode": "0x60806040523480156200001157600080fd5b5060405162002894380380620028948339818101604052810190620000379190620001f6565b8160009081620000489190620004c6565b5080600190816200005a9190620004c6565b505050620005ad565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b620000cc8262000081565b810181811067ffffffffffffffff82111715620000ee57620000ed62000092565b5b80604052505050565b60006200010362000063565b9050620001118282620000c1565b919050565b600067ffffffffffffffff82111562000134576200013362000092565b5b6200013f8262000081565b9050602081019050919050565b60005b838110156200016c5780820151818401526020810190506200014f565b60008484015250505050565b60006200018f620001898462000116565b620000f7565b905082815260208101848484011115620001ae57620001ad6200007c565b5b620001bb8482856200014c565b509392505050565b600082601f830112620001db57620001da62000077565b5b8151620001ed84826020860162000178565b91505092915050565b6000806040838503121562000210576200020f6200006d565b5b600083015167ffffffffffffffff81111562000231576200023062000072565b5b6200023f85828601620001c3565b925050602083015167ffffffffffffffff81111562000263576200026262000072565b5b6200027185828601620001c3565b9150509250929050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620002ce57607f821691505b602082108103620002e457620002e362000286565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200034e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200030f565b6200035a86836200030f565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620003a7620003a16200039b8462000372565b6200037c565b62000372565b9050919050565b6000819050919050565b620003c38362000386565b620003db620003d282620003ae565b8484546200031c565b825550505050565b600090565b620003f2620003e3565b620003ff818484620003b8565b505050565b5b8181101562000427576200041b600082620003e8565b60018101905062000405565b5050565b601f82111562000476576200044081620002ea565b6200044b84620002ff565b810160208510156200045b578190505b620004736200046a85620002ff565b83018262000404565b50505b505050565b600082821c905092915050565b60006200049b600019846008026200047b565b1980831691505092915050565b6000620004b6838362000488565b9150826002028217905092915050565b620004d1826200027b565b67ffffffffffffffff811115620004ed57620004ec62000092565b5b620004f98254620002b5565b620005068282856200042b565b600060209050601f8311600181146200053e576000841562000529578287015190505b620005358582620004a8565b865550620005a5565b601f1984166200054e86620002ea565b60005b82811015620005785784890151825560018201915060208501945060208101905062000551565b8683101562000598578489015162000594601f89168262000488565b8355505b6001600288020188555050505b505050505050565b6122d780620005bd6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb46514610224578063b88d4fde14610240578063c87b56dd1461025c578063e985e9c51461028c576100cf565b80636352211e146101a657806370a08231146101d657806395d89b4114610206576100cf565b806301ffc9a7146100d457806306fdde0314610104578063081812fc14610122578063095ea7b31461015257806323b872dd1461016e57806342842e0e1461018a575b600080fd5b6100ee60048036038101906100e99190611614565b6102bc565b6040516100fb919061165c565b60405180910390f35b61010c61039e565b6040516101199190611707565b60405180910390f35b61013c6004803603810190610137919061175f565b610430565b60405161014991906117cd565b60405180910390f35b61016c60048036038101906101679190611814565b610476565b005b61018860048036038101906101839190611854565b61058d565b005b6101a4600480360381019061019f9190611854565b6105ed565b005b6101c060048036038101906101bb919061175f565b61060d565b6040516101cd91906117cd565b60405180910390f35b6101f060048036038101906101eb91906118a7565b610693565b6040516101fd91906118e3565b60405180910390f35b61020e61074a565b60405161021b9190611707565b60405180910390f35b61023e6004803603810190610239919061192a565b6107dc565b005b61025a60048036038101906102559190611a9f565b6107f2565b005b6102766004803603810190610271919061175f565b610854565b6040516102839190611707565b60405180910390f35b6102a660048036038101906102a19190611b22565b6108bc565b6040516102b3919061165c565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061038757507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610397575061039682610950565b5b9050919050565b6060600080546103ad90611b91565b80601f01602080910402602001604051908101604052809291908181526020018280546103d990611b91565b80156104265780601f106103fb57610100808354040283529160200191610426565b820191906000526020600020905b81548152906001019060200180831161040957829003601f168201915b5050505050905090565b600061043b826109ba565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006104818261060d565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036104f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e890611c34565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610510610a05565b73ffffffffffffffffffffffffffffffffffffffff16148061053f575061053e81610539610a05565b6108bc565b5b61057e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057590611cc6565b60405180910390fd5b6105888383610a0d565b505050565b61059e610598610a05565b82610ac6565b6105dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d490611d58565b60405180910390fd5b6105e8838383610b5b565b505050565b610608838383604051806020016040528060008152506107f2565b505050565b60008061061983610e54565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361068a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068190611dc4565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610703576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90611e56565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606001805461075990611b91565b80601f016020809104026020016040519081016040528092919081815260200182805461078590611b91565b80156107d25780601f106107a7576101008083540402835291602001916107d2565b820191906000526020600020905b8154815290600101906020018083116107b557829003601f168201915b5050505050905090565b6107ee6107e7610a05565b8383610e91565b5050565b6108036107fd610a05565b83610ac6565b610842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083990611d58565b60405180910390fd5b61084e84848484610ffd565b50505050565b606061085f826109ba565b6000610869611059565b9050600081511161088957604051806020016040528060008152506108b4565b8061089384611070565b6040516020016108a4929190611eb2565b6040516020818303038152906040525b915050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6109c38161113e565b610a02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f990611dc4565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610a808361060d565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610ad28361060d565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610b145750610b1381856108bc565b5b80610b5257508373ffffffffffffffffffffffffffffffffffffffff16610b3a84610430565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610b7b8261060d565b73ffffffffffffffffffffffffffffffffffffffff1614610bd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc890611f48565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3790611fda565b60405180910390fd5b610c4d838383600161117f565b8273ffffffffffffffffffffffffffffffffffffffff16610c6d8261060d565b73ffffffffffffffffffffffffffffffffffffffff1614610cc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cba90611f48565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610e4f83838360016112a5565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610eff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef690612046565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610ff0919061165c565b60405180910390a3505050565b611008848484610b5b565b611014848484846112ab565b611053576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104a906120d8565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b60606000600161107f84611432565b01905060008167ffffffffffffffff81111561109e5761109d611974565b5b6040519080825280601f01601f1916602001820160405280156110d05781602001600182028036833780820191505090505b509050600082602001820190505b600115611133578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611127576111266120f8565b5b049450600085036110de575b819350505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff1661116083610e54565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600181111561129f57600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146112135780600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461120b9190612156565b925050819055505b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461129e5780600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611296919061218a565b925050819055505b5b50505050565b50505050565b60006112cc8473ffffffffffffffffffffffffffffffffffffffff16611585565b15611425578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026112f5610a05565b8786866040518563ffffffff1660e01b81526004016113179493929190612213565b6020604051808303816000875af192505050801561135357506040513d601f19601f820116820180604052508101906113509190612274565b60015b6113d5573d8060008114611383576040519150601f19603f3d011682016040523d82523d6000602084013e611388565b606091505b5060008151036113cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c4906120d8565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061142a565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611490577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381611486576114856120f8565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106114cd576d04ee2d6d415b85acef810000000083816114c3576114c26120f8565b5b0492506020810190505b662386f26fc1000083106114fc57662386f26fc1000083816114f2576114f16120f8565b5b0492506010810190505b6305f5e1008310611525576305f5e100838161151b5761151a6120f8565b5b0492506008810190505b612710831061154a5761271083816115405761153f6120f8565b5b0492506004810190505b6064831061156d5760648381611563576115626120f8565b5b0492506002810190505b600a831061157c576001810190505b80915050919050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6115f1816115bc565b81146115fc57600080fd5b50565b60008135905061160e816115e8565b92915050565b60006020828403121561162a576116296115b2565b5b6000611638848285016115ff565b91505092915050565b60008115159050919050565b61165681611641565b82525050565b6000602082019050611671600083018461164d565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156116b1578082015181840152602081019050611696565b60008484015250505050565b6000601f19601f8301169050919050565b60006116d982611677565b6116e38185611682565b93506116f3818560208601611693565b6116fc816116bd565b840191505092915050565b6000602082019050818103600083015261172181846116ce565b905092915050565b6000819050919050565b61173c81611729565b811461174757600080fd5b50565b60008135905061175981611733565b92915050565b600060208284031215611775576117746115b2565b5b60006117838482850161174a565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006117b78261178c565b9050919050565b6117c7816117ac565b82525050565b60006020820190506117e260008301846117be565b92915050565b6117f1816117ac565b81146117fc57600080fd5b50565b60008135905061180e816117e8565b92915050565b6000806040838503121561182b5761182a6115b2565b5b6000611839858286016117ff565b925050602061184a8582860161174a565b9150509250929050565b60008060006060848603121561186d5761186c6115b2565b5b600061187b868287016117ff565b935050602061188c868287016117ff565b925050604061189d8682870161174a565b9150509250925092565b6000602082840312156118bd576118bc6115b2565b5b60006118cb848285016117ff565b91505092915050565b6118dd81611729565b82525050565b60006020820190506118f860008301846118d4565b92915050565b61190781611641565b811461191257600080fd5b50565b600081359050611924816118fe565b92915050565b60008060408385031215611941576119406115b2565b5b600061194f858286016117ff565b925050602061196085828601611915565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6119ac826116bd565b810181811067ffffffffffffffff821117156119cb576119ca611974565b5b80604052505050565b60006119de6115a8565b90506119ea82826119a3565b919050565b600067ffffffffffffffff821115611a0a57611a09611974565b5b611a13826116bd565b9050602081019050919050565b82818337600083830152505050565b6000611a42611a3d846119ef565b6119d4565b905082815260208101848484011115611a5e57611a5d61196f565b5b611a69848285611a20565b509392505050565b600082601f830112611a8657611a8561196a565b5b8135611a96848260208601611a2f565b91505092915050565b60008060008060808587031215611ab957611ab86115b2565b5b6000611ac7878288016117ff565b9450506020611ad8878288016117ff565b9350506040611ae98782880161174a565b925050606085013567ffffffffffffffff811115611b0a57611b096115b7565b5b611b1687828801611a71565b91505092959194509250565b60008060408385031215611b3957611b386115b2565b5b6000611b47858286016117ff565b9250506020611b58858286016117ff565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611ba957607f821691505b602082108103611bbc57611bbb611b62565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000611c1e602183611682565b9150611c2982611bc2565b604082019050919050565b60006020820190508181036000830152611c4d81611c11565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000611cb0603d83611682565b9150611cbb82611c54565b604082019050919050565b60006020820190508181036000830152611cdf81611ca3565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000611d42602d83611682565b9150611d4d82611ce6565b604082019050919050565b60006020820190508181036000830152611d7181611d35565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000611dae601883611682565b9150611db982611d78565b602082019050919050565b60006020820190508181036000830152611ddd81611da1565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000611e40602983611682565b9150611e4b82611de4565b604082019050919050565b60006020820190508181036000830152611e6f81611e33565b9050919050565b600081905092915050565b6000611e8c82611677565b611e968185611e76565b9350611ea6818560208601611693565b80840191505092915050565b6000611ebe8285611e81565b9150611eca8284611e81565b91508190509392505050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000611f32602583611682565b9150611f3d82611ed6565b604082019050919050565b60006020820190508181036000830152611f6181611f25565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611fc4602483611682565b9150611fcf82611f68565b604082019050919050565b60006020820190508181036000830152611ff381611fb7565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000612030601983611682565b915061203b82611ffa565b602082019050919050565b6000602082019050818103600083015261205f81612023565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006120c2603283611682565b91506120cd82612066565b604082019050919050565b600060208201905081810360008301526120f1816120b5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061216182611729565b915061216c83611729565b925082820390508181111561218457612183612127565b5b92915050565b600061219582611729565b91506121a083611729565b92508282019050808211156121b8576121b7612127565b5b92915050565b600081519050919050565b600082825260208201905092915050565b60006121e5826121be565b6121ef81856121c9565b93506121ff818560208601611693565b612208816116bd565b840191505092915050565b600060808201905061222860008301876117be565b61223560208301866117be565b61224260408301856118d4565b818103606083015261225481846121da565b905095945050505050565b60008151905061226e816115e8565b92915050565b60006020828403121561228a576122896115b2565b5b60006122988482850161225f565b9150509291505056fea2646970667358221220bc9d4316491bd37f11ac9b85f60dbed6ec193be4b67c9fa09b05c10e749495f264736f6c63430008110033", 354 | "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80636352211e1161008c578063a22cb46511610066578063a22cb46514610224578063b88d4fde14610240578063c87b56dd1461025c578063e985e9c51461028c576100cf565b80636352211e146101a657806370a08231146101d657806395d89b4114610206576100cf565b806301ffc9a7146100d457806306fdde0314610104578063081812fc14610122578063095ea7b31461015257806323b872dd1461016e57806342842e0e1461018a575b600080fd5b6100ee60048036038101906100e99190611614565b6102bc565b6040516100fb919061165c565b60405180910390f35b61010c61039e565b6040516101199190611707565b60405180910390f35b61013c6004803603810190610137919061175f565b610430565b60405161014991906117cd565b60405180910390f35b61016c60048036038101906101679190611814565b610476565b005b61018860048036038101906101839190611854565b61058d565b005b6101a4600480360381019061019f9190611854565b6105ed565b005b6101c060048036038101906101bb919061175f565b61060d565b6040516101cd91906117cd565b60405180910390f35b6101f060048036038101906101eb91906118a7565b610693565b6040516101fd91906118e3565b60405180910390f35b61020e61074a565b60405161021b9190611707565b60405180910390f35b61023e6004803603810190610239919061192a565b6107dc565b005b61025a60048036038101906102559190611a9f565b6107f2565b005b6102766004803603810190610271919061175f565b610854565b6040516102839190611707565b60405180910390f35b6102a660048036038101906102a19190611b22565b6108bc565b6040516102b3919061165c565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061038757507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80610397575061039682610950565b5b9050919050565b6060600080546103ad90611b91565b80601f01602080910402602001604051908101604052809291908181526020018280546103d990611b91565b80156104265780601f106103fb57610100808354040283529160200191610426565b820191906000526020600020905b81548152906001019060200180831161040957829003601f168201915b5050505050905090565b600061043b826109ba565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006104818261060d565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036104f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104e890611c34565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610510610a05565b73ffffffffffffffffffffffffffffffffffffffff16148061053f575061053e81610539610a05565b6108bc565b5b61057e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057590611cc6565b60405180910390fd5b6105888383610a0d565b505050565b61059e610598610a05565b82610ac6565b6105dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105d490611d58565b60405180910390fd5b6105e8838383610b5b565b505050565b610608838383604051806020016040528060008152506107f2565b505050565b60008061061983610e54565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361068a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068190611dc4565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610703576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106fa90611e56565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606001805461075990611b91565b80601f016020809104026020016040519081016040528092919081815260200182805461078590611b91565b80156107d25780601f106107a7576101008083540402835291602001916107d2565b820191906000526020600020905b8154815290600101906020018083116107b557829003601f168201915b5050505050905090565b6107ee6107e7610a05565b8383610e91565b5050565b6108036107fd610a05565b83610ac6565b610842576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161083990611d58565b60405180910390fd5b61084e84848484610ffd565b50505050565b606061085f826109ba565b6000610869611059565b9050600081511161088957604051806020016040528060008152506108b4565b8061089384611070565b6040516020016108a4929190611eb2565b6040516020818303038152906040525b915050919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6109c38161113e565b610a02576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109f990611dc4565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16610a808361060d565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080610ad28361060d565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480610b145750610b1381856108bc565b5b80610b5257508373ffffffffffffffffffffffffffffffffffffffff16610b3a84610430565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16610b7b8261060d565b73ffffffffffffffffffffffffffffffffffffffff1614610bd1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc890611f48565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610c40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c3790611fda565b60405180910390fd5b610c4d838383600161117f565b8273ffffffffffffffffffffffffffffffffffffffff16610c6d8261060d565b73ffffffffffffffffffffffffffffffffffffffff1614610cc3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cba90611f48565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4610e4f83838360016112a5565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610eff576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ef690612046565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610ff0919061165c565b60405180910390a3505050565b611008848484610b5b565b611014848484846112ab565b611053576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104a906120d8565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b60606000600161107f84611432565b01905060008167ffffffffffffffff81111561109e5761109d611974565b5b6040519080825280601f01601f1916602001820160405280156110d05781602001600182028036833780820191505090505b509050600082602001820190505b600115611133578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611127576111266120f8565b5b049450600085036110de575b819350505050919050565b60008073ffffffffffffffffffffffffffffffffffffffff1661116083610e54565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600181111561129f57600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146112135780600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461120b9190612156565b925050819055505b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161461129e5780600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611296919061218a565b925050819055505b5b50505050565b50505050565b60006112cc8473ffffffffffffffffffffffffffffffffffffffff16611585565b15611425578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026112f5610a05565b8786866040518563ffffffff1660e01b81526004016113179493929190612213565b6020604051808303816000875af192505050801561135357506040513d601f19601f820116820180604052508101906113509190612274565b60015b6113d5573d8060008114611383576040519150601f19603f3d011682016040523d82523d6000602084013e611388565b606091505b5060008151036113cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c4906120d8565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061142a565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310611490577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381611486576114856120f8565b5b0492506040810190505b6d04ee2d6d415b85acef810000000083106114cd576d04ee2d6d415b85acef810000000083816114c3576114c26120f8565b5b0492506020810190505b662386f26fc1000083106114fc57662386f26fc1000083816114f2576114f16120f8565b5b0492506010810190505b6305f5e1008310611525576305f5e100838161151b5761151a6120f8565b5b0492506008810190505b612710831061154a5761271083816115405761153f6120f8565b5b0492506004810190505b6064831061156d5760648381611563576115626120f8565b5b0492506002810190505b600a831061157c576001810190505b80915050919050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6115f1816115bc565b81146115fc57600080fd5b50565b60008135905061160e816115e8565b92915050565b60006020828403121561162a576116296115b2565b5b6000611638848285016115ff565b91505092915050565b60008115159050919050565b61165681611641565b82525050565b6000602082019050611671600083018461164d565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b838110156116b1578082015181840152602081019050611696565b60008484015250505050565b6000601f19601f8301169050919050565b60006116d982611677565b6116e38185611682565b93506116f3818560208601611693565b6116fc816116bd565b840191505092915050565b6000602082019050818103600083015261172181846116ce565b905092915050565b6000819050919050565b61173c81611729565b811461174757600080fd5b50565b60008135905061175981611733565b92915050565b600060208284031215611775576117746115b2565b5b60006117838482850161174a565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006117b78261178c565b9050919050565b6117c7816117ac565b82525050565b60006020820190506117e260008301846117be565b92915050565b6117f1816117ac565b81146117fc57600080fd5b50565b60008135905061180e816117e8565b92915050565b6000806040838503121561182b5761182a6115b2565b5b6000611839858286016117ff565b925050602061184a8582860161174a565b9150509250929050565b60008060006060848603121561186d5761186c6115b2565b5b600061187b868287016117ff565b935050602061188c868287016117ff565b925050604061189d8682870161174a565b9150509250925092565b6000602082840312156118bd576118bc6115b2565b5b60006118cb848285016117ff565b91505092915050565b6118dd81611729565b82525050565b60006020820190506118f860008301846118d4565b92915050565b61190781611641565b811461191257600080fd5b50565b600081359050611924816118fe565b92915050565b60008060408385031215611941576119406115b2565b5b600061194f858286016117ff565b925050602061196085828601611915565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6119ac826116bd565b810181811067ffffffffffffffff821117156119cb576119ca611974565b5b80604052505050565b60006119de6115a8565b90506119ea82826119a3565b919050565b600067ffffffffffffffff821115611a0a57611a09611974565b5b611a13826116bd565b9050602081019050919050565b82818337600083830152505050565b6000611a42611a3d846119ef565b6119d4565b905082815260208101848484011115611a5e57611a5d61196f565b5b611a69848285611a20565b509392505050565b600082601f830112611a8657611a8561196a565b5b8135611a96848260208601611a2f565b91505092915050565b60008060008060808587031215611ab957611ab86115b2565b5b6000611ac7878288016117ff565b9450506020611ad8878288016117ff565b9350506040611ae98782880161174a565b925050606085013567ffffffffffffffff811115611b0a57611b096115b7565b5b611b1687828801611a71565b91505092959194509250565b60008060408385031215611b3957611b386115b2565b5b6000611b47858286016117ff565b9250506020611b58858286016117ff565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611ba957607f821691505b602082108103611bbc57611bbb611b62565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000611c1e602183611682565b9150611c2982611bc2565b604082019050919050565b60006020820190508181036000830152611c4d81611c11565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000611cb0603d83611682565b9150611cbb82611c54565b604082019050919050565b60006020820190508181036000830152611cdf81611ca3565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000611d42602d83611682565b9150611d4d82611ce6565b604082019050919050565b60006020820190508181036000830152611d7181611d35565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000611dae601883611682565b9150611db982611d78565b602082019050919050565b60006020820190508181036000830152611ddd81611da1565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000611e40602983611682565b9150611e4b82611de4565b604082019050919050565b60006020820190508181036000830152611e6f81611e33565b9050919050565b600081905092915050565b6000611e8c82611677565b611e968185611e76565b9350611ea6818560208601611693565b80840191505092915050565b6000611ebe8285611e81565b9150611eca8284611e81565b91508190509392505050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000611f32602583611682565b9150611f3d82611ed6565b604082019050919050565b60006020820190508181036000830152611f6181611f25565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000611fc4602483611682565b9150611fcf82611f68565b604082019050919050565b60006020820190508181036000830152611ff381611fb7565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000612030601983611682565b915061203b82611ffa565b602082019050919050565b6000602082019050818103600083015261205f81612023565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006120c2603283611682565b91506120cd82612066565b604082019050919050565b600060208201905081810360008301526120f1816120b5565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061216182611729565b915061216c83611729565b925082820390508181111561218457612183612127565b5b92915050565b600061219582611729565b91506121a083611729565b92508282019050808211156121b8576121b7612127565b5b92915050565b600081519050919050565b600082825260208201905092915050565b60006121e5826121be565b6121ef81856121c9565b93506121ff818560208601611693565b612208816116bd565b840191505092915050565b600060808201905061222860008301876117be565b61223560208301866117be565b61224260408301856118d4565b818103606083015261225481846121da565b905095945050505050565b60008151905061226e816115e8565b92915050565b60006020828403121561228a576122896115b2565b5b60006122988482850161225f565b9150509291505056fea2646970667358221220bc9d4316491bd37f11ac9b85f60dbed6ec193be4b67c9fa09b05c10e749495f264736f6c63430008110033", 355 | "linkReferences": {}, 356 | "deployedLinkReferences": {} 357 | } 358 | --------------------------------------------------------------------------------