diff --git a/contracts/core/base/WitOracleBaseTrustable.sol b/contracts/core/base/WitOracleBaseTrustable.sol index 3197c5db..e0345fb9 100644 --- a/contracts/core/base/WitOracleBaseTrustable.sol +++ b/contracts/core/base/WitOracleBaseTrustable.sol @@ -170,16 +170,24 @@ abstract contract WitOracleBaseTrustable return hex""; } - function getQueryResponseStatus(uint256 queryId) virtual override external view returns (IWitOracleLegacy.QueryResponseStatus) { - // todo + function getQueryResponseStatus(uint256 queryId) virtual override public view returns (IWitOracleLegacy.QueryResponseStatus) { + return WitOracleDataLib.getQueryResponseStatus( + Witnet.QueryId.wrap(queryId) + ); } function getQueryResultCborBytes(uint256 queryId) virtual override external view returns (bytes memory) { - // todo + return getQueryResponse(Witnet.QueryId.wrap(queryId)).resultCborBytes; } function getQueryResultError(uint256 queryId) virtual override external view returns (IWitOracleLegacy.ResultError memory) { - // todo + Witnet.DataResult memory _result = getQueryResult( + Witnet.QueryId.wrap(queryId) + ); + return IWitOracleLegacy.ResultError({ + code: uint8(_result.status), + reason: WitOracleResultStatusLib.toString(_result) + }); } function postRequest( diff --git a/contracts/libs/Witnet.sol b/contracts/libs/Witnet.sol index 5fc26fc8..e16e7557 100644 --- a/contracts/libs/Witnet.sol +++ b/contracts/libs/Witnet.sol @@ -69,11 +69,11 @@ library Witnet { /// Data struct containing the Witnet-provided result to a Data Request. struct DataResult { - ResultStatus status; - RadonDataTypes dataType; - TransactionHash drTxHash; - ResultTimestamp timestamp; - WitnetCBOR.CBOR value; + ResultStatus status; + RadonDataTypes dataType; + TransactionHash drTxHash; + ResultTimestamp timestamp; + WitnetCBOR.CBOR value; } struct FastForward {