feat: Haven removal

This commit is contained in:
Blazebrain 2023-09-23 12:37:50 +01:00
parent b6de1be6c4
commit 7ff6622fc8
29 changed files with 217 additions and 97 deletions

View file

@ -1,9 +1,13 @@
import 'package:cake_wallet/di.dart';
import 'package:cake_wallet/entities/preferences_key.dart';
import 'package:cake_wallet/routes.dart';
import 'package:cake_wallet/utils/exception_handler.dart';
import 'package:cw_core/wallet_type.dart';
import 'package:flutter/widgets.dart';
import 'package:mobx/mobx.dart';
import 'package:cake_wallet/entities/load_current_wallet.dart';
import 'package:cake_wallet/store/authentication_store.dart';
import 'package:shared_preferences/shared_preferences.dart';
ReactionDisposer? _onAuthenticationStateChange;
@ -11,22 +15,39 @@ dynamic loginError;
void startAuthenticationStateChange(
AuthenticationStore authenticationStore, GlobalKey<NavigatorState> navigatorKey) {
_onAuthenticationStateChange ??= autorun((_) async {
final state = authenticationStore.state;
_onAuthenticationStateChange ??= autorun(
(_) async {
final state = authenticationStore.state;
if (state == AuthenticationState.installed) {
try {
await loadCurrentWallet();
} catch (error, stack) {
loginError = error;
ExceptionHandler.onError(FlutterErrorDetails(exception: error, stack: stack));
if (state == AuthenticationState.installed) {
try {
await loadCurrentWallet();
} catch (error, stack) {
loginError = error;
ExceptionHandler.onError(FlutterErrorDetails(exception: error, stack: stack));
}
return;
}
return;
}
if (state == AuthenticationState.allowed) {
await navigatorKey.currentState!.pushNamedAndRemoveUntil(Routes.dashboard, (route) => false);
return;
}
});
if (state == AuthenticationState.allowed) {
final typeRaw =
getIt.get<SharedPreferences>().getInt(PreferencesKey.currentWalletType) ?? 0;
final type = deserializeFromInt(typeRaw);
if (type == WalletType.haven) {
await navigatorKey.currentState!
.pushNamedAndRemoveUntil(Routes.preSeed, (route) => false, arguments: type);
await navigatorKey.currentState!.pushNamed(Routes.seed, arguments: true);
await navigatorKey.currentState!
.pushNamedAndRemoveUntil(Routes.welcome, (route) => false);
return;
} else {
await navigatorKey.currentState!
.pushNamedAndRemoveUntil(Routes.dashboard, (route) => false);
return;
}
}
},
);
}

View file

@ -12,11 +12,13 @@ class PreSeedPage extends BasePage {
PreSeedPage(this.type)
: imageLight = Image.asset('assets/images/pre_seed_light.png'),
imageDark = Image.asset('assets/images/pre_seed_dark.png'),
wordsCount = _wordsCount(type);
wordsCount = _wordsCount(type),
isHavenRemovalFlow = type == WalletType.haven;
final Image imageDark;
final Image imageLight;
final WalletType type;
final bool isHavenRemovalFlow;
final int wordsCount;
@override
@ -30,42 +32,73 @@ class PreSeedPage extends BasePage {
final image = currentTheme.type == ThemeType.dark ? imageDark : imageLight;
return WillPopScope(
onWillPop: () async => false,
child: Container(
alignment: Alignment.center,
padding: EdgeInsets.all(24),
child: ConstrainedBox(
constraints: BoxConstraints(maxWidth: ResponsiveLayoutUtil.kDesktopMaxWidthConstraint),
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
ConstrainedBox(
constraints: BoxConstraints(
maxHeight: MediaQuery.of(context).size.height * 0.3
onWillPop: () async => false,
child: Container(
alignment: Alignment.center,
padding: EdgeInsets.all(24),
child: ConstrainedBox(
constraints: BoxConstraints(maxWidth: ResponsiveLayoutUtil.kDesktopMaxWidthConstraint),
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
ConstrainedBox(
constraints: BoxConstraints(maxHeight: MediaQuery.of(context).size.height * 0.3),
child: AspectRatio(aspectRatio: 1, child: image),
),
Visibility(
visible: isHavenRemovalFlow,
child: Padding(
padding: const EdgeInsets.symmetric(horizontal: 10),
child: Column(
children: [
Text(
S.current.havenSupportNotice,
style: TextStyle(
fontSize: 18.0,
fontWeight: FontWeight.bold,
fontFamily: 'Lato',
color: titleColor(context),
),
textAlign: TextAlign.center,
),
SizedBox(height: 8),
Text(
S.current.havenSupportSeedsNotice,
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 14,
fontWeight: FontWeight.normal,
color: Theme.of(context).extension<CakeTextTheme>()!.secondaryTextColor,
),
),
],
),
child: AspectRatio(aspectRatio: 1, child: image),
),
Padding(
replacement: Padding(
padding: EdgeInsets.all(10),
child: Text(
S.of(context).pre_seed_description(wordsCount.toString()),
textAlign: TextAlign.center,
style: TextStyle(
fontSize: 14,
fontWeight: FontWeight.normal,
color: Theme.of(context).extension<CakeTextTheme>()!.secondaryTextColor),
fontSize: 14,
fontWeight: FontWeight.normal,
color: Theme.of(context).extension<CakeTextTheme>()!.secondaryTextColor,
),
),
),
PrimaryButton(
onPressed: () =>
Navigator.of(context).popAndPushNamed(Routes.seed, arguments: true),
text: S.of(context).pre_seed_button_text,
color: Theme.of(context).primaryColor,
textColor: Colors.white)
],
),
),
PrimaryButton(
onPressed: () =>
Navigator.of(context).popAndPushNamed(Routes.seed, arguments: true),
text: S.of(context).pre_seed_button_text,
color: Theme.of(context).primaryColor,
textColor: Colors.white,
)
],
),
));
),
),
);
}
static int _wordsCount(WalletType type) {

View file

@ -246,8 +246,12 @@ class WalletListBodyState extends State<WalletListBody> {
return nonWalletTypeIcon;
}
}
Future<void> _loadWallet(WalletListItem wallet) async {
final previousListType = widget.walletListViewModel.wallets
.where((element) => element.type == widget.walletListViewModel.currentWalletType)
.toList()[0];
await widget.authService.authenticateAction(
context,
onAuthSuccess: (isAuthenticatedSuccessfully) async {
@ -263,7 +267,12 @@ class WalletListBodyState extends State<WalletListBody> {
// in desktop platforms the navigation tree is different
if (ResponsiveLayoutUtil.instance.shouldRenderMobileUI()) {
WidgetsBinding.instance.addPostFrameCallback((_) {
Navigator.of(context).pop();
if (wallet.type == WalletType.haven) {
_onHavenWalletSelected(previousListType);
return;
} else {
Navigator.of(context).pop();
}
});
}
} catch (e) {
@ -275,6 +284,13 @@ class WalletListBodyState extends State<WalletListBody> {
);
}
Future<void> _onHavenWalletSelected(WalletListItem previousWalletListItem) async {
await Navigator.pushNamed(context, Routes.preSeed, arguments: WalletType.haven);
await Navigator.pushNamed(context, Routes.seed, arguments: true);
await widget.walletListViewModel.loadWallet(previousWalletListItem);
}
void changeProcessText(String text) {
_progressBar = createBar<void>(text, duration: null)..show(context);
}

View file

@ -688,5 +688,7 @@
"onramper_option_description": "شراء بسرعة التشفير مع العديد من طرق الدفع. متوفر في معظم البلدان. ينتشر وتختلف الرسوم.",
"default_buy_provider": "مزود شراء الافتراضي",
"ask_each_time": "اسأل في كل مرة",
"buy_provider_unavailable": "مزود حاليا غير متوفر."
}
"buy_provider_unavailable": "مزود حاليا غير متوفر.",
"havenSupportNotice": " ﻯﺮﺧﺃ ﺔﻈﻔﺤﻣ ﻲﻓ ﺭﻭﺬﺒﻟﺍ ﺓﺩﺎﻌﺘﺳﺍ ﻚﻨﻜﻤﻳ ﻦﻜﻟﻭ ،ﺔﻜﻌﻜﻟﺍ ﻲﻓ ﺎﻣًﻮﻋﺪﻣ ﺫﻼﻤﻟﺍ ﺪﻌﻳ ﻢﻟ",
"havenSupportSeedsNotice": ".ﻯﺮﺧﺃ ﺔﻈﻔﺤﻣ ﻲﻓ ﺭﻭﺬﺒﻟﺍ ﺓﺩﺎﻌﺘﺳﺍ ﻚﻟﺫ ﺪﻌﺑ ﻚﻨﻜﻤﻳ .ﻦﻣﺁ ﻥﺎﻜﻣ ﻲﻓ ﺎﻬﻈﻔﺣﺍﻭ ﺎﻬﺒﺘﻛﺍ .ﻚﺑ ﺔﺻ"
}

View file

@ -684,5 +684,7 @@
"onramper_option_description": "Бързо купувайте криптовалута с много методи за плащане. Предлага се в повечето страни. Разпространенията и таксите варират.",
"default_buy_provider": "Доставчик по подразбиране купува",
"ask_each_time": "Питайте всеки път",
"buy_provider_unavailable": "Понастоящем доставчик не е наличен."
}
"buy_provider_unavailable": "Понастоящем доставчик не е наличен.",
"havenSupportNotice": "Haven вече не се поддържа в Cake, но можете да възстановите семената в друг портфейл",
"havenSupportSeedsNotice": "На следващата страница ще видите уникалните семена към вашия портфейл Haven. Запишете го и го съхранявайте на сигурно място. След това можете да възстановите семената в друг портфейл."
}

View file

@ -684,5 +684,7 @@
"onramper_option_description": "Rychle si koupte krypto s mnoha metodami plateb. K dispozici ve většině zemí. Rozpětí a poplatky se liší.",
"default_buy_provider": "Výchozí poskytovatel nákupu",
"ask_each_time": "Zeptejte se pokaždé",
"buy_provider_unavailable": "Poskytovatel aktuálně nedostupný."
}
"buy_provider_unavailable": "Poskytovatel aktuálně nedostupný.",
"havenSupportNotice": "Haven již není v Cake podporován, ale semena můžete obnovit v jiné peněžence",
"havenSupportSeedsNotice": "Na další stránce uvidíte jedinečná semínka do vaší peněženky Haven. Zapište si to a uložte na bezpečném místě. Semena pak můžete obnovit v jiné peněžence."
}

View file

@ -692,5 +692,7 @@
"onramper_option_description": "Kaufen Sie schnell Krypto mit vielen Zahlungsmethoden. In den meisten Ländern erhältlich. Spreads und Gebühren variieren.",
"default_buy_provider": "Standard-Kaufanbieter",
"ask_each_time": "Jedes Mal fragen",
"buy_provider_unavailable": "Anbieter derzeit nicht verfügbar."
}
"buy_provider_unavailable": "Anbieter derzeit nicht verfügbar.",
"havenSupportNotice": "Haven wird in Cake nicht mehr unterstützt, aber Sie können die Seeds in einer anderen Wallet wiederherstellen",
"havenSupportSeedsNotice": "Auf der nächsten Seite sehen Sie die einzigartigen Samen für Ihr Haven Wallet. Schreiben Sie es auf und bewahren Sie es an einem sicheren Ort auf. Anschließend können Sie die Seeds in einem anderen Wallet wiederherstellen."
}

View file

@ -693,5 +693,7 @@
"default_buy_provider": "Default Buy Provider",
"ask_each_time": "Ask each time",
"robinhood_option_description": "Buy and transfer instantly using your debit card, bank account, or Robinhood balance. USA only.",
"buy_provider_unavailable": "Provider currently unavailable."
}
"buy_provider_unavailable": "Provider currently unavailable.",
"havenSupportNotice": "Haven is no longer supported in Cake, but you can restore the seeds in another wallet",
"havenSupportSeedsNotice": "On the next page, you will see the unique seeds to your Haven Wallet. Write it down and store it in a safe place. You can then restore the seeds in another wallet."
}

View file

@ -692,5 +692,7 @@
"onramper_option_description": "Compre rápidamente cripto con muchos métodos de pago. Disponible en la mayoría de los países. Los diferenciales y las tarifas varían.",
"default_buy_provider": "Proveedor de compra predeterminado",
"ask_each_time": "Pregunta cada vez",
"buy_provider_unavailable": "Proveedor actualmente no disponible."
}
"buy_provider_unavailable": "Proveedor actualmente no disponible.",
"havenSupportNotice": "Haven ya no es compatible con Cake, pero puedes restaurar las semillas en otra billetera",
"havenSupportSeedsNotice": "En la página siguiente, verá las semillas únicas de su Haven Wallet. Anótelo y guárdelo en un lugar seguro. Luego puedes restaurar las semillas en otra billetera."
}

View file

@ -692,5 +692,7 @@
"onramper_option_description": "Achetez rapidement la crypto avec de nombreux méthodes de paiement. Disponible dans la plupart des pays. Les écarts et les frais varient.",
"default_buy_provider": "Fournisseur d'achat par défaut",
"ask_each_time": "Demandez à chaque fois",
"buy_provider_unavailable": "Fournisseur actuellement indisponible."
}
"buy_provider_unavailable": "Fournisseur actuellement indisponible.",
"havenSupportNotice": "Haven n'est plus pris en charge dans Cake, mais vous pouvez restaurer les graines dans un autre portefeuille",
"havenSupportSeedsNotice": "Sur la page suivante, vous verrez les graines uniques de votre Haven Wallet. Notez-le et conservez-le dans un endroit sûr. Vous pouvez ensuite restaurer les graines dans un autre portefeuille."
}

View file

@ -670,5 +670,7 @@
"onramper_option_description": "Da sauri sayi Crypto tare da hanyoyin biyan kuɗi da yawa. Akwai a yawancin ƙasashe. Yaduwa da kudade sun bambanta.",
"default_buy_provider": "Tsohuwar Siyarwa",
"ask_each_time": "Tambaya kowane lokaci",
"buy_provider_unavailable": "Mai ba da kyauta a halin yanzu babu."
}
"buy_provider_unavailable": "Mai ba da kyauta a halin yanzu babu.",
"havenSupportNotice": "Haven baya tallafawa a cikin Cake, amma zaku iya dawo da tsaba a cikin wani walat ɗin",
"havenSupportSeedsNotice": "A shafi na gaba, zaku ga keɓaɓɓen iri zuwa Haven Wallet ɗinku. Rubuta shi kuma adana shi a wuri mai aminci. Kuna iya dawo da tsaba a cikin wani walat ɗin."
}

View file

@ -692,5 +692,7 @@
"onramper_option_description": "जल्दी से कई भुगतान विधियों के साथ क्रिप्टो खरीदें। अधिकांश देशों में उपलब्ध है। फैलता है और फीस अलग -अलग होती है।",
"default_buy_provider": "डिफ़ॉल्ट खरीद प्रदाता",
"ask_each_time": "हर बार पूछें",
"buy_provider_unavailable": "वर्तमान में प्रदाता अनुपलब्ध है।"
}
"buy_provider_unavailable": "वर्तमान में प्रदाता अनुपलब्ध है।",
"havenSupportNotice": "हेवन अब केक में समर्थित नहीं है, लेकिन आप बीज को दूसरे वॉलेट में पुनर्स्थापित कर सकते हैं",
"havenSupportSeedsNotice": "अगले पृष्ठ पर, आप अपने हेवन वॉलेट के अनूठे बीज देखेंगे। इसे लिख लें और किसी सुरक्षित स्थान पर रख दें। फिर आप बीज को दूसरे बटुए में पुनर्स्थापित कर सकते हैं।"
}

View file

@ -692,5 +692,7 @@
"onramper_option_description": "Brzo kupite kriptovalute s mnogim načinima plaćanja. Dostupno u većini zemalja. Širenja i naknade variraju.",
"default_buy_provider": "Zadani davatelj kupnje",
"ask_each_time": "Pitajte svaki put",
"buy_provider_unavailable": "Davatelj trenutno nije dostupan."
}
"buy_provider_unavailable": "Davatelj trenutno nije dostupan.",
"havenSupportNotice": "Haven više nije podržan u Cakeu, ali možete obnoviti sjemenke u drugom novčaniku",
"havenSupportSeedsNotice": "Na sljedećoj stranici vidjet ćete jedinstveno sjeme za svoj novčanik Haven. Zapišite ga i pohranite na sigurno mjesto. Zatim možete vratiti sjeme u drugi novčanik."
}

View file

@ -680,5 +680,7 @@
"onramper_option_description": "Beli crypto dengan cepat dengan banyak metode pembayaran. Tersedia di sebagian besar negara. Spread dan biaya bervariasi.",
"default_buy_provider": "Penyedia beli default",
"ask_each_time": "Tanyakan setiap kali",
"buy_provider_unavailable": "Penyedia saat ini tidak tersedia."
}
"buy_provider_unavailable": "Penyedia saat ini tidak tersedia.",
"havenSupportNotice": "Haven tidak lagi didukung di Cake, namun Anda dapat memulihkan benih di dompet lain",
"havenSupportSeedsNotice": "Di halaman berikutnya, Anda akan melihat benih unik untuk Dompet Haven Anda. Catat dan simpan di tempat yang aman. Anda kemudian dapat mengembalikan benih di dompet lain."
}

View file

@ -692,5 +692,7 @@
"onramper_option_description": "Acquista rapidamente la criptovaluta con molti metodi di pagamento. Disponibile nella maggior parte dei paesi. Gli spread e le commissioni variano.",
"default_buy_provider": "Provider di acquisto predefinito",
"ask_each_time": "Chiedi ogni volta",
"buy_provider_unavailable": "Provider attualmente non disponibile."
}
"buy_provider_unavailable": "Provider attualmente non disponibile.",
"havenSupportNotice": "Haven non è più supportato in Cake, ma puoi ripristinare i seed in un altro portafoglio",
"havenSupportSeedsNotice": "Nella pagina successiva vedrai i semi unici del tuo Haven Wallet. Annotarlo e conservarlo in un luogo sicuro. Potrai quindi ripristinare i seed in un altro portafoglio."
}

View file

@ -692,5 +692,7 @@
"onramper_option_description": "多くの支払い方法で暗号をすばやく購入してください。ほとんどの国で利用可能です。スプレッドと料金は異なります。",
"default_buy_provider": "デフォルトの購入プロバイダー",
"ask_each_time": "毎回尋ねてください",
"buy_provider_unavailable": "現在、プロバイダーは利用できません。"
}
"buy_provider_unavailable": "現在、プロバイダーは利用できません。",
"havenSupportNotice": "Haven は Cake ではサポートされなくなりましたが、シードを別のウォレットに復元することができます",
"havenSupportSeedsNotice": "次のページでは、Haven ウォレットの固有のシードが表示されます。書き留めて安全な場所に保管してください。その後、シードを別のウォレットに復元できます。"
}

View file

@ -692,5 +692,7 @@
"onramper_option_description": "많은 결제 방법으로 암호화를 신속하게 구입하십시오. 대부분의 국가에서 사용할 수 있습니다. 스프레드와 수수료는 다양합니다.",
"default_buy_provider": "기본 구매 제공자",
"ask_each_time": "매번 물어보십시오",
"buy_provider_unavailable": "제공자는 현재 사용할 수 없습니다."
}
"buy_provider_unavailable": "제공자는 현재 사용할 수 없습니다.",
"havenSupportNotice": "Haven은 더 이상 Cake에서 지원되지 않지만, 다른 지갑에서 씨앗을 복원할 수 있습니다.",
"havenSupportSeedsNotice": "다음 페이지에서는 Haven Wallet의 고유한 시드를 볼 수 있습니다. 적어서 안전한 곳에 보관하세요. 그런 다음 다른 지갑에 씨앗을 복원할 수 있습니다."
}

View file

@ -690,5 +690,7 @@
"onramper_option_description": "ငွေပေးချေမှုနည်းလမ်းများစွာဖြင့် Crypto ကိုလျင်မြန်စွာ 0 ယ်ပါ။ နိုင်ငံအများစုတွင်ရရှိနိုင်ပါသည်။ ဖြန့်ဖြူးနှင့်အခကြေးငွေကွဲပြားခြားနားသည်။",
"default_buy_provider": "Default Provider ကိုဝယ်ပါ",
"ask_each_time": "တစ်ခုချင်းစီကိုအချိန်မေးပါ",
"buy_provider_unavailable": "လက်ရှိတွင်လက်ရှိမရနိုင်ပါ။"
}
"buy_provider_unavailable": "လက်ရှိတွင်လက်ရှိမရနိုင်ပါ။",
"havenSupportNotice": "Haven ကို ကိတ်မုန့်တွင် ပံ့ပိုးမပေးတော့သော်လည်း အစေ့များကို အခြားပိုက်ဆံအိတ်တွင် ပြန်ယူနိုင်သည်။",
"havenSupportSeedsNotice": "နောက်စာမျက်နှာတွင်၊ သင်၏ Haven Wallet ၏ထူးခြားသောမျိုးစေ့များကို သင်တွေ့လိမ့်မည်။ အဲဒါကို ချရေးပြီး လုံခြုံတဲ့နေရာမှာ သိမ်းထားပါ။ ထို့နောက် အခြားပိုက်ဆံအိတ်တွင် မျိုးစေ့များကို ပြန်ယူနိုင်သည်။"
}

View file

@ -692,5 +692,7 @@
"onramper_option_description": "Koop snel crypto met veel betaalmethoden. Beschikbaar in de meeste landen. Spreads en vergoedingen variëren.",
"default_buy_provider": "Standaard Koopprovider",
"ask_each_time": "Vraag het elke keer",
"buy_provider_unavailable": "Provider momenteel niet beschikbaar."
}
"buy_provider_unavailable": "Provider momenteel niet beschikbaar.",
"havenSupportNotice": "Haven wordt niet langer ondersteund in Cake, maar je kunt de zaden in een andere portemonnee herstellen",
"havenSupportSeedsNotice": "Op de volgende pagina ziet u de unieke zaden voor uw Haven Wallet. Schrijf het op en bewaar het op een veilige plaats. Je kunt de zaden vervolgens in een andere portemonnee herstellen."
}

View file

@ -692,5 +692,7 @@
"onramper_option_description": "Szybko kup kryptowaluty z wieloma metodami płatności. Dostępne w większości krajów. Spready i opłaty różnią się.",
"default_buy_provider": "Domyślny dostawca zakupu",
"ask_each_time": "Zapytaj za każdym razem",
"buy_provider_unavailable": "Dostawca obecnie niedostępny."
}
"buy_provider_unavailable": "Dostawca obecnie niedostępny.",
"havenSupportNotice": "Haven nie jest już obsługiwany w Cake, ale możesz przywrócić nasiona w innym portfelu",
"havenSupportSeedsNotice": "Na następnej stronie zobaczysz unikalne nasiona w swoim portfelu Haven. Zapisz go i przechowuj w bezpiecznym miejscu. Następnie możesz przywrócić nasiona w innym portfelu."
}

View file

@ -691,5 +691,7 @@
"onramper_option_description": "Compre rapidamente criptografia com muitos métodos de pagamento. Disponível na maioria dos países. Os spreads e taxas variam.",
"default_buy_provider": "Provedor de compra padrão",
"ask_each_time": "Pergunte cada vez",
"buy_provider_unavailable": "Provedor atualmente indisponível."
}
"buy_provider_unavailable": "Provedor atualmente indisponível.",
"havenSupportNotice": "Haven não é mais suportado no Cake, mas você pode restaurar as sementes em outra carteira",
"havenSupportSeedsNotice": "Na próxima página, você verá as sementes exclusivas da sua Carteira Haven. Anote e guarde em local seguro. Você pode então restaurar as sementes em outra carteira."
}

View file

@ -692,5 +692,7 @@
"onramper_option_description": "Быстро купите крипто со многими способами оплаты. Доступно в большинстве стран. Спреды и сборы различаются.",
"default_buy_provider": "По умолчанию поставщик покупки",
"ask_each_time": "Спросите каждый раз",
"buy_provider_unavailable": "Поставщик в настоящее время недоступен."
}
"buy_provider_unavailable": "Поставщик в настоящее время недоступен.",
"havenSupportNotice": "Haven больше не поддерживается в Cake, но вы можете восстановить сиды в другом кошельке.",
"havenSupportSeedsNotice": "На следующей странице вы увидите уникальные семена для вашего кошелька Haven. Запишите его и сохраните в надежном месте. Затем вы сможете восстановить семена в другом кошельке."
}

View file

@ -690,5 +690,7 @@
"onramper_option_description": "ซื้อ crypto อย่างรวดเร็วด้วยวิธีการชำระเงินจำนวนมาก มีให้บริการในประเทศส่วนใหญ่ สเปรดและค่าธรรมเนียมแตกต่างกันไป",
"default_buy_provider": "ผู้ให้บริการซื้อเริ่มต้น",
"ask_each_time": "ถามทุกครั้ง",
"buy_provider_unavailable": "ผู้ให้บริการไม่สามารถใช้งานได้ในปัจจุบัน"
}
"buy_provider_unavailable": "ผู้ให้บริการไม่สามารถใช้งานได้ในปัจจุบัน",
"havenSupportNotice": "เค้กไม่รองรับ Haven อีกต่อไป แต่คุณสามารถกู้คืนเมล็ดในกระเป๋าเงินอื่นได้",
"havenSupportSeedsNotice": "ในหน้าถัดไป คุณจะเห็นเมล็ดพันธุ์เฉพาะในกระเป๋าสตางค์ Haven Wallet ของคุณ จดบันทึกและเก็บไว้ในที่ปลอดภัย จากนั้นคุณสามารถกู้คืนเมล็ดในกระเป๋าเงินอื่นได้"
}

View file

@ -690,5 +690,7 @@
"onramper_option_description": "Birçok ödeme yöntemi ile hızlı bir şekilde kripto satın alın. Çoğu ülkede mevcuttur. Forma ve ücretler değişir.",
"default_buy_provider": "Varsayılan Satın Alma Sağlayıcısı",
"ask_each_time": "Her seferinde sor",
"buy_provider_unavailable": "Sağlayıcı şu anda kullanılamıyor."
}
"buy_provider_unavailable": "Sağlayıcı şu anda kullanılamıyor.",
"havenSupportNotice": "Haven artık Cake'de desteklenmiyor ancak tohumları başka bir cüzdana geri yükleyebilirsiniz.",
"havenSupportSeedsNotice": "Bir sonraki sayfada Haven Cüzdanınızın benzersiz tohumlarını göreceksiniz. Bunu bir yere yazın ve güvenli bir yerde saklayın. Daha sonra tohumları başka bir cüzdana geri yükleyebilirsiniz."
}

View file

@ -692,5 +692,7 @@
"onramper_option_description": "Швидко купуйте криптовалюту з багатьма методами оплати. Доступний у більшості країн. Поширення та збори різняться.",
"default_buy_provider": "Постачальник покупки за замовчуванням",
"ask_each_time": "Запитайте кожен раз",
"buy_provider_unavailable": "В даний час постачальник недоступний."
}
"buy_provider_unavailable": "В даний час постачальник недоступний.",
"havenSupportNotice": "Haven більше не підтримується в Cake, але ви можете відновити насіння в іншому гаманці",
"havenSupportSeedsNotice": "На наступній сторінці ви побачите унікальні насіння для вашого гаманця Haven. Запишіть і збережіть у надійному місці. Потім ви можете відновити насіння в іншому гаманці."
}

View file

@ -684,5 +684,7 @@
"onramper_option_description": "ادائیگی کے بہت سے طریقوں سے جلدی سے کرپٹو خریدیں۔ زیادہ تر ممالک میں دستیاب ہے۔ پھیلاؤ اور فیس مختلف ہوتی ہے۔",
"default_buy_provider": "پہلے سے طے شدہ خریدنے والا",
"ask_each_time": "ہر بار پوچھیں",
"buy_provider_unavailable": "فراہم کنندہ فی الحال دستیاب نہیں ہے۔"
}
"buy_provider_unavailable": "فراہم کنندہ فی الحال دستیاب نہیں ہے۔",
"havenSupportNotice": "۔ﮟﯿﮨ ﮯﺘﮑﺳ ﺮﮐ ﻝﺎﺤﺑ ﮟﯿﻣ ﮮﻮﭩﺑ ﺭﻭﺍ ﯽﺴﮐ ﻮﮐ ﮞﻮﺠﯿﺑ ﭖﺁ ﻦﮑﯿﻟ ،ﮯﮨ ﮟﯿﮩﻧ ﺖﻟﻮﮩﺳ ﯽﮐ ﻥﻮﯿﮨ ﺏﺍ ",
"havenSupportSeedsNotice": "۔ﮟﯿﮨ ﮯﺘﮑﺳ ﺮﮐ ﻝﺎﺤﺑ ﮟﯿﻣ ﮮﻮﭩﺑ ﮮﺮﺳﻭﺩ ﻮﮐ ﮞﻮﺠﯿﺑ ﭖﺁ ﺪﻌﺑ ﮯﮐ ﺱﺍ ۔ﮟﯿﻟ ﺮﮐ ﻅﻮﻔﺤﻣ ﺮﭘ ﮧﮕﺟ ﻅﻮ"
}

View file

@ -686,5 +686,7 @@
"onramper_option_description": "Ni kiakia Ra Crypto pẹlu ọpọlọpọ awọn ọna isanwo. Wa ni ọpọlọpọ awọn orilẹ-ede. Itankale ati awọn idiyele yatọ.",
"default_buy_provider": "Aiyipada Ra Olupese",
"ask_each_time": "Beere lọwọ kọọkan",
"buy_provider_unavailable": "Olupese lọwọlọwọ ko si."
}
"buy_provider_unavailable": "Olupese lọwọlọwọ ko si.",
"havenSupportNotice": "Haven ko ni atilẹyin mọ ni Akara oyinbo, ṣugbọn o le mu awọn irugbin pada ninu apamọwọ miiran",
"havenSupportSeedsNotice": "Ni oju-iwe atẹle, iwọ yoo rii awọn irugbin alailẹgbẹ si apamọwọ Haven rẹ. Kọ silẹ ki o si fi pamọ si aaye ailewu. Lẹhinna o le mu awọn irugbin pada ninu apamọwọ miiran."
}

View file

@ -691,5 +691,7 @@
"onramper_option_description": "快速使用许多付款方式购买加密货币。在大多数国家 /地区可用。利差和费用各不相同。",
"default_buy_provider": "默认购买提供商",
"ask_each_time": "每次问",
"buy_provider_unavailable": "提供者目前不可用。"
}
"buy_provider_unavailable": "提供者目前不可用。",
"havenSupportNotice": "Cake 不再支持 Haven但您可以在另一个钱包中恢复种子",
"havenSupportSeedsNotice": "在下一页上,您将看到您的 Haven 钱包中的独特种子。将其写下来并将其存放在安全的地方。然后您可以将种子恢复到另一个钱包中。"
}

View file

@ -633,9 +633,9 @@ Future<void> generateWalletTypes({required bool hasMonero, required bool hasBitc
outputContent += '\tWalletType.litecoin,\n';
}
if (hasHaven) {
outputContent += '\tWalletType.haven,\n';
}
// if (hasHaven) {
// outputContent += '\tWalletType.haven,\n';
// }
outputContent += '];\n';
await walletTypesFile.writeAsString(outputContent);