UNPKG

witnet-solidity-bridge

Version:

Witnet Solidity Bridge contracts for EVM-compatible chains

660 lines 34.5 kB
{ "contractName": "UsingWitPriceFeeds", "abi": [ { "inputs": [], "name": "WIT_PRICE_FEEDS", "outputs": [ { "internalType": "contract IWitPriceFeeds", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" } ], "metadata": "{\"compiler\":{\"version\":\"0.8.30+commit.73712a01\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"WIT_PRICE_FEEDS\",\"outputs\":[{\"internalType\":\"contract IWitPriceFeeds\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"The Witnet Foundation.\",\"details\":\"Contracts willing to interact with a WitPriceFeeds appliance, freshly updated by a third-party.\",\"kind\":\"dev\",\"methods\":{},\"title\":\"The UsingWitPriceFeeds contract\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/mockups/UsingWitPriceFeeds.sol\":\"UsingWitPriceFeeds\"},\"evmVersion\":\"prague\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"ado-contracts/contracts/interfaces/IERC2362.sol\":{\"keccak256\":\"0x4df66aa83b94d7c3d52aba3522b6eeafc19f2c45299b7c871ef46eb199ee4f6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0af92023c38ab97a95fb7e2a196a697cfc1d90bb1b8bfe73e0ba69cbb7a8f5ab\",\"dweb:/ipfs/QmVSBWxe2QCZvAxiuTfEwprK9MbDtFNptoWeMBbmUcwQnx\"]},\"project:/contracts/WitPriceFeeds.sol\":{\"keccak256\":\"0xc12c0f30c241d717f40063c8568d1e0aaaf61ba510f9cccfe4cfed21157f95d4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5fb1e844ee7b4a0aa4fbc5adb64ee3f80aec9b8c8197eccb03d057640198a1fb\",\"dweb:/ipfs/QmQqDUAPCnqSid3DajiUf1QCxqN1SGof7D67fjG7dfwiCU\"]},\"project:/contracts/interfaces/IWitAppliance.sol\":{\"keccak256\":\"0xd207ca54a1049445a3d99eea497d9b34c6dbdd44d771eee825e4c031bd2f447e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f81de32d868ff2881ed6fe97cc897e40b4b11d23cbe53a0e23cf3e68f9c0f0a3\",\"dweb:/ipfs/QmeeXmzmK5MAzt7Hf5DB2L81efKtTzZg9VbQ8sUiTqEk5c\"]},\"project:/contracts/interfaces/IWitOracle.sol\":{\"keccak256\":\"0x26cbe2074c0b3f545a46d95fad5e2280b67edcd958e4ae0b88f3a018aa11b805\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5324bac61f65e3edb01c88b9b75ca17affd593be88da5753a93b3f5304d3f479\",\"dweb:/ipfs/QmcVmNV6smbFiPaxvuN8ShkqbDZsT1wfjnF7f3qs6ke7QG\"]},\"project:/contracts/interfaces/IWitOracleConsumer.sol\":{\"keccak256\":\"0x0091b5953897f5bec810d4fa22e43a9dbd5e01600994f6465e3fe14edab02a5b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://61862f8fd20ba0f619c4d6851affd39885c4bbbf1a7bd99e01ac472dae487a1b\",\"dweb:/ipfs/QmXuw1XaQmbSpcrZUhAzTnmnj3Vxna9D1Fg9Zwq5EnZRZK\"]},\"project:/contracts/interfaces/IWitOracleRadonRegistry.sol\":{\"keccak256\":\"0x437bbb89129311bd1cc8f6becd333df46109ec53b24d3159be942b225614071f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef9bcdf4a73cb126885478c994821b7fe2b87d9221b767b4c9342b89b0d6550a\",\"dweb:/ipfs/QmXzZXPMxjSiFpcEnhg6CjLFNxGCpDZt22xpUh7VHxNTGd\"]},\"project:/contracts/interfaces/IWitPriceFeeds.sol\":{\"keccak256\":\"0xb29abe8819699e37e91b41c4cb63273fbb0ab8c482a09c31da6c91d7338cc405\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9325f3cbd3b396216268ec83d583abd86f44a5d656c375485296e256b3c2f2a\",\"dweb:/ipfs/Qme8pjdacDLa8HLKF7Sm3XZa9uUQn1EL7gANLnAbak8y4f\"]},\"project:/contracts/interfaces/IWitPriceFeedsAdmin.sol\":{\"keccak256\":\"0xd05b103840eeb8a4770e140dbe91bd40dd33d92959d226c57a2ae45a5e615355\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://29e6104b0b62c676bb797ce8d01512550058f5b6de210b2467ba9bb0dfe8c00f\",\"dweb:/ipfs/QmUAgsVJYHqiRFrrnWCYo5vGJRaN4VsZvcBXJWYJUF5QyV\"]},\"project:/contracts/interfaces/IWitPriceFeedsConsumer.sol\":{\"keccak256\":\"0x2c12c7f4502a2953f352b67688cd8841a1198c9b8e8f9f87ab3fc0163b7533e9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d82ec627ac4c38a7336b03541c118d606e107128ba109097857a26d376e92f33\",\"dweb:/ipfs/QmQBmvL5ziD7fY2vDBNpbDbbhnwi8Cwh4XVthUjTd9ZyCF\"]},\"project:/contracts/interfaces/IWitPriceFeedsEvents.sol\":{\"keccak256\":\"0xf8b1a2ca8dd8dc8a5b8debf18f4c32df404709a4b03353c939e57a92a4e41b4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f755b639781013ae0bae92f063b1f5b440c187bbc9a7f938b6982e579114acfe\",\"dweb:/ipfs/QmZafsjeELGnVdbXvsiXeQ82vR7DBFCrwDLGqeopgxBgyC\"]},\"project:/contracts/interfaces/IWitPriceFeedsTypes.sol\":{\"keccak256\":\"0x68e2189e863f50e8d0aad8394a526df00c1e626886c23aa24c915427e5285e46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5ff40355d4144e7c08f033b55e9ef1b5994bbd83bbfbd7a41129b141f164194\",\"dweb:/ipfs/QmXMhM7GXaVXnCQ1VFB4kPhbhbfktuNFKqMGXMtWLgUk3d\"]},\"project:/contracts/interfaces/legacy/IWitPyth.sol\":{\"keccak256\":\"0xa06a34a5e553beae7dbe09a5d1049557190511e696a1b855ab5e1196a06048a2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d2c814b7be5539147c0ba1b55f6cddcad382d5e5e9f9de545d2d428c1989c7de\",\"dweb:/ipfs/QmY8KSV3PW2FBQVzXidLQ21KvDJ1v6y8WHaV8uxsqThJCC\"]},\"project:/contracts/interfaces/legacy/IWitPythErrors.sol\":{\"keccak256\":\"0x7d10dfd625a4914e4017cde140397f9f236f726ea82b4feed1d889f852866c1d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5bbf8dc2bbac36cf0a141f7062b6ed8143cffaee7969a1afc3cf0d1971e8cf18\",\"dweb:/ipfs/QmbLiZwggZwhiTLJurBkAu492xAZZ9MXWiknsuGnLYNXhP\"]},\"project:/contracts/interfaces/legacy/IWitPythEvents.sol\":{\"keccak256\":\"0xacca21f4bb4d740de63f4f2e469e8313b1d8f9a7d2340efcc17981c3510c2800\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da8b0493082593838fbc4df2431c1983a82165ae1f17215e988951c0c1ef3882\",\"dweb:/ipfs/QmNUX9K3UqxiR9igT87iLja8h3u7htp83ZhAGZ6UgD3BZP\"]},\"project:/contracts/libs/Bech32.sol\":{\"keccak256\":\"0x14618323a0efe7586c20906a2e9cee7ad63baa976ff231c57f7f2d7d3707fb8b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a19f05fe84047a7a6d3d6fc39972b432e6e536aa70472386a9d7a6d9aab64a64\",\"dweb:/ipfs/QmcHwUY66yjiotRH4Q3kbRvSzcHyLQ1yHL3KbtQKiMhtZE\"]},\"project:/contracts/libs/Secp256k1.sol\":{\"keccak256\":\"0xbe686002da5004ff39dd70709f3820eba2afe9323ae9cb894009c161e4b1a666\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://18fab91775216de0707cea9ad285b10be09127461a13432fea358bf9cb2a0c2e\",\"dweb:/ipfs/QmeRUGsgstnM4hxM9hpkBf3L6cE5btirEaowcMxmuw3utj\"]},\"project:/contracts/libs/Witnet.sol\":{\"keccak256\":\"0x1d446c3e534e40e676d1763bfb2897fadfac8afed904ab757843d7d6770b0a6c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://338fb1073f17d64e8d31bfe492d9475ce906788ee08e6489ce30413f91dc1328\",\"dweb:/ipfs/QmPe5QX2AGTnQFjse1Xttq4ZYWwYAiXoySb5VUui3PqPhk\"]},\"project:/contracts/libs/WitnetBuffer.sol\":{\"keccak256\":\"0x8e07aebe2954ab3e6f2d8eceedb12db7cf915c1f3e8630f4fa9999cecb1c78ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed6c54cc901183d61546e8fd15bd5ea8ef238ebc915642946071d435dd7481ea\",\"dweb:/ipfs/Qmcaqta7YjUSBbBUGqoh44bsCS6UqqoyHjBuz4qnKBShXM\"]},\"project:/contracts/libs/WitnetCBOR.sol\":{\"keccak256\":\"0xd99308373575cc10fb7f2ceb0f6a8625f3911275c1fa27811fae498d98d03d97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4909a999d7b660a2dc54ca957b6eccfa523e2765fc4d6a2574dee7d5cd67b43\",\"dweb:/ipfs/QmWGQT4KDcfSFe1hcHVoWx6E4PhYMaod5iLpJCWBEeShzh\"]},\"project:/contracts/mockups/UsingWitPriceFeeds.sol\":{\"keccak256\":\"0xf99b22d6dc65c42151a6a2f04382e28b440a66efda55006585a6ab3a08f161a4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a4f0bc71de2438ef5020c4f18d162b55489bd45b7f63db1dd53d3f9ce811a269\",\"dweb:/ipfs/QmbjbHTy6PYzztPDcmMVjrV7zAmvKfniuJj1VNeQ1DMFjw\"]}},\"version\":1}", "bytecode": "0x", "deployedBytecode": "0x", "immutableReferences": {}, "generatedSources": [], "deployedGeneratedSources": [], "sourceMap": "", "deployedSourceMap": "", "source": "// SPDX-License-Identifier: MIT\r\n\r\npragma solidity >=0.8.0 <0.9.0;\r\n\r\nimport \"../WitPriceFeeds.sol\";\r\n\r\n/// @title The UsingWitPriceFeeds contract\r\n/// @dev Contracts willing to interact with a WitPriceFeeds appliance, freshly updated by a third-party.\r\n/// @author The Witnet Foundation.\r\nabstract contract UsingWitPriceFeeds {\r\n IWitPriceFeeds immutable public WIT_PRICE_FEEDS;\r\n \r\n constructor(address _witPriceFeeds) {\r\n require(\r\n _witPriceFeeds.code.length > 0\r\n && IWitAppliance(_witPriceFeeds).specs() == type(IWitPriceFeeds).interfaceId,\r\n \"uncompliant wit/price feeds appliance\"\r\n );\r\n WIT_PRICE_FEEDS = IWitPriceFeeds(_witPriceFeeds);\r\n }\r\n}\r\n", "sourcePath": "C:\\Users\\guill\\github\\guidiaz\\witnet-solidity-bridge\\contracts\\mockups\\UsingWitPriceFeeds.sol", "ast": { "absolutePath": "project:/contracts/mockups/UsingWitPriceFeeds.sol", "exportedSymbols": { "IERC2362": [ 644 ], "IWitAppliance": [ 26514 ], "IWitOracle": [ 26581 ], "IWitOracleConsumer": [ 26606 ], "IWitOracleRadonRegistry": [ 27394 ], "IWitPriceFeeds": [ 27848 ], "IWitPriceFeedsAdmin": [ 27955 ], "IWitPriceFeedsConsumer": [ 27992 ], "IWitPriceFeedsEvents": [ 28075 ], "IWitPriceFeedsTypes": [ 28156 ], "IWitPyth": [ 29643 ], "UsingWitPriceFeeds": [ 44378 ], "WitPriceFeeds": [ 780 ], "Witnet": [ 40741 ] }, "id": 44379, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 44340, "literals": [ "solidity", ">=", "0.8", ".0", "<", "0.9", ".0" ], "nodeType": "PragmaDirective", "src": "35:31:120" }, { "absolutePath": "project:/contracts/WitPriceFeeds.sol", "file": "../WitPriceFeeds.sol", "id": 44341, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 44379, "sourceUnit": 781, "src": "70:30:120", "symbolAliases": [], "unitAlias": "" }, { "abstract": true, "baseContracts": [], "canonicalName": "UsingWitPriceFeeds", "contractDependencies": [], "contractKind": "contract", "documentation": { "id": 44342, "nodeType": "StructuredDocumentation", "src": "104:186:120", "text": "@title The UsingWitPriceFeeds contract\n @dev Contracts willing to interact with a WitPriceFeeds appliance, freshly updated by a third-party.\n @author The Witnet Foundation." }, "fullyImplemented": true, "id": 44378, "linearizedBaseContracts": [ 44378 ], "name": "UsingWitPriceFeeds", "nameLocation": "308:18:120", "nodeType": "ContractDefinition", "nodes": [ { "constant": false, "functionSelector": "b225c1f4", "id": 44345, "mutability": "immutable", "name": "WIT_PRICE_FEEDS", "nameLocation": "366:15:120", "nodeType": "VariableDeclaration", "scope": 44378, "src": "334:47:120", "stateVariable": true, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_IWitPriceFeeds_$27848", "typeString": "contract IWitPriceFeeds" }, "typeName": { "id": 44344, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 44343, "name": "IWitPriceFeeds", "nameLocations": [ "334:14:120" ], "nodeType": "IdentifierPath", "referencedDeclaration": 27848, "src": "334:14:120" }, "referencedDeclaration": 27848, "src": "334:14:120", "typeDescriptions": { "typeIdentifier": "t_contract$_IWitPriceFeeds_$27848", "typeString": "contract IWitPriceFeeds" } }, "visibility": "public" }, { "body": { "id": 44376, "nodeType": "Block", "src": "430:289:120", "statements": [ { "expression": { "arguments": [ { "commonType": { "typeIdentifier": "t_bool", "typeString": "bool" }, "id": 44366, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "commonType": { "typeIdentifier": "t_uint256", "typeString": "uint256" }, "id": 44355, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "expression": { "expression": { "id": 44351, "name": "_witPriceFeeds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 44347, "src": "463:14:120", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "id": 44352, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "478:4:120", "memberName": "code", "nodeType": "MemberAccess", "src": "463:19:120", "typeDescriptions": { "typeIdentifier": "t_bytes_memory_ptr", "typeString": "bytes memory" } }, "id": 44353, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "483:6:120", "memberName": "length", "nodeType": "MemberAccess", "src": "463:26:120", "typeDescriptions": { "typeIdentifier": "t_uint256", "typeString": "uint256" } }, "nodeType": "BinaryOperation", "operator": ">", "rightExpression": { "hexValue": "30", "id": 44354, "isConstant": false, "isLValue": false, "isPure": true, "kind": "number", "lValueRequested": false, "nodeType": "Literal", "src": "492:1:120", "typeDescriptions": { "typeIdentifier": "t_rational_0_by_1", "typeString": "int_const 0" }, "value": "0" }, "src": "463:30:120", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "nodeType": "BinaryOperation", "operator": "&&", "rightExpression": { "commonType": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "id": 44365, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftExpression": { "arguments": [], "expression": { "argumentTypes": [], "expression": { "arguments": [ { "id": 44357, "name": "_witPriceFeeds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 44347, "src": "528:14:120", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 44356, "name": "IWitAppliance", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 26514, "src": "514:13:120", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IWitAppliance_$26514_$", "typeString": "type(contract IWitAppliance)" } }, "id": 44358, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "514:29:120", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_IWitAppliance_$26514", "typeString": "contract IWitAppliance" } }, "id": 44359, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "memberLocation": "544:5:120", "memberName": "specs", "nodeType": "MemberAccess", "referencedDeclaration": 26478, "src": "514:35:120", "typeDescriptions": { "typeIdentifier": "t_function_external_view$__$returns$_t_bytes4_$", "typeString": "function () view external returns (bytes4)" } }, "id": 44360, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "514:37:120", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "nodeType": "BinaryOperation", "operator": "==", "rightExpression": { "expression": { "arguments": [ { "id": 44362, "name": "IWitPriceFeeds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27848, "src": "560:14:120", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IWitPriceFeeds_$27848_$", "typeString": "type(contract IWitPriceFeeds)" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_type$_t_contract$_IWitPriceFeeds_$27848_$", "typeString": "type(contract IWitPriceFeeds)" } ], "id": 44361, "name": "type", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 4294967269, "src": "555:4:120", "typeDescriptions": { "typeIdentifier": "t_function_metatype_pure$__$returns$__$", "typeString": "function () pure" } }, "id": 44363, "isConstant": false, "isLValue": false, "isPure": true, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "555:20:120", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_magic_meta_type_t_contract$_IWitPriceFeeds_$27848", "typeString": "type(contract IWitPriceFeeds)" } }, "id": 44364, "isConstant": false, "isLValue": false, "isPure": true, "lValueRequested": false, "memberLocation": "576:11:120", "memberName": "interfaceId", "nodeType": "MemberAccess", "src": "555:32:120", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "src": "514:73:120", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, "src": "463:124:120", "typeDescriptions": { "typeIdentifier": "t_bool", "typeString": "bool" } }, { "hexValue": "756e636f6d706c69616e74207769742f7072696365206665656473206170706c69616e6365", "id": 44367, "isConstant": false, "isLValue": false, "isPure": true, "kind": "string", "lValueRequested": false, "nodeType": "Literal", "src": "602:39:120", "typeDescriptions": { "typeIdentifier": "t_stringliteral_4a05b9b8c7b474329857edad567ee5f0c72c314bc2fb64e40ad79b313d69eb1e", "typeString": "literal_string \"uncompliant wit/price feeds appliance\"" }, "value": "uncompliant wit/price feeds appliance" } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_bool", "typeString": "bool" }, { "typeIdentifier": "t_stringliteral_4a05b9b8c7b474329857edad567ee5f0c72c314bc2fb64e40ad79b313d69eb1e", "typeString": "literal_string \"uncompliant wit/price feeds appliance\"" } ], "id": 44350, "name": "require", "nodeType": "Identifier", "overloadedDeclarations": [ 4294967278, 4294967278, 4294967278 ], "referencedDeclaration": 4294967278, "src": "441:7:120", "typeDescriptions": { "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", "typeString": "function (bool,string memory) pure" } }, "id": 44368, "isConstant": false, "isLValue": false, "isPure": false, "kind": "functionCall", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "441:211:120", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_tuple$__$", "typeString": "tuple()" } }, "id": 44369, "nodeType": "ExpressionStatement", "src": "441:211:120" }, { "expression": { "id": 44374, "isConstant": false, "isLValue": false, "isPure": false, "lValueRequested": false, "leftHandSide": { "id": 44370, "name": "WIT_PRICE_FEEDS", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 44345, "src": "663:15:120", "typeDescriptions": { "typeIdentifier": "t_contract$_IWitPriceFeeds_$27848", "typeString": "contract IWitPriceFeeds" } }, "nodeType": "Assignment", "operator": "=", "rightHandSide": { "arguments": [ { "id": 44372, "name": "_witPriceFeeds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 44347, "src": "696:14:120", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } } ], "expression": { "argumentTypes": [ { "typeIdentifier": "t_address", "typeString": "address" } ], "id": 44371, "name": "IWitPriceFeeds", "nodeType": "Identifier", "overloadedDeclarations": [], "referencedDeclaration": 27848, "src": "681:14:120", "typeDescriptions": { "typeIdentifier": "t_type$_t_contract$_IWitPriceFeeds_$27848_$", "typeString": "type(contract IWitPriceFeeds)" } }, "id": 44373, "isConstant": false, "isLValue": false, "isPure": false, "kind": "typeConversion", "lValueRequested": false, "nameLocations": [], "names": [], "nodeType": "FunctionCall", "src": "681:30:120", "tryCall": false, "typeDescriptions": { "typeIdentifier": "t_contract$_IWitPriceFeeds_$27848", "typeString": "contract IWitPriceFeeds" } }, "src": "663:48:120", "typeDescriptions": { "typeIdentifier": "t_contract$_IWitPriceFeeds_$27848", "typeString": "contract IWitPriceFeeds" } }, "id": 44375, "nodeType": "ExpressionStatement", "src": "663:48:120" } ] }, "id": 44377, "implemented": true, "kind": "constructor", "modifiers": [], "name": "", "nameLocation": "-1:-1:-1", "nodeType": "FunctionDefinition", "parameters": { "id": 44348, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 44347, "mutability": "mutable", "name": "_witPriceFeeds", "nameLocation": "414:14:120", "nodeType": "VariableDeclaration", "scope": 44377, "src": "406:22:120", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" }, "typeName": { "id": 44346, "name": "address", "nodeType": "ElementaryTypeName", "src": "406:7:120", "stateMutability": "nonpayable", "typeDescriptions": { "typeIdentifier": "t_address", "typeString": "address" } }, "visibility": "internal" } ], "src": "405:24:120" }, "returnParameters": { "id": 44349, "nodeType": "ParameterList", "parameters": [], "src": "430:0:120" }, "scope": 44378, "src": "394:325:120", "stateMutability": "nonpayable", "virtual": false, "visibility": "internal" } ], "scope": 44379, "src": "290:432:120", "usedErrors": [], "usedEvents": [] } ], "src": "35:689:120" }, "compiler": { "name": "solc", "version": "0.8.30+commit.73712a01.Emscripten.clang" }, "networks": {}, "schemaVersion": "3.4.16", "updatedAt": "2025-10-15T14:34:46.031Z", "devdoc": { "author": "The Witnet Foundation.", "details": "Contracts willing to interact with a WitPriceFeeds appliance, freshly updated by a third-party.", "kind": "dev", "methods": {}, "title": "The UsingWitPriceFeeds contract", "version": 1 }, "userdoc": { "kind": "user", "methods": {}, "version": 1 } }