@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
JSON
{
"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",