-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathQueryDataStorage.sol
38 lines (34 loc) · 994 Bytes
/
QueryDataStorage.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
// SPDX-License-Identifier: MIT
pragma solidity 0.8.20;
/**
@author Fetch Inc.
@title QueryDataStorage
@dev This contract is used for storing query data
*/
contract QueryDataStorage {
mapping(bytes32 => bytes) public queryData; // queryId => queryData
event QueryDataStored(bytes32 _queryId);
/**
* @dev Stores query data in a mapping from queryId
* @param _queryData The query data
*/
function storeData(bytes memory _queryData) external {
bytes32 _queryId = keccak256(_queryData);
if (queryData[_queryId].length == 0) {
queryData[_queryId] = _queryData;
emit QueryDataStored(_queryId);
}
}
/**
* @dev Retrieves query data
* @param _queryId Unique identifier for the query
* @return _queryData Stored query data
*/
function getQueryData(bytes32 _queryId)
public
view
returns (bytes memory _queryData)
{
return queryData[_queryId];
}
}