// SPDX-License-Identifier: GPL-3.0 pragma solidity >=0.7.0 <0.9.0; contract DataStorageLayer { mapping(bytes32=>uint) uintVariables; mapping(bytes32=>string) stringVariables; function setUintVariable(bytes32 _variable_name,uint _variable_value ) public { uintVariables[_variable_name] = _variable_value; } function getUintVariable(bytes32 _variable_name) public view returns(uint ret){ return uintVariables[_variable_name] ; } function setStringVariable(bytes32 _variable_name,string calldata _variable_value ) public { stringVariables[_variable_name] = _variable_value; } function getStringVariable(bytes32 _variable_name) public view returns(string memory ret){ return stringVariables[_variable_name] ; } } library DataStorage_LIB { function setProof(address _abcStorage, string calldata _value, string calldata _idHash) public { DataStorageLayer(_abcStorage).setStringVariable(keccak256(bytes(_idHash)),_value); } function getProof(address _abcStorage, string calldata _idHash) public view returns(string memory ){ return DataStorageLayer(_abcStorage).getStringVariable(keccak256(bytes(_idHash))); } }