|
1 | | -/* |
| 1 | +/* |
2 | 2 | * This file is part of Stack Wallet. |
3 | | - * |
| 3 | + * |
4 | 4 | * Copyright (c) 2023 Cypher Stack |
5 | 5 | * All Rights Reserved. |
6 | 6 | * The code is distributed under GPLv3 license, see LICENSE file for details. |
7 | 7 | * Generated by Cypher Stack on 2023-05-26 |
8 | 8 | * |
9 | 9 | */ |
10 | 10 |
|
| 11 | +import 'package:bip47/bip47.dart'; |
| 12 | +import 'package:bitcoindart/bitcoindart.dart' as bitcoindart; |
| 13 | + |
11 | 14 | class PaynymAccountLite { |
12 | 15 | final String nymId; |
13 | 16 | final String nymName; |
14 | 17 | final String code; |
15 | 18 | final bool segwit; |
| 19 | + final bool taproot; |
16 | 20 |
|
17 | 21 | PaynymAccountLite( |
18 | 22 | this.nymId, |
19 | 23 | this.nymName, |
20 | 24 | this.code, |
21 | | - this.segwit, |
22 | | - ); |
| 25 | + this.segwit, { |
| 26 | + this.taproot = false, |
| 27 | + }); |
23 | 28 |
|
24 | 29 | PaynymAccountLite.fromMap(Map<String, dynamic> map) |
25 | | - : nymId = map["nymId"] as String, |
26 | | - nymName = map["nymName"] as String, |
27 | | - code = map["code"] as String, |
28 | | - segwit = map["segwit"] as bool; |
| 30 | + : nymId = map["nymId"] as String, |
| 31 | + nymName = map["nymName"] as String, |
| 32 | + code = map["code"] as String, |
| 33 | + segwit = map["segwit"] as bool, |
| 34 | + taproot = map["taproot"] as bool? ?? inferTaproot(map["code"] as String); |
| 35 | + |
| 36 | + static bool inferTaproot(String paymentCodeString) { |
| 37 | + try { |
| 38 | + final pCode = PaymentCode.fromPaymentCode( |
| 39 | + paymentCodeString, |
| 40 | + networkType: bitcoindart.bitcoin, |
| 41 | + ); |
| 42 | + return pCode.isTaprootEnabled(); |
| 43 | + } catch (_) { |
| 44 | + return false; |
| 45 | + } |
| 46 | + } |
29 | 47 |
|
30 | 48 | Map<String, dynamic> toMap() => { |
31 | | - "nymId": nymId, |
32 | | - "nymName": nymName, |
33 | | - "code": code, |
34 | | - "segwit": segwit, |
35 | | - }; |
| 49 | + "nymId": nymId, |
| 50 | + "nymName": nymName, |
| 51 | + "code": code, |
| 52 | + "segwit": segwit, |
| 53 | + "taproot": taproot, |
| 54 | + }; |
36 | 55 |
|
37 | 56 | @override |
38 | 57 | String toString() { |
|
0 commit comments