fix: Bug when building Monero.Com resulting from solana exceptions situated in send viewmodel from cw_solana package (#1893)

David Adegoke committed Dec 19, 2024 at 18:41 UTC a6f61c595f98858a58b47cf61f798c309c0ecc7a
3 files changed +22 -13
cw_core/lib/exceptions.dart
+9 -1
@@ -27,7 +27,7 @@ class TransactionCommitFailed implements Exception {
27
28 @override
29 String toString() {
30 - return errorMessage??"unknown error";
30 + return errorMessage ?? "unknown error";
31 }
32 }
33
@@ -44,3 +44,11 @@ class TransactionCommitFailedBIP68Final implements Exception {}
44 class TransactionCommitFailedLessThanMin implements Exception {}
45
46 class TransactionInputNotSupported implements Exception {}
47 +
48 +class SignNativeTokenTransactionRentException implements Exception {}
49 +
50 +class CreateAssociatedTokenAccountException implements Exception {}
51 +
52 +class SignSPLTokenTransactionRentException implements Exception {}
53 +
54 +class NoAssociatedTokenAccountException implements Exception {}
cw_solana/lib/solana_exceptions.dart
+9 -7
@@ -1,4 +1,5 @@
1 import 'package:cw_core/crypto_currency.dart';
2 +import 'package:cw_core/exceptions.dart';
3
4 class SolanaTransactionCreationException implements Exception {
5 final String exceptionMessage;
@@ -20,18 +21,19 @@ class SolanaTransactionWrongBalanceException implements Exception {
21 String toString() => exceptionMessage;
22 }
23
23 -class SolanaSignNativeTokenTransactionRentException implements Exception {}
24 -
25 -class SolanaCreateAssociatedTokenAccountException implements Exception {
26 - final String exceptionMessage;
24 +class SolanaSignNativeTokenTransactionRentException
25 + extends SignNativeTokenTransactionRentException {}
26
27 +class SolanaCreateAssociatedTokenAccountException extends CreateAssociatedTokenAccountException {
28 SolanaCreateAssociatedTokenAccountException(this.exceptionMessage);
29 +
30 + final String exceptionMessage;
31 }
32
31 -class SolanaSignSPLTokenTransactionRentException implements Exception {}
33 +class SolanaSignSPLTokenTransactionRentException extends SignSPLTokenTransactionRentException {}
34
33 -class SolanaNoAssociatedTokenAccountException implements Exception {
34 - const SolanaNoAssociatedTokenAccountException(this.account, this.mint);
35 +class SolanaNoAssociatedTokenAccountException extends NoAssociatedTokenAccountException {
36 + SolanaNoAssociatedTokenAccountException(this.account, this.mint);
37
38 final String account;
39 final String mint;
lib/view_model/send/send_view_model.dart
+4 -5
@@ -26,7 +26,6 @@ import 'package:cw_core/transaction_priority.dart';
26 import 'package:cw_core/unspent_coin_type.dart';
27 import 'package:cake_wallet/view_model/send/output.dart';
28 import 'package:cake_wallet/view_model/send/send_template_view_model.dart';
29 -import 'package:cw_solana/solana_exceptions.dart';
29 import 'package:flutter/material.dart';
30 import 'package:hive/hive.dart';
31 import 'package:mobx/mobx.dart';
@@ -676,19 +675,19 @@ abstract class SendViewModelBase extends WalletChangeListenerViewModel with Stor
675 }
676 }
677
679 - if (error is SolanaSignNativeTokenTransactionRentException) {
678 + if (error is SignNativeTokenTransactionRentException) {
679 return S.current.solana_sign_native_transaction_rent_exception;
680 }
681
683 - if (error is SolanaCreateAssociatedTokenAccountException) {
682 + if (error is CreateAssociatedTokenAccountException) {
683 return S.current.solana_create_associated_token_account_exception;
684 }
685
687 - if (error is SolanaSignSPLTokenTransactionRentException) {
686 + if (error is SignSPLTokenTransactionRentException) {
687 return S.current.solana_sign_spl_token_transaction_rent_exception;
688 }
689
691 - if (error is SolanaNoAssociatedTokenAccountException) {
690 + if (error is NoAssociatedTokenAccountException) {
691 return S.current.solana_no_associated_token_account_exception;
692 }
693