UNPKG

@excubiae/contracts

Version:
1 lines 9.78 kB
{"abi":[{"type":"function","name":"check","inputs":[{"name":"subject","type":"address","internalType":"address"},{"name":"evidence","type":"bytes","internalType":"bytes"},{"name":"checkType","type":"uint8","internalType":"enum Check"}],"outputs":[{"name":"checked","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"getAppendedBytes","inputs":[],"outputs":[{"name":"appendedBytes","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"initialized","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"error","name":"AlreadyInitialized","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"check(address,bytes,uint8)":"939980de","getAppendedBytes()":"b41a4b19","initialize()":"8129fc1c","initialized()":"158ef93e"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"AlreadyInitialized\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"subject\",\"type\":\"address\"},{\"internalType\":\"bytes\",\"name\":\"evidence\",\"type\":\"bytes\"},{\"internalType\":\"enum Check\",\"name\":\"checkType\",\"type\":\"uint8\"}],\"name\":\"check\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"checked\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAppendedBytes\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"appendedBytes\",\"type\":\"bytes\"}],\"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\"}],\"devdoc\":{\"details\":\"Implements advanced validation by routing checks to appropriate phases. This is intended to be extended for complex validation systems.\",\"kind\":\"dev\",\"methods\":{\"check(address,bytes,uint8)\":{\"details\":\"External entry point for validation checks, delegating logic to `_check`.\",\"params\":{\"checkType\":\"The phase of validation to execute (PRE, MAIN, POST).\",\"evidence\":\"Custom validation data.\",\"subject\":\"The address to validate.\"},\"returns\":{\"checked\":\"Boolean indicating whether the validation passed.\"}},\"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.\"}},\"title\":\"AdvancedChecker\",\"version\":1},\"userdoc\":{\"errors\":{\"AlreadyInitialized()\":[{\"notice\":\"Error thrown when the clone is already initialized.\"}]},\"kind\":\"user\",\"methods\":{\"check(address,bytes,uint8)\":{\"notice\":\"Validates a subject's evidence for a specific check phase.\"},\"getAppendedBytes()\":{\"notice\":\"Retrieves appended arguments from the clone.\"},\"initialize()\":{\"notice\":\"Initializes the clone.\"},\"initialized()\":{\"notice\":\"Tracks whether the clone has been initialized.\"}},\"notice\":\"Abstract contract for multi-phase validation (PRE, MAIN, POST).\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/checker/AdvancedChecker.sol\":\"AdvancedChecker\"},\"evmVersion\":\"cancun\",\"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/AdvancedChecker.sol\":{\"keccak256\":\"0x624a5e2ce50e0c6b9c03ce852b7372b9c860972e9a476923815a290e7755ec68\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a809ca3880f0a82e3132cad494a3f73a41700c119df3aed99481ecb02f4f0c5\",\"dweb:/ipfs/QmYoUuGhtiBNnMMTtp4kZiZdXNuoWUg2gfgZWhn7E8nFtD\"]},\"contracts/interfaces/IAdvancedChecker.sol\":{\"keccak256\":\"0x6e6682ecc5cb0eb88ca8d7c2ff024f7351917e30b01c01b4670f36a4d6e0a24d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb311bf62e81e1ae8a6e7874d2cdfff4a5dd04b4bcba11796858fe248e6926e5\",\"dweb:/ipfs/Qmd4vtmw5WQUw8Ui4EV7aGW9ATvddC5cEWHyunT8paW2R4\"]},\"contracts/interfaces/IClone.sol\":{\"keccak256\":\"0xc3f6a08a3ce1db7e80dd496c6631d4d9d7a409729e67ed543411baac396369e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9e531790090250216d4c89b58e06b6cb942d79e94614c4e70f57021c4fdccef\",\"dweb:/ipfs/QmaGuDzcBxCr1XpWQiqB6M7GcsVaXeaouQFXsN53MnKLff\"]},\"contracts/proxy/Clone.sol\":{\"keccak256\":\"0x0ec0acfcf7440fadcf621ec4fbf1679e390bd52c9633477ee7e6f06138e71b99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10f90028d43e745963e673a16d96a3b15c92a83b0dde396d5bdadab9b8a166ef\",\"dweb:/ipfs/Qmf3JjAMVuhPJBMa7hqXNTB3zp4QxPqZYdrntzbhCJXbiG\"]},\"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":"AlreadyInitialized"},{"inputs":[{"internalType":"address","name":"subject","type":"address"},{"internalType":"bytes","name":"evidence","type":"bytes"},{"internalType":"enum Check","name":"checkType","type":"uint8"}],"stateMutability":"view","type":"function","name":"check","outputs":[{"internalType":"bool","name":"checked","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getAppendedBytes","outputs":[{"internalType":"bytes","name":"appendedBytes","type":"bytes"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"initialized","outputs":[{"internalType":"bool","name":"","type":"bool"}]}],"devdoc":{"kind":"dev","methods":{"check(address,bytes,uint8)":{"details":"External entry point for validation checks, delegating logic to `_check`.","params":{"checkType":"The phase of validation to execute (PRE, MAIN, POST).","evidence":"Custom validation data.","subject":"The address to validate."},"returns":{"checked":"Boolean indicating whether the validation passed."}},"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."}},"version":1},"userdoc":{"kind":"user","methods":{"check(address,bytes,uint8)":{"notice":"Validates a subject's evidence for a specific check phase."},"getAppendedBytes()":{"notice":"Retrieves appended arguments from the clone."},"initialize()":{"notice":"Initializes the clone."},"initialized()":{"notice":"Tracks whether the clone has been initialized."}},"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/checker/AdvancedChecker.sol":"AdvancedChecker"},"evmVersion":"cancun","libraries":{}},"sources":{"contracts/checker/AdvancedChecker.sol":{"keccak256":"0x624a5e2ce50e0c6b9c03ce852b7372b9c860972e9a476923815a290e7755ec68","urls":["bzz-raw://9a809ca3880f0a82e3132cad494a3f73a41700c119df3aed99481ecb02f4f0c5","dweb:/ipfs/QmYoUuGhtiBNnMMTtp4kZiZdXNuoWUg2gfgZWhn7E8nFtD"],"license":"MIT"},"contracts/interfaces/IAdvancedChecker.sol":{"keccak256":"0x6e6682ecc5cb0eb88ca8d7c2ff024f7351917e30b01c01b4670f36a4d6e0a24d","urls":["bzz-raw://bb311bf62e81e1ae8a6e7874d2cdfff4a5dd04b4bcba11796858fe248e6926e5","dweb:/ipfs/Qmd4vtmw5WQUw8Ui4EV7aGW9ATvddC5cEWHyunT8paW2R4"],"license":"MIT"},"contracts/interfaces/IClone.sol":{"keccak256":"0xc3f6a08a3ce1db7e80dd496c6631d4d9d7a409729e67ed543411baac396369e7","urls":["bzz-raw://d9e531790090250216d4c89b58e06b6cb942d79e94614c4e70f57021c4fdccef","dweb:/ipfs/QmaGuDzcBxCr1XpWQiqB6M7GcsVaXeaouQFXsN53MnKLff"],"license":"MIT"},"contracts/proxy/Clone.sol":{"keccak256":"0x0ec0acfcf7440fadcf621ec4fbf1679e390bd52c9633477ee7e6f06138e71b99","urls":["bzz-raw://10f90028d43e745963e673a16d96a3b15c92a83b0dde396d5bdadab9b8a166ef","dweb:/ipfs/Qmf3JjAMVuhPJBMa7hqXNTB3zp4QxPqZYdrntzbhCJXbiG"],"license":"MIT"},"node_modules/solady/src/utils/LibClone.sol":{"keccak256":"0x1388494b421db04cf6f33ab69580edc5b187328688818504b87eaea9fa3c0d2c","urls":["bzz-raw://8f6bf027d6fe4f102360bf7e988923f73510697a87d970b28093a0d950d9a3e5","dweb:/ipfs/QmUhdrSqiwhBp2cZPef6jcTfQ8Md3KoyfnK2ZteseAvude"],"license":"MIT"}},"version":1},"id":0}