Skip to content

Commit 52b9f7d

Browse files
feat(deploy): single-broadcast forge script for blueprint registration (#7)
Replace the two-stage `forge create` + `cargo tangle blueprint deploy` flow with a single forge-script broadcast that deploys EmbeddingBSM (impl + UUPS proxy + initialize) and calls Tangle.createBlueprint in one transaction sequence. Mirrors the proven pattern already shipping in sibling blueprint repos. Why: the cargo-tangle CLI's settings-file and enum-case requirements have repeatedly blocked registration against the deployed Base Sepolia Tangle proxy. A pure-Foundry path removes that surface entirely and matches the deploy ergonomics of every other AI/inference blueprint. - contracts/script/RegisterBlueprint.s.sol: builds BlueprintDefinition from deploy/definition.json metadata (Dynamic+Fixed memberships, EventDriven pricing, single `embed` job, Native source). Emits DEPLOY_EMBEDDING_BSM_{IMPL,PROXY} and DEPLOY_EMBEDDING_BLUEPRINT_ID for downstream tooling. - deploy/register-blueprint.sh: small wrapper invoking forge script; defaults TSUSD_ADDRESS to USDC Sepolia and falls back to anvil defaults when env is unset. Verified: `forge build` clean; `bash -n` clean on the wrapper. No on-chain broadcast performed. Co-authored-by: Drew Stone <drewstone329@gmail.com>
1 parent 7bc8748 commit 52b9f7d

57 files changed

Lines changed: 288 additions & 137 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

contracts/cache/solidity-files-cache.json

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"abi":[{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea26469706673582212206fbac549237ce156cb79824392f56e916bc339a53956ae3ee3d09d3e7038191464736f6c634300081a0033","sourceMap":"233:5799:6:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x5f80fdfea26469706673582212206fbac549237ce156cb79824392f56e916bc339a53956ae3ee3d09d3e7038191464736f6c634300081a0033","sourceMap":"233:5799:6:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Collection of functions related to the address type\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"dependencies/@openzeppelin-contracts-5.1.0/utils/Address.sol\":\"Address\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin-contracts-5.1.0/=dependencies/@openzeppelin-contracts-5.1.0/\",\":@openzeppelin-contracts-upgradeable-5.1.0/=dependencies/@openzeppelin-contracts-upgradeable-5.1.0/\",\":@openzeppelin/contracts-upgradeable/=dependencies/@openzeppelin-contracts-upgradeable-5.1.0/\",\":@openzeppelin/contracts/=dependencies/@openzeppelin-contracts-5.1.0/\",\":forge-std-1.9.4/=dependencies/forge-std-1.9.4/\",\":forge-std/=dependencies/forge-std-1.9.4/src/\",\":tnt-core-0.10.4/=dependencies/tnt-core-0.10.4/\",\":tnt-core/=dependencies/tnt-core-0.10.4/src/\"],\"viaIR\":true},\"sources\":{\"dependencies/@openzeppelin-contracts-5.1.0/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"dependencies/@openzeppelin-contracts-5.1.0/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"target","type":"address"}],"type":"error","name":"AddressEmptyCode"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin-contracts-5.1.0/=dependencies/@openzeppelin-contracts-5.1.0/","@openzeppelin-contracts-upgradeable-5.1.0/=dependencies/@openzeppelin-contracts-upgradeable-5.1.0/","@openzeppelin/contracts-upgradeable/=dependencies/@openzeppelin-contracts-upgradeable-5.1.0/","@openzeppelin/contracts/=dependencies/@openzeppelin-contracts-5.1.0/","forge-std-1.9.4/=dependencies/forge-std-1.9.4/","forge-std/=dependencies/forge-std-1.9.4/src/","tnt-core-0.10.4/=dependencies/tnt-core-0.10.4/","tnt-core/=dependencies/tnt-core-0.10.4/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"dependencies/@openzeppelin-contracts-5.1.0/utils/Address.sol":"Address"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"dependencies/@openzeppelin-contracts-5.1.0/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.1.0/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"}},"version":1},"id":6}
1+
{"abi":[{"type":"error","name":"AddressEmptyCode","inputs":[{"name":"target","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220a382c60ca07d2cc4fd93920fecb2c330778740d6da058dd6b3e61b6369d83dae64736f6c634300081a0033","sourceMap":"233:5799:6:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x5f80fdfea2646970667358221220a382c60ca07d2cc4fd93920fecb2c330778740d6da058dd6b3e61b6369d83dae64736f6c634300081a0033","sourceMap":"233:5799:6:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"target\",\"type\":\"address\"}],\"name\":\"AddressEmptyCode\",\"type\":\"error\"}],\"devdoc\":{\"details\":\"Collection of functions related to the address type\",\"errors\":{\"AddressEmptyCode(address)\":[{\"details\":\"There's no code at `target` (it is not a contract).\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"dependencies/@openzeppelin-contracts-5.1.0/utils/Address.sol\":\"Address\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin-contracts-5.1.0/=dependencies/@openzeppelin-contracts-5.1.0/\",\":@openzeppelin-contracts-upgradeable-5.1.0/=dependencies/@openzeppelin-contracts-upgradeable-5.1.0/\",\":@openzeppelin/contracts-upgradeable/=dependencies/@openzeppelin-contracts-upgradeable-5.1.0/\",\":@openzeppelin/contracts/=dependencies/@openzeppelin-contracts-5.1.0/\",\":forge-std-1.9.4/=dependencies/forge-std-1.9.4/\",\":forge-std/=dependencies/forge-std-1.9.4/src/\",\":tnt-core-0.13.0/=dependencies/tnt-core-0.13.0/\",\":tnt-core/=dependencies/tnt-core-0.13.0/src/\"],\"viaIR\":true},\"sources\":{\"dependencies/@openzeppelin-contracts-5.1.0/utils/Address.sol\":{\"keccak256\":\"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23\",\"dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb\"]},\"dependencies/@openzeppelin-contracts-5.1.0/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"target","type":"address"}],"type":"error","name":"AddressEmptyCode"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin-contracts-5.1.0/=dependencies/@openzeppelin-contracts-5.1.0/","@openzeppelin-contracts-upgradeable-5.1.0/=dependencies/@openzeppelin-contracts-upgradeable-5.1.0/","@openzeppelin/contracts-upgradeable/=dependencies/@openzeppelin-contracts-upgradeable-5.1.0/","@openzeppelin/contracts/=dependencies/@openzeppelin-contracts-5.1.0/","forge-std-1.9.4/=dependencies/forge-std-1.9.4/","forge-std/=dependencies/forge-std-1.9.4/src/","tnt-core-0.13.0/=dependencies/tnt-core-0.13.0/","tnt-core/=dependencies/tnt-core-0.13.0/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"dependencies/@openzeppelin-contracts-5.1.0/utils/Address.sol":"Address"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"dependencies/@openzeppelin-contracts-5.1.0/utils/Address.sol":{"keccak256":"0x9d8da059267bac779a2dbbb9a26c2acf00ca83085e105d62d5d4ef96054a47f5","urls":["bzz-raw://c78e2aa4313323cecd1ef12a8d6265b96beee1a199923abf55d9a2a9e291ad23","dweb:/ipfs/QmUTs2KStXucZezzFo3EYeqYu47utu56qrF7jj1Gue65vb"],"license":"MIT"},"dependencies/@openzeppelin-contracts-5.1.0/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"}},"version":1},"id":6}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"dependencies/forge-std-1.9.4/src/Base.sol\":\"CommonBase\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin-contracts-5.1.0/=dependencies/@openzeppelin-contracts-5.1.0/\",\":@openzeppelin-contracts-upgradeable-5.1.0/=dependencies/@openzeppelin-contracts-upgradeable-5.1.0/\",\":@openzeppelin/contracts-upgradeable/=dependencies/@openzeppelin-contracts-upgradeable-5.1.0/\",\":@openzeppelin/contracts/=dependencies/@openzeppelin-contracts-5.1.0/\",\":forge-std-1.9.4/=dependencies/forge-std-1.9.4/\",\":forge-std/=dependencies/forge-std-1.9.4/src/\",\":tnt-core-0.10.4/=dependencies/tnt-core-0.10.4/\",\":tnt-core/=dependencies/tnt-core-0.10.4/src/\"],\"viaIR\":true},\"sources\":{\"dependencies/forge-std-1.9.4/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"dependencies/forge-std-1.9.4/src/StdStorage.sol\":{\"keccak256\":\"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57\",\"dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ\"]},\"dependencies/forge-std-1.9.4/src/Vm.sol\":{\"keccak256\":\"0x51d822417db259b59eec2dfb7859285cef983a26b5d4fba20e1addabccc8734e\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://0e3b5abe0173ee6e479e4248eb4ee3a4374f7e08fb2848d93f5c2cf5e95214f1\",\"dweb:/ipfs/QmbUBD4NLFCuR6WHVx5unXH2uWHEhtADLcFrUwyev8iLrD\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin-contracts-5.1.0/=dependencies/@openzeppelin-contracts-5.1.0/","@openzeppelin-contracts-upgradeable-5.1.0/=dependencies/@openzeppelin-contracts-upgradeable-5.1.0/","@openzeppelin/contracts-upgradeable/=dependencies/@openzeppelin-contracts-upgradeable-5.1.0/","@openzeppelin/contracts/=dependencies/@openzeppelin-contracts-5.1.0/","forge-std-1.9.4/=dependencies/forge-std-1.9.4/","forge-std/=dependencies/forge-std-1.9.4/src/","tnt-core-0.10.4/=dependencies/tnt-core-0.10.4/","tnt-core/=dependencies/tnt-core-0.10.4/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"dependencies/forge-std-1.9.4/src/Base.sol":"CommonBase"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"dependencies/forge-std-1.9.4/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"dependencies/forge-std-1.9.4/src/StdStorage.sol":{"keccak256":"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc","urls":["bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57","dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ"],"license":"MIT"},"dependencies/forge-std-1.9.4/src/Vm.sol":{"keccak256":"0x51d822417db259b59eec2dfb7859285cef983a26b5d4fba20e1addabccc8734e","urls":["bzz-raw://0e3b5abe0173ee6e479e4248eb4ee3a4374f7e08fb2848d93f5c2cf5e95214f1","dweb:/ipfs/QmbUBD4NLFCuR6WHVx5unXH2uWHEhtADLcFrUwyev8iLrD"],"license":"MIT OR Apache-2.0"}},"version":1},"id":12}
1+
{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"dependencies/forge-std-1.9.4/src/Base.sol\":\"CommonBase\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin-contracts-5.1.0/=dependencies/@openzeppelin-contracts-5.1.0/\",\":@openzeppelin-contracts-upgradeable-5.1.0/=dependencies/@openzeppelin-contracts-upgradeable-5.1.0/\",\":@openzeppelin/contracts-upgradeable/=dependencies/@openzeppelin-contracts-upgradeable-5.1.0/\",\":@openzeppelin/contracts/=dependencies/@openzeppelin-contracts-5.1.0/\",\":forge-std-1.9.4/=dependencies/forge-std-1.9.4/\",\":forge-std/=dependencies/forge-std-1.9.4/src/\",\":tnt-core-0.13.0/=dependencies/tnt-core-0.13.0/\",\":tnt-core/=dependencies/tnt-core-0.13.0/src/\"],\"viaIR\":true},\"sources\":{\"dependencies/forge-std-1.9.4/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"dependencies/forge-std-1.9.4/src/StdStorage.sol\":{\"keccak256\":\"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57\",\"dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ\"]},\"dependencies/forge-std-1.9.4/src/Vm.sol\":{\"keccak256\":\"0x51d822417db259b59eec2dfb7859285cef983a26b5d4fba20e1addabccc8734e\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://0e3b5abe0173ee6e479e4248eb4ee3a4374f7e08fb2848d93f5c2cf5e95214f1\",\"dweb:/ipfs/QmbUBD4NLFCuR6WHVx5unXH2uWHEhtADLcFrUwyev8iLrD\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@openzeppelin-contracts-5.1.0/=dependencies/@openzeppelin-contracts-5.1.0/","@openzeppelin-contracts-upgradeable-5.1.0/=dependencies/@openzeppelin-contracts-upgradeable-5.1.0/","@openzeppelin/contracts-upgradeable/=dependencies/@openzeppelin-contracts-upgradeable-5.1.0/","@openzeppelin/contracts/=dependencies/@openzeppelin-contracts-5.1.0/","forge-std-1.9.4/=dependencies/forge-std-1.9.4/","forge-std/=dependencies/forge-std-1.9.4/src/","tnt-core-0.13.0/=dependencies/tnt-core-0.13.0/","tnt-core/=dependencies/tnt-core-0.13.0/src/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"dependencies/forge-std-1.9.4/src/Base.sol":"CommonBase"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"dependencies/forge-std-1.9.4/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"dependencies/forge-std-1.9.4/src/StdStorage.sol":{"keccak256":"0xb91ab24383a5872b894fc93325eef1add6cbbf981628f18e860068bf88bb7dcc","urls":["bzz-raw://2651e33b9ac8fc5803ed0a43078c1bf4fa90a0b0347aafd95776b02daccdcc57","dweb:/ipfs/QmbdRyPuGJdZgnCuMnp7c1WsBo1Spf7j1KMmws1Z5rd4BQ"],"license":"MIT"},"dependencies/forge-std-1.9.4/src/Vm.sol":{"keccak256":"0x51d822417db259b59eec2dfb7859285cef983a26b5d4fba20e1addabccc8734e","urls":["bzz-raw://0e3b5abe0173ee6e479e4248eb4ee3a4374f7e08fb2848d93f5c2cf5e95214f1","dweb:/ipfs/QmbUBD4NLFCuR6WHVx5unXH2uWHEhtADLcFrUwyev8iLrD"],"license":"MIT OR Apache-2.0"}},"version":1},"id":12}

0 commit comments

Comments
 (0)