From 024e59a9826e87781a33adcfce72d74f7f9a46d4 Mon Sep 17 00:00:00 2001 From: woodser Date: Sun, 16 Feb 2025 08:30:26 -0500 Subject: [PATCH] support DAI Stablecoin (ERC20) --- assets/src/main/java/haveno/asset/package-info.java | 2 +- .../tokens/{DaiStablecoin.java => DaiStablecoinERC20.java} | 6 +++--- .../src/main/resources/META-INF/services/haveno.asset.Asset | 3 ++- core/src/main/java/haveno/core/locale/CurrencyUtil.java | 4 +++- 4 files changed, 9 insertions(+), 6 deletions(-) rename assets/src/main/java/haveno/asset/tokens/{DaiStablecoin.java => DaiStablecoinERC20.java} (85%) diff --git a/assets/src/main/java/haveno/asset/package-info.java b/assets/src/main/java/haveno/asset/package-info.java index a50b986115..6eeaf4095f 100644 --- a/assets/src/main/java/haveno/asset/package-info.java +++ b/assets/src/main/java/haveno/asset/package-info.java @@ -21,7 +21,7 @@ * {@link haveno.asset.Token} and {@link haveno.asset.Erc20Token}, as well as concrete * implementations of each, such as {@link haveno.asset.coins.Bitcoin} itself, cryptos like * {@link haveno.asset.coins.Litecoin} and {@link haveno.asset.coins.Ether} and tokens like - * {@link haveno.asset.tokens.DaiStablecoin}. + * {@link haveno.asset.tokens.DaiStablecoinERC20}. *

* The purpose of this package is to provide everything necessary for registering * ("listing") new assets and managing / accessing those assets within, e.g. the Haveno diff --git a/assets/src/main/java/haveno/asset/tokens/DaiStablecoin.java b/assets/src/main/java/haveno/asset/tokens/DaiStablecoinERC20.java similarity index 85% rename from assets/src/main/java/haveno/asset/tokens/DaiStablecoin.java rename to assets/src/main/java/haveno/asset/tokens/DaiStablecoinERC20.java index e9cc01f74f..8c1e84e871 100644 --- a/assets/src/main/java/haveno/asset/tokens/DaiStablecoin.java +++ b/assets/src/main/java/haveno/asset/tokens/DaiStablecoinERC20.java @@ -19,9 +19,9 @@ package haveno.asset.tokens; import haveno.asset.Erc20Token; -public class DaiStablecoin extends Erc20Token { +public class DaiStablecoinERC20 extends Erc20Token { - public DaiStablecoin() { - super("Dai Stablecoin", "DAI"); + public DaiStablecoinERC20() { + super("Dai Stablecoin", "DAI-ERC20"); } } diff --git a/assets/src/main/resources/META-INF/services/haveno.asset.Asset b/assets/src/main/resources/META-INF/services/haveno.asset.Asset index 709b951227..80b9cd036d 100644 --- a/assets/src/main/resources/META-INF/services/haveno.asset.Asset +++ b/assets/src/main/resources/META-INF/services/haveno.asset.Asset @@ -9,4 +9,5 @@ haveno.asset.coins.Litecoin haveno.asset.coins.Monero haveno.asset.tokens.TetherUSDERC20 haveno.asset.tokens.TetherUSDTRC20 -haveno.asset.tokens.USDCoinERC20 \ No newline at end of file +haveno.asset.tokens.USDCoinERC20 +haveno.asset.tokens.DaiStablecoinERC20 \ No newline at end of file diff --git a/core/src/main/java/haveno/core/locale/CurrencyUtil.java b/core/src/main/java/haveno/core/locale/CurrencyUtil.java index db6ee6722b..6ed42b6234 100644 --- a/core/src/main/java/haveno/core/locale/CurrencyUtil.java +++ b/core/src/main/java/haveno/core/locale/CurrencyUtil.java @@ -200,6 +200,7 @@ public class CurrencyUtil { result.add(new CryptoCurrency("BCH", "Bitcoin Cash")); result.add(new CryptoCurrency("ETH", "Ether")); result.add(new CryptoCurrency("LTC", "Litecoin")); + result.add(new CryptoCurrency("DAI-ERC20", "Dai Stablecoin (ERC20)")); result.add(new CryptoCurrency("USDT-ERC20", "Tether USD (ERC20)")); result.add(new CryptoCurrency("USDT-TRC20", "Tether USD (TRC20)")); result.add(new CryptoCurrency("USDC-ERC20", "USD Coin (ERC20)")); @@ -330,7 +331,7 @@ public class CurrencyUtil { private static boolean isCryptoCurrencyCodeBase(String currencyCode) { if (currencyCode == null) return false; currencyCode = currencyCode.toUpperCase(); - return currencyCode.equals("USDT") || currencyCode.equals("USDC"); + return currencyCode.equals("USDT") || currencyCode.equals("USDC") || currencyCode.equals("DAI"); } public static String getCurrencyCodeBase(String currencyCode) { @@ -338,6 +339,7 @@ public class CurrencyUtil { currencyCode = currencyCode.toUpperCase(); if (currencyCode.contains("USDT")) return "USDT"; if (currencyCode.contains("USDC")) return "USDC"; + if (currencyCode.contains("DAI")) return "DAI"; return currencyCode; }