@fleet-sdk/common 0.1.1 → 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 +18 -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
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.isDefined = exports.isUndefined = exports.removeUndefined = void 0;
|
3
|
+
exports.hasKey = exports.isDefined = exports.isUndefined = exports.removeUndefined = void 0;
|
4
4
|
function removeUndefined(value) {
|
5
5
|
const result = {};
|
6
6
|
for (const key in value) {
|
@@ -20,4 +20,8 @@ function isDefined(value) {
|
|
20
20
|
return !isUndefined(value);
|
21
21
|
}
|
22
22
|
exports.isDefined = isDefined;
|
23
|
+
function hasKey(o, key) {
|
24
|
+
return Object.prototype.hasOwnProperty.call(o, key);
|
25
|
+
}
|
26
|
+
exports.hasKey = hasKey;
|
23
27
|
//# sourceMappingURL=objectUtils.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"objectUtils.js","sourceRoot":"","sources":["../../../src/utils/objectUtils.ts"],"names":[],"mappings":";;;AAAA,SAAgB,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;AAVD,0CAUC;AAED,SAAgB,WAAW,CAAC,KAAc;IACxC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACtE,CAAC;AAFD,kCAEC;AAED,SAAgB,SAAS,CAAI,KAAoB;IAC/C,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAFD,8BAEC"}
|
1
|
+
{"version":3,"file":"objectUtils.js","sourceRoot":"","sources":["../../../src/utils/objectUtils.ts"],"names":[],"mappings":";;;AAAA,SAAgB,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;AAVD,0CAUC;AAED,SAAgB,WAAW,CAAC,KAAc;IACxC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;AACtE,CAAC;AAFD,kCAEC;AAED,SAAgB,SAAS,CAAI,KAAoB;IAC/C,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAFD,8BAEC;AAED,SAAgB,MAAM,CAAC,CAAU,EAAE,GAAgB;IACjD,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACtD,CAAC;AAFD,wBAEC"}
|
package/dist/esm/index.d.ts
CHANGED
package/dist/esm/index.js
CHANGED
package/dist/esm/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC"}
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC"}
|
@@ -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,72 @@
|
|
1
|
+
import { isDefined } from "../utils";
|
2
|
+
export class Collection {
|
3
|
+
_items;
|
4
|
+
constructor() {
|
5
|
+
this._items = [];
|
6
|
+
}
|
7
|
+
_isIndexOutOfBounds(index) {
|
8
|
+
return index < 0 || index >= this._items.length;
|
9
|
+
}
|
10
|
+
[Symbol.iterator]() {
|
11
|
+
let counter = 0;
|
12
|
+
return {
|
13
|
+
next: () => {
|
14
|
+
return {
|
15
|
+
done: counter >= this.length,
|
16
|
+
value: this._items[counter++]
|
17
|
+
};
|
18
|
+
}
|
19
|
+
};
|
20
|
+
}
|
21
|
+
get length() {
|
22
|
+
return this._items.length;
|
23
|
+
}
|
24
|
+
get isEmpty() {
|
25
|
+
return this.length === 0;
|
26
|
+
}
|
27
|
+
at(index) {
|
28
|
+
if (this._isIndexOutOfBounds(index)) {
|
29
|
+
throw new RangeError(`Index '${index}' is out of range.`);
|
30
|
+
}
|
31
|
+
return this._items[index];
|
32
|
+
}
|
33
|
+
add(items, options) {
|
34
|
+
return this._addOneOrMore(items, options);
|
35
|
+
}
|
36
|
+
_addOne(item, options) {
|
37
|
+
if (isDefined(options) && isDefined(options.index)) {
|
38
|
+
if (options.index === this.length) {
|
39
|
+
this._items.push(this._map(item));
|
40
|
+
return this.length;
|
41
|
+
}
|
42
|
+
if (this._isIndexOutOfBounds(options.index)) {
|
43
|
+
throw new RangeError(`Index '${options.index}' is out of range.`);
|
44
|
+
}
|
45
|
+
this._items.splice(options.index, 0, this._map(item));
|
46
|
+
return this.length;
|
47
|
+
}
|
48
|
+
this._items.push(this._map(item));
|
49
|
+
return this._items.length;
|
50
|
+
}
|
51
|
+
_addOneOrMore(items, options) {
|
52
|
+
if (Array.isArray(items)) {
|
53
|
+
if (isDefined(options) && isDefined(options.index)) {
|
54
|
+
items = items.reverse();
|
55
|
+
}
|
56
|
+
for (const item of items) {
|
57
|
+
this._addOne(item, options);
|
58
|
+
}
|
59
|
+
}
|
60
|
+
else {
|
61
|
+
this._addOne(items, options);
|
62
|
+
}
|
63
|
+
return this.length;
|
64
|
+
}
|
65
|
+
toArray() {
|
66
|
+
return [...this._items];
|
67
|
+
}
|
68
|
+
reduce(callbackFn, initialValue) {
|
69
|
+
return this._items.reduce(callbackFn, initialValue);
|
70
|
+
}
|
71
|
+
}
|
72
|
+
//# 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 @@
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC"}
|
@@ -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/esm/types/common.js
CHANGED
@@ -9,4 +9,8 @@ export var AddressType;
|
|
9
9
|
AddressType[AddressType["P2SH"] = 2] = "P2SH";
|
10
10
|
AddressType[AddressType["P2S"] = 3] = "P2S";
|
11
11
|
})(AddressType || (AddressType = {}));
|
12
|
+
export const ergoTreeHeaderFlags = {
|
13
|
+
sizeInclusion: 0x08,
|
14
|
+
constantSegregation: 0x10
|
15
|
+
};
|
12
16
|
//# sourceMappingURL=common.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/types/common.ts"],"names":[],"mappings":"AAcA,MAAM,CAAN,IAAY,OAGX;AAHD,WAAY,OAAO;IACjB,
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/types/common.ts"],"names":[],"mappings":"AAcA,MAAM,CAAN,IAAY,OAGX;AAHD,WAAY,OAAO;IACjB,2CAAc,CAAA;IACd,4CAAc,CAAA;AAChB,CAAC,EAHW,OAAO,KAAP,OAAO,QAGlB;AAED,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,6CAAQ,CAAA;IACR,6CAAQ,CAAA;IACR,2CAAO,CAAA;AACT,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AAED,MAAM,CAAC,MAAM,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,21 +1,25 @@
|
|
1
|
-
|
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
|
-
}
|
1
|
+
import { assert, isEmpty } from "./assertions";
|
10
2
|
export function first(array) {
|
11
|
-
if (!array)
|
12
|
-
return;
|
13
|
-
|
14
|
-
if (!array[0]) {
|
15
|
-
throw Error("Empty array.");
|
16
|
-
}
|
3
|
+
if (!array)
|
4
|
+
return undefined;
|
5
|
+
assert(array.length > 0, "Empty array.");
|
17
6
|
return array[0];
|
18
7
|
}
|
8
|
+
export function last(array) {
|
9
|
+
if (!array)
|
10
|
+
return undefined;
|
11
|
+
assert(array.length > 0, "Empty array.");
|
12
|
+
return at(array, -1);
|
13
|
+
}
|
14
|
+
export function at(array, index) {
|
15
|
+
const len = array?.length;
|
16
|
+
if (!len)
|
17
|
+
return undefined;
|
18
|
+
if (index < 0) {
|
19
|
+
index += len;
|
20
|
+
}
|
21
|
+
return array[index];
|
22
|
+
}
|
19
23
|
/**
|
20
24
|
* Check for duplicate elements using the equality operator
|
21
25
|
*/
|
@@ -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,32 @@
|
|
1
|
+
export function assert(condition, errorMsg) {
|
2
|
+
if (!condition) {
|
3
|
+
let error = undefined;
|
4
|
+
switch (typeof errorMsg) {
|
5
|
+
case "string":
|
6
|
+
error = new Error(errorMsg);
|
7
|
+
break;
|
8
|
+
case "function":
|
9
|
+
error = new Error(errorMsg());
|
10
|
+
break;
|
11
|
+
default:
|
12
|
+
error = errorMsg;
|
13
|
+
}
|
14
|
+
throw error;
|
15
|
+
}
|
16
|
+
}
|
17
|
+
export function isEmpty(obj) {
|
18
|
+
if (!obj) {
|
19
|
+
return true;
|
20
|
+
}
|
21
|
+
return Array.isArray(obj) ? obj.length === 0 : Object.keys(obj).length === 0;
|
22
|
+
}
|
23
|
+
export function some(obj) {
|
24
|
+
return !isEmpty(obj);
|
25
|
+
}
|
26
|
+
export function isTruthy(v) {
|
27
|
+
return Boolean(v);
|
28
|
+
}
|
29
|
+
export function isFalsy(v) {
|
30
|
+
return !isTruthy(v);
|
31
|
+
}
|
32
|
+
//# sourceMappingURL=assertions.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"assertions.js","sourceRoot":"","sources":["../../../src/utils/assertions.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,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;AAID,MAAM,UAAU,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;AAID,MAAM,UAAU,IAAI,CAAI,GAAkB;IACxC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,QAAQ,CAAI,CAAK;IAC/B,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,OAAO,CAAI,CAAK;IAC9B,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC"}
|
@@ -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,4 +1,5 @@
|
|
1
|
-
import { first
|
1
|
+
import { first } from "./arrayUtils";
|
2
|
+
import { isEmpty } from "./assertions";
|
2
3
|
import { _0n, _10n } from "./bigIntLiterals";
|
3
4
|
import { isUndefined } from "./objectUtils";
|
4
5
|
export function ensureBigInt(number) {
|
@@ -45,6 +46,9 @@ export function decimalize(value, options) {
|
|
45
46
|
const decimal = value - integer * pow;
|
46
47
|
return _buildFormattedDecimal(integer.toString(10), decimal.toString(10), options);
|
47
48
|
}
|
49
|
+
export function percent(value, percentage, precision = 2n) {
|
50
|
+
return (value * percentage) / 10n ** precision;
|
51
|
+
}
|
48
52
|
function _buildFormattedDecimal(integer, decimal, options) {
|
49
53
|
const integerPart = _addThousandMarks(integer, options.thousandMark);
|
50
54
|
const decimalPart = _stripTrailingZeros(decimal.padStart(options.decimals, "0"));
|
@@ -145,4 +149,22 @@ export function _bitNegate(value) {
|
|
145
149
|
const mask = (1n << BigInt(bitLen)) - 1n; // create a mask
|
146
150
|
return (~value & mask) + 1n; // invert bits, mask it, and add one
|
147
151
|
}
|
152
|
+
export function min(...numbers) {
|
153
|
+
let min = first(numbers);
|
154
|
+
for (const num of numbers) {
|
155
|
+
if (num < min) {
|
156
|
+
min = num;
|
157
|
+
}
|
158
|
+
}
|
159
|
+
return min;
|
160
|
+
}
|
161
|
+
export function max(...numbers) {
|
162
|
+
let max = first(numbers);
|
163
|
+
for (const num of numbers) {
|
164
|
+
if (num > max) {
|
165
|
+
max = num;
|
166
|
+
}
|
167
|
+
}
|
168
|
+
return max;
|
169
|
+
}
|
148
170
|
//# sourceMappingURL=bigIntUtils.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"bigIntUtils.js","sourceRoot":"","sources":["../../../src/utils/bigIntUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;
|
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,4 +1,4 @@
|
|
1
|
-
import { isEmpty } from "./
|
1
|
+
import { isEmpty } from "./assertions";
|
2
2
|
import { _0n } from "./bigIntLiterals";
|
3
3
|
import { ensureBigInt } from "./bigIntUtils";
|
4
4
|
import { isDefined, isUndefined } from "./objectUtils";
|
@@ -100,4 +100,14 @@ function _getDistinctTokenIds(utxos, max) {
|
|
100
100
|
}
|
101
101
|
return tokenIds;
|
102
102
|
}
|
103
|
+
export function ensureUTxOBigInt(box) {
|
104
|
+
return {
|
105
|
+
...box,
|
106
|
+
value: ensureBigInt(box.value),
|
107
|
+
assets: box.assets.map((token) => ({
|
108
|
+
tokenId: token.tokenId,
|
109
|
+
amount: ensureBigInt(token.amount)
|
110
|
+
}))
|
111
|
+
};
|
112
|
+
}
|
103
113
|
//# 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":"AASA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEvD,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAIrC,MAAM,UAAU,OAAO,CAAC,KAAwB,EAAE,OAAiB;IACjE,MAAM,QAAQ,GAAkC,EAAE,CAAC;IAEnD,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE;QACvB,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,iBAAiB,EAAE;YACzD,QAAQ,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SAC9F;QAED,IAAI,OAAO,KAAK,iBAAiB,EAAE;YACjC,KAAK,MAAM,KAAK,IAAI,GAAG,CAAC,MAAM,EAAE;gBAC9B,IAAI,SAAS,CAAC,OAAO,CAAC,IAAI,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE;oBACnD,SAAS;iBACV;gBAED,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;aACzF;SACF;KACF;IAED,IAAI,SAAS,CAAC,OAAO,CAAC,EAAE;QACtB,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC;KACjC;IAED,OAAO;QACL,QAAQ,EAAE,QAAQ,CAAC,iBAAiB,CAAC,IAAI,GAAG;QAC5C,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC;aAC1B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,iBAAiB,CAAC;aACtC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;KAC9D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,QAAQ,CACtB,OAAmC,EACnC,UAAsC;IAEtC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QAC1B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;KAC5B;IAED,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QAC7B,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;KAClC;IAED,MAAM,MAAM,GAA0B,EAAE,CAAC;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IAExD,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE;QAClC,MAAM,OAAO,GACX,KAAK,CAAC,MAAM,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,GAAG,CAAC,CAAC;QAE7F,IAAI,OAAO,KAAK,GAAG,EAAE;YACnB,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;SAC1D;KACF;IAED,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,gCAAgC,GAAG,CAAC,CAAC;AAC3C,MAAM,gCAAgC,GAAG,CAAC,CAAC;AAE3C,MAAM,UAAU,yBAAyB,CAAC,SAAgC;IACxE,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,KAAK,IAAI,CAAC,GAAG,gCAAgC,EAAE,CAAC,IAAI,gCAAgC,EAAE,CAAC,EAAE,EAAE;QACzF,MAAM,GAAG,GAAG,IAAI,CAAC,EAAiC,CAAC;QACnD,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE;YAClB,IAAI,CAAC,KAAK,gCAAgC,EAAE;gBAC1C,SAAS,GAAG,CAAC,CAAC;gBACd,SAAS;aACV;YAED,IAAI,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE;gBACrB,OAAO,KAAK,CAAC;aACd;YAED,SAAS,GAAG,CAAC,CAAC;SACf;KACF;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,UAAU,CACxB,KAAe,EACf,YAAiC;IAEjC,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE;QAC3C,OAAO,KAAK,CAAC;KACd;IAED,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC;IACjC,IAAI,QAAQ,GAAG,KAAK,CAAC;IAErB,IAAI,EAAE,EAAE;QACN,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC5B,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;YACrB,OAAO,QAAQ,CAAC;SACjB;KACF;IAED,IAAI,CAAC,GAAG,EAAE;QACR,OAAO,QAAQ,CAAC;KACjB;IAED,IAAI,SAAS,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE;QAC3C,MAAM,QAAQ,GAAG,oBAAoB,CAAC,QAAQ,EAAE,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAC9E,QAAQ,GAAG,QAAQ,CAAC,MAAM,CACxB,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAC5F,CAAC;KACH;IAED,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,KAAK,EAAE;QACvD,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;KACzC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAwB,EAAE,GAAW;IACjE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;QAC5D,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE;YAC5D,SAAS;SACV;QAED,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;YACnC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAC7B;KACF;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC;AAsBD,MAAM,UAAU,gBAAgB,CAC9B,GAAuC;IAEvC,OAAO;QACL,GAAG,GAAG;QACN,KAAK,EAAE,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC;QAC9B,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACjC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,MAAM,EAAE,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC;SACnC,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC"}
|
package/dist/esm/utils/index.js
CHANGED
@@ -1 +1 @@
|
|
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
|
+
{"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;AAC9B,cAAc,cAAc,CAAC"}
|
@@ -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;
|
@@ -1 +1 @@
|
|
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
|
+
{"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;AAED,MAAM,UAAU,MAAM,CAAC,CAAU,EAAE,GAAgB;IACjD,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;AACtD,CAAC"}
|