UNPKG

@sablier/airdrops

Version:

EVM smart contracts of the Sablier Airdrops protocol

273 lines (272 loc) 17.4 kB
{ "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": "SablierComptroller_ToZeroAddress", "inputs": [] }, { "type": "error", "name": "SablierComptroller_TokenBalanceZero", "inputs": [{ "name": "token", "type": "address", "internalType": "address" }] }, { "type": "error", "name": "SafeOracle_DecimalsTooHigh", "inputs": [ { "name": "oracle", "type": "address", "internalType": "address" }, { "name": "decimals", "type": "uint8", "internalType": "uint8" } ] }, { "type": "error", "name": "SafeOracle_DecimalsZero", "inputs": [{ "name": "oracle", "type": "address", "internalType": "address" }] }, { "type": "error", "name": "SafeOracle_MissesInterface", "inputs": [{ "name": "oracle", "type": "address", "internalType": "address" }] }, { "type": "error", "name": "SafeOracle_NotPositivePrice", "inputs": [{ "name": "oracle", "type": "address", "internalType": "address" }] }, { "type": "error", "name": "UnauthorizedAccess", "inputs": [ { "name": "caller", "type": "address", "internalType": "address" }, { "name": "neededRole", "type": "bytes32", "internalType": "bytes32" } ] } ], "bytecode": { "object": "0x6080806040523460175760399081601c823930815050f35b5f80fdfe5f80fdfea264697066735822122003791bd2dfa427e68b7af7edac88d1bfb3ca156d677db3cb9c09b1a136166d3a64736f6c634300081d0033", "sourceMap": "156:4042:64:-:0;;;;;;;;;;;;;;;;;;;;;", "linkReferences": {} }, "deployedBytecode": { "object": "0x5f80fdfea264697066735822122003791bd2dfa427e68b7af7edac88d1bfb3ca156d677db3cb9c09b1a136166d3a64736f6c634300081d0033", "sourceMap": "156:4042:64:-: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\":[],\"name\":\"SablierComptroller_ToZeroAddress\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"}],\"name\":\"SablierComptroller_TokenBalanceZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"oracle\",\"type\":\"address\"},{\"internalType\":\"uint8\",\"name\":\"decimals\",\"type\":\"uint8\"}],\"name\":\"SafeOracle_DecimalsTooHigh\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"oracle\",\"type\":\"address\"}],\"name\":\"SafeOracle_DecimalsZero\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"oracle\",\"type\":\"address\"}],\"name\":\"SafeOracle_MissesInterface\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"oracle\",\"type\":\"address\"}],\"name\":\"SafeOracle_NotPositivePrice\",\"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.\"}],\"SablierComptroller_ToZeroAddress()\":[{\"notice\":\"Thrown when trying to withdraw ERC-20 tokens to the zero address.\"}],\"SablierComptroller_TokenBalanceZero(address)\":[{\"notice\":\"Thrown when trying to withdraw ERC-20 tokens when the balance is zero.\"}],\"SafeOracle_DecimalsTooHigh(address,uint8)\":[{\"notice\":\"Thrown when an oracle returns too many decimals (greater than 36).\"}],\"SafeOracle_DecimalsZero(address)\":[{\"notice\":\"Thrown when an oracle returns 0 decimals.\"}],\"SafeOracle_MissesInterface(address)\":[{\"notice\":\"Thrown when an oracle does not implement the expected interface.\"}],\"SafeOracle_NotPositivePrice(address)\":[{\"notice\":\"Thrown when the price returned by the oracle is not positive.\"}],\"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\":{\"node_modules/@sablier/evm-utils/src/libraries/Errors.sol\":\"Errors\"},\"evmVersion\":\"shanghai\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":60000},\"remappings\":[\":@arbitrum/=node_modules/@arbitrum/\",\":@chainlink/=node_modules/@chainlink/\",\":@eth-optimism/=node_modules/@eth-optimism/\",\":@offchainlabs/=node_modules/@offchainlabs/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":@prb/=node_modules/@prb/\",\":@sablier/=node_modules/@sablier/\",\":@scroll-tech/=node_modules/@scroll-tech/\",\":@zksync/=node_modules/@zksync/\",\":forge-std/=node_modules/forge-std/\",\":murky/=node_modules/murky/\",\":openzeppelin-contracts/=node_modules/murky/lib/openzeppelin-contracts/\",\":solady/=node_modules/solady/\",\":solarray/=node_modules/solarray/\"],\"viaIR\":true},\"sources\":{\"node_modules/@sablier/evm-utils/src/libraries/Errors.sol\":{\"keccak256\":\"0xc9a0fbcd6d582054420a32c538204ac7adb789320c6564f278ccf45baf4485c8\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://a4da46b25df4fe89ce9f0315e1ef6561554f72b2dc7edbc43bdcdf9d65e8b709\",\"dweb:/ipfs/QmNW4VtuPSsLULst92GJmmcTCRHu4n5ndU9Jb4MbVes1jp\"]}},\"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": [], "type": "error", "name": "SablierComptroller_ToZeroAddress" }, { "inputs": [{ "internalType": "address", "name": "token", "type": "address" }], "type": "error", "name": "SablierComptroller_TokenBalanceZero" }, { "inputs": [ { "internalType": "address", "name": "oracle", "type": "address" }, { "internalType": "uint8", "name": "decimals", "type": "uint8" } ], "type": "error", "name": "SafeOracle_DecimalsTooHigh" }, { "inputs": [{ "internalType": "address", "name": "oracle", "type": "address" }], "type": "error", "name": "SafeOracle_DecimalsZero" }, { "inputs": [{ "internalType": "address", "name": "oracle", "type": "address" }], "type": "error", "name": "SafeOracle_MissesInterface" }, { "inputs": [{ "internalType": "address", "name": "oracle", "type": "address" }], "type": "error", "name": "SafeOracle_NotPositivePrice" }, { "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/", "@prb/=node_modules/@prb/", "@sablier/=node_modules/@sablier/", "@scroll-tech/=node_modules/@scroll-tech/", "@zksync/=node_modules/@zksync/", "forge-std/=node_modules/forge-std/", "murky/=node_modules/murky/", "openzeppelin-contracts/=node_modules/murky/lib/openzeppelin-contracts/", "solady/=node_modules/solady/", "solarray/=node_modules/solarray/" ], "optimizer": { "enabled": true, "runs": 60000 }, "metadata": { "bytecodeHash": "ipfs" }, "compilationTarget": { "node_modules/@sablier/evm-utils/src/libraries/Errors.sol": "Errors" }, "evmVersion": "shanghai", "libraries": {}, "viaIR": true }, "sources": { "node_modules/@sablier/evm-utils/src/libraries/Errors.sol": { "keccak256": "0xc9a0fbcd6d582054420a32c538204ac7adb789320c6564f278ccf45baf4485c8", "urls": [ "bzz-raw://a4da46b25df4fe89ce9f0315e1ef6561554f72b2dc7edbc43bdcdf9d65e8b709", "dweb:/ipfs/QmNW4VtuPSsLULst92GJmmcTCRHu4n5ndU9Jb4MbVes1jp" ], "license": "GPL-3.0-or-later" } }, "version": 1 }, "id": 64 }