@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:75:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x5f80fdfea2646970667358221220dc47c4e02772e2066d2b369da445539ae109834fcbf1ac79b3cfb5782d5f2b4f64736f6c634300081d0033","sourceMap":"156:2995:75:-: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":63641,"exportedSymbols":{"Errors":[63640]},"nodeType":"SourceUnit","src":"45:3107:75","nodes":[{"id":63564,"nodeType":"PragmaDirective","src":"45:25:75","nodes":[],"literals":["solidity",">=","0.8",".22"]},{"id":63640,"nodeType":"ContractDefinition","src":"156:2995:75","nodes":[{"id":63572,"nodeType":"ErrorDefinition","src":"447:52:75","nodes":[],"documentation":{"id":63566,"nodeType":"StructuredDocumentation","src":"388:54:75","text":"@notice Thrown when `msg.sender` is not the admin."},"errorSelector":"c6cce6a4","name":"CallerNotAdmin","nameLocation":"453:14:75","parameters":{"id":63571,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63568,"mutability":"mutable","name":"admin","nameLocation":"476:5:75","nodeType":"VariableDeclaration","scope":63572,"src":"468:13:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63567,"name":"address","nodeType":"ElementaryTypeName","src":"468:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63570,"mutability":"mutable","name":"caller","nameLocation":"491:6:75","nodeType":"VariableDeclaration","scope":63572,"src":"483:14:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63569,"name":"address","nodeType":"ElementaryTypeName","src":"483:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"467:31:75"}},{"id":63575,"nodeType":"ErrorDefinition","src":"797:51:75","nodes":[],"documentation":{"id":63573,"nodeType":"StructuredDocumentation","src":"716:76:75","text":"@notice Thrown when the target contract reverts without any return data."},"errorSelector":"a25f61e6","name":"SablierComptroller_ExecutionFailedSilently","nameLocation":"803:42:75","parameters":{"id":63574,"nodeType":"ParameterList","parameters":[],"src":"845:2:75"}},{"id":63582,"nodeType":"ErrorDefinition","src":"945:81:75","nodes":[],"documentation":{"id":63576,"nodeType":"StructuredDocumentation","src":"854:86:75","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:75","parameters":{"id":63581,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63578,"mutability":"mutable","name":"newFeeUSD","nameLocation":"996:9:75","nodeType":"VariableDeclaration","scope":63582,"src":"988:17:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63577,"name":"uint256","nodeType":"ElementaryTypeName","src":"988:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"},{"constant":false,"id":63580,"mutability":"mutable","name":"maxFeeUSD","nameLocation":"1015:9:75","nodeType":"VariableDeclaration","scope":63582,"src":"1007:17:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63579,"name":"uint256","nodeType":"ElementaryTypeName","src":"1007:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"987:38:75"}},{"id":63589,"nodeType":"ErrorDefinition","src":"1149:83:75","nodes":[],"documentation":{"id":63583,"nodeType":"StructuredDocumentation","src":"1032:112:75","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:75","parameters":{"id":63588,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63585,"mutability":"mutable","name":"feeRecipient","nameLocation":"1203:12:75","nodeType":"VariableDeclaration","scope":63589,"src":"1195:20:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63584,"name":"address","nodeType":"ElementaryTypeName","src":"1195:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63587,"mutability":"mutable","name":"admin","nameLocation":"1225:5:75","nodeType":"VariableDeclaration","scope":63589,"src":"1217:13:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63586,"name":"address","nodeType":"ElementaryTypeName","src":"1217:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1194:37:75"}},{"id":63592,"nodeType":"ErrorDefinition","src":"1311:44:75","nodes":[],"documentation":{"id":63590,"nodeType":"StructuredDocumentation","src":"1238:68:75","text":"@notice Thrown when trying to transfer fees to the zero address."},"errorSelector":"16650253","name":"SablierComptroller_FeeRecipientZero","nameLocation":"1317:35:75","parameters":{"id":63591,"nodeType":"ParameterList","parameters":[],"src":"1352:2:75"}},{"id":63599,"nodeType":"ErrorDefinition","src":"1407:84:75","nodes":[],"documentation":{"id":63593,"nodeType":"StructuredDocumentation","src":"1361:41:75","text":"@notice Thrown if fee transfer fails."},"errorSelector":"d54ea680","name":"SablierComptroller_FeeTransferFailed","nameLocation":"1413:36:75","parameters":{"id":63598,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63595,"mutability":"mutable","name":"feeRecipient","nameLocation":"1458:12:75","nodeType":"VariableDeclaration","scope":63599,"src":"1450:20:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63594,"name":"address","nodeType":"ElementaryTypeName","src":"1450:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63597,"mutability":"mutable","name":"feeAmount","nameLocation":"1480:9:75","nodeType":"VariableDeclaration","scope":63599,"src":"1472:17:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"},"typeName":{"id":63596,"name":"uint256","nodeType":"ElementaryTypeName","src":"1472:7:75","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"visibility":"internal"}],"src":"1449:41:75"}},{"id":63606,"nodeType":"ErrorDefinition","src":"1775:80:75","nodes":[],"documentation":{"id":63600,"nodeType":"StructuredDocumentation","src":"1710:60:75","text":"@notice Thrown when `msg.sender` is not the comptroller."},"errorSelector":"a7e1519e","name":"Comptrollerable_CallerNotComptroller","nameLocation":"1781:36:75","parameters":{"id":63605,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63602,"mutability":"mutable","name":"comptroller","nameLocation":"1826:11:75","nodeType":"VariableDeclaration","scope":63606,"src":"1818:19:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63601,"name":"address","nodeType":"ElementaryTypeName","src":"1818:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63604,"mutability":"mutable","name":"caller","nameLocation":"1847:6:75","nodeType":"VariableDeclaration","scope":63606,"src":"1839:14:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63603,"name":"address","nodeType":"ElementaryTypeName","src":"1839:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"1817:37:75"}},{"id":63615,"nodeType":"ErrorDefinition","src":"1982:139:75","nodes":[],"documentation":{"id":63607,"nodeType":"StructuredDocumentation","src":"1861:116:75","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:75","parameters":{"id":63614,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63609,"mutability":"mutable","name":"previousComptroller","nameLocation":"2044:19:75","nodeType":"VariableDeclaration","scope":63615,"src":"2036:27:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63608,"name":"address","nodeType":"ElementaryTypeName","src":"2036:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63611,"mutability":"mutable","name":"newComptroller","nameLocation":"2073:14:75","nodeType":"VariableDeclaration","scope":63615,"src":"2065:22:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63610,"name":"address","nodeType":"ElementaryTypeName","src":"2065:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63613,"mutability":"mutable","name":"minimalInterfaceId","nameLocation":"2096:18:75","nodeType":"VariableDeclaration","scope":63615,"src":"2089:25:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"},"typeName":{"id":63612,"name":"bytes4","nodeType":"ElementaryTypeName","src":"2089:6:75","typeDescriptions":{"typeIdentifier":"t_bytes4","typeString":"bytes4"}},"visibility":"internal"}],"src":"2026:94:75"}},{"id":63618,"nodeType":"ErrorDefinition","src":"2438:21:75","nodes":[],"documentation":{"id":63616,"nodeType":"StructuredDocumentation","src":"2341:92:75","text":"@notice Thrown when trying to delegate call to a function that disallows delegate calls."},"errorSelector":"a1c0d6e5","name":"DelegateCall","nameLocation":"2444:12:75","parameters":{"id":63617,"nodeType":"ParameterList","parameters":[],"src":"2456:2:75"}},{"id":63625,"nodeType":"ErrorDefinition","src":"2773:59:75","nodes":[],"documentation":{"id":63619,"nodeType":"StructuredDocumentation","src":"2679:89:75","text":"@notice Thrown when trying to grant role to an `account` that already has the `role`."},"errorSelector":"cbb4ac0d","name":"AccountAlreadyHasRole","nameLocation":"2779:21:75","parameters":{"id":63624,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63621,"mutability":"mutable","name":"role","nameLocation":"2809:4:75","nodeType":"VariableDeclaration","scope":63625,"src":"2801:12:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63620,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2801:7:75","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63623,"mutability":"mutable","name":"account","nameLocation":"2823:7:75","nodeType":"VariableDeclaration","scope":63625,"src":"2815:15:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63622,"name":"address","nodeType":"ElementaryTypeName","src":"2815:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2800:31:75"}},{"id":63632,"nodeType":"ErrorDefinition","src":"2937:60:75","nodes":[],"documentation":{"id":63626,"nodeType":"StructuredDocumentation","src":"2838:94:75","text":"@notice Thrown when trying to revoke role from an `account` that does not have the `role`."},"errorSelector":"6514a824","name":"AccountDoesNotHaveRole","nameLocation":"2943:22:75","parameters":{"id":63631,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63628,"mutability":"mutable","name":"role","nameLocation":"2974:4:75","nodeType":"VariableDeclaration","scope":63632,"src":"2966:12:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63627,"name":"bytes32","nodeType":"ElementaryTypeName","src":"2966:7:75","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":63630,"mutability":"mutable","name":"account","nameLocation":"2988:7:75","nodeType":"VariableDeclaration","scope":63632,"src":"2980:15:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63629,"name":"address","nodeType":"ElementaryTypeName","src":"2980:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"}],"src":"2965:31:75"}},{"id":63639,"nodeType":"ErrorDefinition","src":"3088:61:75","nodes":[],"documentation":{"id":63633,"nodeType":"StructuredDocumentation","src":"3003:80:75","text":"@notice Thrown if `caller` is missing the `neededRole` and is not the admin."},"errorSelector":"6e6c2928","name":"UnauthorizedAccess","nameLocation":"3094:18:75","parameters":{"id":63638,"nodeType":"ParameterList","parameters":[{"constant":false,"id":63635,"mutability":"mutable","name":"caller","nameLocation":"3121:6:75","nodeType":"VariableDeclaration","scope":63639,"src":"3113:14:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"},"typeName":{"id":63634,"name":"address","nodeType":"ElementaryTypeName","src":"3113:7:75","stateMutability":"nonpayable","typeDescriptions":{"typeIdentifier":"t_address","typeString":"address"}},"visibility":"internal"},{"constant":false,"id":63637,"mutability":"mutable","name":"neededRole","nameLocation":"3137:10:75","nodeType":"VariableDeclaration","scope":63639,"src":"3129:18:75","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":63636,"name":"bytes32","nodeType":"ElementaryTypeName","src":"3129:7:75","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"src":"3112:36:75"}}],"abstract":false,"baseContracts":[],"canonicalName":"Errors","contractDependencies":[],"contractKind":"library","documentation":{"id":63565,"nodeType":"StructuredDocumentation","src":"72:84:75","text":"@title Errors\n @notice Library with custom errors used across the contracts."},"fullyImplemented":true,"linearizedBaseContracts":[63640],"name":"Errors","nameLocation":"164:6:75","scope":63641,"usedErrors":[63572,63575,63582,63589,63592,63599,63606,63615,63618,63625,63632,63639],"usedEvents":[]}],"license":"GPL-3.0-or-later"},"id":75}