UNPKG

@excubiae/contracts

Version:
1 lines 23.5 kB
{"abi":[{"type":"function","name":"BASE_CHECKER","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract BaseChecker"}],"stateMutability":"view"},{"type":"function","name":"enforce","inputs":[{"name":"subject","type":"address","internalType":"address"},{"name":"evidence","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getAppendedBytes","inputs":[],"outputs":[{"name":"appendedBytes","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"guarded","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setTarget","inputs":[{"name":"_guarded","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"trait","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"pure"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"Enforced","inputs":[{"name":"subject","type":"address","indexed":true,"internalType":"address"},{"name":"guarded","type":"address","indexed":true,"internalType":"address"},{"name":"evidence","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"TargetSet","inputs":[{"name":"guarded","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"AlreadyEnforced","inputs":[]},{"type":"error","name":"AlreadyInitialized","inputs":[]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"TargetAlreadySet","inputs":[]},{"type":"error","name":"TargetNotSet","inputs":[]},{"type":"error","name":"TargetOnly","inputs":[]},{"type":"error","name":"UnsuccessfulCheck","inputs":[]},{"type":"error","name":"ZeroAddress","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"BASE_CHECKER()":"7e164204","enforce(address,bytes)":"1e898ef1","getAppendedBytes()":"b41a4b19","guarded()":"72f7a030","initialize()":"8129fc1c","initialized()":"158ef93e","owner()":"8da5cb5b","renounceOwnership()":"715018a6","setTarget(address)":"776d1a01","trait()":"ce343deb","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AlreadyEnforced\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TargetAlreadySet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TargetNotSet\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"TargetOnly\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"UnsuccessfulCheck\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"ZeroAddress\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"subject\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"guarded\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"evidence\",\"type\":\"bytes\"}],\"name\":\"Enforced\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"guarded\",\"type\":\"address\"}],\"name\":\"TargetSet\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"BASE_CHECKER\",\"outputs\":[{\"internalType\":\"contract BaseChecker\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"subject\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"evidence\",\"type\":\"bytes\"}],\"name\":\"enforce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAppendedBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"appendedBytes\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"guarded\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"initialized\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_guarded\",\"type\":\"address\"}],\"name\":\"setTarget\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"trait\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Extends Policy and provides enforcement logic using a BaseChecker instance.\",\"errors\":{\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"events\":{\"Enforced(address,address,bytes)\":{\"params\":{\"evidence\":\"Custom validation data.\",\"guarded\":\"Address of the protected contract.\",\"subject\":\"Address that passed the validation.\"}},\"TargetSet(address)\":{\"params\":{\"guarded\":\"Address of the protected contract.\"}}},\"kind\":\"dev\",\"methods\":{\"enforce(address,bytes)\":{\"details\":\"Uses the BaseChecker for validation logic. Only callable by the guarded contract.\",\"params\":{\"evidence\":\"Custom validation data.\",\"subject\":\"Address to enforce the policy on.\"}},\"getAppendedBytes()\":{\"details\":\"Leverages `LibClone` to extract arguments from the clone's runtime bytecode.\",\"returns\":{\"appendedBytes\":\"The appended bytes extracted from the clone.\"}},\"initialize()\":{\"details\":\"Calls the internal `_initialize` function to set up the clone. Reverts if the clone is already initialized.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"setTarget(address)\":{\"details\":\"Can only be called once by the owner.\",\"params\":{\"_guarded\":\"The contract address to protect.\"}},\"trait()\":{\"details\":\"This is typically used to distinguish policy implementations (e.g., \\\"Semaphore\\\").\",\"returns\":{\"_0\":\"The policy trait string.\"}},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"title\":\"BasePolicy\",\"version\":1},\"userdoc\":{\"errors\":{\"AlreadyEnforced()\":[{\"notice\":\"Error thrown when a user is already enforced.\"}],\"AlreadyInitialized()\":[{\"notice\":\"Error thrown when the clone is already initialized.\"}],\"TargetAlreadySet()\":[{\"notice\":\"Error thrown when attempting to set the guarded more than once.\"}],\"TargetNotSet()\":[{\"notice\":\"Error thrown when the guarded contract is not set.\"}],\"TargetOnly()\":[{\"notice\":\"Error thrown when a function is restricted to calls from the guarded contract.\"}],\"UnsuccessfulCheck()\":[{\"notice\":\"Error thrown when a validation check fails.\"}],\"ZeroAddress()\":[{\"notice\":\"Error thrown when a zero address is provided where not allowed.\"}]},\"events\":{\"Enforced(address,address,bytes)\":{\"notice\":\"Emitted when a subject successfully passes a policy enforcement check.\"},\"TargetSet(address)\":{\"notice\":\"Emitted when the guarded contract is successfully set.\"}},\"kind\":\"user\",\"methods\":{\"BASE_CHECKER()\":{\"notice\":\"Reference to the BaseChecker contract used for validation.\"},\"enforce(address,bytes)\":{\"notice\":\"Enforces a policy check for a subject.\"},\"getAppendedBytes()\":{\"notice\":\"Retrieves appended arguments from the clone.\"},\"guarded()\":{\"notice\":\"The address of the contract being protected by the policy.\"},\"initialize()\":{\"notice\":\"Initializes the clone.\"},\"initialized()\":{\"notice\":\"Tracks whether the clone has been initialized.\"},\"setTarget(address)\":{\"notice\":\"Sets the contract address to be protected by this policy.\"},\"trait()\":{\"notice\":\"Retrieves the policy trait identifier.\"}},\"notice\":\"Abstract base contract for implementing custom policies using a BaseChecker.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/policy/BasePolicy.sol\":\"BasePolicy\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@semaphore-protocol/=node_modules/@semaphore-protocol/\",\":@solady/=node_modules/solady/\",\":@zk-kit/=node_modules/@zk-kit/\",\":eth-gas-reporter/=node_modules/eth-gas-reporter/\",\":forge-std/=node_modules/forge-std/\",\":hardhat/=node_modules/hardhat/\",\":poseidon-solidity/=node_modules/poseidon-solidity/\",\":solady/=node_modules/solady/\"]},\"sources\":{\"contracts/checker/BaseChecker.sol\":{\"keccak256\":\"0xd5a0aa62b6c617581fad10a727f4961c9f567983c58fea0c00cd9599712f5e8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7572f9ace9d914d465401d506ecf9aa360e5458eae4a15fc9f9be1da7a925ab9\",\"dweb:/ipfs/QmX5cvUd6Vr7Jy1cYLcMtGfFjs4RTfgHQ4JSBnUp9CMJSs\"]},\"contracts/interfaces/IBaseChecker.sol\":{\"keccak256\":\"0x2e78c67cfe2594fbe999da0a5102099feec5b7344023f6f95c862130d8097b4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dd6235abb53aed81c48eef7847af7fd9533ceb81afd3670541e29c1f41c275c1\",\"dweb:/ipfs/Qmbjmk4hjb4awhdk3v7WbZC3NuSeWoioewcp8FyBhkMfRB\"]},\"contracts/interfaces/IBasePolicy.sol\":{\"keccak256\":\"0x6ed2c3e67d218be96b6bc2f64a52d453d728954bb224cb89e38fa6918e722d85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f213bae9dc663d0597bd917120cfade3419948f76f5b47df47396370594c1852\",\"dweb:/ipfs/QmcnzLnc1Jc7HoEarMFjNtPmL3BVtX7r242CCZcyk2SRst\"]},\"contracts/interfaces/IClone.sol\":{\"keccak256\":\"0xc3f6a08a3ce1db7e80dd496c6631d4d9d7a409729e67ed543411baac396369e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9e531790090250216d4c89b58e06b6cb942d79e94614c4e70f57021c4fdccef\",\"dweb:/ipfs/QmaGuDzcBxCr1XpWQiqB6M7GcsVaXeaouQFXsN53MnKLff\"]},\"contracts/interfaces/IPolicy.sol\":{\"keccak256\":\"0x82f96940502cdd880f1eacc03cd8c3895f306283efa907610c899a1f5509f78c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5baf97f88beb3155f244dc301ee040786780bf6762fbaaf569e2e86b17729b3f\",\"dweb:/ipfs/Qmec9wzmmFwkQHDthMo9QaFtYqa7CadjiCP2JMsgFGGaxU\"]},\"contracts/policy/BasePolicy.sol\":{\"keccak256\":\"0xbac32b43789d8e2534db015749e5691f438b69edb7fe67816d63586744eef5f7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8172b83b6979b3de05d0401e8cf9fccec162aa03675b98feeb0209c36042f191\",\"dweb:/ipfs/QmVi5SiXbsTMEcbmKtTNNE7PZEfZrXT2NMdcMq9iYPfJAG\"]},\"contracts/policy/Policy.sol\":{\"keccak256\":\"0x3e6ef3213ffccff5285c8c2dc2d2b062ebd27dc8380ab2e092510375533aab8c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://de88bd02c3caf55beb562b26ff5218e594122a58fe969ae15e41376efc8c2dc9\",\"dweb:/ipfs/QmP1o2aaXueaM34CwZNJwtpuUZ6DEqkJc2wvVVNwgTJqdT\"]},\"contracts/proxy/Clone.sol\":{\"keccak256\":\"0x6453f61944f6a5e19d23c930abae166f01bc1613506fd0204e8c541e611b8164\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://520e2bdb7935ac9181d7474a61129151bb2096513e62793ff1c5220827662720\",\"dweb:/ipfs/QmXCDDZfJjX9EaK6QtwDE9FHK7z6ZsG6Ebgrt4CFxxL1wU\"]},\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"node_modules/solady/src/utils/LibClone.sol\":{\"keccak256\":\"0x1388494b421db04cf6f33ab69580edc5b187328688818504b87eaea9fa3c0d2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f6bf027d6fe4f102360bf7e988923f73510697a87d970b28093a0d950d9a3e5\",\"dweb:/ipfs/QmUhdrSqiwhBp2cZPef6jcTfQ8Md3KoyfnK2ZteseAvude\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"AlreadyEnforced"},{"inputs":[],"type":"error","name":"AlreadyInitialized"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"inputs":[],"type":"error","name":"TargetAlreadySet"},{"inputs":[],"type":"error","name":"TargetNotSet"},{"inputs":[],"type":"error","name":"TargetOnly"},{"inputs":[],"type":"error","name":"UnsuccessfulCheck"},{"inputs":[],"type":"error","name":"ZeroAddress"},{"inputs":[{"internalType":"address","name":"subject","type":"address","indexed":true},{"internalType":"address","name":"guarded","type":"address","indexed":true},{"internalType":"bytes","name":"evidence","type":"bytes","indexed":false}],"type":"event","name":"Enforced","anonymous":false},{"inputs":[{"internalType":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"guarded","type":"address","indexed":true}],"type":"event","name":"TargetSet","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"BASE_CHECKER","outputs":[{"internalType":"contract BaseChecker","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"subject","type":"address"},{"internalType":"bytes","name":"evidence","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"enforce"},{"inputs":[],"stateMutability":"view","type":"function","name":"getAppendedBytes","outputs":[{"internalType":"bytes","name":"appendedBytes","type":"bytes"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"guarded","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"initialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"_guarded","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"setTarget"},{"inputs":[],"stateMutability":"pure","type":"function","name":"trait","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"enforce(address,bytes)":{"details":"Uses the BaseChecker for validation logic. Only callable by the guarded contract.","params":{"evidence":"Custom validation data.","subject":"Address to enforce the policy on."}},"getAppendedBytes()":{"details":"Leverages `LibClone` to extract arguments from the clone's runtime bytecode.","returns":{"appendedBytes":"The appended bytes extracted from the clone."}},"initialize()":{"details":"Calls the internal `_initialize` function to set up the clone. Reverts if the clone is already initialized."},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"setTarget(address)":{"details":"Can only be called once by the owner.","params":{"_guarded":"The contract address to protect."}},"trait()":{"details":"This is typically used to distinguish policy implementations (e.g., \"Semaphore\").","returns":{"_0":"The policy trait string."}},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{"BASE_CHECKER()":{"notice":"Reference to the BaseChecker contract used for validation."},"enforce(address,bytes)":{"notice":"Enforces a policy check for a subject."},"getAppendedBytes()":{"notice":"Retrieves appended arguments from the clone."},"guarded()":{"notice":"The address of the contract being protected by the policy."},"initialize()":{"notice":"Initializes the clone."},"initialized()":{"notice":"Tracks whether the clone has been initialized."},"setTarget(address)":{"notice":"Sets the contract address to be protected by this policy."},"trait()":{"notice":"Retrieves the policy trait identifier."}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@semaphore-protocol/=node_modules/@semaphore-protocol/","@solady/=node_modules/solady/","@zk-kit/=node_modules/@zk-kit/","eth-gas-reporter/=node_modules/eth-gas-reporter/","forge-std/=node_modules/forge-std/","hardhat/=node_modules/hardhat/","poseidon-solidity/=node_modules/poseidon-solidity/","solady/=node_modules/solady/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/policy/BasePolicy.sol":"BasePolicy"},"evmVersion":"prague","libraries":{}},"sources":{"contracts/checker/BaseChecker.sol":{"keccak256":"0xd5a0aa62b6c617581fad10a727f4961c9f567983c58fea0c00cd9599712f5e8c","urls":["bzz-raw://7572f9ace9d914d465401d506ecf9aa360e5458eae4a15fc9f9be1da7a925ab9","dweb:/ipfs/QmX5cvUd6Vr7Jy1cYLcMtGfFjs4RTfgHQ4JSBnUp9CMJSs"],"license":"MIT"},"contracts/interfaces/IBaseChecker.sol":{"keccak256":"0x2e78c67cfe2594fbe999da0a5102099feec5b7344023f6f95c862130d8097b4a","urls":["bzz-raw://dd6235abb53aed81c48eef7847af7fd9533ceb81afd3670541e29c1f41c275c1","dweb:/ipfs/Qmbjmk4hjb4awhdk3v7WbZC3NuSeWoioewcp8FyBhkMfRB"],"license":"MIT"},"contracts/interfaces/IBasePolicy.sol":{"keccak256":"0x6ed2c3e67d218be96b6bc2f64a52d453d728954bb224cb89e38fa6918e722d85","urls":["bzz-raw://f213bae9dc663d0597bd917120cfade3419948f76f5b47df47396370594c1852","dweb:/ipfs/QmcnzLnc1Jc7HoEarMFjNtPmL3BVtX7r242CCZcyk2SRst"],"license":"MIT"},"contracts/interfaces/IClone.sol":{"keccak256":"0xc3f6a08a3ce1db7e80dd496c6631d4d9d7a409729e67ed543411baac396369e7","urls":["bzz-raw://d9e531790090250216d4c89b58e06b6cb942d79e94614c4e70f57021c4fdccef","dweb:/ipfs/QmaGuDzcBxCr1XpWQiqB6M7GcsVaXeaouQFXsN53MnKLff"],"license":"MIT"},"contracts/interfaces/IPolicy.sol":{"keccak256":"0x82f96940502cdd880f1eacc03cd8c3895f306283efa907610c899a1f5509f78c","urls":["bzz-raw://5baf97f88beb3155f244dc301ee040786780bf6762fbaaf569e2e86b17729b3f","dweb:/ipfs/Qmec9wzmmFwkQHDthMo9QaFtYqa7CadjiCP2JMsgFGGaxU"],"license":"MIT"},"contracts/policy/BasePolicy.sol":{"keccak256":"0xbac32b43789d8e2534db015749e5691f438b69edb7fe67816d63586744eef5f7","urls":["bzz-raw://8172b83b6979b3de05d0401e8cf9fccec162aa03675b98feeb0209c36042f191","dweb:/ipfs/QmVi5SiXbsTMEcbmKtTNNE7PZEfZrXT2NMdcMq9iYPfJAG"],"license":"MIT"},"contracts/policy/Policy.sol":{"keccak256":"0x3e6ef3213ffccff5285c8c2dc2d2b062ebd27dc8380ab2e092510375533aab8c","urls":["bzz-raw://de88bd02c3caf55beb562b26ff5218e594122a58fe969ae15e41376efc8c2dc9","dweb:/ipfs/QmP1o2aaXueaM34CwZNJwtpuUZ6DEqkJc2wvVVNwgTJqdT"],"license":"MIT"},"contracts/proxy/Clone.sol":{"keccak256":"0x6453f61944f6a5e19d23c930abae166f01bc1613506fd0204e8c541e611b8164","urls":["bzz-raw://520e2bdb7935ac9181d7474a61129151bb2096513e62793ff1c5220827662720","dweb:/ipfs/QmXCDDZfJjX9EaK6QtwDE9FHK7z6ZsG6Ebgrt4CFxxL1wU"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"node_modules/solady/src/utils/LibClone.sol":{"keccak256":"0x1388494b421db04cf6f33ab69580edc5b187328688818504b87eaea9fa3c0d2c","urls":["bzz-raw://8f6bf027d6fe4f102360bf7e988923f73510697a87d970b28093a0d950d9a3e5","dweb:/ipfs/QmUhdrSqiwhBp2cZPef6jcTfQ8Md3KoyfnK2ZteseAvude"],"license":"MIT"}},"version":1},"id":61}