Skip to content

Commit 0246623

Browse files
committed
V5.3.0
- AmountConverter: Added support for converting between human-readable token amounts and base units.
1 parent 3a24f38 commit 0246623

36 files changed

Lines changed: 773 additions & 234 deletions

File tree

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
## 5.3.0
2+
- AmountConverter: Added support for converting between human-readable token amounts and base units.
3+
14
## 5.2.0
25

36
- Renamed constructors in CborListValue and CborMapValue:

lib/bip/address/atom_addr.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import 'package:blockchain_utils/bip/address/encoder.dart';
55
import 'package:blockchain_utils/crypto/quick_crypto.dart';
66
import 'package:blockchain_utils/helper/extensions/extensions.dart';
77
import 'package:blockchain_utils/utils/string/string.dart';
8+
89
import 'decoder.dart';
910
import 'exception/exception.dart';
1011

lib/bip/address/eth_addr.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ class EthAddrConst {
1515

1616
/// The total length of an Ethereum address in hexadecimal characters.
1717
static const int addrLen = 40;
18+
19+
/// The total length of an Ethereum address in bytes.
20+
static const int addrLenBytes = 20;
1821
}
1922

2023
/// Utility class for Ethereum address-related operations.

lib/bip/bip/conf/core/coin_conf.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import 'package:blockchain_utils/bip/address/encoder.dart';
22
import 'package:blockchain_utils/bip/bip/bip32/bip32_key_net_ver.dart';
3-
import 'package:blockchain_utils/bip/ecc/curve/elliptic_curve_types.dart';
43
import 'package:blockchain_utils/bip/coin_conf/models/coins_name.dart';
5-
import 'package:blockchain_utils/exception/const/const.dart';
4+
import 'package:blockchain_utils/bip/ecc/curve/elliptic_curve_types.dart';
5+
import 'package:blockchain_utils/exception/exception/exception.dart';
66

77
/// A typedef for the address encoder function that takes optional dynamic parameters.
88
typedef AddrEncoder = BlockchainAddressEncoder Function([dynamic kwargs]);
@@ -20,7 +20,7 @@ enum ChainType {
2020
return ChainType.testnet;
2121
}
2222
return values.firstWhere((e) => e.name == val,
23-
orElse: () => throw ExceptionConst.itemNotFound(item: 'chain type'));
23+
orElse: () => throw ItemNotFoundException(value: val));
2424
}
2525
}
2626

lib/bip/bip/types/types.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import 'package:blockchain_utils/exception/const/const.dart';
1+
import 'package:blockchain_utils/exception/exception/exception.dart';
22

33
/// Enumeration representing different modes for public keys used in P2PKH addresses.
44
///
@@ -16,7 +16,7 @@ enum PubKeyModes {
1616
static PubKeyModes fromValue(int? value, {PubKeyModes? defaultValue}) {
1717
return values.firstWhere((e) => e.value == value, orElse: () {
1818
if (defaultValue != null && value == null) return defaultValue;
19-
throw ExceptionConst.itemNotFound(item: 'public format');
19+
throw ItemNotFoundException(value: value);
2020
});
2121
}
2222
}

lib/bip/monero/mnemonic/monero_mnemonic.dart

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import 'package:blockchain_utils/bip/mnemonic/mnemonic.dart';
22
import 'package:blockchain_utils/bip/mnemonic/mnemonic_utils.dart';
3-
import 'package:blockchain_utils/exception/const/const.dart';
3+
import 'package:blockchain_utils/exception/exception/exception.dart';
4+
45
import 'words_list/languages.dart' as languages;
56

67
/// An enumeration representing the number of words in a Monero mnemonic.
@@ -37,8 +38,7 @@ class MoneroWordsNum {
3738

3839
static MoneroWordsNum fromValue(int? value) {
3940
return values.firstWhere((e) => e.value == value,
40-
orElse: () =>
41-
throw ExceptionConst.itemNotFound(item: "Monero words number"));
41+
orElse: () => throw ItemNotFoundException(value: value));
4242
}
4343
}
4444

@@ -110,8 +110,7 @@ class MoneroLanguages implements MnemonicLanguages {
110110

111111
static MoneroLanguages fromValue(String? value) {
112112
return values.firstWhere((e) => e.name == value,
113-
orElse: () => throw ExceptionConst.itemNotFound(
114-
item: "Monero ${value ?? ''} language"));
113+
orElse: () => throw ItemNotFoundException(value: value));
115114
}
116115
}
117116

lib/cbor/core/cbor.dart

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import 'package:blockchain_utils/cbor/exception/exception.dart';
22
import 'package:blockchain_utils/cbor/extention/extenton.dart';
3-
import 'package:blockchain_utils/utils/utils.dart';
43
import 'package:blockchain_utils/cbor/types/types.dart';
54
import 'package:blockchain_utils/cbor/utils/cbor_utils.dart';
5+
import 'package:blockchain_utils/utils/utils.dart';
66

77
/// An abstract class representing a CBOR (Concise Binary Object Representation) object.
88
/// CBOR objects can hold various data types and optional tags, providing a flexible way
@@ -72,6 +72,8 @@ abstract class CborObject<T> {
7272
static T deserialize<T extends CborObject>(List<int> bytes) {
7373
return CborObject.fromCbor(bytes).cast();
7474
}
75+
76+
Object? getValue() => value;
7577
}
7678

7779
// An abstract class representing a numeric CBOR (Concise Binary Object Representation) object.

lib/cbor/types/bigfloat.dart

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1-
import 'package:blockchain_utils/helper/extensions/extensions.dart';
2-
import 'package:blockchain_utils/utils/utils.dart';
3-
import 'package:blockchain_utils/cbor/utils/dynamic_bytes.dart';
1+
import 'package:blockchain_utils/cbor/core/cbor.dart';
42
import 'package:blockchain_utils/cbor/core/tags.dart';
53
import 'package:blockchain_utils/cbor/types/bigint.dart';
6-
import 'package:blockchain_utils/cbor/core/cbor.dart';
4+
import 'package:blockchain_utils/cbor/utils/dynamic_bytes.dart';
5+
import 'package:blockchain_utils/helper/extensions/extensions.dart';
6+
import 'package:blockchain_utils/utils/utils.dart';
7+
78
import 'int64.dart';
89

910
/// A class representing a CBOR (Concise Binary Object Representation) BigFloat value.

lib/cbor/types/bigint.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import 'package:blockchain_utils/utils/utils.dart';
2-
import 'package:blockchain_utils/cbor/utils/dynamic_bytes.dart';
3-
import 'package:blockchain_utils/cbor/core/tags.dart';
41
import 'package:blockchain_utils/cbor/core/cbor.dart';
2+
import 'package:blockchain_utils/cbor/core/tags.dart';
3+
import 'package:blockchain_utils/cbor/utils/dynamic_bytes.dart';
4+
import 'package:blockchain_utils/utils/utils.dart';
55

66
/// A class representing a CBOR (Concise Binary Object Representation) Bigint value.
77
class CborBigIntValue extends CborNumeric<BigInt> {

lib/cbor/types/bytes.dart

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
1+
import 'package:blockchain_utils/cbor/core/cbor.dart';
2+
import 'package:blockchain_utils/cbor/core/tags.dart';
3+
import 'package:blockchain_utils/cbor/utils/dynamic_bytes.dart';
14
import 'package:blockchain_utils/helper/helper.dart';
25
import 'package:blockchain_utils/utils/utils.dart';
3-
import 'package:blockchain_utils/cbor/utils/dynamic_bytes.dart';
4-
import 'package:blockchain_utils/cbor/core/tags.dart';
5-
import 'package:blockchain_utils/cbor/core/cbor.dart';
66

77
abstract class CborBytes<T> extends CborObject<T> {
88
const CborBytes(super.value);
9+
@override
910
List<int> getValue();
1011

1112
/// Returns the string representation of the value.

0 commit comments

Comments
 (0)