Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .gas-snapshot
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
ProductRegistryTest:testAddCheckpoint() (gas: 161902)
ProductRegistryTest:testAddWitness() (gas: 271615)
ProductRegistryTest:testGetMetadataCID() (gas: 69414)
ProductRegistryTest:testRegisterProduct() (gas: 60730)
ProductRegistryTest:testUpdateMetadataCID() (gas: 65286)
ProductRegistryTest:testVerifyCheckpoint() (gas: 323615)
82 changes: 82 additions & 0 deletions broadcast/Deploy.s.sol/11155111/run-1751994469.json

Large diffs are not rendered by default.

82 changes: 82 additions & 0 deletions broadcast/Deploy.s.sol/11155111/run-1751995476.json

Large diffs are not rendered by default.

82 changes: 82 additions & 0 deletions broadcast/Deploy.s.sol/11155111/run-latest.json

Large diffs are not rendered by default.

49 changes: 49 additions & 0 deletions broadcast/Deploy.s.sol/31337/run-1751909087.json

Large diffs are not rendered by default.

49 changes: 49 additions & 0 deletions broadcast/Deploy.s.sol/31337/run-latest.json

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions cache/Deploy.s.sol/11155111/run-1751994469.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"transactions": [
{
"rpc": "https://sepolia.infura.io/v3/9647af5c3e1f46d398a5088b179b2e20"
},
{
"rpc": "https://sepolia.infura.io/v3/9647af5c3e1f46d398a5088b179b2e20"
}
]
}
10 changes: 10 additions & 0 deletions cache/Deploy.s.sol/11155111/run-1751995476.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"transactions": [
{
"rpc": "https://sepolia.infura.io/v3/9647af5c3e1f46d398a5088b179b2e20"
},
{
"rpc": "https://sepolia.infura.io/v3/9647af5c3e1f46d398a5088b179b2e20"
}
]
}
10 changes: 10 additions & 0 deletions cache/Deploy.s.sol/11155111/run-latest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"transactions": [
{
"rpc": "https://sepolia.infura.io/v3/9647af5c3e1f46d398a5088b179b2e20"
},
{
"rpc": "https://sepolia.infura.io/v3/9647af5c3e1f46d398a5088b179b2e20"
}
]
}
1 change: 1 addition & 0 deletions cache/solidity-files-cache.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"_format":"","paths":{"artifacts":"out","build_infos":"out/build-info","sources":"src","tests":"test","scripts":"script","libraries":["lib","node_modules"]},"files":{"lib/forge-std/src/Base.sol":{"lastModificationDate":1748519707472,"contentHash":"26ab04949780bbaec40dfa66ddea6aac","sourceName":"lib/forge-std/src/Base.sol","imports":["lib/forge-std/src/StdStorage.sol","lib/forge-std/src/Vm.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"CommonBase":{"0.8.28":{"default":{"path":"Base.sol\\CommonBase.json","build_id":"563f11d365f8860901fca344a7378bd5"}}},"ScriptBase":{"0.8.28":{"default":{"path":"Base.sol\\ScriptBase.json","build_id":"563f11d365f8860901fca344a7378bd5"}}},"TestBase":{"0.8.28":{"default":{"path":"Base.sol\\TestBase.json","build_id":"563f11d365f8860901fca344a7378bd5"}}}},"seenByCompiler":true},"lib/forge-std/src/Script.sol":{"lastModificationDate":1748519707474,"contentHash":"1d11dd99b6b917f2de20017e94d9de06","sourceName":"lib/forge-std/src/Script.sol","imports":["lib/forge-std/src/Base.sol","lib/forge-std/src/StdChains.sol","lib/forge-std/src/StdCheats.sol","lib/forge-std/src/StdConstants.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/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/IMulticall3.sol","lib/forge-std/src/safeconsole.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"Script":{"0.8.28":{"default":{"path":"Script.sol\\Script.json","build_id":"563f11d365f8860901fca344a7378bd5"}}}},"seenByCompiler":true},"lib/forge-std/src/StdChains.sol":{"lastModificationDate":1748519707474,"contentHash":"46c326449920147b8c9f2114981019a1","sourceName":"lib/forge-std/src/StdChains.sol","imports":["lib/forge-std/src/Vm.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"StdChains":{"0.8.28":{"default":{"path":"StdChains.sol\\StdChains.json","build_id":"563f11d365f8860901fca344a7378bd5"}}}},"seenByCompiler":true},"lib/forge-std/src/StdCheats.sol":{"lastModificationDate":1748519707474,"contentHash":"88408106c41697153142f6a6eeb06728","sourceName":"lib/forge-std/src/StdCheats.sol","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.28":{"default":{"path":"StdCheats.sol\\StdCheats.json","build_id":"563f11d365f8860901fca344a7378bd5"}}},"StdCheatsSafe":{"0.8.28":{"default":{"path":"StdCheats.sol\\StdCheatsSafe.json","build_id":"563f11d365f8860901fca344a7378bd5"}}}},"seenByCompiler":true},"lib/forge-std/src/StdConstants.sol":{"lastModificationDate":1748519707474,"contentHash":"14edb96ae3a9171cd6885d775e077b2b","sourceName":"lib/forge-std/src/StdConstants.sol","imports":["lib/forge-std/src/Vm.sol","lib/forge-std/src/interfaces/IMulticall3.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"StdConstants":{"0.8.28":{"default":{"path":"StdConstants.sol\\StdConstants.json","build_id":"563f11d365f8860901fca344a7378bd5"}}}},"seenByCompiler":true},"lib/forge-std/src/StdJson.sol":{"lastModificationDate":1748519707479,"contentHash":"02209da5708eaee03e24a9c24a687370","sourceName":"lib/forge-std/src/StdJson.sol","imports":["lib/forge-std/src/Vm.sol"],"versionRequirement":">=0.6.0, <0.9.0","artifacts":{"stdJson":{"0.8.28":{"default":{"path":"StdJson.sol\\stdJson.json","build_id":"563f11d365f8860901fca344a7378bd5"}}}},"seenByCompiler":true},"lib/forge-std/src/StdMath.sol":{"lastModificationDate":1748519707482,"contentHash":"9da8f453eba6bb98f3d75bc6822bfb29","sourceName":"lib/forge-std/src/StdMath.sol","imports":[],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"stdMath":{"0.8.28":{"default":{"path":"StdMath.sol\\stdMath.json","build_id":"563f11d365f8860901fca344a7378bd5"}}}},"seenByCompiler":true},"lib/forge-std/src/StdStorage.sol":{"lastModificationDate":1748519707483,"contentHash":"ce68f6e336944f16d31351a47d0b19b8","sourceName":"lib/forge-std/src/StdStorage.sol","imports":["lib/forge-std/src/Vm.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"stdStorage":{"0.8.28":{"default":{"path":"StdStorage.sol\\stdStorage.json","build_id":"563f11d365f8860901fca344a7378bd5"}}},"stdStorageSafe":{"0.8.28":{"default":{"path":"StdStorage.sol\\stdStorageSafe.json","build_id":"563f11d365f8860901fca344a7378bd5"}}}},"seenByCompiler":true},"lib/forge-std/src/StdStyle.sol":{"lastModificationDate":1748519707483,"contentHash":"6281165a12aa639705c691fccefd855e","sourceName":"lib/forge-std/src/StdStyle.sol","imports":["lib/forge-std/src/Vm.sol"],"versionRequirement":">=0.4.22, <0.9.0","artifacts":{"StdStyle":{"0.8.28":{"default":{"path":"StdStyle.sol\\StdStyle.json","build_id":"563f11d365f8860901fca344a7378bd5"}}}},"seenByCompiler":true},"lib/forge-std/src/StdUtils.sol":{"lastModificationDate":1748519707483,"contentHash":"4c104fcdec12d3b28348ff9e32c1e4eb","sourceName":"lib/forge-std/src/StdUtils.sol","imports":["lib/forge-std/src/Vm.sol","lib/forge-std/src/interfaces/IMulticall3.sol"],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"StdUtils":{"0.8.28":{"default":{"path":"StdUtils.sol\\StdUtils.json","build_id":"563f11d365f8860901fca344a7378bd5"}}}},"seenByCompiler":true},"lib/forge-std/src/Vm.sol":{"lastModificationDate":1748519707807,"contentHash":"c89e8ba7ee46cc706870d539a13386b7","sourceName":"lib/forge-std/src/Vm.sol","imports":[],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"Vm":{"0.8.28":{"default":{"path":"Vm.sol\\Vm.json","build_id":"563f11d365f8860901fca344a7378bd5"}}},"VmSafe":{"0.8.28":{"default":{"path":"Vm.sol\\VmSafe.json","build_id":"563f11d365f8860901fca344a7378bd5"}}}},"seenByCompiler":true},"lib/forge-std/src/console.sol":{"lastModificationDate":1748519707492,"contentHash":"ce19a9e49945b42118379ff99d853c05","sourceName":"lib/forge-std/src/console.sol","imports":[],"versionRequirement":">=0.4.22, <0.9.0","artifacts":{"console":{"0.8.28":{"default":{"path":"console.sol\\console.json","build_id":"563f11d365f8860901fca344a7378bd5"}}}},"seenByCompiler":true},"lib/forge-std/src/console2.sol":{"lastModificationDate":1748519707492,"contentHash":"f65ad21034b111e70fb5342d5771efcd","sourceName":"lib/forge-std/src/console2.sol","imports":["lib/forge-std/src/console.sol"],"versionRequirement":">=0.4.22, <0.9.0","artifacts":{},"seenByCompiler":true},"lib/forge-std/src/interfaces/IMulticall3.sol":{"lastModificationDate":1748519707502,"contentHash":"7b131ca1ca32ef6378b7b9ad5488b901","sourceName":"lib/forge-std/src/interfaces/IMulticall3.sol","imports":[],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"IMulticall3":{"0.8.28":{"default":{"path":"IMulticall3.sol\\IMulticall3.json","build_id":"563f11d365f8860901fca344a7378bd5"}}}},"seenByCompiler":true},"lib/forge-std/src/safeconsole.sol":{"lastModificationDate":1748519707502,"contentHash":"1445aa2f47000e212173e0cefd6c7a77","sourceName":"lib/forge-std/src/safeconsole.sol","imports":[],"versionRequirement":">=0.6.2, <0.9.0","artifacts":{"safeconsole":{"0.8.28":{"default":{"path":"safeconsole.sol\\safeconsole.json","build_id":"563f11d365f8860901fca344a7378bd5"}}}},"seenByCompiler":true},"script/Deploy.s.sol":{"lastModificationDate":1751908945347,"contentHash":"a08027ad3a2f4135e0aea6fb86659aef","sourceName":"script/Deploy.s.sol","imports":["lib/forge-std/src/Base.sol","lib/forge-std/src\\Script.sol","lib/forge-std/src/StdChains.sol","lib/forge-std/src/StdCheats.sol","lib/forge-std/src/StdConstants.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/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/IMulticall3.sol","lib/forge-std/src/safeconsole.sol","script\\ProductRegistry.sol"],"versionRequirement":"^0.8.20","artifacts":{"DeployScript":{"0.8.28":{"default":{"path":"Deploy.s.sol\\DeployScript.json","build_id":"563f11d365f8860901fca344a7378bd5"}}},"DummyVerifier":{"0.8.28":{"default":{"path":"Deploy.s.sol\\DummyVerifier.json","build_id":"563f11d365f8860901fca344a7378bd5"}}}},"seenByCompiler":true},"script/ProductRegistry.sol":{"lastModificationDate":1748519787613,"contentHash":"a80678d3f0dd2953fdf9ea5243e08561","sourceName":"script/ProductRegistry.sol","imports":[],"versionRequirement":"^0.8.20","artifacts":{"IZKVerifier":{"0.8.28":{"default":{"path":"ProductRegistry.sol\\IZKVerifier.json","build_id":"563f11d365f8860901fca344a7378bd5"}}},"ProductRegistry":{"0.8.28":{"default":{"path":"ProductRegistry.sol\\ProductRegistry.json","build_id":"563f11d365f8860901fca344a7378bd5"}}}},"seenByCompiler":true},"src/Counter.sol":{"lastModificationDate":1748519701246,"contentHash":"ae6c800a2b4c57768024d6e9423d39e8","sourceName":"src/Counter.sol","imports":[],"versionRequirement":"^0.8.13","artifacts":{"Counter":{"0.8.28":{"default":{"path":"Counter.sol\\Counter.json","build_id":"563f11d365f8860901fca344a7378bd5"}}}},"seenByCompiler":true},"src/contracts/ProjectRegistry.sol":{"lastModificationDate":1748518835645,"contentHash":"a80678d3f0dd2953fdf9ea5243e08561","sourceName":"src/contracts/ProjectRegistry.sol","imports":[],"versionRequirement":"^0.8.20","artifacts":{"IZKVerifier":{"0.8.28":{"default":{"path":"ProjectRegistry.sol\\IZKVerifier.json","build_id":"563f11d365f8860901fca344a7378bd5"}}},"ProductRegistry":{"0.8.28":{"default":{"path":"ProjectRegistry.sol\\ProductRegistry.json","build_id":"563f11d365f8860901fca344a7378bd5"}}}},"seenByCompiler":true}},"builds":["563f11d365f8860901fca344a7378bd5"],"profiles":{"default":{"solc":{"optimizer":{"enabled":false,"runs":200},"metadata":{"useLiteralContent":false,"bytecodeHash":"ipfs","appendCBOR":true},"outputSelection":{"*":{"*":["abi","evm.bytecode.object","evm.bytecode.sourceMap","evm.bytecode.linkReferences","evm.deployedBytecode.object","evm.deployedBytecode.sourceMap","evm.deployedBytecode.linkReferences","evm.deployedBytecode.immutableReferences","evm.methodIdentifiers","metadata"]}},"evmVersion":"cancun","viaIR":false,"libraries":{}},"vyper":{"evmVersion":"cancun","outputSelection":{"*":{"*":["abi","evm.bytecode","evm.deployedBytecode"]}}}}}}
2 changes: 2 additions & 0 deletions foundry.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,5 @@ libs = ["node_modules", "lib"]
remappings = ["supply-chain-traceability/=node_modules/supply-chain-traceability/"]

# See more config options https://github.com/foundry-rs/foundry/blob/master/crates/config/README.md#all-options
[rpc_endpoints]
sepolia = "https://sepolia.infura.io/v3/9647af5c3e1f46d398a5088b179b2e20" # or Alchemy, etc.
1 change: 1 addition & 0 deletions out/Base.sol/CommonBase.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"stateVariables\":{\"CONSOLE\":{\"details\":\"console.sol and console2.sol work by executing a staticcall to this address. Calculated as `address(uint160(uint88(bytes11(\\\"console.log\\\"))))`.\"},\"CREATE2_FACTORY\":{\"details\":\"Used when deploying with create2. Taken from https://github.com/Arachnid/deterministic-deployment-proxy.\"},\"DEFAULT_SENDER\":{\"details\":\"The default address for tx.origin and msg.sender. Calculated as `address(uint160(uint256(keccak256(\\\"foundry default caller\\\"))))`.\"},\"DEFAULT_TEST_CONTRACT\":{\"details\":\"The address of the first contract `CREATE`d by a running test contract. When running tests, each test contract is `CREATE`d by `DEFAULT_SENDER` with nonce 1. Calculated as `VM.computeCreateAddress(VM.computeCreateAddress(DEFAULT_SENDER, 1), 1)`.\"},\"MULTICALL3_ADDRESS\":{\"details\":\"Deterministic deployment address of the Multicall3 contract. Taken from https://www.multicall3.com.\"},\"SECP256K1_ORDER\":{\"details\":\"The order of the secp256k1 curve.\"},\"VM_ADDRESS\":{\"details\":\"Cheat code address. Calculated as `address(uint160(uint256(keccak256(\\\"hevm cheat code\\\"))))`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"CommonBase\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[\":forge-std/=lib/forge-std/src/\",\":supply-chain-traceability/=node_modules/supply-chain-traceability/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0xa3735a6618a3014e42bb4329ad143e3b2c59cd95094350202e4c4a06c9d585dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef9db48d94726ec3d3fa3a84a8d520903705190f7ee7a04a065335a6aeeac4d\",\"dweb:/ipfs/QmSWmNny7TkzyqRPjGdpERAJuBwwznrGPLUqS4DZy5fX5z\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57\",\"dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["forge-std/=lib/forge-std/src/","supply-chain-traceability/=node_modules/supply-chain-traceability/"],"optimizer":{"enabled":false,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/Base.sol":"CommonBase"},"evmVersion":"cancun","libraries":{}},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0xa3735a6618a3014e42bb4329ad143e3b2c59cd95094350202e4c4a06c9d585dd","urls":["bzz-raw://eef9db48d94726ec3d3fa3a84a8d520903705190f7ee7a04a065335a6aeeac4d","dweb:/ipfs/QmSWmNny7TkzyqRPjGdpERAJuBwwznrGPLUqS4DZy5fX5z"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc","urls":["bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57","dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25","urls":["bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c","dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ"],"license":"MIT OR Apache-2.0"}},"version":1},"id":0}
1 change: 1 addition & 0 deletions out/Base.sol/ScriptBase.json
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/forge-std/src/Base.sol\":\"ScriptBase\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[\":forge-std/=lib/forge-std/src/\",\":supply-chain-traceability/=node_modules/supply-chain-traceability/\"]},\"sources\":{\"lib/forge-std/src/Base.sol\":{\"keccak256\":\"0xa3735a6618a3014e42bb4329ad143e3b2c59cd95094350202e4c4a06c9d585dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eef9db48d94726ec3d3fa3a84a8d520903705190f7ee7a04a065335a6aeeac4d\",\"dweb:/ipfs/QmSWmNny7TkzyqRPjGdpERAJuBwwznrGPLUqS4DZy5fX5z\"]},\"lib/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57\",\"dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ\"]},\"lib/forge-std/src/Vm.sol\":{\"keccak256\":\"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c\",\"dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["forge-std/=lib/forge-std/src/","supply-chain-traceability/=node_modules/supply-chain-traceability/"],"optimizer":{"enabled":false,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/forge-std/src/Base.sol":"ScriptBase"},"evmVersion":"cancun","libraries":{}},"sources":{"lib/forge-std/src/Base.sol":{"keccak256":"0xa3735a6618a3014e42bb4329ad143e3b2c59cd95094350202e4c4a06c9d585dd","urls":["bzz-raw://eef9db48d94726ec3d3fa3a84a8d520903705190f7ee7a04a065335a6aeeac4d","dweb:/ipfs/QmSWmNny7TkzyqRPjGdpERAJuBwwznrGPLUqS4DZy5fX5z"],"license":"MIT"},"lib/forge-std/src/StdStorage.sol":{"keccak256":"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc","urls":["bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57","dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ"],"license":"MIT"},"lib/forge-std/src/Vm.sol":{"keccak256":"0xaae88142a348064677cf81169ea0ca706be3e99e2a0f13a01878ff8d52cf6b25","urls":["bzz-raw://da4fb0ed1b31381c7e60ee386acc72796e8a8325c83739ec9a3678e2f841073c","dweb:/ipfs/Qmb4MU6FpAi8Wt5kUQ3wa7ooHnfMVbdd9zuvnqbTehLmxJ"],"license":"MIT OR Apache-2.0"}},"version":1},"id":0}
Loading