@sablier/evm-utils
Version:
Utilities solidity files used across Sablier's smart contracts
1 lines • 26.2 kB
JSON
{"abi":[{"type":"error","name":"AccountAlreadyHasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"AccountDoesNotHaveRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}]},{"type":"error","name":"CallerNotAdmin","inputs":[{"name":"admin","type":"address","internalType":"address"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"Comptrollerable_CallerNotComptroller","inputs":[{"name":"comptroller","type":"address","internalType":"address"},{"name":"caller","type":"address","internalType":"address"}]},{"type":"error","name":"Comptrollerable_UnsupportedInterfaceId","inputs":[{"name":"previousComptroller","type":"address","internalType":"address"},{"name":"newComptroller","type":"address","internalType":"address"},{"name":"minimalInterfaceId","type":"bytes4","internalType":"bytes4"}]},{"type":"error","name":"DelegateCall","inputs":[]},{"type":"error","name":"SablierComptroller_ExecutionFailedSilently","inputs":[]},{"type":"error","name":"SablierComptroller_FeeRecipientNotAdmin","inputs":[{"name":"feeRecipient","type":"address","internalType":"address"},{"name":"admin","type":"address","internalType":"address"}]},{"type":"error","name":"SablierComptroller_FeeRecipientZero","inputs":[]},{"type":"error","name":"SablierComptroller_FeeTransferFailed","inputs":[{"name":"feeRecipient","type":"address","internalType":"address"},{"name":"feeAmount","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"SablierComptroller_MaxFeeUSDExceeded","inputs":[{"name":"newFeeUSD","type":"uint256","internalType":"uint256"},{"name":"maxFeeUSD","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"UnauthorizedAccess","inputs":[{"name":"caller","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]}],"bytecode":{"object":"0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea2646970667358221220dc47c4e02772e2066d2b369da445539ae109834fcbf1ac79b3cfb5782d5f2b4f64736f6c634300081d0033","sourceMap":"156:2995:73:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x5f80fdfea2646970667358221220dc47c4e02772e2066d2b369da445539ae109834fcbf1ac79b3cfb5782d5f2b4f64736f6c634300081d0033","sourceMap":"156:2995:73:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.29+commit.ab55807c\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"AccountAlreadyHasRole\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"AccountDoesNotHaveRole\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"CallerNotAdmin\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"comptroller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"}],\"name\":\"Comptrollerable_CallerNotComptroller\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"previousComptroller\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"newComptroller\",\"type\":\"address\"},{\"internalType\":\"bytes4\",\"name\":\"minimalInterfaceId\",\"type\":\"bytes4\"}],\"name\":\"Comptrollerable_UnsupportedInterfaceId\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DelegateCall\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SablierComptroller_ExecutionFailedSilently\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"feeRecipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"admin\",\"type\":\"address\"}],\"name\":\"SablierComptroller_FeeRecipientNotAdmin\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"SablierComptroller_FeeRecipientZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"feeRecipient\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"feeAmount\",\"type\":\"uint256\"}],\"name\":\"SablierComptroller_FeeTransferFailed\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newFeeUSD\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"maxFeeUSD\",\"type\":\"uint256\"}],\"name\":\"SablierComptroller_MaxFeeUSDExceeded\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"caller\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"UnauthorizedAccess\",\"type\":\"error\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"title\":\"Errors\",\"version\":1},\"userdoc\":{\"errors\":{\"AccountAlreadyHasRole(bytes32,address)\":[{\"notice\":\"Thrown when trying to grant role to an `account` that already has the `role`.\"}],\"AccountDoesNotHaveRole(bytes32,address)\":[{\"notice\":\"Thrown when trying to revoke role from an `account` that does not have the `role`.\"}],\"CallerNotAdmin(address,address)\":[{\"notice\":\"Thrown when `msg.sender` is not the admin.\"}],\"Comptrollerable_CallerNotComptroller(address,address)\":[{\"notice\":\"Thrown when `msg.sender` is not the comptroller.\"}],\"Comptrollerable_UnsupportedInterfaceId(address,address,bytes4)\":[{\"notice\":\"Thrown when the new comptroller does not support the minimal interface ID from the previous comptroller.\"}],\"DelegateCall()\":[{\"notice\":\"Thrown when trying to delegate call to a function that disallows delegate calls.\"}],\"SablierComptroller_ExecutionFailedSilently()\":[{\"notice\":\"Thrown when the target contract reverts without any return data.\"}],\"SablierComptroller_FeeRecipientNotAdmin(address,address)\":[{\"notice\":\"Thrown when an unauthorized address collects fee without setting the fee recipient to admin address.\"}],\"SablierComptroller_FeeRecipientZero()\":[{\"notice\":\"Thrown when trying to transfer fees to the zero address.\"}],\"SablierComptroller_FeeTransferFailed(address,uint256)\":[{\"notice\":\"Thrown if fee transfer fails.\"}],\"SablierComptroller_MaxFeeUSDExceeded(uint256,uint256)\":[{\"notice\":\"Thrown when trying to set fee to a value that exceeds the maximum USD fee.\"}],\"UnauthorizedAccess(address,bytes32)\":[{\"notice\":\"Thrown if `caller` is missing the `neededRole` and is not the admin.\"}]},\"kind\":\"user\",\"methods\":{},\"notice\":\"Library with custom errors used across the contracts.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/libraries/Errors.sol\":\"Errors\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":100000000},\"remappings\":[\":@arbitrum/=node_modules/@arbitrum/\",\":@chainlink/=node_modules/@chainlink/\",\":@eth-optimism/=node_modules/@eth-optimism/\",\":@offchainlabs/=node_modules/@offchainlabs/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@scroll-tech/=node_modules/@scroll-tech/\",\":@zksync/=node_modules/@zksync/\",\":forge-std/=node_modules/forge-std/\"],\"viaIR\":true},\"sources\":{\"src/libraries/Errors.sol\":{\"keccak256\":\"0xedb89cb164fc16d162ac9ee5e8e649b10c577a78a76adcd6a2934d16263fd172\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://e939b25bd82858dbbe1c25f13a4bdf48c75eecd9f4dda1be26f4dfee573fb16b\",\"dweb:/ipfs/QmTci8g82qV4r6XPQtYvvxMM6Cp5fS8tq37DtA9kVB5WoX\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.29+commit.ab55807c"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"AccountAlreadyHasRole"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"AccountDoesNotHaveRole"},{"inputs":[{"internalType":"address","name":"admin","type":"address"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"CallerNotAdmin"},{"inputs":[{"internalType":"address","name":"comptroller","type":"address"},{"internalType":"address","name":"caller","type":"address"}],"type":"error","name":"Comptrollerable_CallerNotComptroller"},{"inputs":[{"internalType":"address","name":"previousComptroller","type":"address"},{"internalType":"address","name":"newComptroller","type":"address"},{"internalType":"bytes4","name":"minimalInterfaceId","type":"bytes4"}],"type":"error","name":"Comptrollerable_UnsupportedInterfaceId"},{"inputs":[],"type":"error","name":"DelegateCall"},{"inputs":[],"type":"error","name":"SablierComptroller_ExecutionFailedSilently"},{"inputs":[{"internalType":"address","name":"feeRecipient","type":"address"},{"internalType":"address","name":"admin","type":"address"}],"type":"error","name":"SablierComptroller_FeeRecipientNotAdmin"},{"inputs":[],"type":"error","name":"SablierComptroller_FeeRecipientZero"},{"inputs":[{"internalType":"address","name":"feeRecipient","type":"address"},{"internalType":"uint256","name":"feeAmount","type":"uint256"}],"type":"error","name":"SablierComptroller_FeeTransferFailed"},{"inputs":[{"internalType":"uint256","name":"newFeeUSD","type":"uint256"},{"internalType":"uint256","name":"maxFeeUSD","type":"uint256"}],"type":"error","name":"SablierComptroller_MaxFeeUSDExceeded"},{"inputs":[{"internalType":"address","name":"caller","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"type":"error","name":"UnauthorizedAccess"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@arbitrum/=node_modules/@arbitrum/","@chainlink/=node_modules/@chainlink/","@eth-optimism/=node_modules/@eth-optimism/","@offchainlabs/=node_modules/@offchainlabs/","@openzeppelin/=node_modules/@openzeppelin/","@scroll-tech/=node_modules/@scroll-tech/","@zksync/=node_modules/@zksync/","forge-std/=node_modules/forge-std/"],"optimizer":{"enabled":true,"runs":100000000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/libraries/Errors.sol":"Errors"},"evmVersion":"shanghai","libraries":{},"viaIR":true},"sources":{"src/libraries/Errors.sol":{"keccak256":"0xedb89cb164fc16d162ac9ee5e8e649b10c577a78a76adcd6a2934d16263fd172","urls":["bzz-raw://e939b25bd82858dbbe1c25f13a4bdf48c75eecd9f4dda1be26f4dfee573fb16b","dweb:/ipfs/QmTci8g82qV4r6XPQtYvvxMM6Cp5fS8tq37DtA9kVB5WoX"],"license":"GPL-3.0-or-later"}},"version":1},"storageLayout":{"storage":[],"types":{}},"ast":{"absolutePath":"src/libraries/Errors.sol","id":63165,"exportedSymbols":{"Errors":[63164]},"nodeType":"SourceUnit","src":"45:3107:73","nodes":[{"id":63088,"nodeType":"PragmaDirective","src":"45:25:73","nodes":[],"literals":["solidity",">=","0.8",".22"]},{"id":63164,"nodeType":"ContractDefinition","src":"156:2995:73","nodes":[{"id":63096,"nodeType":"ErrorDefinition","src":"447:52:73","nodes":[],"documentation":{"id":63090,"nodeType":"StructuredDocumentation","src":"388:54:73","text":"@notice Thrown when `msg.sender` is not the admin."},"errorSelector":"c6cce6a4","name":"CallerNotAdmin","nameLocation":"453:14:73","parameters":{"id":63095,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63092,"mutability":"mutable","name":"admin","nameLocation":"476:5:73","nodeType":"VariableDeclaration","scope":63096,"src":"468:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63091,"name":"address","nodeType":"ElementaryTypeName","src":"468:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63094,"mutability":"mutable","name":"caller","nameLocation":"491:6:73","nodeType":"VariableDeclaration","scope":63096,"src":"483:14:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63093,"name":"address","nodeType":"ElementaryTypeName","src":"483:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"467:31:73"}},{"id":63099,"nodeType":"ErrorDefinition","src":"797:51:73","nodes":[],"documentation":{"id":63097,"nodeType":"StructuredDocumentation","src":"716:76:73","text":"@notice Thrown when the target contract reverts without any return data."},"errorSelector":"a25f61e6","name":"SablierComptroller_ExecutionFailedSilently","nameLocation":"803:42:73","parameters":{"id":63098,"nodeType":"ParameterList","parameters":[],"src":"845:2:73"}},{"id":63106,"nodeType":"ErrorDefinition","src":"945:81:73","nodes":[],"documentation":{"id":63100,"nodeType":"StructuredDocumentation","src":"854:86:73","text":"@notice Thrown when trying to set fee to a value that exceeds the maximum USD fee."},"errorSelector":"330ce9f1","name":"SablierComptroller_MaxFeeUSDExceeded","nameLocation":"951:36:73","parameters":{"id":63105,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63102,"mutability":"mutable","name":"newFeeUSD","nameLocation":"996:9:73","nodeType":"VariableDeclaration","scope":63106,"src":"988:17:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63101,"name":"uint256","nodeType":"ElementaryTypeName","src":"988:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63104,"mutability":"mutable","name":"maxFeeUSD","nameLocation":"1015:9:73","nodeType":"VariableDeclaration","scope":63106,"src":"1007:17:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63103,"name":"uint256","nodeType":"ElementaryTypeName","src":"1007:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"987:38:73"}},{"id":63113,"nodeType":"ErrorDefinition","src":"1149:83:73","nodes":[],"documentation":{"id":63107,"nodeType":"StructuredDocumentation","src":"1032:112:73","text":"@notice Thrown when an unauthorized address collects fee without setting the fee recipient to admin address."},"errorSelector":"ac045a20","name":"SablierComptroller_FeeRecipientNotAdmin","nameLocation":"1155:39:73","parameters":{"id":63112,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63109,"mutability":"mutable","name":"feeRecipient","nameLocation":"1203:12:73","nodeType":"VariableDeclaration","scope":63113,"src":"1195:20:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63108,"name":"address","nodeType":"ElementaryTypeName","src":"1195:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63111,"mutability":"mutable","name":"admin","nameLocation":"1225:5:73","nodeType":"VariableDeclaration","scope":63113,"src":"1217:13:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63110,"name":"address","nodeType":"ElementaryTypeName","src":"1217:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1194:37:73"}},{"id":63116,"nodeType":"ErrorDefinition","src":"1311:44:73","nodes":[],"documentation":{"id":63114,"nodeType":"StructuredDocumentation","src":"1238:68:73","text":"@notice Thrown when trying to transfer fees to the zero address."},"errorSelector":"16650253","name":"SablierComptroller_FeeRecipientZero","nameLocation":"1317:35:73","parameters":{"id":63115,"nodeType":"ParameterList","parameters":[],"src":"1352:2:73"}},{"id":63123,"nodeType":"ErrorDefinition","src":"1407:84:73","nodes":[],"documentation":{"id":63117,"nodeType":"StructuredDocumentation","src":"1361:41:73","text":"@notice Thrown if fee transfer fails."},"errorSelector":"d54ea680","name":"SablierComptroller_FeeTransferFailed","nameLocation":"1413:36:73","parameters":{"id":63122,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63119,"mutability":"mutable","name":"feeRecipient","nameLocation":"1458:12:73","nodeType":"VariableDeclaration","scope":63123,"src":"1450:20:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63118,"name":"address","nodeType":"ElementaryTypeName","src":"1450:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63121,"mutability":"mutable","name":"feeAmount","nameLocation":"1480:9:73","nodeType":"VariableDeclaration","scope":63123,"src":"1472:17:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63120,"name":"uint256","nodeType":"ElementaryTypeName","src":"1472:7:73","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1449:41:73"}},{"id":63130,"nodeType":"ErrorDefinition","src":"1775:80:73","nodes":[],"documentation":{"id":63124,"nodeType":"StructuredDocumentation","src":"1710:60:73","text":"@notice Thrown when `msg.sender` is not the comptroller."},"errorSelector":"a7e1519e","name":"Comptrollerable_CallerNotComptroller","nameLocation":"1781:36:73","parameters":{"id":63129,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63126,"mutability":"mutable","name":"comptroller","nameLocation":"1826:11:73","nodeType":"VariableDeclaration","scope":63130,"src":"1818:19:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63125,"name":"address","nodeType":"ElementaryTypeName","src":"1818:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63128,"mutability":"mutable","name":"caller","nameLocation":"1847:6:73","nodeType":"VariableDeclaration","scope":63130,"src":"1839:14:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63127,"name":"address","nodeType":"ElementaryTypeName","src":"1839:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1817:37:73"}},{"id":63139,"nodeType":"ErrorDefinition","src":"1982:139:73","nodes":[],"documentation":{"id":63131,"nodeType":"StructuredDocumentation","src":"1861:116:73","text":"@notice Thrown when the new comptroller does not support the minimal interface ID from the previous comptroller."},"errorSelector":"c9947bc2","name":"Comptrollerable_UnsupportedInterfaceId","nameLocation":"1988:38:73","parameters":{"id":63138,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63133,"mutability":"mutable","name":"previousComptroller","nameLocation":"2044:19:73","nodeType":"VariableDeclaration","scope":63139,"src":"2036:27:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63132,"name":"address","nodeType":"ElementaryTypeName","src":"2036:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63135,"mutability":"mutable","name":"newComptroller","nameLocation":"2073:14:73","nodeType":"VariableDeclaration","scope":63139,"src":"2065:22:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63134,"name":"address","nodeType":"ElementaryTypeName","src":"2065:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63137,"mutability":"mutable","name":"minimalInterfaceId","nameLocation":"2096:18:73","nodeType":"VariableDeclaration","scope":63139,"src":"2089:25:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":63136,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2089:6:73","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"2026:94:73"}},{"id":63142,"nodeType":"ErrorDefinition","src":"2438:21:73","nodes":[],"documentation":{"id":63140,"nodeType":"StructuredDocumentation","src":"2341:92:73","text":"@notice Thrown when trying to delegate call to a function that disallows delegate calls."},"errorSelector":"a1c0d6e5","name":"DelegateCall","nameLocation":"2444:12:73","parameters":{"id":63141,"nodeType":"ParameterList","parameters":[],"src":"2456:2:73"}},{"id":63149,"nodeType":"ErrorDefinition","src":"2773:59:73","nodes":[],"documentation":{"id":63143,"nodeType":"StructuredDocumentation","src":"2679:89:73","text":"@notice Thrown when trying to grant role to an `account` that already has the `role`."},"errorSelector":"cbb4ac0d","name":"AccountAlreadyHasRole","nameLocation":"2779:21:73","parameters":{"id":63148,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63145,"mutability":"mutable","name":"role","nameLocation":"2809:4:73","nodeType":"VariableDeclaration","scope":63149,"src":"2801:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63144,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2801:7:73","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63147,"mutability":"mutable","name":"account","nameLocation":"2823:7:73","nodeType":"VariableDeclaration","scope":63149,"src":"2815:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63146,"name":"address","nodeType":"ElementaryTypeName","src":"2815:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2800:31:73"}},{"id":63156,"nodeType":"ErrorDefinition","src":"2937:60:73","nodes":[],"documentation":{"id":63150,"nodeType":"StructuredDocumentation","src":"2838:94:73","text":"@notice Thrown when trying to revoke role from an `account` that does not have the `role`."},"errorSelector":"6514a824","name":"AccountDoesNotHaveRole","nameLocation":"2943:22:73","parameters":{"id":63155,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63152,"mutability":"mutable","name":"role","nameLocation":"2974:4:73","nodeType":"VariableDeclaration","scope":63156,"src":"2966:12:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63151,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2966:7:73","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63154,"mutability":"mutable","name":"account","nameLocation":"2988:7:73","nodeType":"VariableDeclaration","scope":63156,"src":"2980:15:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63153,"name":"address","nodeType":"ElementaryTypeName","src":"2980:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2965:31:73"}},{"id":63163,"nodeType":"ErrorDefinition","src":"3088:61:73","nodes":[],"documentation":{"id":63157,"nodeType":"StructuredDocumentation","src":"3003:80:73","text":"@notice Thrown if `caller` is missing the `neededRole` and is not the admin."},"errorSelector":"6e6c2928","name":"UnauthorizedAccess","nameLocation":"3094:18:73","parameters":{"id":63162,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63159,"mutability":"mutable","name":"caller","nameLocation":"3121:6:73","nodeType":"VariableDeclaration","scope":63163,"src":"3113:14:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63158,"name":"address","nodeType":"ElementaryTypeName","src":"3113:7:73","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63161,"mutability":"mutable","name":"neededRole","nameLocation":"3137:10:73","nodeType":"VariableDeclaration","scope":63163,"src":"3129:18:73","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63160,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3129:7:73","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3112:36:73"}}],"abstract":false,"baseContracts":[],"canonicalName":"Errors","contractDependencies":[],"contractKind":"library","documentation":{"id":63089,"nodeType":"StructuredDocumentation","src":"72:84:73","text":"@title Errors\n @notice Library with custom errors used across the contracts."},"fullyImplemented":true,"linearizedBaseContracts":[63164],"name":"Errors","nameLocation":"164:6:73","scope":63165,"usedErrors":[63096,63099,63106,63113,63116,63123,63130,63139,63142,63149,63156,63163],"usedEvents":[]}],"license":"GPL-3.0-or-later"},"id":73}