@bsv/sdk 1.10.2 → 1.10.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 (63) hide show
  1. package/dist/cjs/package.json +1 -1
  2. package/dist/cjs/src/primitives/ReaderUint8Array.js +180 -0
  3. package/dist/cjs/src/primitives/ReaderUint8Array.js.map +1 -0
  4. package/dist/cjs/src/primitives/WriterUint8Array.js +173 -0
  5. package/dist/cjs/src/primitives/WriterUint8Array.js.map +1 -0
  6. package/dist/cjs/src/primitives/utils.js +20 -2
  7. package/dist/cjs/src/primitives/utils.js.map +1 -1
  8. package/dist/cjs/src/transaction/Beef.js +85 -27
  9. package/dist/cjs/src/transaction/Beef.js.map +1 -1
  10. package/dist/cjs/src/transaction/BeefTx.js +32 -14
  11. package/dist/cjs/src/transaction/BeefTx.js.map +1 -1
  12. package/dist/cjs/src/transaction/MerklePath.js +25 -6
  13. package/dist/cjs/src/transaction/MerklePath.js.map +1 -1
  14. package/dist/cjs/src/transaction/Transaction.js +77 -26
  15. package/dist/cjs/src/transaction/Transaction.js.map +1 -1
  16. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  17. package/dist/esm/src/primitives/ReaderUint8Array.js +176 -0
  18. package/dist/esm/src/primitives/ReaderUint8Array.js.map +1 -0
  19. package/dist/esm/src/primitives/WriterUint8Array.js +169 -0
  20. package/dist/esm/src/primitives/WriterUint8Array.js.map +1 -0
  21. package/dist/esm/src/primitives/utils.js +18 -1
  22. package/dist/esm/src/primitives/utils.js.map +1 -1
  23. package/dist/esm/src/transaction/Beef.js +86 -28
  24. package/dist/esm/src/transaction/Beef.js.map +1 -1
  25. package/dist/esm/src/transaction/BeefTx.js +33 -15
  26. package/dist/esm/src/transaction/BeefTx.js.map +1 -1
  27. package/dist/esm/src/transaction/MerklePath.js +26 -7
  28. package/dist/esm/src/transaction/MerklePath.js.map +1 -1
  29. package/dist/esm/src/transaction/Transaction.js +78 -27
  30. package/dist/esm/src/transaction/Transaction.js.map +1 -1
  31. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  32. package/dist/types/src/primitives/ReaderUint8Array.d.ts +32 -0
  33. package/dist/types/src/primitives/ReaderUint8Array.d.ts.map +1 -0
  34. package/dist/types/src/primitives/WriterUint8Array.d.ts +54 -0
  35. package/dist/types/src/primitives/WriterUint8Array.d.ts.map +1 -0
  36. package/dist/types/src/primitives/utils.d.ts +15 -3
  37. package/dist/types/src/primitives/utils.d.ts.map +1 -1
  38. package/dist/types/src/transaction/Beef.d.ts +24 -7
  39. package/dist/types/src/transaction/Beef.d.ts.map +1 -1
  40. package/dist/types/src/transaction/BeefTx.d.ts +13 -6
  41. package/dist/types/src/transaction/BeefTx.d.ts.map +1 -1
  42. package/dist/types/src/transaction/MerklePath.d.ts +16 -3
  43. package/dist/types/src/transaction/MerklePath.d.ts.map +1 -1
  44. package/dist/types/src/transaction/Transaction.d.ts +44 -7
  45. package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
  46. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  47. package/dist/umd/bundle.js +3 -3
  48. package/dist/umd/bundle.js.map +1 -1
  49. package/docs/reference/primitives.md +167 -29
  50. package/docs/reference/script.md +1 -1
  51. package/docs/reference/transaction.md +177 -34
  52. package/package.json +1 -1
  53. package/src/overlay-tools/__tests/SHIPBroadcaster.test.ts +9 -0
  54. package/src/primitives/ReaderUint8Array.ts +196 -0
  55. package/src/primitives/WriterUint8Array.ts +195 -0
  56. package/src/primitives/__tests/ReaderUint8Array.test.ts +317 -0
  57. package/src/primitives/__tests/WriterUint8Array.test.ts +208 -0
  58. package/src/primitives/utils.ts +20 -2
  59. package/src/transaction/Beef.ts +103 -40
  60. package/src/transaction/BeefTx.ts +38 -19
  61. package/src/transaction/MerklePath.ts +30 -9
  62. package/src/transaction/Transaction.ts +91 -38
  63. package/src/transaction/__tests/Beef.test.ts +75 -0
@@ -0,0 +1,176 @@
1
+ import BigNumber from './BigNumber.js';
2
+ import { Reader } from './utils.js';
3
+ /**
4
+ * Reader for serialized Uint8Array binary data.
5
+ */
6
+ export class ReaderUint8Array {
7
+ bin;
8
+ pos;
9
+ length;
10
+ static makeReader(bin, pos = 0) {
11
+ if (bin instanceof Uint8Array) {
12
+ return new ReaderUint8Array(bin, pos);
13
+ }
14
+ if (Array.isArray(bin)) {
15
+ return new Reader(bin, pos);
16
+ }
17
+ throw new Error('ReaderUint8Array.makeReader: bin must be Uint8Array or number[]');
18
+ }
19
+ constructor(bin = new Uint8Array(0), pos = 0) {
20
+ if (bin instanceof Uint8Array) {
21
+ this.bin = bin;
22
+ }
23
+ else if (Array.isArray(bin)) {
24
+ this.bin = new Uint8Array(bin);
25
+ }
26
+ else {
27
+ throw new Error('ReaderUint8Array constructor: bin must be Uint8Array or number[]');
28
+ }
29
+ this.pos = pos;
30
+ this.length = this.bin.length;
31
+ }
32
+ eof() {
33
+ return this.pos >= this.length;
34
+ }
35
+ read(len = this.length) {
36
+ const start = this.pos;
37
+ const end = this.pos + len;
38
+ this.pos = end;
39
+ return this.bin.slice(start, end);
40
+ }
41
+ readReverse(len = this.length) {
42
+ const buf2 = new Uint8Array(len);
43
+ for (let i = 0; i < len; i++) {
44
+ buf2[i] = this.bin[this.pos + len - 1 - i];
45
+ }
46
+ this.pos += len;
47
+ return buf2;
48
+ }
49
+ readUInt8() {
50
+ const val = this.bin[this.pos];
51
+ this.pos += 1;
52
+ return val;
53
+ }
54
+ readInt8() {
55
+ const val = this.bin[this.pos];
56
+ this.pos += 1;
57
+ // If the sign bit is set, convert to negative value
58
+ return (val & 0x80) !== 0 ? val - 0x100 : val;
59
+ }
60
+ readUInt16BE() {
61
+ const val = (this.bin[this.pos] << 8) | this.bin[this.pos + 1];
62
+ this.pos += 2;
63
+ return val;
64
+ }
65
+ readInt16BE() {
66
+ const val = this.readUInt16BE();
67
+ // If the sign bit is set, convert to negative value
68
+ return (val & 0x8000) !== 0 ? val - 0x10000 : val;
69
+ }
70
+ readUInt16LE() {
71
+ const val = this.bin[this.pos] | (this.bin[this.pos + 1] << 8);
72
+ this.pos += 2;
73
+ return val;
74
+ }
75
+ readInt16LE() {
76
+ const val = this.readUInt16LE();
77
+ // If the sign bit is set, convert to negative value
78
+ const x = (val & 0x8000) !== 0 ? val - 0x10000 : val;
79
+ return x;
80
+ }
81
+ readUInt32BE() {
82
+ const val = this.bin[this.pos] * 0x1000000 + // Shift the first byte by 24 bits
83
+ ((this.bin[this.pos + 1] << 16) | // Shift the second byte by 16 bits
84
+ (this.bin[this.pos + 2] << 8) | // Shift the third byte by 8 bits
85
+ this.bin[this.pos + 3]); // The fourth byte
86
+ this.pos += 4;
87
+ return val;
88
+ }
89
+ readInt32BE() {
90
+ const val = this.readUInt32BE();
91
+ // If the sign bit is set, convert to negative value
92
+ return (val & 0x80000000) !== 0 ? val - 0x100000000 : val;
93
+ }
94
+ readUInt32LE() {
95
+ const val = (this.bin[this.pos] |
96
+ (this.bin[this.pos + 1] << 8) |
97
+ (this.bin[this.pos + 2] << 16) |
98
+ (this.bin[this.pos + 3] << 24)) >>>
99
+ 0;
100
+ this.pos += 4;
101
+ return val;
102
+ }
103
+ readInt32LE() {
104
+ const val = this.readUInt32LE();
105
+ // Explicitly check if the sign bit is set and then convert to a negative value
106
+ return (val & 0x80000000) !== 0 ? val - 0x100000000 : val;
107
+ }
108
+ readUInt64BEBn() {
109
+ const bin = Array.from(this.bin.slice(this.pos, this.pos + 8));
110
+ const bn = new BigNumber(bin);
111
+ this.pos = this.pos + 8;
112
+ return bn;
113
+ }
114
+ readUInt64LEBn() {
115
+ const bin = Array.from(this.readReverse(8));
116
+ const bn = new BigNumber(bin);
117
+ return bn;
118
+ }
119
+ readInt64LEBn() {
120
+ const OverflowInt64 = new BigNumber(2).pow(new BigNumber(63));
121
+ const OverflowUint64 = new BigNumber(2).pow(new BigNumber(64));
122
+ const bin = Array.from(this.readReverse(8));
123
+ let bn = new BigNumber(bin);
124
+ if (bn.gte(OverflowInt64)) {
125
+ bn = bn.sub(OverflowUint64); // Adjust for negative numbers
126
+ }
127
+ return bn;
128
+ }
129
+ readVarIntNum(signed = true) {
130
+ const first = this.readUInt8();
131
+ let bn;
132
+ switch (first) {
133
+ case 0xfd:
134
+ return this.readUInt16LE();
135
+ case 0xfe:
136
+ return this.readUInt32LE();
137
+ case 0xff:
138
+ bn = signed ? this.readInt64LEBn() : this.readUInt64LEBn();
139
+ if (bn.lte(new BigNumber(2).pow(new BigNumber(53)))) {
140
+ return bn.toNumber();
141
+ }
142
+ else {
143
+ throw new Error('number too large to retain precision - use readVarIntBn');
144
+ }
145
+ default:
146
+ return first;
147
+ }
148
+ }
149
+ readVarInt() {
150
+ const first = this.bin[this.pos];
151
+ switch (first) {
152
+ case 0xfd:
153
+ return this.read(1 + 2);
154
+ case 0xfe:
155
+ return this.read(1 + 4);
156
+ case 0xff:
157
+ return this.read(1 + 8);
158
+ default:
159
+ return this.read(1);
160
+ }
161
+ }
162
+ readVarIntBn() {
163
+ const first = this.readUInt8();
164
+ switch (first) {
165
+ case 0xfd:
166
+ return new BigNumber(this.readUInt16LE());
167
+ case 0xfe:
168
+ return new BigNumber(this.readUInt32LE());
169
+ case 0xff:
170
+ return this.readUInt64LEBn();
171
+ default:
172
+ return new BigNumber(first);
173
+ }
174
+ }
175
+ }
176
+ //# sourceMappingURL=ReaderUint8Array.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReaderUint8Array.js","sourceRoot":"","sources":["../../../../src/primitives/ReaderUint8Array.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,169 @@
1
+ import BigNumber from './BigNumber.js';
2
+ import { Writer } from './utils.js';
3
+ /**
4
+ * WriterUint8Array is a utility class for writing binary data into a dynamically
5
+ * growing Uint8Array buffer. It provides methods to write various integer types
6
+ * and variable-length integers, similar to the Writer class but optimized for
7
+ * Uint8Array usage.
8
+ */
9
+ export class WriterUint8Array {
10
+ buffer;
11
+ pos;
12
+ capacity;
13
+ constructor(bufs, initialCapacity = 256) {
14
+ if ((bufs != null) && bufs.length > 0) {
15
+ const totalLength = bufs.reduce((sum, buf) => sum + buf.length, 0);
16
+ initialCapacity = Math.max(initialCapacity, totalLength);
17
+ }
18
+ this.buffer = new Uint8Array(initialCapacity);
19
+ this.pos = 0;
20
+ this.capacity = initialCapacity;
21
+ if (bufs != null) {
22
+ for (const buf of bufs) {
23
+ this.write(buf);
24
+ }
25
+ }
26
+ }
27
+ /**
28
+ * Returns the current length of written data
29
+ */
30
+ getLength() {
31
+ return this.pos;
32
+ }
33
+ /**
34
+ * @return the written data as Uint8Array copy of the internal buffer
35
+ */
36
+ toUint8Array() {
37
+ return this.buffer.slice(0, this.pos);
38
+ }
39
+ /**
40
+ * Legacy compatibility method – returns number[] (Byte[])
41
+ */
42
+ toArray() {
43
+ return Array.from(this.toUint8Array());
44
+ }
45
+ /**
46
+ * @return the written data as Uint8Array. CAUTION: This is zero-copy subarray of the internal buffer).
47
+ */
48
+ toUint8ArrayZeroCopy() {
49
+ return this.buffer.subarray(0, this.pos);
50
+ }
51
+ ensureCapacity(needed) {
52
+ if (this.pos + needed > this.capacity) {
53
+ let newCapacity = this.capacity * 2;
54
+ while (this.pos + needed > newCapacity) {
55
+ newCapacity *= 2;
56
+ }
57
+ const newBuffer = new Uint8Array(newCapacity);
58
+ newBuffer.set(this.buffer);
59
+ this.buffer = newBuffer;
60
+ this.capacity = newCapacity;
61
+ }
62
+ }
63
+ write(bytes) {
64
+ const data = bytes instanceof Uint8Array ? bytes : new Uint8Array(bytes);
65
+ this.ensureCapacity(data.length);
66
+ this.buffer.set(data, this.pos);
67
+ this.pos += data.length;
68
+ return this;
69
+ }
70
+ writeReverse(buf) {
71
+ const data = buf instanceof Uint8Array ? buf : new Uint8Array(buf);
72
+ this.ensureCapacity(data.length);
73
+ for (let i = data.length - 1; i >= 0; i--) {
74
+ this.buffer[this.pos] = data[i];
75
+ this.pos += 1;
76
+ }
77
+ return this;
78
+ }
79
+ writeUInt8(value) {
80
+ this.ensureCapacity(1);
81
+ this.buffer[this.pos] = value & 0xff;
82
+ this.pos += 1;
83
+ return this;
84
+ }
85
+ writeInt8(value) {
86
+ this.writeUInt8(value);
87
+ return this;
88
+ }
89
+ writeUInt16LE(value) {
90
+ this.ensureCapacity(2);
91
+ this.buffer[this.pos] = value & 0xff;
92
+ this.buffer[this.pos + 1] = (value >> 8) & 0xff;
93
+ this.pos += 2;
94
+ return this;
95
+ }
96
+ writeUInt16BE(value) {
97
+ this.ensureCapacity(2);
98
+ this.buffer[this.pos] = (value >> 8) & 0xff;
99
+ this.buffer[this.pos + 1] = value & 0xff;
100
+ this.pos += 2;
101
+ return this;
102
+ }
103
+ writeInt16LE(value) {
104
+ this.writeUInt16LE(value & 0xffff);
105
+ return this;
106
+ }
107
+ writeInt16BE(value) {
108
+ this.writeUInt16BE(value & 0xffff);
109
+ return this;
110
+ }
111
+ writeUInt32LE(value) {
112
+ this.ensureCapacity(4);
113
+ this.buffer[this.pos] = value & 0xff;
114
+ this.buffer[this.pos + 1] = (value >> 8) & 0xff;
115
+ this.buffer[this.pos + 2] = (value >> 16) & 0xff;
116
+ this.buffer[this.pos + 3] = (value >> 24) & 0xff;
117
+ this.pos += 4;
118
+ return this;
119
+ }
120
+ writeUInt32BE(value) {
121
+ this.ensureCapacity(4);
122
+ this.buffer[this.pos] = (value >> 24) & 0xff;
123
+ this.buffer[this.pos + 1] = (value >> 16) & 0xff;
124
+ this.buffer[this.pos + 2] = (value >> 8) & 0xff;
125
+ this.buffer[this.pos + 3] = value & 0xff;
126
+ this.pos += 4;
127
+ return this;
128
+ }
129
+ writeInt32LE(value) {
130
+ this.writeUInt32LE(value >>> 0);
131
+ return this;
132
+ }
133
+ writeInt32BE(value) {
134
+ this.writeUInt32BE(value >>> 0);
135
+ return this;
136
+ }
137
+ writeUInt64BEBn(bn) {
138
+ const buf = bn.toArray('be', 8);
139
+ this.write(buf);
140
+ return this;
141
+ }
142
+ writeUInt64LEBn(bn) {
143
+ const buf = bn.toArray('be', 8);
144
+ this.writeReverse(buf);
145
+ return this;
146
+ }
147
+ writeUInt64LE(n) {
148
+ const buf = new BigNumber(n).toArray('be', 8);
149
+ this.writeReverse(buf);
150
+ return this;
151
+ }
152
+ writeVarIntNum(n) {
153
+ const buf = Writer.varIntNum(n);
154
+ this.write(buf);
155
+ return this;
156
+ }
157
+ writeVarIntBn(bn) {
158
+ const buf = Writer.varIntBn(bn);
159
+ this.write(buf);
160
+ return this;
161
+ }
162
+ /**
163
+ * Resets the writer to empty state (reuses the buffer)
164
+ */
165
+ reset() {
166
+ this.pos = 0;
167
+ }
168
+ }
169
+ //# sourceMappingURL=WriterUint8Array.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"WriterUint8Array.js","sourceRoot":"","sources":["../../../../src/primitives/WriterUint8Array.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,gBAAgB,CAAA;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAInC;;;;;GAKG;AACH,MAAM,OAAO,gBAAgB;IACnB,MAAM,CAAY;IAClB,GAAG,CAAQ;IACX,QAAQ,CAAQ;IAExB,YAAa,IAAoB,EAAE,kBAA0B,GAAG;QAC9D,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;YAClE,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,WAAW,CAAC,CAAA;QAC1D,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,eAAe,CAAC,CAAA;QAC7C,IAAI,CAAC,GAAG,GAAG,CAAC,CAAA;QACZ,IAAI,CAAC,QAAQ,GAAG,eAAe,CAAA;QAC/B,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,GAAG,CAAA;IACjB,CAAC;IAED;;OAEG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IACvC,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAA;IACxC,CAAC;IAED;;OAEG;IACH,oBAAoB;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;IAC1C,CAAC;IAEO,cAAc,CAAE,MAAc;QACpC,IAAI,IAAI,CAAC,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;YACtC,IAAI,WAAW,GAAG,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAA;YACnC,OAAO,IAAI,CAAC,GAAG,GAAG,MAAM,GAAG,WAAW,EAAE,CAAC;gBACvC,WAAW,IAAI,CAAC,CAAA;YAClB,CAAC;YACD,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAA;YAC7C,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC1B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;YACvB,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAA;QAC7B,CAAC;IACH,CAAC;IAED,KAAK,CAAE,KAAkB;QACvB,MAAM,IAAI,GAAG,KAAK,YAAY,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAA;QACxE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAChC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;QAC/B,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAA;QACvB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,YAAY,CAAE,GAAgB;QAC5B,MAAM,IAAI,GAAG,GAAG,YAAY,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAA;QAClE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAChC,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;YAC/B,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;QACf,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,UAAU,CAAE,KAAa;QACvB,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;QACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,IAAI,CAAA;QACpC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;QACb,OAAO,IAAI,CAAA;IACb,CAAC;IAED,SAAS,CAAE,KAAa;QACtB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,aAAa,CAAE,KAAa;QAC1B,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;QACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,IAAI,CAAA;QACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAA;QAC/C,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;QACb,OAAO,IAAI,CAAA;IACb,CAAC;IAED,aAAa,CAAE,KAAa;QAC1B,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;QACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAA;QAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAA;QACxC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;QACb,OAAO,IAAI,CAAA;IACb,CAAC;IAED,YAAY,CAAE,KAAa;QACzB,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,MAAM,CAAC,CAAA;QAClC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,YAAY,CAAE,KAAa;QACzB,IAAI,CAAC,aAAa,CAAC,KAAK,GAAG,MAAM,CAAC,CAAA;QAClC,OAAO,IAAI,CAAA;IACb,CAAC;IAED,aAAa,CAAE,KAAa;QAC1B,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;QACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,IAAI,CAAA;QACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAA;QAC/C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAA;QAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAA;QAChD,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;QACb,OAAO,IAAI,CAAA;IACb,CAAC;IAED,aAAa,CAAE,KAAa;QAC1B,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;QACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAA;QAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAA;QAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAA;QAC/C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAA;QACxC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;QACb,OAAO,IAAI,CAAA;IACb,CAAC;IAED,YAAY,CAAE,KAAa;QACzB,IAAI,CAAC,aAAa,CAAC,KAAK,KAAK,CAAC,CAAC,CAAA;QAC/B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,YAAY,CAAE,KAAa;QACzB,IAAI,CAAC,aAAa,CAAC,KAAK,KAAK,CAAC,CAAC,CAAA;QAC/B,OAAO,IAAI,CAAA;IACb,CAAC;IAED,eAAe,CAAE,EAAa;QAC5B,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAC/B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACf,OAAO,IAAI,CAAA;IACb,CAAC;IAED,eAAe,CAAE,EAAa;QAC5B,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAC/B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,aAAa,CAAE,CAAS;QACtB,MAAM,GAAG,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAA;QAC7C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAA;QACtB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,cAAc,CAAE,CAAS;QACvB,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAC/B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACf,OAAO,IAAI,CAAA;IACb,CAAC;IAED,aAAa,CAAE,EAAa;QAC1B,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAC/B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACf,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,GAAG,GAAG,CAAC,CAAA;IACd,CAAC;CACF"}
@@ -1,6 +1,10 @@
1
1
  import BigNumber from './BigNumber.js';
2
2
  import { hash256 } from './Hash.js';
3
3
  import { assertValidHex } from './hex.js';
4
+ import { WriterUint8Array } from './WriterUint8Array.js';
5
+ import { ReaderUint8Array } from './ReaderUint8Array.js';
6
+ export { WriterUint8Array };
7
+ export { ReaderUint8Array };
4
8
  const BufferCtor = typeof globalThis !== 'undefined' ? globalThis.Buffer : undefined;
5
9
  const CAN_USE_BUFFER = BufferCtor != null && typeof BufferCtor.from === 'function';
6
10
  /**
@@ -39,11 +43,24 @@ export const toHex = (msg) => {
39
43
  }
40
44
  return out.join('');
41
45
  };
46
+ /**
47
+ * Converts various message formats into a Uint8Array.
48
+ * Supports Uint8Array, arrays of bytes, hexadecimal strings, base64 strings, and UTF-8 strings.
49
+ *
50
+ * @param {any} msg - The input message (Uint8Array, number[], Array or string).
51
+ * @param {('hex' | 'utf8' | 'base64')} enc - Specifies the string encoding, if applicable.
52
+ * @returns {Uint8Array}
53
+ */
54
+ export const toUint8Array = (msg, enc) => {
55
+ if (msg instanceof Uint8Array)
56
+ return msg;
57
+ return new Uint8Array(toArray(msg, enc));
58
+ };
42
59
  /**
43
60
  * Converts various message formats into an array of numbers.
44
61
  * Supports arrays, hexadecimal strings, base64 strings, and UTF-8 strings.
45
62
  *
46
- * @param {any} msg - The input message (array or string).
63
+ * @param {any} msg - The input message (Uint8Array, number[], Array or string).
47
64
  * @param {('hex' | 'utf8' | 'base64')} enc - Specifies the string encoding, if applicable.
48
65
  * @returns {any[]} - Array representation of the input.
49
66
  */
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/primitives/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/primitives/utils.ts"],"names":[],"mappings":"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"}