forked from DecentralizedScience/dapp_indexer
Fixed issue so that the retrived data reconstructed string is restricted to 59 bytes: REMOVES GARBAGE
This commit is contained in:
parent
bd03f224ef
commit
2cc5bb2cb5
|
@ -51,8 +51,14 @@ contract DappIndexerScript is Script {
|
||||||
// Concatenate the two bytes32 variables
|
// Concatenate the two bytes32 variables
|
||||||
bytes memory concatenatedBytes = abi.encodePacked(part1, part2);
|
bytes memory concatenatedBytes = abi.encodePacked(part1, part2);
|
||||||
|
|
||||||
// Convert the concatenated bytes to a string
|
// Truncate the concatenated bytes to 59 bytes
|
||||||
string memory str = string(concatenatedBytes);
|
bytes memory truncatedBytes = new bytes(59);
|
||||||
|
for (uint i = 0; i < 59; i++) {
|
||||||
|
truncatedBytes[i] = concatenatedBytes[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Convert the truncated bytes to a string
|
||||||
|
string memory str = string(truncatedBytes);
|
||||||
|
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
|
@ -30,16 +30,22 @@ contract DappIndexerTest is Test {
|
||||||
DappIndexer.PackedCID memory dapp1 = dappIdxr.getCID(bytes32("Dapp01"));
|
DappIndexer.PackedCID memory dapp1 = dappIdxr.getCID(bytes32("Dapp01"));
|
||||||
assertEq(CID1, dapp1.CID1);
|
assertEq(CID1, dapp1.CID1);
|
||||||
assertEq(CID2, dapp1.CID2);
|
assertEq(CID2, dapp1.CID2);
|
||||||
//string memory retrivedDapp = Bytes32PairToString(dapp1.CID1, dapp1.CID2);
|
string memory retrivedDappURI = Bytes32PairToString(dapp1.CID1, dapp1.CID2);
|
||||||
//assertEq(dappsURI[0], retrivedDapp[0:59]);
|
assertEq(dappsURI[0], retrivedDappURI);
|
||||||
}
|
}
|
||||||
|
|
||||||
function Bytes32PairToString(bytes32 part1, bytes32 part2) public pure returns (string memory) {
|
function Bytes32PairToString(bytes32 part1, bytes32 part2) public pure returns (string memory) {
|
||||||
// Concatenate the two bytes32 variables
|
// Concatenate the two bytes32 variables
|
||||||
bytes memory concatenatedBytes = abi.encodePacked(part1, part2);
|
bytes memory concatenatedBytes = abi.encodePacked(part1, part2);
|
||||||
|
|
||||||
// Convert the concatenated bytes to a string
|
// Truncate the concatenated bytes to 59 bytes
|
||||||
string memory str = string(concatenatedBytes);
|
bytes memory truncatedBytes = new bytes(59);
|
||||||
|
for (uint i = 0; i < 59; i++) {
|
||||||
|
truncatedBytes[i] = concatenatedBytes[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
// Convert the truncated bytes to a string
|
||||||
|
string memory str = string(truncatedBytes);
|
||||||
|
|
||||||
return str;
|
return str;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue