ecash-lib 0.1.0-rc2 → 0.1.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/README.md +73 -15
- package/dist/ecc.d.ts +6 -2
- package/dist/ecc.d.ts.map +1 -1
- package/dist/ecc.js +9 -6
- package/dist/ecc.js.map +1 -1
- package/dist/ffi/ecash_lib_wasm_bg.wasm +0 -0
- package/dist/ffi/ecash_lib_wasm_bg_browser.wasm +0 -0
- package/dist/ffi/ecash_lib_wasm_bg_browser.wasm.d.ts +16 -0
- package/dist/ffi/ecash_lib_wasm_bg_nodejs.wasm +0 -0
- package/dist/ffi/ecash_lib_wasm_bg_nodejs.wasm.d.ts +16 -0
- package/dist/ffi/ecash_lib_wasm_browser.d.ts +90 -0
- package/dist/ffi/ecash_lib_wasm_browser.js +340 -0
- package/dist/ffi/ecash_lib_wasm_nodejs.d.ts +50 -0
- package/dist/ffi/ecash_lib_wasm_nodejs.js +265 -0
- package/dist/hash.d.ts +10 -4
- package/dist/hash.d.ts.map +1 -1
- package/dist/hash.js +20 -4
- package/dist/hash.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +37 -21
- package/dist/index.js.map +1 -1
- package/dist/indexBrowser.d.ts +3 -0
- package/dist/indexBrowser.d.ts.map +1 -0
- package/dist/indexBrowser.js +22 -0
- package/dist/indexBrowser.js.map +1 -0
- package/dist/indexNodeJs.d.ts +3 -0
- package/dist/indexNodeJs.d.ts.map +1 -0
- package/dist/indexNodeJs.js +22 -0
- package/dist/indexNodeJs.js.map +1 -0
- package/dist/initBrowser.d.ts +3 -0
- package/dist/initBrowser.d.ts.map +1 -0
- package/dist/initBrowser.js +44 -0
- package/dist/initBrowser.js.map +1 -0
- package/dist/initNodeJs.d.ts +3 -0
- package/dist/initNodeJs.d.ts.map +1 -0
- package/dist/initNodeJs.js +43 -0
- package/dist/initNodeJs.js.map +1 -0
- package/dist/io/bytes.js +5 -1
- package/dist/io/bytes.js.map +1 -1
- package/dist/io/hex.js +11 -4
- package/dist/io/hex.js.map +1 -1
- package/dist/io/int.js +2 -1
- package/dist/io/int.js.map +1 -1
- package/dist/io/str.d.ts +2 -0
- package/dist/io/str.d.ts.map +1 -1
- package/dist/io/str.js +11 -1
- package/dist/io/str.js.map +1 -1
- package/dist/io/varsize.js +7 -2
- package/dist/io/varsize.js.map +1 -1
- package/dist/io/writer.js +2 -1
- package/dist/io/writer.js.map +1 -1
- package/dist/io/writerbytes.js +5 -1
- package/dist/io/writerbytes.js.map +1 -1
- package/dist/io/writerlength.js +5 -1
- package/dist/io/writerlength.js.map +1 -1
- package/dist/op.js +23 -16
- package/dist/op.js.map +1 -1
- package/dist/opcode.js +126 -121
- package/dist/opcode.js.map +1 -1
- package/dist/script.d.ts +1 -0
- package/dist/script.d.ts.map +1 -1
- package/dist/script.js +34 -25
- package/dist/script.js.map +1 -1
- package/dist/sigHashType.js +23 -19
- package/dist/sigHashType.js.map +1 -1
- package/dist/test/testRunner.d.ts +1 -1
- package/dist/test/testRunner.d.ts.map +1 -1
- package/dist/test/testRunner.js +51 -26
- package/dist/test/testRunner.js.map +1 -1
- package/dist/token/alp.js +43 -36
- package/dist/token/alp.js.map +1 -1
- package/dist/token/common.js +8 -5
- package/dist/token/common.js.map +1 -1
- package/dist/token/empp.js +13 -9
- package/dist/token/empp.js.map +1 -1
- package/dist/token/slp.js +61 -53
- package/dist/token/slp.js.map +1 -1
- package/dist/tx.d.ts +2 -0
- package/dist/tx.d.ts.map +1 -1
- package/dist/tx.js +39 -21
- package/dist/tx.js.map +1 -1
- package/dist/txBuilder.js +33 -25
- package/dist/txBuilder.js.map +1 -1
- package/dist/unsignedTx.js +34 -29
- package/dist/unsignedTx.js.map +1 -1
- package/package.json +3 -3
- package/tsconfig.json +1 -2
- package/tests/alp.test.ts +0 -383
- package/tests/slp.test.ts +0 -1124
- package/tests/txBuilder.test.ts +0 -562
package/dist/io/bytes.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
// Copyright (c) 2024 The Bitcoin developers
|
|
2
3
|
// Distributed under the MIT software license, see the accompanying
|
|
3
4
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Bytes = void 0;
|
|
4
7
|
/** Reads ints/bytes from a Uint8Array. All integers are little-endian. */
|
|
5
|
-
|
|
8
|
+
class Bytes {
|
|
6
9
|
/** Create a new Bytes that reads from the given data */
|
|
7
10
|
constructor(data) {
|
|
8
11
|
this.data = data;
|
|
@@ -51,4 +54,5 @@ export class Bytes {
|
|
|
51
54
|
}
|
|
52
55
|
}
|
|
53
56
|
}
|
|
57
|
+
exports.Bytes = Bytes;
|
|
54
58
|
//# sourceMappingURL=bytes.js.map
|
package/dist/io/bytes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../src/io/bytes.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,mEAAmE;AACnE,sEAAsE
|
|
1
|
+
{"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../src/io/bytes.ts"],"names":[],"mappings":";AAAA,4CAA4C;AAC5C,mEAAmE;AACnE,sEAAsE;;;AAEtE,0EAA0E;AAC1E,MAAa,KAAK;IAKd,wDAAwD;IACxD,YAAmB,IAAgB;QAC/B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,IAAI,GAAG,IAAI,QAAQ,CACpB,IAAI,CAAC,IAAI,CAAC,MAAM,EAChB,IAAI,CAAC,IAAI,CAAC,UAAU,EACpB,IAAI,CAAC,IAAI,CAAC,UAAU,CACvB,CAAC;QACF,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;IACjB,CAAC;IAED,yBAAyB;IAClB,MAAM;QACT,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,GAAG,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,mDAAmD;IAC5C,OAAO;QACV,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACd,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,mDAAmD;IAC5C,OAAO;QACV,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACd,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,mDAAmD;IAC5C,OAAO;QACV,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACd,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,8CAA8C;IACvC,SAAS,CAAC,QAAgB;QAC7B,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,CAAC;QAC9D,IAAI,CAAC,GAAG,IAAI,QAAQ,CAAC;QACrB,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,UAAU,CAAC,UAAkB;QACjC,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,GAAG,UAAU,EAAE,CAAC;YAC3C,MAAM,CACF,mCAAmC,UAAU,gBAAgB;gBAC7D,kBAAkB,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,eAAe,CAC/D,CAAC;QACN,CAAC;IACL,CAAC;CACJ;AAhED,sBAgEC"}
|
package/dist/io/hex.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
// Copyright (c) 2023-2024 The Bitcoin developers
|
|
2
3
|
// Distributed under the MIT software license, see the accompanying
|
|
3
4
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.fromHexRev = exports.fromHex = exports.toHexRev = exports.toHex = void 0;
|
|
4
7
|
const LUT_HEX_4b = [
|
|
5
8
|
'0',
|
|
6
9
|
'1',
|
|
@@ -27,21 +30,23 @@ for (let n = 0; n < 0x100; n++) {
|
|
|
27
30
|
LUT_BIN_8b[hex] = n;
|
|
28
31
|
}
|
|
29
32
|
// End Pre-Init
|
|
30
|
-
|
|
33
|
+
function toHex(buffer) {
|
|
31
34
|
let out = '';
|
|
32
35
|
for (let idx = 0, edx = buffer.length; idx < edx; ++idx) {
|
|
33
36
|
out += LUT_HEX_8b[buffer[idx]];
|
|
34
37
|
}
|
|
35
38
|
return out;
|
|
36
39
|
}
|
|
37
|
-
|
|
40
|
+
exports.toHex = toHex;
|
|
41
|
+
function toHexRev(buffer) {
|
|
38
42
|
let out = '';
|
|
39
43
|
for (let idx = buffer.length - 1; idx >= 0; --idx) {
|
|
40
44
|
out += LUT_HEX_8b[buffer[idx]];
|
|
41
45
|
}
|
|
42
46
|
return out;
|
|
43
47
|
}
|
|
44
|
-
|
|
48
|
+
exports.toHexRev = toHexRev;
|
|
49
|
+
function fromHex(str) {
|
|
45
50
|
if ((str.length & 1) != 0) {
|
|
46
51
|
throw new Error(`Odd hex length: ${str}`);
|
|
47
52
|
}
|
|
@@ -57,9 +62,11 @@ export function fromHex(str) {
|
|
|
57
62
|
}
|
|
58
63
|
return array;
|
|
59
64
|
}
|
|
60
|
-
|
|
65
|
+
exports.fromHex = fromHex;
|
|
66
|
+
function fromHexRev(str) {
|
|
61
67
|
const array = fromHex(str);
|
|
62
68
|
array.reverse();
|
|
63
69
|
return array;
|
|
64
70
|
}
|
|
71
|
+
exports.fromHexRev = fromHexRev;
|
|
65
72
|
//# sourceMappingURL=hex.js.map
|
package/dist/io/hex.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hex.js","sourceRoot":"","sources":["../../src/io/hex.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,mEAAmE;AACnE,sEAAsE
|
|
1
|
+
{"version":3,"file":"hex.js","sourceRoot":"","sources":["../../src/io/hex.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,mEAAmE;AACnE,sEAAsE;;;AAEtE,MAAM,UAAU,GAAG;IACf,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;IACH,GAAG;CACN,CAAC;AACF,MAAM,UAAU,GAAG,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC;AACpC,MAAM,UAAU,GAA8B,EAAE,CAAC;AACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;IAC7B,MAAM,GAAG,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,GAAG,GAAG,CAAC,EAAE,CAAC;IACnE,UAAU,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IACpB,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC;AACD,eAAe;AAEf,SAAgB,KAAK,CAAC,MAAkB;IACpC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,GAAG,EAAE,EAAE,GAAG,EAAE,CAAC;QACtD,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAND,sBAMC;AAED,SAAgB,QAAQ,CAAC,MAAkB;IACvC,IAAI,GAAG,GAAG,EAAE,CAAC;IACb,KAAK,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC;QAChD,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACnC,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAND,4BAMC;AAED,SAAgB,OAAO,CAAC,GAAW;IAC/B,IAAI,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC;IACrC,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,qBAAqB,IAAI,cAAc,GAAG,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;IAC3B,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAfD,0BAeC;AAED,SAAgB,UAAU,CAAC,GAAW;IAClC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3B,KAAK,CAAC,OAAO,EAAE,CAAC;IAChB,OAAO,KAAK,CAAC;AACjB,CAAC;AAJD,gCAIC"}
|
package/dist/io/int.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
// Copyright (c) 2024 The Bitcoin developers
|
|
2
3
|
// Distributed under the MIT software license, see the accompanying
|
|
3
4
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
4
|
-
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
6
|
//# sourceMappingURL=int.js.map
|
package/dist/io/int.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"int.js","sourceRoot":"","sources":["../../src/io/int.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,mEAAmE;AACnE,sEAAsE"}
|
|
1
|
+
{"version":3,"file":"int.js","sourceRoot":"","sources":["../../src/io/int.ts"],"names":[],"mappings":";AAAA,4CAA4C;AAC5C,mEAAmE;AACnE,sEAAsE"}
|
package/dist/io/str.d.ts
CHANGED
package/dist/io/str.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"str.d.ts","sourceRoot":"","sources":["../../src/io/str.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"str.d.ts","sourceRoot":"","sources":["../../src/io/str.ts"],"names":[],"mappings":"AAOA,oDAAoD;AACpD,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAElD;AAED,oDAAoD;AACpD,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAEpD"}
|
package/dist/io/str.js
CHANGED
|
@@ -1,9 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
// Copyright (c) 2024 The Bitcoin developers
|
|
2
3
|
// Distributed under the MIT software license, see the accompanying
|
|
3
4
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.bytesToStr = exports.strToBytes = void 0;
|
|
4
7
|
const encoder = new TextEncoder();
|
|
8
|
+
const decoder = new TextDecoder();
|
|
5
9
|
/** Turn a UTF-8 encoded string into a Uint8Array */
|
|
6
|
-
|
|
10
|
+
function strToBytes(str) {
|
|
7
11
|
return encoder.encode(str);
|
|
8
12
|
}
|
|
13
|
+
exports.strToBytes = strToBytes;
|
|
14
|
+
/** Turn a Uint8Array into a UTF-8 encoded string */
|
|
15
|
+
function bytesToStr(bytes) {
|
|
16
|
+
return decoder.decode(bytes);
|
|
17
|
+
}
|
|
18
|
+
exports.bytesToStr = bytesToStr;
|
|
9
19
|
//# sourceMappingURL=str.js.map
|
package/dist/io/str.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"str.js","sourceRoot":"","sources":["../../src/io/str.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,mEAAmE;AACnE,sEAAsE
|
|
1
|
+
{"version":3,"file":"str.js","sourceRoot":"","sources":["../../src/io/str.ts"],"names":[],"mappings":";AAAA,4CAA4C;AAC5C,mEAAmE;AACnE,sEAAsE;;;AAEtE,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAClC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAElC,oDAAoD;AACpD,SAAgB,UAAU,CAAC,GAAW;IAClC,OAAO,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AAC/B,CAAC;AAFD,gCAEC;AAED,oDAAoD;AACpD,SAAgB,UAAU,CAAC,KAAiB;IACxC,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAFD,gCAEC"}
|
package/dist/io/varsize.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
// Copyright (c) 2024 The Bitcoin developers
|
|
2
3
|
// Distributed under the MIT software license, see the accompanying
|
|
3
4
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.writeVarSize = exports.readVarSize = void 0;
|
|
4
7
|
/**
|
|
5
8
|
* Read a VARINT, which encodes a size in the Bitcoin protocol, see:
|
|
6
9
|
* https://en.bitcoin.it/wiki/Protocol_documentation#Variable_length_integer
|
|
7
10
|
*/
|
|
8
|
-
|
|
11
|
+
function readVarSize(bytes) {
|
|
9
12
|
const firstByte = bytes.readU8();
|
|
10
13
|
if (firstByte <= 0xfc) {
|
|
11
14
|
return firstByte;
|
|
@@ -23,13 +26,14 @@ export function readVarSize(bytes) {
|
|
|
23
26
|
throw 'Unreachable';
|
|
24
27
|
}
|
|
25
28
|
}
|
|
29
|
+
exports.readVarSize = readVarSize;
|
|
26
30
|
/**
|
|
27
31
|
* Write a VARINT, which encodes a size in the Bitcoin protocol, see:
|
|
28
32
|
* https://en.bitcoin.it/wiki/Protocol_documentation#Variable_length_integer
|
|
29
33
|
* @param size Size integer to write
|
|
30
34
|
* @param writer Writer to write the size to
|
|
31
35
|
*/
|
|
32
|
-
|
|
36
|
+
function writeVarSize(size, writer) {
|
|
33
37
|
if (size <= 0xfc) {
|
|
34
38
|
writer.putU8(size);
|
|
35
39
|
}
|
|
@@ -49,4 +53,5 @@ export function writeVarSize(size, writer) {
|
|
|
49
53
|
throw 'Integer too big for VarSize';
|
|
50
54
|
}
|
|
51
55
|
}
|
|
56
|
+
exports.writeVarSize = writeVarSize;
|
|
52
57
|
//# sourceMappingURL=varsize.js.map
|
package/dist/io/varsize.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"varsize.js","sourceRoot":"","sources":["../../src/io/varsize.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,mEAAmE;AACnE,sEAAsE
|
|
1
|
+
{"version":3,"file":"varsize.js","sourceRoot":"","sources":["../../src/io/varsize.ts"],"names":[],"mappings":";AAAA,4CAA4C;AAC5C,mEAAmE;AACnE,sEAAsE;;;AAMtE;;;GAGG;AACH,SAAgB,WAAW,CAAC,KAAY;IACpC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;IACjC,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QACpB,OAAO,SAAS,CAAC;IACrB,CAAC;SAAM,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;SAAM,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;SAAM,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;SAAM,CAAC;QACJ,MAAM,aAAa,CAAC;IACxB,CAAC;AACL,CAAC;AAbD,kCAaC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,IAAS,EAAE,MAAc;IAClD,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;SAAM,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;QACxB,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;SAAM,IAAI,IAAI,IAAI,UAAU,EAAE,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;SAAM,IAAI,IAAI,IAAI,mBAAmB,EAAE,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;SAAM,CAAC;QACJ,MAAM,6BAA6B,CAAC;IACxC,CAAC;AACL,CAAC;AAfD,oCAeC"}
|
package/dist/io/writer.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
// Copyright (c) 2024 The Bitcoin developers
|
|
2
3
|
// Distributed under the MIT software license, see the accompanying
|
|
3
4
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
4
|
-
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
6
|
//# sourceMappingURL=writer.js.map
|
package/dist/io/writer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/io/writer.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,mEAAmE;AACnE,sEAAsE"}
|
|
1
|
+
{"version":3,"file":"writer.js","sourceRoot":"","sources":["../../src/io/writer.ts"],"names":[],"mappings":";AAAA,4CAA4C;AAC5C,mEAAmE;AACnE,sEAAsE"}
|
package/dist/io/writerbytes.js
CHANGED
|
@@ -1,13 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
// Copyright (c) 2024 The Bitcoin developers
|
|
2
3
|
// Distributed under the MIT software license, see the accompanying
|
|
3
4
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.WriterBytes = void 0;
|
|
4
7
|
/**
|
|
5
8
|
* Implementation of `Writer` which writes to an array of pre-allocated size.
|
|
6
9
|
* It's intended to be used in unison with `WriterLength`, which first finds
|
|
7
10
|
* out the length of the serialized object and then the actual data is written
|
|
8
11
|
* using this class.
|
|
9
12
|
**/
|
|
10
|
-
|
|
13
|
+
class WriterBytes {
|
|
11
14
|
/** Create a new WriterBytes with the given pre-allocated size */
|
|
12
15
|
constructor(length) {
|
|
13
16
|
this.data = new Uint8Array(length);
|
|
@@ -64,4 +67,5 @@ export class WriterBytes {
|
|
|
64
67
|
}
|
|
65
68
|
}
|
|
66
69
|
}
|
|
70
|
+
exports.WriterBytes = WriterBytes;
|
|
67
71
|
//# sourceMappingURL=writerbytes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writerbytes.js","sourceRoot":"","sources":["../../src/io/writerbytes.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,mEAAmE;AACnE,sEAAsE
|
|
1
|
+
{"version":3,"file":"writerbytes.js","sourceRoot":"","sources":["../../src/io/writerbytes.ts"],"names":[],"mappings":"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"}
|
package/dist/io/writerlength.js
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
// Copyright (c) 2024 The Bitcoin developers
|
|
2
3
|
// Distributed under the MIT software license, see the accompanying
|
|
3
4
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.WriterLength = void 0;
|
|
4
7
|
/**
|
|
5
8
|
* Writer implementation which only measures the length of the serialized
|
|
6
9
|
* output but doesn't actually store any byte data.
|
|
7
10
|
**/
|
|
8
|
-
|
|
11
|
+
class WriterLength {
|
|
9
12
|
constructor() {
|
|
10
13
|
this.length = 0;
|
|
11
14
|
}
|
|
@@ -30,4 +33,5 @@ export class WriterLength {
|
|
|
30
33
|
this.length += bytes.length;
|
|
31
34
|
}
|
|
32
35
|
}
|
|
36
|
+
exports.WriterLength = WriterLength;
|
|
33
37
|
//# sourceMappingURL=writerlength.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writerlength.js","sourceRoot":"","sources":["../../src/io/writerlength.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,mEAAmE;AACnE,sEAAsE
|
|
1
|
+
{"version":3,"file":"writerlength.js","sourceRoot":"","sources":["../../src/io/writerlength.ts"],"names":[],"mappings":";AAAA,4CAA4C;AAC5C,mEAAmE;AACnE,sEAAsE;;;AAKtE;;;IAGI;AACJ,MAAa,YAAY;IAGrB;QACI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;IACpB,CAAC;IAED,0BAA0B;IACnB,KAAK,CAAC,MAAW;QACpB,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAED,sDAAsD;IAC/C,MAAM,CAAC,MAAW;QACrB,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,sDAAsD;IAC/C,MAAM,CAAC,MAAW;QACrB,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,uDAAuD;IAChD,MAAM,CAAC,MAAW;QACrB,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,4BAA4B;IACrB,QAAQ,CAAC,KAAiB;QAC7B,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC;IAChC,CAAC;CACJ;AA/BD,oCA+BC"}
|
package/dist/op.js
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
// Copyright (c) 2024 The Bitcoin developers
|
|
2
3
|
// Distributed under the MIT software license, see the accompanying
|
|
3
4
|
// file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
|
4
|
-
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.pushBytesOp = exports.writeOp = exports.readOp = exports.isPushOp = void 0;
|
|
7
|
+
const opcode_js_1 = require("./opcode.js");
|
|
5
8
|
/** Returns true if the given object is a `PushOp` */
|
|
6
|
-
|
|
9
|
+
function isPushOp(op) {
|
|
7
10
|
if (!op || typeof op !== 'object') {
|
|
8
11
|
return false;
|
|
9
12
|
}
|
|
@@ -12,18 +15,19 @@ export function isPushOp(op) {
|
|
|
12
15
|
}
|
|
13
16
|
return typeof op.opcode === 'number' && op.data instanceof Uint8Array;
|
|
14
17
|
}
|
|
18
|
+
exports.isPushOp = isPushOp;
|
|
15
19
|
/** Read a single Script operation from the bytes */
|
|
16
|
-
|
|
20
|
+
function readOp(bytes) {
|
|
17
21
|
const opcode = bytes.readU8();
|
|
18
22
|
let numBytes;
|
|
19
23
|
switch (opcode) {
|
|
20
|
-
case OP_PUSHDATA1:
|
|
24
|
+
case opcode_js_1.OP_PUSHDATA1:
|
|
21
25
|
numBytes = bytes.readU8();
|
|
22
26
|
break;
|
|
23
|
-
case OP_PUSHDATA2:
|
|
27
|
+
case opcode_js_1.OP_PUSHDATA2:
|
|
24
28
|
numBytes = bytes.readU16();
|
|
25
29
|
break;
|
|
26
|
-
case OP_PUSHDATA4:
|
|
30
|
+
case opcode_js_1.OP_PUSHDATA4:
|
|
27
31
|
numBytes = bytes.readU32();
|
|
28
32
|
break;
|
|
29
33
|
default:
|
|
@@ -36,8 +40,9 @@ export function readOp(bytes) {
|
|
|
36
40
|
const data = bytes.readBytes(numBytes);
|
|
37
41
|
return { opcode, data };
|
|
38
42
|
}
|
|
43
|
+
exports.readOp = readOp;
|
|
39
44
|
/** Write a Script operation to the writer */
|
|
40
|
-
|
|
45
|
+
function writeOp(op, writer) {
|
|
41
46
|
if (typeof op == 'number') {
|
|
42
47
|
writer.putU8(op);
|
|
43
48
|
return;
|
|
@@ -47,13 +52,13 @@ export function writeOp(op, writer) {
|
|
|
47
52
|
}
|
|
48
53
|
writer.putU8(op.opcode);
|
|
49
54
|
switch (op.opcode) {
|
|
50
|
-
case OP_PUSHDATA1:
|
|
55
|
+
case opcode_js_1.OP_PUSHDATA1:
|
|
51
56
|
writer.putU8(op.data.length);
|
|
52
57
|
break;
|
|
53
|
-
case OP_PUSHDATA2:
|
|
58
|
+
case opcode_js_1.OP_PUSHDATA2:
|
|
54
59
|
writer.putU16(op.data.length);
|
|
55
60
|
break;
|
|
56
|
-
case OP_PUSHDATA4:
|
|
61
|
+
case opcode_js_1.OP_PUSHDATA4:
|
|
57
62
|
writer.putU32(op.data.length);
|
|
58
63
|
break;
|
|
59
64
|
default:
|
|
@@ -67,17 +72,18 @@ export function writeOp(op, writer) {
|
|
|
67
72
|
}
|
|
68
73
|
writer.putBytes(op.data);
|
|
69
74
|
}
|
|
75
|
+
exports.writeOp = writeOp;
|
|
70
76
|
/** Return an Op that minimally pushes the given bytes onto the stack */
|
|
71
|
-
|
|
77
|
+
function pushBytesOp(data) {
|
|
72
78
|
if (data.length == 0) {
|
|
73
|
-
return OP_0;
|
|
79
|
+
return opcode_js_1.OP_0;
|
|
74
80
|
}
|
|
75
81
|
else if (data.length == 1) {
|
|
76
82
|
if (data[0] >= 1 && data[0] <= 16) {
|
|
77
83
|
return data[0] + 0x50;
|
|
78
84
|
}
|
|
79
85
|
else if (data[0] == 0x81) {
|
|
80
|
-
return OP_1NEGATE;
|
|
86
|
+
return opcode_js_1.OP_1NEGATE;
|
|
81
87
|
}
|
|
82
88
|
}
|
|
83
89
|
let opcode;
|
|
@@ -85,17 +91,18 @@ export function pushBytesOp(data) {
|
|
|
85
91
|
opcode = data.length;
|
|
86
92
|
}
|
|
87
93
|
else if (data.length >= 0x4c && data.length <= 0xff) {
|
|
88
|
-
opcode = OP_PUSHDATA1;
|
|
94
|
+
opcode = opcode_js_1.OP_PUSHDATA1;
|
|
89
95
|
}
|
|
90
96
|
else if (data.length >= 0x100 && data.length <= 0xffff) {
|
|
91
|
-
opcode = OP_PUSHDATA2;
|
|
97
|
+
opcode = opcode_js_1.OP_PUSHDATA2;
|
|
92
98
|
}
|
|
93
99
|
else if (data.length >= 0x10000 && data.length <= 0xffffffff) {
|
|
94
|
-
opcode = OP_PUSHDATA4;
|
|
100
|
+
opcode = opcode_js_1.OP_PUSHDATA4;
|
|
95
101
|
}
|
|
96
102
|
else {
|
|
97
103
|
throw 'Bytes way too large';
|
|
98
104
|
}
|
|
99
105
|
return { opcode, data };
|
|
100
106
|
}
|
|
107
|
+
exports.pushBytesOp = pushBytesOp;
|
|
101
108
|
//# sourceMappingURL=op.js.map
|
package/dist/op.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"op.js","sourceRoot":"","sources":["../src/op.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,mEAAmE;AACnE,sEAAsE
|
|
1
|
+
{"version":3,"file":"op.js","sourceRoot":"","sources":["../src/op.ts"],"names":[],"mappings":"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"}
|