UNPKG

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