CashuWalletTransactionModel.fromJson constructor
CashuWalletTransactionModel.fromJson(
- Map<String, dynamic> json
)
Implementation
factory CashuWalletTransactionModel.fromJson(Map<String, dynamic> json) {
final metadata = Map<String, dynamic>.from(json['metadata'] as Map? ?? {});
final rawQuote = json['qoute'] as Map<String, dynamic>? ??
metadata['qoute'] as Map<String, dynamic>?;
final rawQuoteMelt = json['qouteMelt'] as Map<String, dynamic>? ??
metadata['qouteMelt'] as Map<String, dynamic>?;
final rawUsedKeysets = json['usedKeysets'] as List<dynamic>? ??
metadata['usedKeyset'] as List<dynamic>? ??
metadata['usedKeysets'] as List<dynamic>?;
final rawProofPubKeys = json['proofPubKeys'] as List<dynamic>? ??
metadata['proofPubKeys'] as List<dynamic>?;
return CashuWalletTransactionModel(
id: json['id'] as String,
walletId: json['walletId'] as String,
changeAmount: json['changeAmount'] as int,
unit: json['unit'] as String,
walletType: WalletType.fromValue(json['walletType'] as String),
state: WalletTransactionState.fromValue(json['state'] as String),
completionMsg: json['completionMsg'] as String?,
transactionDate: json['transactionDate'] as int?,
initiatedDate: json['initiatedDate'] as int?,
mintUrl: json['mintUrl'] as String? ?? metadata['mintUrl'] as String,
note: json['note'] as String? ?? metadata['note'] as String?,
method: json['method'] as String? ?? metadata['method'] as String?,
qoute: rawQuote != null ? CashuQuote.fromJson(rawQuote) : null,
qouteMelt:
rawQuoteMelt != null ? CashuQuoteMelt.fromJson(rawQuoteMelt) : null,
usedKeysets: rawUsedKeysets
?.map((entry) => CahsuKeyset.fromJson(entry as Map<String, dynamic>))
.toList(),
token: json['token'] as String? ?? metadata['token'] as String?,
proofPubKeys: rawProofPubKeys?.map((entry) => entry.toString()).toList(),
metadata: metadata,
);
}