@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.
Files changed (80) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/index.d.ts +1 -0
  3. package/dist/cjs/index.js +1 -0
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/cjs/models/collection.d.ts +20 -0
  6. package/dist/cjs/models/collection.js +76 -0
  7. package/dist/cjs/models/collection.js.map +1 -0
  8. package/dist/cjs/models/index.d.ts +1 -0
  9. package/dist/cjs/models/index.js +18 -0
  10. package/dist/cjs/models/index.js.map +1 -0
  11. package/dist/cjs/types/boxes.d.ts +2 -2
  12. package/dist/cjs/types/common.d.ts +6 -1
  13. package/dist/cjs/types/common.js +5 -1
  14. package/dist/cjs/types/common.js.map +1 -1
  15. package/dist/cjs/types/inputs.d.ts +3 -3
  16. package/dist/cjs/utils/arrayUtils.d.ts +4 -5
  17. package/dist/cjs/utils/arrayUtils.js +24 -20
  18. package/dist/cjs/utils/arrayUtils.js.map +1 -1
  19. package/dist/cjs/utils/assertions.d.ts +8 -0
  20. package/dist/cjs/utils/assertions.js +40 -0
  21. package/dist/cjs/utils/assertions.js.map +1 -0
  22. package/dist/cjs/utils/bigIntUtils.d.ts +3 -0
  23. package/dist/cjs/utils/bigIntUtils.js +27 -2
  24. package/dist/cjs/utils/bigIntUtils.js.map +1 -1
  25. package/dist/cjs/utils/boxUtils.d.ts +3 -1
  26. package/dist/cjs/utils/boxUtils.js +17 -6
  27. package/dist/cjs/utils/boxUtils.js.map +1 -1
  28. package/dist/cjs/utils/index.d.ts +1 -0
  29. package/dist/cjs/utils/index.js +1 -0
  30. package/dist/cjs/utils/index.js.map +1 -1
  31. package/dist/cjs/utils/objectUtils.d.ts +1 -0
  32. package/dist/cjs/utils/objectUtils.js +5 -1
  33. package/dist/cjs/utils/objectUtils.js.map +1 -1
  34. package/dist/esm/index.d.ts +1 -0
  35. package/dist/esm/index.js +1 -0
  36. package/dist/esm/index.js.map +1 -1
  37. package/dist/esm/models/collection.d.ts +20 -0
  38. package/dist/esm/models/collection.js +72 -0
  39. package/dist/esm/models/collection.js.map +1 -0
  40. package/dist/esm/models/index.d.ts +1 -0
  41. package/dist/esm/models/index.js +2 -0
  42. package/dist/esm/models/index.js.map +1 -0
  43. package/dist/esm/types/boxes.d.ts +2 -2
  44. package/dist/esm/types/common.d.ts +6 -1
  45. package/dist/esm/types/common.js +4 -0
  46. package/dist/esm/types/common.js.map +1 -1
  47. package/dist/esm/types/inputs.d.ts +3 -3
  48. package/dist/esm/utils/arrayUtils.d.ts +4 -5
  49. package/dist/esm/utils/arrayUtils.js +19 -15
  50. package/dist/esm/utils/arrayUtils.js.map +1 -1
  51. package/dist/esm/utils/assertions.d.ts +8 -0
  52. package/dist/esm/utils/assertions.js +32 -0
  53. package/dist/esm/utils/assertions.js.map +1 -0
  54. package/dist/esm/utils/bigIntUtils.d.ts +3 -0
  55. package/dist/esm/utils/bigIntUtils.js +23 -1
  56. package/dist/esm/utils/bigIntUtils.js.map +1 -1
  57. package/dist/esm/utils/boxUtils.d.ts +3 -1
  58. package/dist/esm/utils/boxUtils.js +11 -1
  59. package/dist/esm/utils/boxUtils.js.map +1 -1
  60. package/dist/esm/utils/index.d.ts +1 -0
  61. package/dist/esm/utils/index.js +1 -0
  62. package/dist/esm/utils/index.js.map +1 -1
  63. package/dist/esm/utils/objectUtils.d.ts +1 -0
  64. package/dist/esm/utils/objectUtils.js +3 -0
  65. package/dist/esm/utils/objectUtils.js.map +1 -1
  66. package/dist/tsconfig.esm.tsbuildinfo +1 -1
  67. package/dist/tsconfig.tsbuildinfo +1 -1
  68. package/package.json +1 -1
  69. package/src/index.ts +1 -0
  70. package/src/models/collection.ts +107 -0
  71. package/src/models/index.ts +1 -0
  72. package/src/types/boxes.ts +2 -2
  73. package/src/types/common.ts +10 -3
  74. package/src/types/inputs.ts +3 -3
  75. package/src/utils/arrayUtils.ts +22 -21
  76. package/src/utils/assertions.ts +44 -0
  77. package/src/utils/bigIntUtils.ts +30 -1
  78. package/src/utils/boxUtils.ts +25 -2
  79. package/src/utils/index.ts +1 -0
  80. 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"}
@@ -1,2 +1,3 @@
1
1
  export * from "./utils";
2
2
  export * from "./types";
3
+ export * from "./models";
package/dist/esm/index.js CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from "./utils";
2
2
  export * from "./types";
3
+ export * from "./models";
3
4
  //# sourceMappingURL=index.js.map
@@ -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,2 @@
1
+ export * from "./collection";
2
+ //# sourceMappingURL=index.js.map
@@ -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 { ErgoTree } from "./common";
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: 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 ErgoTree = string;
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];
@@ -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,2CAAgB,CAAA;IAChB,4CAAgB,CAAA;AAClB,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"}
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 { ErgoTree } from "./common";
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: 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: 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
- 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
- }
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":"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"}
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, isEmpty } from "./arrayUtils";
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":"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"}
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 "./arrayUtils";
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":"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"}
1
+ {"version":3,"file":"boxUtils.js","sourceRoot":"","sources":["../../../src/utils/boxUtils.ts"],"names":[],"mappings":"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"}
@@ -4,3 +4,4 @@ export * from "./bigIntUtils";
4
4
  export * from "./boxUtils";
5
5
  export * from "./objectUtils";
6
6
  export * from "./stringUtils";
7
+ export * from "./assertions";
@@ -4,4 +4,5 @@ export * from "./bigIntUtils";
4
4
  export * from "./boxUtils";
5
5
  export * from "./objectUtils";
6
6
  export * from "./stringUtils";
7
+ export * from "./assertions";
7
8
  //# sourceMappingURL=index.js.map
@@ -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;
@@ -14,4 +14,7 @@ export function isUndefined(value) {
14
14
  export function isDefined(value) {
15
15
  return !isUndefined(value);
16
16
  }
17
+ export function hasKey(o, key) {
18
+ return Object.prototype.hasOwnProperty.call(o, key);
19
+ }
17
20
  //# sourceMappingURL=objectUtils.js.map
@@ -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"}