UNPKG

@river-build/generated

Version:

## How to generate contract types

1 lines 29.4 kB
{"abi":[{"type":"function","name":"description","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"encodeRuleData","inputs":[{"name":"data","type":"tuple","internalType":"struct IRuleEntitlement.RuleData","components":[{"name":"operations","type":"tuple[]","internalType":"struct IRuleEntitlement.Operation[]","components":[{"name":"opType","type":"uint8","internalType":"enum IRuleEntitlement.CombinedOperationType"},{"name":"index","type":"uint8","internalType":"uint8"}]},{"name":"checkOperations","type":"tuple[]","internalType":"struct IRuleEntitlement.CheckOperation[]","components":[{"name":"opType","type":"uint8","internalType":"enum IRuleEntitlement.CheckOperationType"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"contractAddress","type":"address","internalType":"address"},{"name":"threshold","type":"uint256","internalType":"uint256"}]},{"name":"logicalOperations","type":"tuple[]","internalType":"struct IRuleEntitlement.LogicalOperation[]","components":[{"name":"logOpType","type":"uint8","internalType":"enum IRuleEntitlement.LogicalOperationType"},{"name":"leftOperationIndex","type":"uint8","internalType":"uint8"},{"name":"rightOperationIndex","type":"uint8","internalType":"uint8"}]}]}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"pure"},{"type":"function","name":"getCheckOperations","inputs":[{"name":"roleId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct IRuleEntitlement.CheckOperation[]","components":[{"name":"opType","type":"uint8","internalType":"enum IRuleEntitlement.CheckOperationType"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"contractAddress","type":"address","internalType":"address"},{"name":"threshold","type":"uint256","internalType":"uint256"}]}],"stateMutability":"view"},{"type":"function","name":"getEntitlementDataByRoleId","inputs":[{"name":"roleId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bytes","internalType":"bytes"}],"stateMutability":"view"},{"type":"function","name":"getLogicalOperations","inputs":[{"name":"roleId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct IRuleEntitlement.LogicalOperation[]","components":[{"name":"logOpType","type":"uint8","internalType":"enum IRuleEntitlement.LogicalOperationType"},{"name":"leftOperationIndex","type":"uint8","internalType":"uint8"},{"name":"rightOperationIndex","type":"uint8","internalType":"uint8"}]}],"stateMutability":"view"},{"type":"function","name":"getOperations","inputs":[{"name":"roleId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"tuple[]","internalType":"struct IRuleEntitlement.Operation[]","components":[{"name":"opType","type":"uint8","internalType":"enum IRuleEntitlement.CombinedOperationType"},{"name":"index","type":"uint8","internalType":"uint8"}]}],"stateMutability":"view"},{"type":"function","name":"getRuleData","inputs":[{"name":"roleId","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"data","type":"tuple","internalType":"struct IRuleEntitlement.RuleData","components":[{"name":"operations","type":"tuple[]","internalType":"struct IRuleEntitlement.Operation[]","components":[{"name":"opType","type":"uint8","internalType":"enum IRuleEntitlement.CombinedOperationType"},{"name":"index","type":"uint8","internalType":"uint8"}]},{"name":"checkOperations","type":"tuple[]","internalType":"struct IRuleEntitlement.CheckOperation[]","components":[{"name":"opType","type":"uint8","internalType":"enum IRuleEntitlement.CheckOperationType"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"contractAddress","type":"address","internalType":"address"},{"name":"threshold","type":"uint256","internalType":"uint256"}]},{"name":"logicalOperations","type":"tuple[]","internalType":"struct IRuleEntitlement.LogicalOperation[]","components":[{"name":"logOpType","type":"uint8","internalType":"enum IRuleEntitlement.LogicalOperationType"},{"name":"leftOperationIndex","type":"uint8","internalType":"uint8"},{"name":"rightOperationIndex","type":"uint8","internalType":"uint8"}]}]}],"stateMutability":"view"},{"type":"function","name":"initialize","inputs":[{"name":"space","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isCrosschain","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"isEntitled","inputs":[{"name":"channelId","type":"bytes32","internalType":"bytes32"},{"name":"user","type":"address[]","internalType":"address[]"},{"name":"permission","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"moduleType","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"removeEntitlement","inputs":[{"name":"roleId","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setEntitlement","inputs":[{"name":"roleId","type":"uint256","internalType":"uint256"},{"name":"entitlementData","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"error","name":"CheckOperationsLimitReaced","inputs":[{"name":"limit","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"Entitlement__InvalidValue","inputs":[]},{"type":"error","name":"Entitlement__NotAllowed","inputs":[]},{"type":"error","name":"Entitlement__NotMember","inputs":[]},{"type":"error","name":"Entitlement__ValueAlreadyExists","inputs":[]},{"type":"error","name":"InvalidCheckOperationIndex","inputs":[{"name":"operationIndex","type":"uint8","internalType":"uint8"},{"name":"checkOperationsLength","type":"uint8","internalType":"uint8"}]},{"type":"error","name":"InvalidLeftOperationIndex","inputs":[{"name":"leftOperationIndex","type":"uint8","internalType":"uint8"},{"name":"currentOperationIndex","type":"uint8","internalType":"uint8"}]},{"type":"error","name":"InvalidLogicalOperationIndex","inputs":[{"name":"operationIndex","type":"uint8","internalType":"uint8"},{"name":"logicalOperationsLength","type":"uint8","internalType":"uint8"}]},{"type":"error","name":"InvalidOperationType","inputs":[{"name":"opType","type":"uint8","internalType":"enum IRuleEntitlement.CombinedOperationType"}]},{"type":"error","name":"InvalidRightOperationIndex","inputs":[{"name":"rightOperationIndex","type":"uint8","internalType":"uint8"},{"name":"currentOperationIndex","type":"uint8","internalType":"uint8"}]},{"type":"error","name":"LogicalOperationLimitReached","inputs":[{"name":"limit","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"OperationsLimitReached","inputs":[{"name":"limit","type":"uint256","internalType":"uint256"}]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{"description()":"7284e416","encodeRuleData(((uint8,uint8)[],(uint8,uint256,address,uint256)[],(uint8,uint8,uint8)[]))":"5d115072","getCheckOperations(uint256)":"e3eeace1","getEntitlementDataByRoleId(uint256)":"1eee07b2","getLogicalOperations(uint256)":"545f09d3","getOperations(uint256)":"5ad4d49e","getRuleData(uint256)":"069a3ee9","initialize(address)":"c4d66de8","isCrosschain()":"2e1b61e4","isEntitled(bytes32,address[],bytes32)":"0cf0b533","moduleType()":"6465e69f","name()":"06fdde03","removeEntitlement(uint256)":"f0c111f9","setEntitlement(uint256,bytes)":"ef8be574"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.24+commit.e11b9ed9\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"CheckOperationsLimitReaced\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Entitlement__InvalidValue\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Entitlement__NotAllowed\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Entitlement__NotMember\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Entitlement__ValueAlreadyExists\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"operationIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"checkOperationsLength\",\"type\":\"uint8\"}],\"name\":\"InvalidCheckOperationIndex\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"leftOperationIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"currentOperationIndex\",\"type\":\"uint8\"}],\"name\":\"InvalidLeftOperationIndex\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"operationIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"logicalOperationsLength\",\"type\":\"uint8\"}],\"name\":\"InvalidLogicalOperationIndex\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"enum IRuleEntitlement.CombinedOperationType\",\"name\":\"opType\",\"type\":\"uint8\"}],\"name\":\"InvalidOperationType\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"rightOperationIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"currentOperationIndex\",\"type\":\"uint8\"}],\"name\":\"InvalidRightOperationIndex\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"LogicalOperationLimitReached\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"limit\",\"type\":\"uint256\"}],\"name\":\"OperationsLimitReached\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"description\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"components\":[{\"internalType\":\"enum IRuleEntitlement.CombinedOperationType\",\"name\":\"opType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"index\",\"type\":\"uint8\"}],\"internalType\":\"struct IRuleEntitlement.Operation[]\",\"name\":\"operations\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"enum IRuleEntitlement.CheckOperationType\",\"name\":\"opType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"}],\"internalType\":\"struct IRuleEntitlement.CheckOperation[]\",\"name\":\"checkOperations\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"enum IRuleEntitlement.LogicalOperationType\",\"name\":\"logOpType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"leftOperationIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"rightOperationIndex\",\"type\":\"uint8\"}],\"internalType\":\"struct IRuleEntitlement.LogicalOperation[]\",\"name\":\"logicalOperations\",\"type\":\"tuple[]\"}],\"internalType\":\"struct IRuleEntitlement.RuleData\",\"name\":\"data\",\"type\":\"tuple\"}],\"name\":\"encodeRuleData\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"}],\"name\":\"getCheckOperations\",\"outputs\":[{\"components\":[{\"internalType\":\"enum IRuleEntitlement.CheckOperationType\",\"name\":\"opType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"}],\"internalType\":\"struct IRuleEntitlement.CheckOperation[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"}],\"name\":\"getEntitlementDataByRoleId\",\"outputs\":[{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"}],\"name\":\"getLogicalOperations\",\"outputs\":[{\"components\":[{\"internalType\":\"enum IRuleEntitlement.LogicalOperationType\",\"name\":\"logOpType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"leftOperationIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"rightOperationIndex\",\"type\":\"uint8\"}],\"internalType\":\"struct IRuleEntitlement.LogicalOperation[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"}],\"name\":\"getOperations\",\"outputs\":[{\"components\":[{\"internalType\":\"enum IRuleEntitlement.CombinedOperationType\",\"name\":\"opType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"index\",\"type\":\"uint8\"}],\"internalType\":\"struct IRuleEntitlement.Operation[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"}],\"name\":\"getRuleData\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"enum IRuleEntitlement.CombinedOperationType\",\"name\":\"opType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"index\",\"type\":\"uint8\"}],\"internalType\":\"struct IRuleEntitlement.Operation[]\",\"name\":\"operations\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"enum IRuleEntitlement.CheckOperationType\",\"name\":\"opType\",\"type\":\"uint8\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"threshold\",\"type\":\"uint256\"}],\"internalType\":\"struct IRuleEntitlement.CheckOperation[]\",\"name\":\"checkOperations\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"enum IRuleEntitlement.LogicalOperationType\",\"name\":\"logOpType\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"leftOperationIndex\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"rightOperationIndex\",\"type\":\"uint8\"}],\"internalType\":\"struct IRuleEntitlement.LogicalOperation[]\",\"name\":\"logicalOperations\",\"type\":\"tuple[]\"}],\"internalType\":\"struct IRuleEntitlement.RuleData\",\"name\":\"data\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"space\",\"type\":\"address\"}],\"name\":\"initialize\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"isCrosschain\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"channelId\",\"type\":\"bytes32\"},{\"internalType\":\"address[]\",\"name\":\"user\",\"type\":\"address[]\"},{\"internalType\":\"bytes32\",\"name\":\"permission\",\"type\":\"bytes32\"}],\"name\":\"isEntitled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"moduleType\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"}],\"name\":\"removeEntitlement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"roleId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"entitlementData\",\"type\":\"bytes\"}],\"name\":\"setEntitlement\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"getEntitlementDataByRoleId(uint256)\":{\"params\":{\"roleId\":\"the roleId to fetch the entitlement data for\"},\"returns\":{\"_0\":\"entitlementData array for the role\"}},\"isCrosschain()\":{\"returns\":{\"_0\":\"whether this entitlement will require crosschain evaluation\"}},\"isEntitled(bytes32,address[],bytes32)\":{\"params\":{\"channelId\":\"id of the channel to check, if empty, checks space\",\"permission\":\"the permission to check\",\"user\":\"address of the user to check\"},\"returns\":{\"_0\":\"whether the user is entitled to the permission\"}},\"removeEntitlement(uint256)\":{\"params\":{\"roleId\":\"id of the role to remove\"}},\"setEntitlement(uint256,bytes)\":{\"params\":{\"entitlementData\":\"abi encoded array of data necessary to set the entitlement\",\"roleId\":\"id of the role to gate\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"description()\":{\"notice\":\"The description of the entitlement module\"},\"getEntitlementDataByRoleId(uint256)\":{\"notice\":\"fetches the entitlement data for a roleId\"},\"initialize(address)\":{\"notice\":\"initializes the entitlement module\"},\"isCrosschain()\":{\"notice\":\"some entitlements require cross chain evaluation and may not be executed directly from other contracts\"},\"isEntitled(bytes32,address[],bytes32)\":{\"notice\":\"checks whether a user is has a given permission for a channel or a space\"},\"moduleType()\":{\"notice\":\"The type of the entitlement module\"},\"name()\":{\"notice\":\"The name of the entitlement module\"},\"removeEntitlement(uint256)\":{\"notice\":\"removes an entitlement\"},\"setEntitlement(uint256,bytes)\":{\"notice\":\"sets a new entitlement\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/src/spaces/entitlements/rule/IRuleEntitlement.sol\":\"IRuleEntitlement\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"appendCBOR\":false,\"bytecodeHash\":\"none\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@openzeppelin/=lib/@openzeppelin/\",\":@prb/math/=lib/@prb/math/src/\",\":@prb/test/=lib/@prb/test/src/\",\":account-abstraction/=lib/account-abstraction/contracts/\",\":base64/=lib/base64/\",\":ds-test/=lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":hardhat-deploy/=lib/hardhat-deploy/\"]},\"sources\":{\"contracts/src/spaces/entitlements/IEntitlement.sol\":{\"keccak256\":\"0x81712a4b9127000ba341966d99395917dcb4b1305eadeddd1e1ad4e562587fdd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df0fcc9d7ed7489786684f5fa8375b277146969021f96f6a9feb81cb39176eca\",\"dweb:/ipfs/QmbxXXeXe6AzXUL8cSoABMx2E2QbRAK2uJXd8TRnDuKSJ8\"]},\"contracts/src/spaces/entitlements/rule/IRuleEntitlement.sol\":{\"keccak256\":\"0x667a71b4ea5c072ed8039139345f73779f7f08820a09848f708cd159fd9f1b79\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://988f98a1147ecfa0480bf747fbed8202229aa0c37f43dd25a967ebca213b8050\",\"dweb:/ipfs/QmWHdrRbCu48aHYKhhGt2UgukaQsQhuHV38c51Yk566Rse\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.24+commit.e11b9ed9"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"uint256","name":"limit","type":"uint256"}],"type":"error","name":"CheckOperationsLimitReaced"},{"inputs":[],"type":"error","name":"Entitlement__InvalidValue"},{"inputs":[],"type":"error","name":"Entitlement__NotAllowed"},{"inputs":[],"type":"error","name":"Entitlement__NotMember"},{"inputs":[],"type":"error","name":"Entitlement__ValueAlreadyExists"},{"inputs":[{"internalType":"uint8","name":"operationIndex","type":"uint8"},{"internalType":"uint8","name":"checkOperationsLength","type":"uint8"}],"type":"error","name":"InvalidCheckOperationIndex"},{"inputs":[{"internalType":"uint8","name":"leftOperationIndex","type":"uint8"},{"internalType":"uint8","name":"currentOperationIndex","type":"uint8"}],"type":"error","name":"InvalidLeftOperationIndex"},{"inputs":[{"internalType":"uint8","name":"operationIndex","type":"uint8"},{"internalType":"uint8","name":"logicalOperationsLength","type":"uint8"}],"type":"error","name":"InvalidLogicalOperationIndex"},{"inputs":[{"internalType":"enum IRuleEntitlement.CombinedOperationType","name":"opType","type":"uint8"}],"type":"error","name":"InvalidOperationType"},{"inputs":[{"internalType":"uint8","name":"rightOperationIndex","type":"uint8"},{"internalType":"uint8","name":"currentOperationIndex","type":"uint8"}],"type":"error","name":"InvalidRightOperationIndex"},{"inputs":[{"internalType":"uint256","name":"limit","type":"uint256"}],"type":"error","name":"LogicalOperationLimitReached"},{"inputs":[{"internalType":"uint256","name":"limit","type":"uint256"}],"type":"error","name":"OperationsLimitReached"},{"inputs":[],"stateMutability":"view","type":"function","name":"description","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"struct IRuleEntitlement.RuleData","name":"data","type":"tuple","components":[{"internalType":"struct IRuleEntitlement.Operation[]","name":"operations","type":"tuple[]","components":[{"internalType":"enum IRuleEntitlement.CombinedOperationType","name":"opType","type":"uint8"},{"internalType":"uint8","name":"index","type":"uint8"}]},{"internalType":"struct IRuleEntitlement.CheckOperation[]","name":"checkOperations","type":"tuple[]","components":[{"internalType":"enum IRuleEntitlement.CheckOperationType","name":"opType","type":"uint8"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"uint256","name":"threshold","type":"uint256"}]},{"internalType":"struct IRuleEntitlement.LogicalOperation[]","name":"logicalOperations","type":"tuple[]","components":[{"internalType":"enum IRuleEntitlement.LogicalOperationType","name":"logOpType","type":"uint8"},{"internalType":"uint8","name":"leftOperationIndex","type":"uint8"},{"internalType":"uint8","name":"rightOperationIndex","type":"uint8"}]}]}],"stateMutability":"pure","type":"function","name":"encodeRuleData","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"uint256","name":"roleId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getCheckOperations","outputs":[{"internalType":"struct IRuleEntitlement.CheckOperation[]","name":"","type":"tuple[]","components":[{"internalType":"enum IRuleEntitlement.CheckOperationType","name":"opType","type":"uint8"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"uint256","name":"threshold","type":"uint256"}]}]},{"inputs":[{"internalType":"uint256","name":"roleId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getEntitlementDataByRoleId","outputs":[{"internalType":"bytes","name":"","type":"bytes"}]},{"inputs":[{"internalType":"uint256","name":"roleId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getLogicalOperations","outputs":[{"internalType":"struct IRuleEntitlement.LogicalOperation[]","name":"","type":"tuple[]","components":[{"internalType":"enum IRuleEntitlement.LogicalOperationType","name":"logOpType","type":"uint8"},{"internalType":"uint8","name":"leftOperationIndex","type":"uint8"},{"internalType":"uint8","name":"rightOperationIndex","type":"uint8"}]}]},{"inputs":[{"internalType":"uint256","name":"roleId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getOperations","outputs":[{"internalType":"struct IRuleEntitlement.Operation[]","name":"","type":"tuple[]","components":[{"internalType":"enum IRuleEntitlement.CombinedOperationType","name":"opType","type":"uint8"},{"internalType":"uint8","name":"index","type":"uint8"}]}]},{"inputs":[{"internalType":"uint256","name":"roleId","type":"uint256"}],"stateMutability":"view","type":"function","name":"getRuleData","outputs":[{"internalType":"struct IRuleEntitlement.RuleData","name":"data","type":"tuple","components":[{"internalType":"struct IRuleEntitlement.Operation[]","name":"operations","type":"tuple[]","components":[{"internalType":"enum IRuleEntitlement.CombinedOperationType","name":"opType","type":"uint8"},{"internalType":"uint8","name":"index","type":"uint8"}]},{"internalType":"struct IRuleEntitlement.CheckOperation[]","name":"checkOperations","type":"tuple[]","components":[{"internalType":"enum IRuleEntitlement.CheckOperationType","name":"opType","type":"uint8"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"contractAddress","type":"address"},{"internalType":"uint256","name":"threshold","type":"uint256"}]},{"internalType":"struct IRuleEntitlement.LogicalOperation[]","name":"logicalOperations","type":"tuple[]","components":[{"internalType":"enum IRuleEntitlement.LogicalOperationType","name":"logOpType","type":"uint8"},{"internalType":"uint8","name":"leftOperationIndex","type":"uint8"},{"internalType":"uint8","name":"rightOperationIndex","type":"uint8"}]}]}]},{"inputs":[{"internalType":"address","name":"space","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"initialize"},{"inputs":[],"stateMutability":"view","type":"function","name":"isCrosschain","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"bytes32","name":"channelId","type":"bytes32"},{"internalType":"address[]","name":"user","type":"address[]"},{"internalType":"bytes32","name":"permission","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isEntitled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"moduleType","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"uint256","name":"roleId","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"removeEntitlement"},{"inputs":[{"internalType":"uint256","name":"roleId","type":"uint256"},{"internalType":"bytes","name":"entitlementData","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"setEntitlement"}],"devdoc":{"kind":"dev","methods":{"getEntitlementDataByRoleId(uint256)":{"params":{"roleId":"the roleId to fetch the entitlement data for"},"returns":{"_0":"entitlementData array for the role"}},"isCrosschain()":{"returns":{"_0":"whether this entitlement will require crosschain evaluation"}},"isEntitled(bytes32,address[],bytes32)":{"params":{"channelId":"id of the channel to check, if empty, checks space","permission":"the permission to check","user":"address of the user to check"},"returns":{"_0":"whether the user is entitled to the permission"}},"removeEntitlement(uint256)":{"params":{"roleId":"id of the role to remove"}},"setEntitlement(uint256,bytes)":{"params":{"entitlementData":"abi encoded array of data necessary to set the entitlement","roleId":"id of the role to gate"}}},"version":1},"userdoc":{"kind":"user","methods":{"description()":{"notice":"The description of the entitlement module"},"getEntitlementDataByRoleId(uint256)":{"notice":"fetches the entitlement data for a roleId"},"initialize(address)":{"notice":"initializes the entitlement module"},"isCrosschain()":{"notice":"some entitlements require cross chain evaluation and may not be executed directly from other contracts"},"isEntitled(bytes32,address[],bytes32)":{"notice":"checks whether a user is has a given permission for a channel or a space"},"moduleType()":{"notice":"The type of the entitlement module"},"name()":{"notice":"The name of the entitlement module"},"removeEntitlement(uint256)":{"notice":"removes an entitlement"},"setEntitlement(uint256,bytes)":{"notice":"sets a new entitlement"}},"version":1}},"settings":{"remappings":["@openzeppelin/=lib/@openzeppelin/","@prb/math/=lib/@prb/math/src/","@prb/test/=lib/@prb/test/src/","account-abstraction/=lib/account-abstraction/contracts/","base64/=lib/base64/","ds-test/=lib/ds-test/src/","forge-std/=lib/forge-std/src/","hardhat-deploy/=lib/hardhat-deploy/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"none","appendCBOR":false},"compilationTarget":{"contracts/src/spaces/entitlements/rule/IRuleEntitlement.sol":"IRuleEntitlement"},"evmVersion":"paris","libraries":{}},"sources":{"contracts/src/spaces/entitlements/IEntitlement.sol":{"keccak256":"0x81712a4b9127000ba341966d99395917dcb4b1305eadeddd1e1ad4e562587fdd","urls":["bzz-raw://df0fcc9d7ed7489786684f5fa8375b277146969021f96f6a9feb81cb39176eca","dweb:/ipfs/QmbxXXeXe6AzXUL8cSoABMx2E2QbRAK2uJXd8TRnDuKSJ8"],"license":"MIT"},"contracts/src/spaces/entitlements/rule/IRuleEntitlement.sol":{"keccak256":"0x667a71b4ea5c072ed8039139345f73779f7f08820a09848f708cd159fd9f1b79","urls":["bzz-raw://988f98a1147ecfa0480bf747fbed8202229aa0c37f43dd25a967ebca213b8050","dweb:/ipfs/QmWHdrRbCu48aHYKhhGt2UgukaQsQhuHV38c51Yk566Rse"],"license":"MIT"}},"version":1},"id":209}