@fleet-sdk/common 0.1.3 → 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.
- package/CHANGELOG.md +11 -0
- package/README.md +1 -1
- package/dist/index.d.mts +268 -0
- package/dist/index.d.ts +268 -0
- package/dist/index.js +604 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +551 -0
- package/dist/index.mjs.map +1 -0
- package/package.json +9 -9
- package/src/utils/{arrayUtils.ts → array.ts} +4 -0
- package/src/utils/assertions.ts +68 -22
- package/src/utils/{bigIntUtils.ts → bigInt.ts} +10 -76
- package/src/utils/bytes.bench.ts +43 -0
- package/src/utils/bytes.ts +34 -0
- package/src/utils/index.ts +5 -6
- package/src/utils/object.ts +28 -0
- package/src/utils/{boxUtils.ts → utxo.ts} +3 -4
- package/dist/cjs/index.d.ts +0 -3
- package/dist/cjs/index.js +0 -20
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/models/collection.d.ts +0 -20
- package/dist/cjs/models/collection.js +0 -76
- package/dist/cjs/models/collection.js.map +0 -1
- package/dist/cjs/models/index.d.ts +0 -1
- package/dist/cjs/models/index.js +0 -18
- package/dist/cjs/models/index.js.map +0 -1
- package/dist/cjs/types/boxes.d.ts +0 -22
- package/dist/cjs/types/boxes.js +0 -3
- package/dist/cjs/types/boxes.js.map +0 -1
- package/dist/cjs/types/common.d.ts +0 -23
- package/dist/cjs/types/common.js +0 -19
- package/dist/cjs/types/common.js.map +0 -1
- package/dist/cjs/types/contextExtension.d.ts +0 -4
- package/dist/cjs/types/contextExtension.js +0 -3
- package/dist/cjs/types/contextExtension.js.map +0 -1
- package/dist/cjs/types/index.d.ts +0 -8
- package/dist/cjs/types/index.js +0 -25
- package/dist/cjs/types/index.js.map +0 -1
- package/dist/cjs/types/inputs.d.ts +0 -37
- package/dist/cjs/types/inputs.js +0 -3
- package/dist/cjs/types/inputs.js.map +0 -1
- package/dist/cjs/types/proverResult.d.ts +0 -6
- package/dist/cjs/types/proverResult.js +0 -3
- package/dist/cjs/types/proverResult.js.map +0 -1
- package/dist/cjs/types/registers.d.ts +0 -9
- package/dist/cjs/types/registers.js +0 -3
- package/dist/cjs/types/registers.js.map +0 -1
- package/dist/cjs/types/token.d.ts +0 -18
- package/dist/cjs/types/token.js +0 -3
- package/dist/cjs/types/token.js.map +0 -1
- package/dist/cjs/types/transactions.d.ts +0 -22
- package/dist/cjs/types/transactions.js +0 -3
- package/dist/cjs/types/transactions.js.map +0 -1
- package/dist/cjs/utils/arrayUtils.d.ts +0 -25
- package/dist/cjs/utils/arrayUtils.js +0 -155
- package/dist/cjs/utils/arrayUtils.js.map +0 -1
- package/dist/cjs/utils/assertions.d.ts +0 -8
- package/dist/cjs/utils/assertions.js +0 -40
- package/dist/cjs/utils/assertions.js.map +0 -1
- package/dist/cjs/utils/bigIntLiterals.d.ts +0 -7
- package/dist/cjs/utils/bigIntLiterals.js +0 -12
- package/dist/cjs/utils/bigIntLiterals.js.map +0 -1
- package/dist/cjs/utils/bigIntUtils.d.ts +0 -54
- package/dist/cjs/utils/bigIntUtils.js +0 -183
- package/dist/cjs/utils/bigIntUtils.js.map +0 -1
- package/dist/cjs/utils/boxUtils.d.ts +0 -23
- package/dist/cjs/utils/boxUtils.js +0 -121
- package/dist/cjs/utils/boxUtils.js.map +0 -1
- package/dist/cjs/utils/index.d.ts +0 -7
- package/dist/cjs/utils/index.js +0 -24
- package/dist/cjs/utils/index.js.map +0 -1
- package/dist/cjs/utils/objectUtils.d.ts +0 -4
- package/dist/cjs/utils/objectUtils.js +0 -27
- package/dist/cjs/utils/objectUtils.js.map +0 -1
- package/dist/cjs/utils/stringUtils.d.ts +0 -7
- package/dist/cjs/utils/stringUtils.js +0 -21
- package/dist/cjs/utils/stringUtils.js.map +0 -1
- package/dist/esm/index.d.ts +0 -3
- package/dist/esm/index.js +0 -4
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/models/collection.d.ts +0 -20
- package/dist/esm/models/collection.js +0 -72
- package/dist/esm/models/collection.js.map +0 -1
- package/dist/esm/models/index.d.ts +0 -1
- package/dist/esm/models/index.js +0 -2
- package/dist/esm/models/index.js.map +0 -1
- package/dist/esm/types/boxes.d.ts +0 -22
- package/dist/esm/types/boxes.js +0 -2
- package/dist/esm/types/boxes.js.map +0 -1
- package/dist/esm/types/common.d.ts +0 -23
- package/dist/esm/types/common.js +0 -16
- package/dist/esm/types/common.js.map +0 -1
- package/dist/esm/types/contextExtension.d.ts +0 -4
- package/dist/esm/types/contextExtension.js +0 -2
- package/dist/esm/types/contextExtension.js.map +0 -1
- package/dist/esm/types/index.d.ts +0 -8
- package/dist/esm/types/index.js +0 -9
- package/dist/esm/types/index.js.map +0 -1
- package/dist/esm/types/inputs.d.ts +0 -37
- package/dist/esm/types/inputs.js +0 -2
- package/dist/esm/types/inputs.js.map +0 -1
- package/dist/esm/types/proverResult.d.ts +0 -6
- package/dist/esm/types/proverResult.js +0 -2
- package/dist/esm/types/proverResult.js.map +0 -1
- package/dist/esm/types/registers.d.ts +0 -9
- package/dist/esm/types/registers.js +0 -2
- package/dist/esm/types/registers.js.map +0 -1
- package/dist/esm/types/token.d.ts +0 -18
- package/dist/esm/types/token.js +0 -2
- package/dist/esm/types/token.js.map +0 -1
- package/dist/esm/types/transactions.d.ts +0 -22
- package/dist/esm/types/transactions.js +0 -2
- package/dist/esm/types/transactions.js.map +0 -1
- package/dist/esm/utils/arrayUtils.d.ts +0 -25
- package/dist/esm/utils/arrayUtils.js +0 -139
- package/dist/esm/utils/arrayUtils.js.map +0 -1
- package/dist/esm/utils/assertions.d.ts +0 -8
- package/dist/esm/utils/assertions.js +0 -32
- package/dist/esm/utils/assertions.js.map +0 -1
- package/dist/esm/utils/bigIntLiterals.d.ts +0 -7
- package/dist/esm/utils/bigIntLiterals.js +0 -9
- package/dist/esm/utils/bigIntLiterals.js.map +0 -1
- package/dist/esm/utils/bigIntUtils.d.ts +0 -54
- package/dist/esm/utils/bigIntUtils.js +0 -170
- package/dist/esm/utils/bigIntUtils.js.map +0 -1
- package/dist/esm/utils/boxUtils.d.ts +0 -23
- package/dist/esm/utils/boxUtils.js +0 -113
- package/dist/esm/utils/boxUtils.js.map +0 -1
- package/dist/esm/utils/index.d.ts +0 -7
- package/dist/esm/utils/index.js +0 -8
- package/dist/esm/utils/index.js.map +0 -1
- package/dist/esm/utils/objectUtils.d.ts +0 -4
- package/dist/esm/utils/objectUtils.js +0 -20
- package/dist/esm/utils/objectUtils.js.map +0 -1
- package/dist/esm/utils/stringUtils.d.ts +0 -7
- package/dist/esm/utils/stringUtils.js +0 -16
- package/dist/esm/utils/stringUtils.js.map +0 -1
- package/dist/tsconfig.esm.tsbuildinfo +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/src/utils/bigIntLiterals.ts +0 -9
- package/src/utils/objectUtils.ts +0 -23
- package/src/utils/stringUtils.ts +0 -18
package/src/utils/assertions.ts
CHANGED
@@ -1,30 +1,64 @@
|
|
1
1
|
export type AssertErrorMessageInput = string | Error | (() => string);
|
2
2
|
|
3
|
-
|
3
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
4
|
+
type Constructable = Function;
|
5
|
+
|
6
|
+
type JSPrimitiveTypes =
|
7
|
+
| "string"
|
8
|
+
| "number"
|
9
|
+
| "bigint"
|
10
|
+
| "boolean"
|
11
|
+
| "symbol"
|
12
|
+
| "undefined"
|
13
|
+
| "object"
|
14
|
+
| "function";
|
15
|
+
|
16
|
+
export function assert(condition: boolean, error: AssertErrorMessageInput): asserts condition {
|
17
|
+
if (condition) return;
|
18
|
+
|
19
|
+
let err: Error | undefined = undefined;
|
20
|
+
switch (typeof error) {
|
21
|
+
case "string":
|
22
|
+
err = new Error(error);
|
23
|
+
break;
|
24
|
+
case "function":
|
25
|
+
err = new Error(error());
|
26
|
+
break;
|
27
|
+
default:
|
28
|
+
err = error;
|
29
|
+
}
|
30
|
+
|
31
|
+
throw err;
|
32
|
+
}
|
33
|
+
|
34
|
+
export function assertTypeOf<T>(obj: T, expected: JSPrimitiveTypes): asserts obj {
|
35
|
+
const type = typeof obj;
|
36
|
+
|
37
|
+
if (type !== expected) {
|
38
|
+
throw new Error(`Expected an object of type '${expected}', got '${type}'.`);
|
39
|
+
}
|
40
|
+
}
|
41
|
+
|
42
|
+
const toString = (value: unknown) => Object.prototype.toString.call(value);
|
43
|
+
function getTypeName(value: unknown): string {
|
44
|
+
if (value === null) return "null";
|
45
|
+
const type = typeof value;
|
46
|
+
|
47
|
+
return type === "object" || type === "function" ? toString(value).slice(8, -1) : type;
|
48
|
+
}
|
49
|
+
|
50
|
+
export function assertInstanceOf<T>(obj: T, expected: Constructable): asserts obj {
|
51
|
+
const condition = obj instanceof expected;
|
52
|
+
|
4
53
|
if (!condition) {
|
5
|
-
|
6
|
-
|
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
|
-
|
18
|
-
throw error;
|
54
|
+
throw new Error(`Expected an instance of '${expected.name}', got '${getTypeName(obj)}'.`);
|
19
55
|
}
|
20
56
|
}
|
21
57
|
|
22
58
|
export function isEmpty<T extends object>(obj?: T): obj is undefined;
|
23
59
|
export function isEmpty<T>(array?: T[]): array is undefined;
|
24
60
|
export function isEmpty<T>(obj?: T[] | object): obj is undefined {
|
25
|
-
if (!obj)
|
26
|
-
return true;
|
27
|
-
}
|
61
|
+
if (!obj) return true;
|
28
62
|
|
29
63
|
return Array.isArray(obj) ? obj.length === 0 : Object.keys(obj).length === 0;
|
30
64
|
}
|
@@ -35,10 +69,22 @@ export function some<T>(obj?: T[] | object): boolean {
|
|
35
69
|
return !isEmpty(obj);
|
36
70
|
}
|
37
71
|
|
38
|
-
export function isTruthy<T>(
|
39
|
-
return
|
72
|
+
export function isTruthy<T>(value?: T): value is NonNullable<T> {
|
73
|
+
return !!value;
|
74
|
+
}
|
75
|
+
|
76
|
+
export function isFalsy<T>(value?: T): value is undefined {
|
77
|
+
return !value;
|
78
|
+
}
|
79
|
+
|
80
|
+
export function isUndefined(v: unknown): v is undefined {
|
81
|
+
return v === undefined || v === null || Number.isNaN(v);
|
82
|
+
}
|
83
|
+
|
84
|
+
export function isDefined<T>(v: T | undefined): v is T {
|
85
|
+
return !isUndefined(v);
|
40
86
|
}
|
41
87
|
|
42
|
-
export function
|
43
|
-
return
|
88
|
+
export function hasKey(o: unknown, key: PropertyKey): boolean {
|
89
|
+
return Object.prototype.hasOwnProperty.call(o, key);
|
44
90
|
}
|
@@ -1,11 +1,17 @@
|
|
1
1
|
import { Amount } from "../types";
|
2
|
-
import { first } from "./
|
3
|
-
import { isEmpty } from "./assertions";
|
4
|
-
import { _0n, _10n } from "./bigIntLiterals";
|
5
|
-
import { isUndefined } from "./objectUtils";
|
2
|
+
import { first } from "./array";
|
3
|
+
import { isEmpty, isUndefined } from "./assertions";
|
6
4
|
|
7
5
|
type NumberLike = string | number | bigint | boolean;
|
8
6
|
|
7
|
+
export const _0n = BigInt(0);
|
8
|
+
export const _1n = BigInt(1);
|
9
|
+
export const _7n = BigInt(7);
|
10
|
+
export const _10n = BigInt(10);
|
11
|
+
export const _63n = BigInt(63);
|
12
|
+
export const _127n = BigInt(127);
|
13
|
+
export const _128n = BigInt(128);
|
14
|
+
|
9
15
|
export function ensureBigInt(number: NumberLike): bigint {
|
10
16
|
return typeof number === "bigint" ? number : BigInt(number);
|
11
17
|
}
|
@@ -155,78 +161,6 @@ export function sumBy<T>(
|
|
155
161
|
return acc;
|
156
162
|
}
|
157
163
|
|
158
|
-
/**
|
159
|
-
* Converts a hex string to bigint.
|
160
|
-
* @param hex The hex string to be converted.
|
161
|
-
* @returns The bigint value represented by the hex string.
|
162
|
-
*/
|
163
|
-
export function hexToBigInt(hex: string): bigint {
|
164
|
-
// https://coolaj86.com/articles/convert-hex-to-decimal-with-js-bigints/
|
165
|
-
if (hex.length % 2) {
|
166
|
-
hex = "0" + hex;
|
167
|
-
}
|
168
|
-
|
169
|
-
const value = BigInt("0x" + hex);
|
170
|
-
const highByte = parseInt(hex.slice(0, 2), 16);
|
171
|
-
|
172
|
-
if (0x80 & highByte) {
|
173
|
-
return -_bitNegate(value); // add two's complement and invert the number to negative
|
174
|
-
}
|
175
|
-
|
176
|
-
return value;
|
177
|
-
}
|
178
|
-
|
179
|
-
/**
|
180
|
-
* Serializes a `BigInt` to a hex string
|
181
|
-
* @param value The bigint value to be serialized
|
182
|
-
* @returns Hex representation for the provided `number`.
|
183
|
-
*/
|
184
|
-
export function bigIntToHex(value: bigint): string {
|
185
|
-
// implementation inspired on
|
186
|
-
// https://coolaj86.com/articles/convert-decimal-to-hex-with-js-bigints/
|
187
|
-
const positive = value >= _0n;
|
188
|
-
if (!positive) {
|
189
|
-
value = _bitNegate(value);
|
190
|
-
}
|
191
|
-
|
192
|
-
let hex = value.toString(16);
|
193
|
-
if (hex.length % 2) {
|
194
|
-
hex = "0" + hex;
|
195
|
-
}
|
196
|
-
|
197
|
-
if (positive && 0x80 & parseInt(hex.slice(0, 2), 16)) {
|
198
|
-
hex = "00" + hex;
|
199
|
-
}
|
200
|
-
|
201
|
-
return hex;
|
202
|
-
}
|
203
|
-
|
204
|
-
/**
|
205
|
-
* Returns the two’s complement of a bigint value.
|
206
|
-
* @param value The bigint value to negate.
|
207
|
-
* @returns The two’s complement of `number` as a bigint.
|
208
|
-
*/
|
209
|
-
export function _bitNegate(value: bigint): bigint {
|
210
|
-
const negative = value < _0n;
|
211
|
-
if (negative) {
|
212
|
-
value = -value; // turn into a positive number
|
213
|
-
}
|
214
|
-
|
215
|
-
const bits = value.toString(2);
|
216
|
-
let bitLen = bits.length; // convert to binary
|
217
|
-
|
218
|
-
const mod = bitLen % 8;
|
219
|
-
if (mod > 0) {
|
220
|
-
bitLen += 8 - mod;
|
221
|
-
} else if (negative && first(bits) === "1" && bits.indexOf("1", 1) !== -1) {
|
222
|
-
bitLen += 8;
|
223
|
-
}
|
224
|
-
|
225
|
-
const mask = (1n << BigInt(bitLen)) - 1n; // create a mask
|
226
|
-
|
227
|
-
return (~value & mask) + 1n; // invert bits, mask it, and add one
|
228
|
-
}
|
229
|
-
|
230
164
|
export function min<T extends bigint | number>(...numbers: T[]): T {
|
231
165
|
let min = first(numbers);
|
232
166
|
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import { bench, describe } from "vitest";
|
2
|
+
import { isHex } from "./bytes";
|
3
|
+
|
4
|
+
const HEX_PATTERN = /^[0-9A-Fa-f]+$/s;
|
5
|
+
export function isHexRegex(value?: string) {
|
6
|
+
if (!value || value.length % 2) return false;
|
7
|
+
|
8
|
+
return HEX_PATTERN.test(value);
|
9
|
+
}
|
10
|
+
|
11
|
+
const HEX_CHARSET = new Set("0123456789abcdefABCDEF");
|
12
|
+
function isHexChar(value: string) {
|
13
|
+
if (!value || value.length % 2) return false;
|
14
|
+
|
15
|
+
const valueSet = new Set(Array.from(value));
|
16
|
+
for (const c of valueSet) {
|
17
|
+
if (!HEX_CHARSET.has(c)) {
|
18
|
+
return false;
|
19
|
+
}
|
20
|
+
}
|
21
|
+
|
22
|
+
return true;
|
23
|
+
}
|
24
|
+
|
25
|
+
describe("Hex string checking", () => {
|
26
|
+
const validHex = "0008cd026dc059d64a50d0dbf07755c2c4a4e557e3df8afa7141868b3ab200643d437ee7";
|
27
|
+
const invalidHex = "0008cd026dc059d64a50d0dbf07755c2c4a4e557e3df8afa7141868b3ab200643d437ee7tt";
|
28
|
+
|
29
|
+
bench("Using charset", () => {
|
30
|
+
isHexChar(validHex);
|
31
|
+
isHexChar(invalidHex);
|
32
|
+
});
|
33
|
+
|
34
|
+
bench("Using regex", () => {
|
35
|
+
isHexRegex(validHex);
|
36
|
+
isHexRegex(invalidHex);
|
37
|
+
});
|
38
|
+
|
39
|
+
bench("Using number constructor", () => {
|
40
|
+
isHex(validHex);
|
41
|
+
isHex(invalidHex);
|
42
|
+
});
|
43
|
+
});
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import { assertInstanceOf } from ".";
|
2
|
+
|
3
|
+
export function concatBytes(...arrays: Uint8Array[]): Uint8Array {
|
4
|
+
const r = new Uint8Array(arrays.reduce((sum, a) => sum + a.length, 0));
|
5
|
+
|
6
|
+
let pad = 0;
|
7
|
+
for (const bytes of arrays) {
|
8
|
+
assertInstanceOf(bytes, Uint8Array);
|
9
|
+
|
10
|
+
r.set(bytes, pad);
|
11
|
+
pad += bytes.length;
|
12
|
+
}
|
13
|
+
|
14
|
+
return r;
|
15
|
+
}
|
16
|
+
|
17
|
+
export function isHex(value?: string) {
|
18
|
+
if (!value || value.length % 2) return false;
|
19
|
+
|
20
|
+
if (!value.startsWith("0x")) {
|
21
|
+
value = "0x" + value;
|
22
|
+
}
|
23
|
+
|
24
|
+
return !isNaN(Number(value));
|
25
|
+
}
|
26
|
+
|
27
|
+
/**
|
28
|
+
* Get hex string size in bytes
|
29
|
+
* @param hex
|
30
|
+
* @returns the byte size if the hex string
|
31
|
+
*/
|
32
|
+
export function byteSizeOf(hex: string): number {
|
33
|
+
return hex.length / 2;
|
34
|
+
}
|
package/src/utils/index.ts
CHANGED
@@ -1,7 +1,6 @@
|
|
1
|
-
export * from "./
|
2
|
-
export * from "./
|
3
|
-
export * from "./
|
4
|
-
export * from "./
|
5
|
-
export * from "./objectUtils";
|
6
|
-
export * from "./stringUtils";
|
1
|
+
export * from "./array";
|
2
|
+
export * from "./bigInt";
|
3
|
+
export * from "./utxo";
|
4
|
+
export * from "./object";
|
7
5
|
export * from "./assertions";
|
6
|
+
export * from "./bytes";
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import { isEmpty, isUndefined } from "./assertions";
|
2
|
+
|
3
|
+
export function clearUndefined(value: Record<string, unknown>) {
|
4
|
+
const result: Record<string, unknown> = {};
|
5
|
+
for (const key in value) {
|
6
|
+
const val = value[key];
|
7
|
+
if (!isUndefined(val)) {
|
8
|
+
result[key] = val;
|
9
|
+
}
|
10
|
+
}
|
11
|
+
|
12
|
+
return result;
|
13
|
+
}
|
14
|
+
|
15
|
+
export function ensureDefaults<T extends Partial<R>, R extends object = Required<T>>(
|
16
|
+
options: T | undefined,
|
17
|
+
defaults: R
|
18
|
+
): R & T {
|
19
|
+
if (isEmpty(options)) return defaults as R & T;
|
20
|
+
|
21
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
22
|
+
const newObj: any = { ...defaults, ...options };
|
23
|
+
for (const key in newObj) {
|
24
|
+
newObj[key as keyof object] = options[key as keyof R] ?? defaults[key as keyof R];
|
25
|
+
}
|
26
|
+
|
27
|
+
return newObj;
|
28
|
+
}
|
@@ -7,10 +7,9 @@ import {
|
|
7
7
|
TokenAmount,
|
8
8
|
TokenId
|
9
9
|
} from "../types";
|
10
|
-
import { isEmpty } from "./assertions";
|
11
|
-
import {
|
12
|
-
import {
|
13
|
-
import { isDefined, isUndefined } from "./objectUtils";
|
10
|
+
import { isDefined, isEmpty, isUndefined } from "./assertions";
|
11
|
+
import { ensureBigInt } from "./bigInt";
|
12
|
+
import { _0n } from "./bigInt";
|
14
13
|
|
15
14
|
const NANOERGS_TOKEN_ID = "nanoErgs";
|
16
15
|
|
package/dist/cjs/index.d.ts
DELETED
package/dist/cjs/index.js
DELETED
@@ -1,20 +0,0 @@
|
|
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("./utils"), exports);
|
18
|
-
__exportStar(require("./types"), exports);
|
19
|
-
__exportStar(require("./models"), exports);
|
20
|
-
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,0CAAwB;AACxB,2CAAyB"}
|
@@ -1,20 +0,0 @@
|
|
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
|
-
}
|
@@ -1,76 +0,0 @@
|
|
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
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"collection.js","sourceRoot":"","sources":["../../../src/models/collection.ts"],"names":[],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
export * from "./collection";
|
package/dist/cjs/models/index.js
DELETED
@@ -1,18 +0,0 @@
|
|
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
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/models/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B"}
|
@@ -1,22 +0,0 @@
|
|
1
|
-
import { ErgoTreeHex } from "./common";
|
2
|
-
import { NonMandatoryRegisters } from "./registers";
|
3
|
-
import { TokenAmount } from "./token";
|
4
|
-
import { TransactionId } from "./transactions";
|
5
|
-
export type BoxId = string;
|
6
|
-
export type AmountType = string | bigint;
|
7
|
-
type BoxBaseType<T extends AmountType, R extends NonMandatoryRegisters> = {
|
8
|
-
ergoTree: ErgoTreeHex;
|
9
|
-
creationHeight: number;
|
10
|
-
value: T;
|
11
|
-
assets: TokenAmount<T>[];
|
12
|
-
additionalRegisters: R;
|
13
|
-
};
|
14
|
-
export type BoxCandidate<T extends AmountType, R extends NonMandatoryRegisters = NonMandatoryRegisters> = BoxBaseType<T, R> & {
|
15
|
-
boxId?: BoxId;
|
16
|
-
};
|
17
|
-
export type Box<T extends AmountType, R extends NonMandatoryRegisters = NonMandatoryRegisters> = BoxBaseType<T, R> & {
|
18
|
-
boxId: BoxId;
|
19
|
-
transactionId: TransactionId;
|
20
|
-
index: number;
|
21
|
-
};
|
22
|
-
export {};
|
package/dist/cjs/types/boxes.js
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"boxes.js","sourceRoot":"","sources":["../../../src/types/boxes.ts"],"names":[],"mappings":""}
|
@@ -1,23 +0,0 @@
|
|
1
|
-
export type HexString = string;
|
2
|
-
export type ErgoTreeHex = string;
|
3
|
-
export type Base58String = string;
|
4
|
-
export type Amount = string | bigint;
|
5
|
-
export type OneOrMore<T> = T | T[];
|
6
|
-
export type SortingSelector<T> = (item: T) => string | number | bigint;
|
7
|
-
export type SortingDirection = "asc" | "desc";
|
8
|
-
export type FilterPredicate<T> = (item: T) => boolean;
|
9
|
-
export type BuildOutputType = "default" | "EIP-12";
|
10
|
-
export declare enum Network {
|
11
|
-
Mainnet = 0,
|
12
|
-
Testnet = 16
|
13
|
-
}
|
14
|
-
export declare enum AddressType {
|
15
|
-
P2PK = 1,
|
16
|
-
P2SH = 2,
|
17
|
-
P2S = 3
|
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
DELETED
@@ -1,19 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.ergoTreeHeaderFlags = exports.AddressType = exports.Network = void 0;
|
4
|
-
var Network;
|
5
|
-
(function (Network) {
|
6
|
-
Network[Network["Mainnet"] = 0] = "Mainnet";
|
7
|
-
Network[Network["Testnet"] = 16] = "Testnet";
|
8
|
-
})(Network || (exports.Network = Network = {}));
|
9
|
-
var AddressType;
|
10
|
-
(function (AddressType) {
|
11
|
-
AddressType[AddressType["P2PK"] = 1] = "P2PK";
|
12
|
-
AddressType[AddressType["P2SH"] = 2] = "P2SH";
|
13
|
-
AddressType[AddressType["P2S"] = 3] = "P2S";
|
14
|
-
})(AddressType || (exports.AddressType = AddressType = {}));
|
15
|
-
exports.ergoTreeHeaderFlags = {
|
16
|
-
sizeInclusion: 0x08,
|
17
|
-
constantSegregation: 0x10
|
18
|
-
};
|
19
|
-
//# sourceMappingURL=common.js.map
|
@@ -1 +0,0 @@
|
|
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 +0,0 @@
|
|
1
|
-
{"version":3,"file":"contextExtension.js","sourceRoot":"","sources":["../../../src/types/contextExtension.ts"],"names":[],"mappings":""}
|
package/dist/cjs/types/index.js
DELETED
@@ -1,25 +0,0 @@
|
|
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("./boxes"), exports);
|
18
|
-
__exportStar(require("./contextExtension"), exports);
|
19
|
-
__exportStar(require("./inputs"), exports);
|
20
|
-
__exportStar(require("./common"), exports);
|
21
|
-
__exportStar(require("./proverResult"), exports);
|
22
|
-
__exportStar(require("./registers"), exports);
|
23
|
-
__exportStar(require("./token"), exports);
|
24
|
-
__exportStar(require("./transactions"), exports);
|
25
|
-
//# sourceMappingURL=index.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,qDAAmC;AACnC,2CAAyB;AACzB,2CAAyB;AACzB,iDAA+B;AAC/B,8CAA4B;AAC5B,0CAAwB;AACxB,iDAA+B"}
|