Skip to content

Commit f8b2c73

Browse files
authored
Merge pull request #150 from ilyarolf/feature/stablecoins
Feature/stablecoins
2 parents 8c11992 + 5cdc4f5 commit f8b2c73

File tree

11 files changed

+252
-79
lines changed

11 files changed

+252
-79
lines changed

enums/cryptocurrency.py

Lines changed: 26 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,23 @@ class Cryptocurrency(str, Enum):
1212
LTC = "LTC"
1313
ETH = "ETH"
1414
SOL = "SOL"
15+
USDT_SOL = "USDT_SOL"
16+
USDC_SOL = "USDC_SOL"
17+
USDT_ERC20 = "USDT_ERC20"
18+
USDC_ERC20 = "USDC_ERC20"
19+
USDT_BEP20 = "USDT_BEP20"
20+
USDC_BEP20 = "USDC_BEP20"
1521

1622
def get_decimals(self):
1723
match self:
18-
case Cryptocurrency.BTC:
19-
return 8
20-
case Cryptocurrency.LTC:
24+
case Cryptocurrency.BTC | Cryptocurrency.LTC:
2125
return 8
22-
case Cryptocurrency.ETH:
26+
case Cryptocurrency.ETH | Cryptocurrency.BNB | Cryptocurrency.USDT_BEP20 | Cryptocurrency.USDC_BEP20:
2327
return 18
2428
case Cryptocurrency.SOL:
2529
return 9
26-
case Cryptocurrency.BNB:
27-
return 18
30+
case _:
31+
return 6
2832

2933
def get_coingecko_name(self) -> str:
3034
match self:
@@ -38,18 +42,22 @@ def get_coingecko_name(self) -> str:
3842
return "binancecoin"
3943
case Cryptocurrency.SOL:
4044
return "solana"
45+
case Cryptocurrency.USDT_SOL | Cryptocurrency.USDT_ERC20 | Cryptocurrency.USDT_BEP20:
46+
return "tether"
47+
case Cryptocurrency.USDC_SOL | Cryptocurrency.USDC_ERC20 | Cryptocurrency.USDC_BEP20:
48+
return "usd-coin"
4149

4250
def get_explorer_base_url(self) -> str:
4351
match self:
4452
case Cryptocurrency.BTC:
4553
return "https://mempool.space"
4654
case Cryptocurrency.LTC:
4755
return "https://litecoinspace.org"
48-
case Cryptocurrency.ETH:
56+
case Cryptocurrency.ETH | Cryptocurrency.USDT_ERC20 | Cryptocurrency.USDC_ERC20:
4957
return "https://etherscan.io"
50-
case Cryptocurrency.BNB:
58+
case Cryptocurrency.BNB | Cryptocurrency.USDT_BEP20 | Cryptocurrency.USDC_BEP20:
5159
return "https://bscscan.com"
52-
case Cryptocurrency.SOL:
60+
case Cryptocurrency.SOL | Cryptocurrency.USDT_SOL | Cryptocurrency.USDC_SOL:
5361
return "https://solscan.io"
5462

5563
def __str__(self):
@@ -64,9 +72,15 @@ def get_forwarding_address(self):
6472
return config.BTC_FORWARDING_ADDRESS
6573
case Cryptocurrency.LTC:
6674
return config.LTC_FORWARDING_ADDRESS
67-
case Cryptocurrency.ETH:
75+
case Cryptocurrency.ETH | Cryptocurrency.USDT_ERC20 | Cryptocurrency.USDC_ERC20:
6876
return config.ETH_FORWARDING_ADDRESS
69-
case Cryptocurrency.BNB:
77+
case Cryptocurrency.BNB | Cryptocurrency.USDT_BEP20 | Cryptocurrency.USDC_BEP20:
7078
return config.BNB_FORWARDING_ADDRESS
71-
case Cryptocurrency.SOL:
79+
case Cryptocurrency.SOL | Cryptocurrency.USDT_SOL | Cryptocurrency.USDC_SOL:
7280
return config.SOL_FORWARDING_ADDRESS
81+
82+
@staticmethod
83+
def get_stablecoins() -> list['Cryptocurrency']:
84+
return [Cryptocurrency.USDT_SOL, Cryptocurrency.USDC_SOL,
85+
Cryptocurrency.USDT_BEP20, Cryptocurrency.USDC_BEP20,
86+
Cryptocurrency.USDT_ERC20, Cryptocurrency.USDC_ERC20]

handlers/user/constants.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33

44
class UserStates(StatesGroup):
5+
top_up_amount = State()
56
review_image = State()
67
review_text = State()
78
shipping_address = State()

handlers/user/my_profile.py

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,9 @@ async def my_profile(**kwargs):
4444
async def top_up_balance(**kwargs):
4545
callback: CallbackQuery = kwargs.get("callback")
4646
callback_data: MyProfileCallback = kwargs.get("callback_data")
47+
state: FSMContext = kwargs.get("state")
4748
language: Language = kwargs.get("language")
49+
await state.set_state()
4850
msg_text, kb_builder = await UserService.get_top_up_buttons(callback_data, language)
4951
await callback.message.edit_caption(caption=msg_text, reply_markup=kb_builder.as_markup())
5052

@@ -110,13 +112,13 @@ async def create_payment(**kwargs):
110112
callback: CallbackQuery = kwargs.get("callback")
111113
session: AsyncSession = kwargs.get("session")
112114
callback_data: MyProfileCallback = kwargs.get("callback_data")
115+
state: FSMContext = kwargs.get("state")
113116
language: Language = kwargs.get("language")
114-
msg = await callback.message.edit_caption(caption=get_text(language, BotEntity.USER, "loading"))
115-
response = await PaymentService.create(callback_data.cryptocurrency, msg, session, language)
117+
response, kb_builder = await PaymentService.create(callback, callback_data, state, session, language)
116118
if isinstance(response, str):
117-
await msg.edit_caption(caption=response)
119+
await callback.message.edit_caption(caption=response, reply_markup=kb_builder.as_markup())
118120
else:
119-
await msg.edit_media(media=response)
121+
await callback.message.edit_media(media=response, reply_markup=kb_builder.as_markup())
120122

121123

122124
async def edit_language(**kwargs):
@@ -143,6 +145,23 @@ async def receive_filter_message(message: Message, state: FSMContext, session: A
143145
await NotificationService.answer_media(message, media, kb_builder.as_markup())
144146

145147

148+
@my_profile_router.message(IsUserExistFilter(), F.text, StateFilter(UserStates.top_up_amount))
149+
async def receive_top_up_amount(message: Message,
150+
state: FSMContext,
151+
session: AsyncSession,
152+
language: Language):
153+
media, kb_builder = await PaymentService.create(message,
154+
None,
155+
state,
156+
session,
157+
language)
158+
state_data = await state.get_data()
159+
await message.bot.edit_message_media(chat_id=state_data.get("chat_id"),
160+
message_id=state_data.get("msg_id"),
161+
media=media,
162+
reply_markup=kb_builder.as_markup())
163+
164+
146165
@my_profile_router.callback_query(MyProfileCallback.filter(), IsUserExistFilter())
147166
async def navigate(callback: CallbackQuery,
148167
callback_data: MyProfileCallback,

i18n/de.json

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,13 @@
196196
"delivered": "Geliefert",
197197
"completed": "Abgeschlossen",
198198
"refunded": "Erstattet",
199-
"referrer": "👤 Empfehler"
199+
"referrer": "👤 Empfehler",
200+
"usdt_sol_top_up": "USDT (Solana)",
201+
"usdc_sol_top_up": "USDC (Solana)",
202+
"usdt_erc20_top_up": "USDT ERC-20",
203+
"usdc_erc20_top_up": "USDC ERC-20",
204+
"usdt_bep20_top_up": "USDT BEP-20",
205+
"usdc_bep20_top_up": "USDC BEP-20"
200206
},
201207
"user": {
202208
"all_categories": "🗂️ Alle Kategorien",
@@ -233,7 +239,6 @@
233239
"subcategories": "📦 <b>Unterkategorien:</b>",
234240
"top_up_balance_button": "➕ Guthaben aufladen",
235241
"top_up_balance_msg": "💵 <b>Sende den gewünschten Betrag in {crypto_name} an die angegebene Adresse, um das Guthaben aufzuladen.</b>\n\nStatus der Zahlung: {status}\n\n<b>Wichtig</b>\n<i>Für jede Einzahlung wird eine einzigartige BTC/LTC/SOL/ETH-Adresse generiert.\nDie Gutschrift erfolgt innerhalb von 5 Minuten nach der Überweisung.\nNach erfolgreicher Aufladung erhältst du eine Benachrichtigung.</i>\n\n<b>Deine {crypto_name}-Adresse:\n</b><code>{addr}</code>",
236-
"top_up_balance_request_fiat": "💵 <b>Sende den gewünschten Aufladebetrag in <u>{currency_text}</u> oder \"<code>cancel</code>\".\n⚠️ Mindestbetrag: 5 {currency_text}</b>",
237242
"usdc_erc20_top_up": "USDC ERC-20",
238243
"usdt_erc20_top_up": "USDT ERC-20",
239244
"usdt_trc20_top_up": "USDT TRC-20",
@@ -289,6 +294,9 @@
289294
"notification_new_deposit": "💰 Ihr Guthaben wurde erfolgreich um {fiat_amount:.2f} {currency_text} aufgeladen.\n💰 Ihr Bonus für die Teilnahme am Empfehlungssystem beträgt: {referral_bonus:.2f} {currency_text}\nZahlungs-ID {payment_id}.",
290295
"referral_statistics_message": "<b>✨ Empfehlungsprogramm</b>\n\nLaden Sie Freunde ein und verdienen Sie Bonussaldo im Bot.\nBoni können für den Kauf digitaler und physischer Produkte verwendet werden.\n\n<b>🔓 Empfehlungszugang</b>\nIhre Gesamteinzahlungen: <b>{currency_sym}{user_total_deposits:.2f}</b> \nErforderlich zum Freischalten von Empfehlungen: <b>{currency_sym}{min_referrer_total_deposit:.2f}</b>\n\nStatus:\n<b>{referral_access_status}</b>\n\n<b>🎁 Was Ihr Freund erhält</b>\n• <b>{referral_bonus_percent}%</b> Bonus auf jede Einzahlung \n• Gilt für die ersten <b>{referral_bonus_deposit_limit}</b> Einzahlungen \n• Maximale Bonusobergrenze: <b>{referral_bonus_cap_percent}%</b> ihrer Einzahlungen \n\n<b>💰 Was Sie als Empfehler erhalten</b>\n• <b>{referrer_bonus_percent}%</b> von jeder Empfehlungseinzahlung \n• Gilt für die ersten <b>{referrer_bonus_deposit_limit}</b> Einzahlungen pro Empfehlung \n• Maximale Bonusobergrenze: <b>{referrer_bonus_cap_percent}%</b> pro Empfehlung \n\n<b>Globale Bonusobergrenze:</b> \nGesamtboni (Sie + Empfehlung) werden niemals <b>{total_bonus_cap_percent}%</b> der Empfehlungseinzahlungen überschreiten\n\n<b>📊 Ihre Empfehlungsstatistiken</b>\n\n👥 Empfehlungen eingeladen: <b>{referrals_count}</b> \n🎁 Als Empfehlung verdiente Boni: <b>{currency_sym}{referral_bonus_earned:.2f}</b> \n💰 Als Empfehler verdiente Boni: <b>{currency_sym}{referrer_bonus_earned:.2f}</b>",
291296
"referral_code_section": "\n\n<b>🔗 Ihr Empfehlungslink</b>\nt.me/{bot_username}?start={referral_code}\nTeilen Sie Ihren Link und wachsen Sie gemeinsam 🚀",
292-
"referral_button": "✨ Empfehlungssystem"
297+
"referral_button": "✨ Empfehlungssystem",
298+
"top_up_balance_deposit_msg": "💵 <b>Überweisen Sie den gewünschten Betrag in {crypto_name} an die Adresse, um das Bot-Guthaben aufzuladen.</b>\n\nZahlungsstatus: {status}\nZahlung gültig bis {payment_lifetime}.\n\n<b>Wichtig</b>\n<i>Für jede Einzahlung wird eine eindeutige {crypto_name}-Adresse vergeben\nDie Aufladung erfolgt innerhalb von 5 Minuten nach der Überweisung.\n\nNach erfolgreicher Guthabenaktualisierung erhalten Sie eine Benachrichtigung vom Bot.</i>\n\n<b>Ihre {crypto_name}-Adresse\n</b><code>{addr}</code>",
299+
"top_up_balance_payment_msg": "💵 <b>Überweisen Sie <code>{crypto_amount}</code> {crypto_name} an die Adresse, um das Bot-Guthaben für {fiat_amount} {currency_text} aufzuladen</b>\n\nZahlungsstatus: {status}\nZahlung gültig bis {payment_lifetime}.\n\n<b>Wichtig</b>\n<i>Für jede Einzahlung wird eine eindeutige {crypto_name}-Adresse vergeben\nDie Aufladung erfolgt innerhalb von 5 Minuten nach der Überweisung.\n\nNach erfolgreicher Guthabenaktualisierung erhalten Sie eine Benachrichtigung vom Bot.</i>\n\n<b>Ihre {crypto_name}-Adresse\n</b><code>{addr}</code>",
300+
"top_up_balance_request_fiat": "💵 <b>Bitte senden Sie den Betrag, den Sie in <u>{currency_text}</u> aufladen möchten\n⚠️ Achtung! Mindesteinzahlungsbetrag 5 {currency_text}</b>"
293301
}
294302
}

i18n/en.json

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,13 @@
196196
"delivered": "Delivered",
197197
"completed": "Completed",
198198
"refunded": "Refunded",
199-
"referrer": "👤 Referrer"
199+
"referrer": "👤 Referrer",
200+
"usdt_sol_top_up": "USDT (Solana)",
201+
"usdc_sol_top_up": "USDC (Solana)",
202+
"usdt_erc20_top_up": "USDT ERC-20",
203+
"usdc_erc20_top_up": "USDC ERC-20",
204+
"usdt_bep20_top_up": "USDT BEP-20",
205+
"usdc_bep20_top_up": "USDC BEP-20"
200206
},
201207
"user": {
202208
"all_categories": "🗂️ All categories",
@@ -232,8 +238,6 @@
232238
"subcategory_button": "📦 {subcategory_name}| Price: {currency_sym}{subcategory_price:.2f} | Qty: {available_quantity}",
233239
"subcategories": "📦 <b>Subcategories:</b>",
234240
"top_up_balance_button": "➕ Top Up Balance",
235-
"top_up_balance_msg": "💵 <b>Deposit to the address the amount you want in {crypto_name} to top up the balance of bot.</b>\n\nPayment status: {status}\n\n<b>Important</b>\n<i>A unique BTC/LTC/SOL/ETH addresses is given for each deposit\nThe top up takes place within 5 minutes after the transfer.\n\nAfter a successful balance refresh, you will receive a notification from bot.</i>\n\n<b>Your {crypto_name} address\n</b><code>{addr}</code>",
236-
"top_up_balance_request_fiat": "\uD83D\uDCB5 <b>Please send the amount you wish to top up balance in <u>{currency_text}</u> or \"<code>cancel</code>\".\n\uFE0F Attention! Minimal deposit amount 5 {currency_text}</b>",
237241
"usdc_erc20_top_up": "USDC ERC-20",
238242
"usdt_erc20_top_up": "USDT ERC-20",
239243
"usdt_trc20_top_up": "USDT TRC-20",
@@ -289,6 +293,9 @@
289293
"notification_new_deposit": "💰 Your balance was successfully funded by {fiat_amount:.2f} {currency_text}.\n💰 Your bonus for participating in the referral system is: {referral_bonus:.2f} {currency_text}\nPayment ID {payment_id}.",
290294
"referral_statistics_message": "<b>✨ Referral Program</b>\n\nInvite friends and earn bonus balance inside the bot.\nBonuses can be used to purchase digital and physical products.\n\n<b>\uD83D\uDD13 Referral Access</b>\nYour total deposits: <b>{currency_sym}{user_total_deposits:.2f}</b> \nRequired to unlock referrals: <b>{currency_sym}{min_referrer_total_deposit:.2f}</b>\n\nStatus:\n<b>{referral_access_status}</b>\n\n<b>\uD83C\uDF81 What your friend gets</b>\n• <b>{referral_bonus_percent}%</b> bonus on each deposit \n• Applies to the first <b>{referral_bonus_deposit_limit}</b> deposits \n• Maximum bonus cap: <b>{referral_bonus_cap_percent}%</b> of their deposits \n\n<b>\uD83D\uDCB0 What you get as a referrer</b>\n• <b>{referrer_bonus_percent}%</b> from each referral deposit \n• Applies to the first <b>{referrer_bonus_deposit_limit}</b> deposits per referral \n• Maximum bonus cap: <b>{referrer_bonus_cap_percent}%</b> per referral \n\n<b>Global bonus cap:</b> \nTotal bonuses (you + referral) will never exceed <b>{total_bonus_cap_percent}%</b> of referral deposits\n\n<b>\uD83D\uDCCA Your Referral Stats</b>\n\n\uD83D\uDC65 Referrals invited: <b>{referrals_count}</b> \n\uD83C\uDF81 Bonuses earned as referral: <b>{currency_sym}{referral_bonus_earned:.2f}</b> \n\uD83D\uDCB0 Bonuses earned as referrer: <b>{currency_sym}{referrer_bonus_earned:.2f}</b>",
291295
"referral_code_section": "\n\n<b>\uD83D\uDD17 Your Referral Link</b>\nt.me/{bot_username}?start={referral_code}\nShare your link and grow together \uD83D\uDE80",
292-
"referral_button": "✨ Referral System"
296+
"referral_button": "✨ Referral System",
297+
"top_up_balance_deposit_msg": "💵 <b>Deposit to the address the amount you want in {crypto_name} to top up the balance of bot.</b>\n\nPayment status: {status}\nPayment lifetime until {payment_lifetime}.\n\n<b>Important</b>\n<i>A unique {crypto_name} addresses is given for each deposit\nThe top up takes place within 5 minutes after the transfer.\n\nAfter a successful balance refresh, you will receive a notification from bot.</i>\n\n<b>Your {crypto_name} address\n</b><code>{addr}</code>",
298+
"top_up_balance_payment_msg": "\uD83D\uDCB5 <b>Deposit to the address the <code>{crypto_amount}</code> {crypto_name} to top up the balance of bot for {fiat_amount} {currency_text}</b>\n\nPayment status: {status}\nPayment lifetime until {payment_lifetime}.\n\n<b>Important</b>\n<i>A unique {crypto_name} addresses is given for each deposit\nThe top up takes place within 5 minutes after the transfer.\n\nAfter a successful balance refresh, you will receive a notification from bot.</i>\n\n<b>Your {crypto_name} address\n</b><code>{addr}</code>",
299+
"top_up_balance_request_fiat": "\uD83D\uDCB5 <b>Please send the amount you wish to top up balance in <u>{currency_text}</u>\n\uFE0F Attention! Minimal deposit amount 5 {currency_text}</b>"
293300
}
294301
}

i18n/es.json

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,13 @@
196196
"delivered": "Entregado",
197197
"completed": "Completado",
198198
"refunded": "Reembolsado",
199-
"referrer": "👤 Referidor"
199+
"referrer": "👤 Referidor",
200+
"usdt_sol_top_up": "USDT (Solana)",
201+
"usdc_sol_top_up": "USDC (Solana)",
202+
"usdt_erc20_top_up": "USDT ERC-20",
203+
"usdc_erc20_top_up": "USDC ERC-20",
204+
"usdt_bep20_top_up": "USDT BEP-20",
205+
"usdc_bep20_top_up": "USDC BEP-20"
200206
},
201207
"user": {
202208
"all_categories": "🗂️ Todas las categorías",
@@ -233,7 +239,6 @@
233239
"subcategories": "📦 <b>Subcategorías:</b>",
234240
"top_up_balance_button": "➕ Recargar saldo",
235241
"top_up_balance_msg": "💵 <b>Envía la cantidad deseada en {crypto_name} a la dirección indicada para recargar el saldo del bot.</b>\n\nEstado del pago: {status}\n\n<b>Importante</b>\n<i>Se asigna una dirección única BTC/LTC/SOL/ETH para cada depósito.\nLa recarga se procesa en un plazo de 5 minutos después de la transferencia.\nRecibirás una notificación al completarse.</i>\n\n<b>Tu dirección {crypto_name}:\n</b><code>{addr}</code>",
236-
"top_up_balance_request_fiat": "💵 <b>Envía la cantidad que deseas recargar en <u>{currency_text}</u> o \"<code>cancel</code>\".\n⚠️ Cantidad mínima: 5 {currency_text}</b>",
237242
"usdc_erc20_top_up": "USDC ERC-20",
238243
"usdt_erc20_top_up": "USDT ERC-20",
239244
"usdt_trc20_top_up": "USDT TRC-20",
@@ -289,6 +294,9 @@
289294
"notification_new_deposit": "💰 Tu saldo se ha recargado exitosamente con {fiat_amount:.2f} {currency_text}.\n💰 Tu bono por participar en el sistema de referidos es: {referral_bonus:.2f} {currency_text}\nID de pago {payment_id}.",
290295
"referral_statistics_message": "<b>✨ Programa de Referidos</b>\n\nInvita a amigos y gana saldo de bono dentro del bot.\nLos bonos pueden usarse para comprar productos digitales y físicos.\n\n<b>🔓 Acceso a Referidos</b>\nTus depósitos totales: <b>{currency_sym}{user_total_deposits:.2f}</b> \nRequerido para desbloquear referidos: <b>{currency_sym}{min_referrer_total_deposit:.2f}</b>\n\nEstado:\n<b>{referral_access_status}</b>\n\n<b>🎁 Lo que tu amigo recibe</b>\n• <b>{referral_bonus_percent}%</b> de bono en cada depósito \n• Se aplica a los primeros <b>{referral_bonus_deposit_limit}</b> depósitos \n• Límite máximo de bono: <b>{referral_bonus_cap_percent}%</b> de sus depósitos \n\n<b>💰 Lo que tú recibes como referidor</b>\n• <b>{referrer_bonus_percent}%</b> de cada depósito de referido \n• Se aplica a los primeros <b>{referrer_bonus_deposit_limit}</b> depósitos por referido \n• Límite máximo de bono: <b>{referrer_bonus_cap_percent}%</b> por referido \n\n<b>Límite global de bono:</b> \nLos bonos totales (tú + referido) nunca excederán <b>{total_bonus_cap_percent}%</b> de los depósitos del referido\n\n<b>📊 Tus Estadísticas de Referidos</b>\n\n👥 Referidos invitados: <b>{referrals_count}</b> \n🎁 Bonos ganados como referido: <b>{currency_sym}{referral_bonus_earned:.2f}</b> \n💰 Bonos ganados como referidor: <b>{currency_sym}{referrer_bonus_earned:.2f}</b>",
291296
"referral_code_section": "\n\n<b>🔗 Tu Enlace de Referido</b>\nt.me/{bot_username}?start={referral_code}\nComparte tu enlace y crece junto con otros 🚀",
292-
"referral_button": "✨ Sistema de Referidos"
297+
"referral_button": "✨ Sistema de Referidos",
298+
"top_up_balance_deposit_msg": "💵 <b>Deposite en la dirección la cantidad que desee en {crypto_name} para recargar el saldo del bot.</b>\n\nEstado del pago: {status}\nVigencia del pago hasta {payment_lifetime}.\n\n<b>Importante</b>\n<i>Se asigna una dirección única de {crypto_name} para cada depósito\nLa recarga se realiza en 5 minutos después de la transferencia.\n\nTras una actualización exitosa del saldo, recibirá una notificación del bot.</i>\n\n<b>Su dirección de {crypto_name}\n</b><code>{addr}</code>",
299+
"top_up_balance_payment_msg": "💵 <b>Deposite en la dirección <code>{crypto_amount}</code> {crypto_name} para recargar el saldo del bot por {fiat_amount} {currency_text}</b>\n\nEstado del pago: {status}\nVigencia del pago hasta {payment_lifetime}.\n\n<b>Importante</b>\n<i>Se asigna una dirección única de {crypto_name} para cada depósito\nLa recarga se realiza en 5 minutos después de la transferencia.\n\nTras una actualización exitosa del saldo, recibirá una notificación del bot.</i>\n\n<b>Su dirección de {crypto_name}\n</b><code>{addr}</code>",
300+
"top_up_balance_request_fiat": "💵 <b>Por favor, envíe la cantidad que desea recargar en <u>{currency_text}</u>\n⚠️ ¡Atención! Depósito mínimo 5 {currency_text}</b>"
293301
}
294302
}

0 commit comments

Comments
 (0)