mirror of
https://github.com/Such-Software/hash-wallet.git
synced 2026-10-26 06:08:40 +01:00
* fix android CI * fix: duplicate outgoing tx for jup swaps and stuck pending state * fix solana security risk by handling duplicate token symbols in wallet transactions * feat: implement additional cost handling for pending transactions in Solana wallet. * fix: Items on security audit list for solana wallet * refactor: streamline fee payer index handling and improve error logging * fix: verifySignature for solana and handle wrong mint on default token * fix: token decimals defaulting to zero and breaking amount parsing in solana * fix: use token mask in tx history * refactor: apply lint to modified code * fix: merge conflicts * fix: use Money and mint decimals when parsing sol swaps * test: add unit tests for SPL token amount handling and parsing * test: add more tests * fix: update decimal handling for fetched token and remove unused fields
88 lines
2.2 KiB
Dart
88 lines
2.2 KiB
Dart
import 'package:cw_core/crypto_currency.dart';
|
|
|
|
class TransactionWrongBalanceException implements Exception {
|
|
TransactionWrongBalanceException(this.currency, {this.amount});
|
|
|
|
final CryptoCurrency currency;
|
|
final int? amount;
|
|
}
|
|
|
|
class TransactionNoInputsException implements Exception {}
|
|
|
|
class TransactionNoFeeException implements Exception {}
|
|
|
|
class TransactionNoDustException implements Exception {}
|
|
|
|
class TransactionNoDustOnChangeException implements Exception {
|
|
TransactionNoDustOnChangeException(this.max, this.min);
|
|
|
|
final String max;
|
|
final String min;
|
|
}
|
|
|
|
class TransactionCommitFailed implements Exception {
|
|
final String? errorMessage;
|
|
|
|
TransactionCommitFailed({this.errorMessage});
|
|
|
|
@override
|
|
String toString() => errorMessage ?? "unknown error";
|
|
}
|
|
|
|
class TransactionCommitFailedDustChange implements Exception {}
|
|
|
|
class TransactionCommitFailedDustOutput implements Exception {}
|
|
|
|
class TransactionCommitFailedDustOutputSendAll implements Exception {}
|
|
|
|
class TransactionCommitFailedVoutNegative implements Exception {}
|
|
|
|
class TransactionCommitFailedBIP68Final implements Exception {}
|
|
|
|
class TransactionCommitFailedLessThanMin implements Exception {}
|
|
|
|
class TransactionInputNotSupported implements Exception {}
|
|
|
|
class SignNativeTokenTransactionRentException implements Exception {}
|
|
|
|
class CreateAssociatedTokenAccountException implements Exception {
|
|
final String errorMessage;
|
|
|
|
CreateAssociatedTokenAccountException(this.errorMessage);
|
|
}
|
|
|
|
class SignSPLTokenTransactionRentException implements Exception {}
|
|
|
|
class NoAssociatedTokenAccountException implements Exception {}
|
|
|
|
class AmbiguousTokenSymbolException implements Exception {
|
|
AmbiguousTokenSymbolException(this.symbol);
|
|
|
|
final String symbol;
|
|
}
|
|
|
|
class RestoreFromSeedException implements Exception {
|
|
final String message;
|
|
|
|
RestoreFromSeedException(this.message);
|
|
}
|
|
|
|
class WalletDeprecationException implements Exception {
|
|
final String seed;
|
|
final CryptoCurrency curr;
|
|
|
|
@override
|
|
String toString() => "Wallet type no longer supported";
|
|
|
|
WalletDeprecationException({required this.seed, required this.curr});
|
|
}
|
|
|
|
class WalletSwitchException implements Exception {
|
|
WalletSwitchException(this.message);
|
|
|
|
final String message;
|
|
|
|
@override
|
|
String toString() => message;
|
|
}
|