Files
atomic-swap/ethereum/contracts/TestUtils.sol

30 lines
721 B
Solidity

// SPDX-License-Identifier: LGPLv3
pragma solidity ^0.8.5;
import "hardhat/console.sol";
contract TestUtils {
function uint2hexstr(uint256 i) public pure returns (string memory) {
if (i == 0) return "0";
uint256 j = i;
uint256 length;
while (j != 0) {
length++;
j = j >> 4;
}
uint256 mask = 15;
bytes memory bstr = new bytes(length);
uint256 k = length;
while (i != 0) {
uint256 curr = (i & mask);
bstr[--k] = curr > 9
? bytes1(uint8(55 + curr))
: bytes1(uint8(48 + curr)); // 55 = 65 - 10
i = i >> 4;
}
return string(bstr);
}
}