@fleet-sdk/common 0.1.2 → 0.1.3
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.
- package/CHANGELOG.md +12 -0
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +1 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/models/collection.d.ts +20 -0
- package/dist/cjs/models/collection.js +76 -0
- package/dist/cjs/models/collection.js.map +1 -0
- package/dist/cjs/models/index.d.ts +1 -0
- package/dist/cjs/models/index.js +18 -0
- package/dist/cjs/models/index.js.map +1 -0
- package/dist/cjs/types/boxes.d.ts +2 -2
- package/dist/cjs/types/common.d.ts +6 -1
- package/dist/cjs/types/common.js +5 -1
- package/dist/cjs/types/common.js.map +1 -1
- package/dist/cjs/types/inputs.d.ts +3 -3
- package/dist/cjs/utils/arrayUtils.d.ts +4 -5
- package/dist/cjs/utils/arrayUtils.js +24 -20
- package/dist/cjs/utils/arrayUtils.js.map +1 -1
- package/dist/cjs/utils/assertions.d.ts +8 -0
- package/dist/cjs/utils/assertions.js +40 -0
- package/dist/cjs/utils/assertions.js.map +1 -0
- package/dist/cjs/utils/bigIntUtils.d.ts +3 -0
- package/dist/cjs/utils/bigIntUtils.js +27 -2
- package/dist/cjs/utils/bigIntUtils.js.map +1 -1
- package/dist/cjs/utils/boxUtils.d.ts +3 -1
- package/dist/cjs/utils/boxUtils.js +17 -6
- package/dist/cjs/utils/boxUtils.js.map +1 -1
- package/dist/cjs/utils/index.d.ts +1 -0
- package/dist/cjs/utils/index.js +1 -0
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/objectUtils.d.ts +1 -0
- package/dist/cjs/utils/objectUtils.js +5 -1
- package/dist/cjs/utils/objectUtils.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/models/collection.d.ts +20 -0
- package/dist/esm/models/collection.js +72 -0
- package/dist/esm/models/collection.js.map +1 -0
- package/dist/esm/models/index.d.ts +1 -0
- package/dist/esm/models/index.js +2 -0
- package/dist/esm/models/index.js.map +1 -0
- package/dist/esm/types/boxes.d.ts +2 -2
- package/dist/esm/types/common.d.ts +6 -1
- package/dist/esm/types/common.js +4 -0
- package/dist/esm/types/common.js.map +1 -1
- package/dist/esm/types/inputs.d.ts +3 -3
- package/dist/esm/utils/arrayUtils.d.ts +4 -5
- package/dist/esm/utils/arrayUtils.js +19 -15
- package/dist/esm/utils/arrayUtils.js.map +1 -1
- package/dist/esm/utils/assertions.d.ts +8 -0
- package/dist/esm/utils/assertions.js +32 -0
- package/dist/esm/utils/assertions.js.map +1 -0
- package/dist/esm/utils/bigIntUtils.d.ts +3 -0
- package/dist/esm/utils/bigIntUtils.js +23 -1
- package/dist/esm/utils/bigIntUtils.js.map +1 -1
- package/dist/esm/utils/boxUtils.d.ts +3 -1
- package/dist/esm/utils/boxUtils.js +11 -1
- package/dist/esm/utils/boxUtils.js.map +1 -1
- package/dist/esm/utils/index.d.ts +1 -0
- package/dist/esm/utils/index.js +1 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/objectUtils.d.ts +1 -0
- package/dist/esm/utils/objectUtils.js +3 -0
- package/dist/esm/utils/objectUtils.js.map +1 -1
- package/dist/tsconfig.esm.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/models/collection.ts +107 -0
- package/src/models/index.ts +1 -0
- package/src/types/boxes.ts +2 -2
- package/src/types/common.ts +10 -3
- package/src/types/inputs.ts +3 -3
- package/src/utils/arrayUtils.ts +22 -21
- package/src/utils/assertions.ts +44 -0
- package/src/utils/bigIntUtils.ts +30 -1
- package/src/utils/boxUtils.ts +25 -2
- package/src/utils/index.ts +1 -0
- package/src/utils/objectUtils.ts +4 -0
package/CHANGELOG.md
CHANGED
@@ -1,5 +1,17 @@
|
|
1
1
|
# @fleet-sdk/common
|
2
2
|
|
3
|
+
## 0.1.3
|
4
|
+
|
5
|
+
### Patch Changes
|
6
|
+
|
7
|
+
- 92d8477: Move `Collection` model from core to common package.
|
8
|
+
- 280308a: Add `hasKey()` function.
|
9
|
+
- e9f4d74: Add `ensureUTxOBigInt()` function.
|
10
|
+
- 40a23b2: Add `percent()` function.
|
11
|
+
- be6364f: Refactored and added new assertion functions.
|
12
|
+
- d59dc22: Fix `first()` function when the first item is equal to zero.
|
13
|
+
- 452f97d: Add `min()` and `max()` utility functions.
|
14
|
+
|
3
15
|
## 0.1.2
|
4
16
|
|
5
17
|
### Patch Changes
|
package/dist/cjs/index.d.ts
CHANGED
package/dist/cjs/index.js
CHANGED
@@ -16,4 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
17
17
|
__exportStar(require("./utils"), exports);
|
18
18
|
__exportStar(require("./types"), exports);
|
19
|
+
__exportStar(require("./models"), exports);
|
19
20
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,0CAAwB"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,0CAAwB;AACxB,2CAAyB"}
|
@@ -0,0 +1,20 @@
|
|
1
|
+
import { OneOrMore } from "../types";
|
2
|
+
export type CollectionAddOptions = {
|
3
|
+
index?: number;
|
4
|
+
};
|
5
|
+
export declare abstract class Collection<InternalType, ExternalType> implements Iterable<InternalType> {
|
6
|
+
protected readonly _items: InternalType[];
|
7
|
+
constructor();
|
8
|
+
protected _isIndexOutOfBounds(index: number): boolean;
|
9
|
+
[Symbol.iterator](): Iterator<InternalType>;
|
10
|
+
get length(): number;
|
11
|
+
get isEmpty(): boolean;
|
12
|
+
at(index: number): InternalType;
|
13
|
+
add(items: OneOrMore<ExternalType>, options?: CollectionAddOptions): number;
|
14
|
+
abstract remove(item: unknown): number;
|
15
|
+
protected abstract _map(item: ExternalType | InternalType): InternalType;
|
16
|
+
protected _addOne(item: InternalType | ExternalType, options?: CollectionAddOptions): number;
|
17
|
+
protected _addOneOrMore(items: OneOrMore<ExternalType>, options?: CollectionAddOptions): number;
|
18
|
+
toArray(): InternalType[];
|
19
|
+
reduce<U>(callbackFn: (accumulator: U, currentValue: InternalType, currentIndex: number, array: InternalType[]) => U, initialValue: U): U;
|
20
|
+
}
|
@@ -0,0 +1,76 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.Collection = void 0;
|
4
|
+
const utils_1 = require("../utils");
|
5
|
+
class Collection {
|
6
|
+
_items;
|
7
|
+
constructor() {
|
8
|
+
this._items = [];
|
9
|
+
}
|
10
|
+
_isIndexOutOfBounds(index) {
|
11
|
+
return index < 0 || index >= this._items.length;
|
12
|
+
}
|
13
|
+
[Symbol.iterator]() {
|
14
|
+
let counter = 0;
|
15
|
+
return {
|
16
|
+
next: () => {
|
17
|
+
return {
|
18
|
+
done: counter >= this.length,
|
19
|
+
value: this._items[counter++]
|
20
|
+
};
|
21
|
+
}
|
22
|
+
};
|
23
|
+
}
|
24
|
+
get length() {
|
25
|
+
return this._items.length;
|
26
|
+
}
|
27
|
+
get isEmpty() {
|
28
|
+
return this.length === 0;
|
29
|
+
}
|
30
|
+
at(index) {
|
31
|
+
if (this._isIndexOutOfBounds(index)) {
|
32
|
+
throw new RangeError(`Index '${index}' is out of range.`);
|
33
|
+
}
|
34
|
+
return this._items[index];
|
35
|
+
}
|
36
|
+
add(items, options) {
|
37
|
+
return this._addOneOrMore(items, options);
|
38
|
+
}
|
39
|
+
_addOne(item, options) {
|
40
|
+
if ((0, utils_1.isDefined)(options) && (0, utils_1.isDefined)(options.index)) {
|
41
|
+
if (options.index === this.length) {
|
42
|
+
this._items.push(this._map(item));
|
43
|
+
return this.length;
|
44
|
+
}
|
45
|
+
if (this._isIndexOutOfBounds(options.index)) {
|
46
|
+
throw new RangeError(`Index '${options.index}' is out of range.`);
|
47
|
+
}
|
48
|
+
this._items.splice(options.index, 0, this._map(item));
|
49
|
+
return this.length;
|
50
|
+
}
|
51
|
+
this._items.push(this._map(item));
|
52
|
+
return this._items.length;
|
53
|
+
}
|
54
|
+
_addOneOrMore(items, options) {
|
55
|
+
if (Array.isArray(items)) {
|
56
|
+
if ((0, utils_1.isDefined)(options) && (0, utils_1.isDefined)(options.index)) {
|
57
|
+
items = items.reverse();
|
58
|
+
}
|
59
|
+
for (const item of items) {
|
60
|
+
this._addOne(item, options);
|
61
|
+
}
|
62
|
+
}
|
63
|
+
else {
|
64
|
+
this._addOne(items, options);
|
65
|
+
}
|
66
|
+
return this.length;
|
67
|
+
}
|
68
|
+
toArray() {
|
69
|
+
return [...this._items];
|
70
|
+
}
|
71
|
+
reduce(callbackFn, initialValue) {
|
72
|
+
return this._items.reduce(callbackFn, initialValue);
|
73
|
+
}
|
74
|
+
}
|
75
|
+
exports.Collection = Collection;
|
76
|
+
//# sourceMappingURL=collection.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"collection.js","sourceRoot":"","sources":["../../../src/models/collection.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from "./collection";
|
@@ -0,0 +1,18 @@
|
|
1
|
+
"use strict";
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
3
|
+
if (k2 === undefined) k2 = k;
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
7
|
+
}
|
8
|
+
Object.defineProperty(o, k2, desc);
|
9
|
+
}) : (function(o, m, k, k2) {
|
10
|
+
if (k2 === undefined) k2 = k;
|
11
|
+
o[k2] = m[k];
|
12
|
+
}));
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
15
|
+
};
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
17
|
+
__exportStar(require("./collection"), exports);
|
18
|
+
//# sourceMappingURL=index.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B"}
|
@@ -1,11 +1,11 @@
|
|
1
|
-
import {
|
1
|
+
import { ErgoTreeHex } from "./common";
|
2
2
|
import { NonMandatoryRegisters } from "./registers";
|
3
3
|
import { TokenAmount } from "./token";
|
4
4
|
import { TransactionId } from "./transactions";
|
5
5
|
export type BoxId = string;
|
6
6
|
export type AmountType = string | bigint;
|
7
7
|
type BoxBaseType<T extends AmountType, R extends NonMandatoryRegisters> = {
|
8
|
-
ergoTree:
|
8
|
+
ergoTree: ErgoTreeHex;
|
9
9
|
creationHeight: number;
|
10
10
|
value: T;
|
11
11
|
assets: TokenAmount<T>[];
|
@@ -1,5 +1,5 @@
|
|
1
1
|
export type HexString = string;
|
2
|
-
export type
|
2
|
+
export type ErgoTreeHex = string;
|
3
3
|
export type Base58String = string;
|
4
4
|
export type Amount = string | bigint;
|
5
5
|
export type OneOrMore<T> = T | T[];
|
@@ -16,3 +16,8 @@ export declare enum AddressType {
|
|
16
16
|
P2SH = 2,
|
17
17
|
P2S = 3
|
18
18
|
}
|
19
|
+
export declare const ergoTreeHeaderFlags: {
|
20
|
+
readonly sizeInclusion: 8;
|
21
|
+
readonly constantSegregation: 16;
|
22
|
+
};
|
23
|
+
export type ErgoTreeHeaderFlag = (typeof ergoTreeHeaderFlags)[keyof typeof ergoTreeHeaderFlags];
|
package/dist/cjs/types/common.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.AddressType = exports.Network = void 0;
|
3
|
+
exports.ergoTreeHeaderFlags = exports.AddressType = exports.Network = void 0;
|
4
4
|
var Network;
|
5
5
|
(function (Network) {
|
6
6
|
Network[Network["Mainnet"] = 0] = "Mainnet";
|
@@ -12,4 +12,8 @@ var AddressType;
|
|
12
12
|
AddressType[AddressType["P2SH"] = 2] = "P2SH";
|
13
13
|
AddressType[AddressType["P2S"] = 3] = "P2S";
|
14
14
|
})(AddressType || (exports.AddressType = AddressType = {}));
|
15
|
+
exports.ergoTreeHeaderFlags = {
|
16
|
+
sizeInclusion: 0x08,
|
17
|
+
constantSegregation: 0x10
|
18
|
+
};
|
15
19
|
//# sourceMappingURL=common.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/types/common.ts"],"names":[],"mappings":";;;AAcA,IAAY,OAGX;AAHD,WAAY,OAAO;IACjB,
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/types/common.ts"],"names":[],"mappings":";;;AAcA,IAAY,OAGX;AAHD,WAAY,OAAO;IACjB,2CAAc,CAAA;IACd,4CAAc,CAAA;AAChB,CAAC,EAHW,OAAO,uBAAP,OAAO,QAGlB;AAED,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,6CAAQ,CAAA;IACR,6CAAQ,CAAA;IACR,2CAAO,CAAA;AACT,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB;AAEY,QAAA,mBAAmB,GAAG;IACjC,aAAa,EAAE,IAAI;IACnB,mBAAmB,EAAE,IAAI;CACjB,CAAC"}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { BoxId } from "./boxes";
|
2
|
-
import {
|
2
|
+
import { ErgoTreeHex } from "./common";
|
3
3
|
import { ContextExtension } from "./contextExtension";
|
4
4
|
import { ProverResult } from "./proverResult";
|
5
5
|
import { NonMandatoryRegisters } from "./registers";
|
@@ -16,7 +16,7 @@ export type UnsignedInput = {
|
|
16
16
|
export type EIP12UnsignedInput = UnsignedInput & {
|
17
17
|
transactionId: TransactionId;
|
18
18
|
index: number;
|
19
|
-
ergoTree:
|
19
|
+
ergoTree: ErgoTreeHex;
|
20
20
|
creationHeight: number;
|
21
21
|
value: string;
|
22
22
|
assets: TokenAmount<string>[];
|
@@ -26,7 +26,7 @@ export type EIP12UnsignedDataInput = {
|
|
26
26
|
boxId: BoxId;
|
27
27
|
transactionId: TransactionId;
|
28
28
|
index: number;
|
29
|
-
ergoTree:
|
29
|
+
ergoTree: ErgoTreeHex;
|
30
30
|
creationHeight: number;
|
31
31
|
value: string;
|
32
32
|
assets: TokenAmount<string>[];
|
@@ -1,12 +1,11 @@
|
|
1
1
|
import { SortingDirection, SortingSelector } from "../types";
|
2
2
|
type ObjectSelector<T> = (item: T) => T[keyof T];
|
3
|
-
export declare function isEmpty<T extends object>(obj?: T): obj is undefined;
|
4
|
-
export declare function isEmpty<T>(array?: T[]): array is undefined;
|
5
|
-
export declare function some<T extends object>(obj?: T): obj is T;
|
6
|
-
export declare function some<T>(array?: T[]): array is T[];
|
7
3
|
export declare function first(array: undefined): undefined;
|
8
|
-
export declare function first(array: Uint8Array): number;
|
9
4
|
export declare function first<T>(array: ArrayLike<T>): T;
|
5
|
+
export declare function last(array: undefined): undefined;
|
6
|
+
export declare function last<T>(array: ArrayLike<T>): T;
|
7
|
+
export declare function at(array: undefined, index: number): undefined;
|
8
|
+
export declare function at<T>(array: ArrayLike<T>, index: number): T;
|
10
9
|
/**
|
11
10
|
* Check for duplicate elements using the equality operator
|
12
11
|
*/
|
@@ -1,27 +1,31 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.uniqBy = exports.uniq = exports.endsWith = exports.startsWith = exports.areEqualBy = exports.areEqual = exports.orderBy = exports.chunk = exports.hasDuplicatesBy = exports.hasDuplicates = exports.
|
4
|
-
|
5
|
-
if (!obj) {
|
6
|
-
return true;
|
7
|
-
}
|
8
|
-
return Array.isArray(obj) ? obj.length === 0 : Object.keys(obj).length === 0;
|
9
|
-
}
|
10
|
-
exports.isEmpty = isEmpty;
|
11
|
-
function some(obj) {
|
12
|
-
return !isEmpty(obj);
|
13
|
-
}
|
14
|
-
exports.some = some;
|
3
|
+
exports.uniqBy = exports.uniq = exports.endsWith = exports.startsWith = exports.areEqualBy = exports.areEqual = exports.orderBy = exports.chunk = exports.hasDuplicatesBy = exports.hasDuplicates = exports.at = exports.last = exports.first = void 0;
|
4
|
+
const assertions_1 = require("./assertions");
|
15
5
|
function first(array) {
|
16
|
-
if (!array)
|
17
|
-
return;
|
18
|
-
|
19
|
-
if (!array[0]) {
|
20
|
-
throw Error("Empty array.");
|
21
|
-
}
|
6
|
+
if (!array)
|
7
|
+
return undefined;
|
8
|
+
(0, assertions_1.assert)(array.length > 0, "Empty array.");
|
22
9
|
return array[0];
|
23
10
|
}
|
24
11
|
exports.first = first;
|
12
|
+
function last(array) {
|
13
|
+
if (!array)
|
14
|
+
return undefined;
|
15
|
+
(0, assertions_1.assert)(array.length > 0, "Empty array.");
|
16
|
+
return at(array, -1);
|
17
|
+
}
|
18
|
+
exports.last = last;
|
19
|
+
function at(array, index) {
|
20
|
+
const len = array?.length;
|
21
|
+
if (!len)
|
22
|
+
return undefined;
|
23
|
+
if (index < 0) {
|
24
|
+
index += len;
|
25
|
+
}
|
26
|
+
return array[index];
|
27
|
+
}
|
28
|
+
exports.at = at;
|
25
29
|
/**
|
26
30
|
* Check for duplicate elements using the equality operator
|
27
31
|
*/
|
@@ -127,14 +131,14 @@ function endsWith(array, target) {
|
|
127
131
|
}
|
128
132
|
exports.endsWith = endsWith;
|
129
133
|
function uniq(array) {
|
130
|
-
if (isEmpty(array)) {
|
134
|
+
if ((0, assertions_1.isEmpty)(array)) {
|
131
135
|
return array;
|
132
136
|
}
|
133
137
|
return Array.from(new Set(array));
|
134
138
|
}
|
135
139
|
exports.uniq = uniq;
|
136
140
|
function uniqBy(array, selector, selection = "keep-first") {
|
137
|
-
if (isEmpty(array)) {
|
141
|
+
if ((0, assertions_1.isEmpty)(array)) {
|
138
142
|
return array;
|
139
143
|
}
|
140
144
|
return Array.from(array
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"arrayUtils.js","sourceRoot":"","sources":["../../../src/utils/arrayUtils.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"arrayUtils.js","sourceRoot":"","sources":["../../../src/utils/arrayUtils.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
export type AssertErrorMessageInput = string | Error | (() => string);
|
2
|
+
export declare function assert(condition: boolean, errorMsg: AssertErrorMessageInput): asserts condition;
|
3
|
+
export declare function isEmpty<T extends object>(obj?: T): obj is undefined;
|
4
|
+
export declare function isEmpty<T>(array?: T[]): array is undefined;
|
5
|
+
export declare function some<T extends object>(obj?: T): obj is T;
|
6
|
+
export declare function some<T>(array?: T[]): array is T[];
|
7
|
+
export declare function isTruthy<T>(v?: T): v is NonNullable<T>;
|
8
|
+
export declare function isFalsy<T>(v?: T): v is undefined;
|
@@ -0,0 +1,40 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.isFalsy = exports.isTruthy = exports.some = exports.isEmpty = exports.assert = void 0;
|
4
|
+
function assert(condition, errorMsg) {
|
5
|
+
if (!condition) {
|
6
|
+
let error = undefined;
|
7
|
+
switch (typeof errorMsg) {
|
8
|
+
case "string":
|
9
|
+
error = new Error(errorMsg);
|
10
|
+
break;
|
11
|
+
case "function":
|
12
|
+
error = new Error(errorMsg());
|
13
|
+
break;
|
14
|
+
default:
|
15
|
+
error = errorMsg;
|
16
|
+
}
|
17
|
+
throw error;
|
18
|
+
}
|
19
|
+
}
|
20
|
+
exports.assert = assert;
|
21
|
+
function isEmpty(obj) {
|
22
|
+
if (!obj) {
|
23
|
+
return true;
|
24
|
+
}
|
25
|
+
return Array.isArray(obj) ? obj.length === 0 : Object.keys(obj).length === 0;
|
26
|
+
}
|
27
|
+
exports.isEmpty = isEmpty;
|
28
|
+
function some(obj) {
|
29
|
+
return !isEmpty(obj);
|
30
|
+
}
|
31
|
+
exports.some = some;
|
32
|
+
function isTruthy(v) {
|
33
|
+
return Boolean(v);
|
34
|
+
}
|
35
|
+
exports.isTruthy = isTruthy;
|
36
|
+
function isFalsy(v) {
|
37
|
+
return !isTruthy(v);
|
38
|
+
}
|
39
|
+
exports.isFalsy = isFalsy;
|
40
|
+
//# sourceMappingURL=assertions.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"assertions.js","sourceRoot":"","sources":["../../../src/utils/assertions.ts"],"names":[],"mappings":";;;AAEA,SAAgB,MAAM,CAAC,SAAkB,EAAE,QAAiC;IAC1E,IAAI,CAAC,SAAS,EAAE;QACd,IAAI,KAAK,GAAsB,SAAS,CAAC;QAEzC,QAAQ,OAAO,QAAQ,EAAE;YACvB,KAAK,QAAQ;gBACX,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAC5B,MAAM;YACR,KAAK,UAAU;gBACb,KAAK,GAAG,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAC9B,MAAM;YACR;gBACE,KAAK,GAAG,QAAQ,CAAC;SACpB;QAED,MAAM,KAAK,CAAC;KACb;AACH,CAAC;AAjBD,wBAiBC;AAID,SAAgB,OAAO,CAAI,GAAkB;IAC3C,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,IAAI,CAAC;KACb;IAED,OAAO,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;AAC/E,CAAC;AAND,0BAMC;AAID,SAAgB,IAAI,CAAI,GAAkB;IACxC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC;AAFD,oBAEC;AAED,SAAgB,QAAQ,CAAI,CAAK;IAC/B,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAFD,4BAEC;AAED,SAAgB,OAAO,CAAI,CAAK;IAC9B,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC;AAFD,0BAEC"}
|
@@ -29,6 +29,7 @@ type FormattingOptions = {
|
|
29
29
|
decimalMark?: string;
|
30
30
|
};
|
31
31
|
export declare function decimalize(value: Amount, options?: FormattingOptions | number): string;
|
32
|
+
export declare function percent(value: bigint, percentage: bigint, precision?: bigint): bigint;
|
32
33
|
export declare function sumBy<T>(collection: readonly T[], iteratee: (value: T) => bigint, condition?: (value: T) => boolean): bigint;
|
33
34
|
/**
|
34
35
|
* Converts a hex string to bigint.
|
@@ -48,4 +49,6 @@ export declare function bigIntToHex(value: bigint): string;
|
|
48
49
|
* @returns The two’s complement of `number` as a bigint.
|
49
50
|
*/
|
50
51
|
export declare function _bitNegate(value: bigint): bigint;
|
52
|
+
export declare function min<T extends bigint | number>(...numbers: T[]): T;
|
53
|
+
export declare function max<T extends bigint | number>(...numbers: T[]): T;
|
51
54
|
export {};
|
@@ -1,7 +1,8 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports._bitNegate = exports.bigIntToHex = exports.hexToBigInt = exports.sumBy = exports.decimalize = exports.undecimalize = exports.ensureBigInt = void 0;
|
3
|
+
exports.max = exports.min = exports._bitNegate = exports.bigIntToHex = exports.hexToBigInt = exports.sumBy = exports.percent = exports.decimalize = exports.undecimalize = exports.ensureBigInt = void 0;
|
4
4
|
const arrayUtils_1 = require("./arrayUtils");
|
5
|
+
const assertions_1 = require("./assertions");
|
5
6
|
const bigIntLiterals_1 = require("./bigIntLiterals");
|
6
7
|
const objectUtils_1 = require("./objectUtils");
|
7
8
|
function ensureBigInt(number) {
|
@@ -51,6 +52,10 @@ function decimalize(value, options) {
|
|
51
52
|
return _buildFormattedDecimal(integer.toString(10), decimal.toString(10), options);
|
52
53
|
}
|
53
54
|
exports.decimalize = decimalize;
|
55
|
+
function percent(value, percentage, precision = 2n) {
|
56
|
+
return (value * percentage) / 10n ** precision;
|
57
|
+
}
|
58
|
+
exports.percent = percent;
|
54
59
|
function _buildFormattedDecimal(integer, decimal, options) {
|
55
60
|
const integerPart = _addThousandMarks(integer, options.thousandMark);
|
56
61
|
const decimalPart = _stripTrailingZeros(decimal.padStart(options.decimals, "0"));
|
@@ -81,7 +86,7 @@ function _removeLeadingZeros(value) {
|
|
81
86
|
}
|
82
87
|
function sumBy(collection, iteratee, condition) {
|
83
88
|
let acc = bigIntLiterals_1._0n;
|
84
|
-
if ((0,
|
89
|
+
if ((0, assertions_1.isEmpty)(collection)) {
|
85
90
|
return acc;
|
86
91
|
}
|
87
92
|
for (const item of collection) {
|
@@ -155,4 +160,24 @@ function _bitNegate(value) {
|
|
155
160
|
return (~value & mask) + 1n; // invert bits, mask it, and add one
|
156
161
|
}
|
157
162
|
exports._bitNegate = _bitNegate;
|
163
|
+
function min(...numbers) {
|
164
|
+
let min = (0, arrayUtils_1.first)(numbers);
|
165
|
+
for (const num of numbers) {
|
166
|
+
if (num < min) {
|
167
|
+
min = num;
|
168
|
+
}
|
169
|
+
}
|
170
|
+
return min;
|
171
|
+
}
|
172
|
+
exports.min = min;
|
173
|
+
function max(...numbers) {
|
174
|
+
let max = (0, arrayUtils_1.first)(numbers);
|
175
|
+
for (const num of numbers) {
|
176
|
+
if (num > max) {
|
177
|
+
max = num;
|
178
|
+
}
|
179
|
+
}
|
180
|
+
return max;
|
181
|
+
}
|
182
|
+
exports.max = max;
|
158
183
|
//# sourceMappingURL=bigIntUtils.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"bigIntUtils.js","sourceRoot":"","sources":["../../../src/utils/bigIntUtils.ts"],"names":[],"mappings":";;;AACA,
|
1
|
+
{"version":3,"file":"bigIntUtils.js","sourceRoot":"","sources":["../../../src/utils/bigIntUtils.ts"],"names":[],"mappings":"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"}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Amount, AmountType, Box, NonMandatoryRegisters, TokenAmount, TokenId } from "../types";
|
1
|
+
import { Amount, AmountType, Box, BoxCandidate, NonMandatoryRegisters, TokenAmount, TokenId } from "../types";
|
2
2
|
export declare function utxoSum(boxes: MinimalBoxAmounts): BoxSummary;
|
3
3
|
export declare function utxoSum(boxes: MinimalBoxAmounts, tokenId: TokenId): bigint;
|
4
4
|
export declare function utxoDiff(minuend: BoxSummary | Box<Amount>[], subtrahend: BoxSummary | Box<Amount>[]): BoxSummary;
|
@@ -19,3 +19,5 @@ export type MinimalBoxAmounts = readonly {
|
|
19
19
|
value: Amount;
|
20
20
|
assets: TokenAmount<Amount>[];
|
21
21
|
}[];
|
22
|
+
export declare function ensureUTxOBigInt(box: Box<Amount>): Box<bigint>;
|
23
|
+
export declare function ensureUTxOBigInt(candidate: BoxCandidate<Amount>): BoxCandidate<bigint>;
|
@@ -1,7 +1,7 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.utxoFilter = exports.areRegistersDenselyPacked = exports.utxoDiff = exports.utxoSum = void 0;
|
4
|
-
const
|
3
|
+
exports.ensureUTxOBigInt = exports.utxoFilter = exports.areRegistersDenselyPacked = exports.utxoDiff = exports.utxoSum = void 0;
|
4
|
+
const assertions_1 = require("./assertions");
|
5
5
|
const bigIntLiterals_1 = require("./bigIntLiterals");
|
6
6
|
const bigIntUtils_1 = require("./bigIntUtils");
|
7
7
|
const objectUtils_1 = require("./objectUtils");
|
@@ -71,14 +71,14 @@ function areRegistersDenselyPacked(registers) {
|
|
71
71
|
}
|
72
72
|
exports.areRegistersDenselyPacked = areRegistersDenselyPacked;
|
73
73
|
function utxoFilter(utxos, filterParams) {
|
74
|
-
if ((0,
|
74
|
+
if ((0, assertions_1.isEmpty)(filterParams) || (0, assertions_1.isEmpty)(utxos)) {
|
75
75
|
return utxos;
|
76
76
|
}
|
77
77
|
const { by, max } = filterParams;
|
78
78
|
let filtered = utxos;
|
79
79
|
if (by) {
|
80
80
|
filtered = utxos.filter(by);
|
81
|
-
if ((0,
|
81
|
+
if ((0, assertions_1.isEmpty)(filtered)) {
|
82
82
|
return filtered;
|
83
83
|
}
|
84
84
|
}
|
@@ -87,7 +87,7 @@ function utxoFilter(utxos, filterParams) {
|
|
87
87
|
}
|
88
88
|
if ((0, objectUtils_1.isDefined)(max.aggregatedDistinctTokens)) {
|
89
89
|
const tokenIds = _getDistinctTokenIds(filtered, max.aggregatedDistinctTokens);
|
90
|
-
filtered = filtered.filter((utxo) => (0,
|
90
|
+
filtered = filtered.filter((utxo) => (0, assertions_1.isEmpty)(utxo.assets) || utxo.assets.every((token) => tokenIds.has(token.tokenId)));
|
91
91
|
}
|
92
92
|
if ((0, objectUtils_1.isDefined)(max.count) && filtered.length > max.count) {
|
93
93
|
filtered = filtered.slice(0, max.count);
|
@@ -98,7 +98,7 @@ exports.utxoFilter = utxoFilter;
|
|
98
98
|
function _getDistinctTokenIds(utxos, max) {
|
99
99
|
const tokenIds = new Set();
|
100
100
|
for (let i = 0; i < utxos.length && tokenIds.size < max; i++) {
|
101
|
-
if ((0,
|
101
|
+
if ((0, assertions_1.isEmpty)(utxos[i].assets) || utxos[i].assets.length > max) {
|
102
102
|
continue;
|
103
103
|
}
|
104
104
|
for (const token of utxos[i].assets) {
|
@@ -107,4 +107,15 @@ function _getDistinctTokenIds(utxos, max) {
|
|
107
107
|
}
|
108
108
|
return tokenIds;
|
109
109
|
}
|
110
|
+
function ensureUTxOBigInt(box) {
|
111
|
+
return {
|
112
|
+
...box,
|
113
|
+
value: (0, bigIntUtils_1.ensureBigInt)(box.value),
|
114
|
+
assets: box.assets.map((token) => ({
|
115
|
+
tokenId: token.tokenId,
|
116
|
+
amount: (0, bigIntUtils_1.ensureBigInt)(token.amount)
|
117
|
+
}))
|
118
|
+
};
|
119
|
+
}
|
120
|
+
exports.ensureUTxOBigInt = ensureUTxOBigInt;
|
110
121
|
//# sourceMappingURL=boxUtils.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"boxUtils.js","sourceRoot":"","sources":["../../../src/utils/boxUtils.ts"],"names":[],"mappings":";;;
|
1
|
+
{"version":3,"file":"boxUtils.js","sourceRoot":"","sources":["../../../src/utils/boxUtils.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/utils/index.js
CHANGED
@@ -20,4 +20,5 @@ __exportStar(require("./bigIntUtils"), exports);
|
|
20
20
|
__exportStar(require("./boxUtils"), exports);
|
21
21
|
__exportStar(require("./objectUtils"), exports);
|
22
22
|
__exportStar(require("./stringUtils"), exports);
|
23
|
+
__exportStar(require("./assertions"), exports);
|
23
24
|
//# sourceMappingURL=index.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,mDAAiC;AACjC,gDAA8B;AAC9B,6CAA2B;AAC3B,gDAA8B;AAC9B,gDAA8B"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,mDAAiC;AACjC,gDAA8B;AAC9B,6CAA2B;AAC3B,gDAA8B;AAC9B,gDAA8B;AAC9B,+CAA6B"}
|
@@ -1,3 +1,4 @@
|
|
1
1
|
export declare function removeUndefined(value: Record<string, unknown>): Record<string, unknown>;
|
2
2
|
export declare function isUndefined(value: unknown): value is undefined;
|
3
3
|
export declare function isDefined<T>(value: T | undefined): value is T;
|
4
|
+
export declare function hasKey(o: unknown, key: PropertyKey): boolean;
|