@etherisc/gif-contracts
Version:
This repository holds the GIF core contracts and tools to develop, test and deploy GIF instances.
1,400 lines (1,399 loc) • 318 kB
JSON
{
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "id",
"type": "bytes32"
}
],
"name": "ChainlinkCancelled",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "id",
"type": "bytes32"
}
],
"name": "ChainlinkFulfilled",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "id",
"type": "bytes32"
}
],
"name": "ChainlinkRequested",
"type": "event"
}
],
"allSourcePaths": {
"54": "/home/vscode/.brownie/packages/smartcontractkit/chainlink@1.6.0/contracts/src/v0.8/Chainlink.sol",
"55": "/home/vscode/.brownie/packages/smartcontractkit/chainlink@1.6.0/contracts/src/v0.8/ChainlinkClient.sol",
"56": "/home/vscode/.brownie/packages/smartcontractkit/chainlink@1.6.0/contracts/src/v0.8/interfaces/ChainlinkRequestInterface.sol",
"57": "/home/vscode/.brownie/packages/smartcontractkit/chainlink@1.6.0/contracts/src/v0.8/interfaces/ENSInterface.sol",
"58": "/home/vscode/.brownie/packages/smartcontractkit/chainlink@1.6.0/contracts/src/v0.8/interfaces/LinkTokenInterface.sol",
"59": "/home/vscode/.brownie/packages/smartcontractkit/chainlink@1.6.0/contracts/src/v0.8/interfaces/OperatorInterface.sol",
"60": "/home/vscode/.brownie/packages/smartcontractkit/chainlink@1.6.0/contracts/src/v0.8/interfaces/OracleInterface.sol",
"61": "/home/vscode/.brownie/packages/smartcontractkit/chainlink@1.6.0/contracts/src/v0.8/interfaces/PointerInterface.sol",
"62": "/home/vscode/.brownie/packages/smartcontractkit/chainlink@1.6.0/contracts/src/v0.8/vendor/BufferChainlink.sol",
"63": "/home/vscode/.brownie/packages/smartcontractkit/chainlink@1.6.0/contracts/src/v0.8/vendor/CBORChainlink.sol",
"64": "/home/vscode/.brownie/packages/smartcontractkit/chainlink@1.6.0/contracts/src/v0.8/vendor/ENSResolver.sol"
},
"ast": {
"absolutePath": "/home/vscode/.brownie/packages/smartcontractkit/chainlink@1.6.0/contracts/src/v0.8/ChainlinkClient.sol",
"exportedSymbols": {
"BufferChainlink": [
28140
],
"CBORChainlink": [
28587
],
"Chainlink": [
25676
],
"ChainlinkClient": [
17961
],
"ChainlinkRequestInterface": [
25709
],
"ENSInterface": [
25789
],
"ENSResolver_Chainlink": [
25982
],
"LinkTokenInterface": [
25884
],
"OperatorInterface": [
25964
],
"OracleInterface": [
28626
],
"PointerInterface": [
25972
]
},
"id": 17962,
"license": "MIT",
"nodeType": "SourceUnit",
"nodes": [
{
"id": 17370,
"literals": [
"solidity",
"^",
"0.8",
".0"
],
"nodeType": "PragmaDirective",
"src": "32:23:55"
},
{
"absolutePath": "/home/vscode/.brownie/packages/smartcontractkit/chainlink@1.6.0/contracts/src/v0.8/Chainlink.sol",
"file": "./Chainlink.sol",
"id": 17371,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 17962,
"sourceUnit": 25677,
"src": "57:25:55",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/home/vscode/.brownie/packages/smartcontractkit/chainlink@1.6.0/contracts/src/v0.8/interfaces/ENSInterface.sol",
"file": "./interfaces/ENSInterface.sol",
"id": 17372,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 17962,
"sourceUnit": 25790,
"src": "83:39:55",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/home/vscode/.brownie/packages/smartcontractkit/chainlink@1.6.0/contracts/src/v0.8/interfaces/LinkTokenInterface.sol",
"file": "./interfaces/LinkTokenInterface.sol",
"id": 17373,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 17962,
"sourceUnit": 25885,
"src": "123:45:55",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/home/vscode/.brownie/packages/smartcontractkit/chainlink@1.6.0/contracts/src/v0.8/interfaces/ChainlinkRequestInterface.sol",
"file": "./interfaces/ChainlinkRequestInterface.sol",
"id": 17374,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 17962,
"sourceUnit": 25710,
"src": "169:52:55",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/home/vscode/.brownie/packages/smartcontractkit/chainlink@1.6.0/contracts/src/v0.8/interfaces/OperatorInterface.sol",
"file": "./interfaces/OperatorInterface.sol",
"id": 17375,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 17962,
"sourceUnit": 25965,
"src": "222:44:55",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/home/vscode/.brownie/packages/smartcontractkit/chainlink@1.6.0/contracts/src/v0.8/interfaces/PointerInterface.sol",
"file": "./interfaces/PointerInterface.sol",
"id": 17376,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 17962,
"sourceUnit": 25973,
"src": "267:43:55",
"symbolAliases": [],
"unitAlias": ""
},
{
"absolutePath": "/home/vscode/.brownie/packages/smartcontractkit/chainlink@1.6.0/contracts/src/v0.8/vendor/ENSResolver.sol",
"file": "./vendor/ENSResolver.sol",
"id": 17378,
"nameLocation": "-1:-1:-1",
"nodeType": "ImportDirective",
"scope": 17962,
"sourceUnit": 25983,
"src": "311:78:55",
"symbolAliases": [
{
"foreign": {
"id": 17377,
"name": "ENSResolver",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"src": "319:11:55",
"typeDescriptions": {}
},
"local": "ENSResolver_Chainlink",
"nameLocation": "-1:-1:-1"
}
],
"unitAlias": ""
},
{
"abstract": true,
"baseContracts": [],
"contractDependencies": [],
"contractKind": "contract",
"documentation": {
"id": 17379,
"nodeType": "StructuredDocumentation",
"src": "391:157:55",
"text": " @title The ChainlinkClient contract\n @notice Contract writers can inherit this contract in order to create requests for the\n Chainlink network"
},
"fullyImplemented": true,
"id": 17961,
"linearizedBaseContracts": [
17961
],
"name": "ChainlinkClient",
"nameLocation": "567:15:55",
"nodeType": "ContractDefinition",
"nodes": [
{
"id": 17383,
"libraryName": {
"id": 17380,
"name": "Chainlink",
"nodeType": "IdentifierPath",
"referencedDeclaration": 25676,
"src": "593:9:55"
},
"nodeType": "UsingForDirective",
"src": "587:38:55",
"typeName": {
"id": 17382,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 17381,
"name": "Chainlink.Request",
"nodeType": "IdentifierPath",
"referencedDeclaration": 25433,
"src": "607:17:55"
},
"referencedDeclaration": 25433,
"src": "607:17:55",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Request_$25433_storage_ptr",
"typeString": "struct Chainlink.Request"
}
}
},
{
"constant": true,
"id": 17388,
"mutability": "constant",
"name": "LINK_DIVISIBILITY",
"nameLocation": "655:17:55",
"nodeType": "VariableDeclaration",
"scope": 17961,
"src": "629:52:55",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 17384,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "629:7:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": {
"commonType": {
"typeIdentifier": "t_rational_1000000000000000000_by_1",
"typeString": "int_const 1000000000000000000"
},
"id": 17387,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"leftExpression": {
"hexValue": "3130",
"id": 17385,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "675:2:55",
"typeDescriptions": {
"typeIdentifier": "t_rational_10_by_1",
"typeString": "int_const 10"
},
"value": "10"
},
"nodeType": "BinaryOperation",
"operator": "**",
"rightExpression": {
"hexValue": "3138",
"id": 17386,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "679:2:55",
"typeDescriptions": {
"typeIdentifier": "t_rational_18_by_1",
"typeString": "int_const 18"
},
"value": "18"
},
"src": "675:6:55",
"typeDescriptions": {
"typeIdentifier": "t_rational_1000000000000000000_by_1",
"typeString": "int_const 1000000000000000000"
}
},
"visibility": "internal"
},
{
"constant": true,
"id": 17391,
"mutability": "constant",
"name": "AMOUNT_OVERRIDE",
"nameLocation": "710:15:55",
"nodeType": "VariableDeclaration",
"scope": 17961,
"src": "685:44:55",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 17389,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "685:7:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": {
"hexValue": "30",
"id": 17390,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "728:1:55",
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
},
"visibility": "private"
},
{
"constant": true,
"id": 17397,
"mutability": "constant",
"name": "SENDER_OVERRIDE",
"nameLocation": "758:15:55",
"nodeType": "VariableDeclaration",
"scope": 17961,
"src": "733:53:55",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 17392,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "733:7:55",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": {
"arguments": [
{
"hexValue": "30",
"id": 17395,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "784:1:55",
"typeDescriptions": {
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
},
"value": "0"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_rational_0_by_1",
"typeString": "int_const 0"
}
],
"id": 17394,
"isConstant": false,
"isLValue": false,
"isPure": true,
"lValueRequested": false,
"nodeType": "ElementaryTypeNameExpression",
"src": "776:7:55",
"typeDescriptions": {
"typeIdentifier": "t_type$_t_address_$",
"typeString": "type(address)"
},
"typeName": {
"id": 17393,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "776:7:55",
"typeDescriptions": {}
}
},
"id": 17396,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "typeConversion",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "776:10:55",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "private"
},
{
"constant": true,
"id": 17400,
"mutability": "constant",
"name": "ORACLE_ARGS_VERSION",
"nameLocation": "815:19:55",
"nodeType": "VariableDeclaration",
"scope": 17961,
"src": "790:48:55",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 17398,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "790:7:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": {
"hexValue": "31",
"id": 17399,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "837:1:55",
"typeDescriptions": {
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
},
"value": "1"
},
"visibility": "private"
},
{
"constant": true,
"id": 17403,
"mutability": "constant",
"name": "OPERATOR_ARGS_VERSION",
"nameLocation": "867:21:55",
"nodeType": "VariableDeclaration",
"scope": 17961,
"src": "842:50:55",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 17401,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "842:7:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": {
"hexValue": "32",
"id": 17402,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "891:1:55",
"typeDescriptions": {
"typeIdentifier": "t_rational_2_by_1",
"typeString": "int_const 2"
},
"value": "2"
},
"visibility": "private"
},
{
"constant": true,
"id": 17408,
"mutability": "constant",
"name": "ENS_TOKEN_SUBNAME",
"nameLocation": "921:17:55",
"nodeType": "VariableDeclaration",
"scope": 17961,
"src": "896:62:55",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 17404,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "896:7:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": {
"arguments": [
{
"hexValue": "6c696e6b",
"id": 17406,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "951:6:55",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_90430203e2d9ce04f00738d355173358b054545ecb52218de9c6fb01cbd9aeaf",
"typeString": "literal_string \"link\""
},
"value": "link"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_90430203e2d9ce04f00738d355173358b054545ecb52218de9c6fb01cbd9aeaf",
"typeString": "literal_string \"link\""
}
],
"id": 17405,
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -8,
"src": "941:9:55",
"typeDescriptions": {
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
"typeString": "function (bytes memory) pure returns (bytes32)"
}
},
"id": 17407,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "941:17:55",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "private"
},
{
"constant": true,
"id": 17413,
"mutability": "constant",
"name": "ENS_ORACLE_SUBNAME",
"nameLocation": "987:18:55",
"nodeType": "VariableDeclaration",
"scope": 17961,
"src": "962:65:55",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 17409,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "962:7:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"value": {
"arguments": [
{
"hexValue": "6f7261636c65",
"id": 17411,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "string",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1018:8:55",
"typeDescriptions": {
"typeIdentifier": "t_stringliteral_89cbf5af14e0328a3cd3a734f92c3832d729d431da79b7873a62cbeebd37beb6",
"typeString": "literal_string \"oracle\""
},
"value": "oracle"
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_stringliteral_89cbf5af14e0328a3cd3a734f92c3832d729d431da79b7873a62cbeebd37beb6",
"typeString": "literal_string \"oracle\""
}
],
"id": 17410,
"name": "keccak256",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": -8,
"src": "1008:9:55",
"typeDescriptions": {
"typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$",
"typeString": "function (bytes memory) pure returns (bytes32)"
}
},
"id": 17412,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "1008:19:55",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "private"
},
{
"constant": true,
"id": 17416,
"mutability": "constant",
"name": "LINK_TOKEN_POINTER",
"nameLocation": "1056:18:55",
"nodeType": "VariableDeclaration",
"scope": 17961,
"src": "1031:88:55",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 17414,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1031:7:55",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": {
"hexValue": "307843383962443445313633324433413433434230334141416435323632636265343033384263353731",
"id": 17415,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1077:42:55",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"value": "0xC89bD4E1632D3A43CB03AAAd5262cbe4038Bc571"
},
"visibility": "private"
},
{
"constant": false,
"id": 17419,
"mutability": "mutable",
"name": "s_ens",
"nameLocation": "1145:5:55",
"nodeType": "VariableDeclaration",
"scope": 17961,
"src": "1124:26:55",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ENSInterface_$25789",
"typeString": "contract ENSInterface"
},
"typeName": {
"id": 17418,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 17417,
"name": "ENSInterface",
"nodeType": "IdentifierPath",
"referencedDeclaration": 25789,
"src": "1124:12:55"
},
"referencedDeclaration": 25789,
"src": "1124:12:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_ENSInterface_$25789",
"typeString": "contract ENSInterface"
}
},
"visibility": "private"
},
{
"constant": false,
"id": 17421,
"mutability": "mutable",
"name": "s_ensNode",
"nameLocation": "1170:9:55",
"nodeType": "VariableDeclaration",
"scope": 17961,
"src": "1154:25:55",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 17420,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "1154:7:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "private"
},
{
"constant": false,
"id": 17424,
"mutability": "mutable",
"name": "s_link",
"nameLocation": "1210:6:55",
"nodeType": "VariableDeclaration",
"scope": 17961,
"src": "1183:33:55",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_LinkTokenInterface_$25884",
"typeString": "contract LinkTokenInterface"
},
"typeName": {
"id": 17423,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 17422,
"name": "LinkTokenInterface",
"nodeType": "IdentifierPath",
"referencedDeclaration": 25884,
"src": "1183:18:55"
},
"referencedDeclaration": 25884,
"src": "1183:18:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_LinkTokenInterface_$25884",
"typeString": "contract LinkTokenInterface"
}
},
"visibility": "private"
},
{
"constant": false,
"id": 17427,
"mutability": "mutable",
"name": "s_oracle",
"nameLocation": "1246:8:55",
"nodeType": "VariableDeclaration",
"scope": 17961,
"src": "1220:34:55",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_contract$_OperatorInterface_$25964",
"typeString": "contract OperatorInterface"
},
"typeName": {
"id": 17426,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 17425,
"name": "OperatorInterface",
"nodeType": "IdentifierPath",
"referencedDeclaration": 25964,
"src": "1220:17:55"
},
"referencedDeclaration": 25964,
"src": "1220:17:55",
"typeDescriptions": {
"typeIdentifier": "t_contract$_OperatorInterface_$25964",
"typeString": "contract OperatorInterface"
}
},
"visibility": "private"
},
{
"constant": false,
"id": 17430,
"mutability": "mutable",
"name": "s_requestCount",
"nameLocation": "1274:14:55",
"nodeType": "VariableDeclaration",
"scope": 17961,
"src": "1258:34:55",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 17428,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1258:7:55",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": {
"hexValue": "31",
"id": 17429,
"isConstant": false,
"isLValue": false,
"isPure": true,
"kind": "number",
"lValueRequested": false,
"nodeType": "Literal",
"src": "1291:1:55",
"typeDescriptions": {
"typeIdentifier": "t_rational_1_by_1",
"typeString": "int_const 1"
},
"value": "1"
},
"visibility": "private"
},
{
"constant": false,
"id": 17434,
"mutability": "mutable",
"name": "s_pendingRequests",
"nameLocation": "1332:17:55",
"nodeType": "VariableDeclaration",
"scope": 17961,
"src": "1296:53:55",
"stateVariable": true,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$",
"typeString": "mapping(bytes32 => address)"
},
"typeName": {
"id": 17433,
"keyType": {
"id": 17431,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "1304:7:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"nodeType": "Mapping",
"src": "1296:27:55",
"typeDescriptions": {
"typeIdentifier": "t_mapping$_t_bytes32_$_t_address_$",
"typeString": "mapping(bytes32 => address)"
},
"valueType": {
"id": 17432,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1315:7:55",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
}
},
"visibility": "private"
},
{
"anonymous": false,
"id": 17438,
"name": "ChainlinkRequested",
"nameLocation": "1360:18:55",
"nodeType": "EventDefinition",
"parameters": {
"id": 17437,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 17436,
"indexed": true,
"mutability": "mutable",
"name": "id",
"nameLocation": "1395:2:55",
"nodeType": "VariableDeclaration",
"scope": 17438,
"src": "1379:18:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 17435,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "1379:7:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
}
],
"src": "1378:20:55"
},
"src": "1354:45:55"
},
{
"anonymous": false,
"id": 17442,
"name": "ChainlinkFulfilled",
"nameLocation": "1408:18:55",
"nodeType": "EventDefinition",
"parameters": {
"id": 17441,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 17440,
"indexed": true,
"mutability": "mutable",
"name": "id",
"nameLocation": "1443:2:55",
"nodeType": "VariableDeclaration",
"scope": 17442,
"src": "1427:18:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 17439,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "1427:7:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
}
],
"src": "1426:20:55"
},
"src": "1402:45:55"
},
{
"anonymous": false,
"id": 17446,
"name": "ChainlinkCancelled",
"nameLocation": "1456:18:55",
"nodeType": "EventDefinition",
"parameters": {
"id": 17445,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 17444,
"indexed": true,
"mutability": "mutable",
"name": "id",
"nameLocation": "1491:2:55",
"nodeType": "VariableDeclaration",
"scope": 17446,
"src": "1475:18:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 17443,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "1475:7:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
}
],
"src": "1474:20:55"
},
"src": "1450:45:55"
},
{
"body": {
"id": 17472,
"nodeType": "Block",
"src": "2018:115:55",
"statements": [
{
"assignments": [
17463
],
"declarations": [
{
"constant": false,
"id": 17463,
"mutability": "mutable",
"name": "req",
"nameLocation": "2049:3:55",
"nodeType": "VariableDeclaration",
"scope": 17472,
"src": "2024:28:55",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Request_$25433_memory_ptr",
"typeString": "struct Chainlink.Request"
},
"typeName": {
"id": 17462,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 17461,
"name": "Chainlink.Request",
"nodeType": "IdentifierPath",
"referencedDeclaration": 25433,
"src": "2024:17:55"
},
"referencedDeclaration": 25433,
"src": "2024:17:55",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Request_$25433_storage_ptr",
"typeString": "struct Chainlink.Request"
}
},
"visibility": "internal"
}
],
"id": 17464,
"nodeType": "VariableDeclarationStatement",
"src": "2024:28:55"
},
{
"expression": {
"arguments": [
{
"id": 17467,
"name": "specId",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17449,
"src": "2080:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
{
"id": 17468,
"name": "callbackAddr",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17451,
"src": "2088:12:55",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
{
"id": 17469,
"name": "callbackFunctionSignature",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17453,
"src": "2102:25:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
}
],
"expression": {
"argumentTypes": [
{
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
{
"typeIdentifier": "t_address",
"typeString": "address"
},
{
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
],
"expression": {
"id": 17465,
"name": "req",
"nodeType": "Identifier",
"overloadedDeclarations": [],
"referencedDeclaration": 17463,
"src": "2065:3:55",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Request_$25433_memory_ptr",
"typeString": "struct Chainlink.Request memory"
}
},
"id": 17466,
"isConstant": false,
"isLValue": true,
"isPure": false,
"lValueRequested": false,
"memberName": "initialize",
"nodeType": "MemberAccess",
"referencedDeclaration": 25478,
"src": "2065:14:55",
"typeDescriptions": {
"typeIdentifier": "t_function_internal_pure$_t_struct$_Request_$25433_memory_ptr_$_t_bytes32_$_t_address_$_t_bytes4_$returns$_t_struct$_Request_$25433_memory_ptr_$bound_to$_t_struct$_Request_$25433_memory_ptr_$",
"typeString": "function (struct Chainlink.Request memory,bytes32,address,bytes4) pure returns (struct Chainlink.Request memory)"
}
},
"id": 17470,
"isConstant": false,
"isLValue": false,
"isPure": false,
"kind": "functionCall",
"lValueRequested": false,
"names": [],
"nodeType": "FunctionCall",
"src": "2065:63:55",
"tryCall": false,
"typeDescriptions": {
"typeIdentifier": "t_struct$_Request_$25433_memory_ptr",
"typeString": "struct Chainlink.Request memory"
}
},
"functionReturnParameters": 17458,
"id": 17471,
"nodeType": "Return",
"src": "2058:70:55"
}
]
},
"documentation": {
"id": 17447,
"nodeType": "StructuredDocumentation",
"src": "1499:348:55",
"text": " @notice Creates a request that can hold additional parameters\n @param specId The Job Specification ID that the request will be created for\n @param callbackAddr address to operate the callback on\n @param callbackFunctionSignature function signature to use for the callback\n @return A Chainlink Request struct in memory"
},
"id": 17473,
"implemented": true,
"kind": "function",
"modifiers": [],
"name": "buildChainlinkRequest",
"nameLocation": "1859:21:55",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 17454,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 17449,
"mutability": "mutable",
"name": "specId",
"nameLocation": "1894:6:55",
"nodeType": "VariableDeclaration",
"scope": 17473,
"src": "1886:14:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
},
"typeName": {
"id": 17448,
"name": "bytes32",
"nodeType": "ElementaryTypeName",
"src": "1886:7:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes32",
"typeString": "bytes32"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 17451,
"mutability": "mutable",
"name": "callbackAddr",
"nameLocation": "1914:12:55",
"nodeType": "VariableDeclaration",
"scope": 17473,
"src": "1906:20:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 17450,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "1906:7:55",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"visibility": "internal"
},
{
"constant": false,
"id": 17453,
"mutability": "mutable",
"name": "callbackFunctionSignature",
"nameLocation": "1939:25:55",
"nodeType": "VariableDeclaration",
"scope": 17473,
"src": "1932:32:55",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
},
"typeName": {
"id": 17452,
"name": "bytes4",
"nodeType": "ElementaryTypeName",
"src": "1932:6:55",
"typeDescriptions": {
"typeIdentifier": "t_bytes4",
"typeString": "bytes4"
}
},
"visibility": "internal"
}
],
"src": "1880:88:55"
},
"returnParameters": {
"id": 17458,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 17457,
"mutability": "mutable",
"name": "",
"nameLocation": "-1:-1:-1",
"nodeType": "VariableDeclaration",
"scope": 17473,
"src": "1992:24:55",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Request_$25433_memory_ptr",
"typeString": "struct Chainlink.Request"
},
"typeName": {
"id": 17456,
"nodeType": "UserDefinedTypeName",
"pathNode": {
"id": 17455,
"name": "Chainlink.Request",
"nodeType": "IdentifierPath",
"referencedDeclaration": 25433,
"src": "1992:17:55"
},
"referencedDeclaration": 25433,
"src": "1992:17:55",
"typeDescriptions": {
"typeIdentifier": "t_struct$_Request_$25433_storage_ptr",
"typeString": "struct Chainlink.Request"
}
},
"visibility": "internal"
}
],
"src": "1991:26:55"
},
"scope": 17961,
"src": "1850:283:55",
"stateMutability": "pure",
"virtual": false,
"visibility": "internal"
},