From 28f515a9c6a1221237170d4b9477a78ec2a83bd3 Mon Sep 17 00:00:00 2001 From: Jeff Prestes Date: Tue, 3 Dec 2024 17:31:05 -0300 Subject: [PATCH] chore: initial tests ok --- cache/solidity-files-cache.json | 1 + src/ParedesNFT.sol | 33 +++++++++++++++++++++++++++++++++ test/ParedesNFT.t.sol | 14 ++++++++++++++ 3 files changed, 48 insertions(+) create mode 100644 cache/solidity-files-cache.json create mode 100644 src/ParedesNFT.sol create mode 100644 test/ParedesNFT.t.sol diff --git a/cache/solidity-files-cache.json b/cache/solidity-files-cache.json new file mode 100644 index 0000000..704ec6b --- /dev/null +++ b/cache/solidity-files-cache.json @@ -0,0 +1 @@ +{"_format":"","paths":{"artifacts":"out","build_infos":"out/build-info","sources":"src","tests":"test","scripts":"script","libraries":["lib"]},"files":{"lib/forge-std/src/Base.sol":{"lastModificationDate":1733235563069,"contentHash":"ee13c050b1914464f1d3f90cde90204b","sourceName":"lib/forge-std/src/Base.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":["lib/forge-std/src/StdStorage.sol","lib/forge-std/src/Vm.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"CommonBase":{"0.8.25":{"path":"Base.sol\\CommonBase.json","build_id":"7a875720b054329c26f09491a7f72d9d"}},"ScriptBase":{"0.8.25":{"path":"Base.sol\\ScriptBase.json","build_id":"7a875720b054329c26f09491a7f72d9d"}},"TestBase":{"0.8.25":{"path":"Base.sol\\TestBase.json","build_id":"7a875720b054329c26f09491a7f72d9d"}}},"seenByCompiler":true},"lib/forge-std/src/StdAssertions.sol":{"lastModificationDate":1733235563069,"contentHash":"25b77f9806b64d497b8a46aeb8e5f6f0","sourceName":"lib/forge-std/src/StdAssertions.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":["lib/forge-std/src/Vm.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"StdAssertions":{"0.8.25":{"path":"StdAssertions.sol\\StdAssertions.json","build_id":"7a875720b054329c26f09491a7f72d9d"}}},"seenByCompiler":true},"lib/forge-std/src/StdChains.sol":{"lastModificationDate":1733235563069,"contentHash":"b039727c96bb3d5b9a59448fd16b1e0f","sourceName":"lib/forge-std/src/StdChains.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":["lib/forge-std/src/Vm.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"StdChains":{"0.8.25":{"path":"StdChains.sol\\StdChains.json","build_id":"7a875720b054329c26f09491a7f72d9d"}}},"seenByCompiler":true},"lib/forge-std/src/StdCheats.sol":{"lastModificationDate":1733235563069,"contentHash":"96c712134b63f85d00461749d0c1611c","sourceName":"lib/forge-std/src/StdCheats.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":["lib/forge-std/src/StdStorage.sol","lib/forge-std/src/Vm.sol","lib/forge-std/src/console.sol","lib/forge-std/src/console2.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"StdCheats":{"0.8.25":{"path":"StdCheats.sol\\StdCheats.json","build_id":"7a875720b054329c26f09491a7f72d9d"}},"StdCheatsSafe":{"0.8.25":{"path":"StdCheats.sol\\StdCheatsSafe.json","build_id":"7a875720b054329c26f09491a7f72d9d"}}},"seenByCompiler":true},"lib/forge-std/src/StdError.sol":{"lastModificationDate":1733235563069,"contentHash":"64c896e1276a291776e5ea5aecb3870a","sourceName":"lib/forge-std/src/StdError.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":[],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"stdError":{"0.8.25":{"path":"StdError.sol\\stdError.json","build_id":"7a875720b054329c26f09491a7f72d9d"}}},"seenByCompiler":true},"lib/forge-std/src/StdInvariant.sol":{"lastModificationDate":1733235563069,"contentHash":"f16837d0e7cb829544ae1f1319ea7643","sourceName":"lib/forge-std/src/StdInvariant.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":[],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"StdInvariant":{"0.8.25":{"path":"StdInvariant.sol\\StdInvariant.json","build_id":"7a875720b054329c26f09491a7f72d9d"}}},"seenByCompiler":true},"lib/forge-std/src/StdJson.sol":{"lastModificationDate":1733235563069,"contentHash":"02209da5708eaee03e24a9c24a687370","sourceName":"lib/forge-std/src/StdJson.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":["lib/forge-std/src/Vm.sol"],"versionRequirement":">=0.6.0, <0.9.0","artifacts":{"stdJson":{"0.8.25":{"path":"StdJson.sol\\stdJson.json","build_id":"7a875720b054329c26f09491a7f72d9d"}}},"seenByCompiler":true},"lib/forge-std/src/StdMath.sol":{"lastModificationDate":1733235563069,"contentHash":"9da8f453eba6bb98f3d75bc6822bfb29","sourceName":"lib/forge-std/src/StdMath.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":[],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"stdMath":{"0.8.25":{"path":"StdMath.sol\\stdMath.json","build_id":"7a875720b054329c26f09491a7f72d9d"}}},"seenByCompiler":true},"lib/forge-std/src/StdStorage.sol":{"lastModificationDate":1733235563069,"contentHash":"ce68f6e336944f16d31351a47d0b19b8","sourceName":"lib/forge-std/src/StdStorage.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":["lib/forge-std/src/Vm.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"stdStorage":{"0.8.25":{"path":"StdStorage.sol\\stdStorage.json","build_id":"7a875720b054329c26f09491a7f72d9d"}},"stdStorageSafe":{"0.8.25":{"path":"StdStorage.sol\\stdStorageSafe.json","build_id":"7a875720b054329c26f09491a7f72d9d"}}},"seenByCompiler":true},"lib/forge-std/src/StdStyle.sol":{"lastModificationDate":1733235563075,"contentHash":"6281165a12aa639705c691fccefd855e","sourceName":"lib/forge-std/src/StdStyle.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":["lib/forge-std/src/Vm.sol"],"versionRequirement":">=0.4.22, <0.9.0","artifacts":{"StdStyle":{"0.8.25":{"path":"StdStyle.sol\\StdStyle.json","build_id":"7a875720b054329c26f09491a7f72d9d"}}},"seenByCompiler":true},"lib/forge-std/src/StdToml.sol":{"lastModificationDate":1733235563075,"contentHash":"4bce85a4c60f2c073e651ee8140bcb4d","sourceName":"lib/forge-std/src/StdToml.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":["lib/forge-std/src/Vm.sol"],"versionRequirement":">=0.6.0, <0.9.0","artifacts":{"stdToml":{"0.8.25":{"path":"StdToml.sol\\stdToml.json","build_id":"7a875720b054329c26f09491a7f72d9d"}}},"seenByCompiler":true},"lib/forge-std/src/StdUtils.sol":{"lastModificationDate":1733235563075,"contentHash":"b50717f17f251a2a96a5884c90add7bf","sourceName":"lib/forge-std/src/StdUtils.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":["lib/forge-std/src/Vm.sol","lib/forge-std/src/interfaces/IERC165.sol","lib/forge-std/src/interfaces/IERC20.sol","lib/forge-std/src/interfaces/IERC721.sol","lib/forge-std/src/interfaces/IMulticall3.sol","lib/forge-std/src/mocks/MockERC20.sol","lib/forge-std/src/mocks/MockERC721.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"StdUtils":{"0.8.25":{"path":"StdUtils.sol\\StdUtils.json","build_id":"7a875720b054329c26f09491a7f72d9d"}}},"seenByCompiler":true},"lib/forge-std/src/Test.sol":{"lastModificationDate":1733235563075,"contentHash":"b6f15605355fc8c421fe42a90f94bf32","sourceName":"lib/forge-std/src/Test.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":["lib/forge-std/src/Base.sol","lib/forge-std/src/StdAssertions.sol","lib/forge-std/src/StdChains.sol","lib/forge-std/src/StdCheats.sol","lib/forge-std/src/StdError.sol","lib/forge-std/src/StdInvariant.sol","lib/forge-std/src/StdJson.sol","lib/forge-std/src/StdMath.sol","lib/forge-std/src/StdStorage.sol","lib/forge-std/src/StdStyle.sol","lib/forge-std/src/StdToml.sol","lib/forge-std/src/StdUtils.sol","lib/forge-std/src/Vm.sol","lib/forge-std/src/console.sol","lib/forge-std/src/console2.sol","lib/forge-std/src/interfaces/IERC165.sol","lib/forge-std/src/interfaces/IERC20.sol","lib/forge-std/src/interfaces/IERC721.sol","lib/forge-std/src/interfaces/IMulticall3.sol","lib/forge-std/src/mocks/MockERC20.sol","lib/forge-std/src/mocks/MockERC721.sol","lib/forge-std/src/safeconsole.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"Test":{"0.8.25":{"path":"Test.sol\\Test.json","build_id":"7a875720b054329c26f09491a7f72d9d"}}},"seenByCompiler":true},"lib/forge-std/src/Vm.sol":{"lastModificationDate":1733235563231,"contentHash":"707e31ca7be04756b2a1b853d9c110ac","sourceName":"lib/forge-std/src/Vm.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":[],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"Vm":{"0.8.25":{"path":"Vm.sol\\Vm.json","build_id":"7a875720b054329c26f09491a7f72d9d"}},"VmSafe":{"0.8.25":{"path":"Vm.sol\\VmSafe.json","build_id":"7a875720b054329c26f09491a7f72d9d"}}},"seenByCompiler":true},"lib/forge-std/src/console.sol":{"lastModificationDate":1733235563075,"contentHash":"ce19a9e49945b42118379ff99d853c05","sourceName":"lib/forge-std/src/console.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":[],"versionRequirement":">=0.4.22, <0.9.0","artifacts":{"console":{"0.8.25":{"path":"console.sol\\console.json","build_id":"7a875720b054329c26f09491a7f72d9d"}}},"seenByCompiler":true},"lib/forge-std/src/console2.sol":{"lastModificationDate":1733235563075,"contentHash":"f65ad21034b111e70fb5342d5771efcd","sourceName":"lib/forge-std/src/console2.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":["lib/forge-std/src/console.sol"],"versionRequirement":">=0.4.22, <0.9.0","artifacts":{},"seenByCompiler":true},"lib/forge-std/src/interfaces/IERC165.sol":{"lastModificationDate":1733235563075,"contentHash":"90fe5e2e3ed432d6f3b408e7c9e8a739","sourceName":"lib/forge-std/src/interfaces/IERC165.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":[],"versionRequirement":">=0.6.2","artifacts":{"IERC165":{"0.8.25":{"path":"IERC165.sol\\IERC165.json","build_id":"7a875720b054329c26f09491a7f72d9d"}}},"seenByCompiler":true},"lib/forge-std/src/interfaces/IERC20.sol":{"lastModificationDate":1733235563075,"contentHash":"8099161d518e5862a76750349d58e801","sourceName":"lib/forge-std/src/interfaces/IERC20.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":[],"versionRequirement":">=0.6.2","artifacts":{"IERC20":{"0.8.25":{"path":"IERC20.sol\\IERC20.json","build_id":"7a875720b054329c26f09491a7f72d9d"}}},"seenByCompiler":true},"lib/forge-std/src/interfaces/IERC721.sol":{"lastModificationDate":1733235563075,"contentHash":"efc26e7f9a2f76b68088c8760ceae2dc","sourceName":"lib/forge-std/src/interfaces/IERC721.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":["lib/forge-std/src/interfaces/IERC165.sol"],"versionRequirement":">=0.6.2","artifacts":{"IERC721":{"0.8.25":{"path":"IERC721.sol\\IERC721.json","build_id":"7a875720b054329c26f09491a7f72d9d"}},"IERC721Enumerable":{"0.8.25":{"path":"IERC721.sol\\IERC721Enumerable.json","build_id":"7a875720b054329c26f09491a7f72d9d"}},"IERC721Metadata":{"0.8.25":{"path":"IERC721.sol\\IERC721Metadata.json","build_id":"7a875720b054329c26f09491a7f72d9d"}},"IERC721TokenReceiver":{"0.8.25":{"path":"IERC721.sol\\IERC721TokenReceiver.json","build_id":"7a875720b054329c26f09491a7f72d9d"}}},"seenByCompiler":true},"lib/forge-std/src/interfaces/IMulticall3.sol":{"lastModificationDate":1733235563075,"contentHash":"7b131ca1ca32ef6378b7b9ad5488b901","sourceName":"lib/forge-std/src/interfaces/IMulticall3.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":[],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"IMulticall3":{"0.8.25":{"path":"IMulticall3.sol\\IMulticall3.json","build_id":"7a875720b054329c26f09491a7f72d9d"}}},"seenByCompiler":true},"lib/forge-std/src/mocks/MockERC20.sol":{"lastModificationDate":1733235563075,"contentHash":"8e14d63e81e1d54dbc2d44df38ae9dec","sourceName":"lib/forge-std/src/mocks/MockERC20.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":["lib/forge-std/src/interfaces/IERC20.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"MockERC20":{"0.8.25":{"path":"MockERC20.sol\\MockERC20.json","build_id":"7a875720b054329c26f09491a7f72d9d"}}},"seenByCompiler":true},"lib/forge-std/src/mocks/MockERC721.sol":{"lastModificationDate":1733235563075,"contentHash":"e91cd9dba7f88f03710c56a347d89d1e","sourceName":"lib/forge-std/src/mocks/MockERC721.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":["lib/forge-std/src/interfaces/IERC165.sol","lib/forge-std/src/interfaces/IERC721.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"MockERC721":{"0.8.25":{"path":"MockERC721.sol\\MockERC721.json","build_id":"7a875720b054329c26f09491a7f72d9d"}}},"seenByCompiler":true},"lib/forge-std/src/safeconsole.sol":{"lastModificationDate":1733235563075,"contentHash":"1445aa2f47000e212173e0cefd6c7a77","sourceName":"lib/forge-std/src/safeconsole.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":[],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"safeconsole":{"0.8.25":{"path":"safeconsole.sol\\safeconsole.json","build_id":"7a875720b054329c26f09491a7f72d9d"}}},"seenByCompiler":true},"lib/openzeppelin-contracts/contracts/access/Ownable.sol":{"lastModificationDate":1733235605133,"contentHash":"d3c790edc9ccf808a17c5a6cd13614fd","sourceName":"lib/openzeppelin-contracts/contracts/access/Ownable.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":["lib/openzeppelin-contracts/contracts/utils/Context.sol"],"versionRequirement":"^0.8.20","artifacts":{"Ownable":{"0.8.25":{"path":"Ownable.sol\\Ownable.json","build_id":"242297aeb5333637144512aa53a39760"}}},"seenByCompiler":true},"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol":{"lastModificationDate":1733235605149,"contentHash":"267d92fe4de67b1bdb3302c08f387dbf","sourceName":"lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":[],"versionRequirement":"^0.8.20","artifacts":{"IERC1155Errors":{"0.8.25":{"path":"draft-IERC6093.sol\\IERC1155Errors.json","build_id":"242297aeb5333637144512aa53a39760"}},"IERC20Errors":{"0.8.25":{"path":"draft-IERC6093.sol\\IERC20Errors.json","build_id":"242297aeb5333637144512aa53a39760"}},"IERC721Errors":{"0.8.25":{"path":"draft-IERC6093.sol\\IERC721Errors.json","build_id":"242297aeb5333637144512aa53a39760"}}},"seenByCompiler":true},"lib/openzeppelin-contracts/contracts/token/ERC1155/ERC1155.sol":{"lastModificationDate":1733235605196,"contentHash":"7c7e5fac496b72e79ede7720a44a887c","sourceName":"lib/openzeppelin-contracts/contracts/token/ERC1155/ERC1155.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":["lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol","lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155.sol","lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol","lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol","lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Utils.sol","lib/openzeppelin-contracts/contracts/utils/Arrays.sol","lib/openzeppelin-contracts/contracts/utils/Comparators.sol","lib/openzeppelin-contracts/contracts/utils/Context.sol","lib/openzeppelin-contracts/contracts/utils/Panic.sol","lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol","lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol","lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol","lib/openzeppelin-contracts/contracts/utils/math/Math.sol","lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol"],"versionRequirement":"^0.8.20","artifacts":{"ERC1155":{"0.8.25":{"path":"ERC1155.sol\\ERC1155.json","build_id":"242297aeb5333637144512aa53a39760"}}},"seenByCompiler":true},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155.sol":{"lastModificationDate":1733235605196,"contentHash":"1c608119423d96df908c14227957bd75","sourceName":"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":["lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol"],"versionRequirement":"^0.8.20","artifacts":{"IERC1155":{"0.8.25":{"path":"IERC1155.sol\\IERC1155.json","build_id":"242297aeb5333637144512aa53a39760"}}},"seenByCompiler":true},"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol":{"lastModificationDate":1733235605196,"contentHash":"a1c249dfb5f349be0b4fc85e635dfd59","sourceName":"lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":["lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol"],"versionRequirement":"^0.8.20","artifacts":{"IERC1155Receiver":{"0.8.25":{"path":"IERC1155Receiver.sol\\IERC1155Receiver.json","build_id":"242297aeb5333637144512aa53a39760"}}},"seenByCompiler":true},"lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol":{"lastModificationDate":1733235605196,"contentHash":"41cab3d54b5ea3f9c99255d7809a0694","sourceName":"lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":["lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol","lib/openzeppelin-contracts/contracts\\token/ERC1155/ERC1155.sol","lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155.sol","lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol","lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol","lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Utils.sol","lib/openzeppelin-contracts/contracts/utils/Arrays.sol","lib/openzeppelin-contracts/contracts/utils/Comparators.sol","lib/openzeppelin-contracts/contracts/utils/Context.sol","lib/openzeppelin-contracts/contracts/utils/Panic.sol","lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol","lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol","lib/openzeppelin-contracts/contracts/utils/Strings.sol","lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol","lib/openzeppelin-contracts/contracts/utils/math/Math.sol","lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol","lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol"],"versionRequirement":"^0.8.20","artifacts":{"ERC1155URIStorage":{"0.8.25":{"path":"ERC1155URIStorage.sol\\ERC1155URIStorage.json","build_id":"242297aeb5333637144512aa53a39760"}}},"seenByCompiler":true},"lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol":{"lastModificationDate":1733235605196,"contentHash":"f8867afd172ace7ffa75d3752d785770","sourceName":"lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":["lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155.sol","lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol"],"versionRequirement":"^0.8.20","artifacts":{"IERC1155MetadataURI":{"0.8.25":{"path":"IERC1155MetadataURI.sol\\IERC1155MetadataURI.json","build_id":"242297aeb5333637144512aa53a39760"}}},"seenByCompiler":true},"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Utils.sol":{"lastModificationDate":1733235605196,"contentHash":"346f1d25727e87df31335bbbc03a6c20","sourceName":"lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Utils.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":["lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol","lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol","lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol"],"versionRequirement":"^0.8.20","artifacts":{"ERC1155Utils":{"0.8.25":{"path":"ERC1155Utils.sol\\ERC1155Utils.json","build_id":"242297aeb5333637144512aa53a39760"}}},"seenByCompiler":true},"lib/openzeppelin-contracts/contracts/utils/Arrays.sol":{"lastModificationDate":1733235605211,"contentHash":"d7ecd50ca59f27485f37e919aeb0392a","sourceName":"lib/openzeppelin-contracts/contracts/utils/Arrays.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":["lib/openzeppelin-contracts/contracts/utils/Comparators.sol","lib/openzeppelin-contracts/contracts/utils/Panic.sol","lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol","lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol","lib/openzeppelin-contracts/contracts/utils/math/Math.sol","lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol"],"versionRequirement":"^0.8.20","artifacts":{"Arrays":{"0.8.25":{"path":"Arrays.sol\\Arrays.json","build_id":"242297aeb5333637144512aa53a39760"}}},"seenByCompiler":true},"lib/openzeppelin-contracts/contracts/utils/Comparators.sol":{"lastModificationDate":1733235605211,"contentHash":"0e57405a6f979853cbfeb0df3546c3a3","sourceName":"lib/openzeppelin-contracts/contracts/utils/Comparators.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":[],"versionRequirement":"^0.8.20","artifacts":{"Comparators":{"0.8.25":{"path":"Comparators.sol\\Comparators.json","build_id":"242297aeb5333637144512aa53a39760"}}},"seenByCompiler":true},"lib/openzeppelin-contracts/contracts/utils/Context.sol":{"lastModificationDate":1733235605211,"contentHash":"67bfbc07588eb8683b3fd8f6f909563e","sourceName":"lib/openzeppelin-contracts/contracts/utils/Context.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":[],"versionRequirement":"^0.8.20","artifacts":{"Context":{"0.8.25":{"path":"Context.sol\\Context.json","build_id":"242297aeb5333637144512aa53a39760"}}},"seenByCompiler":true},"lib/openzeppelin-contracts/contracts/utils/Panic.sol":{"lastModificationDate":1733235605211,"contentHash":"2133dc13536b4a6a98131e431fac59e1","sourceName":"lib/openzeppelin-contracts/contracts/utils/Panic.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":[],"versionRequirement":"^0.8.20","artifacts":{"Panic":{"0.8.25":{"path":"Panic.sol\\Panic.json","build_id":"242297aeb5333637144512aa53a39760"}}},"seenByCompiler":true},"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol":{"lastModificationDate":1733235605211,"contentHash":"b1b4d2a2542c75ed7ce12036009f3617","sourceName":"lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":[],"versionRequirement":"^0.8.20","artifacts":{"SlotDerivation":{"0.8.25":{"path":"SlotDerivation.sol\\SlotDerivation.json","build_id":"242297aeb5333637144512aa53a39760"}}},"seenByCompiler":true},"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol":{"lastModificationDate":1733235605211,"contentHash":"e656d64c4ce918f3d13030b91c935134","sourceName":"lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":[],"versionRequirement":"^0.8.20","artifacts":{"StorageSlot":{"0.8.25":{"path":"StorageSlot.sol\\StorageSlot.json","build_id":"242297aeb5333637144512aa53a39760"}}},"seenByCompiler":true},"lib/openzeppelin-contracts/contracts/utils/Strings.sol":{"lastModificationDate":1733235605640,"contentHash":"f4cc092958a3ddec1f4ed4103bfc54dd","sourceName":"lib/openzeppelin-contracts/contracts/utils/Strings.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":["lib/openzeppelin-contracts/contracts/utils/Panic.sol","lib/openzeppelin-contracts/contracts/utils/math/Math.sol","lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol","lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol"],"versionRequirement":"^0.8.20","artifacts":{"Strings":{"0.8.25":{"path":"Strings.sol\\Strings.json","build_id":"242297aeb5333637144512aa53a39760"}}},"seenByCompiler":true},"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol":{"lastModificationDate":1733235605211,"contentHash":"7c03c1e37c3dc24eafb76dc2b8a5c3a6","sourceName":"lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":["lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol"],"versionRequirement":"^0.8.20","artifacts":{"ERC165":{"0.8.25":{"path":"ERC165.sol\\ERC165.json","build_id":"242297aeb5333637144512aa53a39760"}}},"seenByCompiler":true},"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol":{"lastModificationDate":1733235605211,"contentHash":"bf0119eb2a570f219729ff38b6cd1df8","sourceName":"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":[],"versionRequirement":"^0.8.20","artifacts":{"IERC165":{"0.8.25":{"path":"introspection\\IERC165.sol\\IERC165.json","build_id":"242297aeb5333637144512aa53a39760"}}},"seenByCompiler":true},"lib/openzeppelin-contracts/contracts/utils/math/Math.sol":{"lastModificationDate":1733235605641,"contentHash":"2b2665ae9bdb1af440658741a77fe213","sourceName":"lib/openzeppelin-contracts/contracts/utils/math/Math.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":["lib/openzeppelin-contracts/contracts/utils/Panic.sol","lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol"],"versionRequirement":"^0.8.20","artifacts":{"Math":{"0.8.25":{"path":"Math.sol\\Math.json","build_id":"242297aeb5333637144512aa53a39760"}}},"seenByCompiler":true},"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol":{"lastModificationDate":1733235605211,"contentHash":"2adca1150f58fc6f3d1f0a0f22ee7cca","sourceName":"lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":[],"versionRequirement":"^0.8.20","artifacts":{"SafeCast":{"0.8.25":{"path":"SafeCast.sol\\SafeCast.json","build_id":"242297aeb5333637144512aa53a39760"}}},"seenByCompiler":true},"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol":{"lastModificationDate":1733235605211,"contentHash":"ae3528afb8bdb0a7dcfba5b115ee8074","sourceName":"lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":["lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol"],"versionRequirement":"^0.8.20","artifacts":{"SignedMath":{"0.8.25":{"path":"SignedMath.sol\\SignedMath.json","build_id":"242297aeb5333637144512aa53a39760"}}},"seenByCompiler":true},"src/Counter.sol":{"lastModificationDate":1733235560942,"contentHash":"ae6c800a2b4c57768024d6e9423d39e8","sourceName":"src/Counter.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":[],"versionRequirement":"^0.8.13","artifacts":{"Counter":{"0.8.25":{"path":"Counter.sol\\Counter.json","build_id":"7a875720b054329c26f09491a7f72d9d"}}},"seenByCompiler":true},"src/ParedesNFT.sol":{"lastModificationDate":1733257674595,"contentHash":"eb88d7c3168d376ae568aee8666342f1","sourceName":"src/ParedesNFT.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":["lib/openzeppelin-contracts/contracts\\access/Ownable.sol","lib/openzeppelin-contracts/contracts/interfaces/draft-IERC6093.sol","lib/openzeppelin-contracts/contracts\\token/ERC1155/ERC1155.sol","lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155.sol","lib/openzeppelin-contracts/contracts/token/ERC1155/IERC1155Receiver.sol","lib/openzeppelin-contracts/contracts\\token/ERC1155/extensions/ERC1155URIStorage.sol","lib/openzeppelin-contracts/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol","lib/openzeppelin-contracts/contracts/token/ERC1155/utils/ERC1155Utils.sol","lib/openzeppelin-contracts/contracts/utils/Arrays.sol","lib/openzeppelin-contracts/contracts/utils/Comparators.sol","lib/openzeppelin-contracts/contracts/utils/Context.sol","lib/openzeppelin-contracts/contracts/utils/Panic.sol","lib/openzeppelin-contracts/contracts/utils/SlotDerivation.sol","lib/openzeppelin-contracts/contracts/utils/StorageSlot.sol","lib/openzeppelin-contracts/contracts/utils/Strings.sol","lib/openzeppelin-contracts/contracts/utils/introspection/ERC165.sol","lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol","lib/openzeppelin-contracts/contracts/utils/math/Math.sol","lib/openzeppelin-contracts/contracts/utils/math/SafeCast.sol","lib/openzeppelin-contracts/contracts/utils/math/SignedMath.sol"],"versionRequirement":"=0.8.25","artifacts":{"ParedesNFT":{"0.8.25":{"path":"ParedesNFT.sol\\ParedesNFT.json","build_id":"242297aeb5333637144512aa53a39760"}}},"seenByCompiler":true},"test/Counter.t.sol":{"lastModificationDate":1733235560942,"contentHash":"9d959b237381565c33e0fda71b690f32","sourceName":"test/Counter.t.sol","compilerSettings":{"solc":{"optimizer":{"enabled":true,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode","evm.methodIdentifiers","metadata"]}},"evmVersion":"paris","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"paris","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}},"imports":["lib/forge-std/src/Base.sol","lib/forge-std/src/StdAssertions.sol","lib/forge-std/src/StdChains.sol","lib/forge-std/src/StdCheats.sol","lib/forge-std/src/StdError.sol","lib/forge-std/src/StdInvariant.sol","lib/forge-std/src/StdJson.sol","lib/forge-std/src/StdMath.sol","lib/forge-std/src/StdStorage.sol","lib/forge-std/src/StdStyle.sol","lib/forge-std/src/StdToml.sol","lib/forge-std/src/StdUtils.sol","lib/forge-std/src\\Test.sol","lib/forge-std/src/Vm.sol","lib/forge-std/src/console.sol","lib/forge-std/src/console2.sol","lib/forge-std/src/interfaces/IERC165.sol","lib/forge-std/src/interfaces/IERC20.sol","lib/forge-std/src/interfaces/IERC721.sol","lib/forge-std/src/interfaces/IMulticall3.sol","lib/forge-std/src/mocks/MockERC20.sol","lib/forge-std/src/mocks/MockERC721.sol","lib/forge-std/src/safeconsole.sol","src\\Counter.sol"],"versionRequirement":"^0.8.13","artifacts":{"CounterTest":{"0.8.25":{"path":"Counter.t.sol\\CounterTest.json","build_id":"7a875720b054329c26f09491a7f72d9d"}}},"seenByCompiler":true}},"builds":["242297aeb5333637144512aa53a39760","7a875720b054329c26f09491a7f72d9d"]} \ No newline at end of file diff --git a/src/ParedesNFT.sol b/src/ParedesNFT.sol new file mode 100644 index 0000000..ad22b6e --- /dev/null +++ b/src/ParedesNFT.sol @@ -0,0 +1,33 @@ +// SPDX-License-Identifier: MIT +// Compatible with OpenZeppelin Contracts ^5.0.0 +pragma solidity 0.8.25; + +import {ERC1155} from "@openzeppelin/contracts/token/ERC1155/ERC1155.sol"; +import {ERC1155URIStorage} from "@openzeppelin/contracts/token/ERC1155/extensions/ERC1155URIStorage.sol"; +import {Ownable} from "@openzeppelin/contracts/access/Ownable.sol"; + +contract ParedesNFT is ERC1155, ERC1155URIStorage, Ownable { + constructor(address initialOwner) ERC1155("") Ownable(initialOwner) {} + + function setURI(uint256 id_, string memory uri_) public onlyOwner { + _setURI(id_, uri_); + } + + function mint(address account, uint256 id, uint256 amount, bytes memory data) + public + onlyOwner + { + _mint(account, id, amount, data); + } + + function mintBatch(address to, uint256[] memory ids, uint256[] memory amounts, bytes memory data) + public + onlyOwner + { + _mintBatch(to, ids, amounts, data); + } + + function uri(uint256 tokenId) public view override(ERC1155, ERC1155URIStorage) returns (string memory) { + return ERC1155URIStorage.uri(tokenId); + } +} \ No newline at end of file diff --git a/test/ParedesNFT.t.sol b/test/ParedesNFT.t.sol new file mode 100644 index 0000000..88c8521 --- /dev/null +++ b/test/ParedesNFT.t.sol @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.13; + +import {Test, console} from "forge-std/Test.sol"; +import {ParedesNFT} from "../src/ParedesNFT.sol"; + +contract ParedesNFTTest is Test { + ParedesNFT public paredes; + + function setUp() public { + paredes = new ParedesNFT(msg.sender); + } + +}