[{"inputs":[{"internalType":"address","name":"_identityRegistry","type":"address"},{"internalType":"address","name":"_bondsRegistry","type":"address"},{"internalType":"address","name":"_reputationRegistry","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"chainId","type":"uint256"},{"indexed":true,"internalType":"address","name":"rootGrantor","type":"address"},{"indexed":false,"internalType":"uint256","name":"depth","type":"uint256"}],"name":"ChainCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"scopeId","type":"uint256"},{"indexed":true,"internalType":"address","name":"contractAddr","type":"address"},{"indexed":false,"internalType":"bool","name":"allowed","type":"bool"}],"name":"ContractAllowlistUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"scopeId","type":"uint256"},{"indexed":true,"internalType":"bytes4","name":"selector","type":"bytes4"},{"indexed":false,"internalType":"bool","name":"allowed","type":"bool"}],"name":"FunctionAllowlistUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"scopeId","type":"uint256"},{"indexed":true,"internalType":"address","name":"grantor","type":"address"},{"indexed":true,"internalType":"address","name":"grantee","type":"address"},{"indexed":false,"internalType":"uint256","name":"expiresAt","type":"uint256"}],"name":"ScopeCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"scopeId","type":"uint256"},{"indexed":true,"internalType":"address","name":"revokedBy","type":"address"}],"name":"ScopeRevoked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"scopeId","type":"uint256"},{"indexed":true,"internalType":"address","name":"grantee","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"ScopeUsed","type":"event"},{"inputs":[],"name":"MAX_CHAIN_DEPTH","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"bondsRegistry","outputs":[{"internalType":"contract IVaultfireBonds","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"chains","outputs":[{"internalType":"uint256","name":"depth","type":"uint256"},{"internalType":"address","name":"rootGrantor","type":"address"},{"internalType":"bool","name":"valid","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"address","name":"","type":"address"}],"name":"contractAllowlist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"grantee","type":"address"},{"internalType":"uint256","name":"maxValuePerTx","type":"uint256"},{"internalType":"uint256","name":"maxTotalValue","type":"uint256"},{"internalType":"uint256","name":"maxTxCount","type":"uint256"},{"internalType":"uint256","name":"rateLimit","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"}],"name":"createScope","outputs":[{"internalType":"uint256","name":"scopeId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes4","name":"","type":"bytes4"}],"name":"functionAllowlist","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"agent","type":"address"}],"name":"getGrantedScopes","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"agent","type":"address"}],"name":"getReceivedScopes","outputs":[{"internalType":"uint256[]","name":"","type":"uint256[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"scopeId","type":"uint256"}],"name":"getScopeRemaining","outputs":[{"internalType":"uint256","name":"remainingValue","type":"uint256"},{"internalType":"uint256","name":"remainingTxCount","type":"uint256"},{"internalType":"uint256","name":"remainingDuration","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"grantedScopes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"hasContractRestrictions","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"hasFunctionRestrictions","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"identityRegistry","outputs":[{"internalType":"contract IVaultfireIdentity","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"scopeId","type":"uint256"}],"name":"isScopeValid","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"receivedScopes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reputationRegistry","outputs":[{"internalType":"contract IVaultfireReputation","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"scopeId","type":"uint256"}],"name":"revokeScope","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"scopes","outputs":[{"internalType":"uint256","name":"maxValuePerTx","type":"uint256"},{"internalType":"uint256","name":"maxTotalValue","type":"uint256"},{"internalType":"uint256","name":"totalSpent","type":"uint256"},{"internalType":"uint256","name":"maxTxCount","type":"uint256"},{"internalType":"uint256","name":"txCount","type":"uint256"},{"internalType":"uint256","name":"rateLimit","type":"uint256"},{"internalType":"uint256","name":"lastTxAt","type":"uint256"},{"internalType":"uint256","name":"expiresAt","type":"uint256"},{"internalType":"uint256","name":"createdAt","type":"uint256"},{"internalType":"address","name":"grantor","type":"address"},{"internalType":"address","name":"grantee","type":"address"},{"internalType":"bool","name":"revoked","type":"bool"},{"internalType":"bool","name":"active","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"scopeId","type":"uint256"},{"internalType":"address","name":"contractAddr","type":"address"},{"internalType":"bool","name":"allowed","type":"bool"}],"name":"setContractAllowlist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"scopeId","type":"uint256"},{"internalType":"bytes4","name":"selector","type":"bytes4"},{"internalType":"bool","name":"allowed","type":"bool"}],"name":"setFunctionAllowlist","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"parentScopeId","type":"uint256"},{"internalType":"address","name":"grantee","type":"address"},{"internalType":"uint256","name":"maxValuePerTx","type":"uint256"},{"internalType":"uint256","name":"maxTotalValue","type":"uint256"},{"internalType":"uint256","name":"maxTxCount","type":"uint256"},{"internalType":"uint256","name":"rateLimit","type":"uint256"},{"internalType":"uint256","name":"duration","type":"uint256"}],"name":"subDelegate","outputs":[{"internalType":"uint256","name":"scopeId","type":"uint256"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"totalChains","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalScopes","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"scopeId","type":"uint256"},{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"address","name":"targetContract","type":"address"},{"internalType":"bytes4","name":"functionSelector","type":"bytes4"}],"name":"useScope","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"}]
