UNPKG

witnet-solidity-bridge

Version:

Witnet Solidity Bridge contracts for EVM-compatible chains

670 lines 28 kB
{ "contractName": "IWitnetPriceFeeds", "abi": [ { "inputs": [ { "internalType": "bytes4", "name": "feedId", "type": "bytes4" } ], "name": "lookupDecimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "feedId", "type": "bytes4" } ], "name": "lookupPriceSolver", "outputs": [ { "internalType": "contract IWitnetPriceSolver", "name": "solverAddress", "type": "address" }, { "internalType": "string[]", "name": "solverDeps", "type": "string[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "feedId", "type": "bytes4" } ], "name": "latestPrice", "outputs": [ { "components": [ { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "timestamp", "type": "uint256" }, { "internalType": "bytes32", "name": "tallyHash", "type": "bytes32" }, { "internalType": "enum WitnetV2.ResponseStatus", "name": "status", "type": "uint8" } ], "internalType": "struct IWitnetPriceSolver.Price", "name": "", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes4[]", "name": "feedIds", "type": "bytes4[]" } ], "name": "latestPrices", "outputs": [ { "components": [ { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "timestamp", "type": "uint256" }, { "internalType": "bytes32", "name": "tallyHash", "type": "bytes32" }, { "internalType": "enum WitnetV2.ResponseStatus", "name": "status", "type": "uint8" } ], "internalType": "struct IWitnetPriceSolver.Price[]", "name": "", "type": "tuple[]" } ], "stateMutability": "view", "type": "function" } ], "metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.b61c2a91\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"latestPrice\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"tallyHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum WitnetV2.ResponseStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"internalType\":\"struct IWitnetPriceSolver.Price\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4[]\",\"name\":\"feedIds\",\"type\":\"bytes4[]\"}],\"name\":\"latestPrices\",\"outputs\":[{\"components\":[{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"timestamp\",\"type\":\"uint256\"},{\"internalType\":\"bytes32\",\"name\":\"tallyHash\",\"type\":\"bytes32\"},{\"internalType\":\"enum WitnetV2.ResponseStatus\",\"name\":\"status\",\"type\":\"uint8\"}],\"internalType\":\"struct IWitnetPriceSolver.Price[]\",\"name\":\"\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"lookupDecimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"feedId\",\"type\":\"bytes4\"}],\"name\":\"lookupPriceSolver\",\"outputs\":[{\"internalType\":\"contract IWitnetPriceSolver\",\"name\":\"solverAddress\",\"type\":\"address\"},{\"internalType\":\"string[]\",\"name\":\"solverDeps\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"latestPrice(bytes4)\":{\"notice\":\"====================================================================================================== --- IWitnetFeeds extension ---------------------------------------------------------------------------\"},\"lookupDecimals(bytes4)\":{\"notice\":\"====================================================================================================== --- IFeeds extension ---------------------------------------------------------------------------------\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"project:/contracts/interfaces/IWitnetPriceFeeds.sol\":\"IWitnetPriceFeeds\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[]},\"sources\":{\"project:/contracts/interfaces/IWitnetPriceFeeds.sol\":{\"keccak256\":\"0xa667f859734bc20c34a07c35a9fda348e4f3242a8d2391b84c4ac8534fbcdc7d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://81e6a9286ce05cbac22b05e89e6ed9395a5650d73aeef778bbf50b845539ab7d\",\"dweb:/ipfs/QmT26ovLwnCkGmXC7mF3CrmcZEJa3rxQF2YT97mnuxUyqz\"]},\"project:/contracts/interfaces/IWitnetPriceSolver.sol\":{\"keccak256\":\"0x858441dafaa0617a8d679b3cda493b418284d865899c3f235cb3f41535db7a16\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://43d25f8985aede9c32cee369872a9f21db41c7b9abc87d5d4d02ff7e15879b98\",\"dweb:/ipfs/QmdoZnVpx9FZeg8KHgMjGRLmVKtdn7zzFTadFUjT8xd3dR\"]},\"project:/contracts/libs/Witnet.sol\":{\"keccak256\":\"0x65a87375dd79d63a83fb454b7199b6c999bd59c50b3b59d521c5c4d45a7d3cc3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ca865b681d810c2fc5c3672ea6343c3bdf6fd71764ab824d25994744dc85866b\",\"dweb:/ipfs/QmPGcP3xGTNZfsQ9GSKdujNLRVs8dWDdubyUko1rbQqJNv\"]},\"project:/contracts/libs/WitnetBuffer.sol\":{\"keccak256\":\"0xa14570492eb5a313ddbacae0185c850ec99c67211eb33989a5e21d31bf06a150\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e83c11edb49cab6a767c0b685825bc22ece0d3d2897e0d54fe1923df5cc76ba5\",\"dweb:/ipfs/QmdLDgCc3tnKbgRrXwfNzsg6uUDirNmjvBB8V3iMmnD69a\"]},\"project:/contracts/libs/WitnetCBOR.sol\":{\"keccak256\":\"0xb346547ff731163beea2c657c52675cdf7936691d566a76a045577cf9c34ade0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6d4b5b6424a033584b41f1204d635db98fda9ca9bd2a614c9d82539a3e4e6529\",\"dweb:/ipfs/QmW6Qy3wWpzHSECYaCPaf9LWGfPqWDKVoP2kPSNNQu7LMQ\"]},\"project:/contracts/libs/WitnetV2.sol\":{\"keccak256\":\"0xb276a6da373bfbe9cd942dd7e59979cda898215d1e36ab3df95a6d6cc6ff770f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc4890876b9bc64f501ccdd48408bb63724865cb2ce8d2057f6b318540adce7c\",\"dweb:/ipfs/QmPMHPdbCsKBavhiLcaDgQ9EjNSvwwzv8TKffotcCv1ctP\"]}},\"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 \"./IWitnetPriceSolver.sol\";\r\n\r\ninterface IWitnetPriceFeeds { \r\n /// ======================================================================================================\r\n /// --- IFeeds extension ---------------------------------------------------------------------------------\r\n \r\n function lookupDecimals(bytes4 feedId) external view returns (uint8); \r\n function lookupPriceSolver(bytes4 feedId) external view returns (\r\n IWitnetPriceSolver solverAddress, \r\n string[] memory solverDeps\r\n );\r\n\r\n /// ======================================================================================================\r\n /// --- IWitnetFeeds extension ---------------------------------------------------------------------------\r\n\r\n function latestPrice(bytes4 feedId) external view returns (IWitnetPriceSolver.Price memory);\r\n function latestPrices(bytes4[] calldata feedIds) external view returns (IWitnetPriceSolver.Price[] memory);\r\n}", "sourcePath": "C:\\Users\\guill\\github\\witnet\\witnet-solidity-bridge\\contracts\\interfaces\\IWitnetPriceFeeds.sol", "ast": { "absolutePath": "project:/contracts/interfaces/IWitnetPriceFeeds.sol", "exportedSymbols": { "IWitnetPriceFeeds": [ 13440 ], "IWitnetPriceSolver": [ 13485 ], "Witnet": [ 17557 ], "WitnetBuffer": [ 19191 ], "WitnetCBOR": [ 20734 ], "WitnetV2": [ 23640 ] }, "id": 13441, "license": "MIT", "nodeType": "SourceUnit", "nodes": [ { "id": 13400, "literals": [ "solidity", ">=", "0.8", ".0", "<", "0.9", ".0" ], "nodeType": "PragmaDirective", "src": "35:31:52" }, { "absolutePath": "project:/contracts/interfaces/IWitnetPriceSolver.sol", "file": "./IWitnetPriceSolver.sol", "id": 13401, "nameLocation": "-1:-1:-1", "nodeType": "ImportDirective", "scope": 13441, "sourceUnit": 13486, "src": "70:34:52", "symbolAliases": [], "unitAlias": "" }, { "abstract": false, "baseContracts": [], "canonicalName": "IWitnetPriceFeeds", "contractDependencies": [], "contractKind": "interface", "fullyImplemented": false, "id": 13440, "linearizedBaseContracts": [ 13440 ], "name": "IWitnetPriceFeeds", "nameLocation": "118:17:52", "nodeType": "ContractDefinition", "nodes": [ { "documentation": { "id": 13402, "nodeType": "StructuredDocumentation", "src": "146:218:52", "text": "======================================================================================================\n --- IFeeds extension ---------------------------------------------------------------------------------" }, "functionSelector": "6ab221f8", "id": 13409, "implemented": false, "kind": "function", "modifiers": [], "name": "lookupDecimals", "nameLocation": "385:14:52", "nodeType": "FunctionDefinition", "parameters": { "id": 13405, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 13404, "mutability": "mutable", "name": "feedId", "nameLocation": "407:6:52", "nodeType": "VariableDeclaration", "scope": 13409, "src": "400:13:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 13403, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "400:6:52", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "visibility": "internal" } ], "src": "399:15:52" }, "returnParameters": { "id": 13408, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 13407, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 13409, "src": "438:5:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" }, "typeName": { "id": 13406, "name": "uint8", "nodeType": "ElementaryTypeName", "src": "438:5:52", "typeDescriptions": { "typeIdentifier": "t_uint8", "typeString": "uint8" } }, "visibility": "internal" } ], "src": "437:7:52" }, "scope": 13440, "src": "376:69:52", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "384ac938", "id": 13420, "implemented": false, "kind": "function", "modifiers": [], "name": "lookupPriceSolver", "nameLocation": "464:17:52", "nodeType": "FunctionDefinition", "parameters": { "id": 13412, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 13411, "mutability": "mutable", "name": "feedId", "nameLocation": "489:6:52", "nodeType": "VariableDeclaration", "scope": 13420, "src": "482:13:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 13410, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "482:6:52", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "visibility": "internal" } ], "src": "481:15:52" }, "returnParameters": { "id": 13419, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 13415, "mutability": "mutable", "name": "solverAddress", "nameLocation": "553:13:52", "nodeType": "VariableDeclaration", "scope": 13420, "src": "534:32:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_contract$_IWitnetPriceSolver_$13485", "typeString": "contract IWitnetPriceSolver" }, "typeName": { "id": 13414, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 13413, "name": "IWitnetPriceSolver", "nameLocations": [ "534:18:52" ], "nodeType": "IdentifierPath", "referencedDeclaration": 13485, "src": "534:18:52" }, "referencedDeclaration": 13485, "src": "534:18:52", "typeDescriptions": { "typeIdentifier": "t_contract$_IWitnetPriceSolver_$13485", "typeString": "contract IWitnetPriceSolver" } }, "visibility": "internal" }, { "constant": false, "id": 13418, "mutability": "mutable", "name": "solverDeps", "nameLocation": "598:10:52", "nodeType": "VariableDeclaration", "scope": 13420, "src": "582:26:52", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_memory_ptr_$dyn_memory_ptr", "typeString": "string[]" }, "typeName": { "baseType": { "id": 13416, "name": "string", "nodeType": "ElementaryTypeName", "src": "582:6:52", "typeDescriptions": { "typeIdentifier": "t_string_storage_ptr", "typeString": "string" } }, "id": 13417, "nodeType": "ArrayTypeName", "src": "582:8:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_string_storage_$dyn_storage_ptr", "typeString": "string[]" } }, "visibility": "internal" } ], "src": "519:100:52" }, "scope": 13440, "src": "455:165:52", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "documentation": { "id": 13421, "nodeType": "StructuredDocumentation", "src": "628:220:52", "text": "======================================================================================================\n --- IWitnetFeeds extension ---------------------------------------------------------------------------" }, "functionSelector": "c3d98ea8", "id": 13429, "implemented": false, "kind": "function", "modifiers": [], "name": "latestPrice", "nameLocation": "863:11:52", "nodeType": "FunctionDefinition", "parameters": { "id": 13424, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 13423, "mutability": "mutable", "name": "feedId", "nameLocation": "882:6:52", "nodeType": "VariableDeclaration", "scope": 13429, "src": "875:13:52", "stateVariable": false, "storageLocation": "default", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" }, "typeName": { "id": 13422, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "875:6:52", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "visibility": "internal" } ], "src": "874:15:52" }, "returnParameters": { "id": 13428, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 13427, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 13429, "src": "913:31:52", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_struct$_Price_$13453_memory_ptr", "typeString": "struct IWitnetPriceSolver.Price" }, "typeName": { "id": 13426, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 13425, "name": "IWitnetPriceSolver.Price", "nameLocations": [ "913:18:52", "932:5:52" ], "nodeType": "IdentifierPath", "referencedDeclaration": 13453, "src": "913:24:52" }, "referencedDeclaration": 13453, "src": "913:24:52", "typeDescriptions": { "typeIdentifier": "t_struct$_Price_$13453_storage_ptr", "typeString": "struct IWitnetPriceSolver.Price" } }, "visibility": "internal" } ], "src": "912:33:52" }, "scope": 13440, "src": "854:92:52", "stateMutability": "view", "virtual": false, "visibility": "external" }, { "functionSelector": "f9f34bb6", "id": 13439, "implemented": false, "kind": "function", "modifiers": [], "name": "latestPrices", "nameLocation": "961:12:52", "nodeType": "FunctionDefinition", "parameters": { "id": 13433, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 13432, "mutability": "mutable", "name": "feedIds", "nameLocation": "992:7:52", "nodeType": "VariableDeclaration", "scope": 13439, "src": "974:25:52", "stateVariable": false, "storageLocation": "calldata", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes4_$dyn_calldata_ptr", "typeString": "bytes4[]" }, "typeName": { "baseType": { "id": 13430, "name": "bytes4", "nodeType": "ElementaryTypeName", "src": "974:6:52", "typeDescriptions": { "typeIdentifier": "t_bytes4", "typeString": "bytes4" } }, "id": 13431, "nodeType": "ArrayTypeName", "src": "974:8:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_bytes4_$dyn_storage_ptr", "typeString": "bytes4[]" } }, "visibility": "internal" } ], "src": "973:27:52" }, "returnParameters": { "id": 13438, "nodeType": "ParameterList", "parameters": [ { "constant": false, "id": 13437, "mutability": "mutable", "name": "", "nameLocation": "-1:-1:-1", "nodeType": "VariableDeclaration", "scope": 13439, "src": "1025:33:52", "stateVariable": false, "storageLocation": "memory", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Price_$13453_memory_ptr_$dyn_memory_ptr", "typeString": "struct IWitnetPriceSolver.Price[]" }, "typeName": { "baseType": { "id": 13435, "nodeType": "UserDefinedTypeName", "pathNode": { "id": 13434, "name": "IWitnetPriceSolver.Price", "nameLocations": [ "1025:18:52", "1044:5:52" ], "nodeType": "IdentifierPath", "referencedDeclaration": 13453, "src": "1025:24:52" }, "referencedDeclaration": 13453, "src": "1025:24:52", "typeDescriptions": { "typeIdentifier": "t_struct$_Price_$13453_storage_ptr", "typeString": "struct IWitnetPriceSolver.Price" } }, "id": 13436, "nodeType": "ArrayTypeName", "src": "1025:26:52", "typeDescriptions": { "typeIdentifier": "t_array$_t_struct$_Price_$13453_storage_$dyn_storage_ptr", "typeString": "struct IWitnetPriceSolver.Price[]" } }, "visibility": "internal" } ], "src": "1024:35:52" }, "scope": 13440, "src": "952:108:52", "stateMutability": "view", "virtual": false, "visibility": "external" } ], "scope": 13441, "src": "108:955:52", "usedErrors": [], "usedEvents": [] } ], "src": "35:1028:52" }, "compiler": { "name": "solc", "version": "0.8.25+commit.b61c2a91.Emscripten.clang" }, "networks": {}, "schemaVersion": "3.4.16", "updatedAt": "2024-12-05T09:36:04.505Z", "devdoc": { "kind": "dev", "methods": {}, "version": 1 }, "userdoc": { "kind": "user", "methods": { "latestPrice(bytes4)": { "notice": "====================================================================================================== --- IWitnetFeeds extension ---------------------------------------------------------------------------" }, "lookupDecimals(bytes4)": { "notice": "====================================================================================================== --- IFeeds extension ---------------------------------------------------------------------------------" } }, "version": 1 } }