@fleet-sdk/common 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +1 -1
  3. package/dist/index.d.mts +268 -0
  4. package/dist/index.d.ts +268 -0
  5. package/dist/index.js +604 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/index.mjs +551 -0
  8. package/dist/index.mjs.map +1 -0
  9. package/package.json +9 -9
  10. package/src/index.ts +1 -0
  11. package/src/models/collection.ts +107 -0
  12. package/src/models/index.ts +1 -0
  13. package/src/types/boxes.ts +2 -2
  14. package/src/types/common.ts +10 -3
  15. package/src/types/inputs.ts +3 -3
  16. package/src/utils/{arrayUtils.ts → array.ts} +26 -21
  17. package/src/utils/assertions.ts +90 -0
  18. package/src/utils/{bigIntUtils.ts → bigInt.ts} +28 -65
  19. package/src/utils/bytes.bench.ts +43 -0
  20. package/src/utils/bytes.ts +34 -0
  21. package/src/utils/index.ts +6 -6
  22. package/src/utils/object.ts +28 -0
  23. package/src/utils/{boxUtils.ts → utxo.ts} +27 -5
  24. package/dist/cjs/index.d.ts +0 -2
  25. package/dist/cjs/index.js +0 -19
  26. package/dist/cjs/index.js.map +0 -1
  27. package/dist/cjs/types/boxes.d.ts +0 -22
  28. package/dist/cjs/types/boxes.js +0 -3
  29. package/dist/cjs/types/boxes.js.map +0 -1
  30. package/dist/cjs/types/common.d.ts +0 -18
  31. package/dist/cjs/types/common.js +0 -15
  32. package/dist/cjs/types/common.js.map +0 -1
  33. package/dist/cjs/types/contextExtension.d.ts +0 -4
  34. package/dist/cjs/types/contextExtension.js +0 -3
  35. package/dist/cjs/types/contextExtension.js.map +0 -1
  36. package/dist/cjs/types/index.d.ts +0 -8
  37. package/dist/cjs/types/index.js +0 -25
  38. package/dist/cjs/types/index.js.map +0 -1
  39. package/dist/cjs/types/inputs.d.ts +0 -37
  40. package/dist/cjs/types/inputs.js +0 -3
  41. package/dist/cjs/types/inputs.js.map +0 -1
  42. package/dist/cjs/types/proverResult.d.ts +0 -6
  43. package/dist/cjs/types/proverResult.js +0 -3
  44. package/dist/cjs/types/proverResult.js.map +0 -1
  45. package/dist/cjs/types/registers.d.ts +0 -9
  46. package/dist/cjs/types/registers.js +0 -3
  47. package/dist/cjs/types/registers.js.map +0 -1
  48. package/dist/cjs/types/token.d.ts +0 -18
  49. package/dist/cjs/types/token.js +0 -3
  50. package/dist/cjs/types/token.js.map +0 -1
  51. package/dist/cjs/types/transactions.d.ts +0 -22
  52. package/dist/cjs/types/transactions.js +0 -3
  53. package/dist/cjs/types/transactions.js.map +0 -1
  54. package/dist/cjs/utils/arrayUtils.d.ts +0 -26
  55. package/dist/cjs/utils/arrayUtils.js +0 -151
  56. package/dist/cjs/utils/arrayUtils.js.map +0 -1
  57. package/dist/cjs/utils/bigIntLiterals.d.ts +0 -7
  58. package/dist/cjs/utils/bigIntLiterals.js +0 -12
  59. package/dist/cjs/utils/bigIntLiterals.js.map +0 -1
  60. package/dist/cjs/utils/bigIntUtils.d.ts +0 -51
  61. package/dist/cjs/utils/bigIntUtils.js +0 -158
  62. package/dist/cjs/utils/bigIntUtils.js.map +0 -1
  63. package/dist/cjs/utils/boxUtils.d.ts +0 -21
  64. package/dist/cjs/utils/boxUtils.js +0 -110
  65. package/dist/cjs/utils/boxUtils.js.map +0 -1
  66. package/dist/cjs/utils/index.d.ts +0 -6
  67. package/dist/cjs/utils/index.js +0 -23
  68. package/dist/cjs/utils/index.js.map +0 -1
  69. package/dist/cjs/utils/objectUtils.d.ts +0 -3
  70. package/dist/cjs/utils/objectUtils.js +0 -23
  71. package/dist/cjs/utils/objectUtils.js.map +0 -1
  72. package/dist/cjs/utils/stringUtils.d.ts +0 -7
  73. package/dist/cjs/utils/stringUtils.js +0 -21
  74. package/dist/cjs/utils/stringUtils.js.map +0 -1
  75. package/dist/esm/index.d.ts +0 -2
  76. package/dist/esm/index.js +0 -3
  77. package/dist/esm/index.js.map +0 -1
  78. package/dist/esm/types/boxes.d.ts +0 -22
  79. package/dist/esm/types/boxes.js +0 -2
  80. package/dist/esm/types/boxes.js.map +0 -1
  81. package/dist/esm/types/common.d.ts +0 -18
  82. package/dist/esm/types/common.js +0 -12
  83. package/dist/esm/types/common.js.map +0 -1
  84. package/dist/esm/types/contextExtension.d.ts +0 -4
  85. package/dist/esm/types/contextExtension.js +0 -2
  86. package/dist/esm/types/contextExtension.js.map +0 -1
  87. package/dist/esm/types/index.d.ts +0 -8
  88. package/dist/esm/types/index.js +0 -9
  89. package/dist/esm/types/index.js.map +0 -1
  90. package/dist/esm/types/inputs.d.ts +0 -37
  91. package/dist/esm/types/inputs.js +0 -2
  92. package/dist/esm/types/inputs.js.map +0 -1
  93. package/dist/esm/types/proverResult.d.ts +0 -6
  94. package/dist/esm/types/proverResult.js +0 -2
  95. package/dist/esm/types/proverResult.js.map +0 -1
  96. package/dist/esm/types/registers.d.ts +0 -9
  97. package/dist/esm/types/registers.js +0 -2
  98. package/dist/esm/types/registers.js.map +0 -1
  99. package/dist/esm/types/token.d.ts +0 -18
  100. package/dist/esm/types/token.js +0 -2
  101. package/dist/esm/types/token.js.map +0 -1
  102. package/dist/esm/types/transactions.d.ts +0 -22
  103. package/dist/esm/types/transactions.js +0 -2
  104. package/dist/esm/types/transactions.js.map +0 -1
  105. package/dist/esm/utils/arrayUtils.d.ts +0 -26
  106. package/dist/esm/utils/arrayUtils.js +0 -135
  107. package/dist/esm/utils/arrayUtils.js.map +0 -1
  108. package/dist/esm/utils/bigIntLiterals.d.ts +0 -7
  109. package/dist/esm/utils/bigIntLiterals.js +0 -9
  110. package/dist/esm/utils/bigIntLiterals.js.map +0 -1
  111. package/dist/esm/utils/bigIntUtils.d.ts +0 -51
  112. package/dist/esm/utils/bigIntUtils.js +0 -148
  113. package/dist/esm/utils/bigIntUtils.js.map +0 -1
  114. package/dist/esm/utils/boxUtils.d.ts +0 -21
  115. package/dist/esm/utils/boxUtils.js +0 -103
  116. package/dist/esm/utils/boxUtils.js.map +0 -1
  117. package/dist/esm/utils/index.d.ts +0 -6
  118. package/dist/esm/utils/index.js +0 -7
  119. package/dist/esm/utils/index.js.map +0 -1
  120. package/dist/esm/utils/objectUtils.d.ts +0 -3
  121. package/dist/esm/utils/objectUtils.js +0 -17
  122. package/dist/esm/utils/objectUtils.js.map +0 -1
  123. package/dist/esm/utils/stringUtils.d.ts +0 -7
  124. package/dist/esm/utils/stringUtils.js +0 -16
  125. package/dist/esm/utils/stringUtils.js.map +0 -1
  126. package/dist/tsconfig.esm.tsbuildinfo +0 -1
  127. package/dist/tsconfig.tsbuildinfo +0 -1
  128. package/src/utils/bigIntLiterals.ts +0 -9
  129. package/src/utils/objectUtils.ts +0 -19
  130. package/src/utils/stringUtils.ts +0 -18
@@ -1,135 +0,0 @@
1
- export function isEmpty(obj) {
2
- if (!obj) {
3
- return true;
4
- }
5
- return Array.isArray(obj) ? obj.length === 0 : Object.keys(obj).length === 0;
6
- }
7
- export function some(obj) {
8
- return !isEmpty(obj);
9
- }
10
- export function first(array) {
11
- if (!array) {
12
- return;
13
- }
14
- if (!array[0]) {
15
- throw Error("Empty array.");
16
- }
17
- return array[0];
18
- }
19
- /**
20
- * Check for duplicate elements using the equality operator
21
- */
22
- export function hasDuplicates(array) {
23
- return array.some((item, index) => {
24
- return array.indexOf(item) !== index;
25
- });
26
- }
27
- /**
28
- * Check for duplicate keys in complex elements
29
- */
30
- export function hasDuplicatesBy(array, selector) {
31
- return array.some((item, index) => {
32
- return array.findIndex((x) => selector(x) === selector(item)) !== index;
33
- });
34
- }
35
- export function chunk(array, size) {
36
- if (array.length <= size) {
37
- return [array];
38
- }
39
- const chunks = [];
40
- for (let i = 0; i < array.length; i += size) {
41
- chunks.push(array.slice(i, i + size));
42
- }
43
- return chunks;
44
- }
45
- export function orderBy(array, iteratee, order = "asc") {
46
- return [...array].sort((a, b) => {
47
- if (iteratee(a) > iteratee(b)) {
48
- return order === "asc" ? 1 : -1;
49
- }
50
- else if (iteratee(a) < iteratee(b)) {
51
- return order === "asc" ? -1 : 1;
52
- }
53
- else {
54
- return 0;
55
- }
56
- });
57
- }
58
- export function areEqual(array1, array2) {
59
- if (array1 === array2) {
60
- return true;
61
- }
62
- if (array1.length != array2.length) {
63
- return false;
64
- }
65
- for (let i = 0; i < array1.length; i++) {
66
- if (array1[i] !== array2[i]) {
67
- return false;
68
- }
69
- }
70
- return true;
71
- }
72
- export function areEqualBy(array1, array2, selector) {
73
- if (array1 === array2) {
74
- return true;
75
- }
76
- if (array1.length != array2.length) {
77
- return false;
78
- }
79
- for (let i = 0; i < array1.length; i++) {
80
- if (selector(array1[i]) !== selector(array2[i])) {
81
- return false;
82
- }
83
- }
84
- return true;
85
- }
86
- export function startsWith(array, target) {
87
- if (array === target) {
88
- return true;
89
- }
90
- if (target.length > array.length) {
91
- return false;
92
- }
93
- for (let i = 0; i < target.length; i++) {
94
- if (target[i] !== array[i]) {
95
- return false;
96
- }
97
- }
98
- return true;
99
- }
100
- export function endsWith(array, target) {
101
- if (array === target) {
102
- return true;
103
- }
104
- if (target.length > array.length) {
105
- return false;
106
- }
107
- const offset = array.length - target.length;
108
- for (let i = target.length - 1; i >= 0; i--) {
109
- if (target[i] !== array[i + offset]) {
110
- return false;
111
- }
112
- }
113
- return true;
114
- }
115
- export function uniq(array) {
116
- if (isEmpty(array)) {
117
- return array;
118
- }
119
- return Array.from(new Set(array));
120
- }
121
- export function uniqBy(array, selector, selection = "keep-first") {
122
- if (isEmpty(array)) {
123
- return array;
124
- }
125
- return Array.from(array
126
- .reduce((map, e) => {
127
- const key = selector(e);
128
- if (selection === "keep-first" && map.has(key)) {
129
- return map;
130
- }
131
- return map.set(key, e);
132
- }, new Map())
133
- .values());
134
- }
135
- //# sourceMappingURL=arrayUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arrayUtils.js","sourceRoot":"","sources":["../../../src/utils/arrayUtils.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- export declare const _0n: bigint;
2
- export declare const _1n: bigint;
3
- export declare const _7n: bigint;
4
- export declare const _10n: bigint;
5
- export declare const _63n: bigint;
6
- export declare const _127n: bigint;
7
- export declare const _128n: bigint;
@@ -1,9 +0,0 @@
1
- // Make some ECMAScript parsers happy by not using bigint literals like 123n
2
- export const _0n = BigInt(0);
3
- export const _1n = BigInt(1);
4
- export const _7n = BigInt(7);
5
- export const _10n = BigInt(10);
6
- export const _63n = BigInt(63);
7
- export const _127n = BigInt(127);
8
- export const _128n = BigInt(128);
9
- //# sourceMappingURL=bigIntLiterals.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bigIntLiterals.js","sourceRoot":"","sources":["../../../src/utils/bigIntLiterals.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAE5E,MAAM,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAC7B,MAAM,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAC7B,MAAM,CAAC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAC7B,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;AAC/B,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;AAC/B,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AACjC,MAAM,CAAC,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC"}
@@ -1,51 +0,0 @@
1
- import { Amount } from "../types";
2
- type NumberLike = string | number | bigint | boolean;
3
- export declare function ensureBigInt(number: NumberLike): bigint;
4
- type ParsingOptions = {
5
- /**
6
- * Number of decimals.
7
- */
8
- decimals?: number;
9
- /**
10
- * Thousand mark char.
11
- * Default: `.`
12
- */
13
- decimalMark?: string;
14
- };
15
- export declare function undecimalize(decimalStr: string, options?: ParsingOptions | number): bigint;
16
- type FormattingOptions = {
17
- /**
18
- * Number of decimals.
19
- */
20
- decimals: number;
21
- /**
22
- * Thousand mark char.
23
- */
24
- thousandMark?: string;
25
- /**
26
- * Decimal mark char.
27
- * Default: `.`
28
- */
29
- decimalMark?: string;
30
- };
31
- export declare function decimalize(value: Amount, options?: FormattingOptions | number): string;
32
- export declare function sumBy<T>(collection: readonly T[], iteratee: (value: T) => bigint, condition?: (value: T) => boolean): bigint;
33
- /**
34
- * Converts a hex string to bigint.
35
- * @param hex The hex string to be converted.
36
- * @returns The bigint value represented by the hex string.
37
- */
38
- export declare function hexToBigInt(hex: string): bigint;
39
- /**
40
- * Serializes a `BigInt` to a hex string
41
- * @param value The bigint value to be serialized
42
- * @returns Hex representation for the provided `number`.
43
- */
44
- export declare function bigIntToHex(value: bigint): string;
45
- /**
46
- * Returns the two’s complement of a bigint value.
47
- * @param value The bigint value to negate.
48
- * @returns The two’s complement of `number` as a bigint.
49
- */
50
- export declare function _bitNegate(value: bigint): bigint;
51
- export {};
@@ -1,148 +0,0 @@
1
- import { first, isEmpty } from "./arrayUtils";
2
- import { _0n, _10n } from "./bigIntLiterals";
3
- import { isUndefined } from "./objectUtils";
4
- export function ensureBigInt(number) {
5
- return typeof number === "bigint" ? number : BigInt(number);
6
- }
7
- export function undecimalize(decimalStr, options) {
8
- if (!decimalStr) {
9
- return _0n;
10
- }
11
- options = typeof options == "number" ? { decimals: options } : options;
12
- if (isUndefined(options)) {
13
- options = {};
14
- }
15
- options.decimals = options.decimals || 0;
16
- options.decimalMark = options.decimalMark || ".";
17
- const fragments = decimalStr.split(options.decimalMark);
18
- if (fragments.length > 2) {
19
- throw new Error("Invalid numeric string.");
20
- }
21
- let [integer, decimal] = fragments;
22
- integer = _removeLeadingZeros(integer);
23
- const negative = integer.startsWith("-") ? "-" : "";
24
- if (!decimal) {
25
- decimal = "0".repeat(options.decimals);
26
- }
27
- else if (decimal.length < options.decimals) {
28
- decimal = decimal.padEnd(options.decimals, "0");
29
- }
30
- return BigInt(negative + _stripNonDigits(integer + decimal));
31
- }
32
- function _stripNonDigits(value) {
33
- return value.replace(/\D/g, "");
34
- }
35
- export function decimalize(value, options) {
36
- value = ensureBigInt(value);
37
- if (!options) {
38
- return value.toString();
39
- }
40
- options = typeof options == "number" ? { decimals: options } : options;
41
- options.decimals = options.decimals || 0;
42
- options.decimalMark = options.decimalMark || ".";
43
- const pow = _10n ** BigInt(options.decimals);
44
- const integer = value / pow;
45
- const decimal = value - integer * pow;
46
- return _buildFormattedDecimal(integer.toString(10), decimal.toString(10), options);
47
- }
48
- function _buildFormattedDecimal(integer, decimal, options) {
49
- const integerPart = _addThousandMarks(integer, options.thousandMark);
50
- const decimalPart = _stripTrailingZeros(decimal.padStart(options.decimals, "0"));
51
- if (decimalPart) {
52
- return `${integerPart}${options.decimalMark}${decimalPart}`;
53
- }
54
- else {
55
- return integerPart;
56
- }
57
- }
58
- function _addThousandMarks(value, mark) {
59
- if (!mark) {
60
- return value;
61
- }
62
- return value.replace(/\B(?=(\d{3})+(?!\d))/g, mark);
63
- }
64
- function _stripTrailingZeros(value) {
65
- if (!value.endsWith("0")) {
66
- return value;
67
- }
68
- return value.replace(/\.?0+$/, "");
69
- }
70
- function _removeLeadingZeros(value) {
71
- if (!value.startsWith("0")) {
72
- return value;
73
- }
74
- return value.replace(/^0+\.?/, "");
75
- }
76
- export function sumBy(collection, iteratee, condition) {
77
- let acc = _0n;
78
- if (isEmpty(collection)) {
79
- return acc;
80
- }
81
- for (const item of collection) {
82
- if (isUndefined(condition) || condition(item)) {
83
- acc += iteratee(item);
84
- }
85
- }
86
- return acc;
87
- }
88
- /**
89
- * Converts a hex string to bigint.
90
- * @param hex The hex string to be converted.
91
- * @returns The bigint value represented by the hex string.
92
- */
93
- export function hexToBigInt(hex) {
94
- // https://coolaj86.com/articles/convert-hex-to-decimal-with-js-bigints/
95
- if (hex.length % 2) {
96
- hex = "0" + hex;
97
- }
98
- const value = BigInt("0x" + hex);
99
- const highByte = parseInt(hex.slice(0, 2), 16);
100
- if (0x80 & highByte) {
101
- return -_bitNegate(value); // add two's complement and invert the number to negative
102
- }
103
- return value;
104
- }
105
- /**
106
- * Serializes a `BigInt` to a hex string
107
- * @param value The bigint value to be serialized
108
- * @returns Hex representation for the provided `number`.
109
- */
110
- export function bigIntToHex(value) {
111
- // implementation inspired on
112
- // https://coolaj86.com/articles/convert-decimal-to-hex-with-js-bigints/
113
- const positive = value >= _0n;
114
- if (!positive) {
115
- value = _bitNegate(value);
116
- }
117
- let hex = value.toString(16);
118
- if (hex.length % 2) {
119
- hex = "0" + hex;
120
- }
121
- if (positive && 0x80 & parseInt(hex.slice(0, 2), 16)) {
122
- hex = "00" + hex;
123
- }
124
- return hex;
125
- }
126
- /**
127
- * Returns the two’s complement of a bigint value.
128
- * @param value The bigint value to negate.
129
- * @returns The two’s complement of `number` as a bigint.
130
- */
131
- export function _bitNegate(value) {
132
- const negative = value < _0n;
133
- if (negative) {
134
- value = -value; // turn into a positive number
135
- }
136
- const bits = value.toString(2);
137
- let bitLen = bits.length; // convert to binary
138
- const mod = bitLen % 8;
139
- if (mod > 0) {
140
- bitLen += 8 - mod;
141
- }
142
- else if (negative && first(bits) === "1" && bits.indexOf("1", 1) !== -1) {
143
- bitLen += 8;
144
- }
145
- const mask = (1n << BigInt(bitLen)) - 1n; // create a mask
146
- return (~value & mask) + 1n; // invert bits, mask it, and add one
147
- }
148
- //# sourceMappingURL=bigIntUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bigIntUtils.js","sourceRoot":"","sources":["../../../src/utils/bigIntUtils.ts"],"names":[],"mappings":"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"}
@@ -1,21 +0,0 @@
1
- import { Amount, AmountType, Box, NonMandatoryRegisters, TokenAmount, TokenId } from "../types";
2
- export declare function utxoSum(boxes: MinimalBoxAmounts): BoxSummary;
3
- export declare function utxoSum(boxes: MinimalBoxAmounts, tokenId: TokenId): bigint;
4
- export declare function utxoDiff(minuend: BoxSummary | Box<Amount>[], subtrahend: BoxSummary | Box<Amount>[]): BoxSummary;
5
- export declare function areRegistersDenselyPacked(registers: NonMandatoryRegisters): boolean;
6
- export declare function utxoFilter<T extends AmountType>(utxos: Box<T>[], filterParams: UTxOFilterParams<T>): Box<T>[];
7
- export type UTxOFilterParams<T extends AmountType> = {
8
- by?: (utxo: Box<T>) => boolean;
9
- max?: {
10
- count?: number;
11
- aggregatedDistinctTokens?: number;
12
- };
13
- };
14
- export type BoxSummary = {
15
- nanoErgs: bigint;
16
- tokens: TokenAmount<bigint>[];
17
- };
18
- export type MinimalBoxAmounts = readonly {
19
- value: Amount;
20
- assets: TokenAmount<Amount>[];
21
- }[];
@@ -1,103 +0,0 @@
1
- import { isEmpty } from "./arrayUtils";
2
- import { _0n } from "./bigIntLiterals";
3
- import { ensureBigInt } from "./bigIntUtils";
4
- import { isDefined, isUndefined } from "./objectUtils";
5
- const NANOERGS_TOKEN_ID = "nanoErgs";
6
- export function utxoSum(boxes, tokenId) {
7
- const balances = {};
8
- for (const box of boxes) {
9
- if (isUndefined(tokenId) || tokenId === NANOERGS_TOKEN_ID) {
10
- balances[NANOERGS_TOKEN_ID] = (balances[NANOERGS_TOKEN_ID] || _0n) + ensureBigInt(box.value);
11
- }
12
- if (tokenId !== NANOERGS_TOKEN_ID) {
13
- for (const token of box.assets) {
14
- if (isDefined(tokenId) && tokenId !== token.tokenId) {
15
- continue;
16
- }
17
- balances[token.tokenId] = (balances[token.tokenId] || _0n) + ensureBigInt(token.amount);
18
- }
19
- }
20
- }
21
- if (isDefined(tokenId)) {
22
- return balances[tokenId] || _0n;
23
- }
24
- return {
25
- nanoErgs: balances[NANOERGS_TOKEN_ID] || _0n,
26
- tokens: Object.keys(balances)
27
- .filter((x) => x !== NANOERGS_TOKEN_ID)
28
- .map((tokenId) => ({ tokenId, amount: balances[tokenId] }))
29
- };
30
- }
31
- export function utxoDiff(minuend, subtrahend) {
32
- if (Array.isArray(minuend)) {
33
- minuend = utxoSum(minuend);
34
- }
35
- if (Array.isArray(subtrahend)) {
36
- subtrahend = utxoSum(subtrahend);
37
- }
38
- const tokens = [];
39
- const nanoErgs = minuend.nanoErgs - subtrahend.nanoErgs;
40
- for (const token of minuend.tokens) {
41
- const balance = token.amount - (subtrahend.tokens.find((t) => t.tokenId === token.tokenId)?.amount || _0n);
42
- if (balance !== _0n) {
43
- tokens.push({ tokenId: token.tokenId, amount: balance });
44
- }
45
- }
46
- return { nanoErgs, tokens };
47
- }
48
- const MIN_NON_MANDATORY_REGISTER_INDEX = 4;
49
- const MAX_NON_MANDATORY_REGISTER_INDEX = 9;
50
- export function areRegistersDenselyPacked(registers) {
51
- let lastIndex = 0;
52
- for (let i = MIN_NON_MANDATORY_REGISTER_INDEX; i <= MAX_NON_MANDATORY_REGISTER_INDEX; i++) {
53
- const key = `R${i}`;
54
- if (registers[key]) {
55
- if (i === MIN_NON_MANDATORY_REGISTER_INDEX) {
56
- lastIndex = i;
57
- continue;
58
- }
59
- if (i - lastIndex > 1) {
60
- return false;
61
- }
62
- lastIndex = i;
63
- }
64
- }
65
- return true;
66
- }
67
- export function utxoFilter(utxos, filterParams) {
68
- if (isEmpty(filterParams) || isEmpty(utxos)) {
69
- return utxos;
70
- }
71
- const { by, max } = filterParams;
72
- let filtered = utxos;
73
- if (by) {
74
- filtered = utxos.filter(by);
75
- if (isEmpty(filtered)) {
76
- return filtered;
77
- }
78
- }
79
- if (!max) {
80
- return filtered;
81
- }
82
- if (isDefined(max.aggregatedDistinctTokens)) {
83
- const tokenIds = _getDistinctTokenIds(filtered, max.aggregatedDistinctTokens);
84
- filtered = filtered.filter((utxo) => isEmpty(utxo.assets) || utxo.assets.every((token) => tokenIds.has(token.tokenId)));
85
- }
86
- if (isDefined(max.count) && filtered.length > max.count) {
87
- filtered = filtered.slice(0, max.count);
88
- }
89
- return filtered;
90
- }
91
- function _getDistinctTokenIds(utxos, max) {
92
- const tokenIds = new Set();
93
- for (let i = 0; i < utxos.length && tokenIds.size < max; i++) {
94
- if (isEmpty(utxos[i].assets) || utxos[i].assets.length > max) {
95
- continue;
96
- }
97
- for (const token of utxos[i].assets) {
98
- tokenIds.add(token.tokenId);
99
- }
100
- }
101
- return tokenIds;
102
- }
103
- //# sourceMappingURL=boxUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"boxUtils.js","sourceRoot":"","sources":["../../../src/utils/boxUtils.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- export * from "./arrayUtils";
2
- export * from "./bigIntLiterals";
3
- export * from "./bigIntUtils";
4
- export * from "./boxUtils";
5
- export * from "./objectUtils";
6
- export * from "./stringUtils";
@@ -1,7 +0,0 @@
1
- export * from "./arrayUtils";
2
- export * from "./bigIntLiterals";
3
- export * from "./bigIntUtils";
4
- export * from "./boxUtils";
5
- export * from "./objectUtils";
6
- export * from "./stringUtils";
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC"}
@@ -1,3 +0,0 @@
1
- export declare function removeUndefined(value: Record<string, unknown>): Record<string, unknown>;
2
- export declare function isUndefined(value: unknown): value is undefined;
3
- export declare function isDefined<T>(value: T | undefined): value is T;
@@ -1,17 +0,0 @@
1
- export function removeUndefined(value) {
2
- const result = {};
3
- for (const key in value) {
4
- const val = value[key];
5
- if (!isUndefined(val)) {
6
- result[key] = val;
7
- }
8
- }
9
- return result;
10
- }
11
- export function isUndefined(value) {
12
- return value === undefined || value === null || Number.isNaN(value);
13
- }
14
- export function isDefined(value) {
15
- return !isUndefined(value);
16
- }
17
- //# sourceMappingURL=objectUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"objectUtils.js","sourceRoot":"","sources":["../../../src/utils/objectUtils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,eAAe,CAAC,KAA8B;IAC5D,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;QACvB,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE;YACrB,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;SACnB;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,SAAS,CAAI,KAAoB;IAC/C,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC"}
@@ -1,7 +0,0 @@
1
- export declare function isHex(value?: string): boolean;
2
- /**
3
- * Get hex string size in bytes
4
- * @param hex
5
- * @returns the byte size if the hex string
6
- */
7
- export declare function hexByteSize(hex: string): number;
@@ -1,16 +0,0 @@
1
- const HEX_PATTERN = /^[0-9A-Fa-f]+$/s;
2
- export function isHex(value) {
3
- if (!value) {
4
- return false;
5
- }
6
- return HEX_PATTERN.test(value);
7
- }
8
- /**
9
- * Get hex string size in bytes
10
- * @param hex
11
- * @returns the byte size if the hex string
12
- */
13
- export function hexByteSize(hex) {
14
- return hex.length / 2;
15
- }
16
- //# sourceMappingURL=stringUtils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"stringUtils.js","sourceRoot":"","sources":["../../../src/utils/stringUtils.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG,iBAAiB,CAAC;AAEtC,MAAM,UAAU,KAAK,CAAC,KAAc;IAClC,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,KAAK,CAAC;KACd;IAED,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;AACxB,CAAC"}