Add more metadata to erc20 token name (#152)

* add more metadata to ERC20 name
This commit is contained in:
Hendrik Hofstadt 2021-01-11 14:59:36 +01:00 committed by GitHub
parent 12a6ae31bc
commit 6321ca2a49
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 34 additions and 3 deletions

View File

@ -21,7 +21,6 @@ contract WrappedAsset is IERC20, Context {
bridge = msg.sender; bridge = msg.sender;
initialized = true; initialized = true;
_name = "Wormhole Wrapped";
_symbol = "WWT"; _symbol = "WWT";
_decimals = decimals; _decimals = decimals;
} }
@ -50,7 +49,6 @@ contract WrappedAsset is IERC20, Context {
uint256 private _totalSupply; uint256 private _totalSupply;
string private _name;
string private _symbol; string private _symbol;
uint8 private _decimals = 18; uint8 private _decimals = 18;
@ -58,7 +56,40 @@ contract WrappedAsset is IERC20, Context {
* @dev Returns the name of the token. * @dev Returns the name of the token.
*/ */
function name() public view returns (string memory) { function name() public view returns (string memory) {
return _name; return string(abi.encodePacked("Wormhole Wrapped - ", uintToString(assetChain), "-", assetAddressString()));
}
// https://ethereum.stackexchange.com/a/40977
function uintToString(uint _i) internal pure returns (string memory _uintAsString) {
if (_i == 0) {
return "0";
}
uint j = _i;
uint len;
while (j != 0) {
len++;
j /= 10;
}
bytes memory bstr = new bytes(len);
uint k = len - 1;
while (_i != 0) {
bstr[k--] = byte(uint8(48 + _i % 10));
_i /= 10;
}
return string(bstr);
}
// https://ethereum.stackexchange.com/a/58341
function assetAddressString() private view returns (string memory) {
bytes memory alphabet = "0123456789abcdef";
bytes32 data = assetAddress;
bytes memory str = new bytes(2 + data.length * 2);
for (uint i = 0; i < data.length; i++) {
str[i * 2] = alphabet[uint(uint8(data[i] >> 4))];
str[1 + i * 2] = alphabet[uint(uint8(data[i] & 0x0f))];
}
return string(str);
} }
/** /**