data class TokenMetadata(
val name: String,
val symbol: String,
val decimals: Int,
val totalSupply: String
)
suspend fun getTokenMetadata(
wallet: BaseWallet,
tokenAddress: String
): TokenMetadata {
val abiList = parseAbiJson(Erc20.abi)
val name = sdk.evm.readContract(wallet, ReadContractInput(tokenAddress, abiList, "name", emptyList())).toString()
val symbol = sdk.evm.readContract(wallet, ReadContractInput(tokenAddress, abiList, "symbol", emptyList())).toString()
val decimals = sdk.evm.readContract(wallet, ReadContractInput(tokenAddress, abiList, "decimals", emptyList())).toString().toInt()
val totalSupply = sdk.evm.readContract(wallet, ReadContractInput(tokenAddress, abiList, "totalSupply", emptyList())).toString()
return TokenMetadata(name, symbol, decimals, totalSupply)
}