UNPKG

@etherisc/gif-contracts

Version:

This repository holds the GIF core contracts and tools to develop, test and deploy GIF instances.

1,493 lines (1,492 loc) 602 kB
{ "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address[]", "name": "senders", "type": "address[]" }, { "indexed": false, "internalType": "address", "name": "changedBy", "type": "address" } ], "name": "AuthorizedSendersChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "requestId", "type": "bytes32" } ], "name": "CancelOracleRequest", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "specId", "type": "bytes32" }, { "indexed": false, "internalType": "address", "name": "requester", "type": "address" }, { "indexed": false, "internalType": "bytes32", "name": "requestId", "type": "bytes32" }, { "indexed": false, "internalType": "uint256", "name": "payment", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "callbackAddr", "type": "address" }, { "indexed": false, "internalType": "bytes4", "name": "callbackFunctionId", "type": "bytes4" }, { "indexed": false, "internalType": "uint256", "name": "cancelExpiration", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "dataVersion", "type": "uint256" }, { "indexed": false, "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "OracleRequest", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "requestId", "type": "bytes32" } ], "name": "OracleResponse", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "inputs": [ { "internalType": "bytes32", "name": "requestId", "type": "bytes32" }, { "internalType": "uint256", "name": "payment", "type": "uint256" }, { "internalType": "address", "name": "callbackAddress", "type": "address" }, { "internalType": "bytes4", "name": "callbackFunctionId", "type": "bytes4" }, { "internalType": "uint256", "name": "expiration", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "fulfillOracleRequest2", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getAuthorizedSenders", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "getExpiryTime", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "onTokenTransfer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "sender", "type": "address" }, { "internalType": "uint256", "name": "payment", "type": "uint256" }, { "internalType": "bytes32", "name": "specId", "type": "bytes32" }, { "internalType": "address", "name": "callbackAddress", "type": "address" }, { "internalType": "bytes4", "name": "callbackFunctionId", "type": "bytes4" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "uint256", "name": "dataVersion", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "oracleRequest", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "senders", "type": "address[]" } ], "name": "setAuthorizedSenders", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ], "allSourcePaths": { "22": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/utils/Context.sol", "4": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/access/Ownable.sol", "69": "contracts/examples/mock/ChainlinkOperator.sol" }, "ast": { "absolutePath": "contracts/examples/mock/ChainlinkOperator.sol", "exportedSymbols": { "ChainlinkOperator": [ 2726 ], "Context": [ 24074 ], "Ownable": [ 20950 ] }, "id": 2727, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 2248, "literals": [ "solidity", "0.8", ".2" ], "nodeType": "PragmaDirective", "src": "32:22:69" }, { "absolutePath": "/home/vscode/.brownie/packages/OpenZeppelin/openzeppelin-contracts@4.7.3/contracts/access/Ownable.sol", "file": "@openzeppelin/contracts/access/Ownable.sol", "id": 2249, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 2727, "sourceUnit": 20951, "src": "56:52:69", "symbolAliases": [], "unitAlias": "" }, { "abstract": false, "baseContracts": [ { "baseName": { "id": 2250, "name": "Ownable", "nodeType": "IdentifierPath", "referencedDeclaration": 20950, "src": "145:7:69" }, "id": 2251, "nodeType": "InheritanceSpecifier", "src": "145:7:69" } ], "contractDependencies": [ 20950, 24074 ], "contractKind": "contract", "fullyImplemented": true, "id": 2726, "linearizedBaseContracts": [ 2726, 20950, 24074 ], "name": "ChainlinkOperator", "nameLocation": "119:17:69", "nodeType": "ContractDefinition", "nodes": [ { "canonicalName": "ChainlinkOperator.Commitment", "id": 2256, "members": [ { "constant": false, "id": 2253, "mutability": "mutable", "name": "paramsHash", "nameLocation": "196:10:69", "nodeType": "VariableDeclaration", "scope": 2256, "src": "188:18:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes31", "typeString": "bytes31" }, "typeName": { "id": 2252, "name": "bytes31", "nodeType": "ElementaryTypeName", "src": "188:7:69", "typeDescriptions": { "typeIdentifier": "t_bytes31", "typeString": "bytes31" } }, "visibility": "internal" }, { "constant": false, "id": 2255, "mutability": "mutable", "name": "dataVersion", "nameLocation": "222:11:69", "nodeType": "VariableDeclaration", "scope": 2256, "src": "216:17:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 2254, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "216:5:69", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "visibility": "internal" } ], "name": "Commitment", "nameLocation": "167:10:69", "nodeType": "StructDefinition", "scope": 2726, "src": "160:80:69", "visibility": "public" }, { "constant": true, "functionSelector": "25cb5bc0", "id": 2259, "mutability": "constant", "name": "getExpiryTime", "nameLocation": "270:13:69", "nodeType": "VariableDeclaration", "scope": 2726, "src": "246:49:69", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2257, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "246:7:69", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": { "hexValue": "35", "id": 2258, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "286:9:69", "subdenomination": "minutes", "typeDescriptions": { "typeIdentifier": "t_rational_300_by_1", "typeString": "int_const 300" }, "value": "5" }, "visibility": "public" }, { "constant": true, "id": 2262, "mutability": "constant", "name": "MAXIMUM_DATA_VERSION", "nameLocation": "326:20:69", "nodeType": "VariableDeclaration", "scope": 2726, "src": "301:51:69", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2260, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "301:7:69", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": { "hexValue": "323536", "id": 2261, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "349:3:69", "typeDescriptions": { "typeIdentifier": "t_rational_256_by_1", "typeString": "int_const 256" }, "value": "256" }, "visibility": "private" }, { "constant": true, "id": 2265, "mutability": "constant", "name": "MINIMUM_CONSUMER_GAS_LIMIT", "nameLocation": "383:26:69", "nodeType": "VariableDeclaration", "scope": 2726, "src": "358:60:69", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2263, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "358:7:69", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "value": { "hexValue": "343030303030", "id": 2264, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "412:6:69", "typeDescriptions": { "typeIdentifier": "t_rational_400000_by_1", "typeString": "int_const 400000" }, "value": "400000" }, "visibility": "private" }, { "anonymous": false, "id": 2272, "name": "AuthorizedSendersChanged", "nameLocation": "431:24:69", "nodeType": "EventDefinition", "parameters": { "id": 2271, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2268, "indexed": false, "mutability": "mutable", "name": "senders", "nameLocation": "466:7:69", "nodeType": "VariableDeclaration", "scope": 2272, "src": "456:17:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_memory_ptr", "typeString": "address[]" }, "typeName": { "baseType": { "id": 2266, "name": "address", "nodeType": "ElementaryTypeName", "src": "456:7:69", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 2267, "nodeType": "ArrayTypeName", "src": "456:9:69", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" } }, "visibility": "internal" }, { "constant": false, "id": 2270, "indexed": false, "mutability": "mutable", "name": "changedBy", "nameLocation": "483:9:69", "nodeType": "VariableDeclaration", "scope": 2272, "src": "475:17:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2269, "name": "address", "nodeType": "ElementaryTypeName", "src": "475:7:69", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "455:38:69" }, "src": "425:69:69" }, { "anonymous": false, "id": 2292, "name": "OracleRequest", "nameLocation": "506:13:69", "nodeType": "EventDefinition", "parameters": { "id": 2291, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2274, "indexed": true, "mutability": "mutable", "name": "specId", "nameLocation": "545:6:69", "nodeType": "VariableDeclaration", "scope": 2292, "src": "529:22:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 2273, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "529:7:69", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 2276, "indexed": false, "mutability": "mutable", "name": "requester", "nameLocation": "569:9:69", "nodeType": "VariableDeclaration", "scope": 2292, "src": "561:17:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2275, "name": "address", "nodeType": "ElementaryTypeName", "src": "561:7:69", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 2278, "indexed": false, "mutability": "mutable", "name": "requestId", "nameLocation": "596:9:69", "nodeType": "VariableDeclaration", "scope": 2292, "src": "588:17:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 2277, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "588:7:69", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" }, { "constant": false, "id": 2280, "indexed": false, "mutability": "mutable", "name": "payment", "nameLocation": "623:7:69", "nodeType": "VariableDeclaration", "scope": 2292, "src": "615:15:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2279, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "615:7:69", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 2282, "indexed": false, "mutability": "mutable", "name": "callbackAddr", "nameLocation": "648:12:69", "nodeType": "VariableDeclaration", "scope": 2292, "src": "640:20:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 2281, "name": "address", "nodeType": "ElementaryTypeName", "src": "640:7:69", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" }, { "constant": false, "id": 2284, "indexed": false, "mutability": "mutable", "name": "callbackFunctionId", "nameLocation": "677:18:69", "nodeType": "VariableDeclaration", "scope": 2292, "src": "670:25:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 2283, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "670:6:69", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "visibility": "internal" }, { "constant": false, "id": 2286, "indexed": false, "mutability": "mutable", "name": "cancelExpiration", "nameLocation": "713:16:69", "nodeType": "VariableDeclaration", "scope": 2292, "src": "705:24:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2285, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "705:7:69", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 2288, "indexed": false, "mutability": "mutable", "name": "dataVersion", "nameLocation": "747:11:69", "nodeType": "VariableDeclaration", "scope": 2292, "src": "739:19:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2287, "name": "uint256", "nodeType": "ElementaryTypeName", "src": "739:7:69", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "visibility": "internal" }, { "constant": false, "id": 2290, "indexed": false, "mutability": "mutable", "name": "data", "nameLocation": "774:4:69", "nodeType": "VariableDeclaration", "scope": 2292, "src": "768:10:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes" }, "typeName": { "id": 2289, "name": "bytes", "nodeType": "ElementaryTypeName", "src": "768:5:69", "typeDescriptions": { "typeIdentifier": "t_bytes_storage_ptr", "typeString": "bytes" } }, "visibility": "internal" } ], "src": "519:265:69" }, "src": "500:285:69" }, { "anonymous": false, "id": 2296, "name": "CancelOracleRequest", "nameLocation": "797:19:69", "nodeType": "EventDefinition", "parameters": { "id": 2295, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2294, "indexed": true, "mutability": "mutable", "name": "requestId", "nameLocation": "833:9:69", "nodeType": "VariableDeclaration", "scope": 2296, "src": "817:25:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 2293, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "817:7:69", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "816:27:69" }, "src": "791:53:69" }, { "anonymous": false, "id": 2300, "name": "OracleResponse", "nameLocation": "856:14:69", "nodeType": "EventDefinition", "parameters": { "id": 2299, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 2298, "indexed": true, "mutability": "mutable", "name": "requestId", "nameLocation": "887:9:69", "nodeType": "VariableDeclaration", "scope": 2300, "src": "871:25:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" }, "typeName": { "id": 2297, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "871:7:69", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "visibility": "internal" } ], "src": "870:27:69" }, "src": "850:48:69" }, { "constant": false, "id": 2304, "mutability": "mutable", "name": "s_authorizedSenders", "nameLocation": "963:19:69", "nodeType": "VariableDeclaration", "scope": 2726, "src": "930:52:69", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "typeName": { "id": 2303, "keyType": { "id": 2301, "name": "address", "nodeType": "ElementaryTypeName", "src": "938:7:69", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "nodeType": "Mapping", "src": "930:24:69", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", "typeString": "mapping(address => bool)" }, "valueType": { "id": 2302, "name": "bool", "nodeType": "ElementaryTypeName", "src": "949:4:69", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } } }, "visibility": "private" }, { "constant": false, "id": 2307, "mutability": "mutable", "name": "s_authorizedSenderList", "nameLocation": "1006:22:69", "nodeType": "VariableDeclaration", "scope": 2726, "src": "988:40:69", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage", "typeString": "address[]" }, "typeName": { "baseType": { "id": 2305, "name": "address", "nodeType": "ElementaryTypeName", "src": "988:7:69", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 2306, "nodeType": "ArrayTypeName", "src": "988:9:69", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_storage_ptr", "typeString": "address[]" } }, "visibility": "private" }, { "constant": false, "id": 2312, "mutability": "mutable", "name": "s_commitments", "nameLocation": "1074:13:69", "nodeType": "VariableDeclaration", "scope": 2726, "src": "1035:52:69", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Commitment_$2256_storage_$", "typeString": "mapping(bytes32 => struct ChainlinkOperator.Commitment)" }, "typeName": { "id": 2311, "keyType": { "id": 2308, "name": "bytes32", "nodeType": "ElementaryTypeName", "src": "1043:7:69", "typeDescriptions": { "typeIdentifier": "t_bytes32", "typeString": "bytes32" } }, "nodeType": "Mapping", "src": "1035:30:69", "typeDescriptions": { "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_Commitment_$2256_storage_$", "typeString": "mapping(bytes32 => struct ChainlinkOperator.Commitment)" }, "valueType": { "id": 2310, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 2309, "name": "Commitment", "nodeType": "IdentifierPath", "referencedDeclaration": 2256, "src": "1054:10:69" }, "referencedDeclaration": 2256, "src": "1054:10:69", "typeDescriptions": { "typeIdentifier": "t_struct$_Commitment_$2256_storage_ptr", "typeString": "struct ChainlinkOperator.Commitment" } } }, "visibility": "private" }, { "body": { "id": 2322, "nodeType": "Block", "src": "1224:96:69", "statements": [ { "expression": { "arguments": [ { "arguments": [], "expression": { "argumentTypes": [], "id": 2316, "name": "_canSetAuthorizedSenders", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2725, "src": "1242:24:69", "typeDescriptions": { "typeIdentifier": "t_function_internal_view$__$returns$_t_bool_$", "typeString": "function () view returns (bool)" } }, "id": 2317, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1242:26:69", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "43616e6e6f742073657420617574686f72697a65642073656e64657273", "id": 2318, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1270:31:69", "typeDescriptions": { "typeIdentifier": "t_stringliteral_337562cc5e507e68e993a2940bfc6a29858c6f26ee0c10db449328584e3eb567", "typeString": "literal_string \"Cannot set authorized senders\"" }, "value": "Cannot set authorized senders" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_337562cc5e507e68e993a2940bfc6a29858c6f26ee0c10db449328584e3eb567", "typeString": "literal_string \"Cannot set authorized senders\"" } ], "id": 2315, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "1234:7:69", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2319, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1234:68:69", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2320, "nodeType": "ExpressionStatement", "src": "1234:68:69" }, { "id": 2321, "nodeType": "PlaceholderStatement", "src": "1312:1:69" } ] }, "documentation": { "id": 2313, "nodeType": "StructuredDocumentation", "src": "1094:83:69", "text": " @notice prevents non-authorized addresses from calling this method" }, "id": 2323, "name": "validateAuthorizedSenderSetter", "nameLocation": "1191:30:69", "nodeType": "ModifierDefinition", "parameters": { "id": 2314, "nodeType": "ParameterList", "parameters": [], "src": "1221:2:69" }, "src": "1182:138:69", "virtual": false, "visibility": "internal" }, { "body": { "id": 2328, "nodeType": "Block", "src": "1350:3:69", "statements": [] }, "id": 2329, "implemented": true, "kind": "constructor", "modifiers": [ { "arguments": [], "id": 2326, "modifierName": { "id": 2325, "name": "Ownable", "nodeType": "IdentifierPath", "referencedDeclaration": 20950, "src": "1340:7:69" }, "nodeType": "ModifierInvocation", "src": "1340:9:69" } ], "name": "", "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { "id": 2324, "nodeType": "ParameterList", "parameters": [], "src": "1337:2:69" }, "returnParameters": { "id": 2327, "nodeType": "ParameterList", "parameters": [], "src": "1350:0:69" }, "scope": 2726, "src": "1326:27:69", "stateMutability": "nonpayable", "virtual": false, "visibility": "public" }, { "body": { "id": 2402, "nodeType": "Block", "src": "1668:623:69", "statements": [ { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 2342, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "id": 2339, "name": "senders", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 2333, "src": "1686:7:69", "typeDescriptions": { "typeIdentifier": "t_array$_t_address_$dyn_calldata_ptr", "typeString": "address[] calldata" } }, "id": 2340, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberName": "length", "nodeType": "MemberAccess", "src": "1686:14:69", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "hexValue": "30", "id": 2341, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "1703:1:69", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "1686:18:69", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "4d7573742068617665206174206c65617374203120617574686f72697a65642073656e646572", "id": 2343, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "1706:40:69", "typeDescriptions": { "typeIdentifier": "t_stringliteral_14acbd13c311ce77adbf2abb2c29118807e2efa37eb8080b0a33366f8bd4c4af", "typeString": "literal_string \"Must have at least 1 authorized sender\"" }, "value": "Must have at least 1 authorized sender" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_14acbd13c311ce77adbf2abb2c29118807e2efa37eb8080b0a33366f8bd4c4af", "typeString": "literal_string \"Must have at least 1 authorized sender\"" } ], "id": 2338, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ -18, -18 ], "referencedDeclaration": -18, "src": "1678:7:69", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 2344, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "names": [], "nodeType": "FunctionCall", "src": "1678:69:69", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 2345, "nodeType": "ExpressionStatement", "src": "1678:69:69" }, { "assignments": [ 2347 ], "declarations": [ { "constant": false, "id": 2347, "mutability": "mutable", "name": "authorizedSendersLength", "nameLocation": "1817:23:69", "nodeType": "VariableDeclaration", "scope": 2402, "src": "1809:31:69", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "typeName": { "id": 2346, "name": "uint256",