@ecency/hive-tx 7.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.
Files changed (214) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +206 -0
  3. package/dist/browser/hive-tx.min.js +3 -0
  4. package/dist/browser/hive-tx.min.js.LICENSE.txt +5 -0
  5. package/dist/browser/hive-tx.min.js.map +1 -0
  6. package/dist/cjs/Transaction.d.ts +71 -0
  7. package/dist/cjs/Transaction.d.ts.map +1 -0
  8. package/dist/cjs/Transaction.js +199 -0
  9. package/dist/cjs/Transaction.js.map +1 -0
  10. package/dist/cjs/config.d.ts +37 -0
  11. package/dist/cjs/config.d.ts.map +1 -0
  12. package/dist/cjs/config.js +54 -0
  13. package/dist/cjs/config.js.map +1 -0
  14. package/dist/cjs/helpers/Asset.d.ts +21 -0
  15. package/dist/cjs/helpers/Asset.d.ts.map +1 -0
  16. package/dist/cjs/helpers/Asset.js +74 -0
  17. package/dist/cjs/helpers/Asset.js.map +1 -0
  18. package/dist/cjs/helpers/ByteBuffer.d.ts +75 -0
  19. package/dist/cjs/helpers/ByteBuffer.d.ts.map +1 -0
  20. package/dist/cjs/helpers/ByteBuffer.js +555 -0
  21. package/dist/cjs/helpers/ByteBuffer.js.map +1 -0
  22. package/dist/cjs/helpers/HexBuffer.d.ts +10 -0
  23. package/dist/cjs/helpers/HexBuffer.d.ts.map +1 -0
  24. package/dist/cjs/helpers/HexBuffer.js +33 -0
  25. package/dist/cjs/helpers/HexBuffer.js.map +1 -0
  26. package/dist/cjs/helpers/PrivateKey.d.ts +114 -0
  27. package/dist/cjs/helpers/PrivateKey.d.ts.map +1 -0
  28. package/dist/cjs/helpers/PrivateKey.js +212 -0
  29. package/dist/cjs/helpers/PrivateKey.js.map +1 -0
  30. package/dist/cjs/helpers/PublicKey.d.ts +47 -0
  31. package/dist/cjs/helpers/PublicKey.d.ts.map +1 -0
  32. package/dist/cjs/helpers/PublicKey.js +97 -0
  33. package/dist/cjs/helpers/PublicKey.js.map +1 -0
  34. package/dist/cjs/helpers/Signature.d.ts +38 -0
  35. package/dist/cjs/helpers/Signature.d.ts.map +1 -0
  36. package/dist/cjs/helpers/Signature.js +85 -0
  37. package/dist/cjs/helpers/Signature.js.map +1 -0
  38. package/dist/cjs/helpers/aes.d.ts +15 -0
  39. package/dist/cjs/helpers/aes.d.ts.map +1 -0
  40. package/dist/cjs/helpers/aes.js +87 -0
  41. package/dist/cjs/helpers/aes.js.map +1 -0
  42. package/dist/cjs/helpers/call.d.ts +119 -0
  43. package/dist/cjs/helpers/call.d.ts.map +1 -0
  44. package/dist/cjs/helpers/call.js +498 -0
  45. package/dist/cjs/helpers/call.js.map +1 -0
  46. package/dist/cjs/helpers/deserializer.d.ts +4 -0
  47. package/dist/cjs/helpers/deserializer.d.ts.map +1 -0
  48. package/dist/cjs/helpers/deserializer.js +58 -0
  49. package/dist/cjs/helpers/deserializer.js.map +1 -0
  50. package/dist/cjs/helpers/memo.d.ts +36 -0
  51. package/dist/cjs/helpers/memo.d.ts.map +1 -0
  52. package/dist/cjs/helpers/memo.js +167 -0
  53. package/dist/cjs/helpers/memo.js.map +1 -0
  54. package/dist/cjs/helpers/serializer.d.ts +14 -0
  55. package/dist/cjs/helpers/serializer.d.ts.map +1 -0
  56. package/dist/cjs/helpers/serializer.js +639 -0
  57. package/dist/cjs/helpers/serializer.js.map +1 -0
  58. package/dist/cjs/helpers/sleep.d.ts +2 -0
  59. package/dist/cjs/helpers/sleep.d.ts.map +1 -0
  60. package/dist/cjs/helpers/sleep.js +8 -0
  61. package/dist/cjs/helpers/sleep.js.map +1 -0
  62. package/dist/cjs/helpers/utils.d.ts +122 -0
  63. package/dist/cjs/helpers/utils.d.ts.map +1 -0
  64. package/dist/cjs/helpers/utils.js +202 -0
  65. package/dist/cjs/helpers/utils.js.map +1 -0
  66. package/dist/cjs/index.d.ts +10 -0
  67. package/dist/cjs/index.d.ts.map +1 -0
  68. package/dist/cjs/index.js +60 -0
  69. package/dist/cjs/index.js.map +1 -0
  70. package/dist/cjs/type_generators/types/balance.d.ts +1096 -0
  71. package/dist/cjs/type_generators/types/balance.d.ts.map +1 -0
  72. package/dist/cjs/type_generators/types/balance.js +3 -0
  73. package/dist/cjs/type_generators/types/balance.js.map +1 -0
  74. package/dist/cjs/type_generators/types/hafah.d.ts +2154 -0
  75. package/dist/cjs/type_generators/types/hafah.d.ts.map +1 -0
  76. package/dist/cjs/type_generators/types/hafah.js +3 -0
  77. package/dist/cjs/type_generators/types/hafah.js.map +1 -0
  78. package/dist/cjs/type_generators/types/hafbe.d.ts +2121 -0
  79. package/dist/cjs/type_generators/types/hafbe.d.ts.map +1 -0
  80. package/dist/cjs/type_generators/types/hafbe.js +3 -0
  81. package/dist/cjs/type_generators/types/hafbe.js.map +1 -0
  82. package/dist/cjs/type_generators/types/hafsql.d.ts +2439 -0
  83. package/dist/cjs/type_generators/types/hafsql.d.ts.map +1 -0
  84. package/dist/cjs/type_generators/types/hafsql.js +3 -0
  85. package/dist/cjs/type_generators/types/hafsql.js.map +1 -0
  86. package/dist/cjs/type_generators/types/hivemind.d.ts +202 -0
  87. package/dist/cjs/type_generators/types/hivemind.d.ts.map +1 -0
  88. package/dist/cjs/type_generators/types/hivemind.js +3 -0
  89. package/dist/cjs/type_generators/types/hivemind.js.map +1 -0
  90. package/dist/cjs/type_generators/types/hivesense.d.ts +448 -0
  91. package/dist/cjs/type_generators/types/hivesense.d.ts.map +1 -0
  92. package/dist/cjs/type_generators/types/hivesense.js +3 -0
  93. package/dist/cjs/type_generators/types/hivesense.js.map +1 -0
  94. package/dist/cjs/type_generators/types/nft-tracker.d.ts +348 -0
  95. package/dist/cjs/type_generators/types/nft-tracker.d.ts.map +1 -0
  96. package/dist/cjs/type_generators/types/nft-tracker.js +3 -0
  97. package/dist/cjs/type_generators/types/nft-tracker.js.map +1 -0
  98. package/dist/cjs/type_generators/types/reputation.d.ts +182 -0
  99. package/dist/cjs/type_generators/types/reputation.d.ts.map +1 -0
  100. package/dist/cjs/type_generators/types/reputation.js +3 -0
  101. package/dist/cjs/type_generators/types/reputation.js.map +1 -0
  102. package/dist/cjs/type_generators/types/status.d.ts +139 -0
  103. package/dist/cjs/type_generators/types/status.d.ts.map +1 -0
  104. package/dist/cjs/type_generators/types/status.js +3 -0
  105. package/dist/cjs/type_generators/types/status.js.map +1 -0
  106. package/dist/cjs/types.d.ts +415 -0
  107. package/dist/cjs/types.d.ts.map +1 -0
  108. package/dist/cjs/types.js +3 -0
  109. package/dist/cjs/types.js.map +1 -0
  110. package/dist/esm/Transaction.d.ts +71 -0
  111. package/dist/esm/Transaction.d.ts.map +1 -0
  112. package/dist/esm/Transaction.js +195 -0
  113. package/dist/esm/Transaction.js.map +1 -0
  114. package/dist/esm/config.d.ts +37 -0
  115. package/dist/esm/config.d.ts.map +1 -0
  116. package/dist/esm/config.js +51 -0
  117. package/dist/esm/config.js.map +1 -0
  118. package/dist/esm/helpers/Asset.d.ts +21 -0
  119. package/dist/esm/helpers/Asset.d.ts.map +1 -0
  120. package/dist/esm/helpers/Asset.js +70 -0
  121. package/dist/esm/helpers/Asset.js.map +1 -0
  122. package/dist/esm/helpers/ByteBuffer.d.ts +75 -0
  123. package/dist/esm/helpers/ByteBuffer.d.ts.map +1 -0
  124. package/dist/esm/helpers/ByteBuffer.js +551 -0
  125. package/dist/esm/helpers/ByteBuffer.js.map +1 -0
  126. package/dist/esm/helpers/HexBuffer.d.ts +10 -0
  127. package/dist/esm/helpers/HexBuffer.d.ts.map +1 -0
  128. package/dist/esm/helpers/HexBuffer.js +29 -0
  129. package/dist/esm/helpers/HexBuffer.js.map +1 -0
  130. package/dist/esm/helpers/PrivateKey.d.ts +114 -0
  131. package/dist/esm/helpers/PrivateKey.d.ts.map +1 -0
  132. package/dist/esm/helpers/PrivateKey.js +205 -0
  133. package/dist/esm/helpers/PrivateKey.js.map +1 -0
  134. package/dist/esm/helpers/PublicKey.d.ts +47 -0
  135. package/dist/esm/helpers/PublicKey.d.ts.map +1 -0
  136. package/dist/esm/helpers/PublicKey.js +90 -0
  137. package/dist/esm/helpers/PublicKey.js.map +1 -0
  138. package/dist/esm/helpers/Signature.d.ts +38 -0
  139. package/dist/esm/helpers/Signature.d.ts.map +1 -0
  140. package/dist/esm/helpers/Signature.js +81 -0
  141. package/dist/esm/helpers/Signature.js.map +1 -0
  142. package/dist/esm/helpers/aes.d.ts +15 -0
  143. package/dist/esm/helpers/aes.d.ts.map +1 -0
  144. package/dist/esm/helpers/aes.js +81 -0
  145. package/dist/esm/helpers/aes.js.map +1 -0
  146. package/dist/esm/helpers/call.d.ts +119 -0
  147. package/dist/esm/helpers/call.d.ts.map +1 -0
  148. package/dist/esm/helpers/call.js +490 -0
  149. package/dist/esm/helpers/call.js.map +1 -0
  150. package/dist/esm/helpers/deserializer.d.ts +4 -0
  151. package/dist/esm/helpers/deserializer.d.ts.map +1 -0
  152. package/dist/esm/helpers/deserializer.js +55 -0
  153. package/dist/esm/helpers/deserializer.js.map +1 -0
  154. package/dist/esm/helpers/memo.d.ts +36 -0
  155. package/dist/esm/helpers/memo.d.ts.map +1 -0
  156. package/dist/esm/helpers/memo.js +128 -0
  157. package/dist/esm/helpers/memo.js.map +1 -0
  158. package/dist/esm/helpers/serializer.d.ts +14 -0
  159. package/dist/esm/helpers/serializer.d.ts.map +1 -0
  160. package/dist/esm/helpers/serializer.js +636 -0
  161. package/dist/esm/helpers/serializer.js.map +1 -0
  162. package/dist/esm/helpers/sleep.d.ts +2 -0
  163. package/dist/esm/helpers/sleep.d.ts.map +1 -0
  164. package/dist/esm/helpers/sleep.js +4 -0
  165. package/dist/esm/helpers/sleep.js.map +1 -0
  166. package/dist/esm/helpers/utils.d.ts +122 -0
  167. package/dist/esm/helpers/utils.d.ts.map +1 -0
  168. package/dist/esm/helpers/utils.js +196 -0
  169. package/dist/esm/helpers/utils.js.map +1 -0
  170. package/dist/esm/index.d.ts +10 -0
  171. package/dist/esm/index.d.ts.map +1 -0
  172. package/dist/esm/index.js +11 -0
  173. package/dist/esm/index.js.map +1 -0
  174. package/dist/esm/type_generators/types/balance.d.ts +1096 -0
  175. package/dist/esm/type_generators/types/balance.d.ts.map +1 -0
  176. package/dist/esm/type_generators/types/balance.js +2 -0
  177. package/dist/esm/type_generators/types/balance.js.map +1 -0
  178. package/dist/esm/type_generators/types/hafah.d.ts +2154 -0
  179. package/dist/esm/type_generators/types/hafah.d.ts.map +1 -0
  180. package/dist/esm/type_generators/types/hafah.js +2 -0
  181. package/dist/esm/type_generators/types/hafah.js.map +1 -0
  182. package/dist/esm/type_generators/types/hafbe.d.ts +2121 -0
  183. package/dist/esm/type_generators/types/hafbe.d.ts.map +1 -0
  184. package/dist/esm/type_generators/types/hafbe.js +2 -0
  185. package/dist/esm/type_generators/types/hafbe.js.map +1 -0
  186. package/dist/esm/type_generators/types/hafsql.d.ts +2439 -0
  187. package/dist/esm/type_generators/types/hafsql.d.ts.map +1 -0
  188. package/dist/esm/type_generators/types/hafsql.js +2 -0
  189. package/dist/esm/type_generators/types/hafsql.js.map +1 -0
  190. package/dist/esm/type_generators/types/hivemind.d.ts +202 -0
  191. package/dist/esm/type_generators/types/hivemind.d.ts.map +1 -0
  192. package/dist/esm/type_generators/types/hivemind.js +2 -0
  193. package/dist/esm/type_generators/types/hivemind.js.map +1 -0
  194. package/dist/esm/type_generators/types/hivesense.d.ts +448 -0
  195. package/dist/esm/type_generators/types/hivesense.d.ts.map +1 -0
  196. package/dist/esm/type_generators/types/hivesense.js +2 -0
  197. package/dist/esm/type_generators/types/hivesense.js.map +1 -0
  198. package/dist/esm/type_generators/types/nft-tracker.d.ts +348 -0
  199. package/dist/esm/type_generators/types/nft-tracker.d.ts.map +1 -0
  200. package/dist/esm/type_generators/types/nft-tracker.js +2 -0
  201. package/dist/esm/type_generators/types/nft-tracker.js.map +1 -0
  202. package/dist/esm/type_generators/types/reputation.d.ts +182 -0
  203. package/dist/esm/type_generators/types/reputation.d.ts.map +1 -0
  204. package/dist/esm/type_generators/types/reputation.js +2 -0
  205. package/dist/esm/type_generators/types/reputation.js.map +1 -0
  206. package/dist/esm/type_generators/types/status.d.ts +139 -0
  207. package/dist/esm/type_generators/types/status.d.ts.map +1 -0
  208. package/dist/esm/type_generators/types/status.js +2 -0
  209. package/dist/esm/type_generators/types/status.js.map +1 -0
  210. package/dist/esm/types.d.ts +415 -0
  211. package/dist/esm/types.d.ts.map +1 -0
  212. package/dist/esm/types.js +2 -0
  213. package/dist/esm/types.js.map +1 -0
  214. package/package.json +83 -0
@@ -0,0 +1,551 @@
1
+ /**
2
+ * @license bytebuffer.ts (c) 2015 Daniel Wirtz <dcode@dcode.io>
3
+ * Backing buffer: ArrayBuffer, Accessor: DataView
4
+ * Released under the Apache License, Version 2.0
5
+ * see: https://github.com/dcodeIO/bytebuffer.ts for details
6
+ * modified by @xmcl/bytebuffer
7
+ * And customized for hive-tx
8
+ */
9
+ const EMPTY_BUFFER = new ArrayBuffer(0);
10
+ const textEncoder = new TextEncoder();
11
+ const textDecoder = new TextDecoder();
12
+ export class ByteBuffer {
13
+ constructor(capacity = ByteBuffer.DEFAULT_CAPACITY, littleEndian = ByteBuffer.DEFAULT_ENDIAN) {
14
+ this.readUInt32 = this.readUint32;
15
+ this.buffer = capacity === 0 ? EMPTY_BUFFER : new ArrayBuffer(capacity);
16
+ this.view = capacity === 0 ? new DataView(EMPTY_BUFFER) : new DataView(this.buffer);
17
+ this.offset = 0;
18
+ this.markedOffset = -1;
19
+ this.limit = capacity;
20
+ this.littleEndian = littleEndian;
21
+ }
22
+ static allocate(capacity, littleEndian) {
23
+ return new ByteBuffer(capacity, littleEndian);
24
+ }
25
+ static concat(buffers, littleEndian) {
26
+ let capacity = 0;
27
+ for (let i = 0; i < buffers.length; ++i) {
28
+ const buf = buffers[i];
29
+ if (buf instanceof ByteBuffer) {
30
+ capacity += buf.limit - buf.offset;
31
+ }
32
+ else if (buf instanceof Uint8Array) {
33
+ capacity += buf.length;
34
+ }
35
+ else if (buf instanceof ArrayBuffer) {
36
+ capacity += buf.byteLength;
37
+ }
38
+ else if (Array.isArray(buf)) {
39
+ capacity += buf.length;
40
+ }
41
+ else {
42
+ throw TypeError('Illegal buffer');
43
+ }
44
+ }
45
+ if (capacity === 0) {
46
+ return new ByteBuffer(0, littleEndian);
47
+ }
48
+ const bb = new ByteBuffer(capacity, littleEndian);
49
+ const view = new Uint8Array(bb.buffer);
50
+ let offset = 0;
51
+ for (let i = 0; i < buffers.length; ++i) {
52
+ let buf = buffers[i];
53
+ if (buf instanceof ByteBuffer) {
54
+ view.set(new Uint8Array(buf.buffer, buf.offset, buf.limit - buf.offset), offset);
55
+ offset += buf.limit - buf.offset;
56
+ }
57
+ else if (buf instanceof Uint8Array) {
58
+ view.set(buf, offset);
59
+ offset += buf.length;
60
+ }
61
+ else if (buf instanceof ArrayBuffer) {
62
+ view.set(new Uint8Array(buf), offset);
63
+ offset += buf.byteLength;
64
+ }
65
+ else {
66
+ // Array
67
+ view.set(buf, offset);
68
+ offset += buf.length;
69
+ }
70
+ }
71
+ bb.limit = bb.offset = offset;
72
+ bb.offset = 0;
73
+ return bb;
74
+ }
75
+ static wrap(buffer, littleEndian) {
76
+ if (buffer instanceof ByteBuffer) {
77
+ const bb = buffer.clone();
78
+ bb.markedOffset = -1;
79
+ return bb;
80
+ }
81
+ let bb;
82
+ if (buffer instanceof Uint8Array) {
83
+ bb = new ByteBuffer(0, littleEndian);
84
+ if (buffer.length > 0) {
85
+ bb.buffer = buffer.buffer;
86
+ bb.offset = buffer.byteOffset;
87
+ bb.limit = buffer.byteOffset + buffer.byteLength;
88
+ bb.view = new DataView(buffer.buffer);
89
+ }
90
+ }
91
+ else if (buffer instanceof ArrayBuffer) {
92
+ bb = new ByteBuffer(0, littleEndian);
93
+ if (buffer.byteLength > 0) {
94
+ bb.buffer = buffer;
95
+ bb.offset = 0;
96
+ bb.limit = buffer.byteLength;
97
+ bb.view = buffer.byteLength > 0 ? new DataView(buffer) : new DataView(EMPTY_BUFFER);
98
+ }
99
+ }
100
+ else if (Array.isArray(buffer)) {
101
+ bb = new ByteBuffer(buffer.length, littleEndian);
102
+ bb.limit = buffer.length;
103
+ new Uint8Array(bb.buffer).set(buffer);
104
+ }
105
+ else {
106
+ throw TypeError('Illegal buffer');
107
+ }
108
+ return bb;
109
+ }
110
+ writeBytes(source, offset) {
111
+ return this.append(source, offset);
112
+ }
113
+ writeInt8(value, offset) {
114
+ const relative = typeof offset === 'undefined';
115
+ if (relative)
116
+ offset = this.offset;
117
+ else
118
+ offset = offset;
119
+ if (offset + 1 > this.buffer.byteLength) {
120
+ this.resize(offset + 1);
121
+ }
122
+ this.view.setInt8(offset, value);
123
+ if (relative)
124
+ this.offset += 1;
125
+ return this;
126
+ }
127
+ writeByte(value, offset) {
128
+ return this.writeInt8(value, offset);
129
+ }
130
+ writeUint8(value, offset) {
131
+ const relative = typeof offset === 'undefined';
132
+ if (relative)
133
+ offset = this.offset;
134
+ else
135
+ offset = offset;
136
+ if (offset + 1 > this.buffer.byteLength) {
137
+ this.resize(offset + 1);
138
+ }
139
+ this.view.setUint8(offset, value);
140
+ if (relative)
141
+ this.offset += 1;
142
+ return this;
143
+ }
144
+ writeUInt8(value, offset) {
145
+ return this.writeUint8(value, offset);
146
+ }
147
+ readUint8(offset) {
148
+ const relative = typeof offset === 'undefined';
149
+ if (relative)
150
+ offset = this.offset;
151
+ else
152
+ offset = offset;
153
+ const value = this.view.getUint8(offset);
154
+ if (relative)
155
+ this.offset += 1;
156
+ return value;
157
+ }
158
+ readUInt8(offset) {
159
+ return this.readUint8(offset);
160
+ }
161
+ writeInt16(value, offset) {
162
+ const relative = typeof offset === 'undefined';
163
+ if (relative)
164
+ offset = this.offset;
165
+ else
166
+ offset = offset;
167
+ if (offset + 2 > this.buffer.byteLength) {
168
+ this.resize(offset + 2);
169
+ }
170
+ this.view.setInt16(offset, value, this.littleEndian);
171
+ if (relative)
172
+ this.offset += 2;
173
+ return this;
174
+ }
175
+ writeShort(value, offset) {
176
+ return this.writeInt16(value, offset);
177
+ }
178
+ writeUint16(value, offset) {
179
+ const relative = typeof offset === 'undefined';
180
+ if (relative)
181
+ offset = this.offset;
182
+ else
183
+ offset = offset;
184
+ if (offset + 2 > this.buffer.byteLength) {
185
+ this.resize(offset + 2);
186
+ }
187
+ this.view.setUint16(offset, value, this.littleEndian);
188
+ if (relative)
189
+ this.offset += 2;
190
+ return this;
191
+ }
192
+ writeUInt16(value, offset) {
193
+ return this.writeUint16(value, offset);
194
+ }
195
+ writeInt32(value, offset) {
196
+ const relative = typeof offset === 'undefined';
197
+ if (relative)
198
+ offset = this.offset;
199
+ else
200
+ offset = offset;
201
+ if (offset + 4 > this.buffer.byteLength) {
202
+ this.resize(offset + 4);
203
+ }
204
+ this.view.setInt32(offset, value, this.littleEndian);
205
+ if (relative)
206
+ this.offset += 4;
207
+ return this;
208
+ }
209
+ writeInt(value, offset) {
210
+ return this.writeInt32(value, offset);
211
+ }
212
+ writeUint32(value, offset) {
213
+ const relative = typeof offset === 'undefined';
214
+ if (relative)
215
+ offset = this.offset;
216
+ else
217
+ offset = offset;
218
+ if (offset + 4 > this.buffer.byteLength) {
219
+ this.resize(offset + 4);
220
+ }
221
+ this.view.setUint32(offset, value, this.littleEndian);
222
+ if (relative)
223
+ this.offset += 4;
224
+ return this;
225
+ }
226
+ writeUInt32(value, offset) {
227
+ return this.writeUint32(value, offset);
228
+ }
229
+ readUint32(offset) {
230
+ const relative = typeof offset === 'undefined';
231
+ if (relative)
232
+ offset = this.offset;
233
+ else
234
+ offset = offset;
235
+ const value = this.view.getUint32(offset, this.littleEndian);
236
+ if (relative) {
237
+ this.offset += 4;
238
+ }
239
+ return value;
240
+ }
241
+ append(source, offset) {
242
+ const relative = typeof offset === 'undefined';
243
+ if (relative)
244
+ offset = this.offset;
245
+ else
246
+ offset = offset;
247
+ let src;
248
+ if (source instanceof ByteBuffer) {
249
+ src = new Uint8Array(source.buffer, source.offset, source.limit - source.offset);
250
+ source.offset += src.length;
251
+ }
252
+ else if (source instanceof Uint8Array) {
253
+ src = source;
254
+ }
255
+ else if (source instanceof ArrayBuffer) {
256
+ src = new Uint8Array(source);
257
+ }
258
+ else {
259
+ src = new Uint8Array(source);
260
+ }
261
+ if (src.length <= 0)
262
+ return this;
263
+ if (offset + src.length > this.buffer.byteLength) {
264
+ this.resize(offset + src.length);
265
+ }
266
+ new Uint8Array(this.buffer).set(src, offset);
267
+ if (relative)
268
+ this.offset += src.length;
269
+ return this;
270
+ }
271
+ clone(copy) {
272
+ const bb = new ByteBuffer(0, this.littleEndian);
273
+ if (copy) {
274
+ bb.buffer = new ArrayBuffer(this.buffer.byteLength);
275
+ new Uint8Array(bb.buffer).set(new Uint8Array(this.buffer));
276
+ bb.view = new DataView(bb.buffer);
277
+ }
278
+ else {
279
+ bb.buffer = this.buffer;
280
+ bb.view = this.view;
281
+ }
282
+ bb.offset = this.offset;
283
+ bb.markedOffset = this.markedOffset;
284
+ bb.limit = this.limit;
285
+ return bb;
286
+ }
287
+ copy(begin, end) {
288
+ if (begin === undefined)
289
+ begin = this.offset;
290
+ if (end === undefined)
291
+ end = this.limit;
292
+ if (begin === end) {
293
+ return new ByteBuffer(0, this.littleEndian);
294
+ }
295
+ const capacity = end - begin;
296
+ const bb = new ByteBuffer(capacity, this.littleEndian);
297
+ bb.offset = 0;
298
+ bb.limit = capacity;
299
+ new Uint8Array(bb.buffer).set(new Uint8Array(this.buffer).subarray(begin, end), 0);
300
+ return bb;
301
+ }
302
+ copyTo(target, targetOffset, sourceOffset, sourceLimit) {
303
+ const targetRelative = typeof targetOffset === 'undefined';
304
+ const relative = typeof sourceOffset === 'undefined';
305
+ targetOffset = targetRelative ? target.offset : targetOffset;
306
+ sourceOffset = relative ? this.offset : sourceOffset;
307
+ sourceLimit = sourceLimit === undefined ? this.limit : sourceLimit;
308
+ const len = sourceLimit - sourceOffset;
309
+ if (len === 0)
310
+ return target;
311
+ target.ensureCapacity(targetOffset + len);
312
+ new Uint8Array(target.buffer).set(new Uint8Array(this.buffer).subarray(sourceOffset, sourceLimit), targetOffset);
313
+ if (relative)
314
+ this.offset += len;
315
+ if (targetRelative)
316
+ target.offset += len;
317
+ return this;
318
+ }
319
+ ensureCapacity(capacity) {
320
+ let current = this.buffer.byteLength;
321
+ if (current < capacity) {
322
+ return this.resize((current *= 2) > capacity ? current : capacity);
323
+ }
324
+ return this;
325
+ }
326
+ flip() {
327
+ this.limit = this.offset;
328
+ this.offset = 0;
329
+ return this;
330
+ }
331
+ resize(capacity) {
332
+ if (this.buffer.byteLength < capacity) {
333
+ const buffer = new ArrayBuffer(capacity);
334
+ new Uint8Array(buffer).set(new Uint8Array(this.buffer));
335
+ this.buffer = buffer;
336
+ this.view = new DataView(buffer);
337
+ }
338
+ return this;
339
+ }
340
+ skip(length) {
341
+ this.offset += length;
342
+ return this;
343
+ }
344
+ writeInt64(value, offset) {
345
+ const relative = typeof offset === 'undefined';
346
+ if (relative)
347
+ offset = this.offset;
348
+ else
349
+ offset = offset;
350
+ if (typeof value === 'number')
351
+ value = BigInt(value);
352
+ if (offset + 8 > this.buffer.byteLength) {
353
+ this.resize(offset + 8);
354
+ }
355
+ this.view.setBigInt64(offset, value, this.littleEndian);
356
+ if (relative)
357
+ this.offset += 8;
358
+ return this;
359
+ }
360
+ writeLong(value, offset) {
361
+ return this.writeInt64(value, offset);
362
+ }
363
+ readInt64(offset) {
364
+ const relative = typeof offset === 'undefined';
365
+ if (relative)
366
+ offset = this.offset;
367
+ else
368
+ offset = offset;
369
+ const value = this.view.getBigInt64(offset, this.littleEndian);
370
+ if (relative)
371
+ this.offset += 8;
372
+ return value;
373
+ }
374
+ readLong(offset) {
375
+ return this.readInt64(offset);
376
+ }
377
+ writeUint64(value, offset) {
378
+ const relative = typeof offset === 'undefined';
379
+ if (relative)
380
+ offset = this.offset;
381
+ else
382
+ offset = offset;
383
+ if (typeof value === 'number')
384
+ value = BigInt(value);
385
+ if (offset + 8 > this.buffer.byteLength) {
386
+ this.resize(offset + 8);
387
+ }
388
+ this.view.setBigUint64(offset, value, this.littleEndian);
389
+ if (relative)
390
+ this.offset += 8;
391
+ return this;
392
+ }
393
+ writeUInt64(value, offset) {
394
+ return this.writeUint64(value, offset);
395
+ }
396
+ readUint64(offset) {
397
+ const relative = typeof offset === 'undefined';
398
+ if (relative)
399
+ offset = this.offset;
400
+ else
401
+ offset = offset;
402
+ const value = this.view.getBigUint64(offset, this.littleEndian);
403
+ if (relative)
404
+ this.offset += 8;
405
+ return value;
406
+ }
407
+ readUInt64(offset) {
408
+ return this.readUint64(offset);
409
+ }
410
+ toBuffer(forceCopy) {
411
+ const offset = this.offset;
412
+ const limit = this.limit;
413
+ if (!forceCopy && offset === 0 && limit === this.buffer.byteLength) {
414
+ return this.buffer;
415
+ }
416
+ if (offset === limit)
417
+ return EMPTY_BUFFER;
418
+ return this.buffer.slice(offset, limit);
419
+ }
420
+ toArrayBuffer(forceCopy) {
421
+ return this.toBuffer(forceCopy);
422
+ }
423
+ writeVarint32(value, offset) {
424
+ const relative = typeof offset === 'undefined';
425
+ if (relative)
426
+ offset = this.offset;
427
+ else
428
+ offset = offset;
429
+ const size = this.calculateVarint32(value);
430
+ if (offset + size > this.buffer.byteLength) {
431
+ this.resize(offset + size);
432
+ }
433
+ value >>>= 0;
434
+ while (value >= 0x80) {
435
+ this.view.setUint8(offset++, (value & 0x7f) | 0x80);
436
+ value >>>= 7;
437
+ }
438
+ this.view.setUint8(offset++, value);
439
+ if (relative) {
440
+ this.offset = offset;
441
+ return this;
442
+ }
443
+ return size;
444
+ }
445
+ readVarint32(offset) {
446
+ const relative = typeof offset === 'undefined';
447
+ if (typeof offset === 'undefined') {
448
+ offset = this.offset;
449
+ }
450
+ let c = 0;
451
+ let value = 0 >>> 0;
452
+ let b;
453
+ do {
454
+ b = this.view.getUint8(offset++);
455
+ if (c < 5) {
456
+ value |= (b & 0x7f) << (7 * c);
457
+ }
458
+ ++c;
459
+ } while ((b & 0x80) !== 0);
460
+ value |= 0;
461
+ if (relative) {
462
+ this.offset = offset;
463
+ return value;
464
+ }
465
+ return { value, length: c };
466
+ }
467
+ calculateVarint32(value) {
468
+ value = value >>> 0;
469
+ if (value < 1 << 7)
470
+ return 1;
471
+ else if (value < 1 << 14)
472
+ return 2;
473
+ else if (value < 1 << 21)
474
+ return 3;
475
+ else if (value < 1 << 28)
476
+ return 4;
477
+ else
478
+ return 5;
479
+ }
480
+ writeVString(str, offset) {
481
+ const relative = typeof offset === 'undefined';
482
+ let currentOffset = relative ? this.offset : offset;
483
+ const encoded = textEncoder.encode(str);
484
+ const len = encoded.length;
485
+ const lenVarintSize = this.calculateVarint32(len);
486
+ if (currentOffset + lenVarintSize + len > this.buffer.byteLength) {
487
+ this.resize(currentOffset + lenVarintSize + len);
488
+ }
489
+ this.writeVarint32(len, currentOffset);
490
+ currentOffset += lenVarintSize;
491
+ new Uint8Array(this.buffer).set(encoded, currentOffset);
492
+ currentOffset += len;
493
+ if (relative) {
494
+ this.offset = currentOffset;
495
+ return this;
496
+ }
497
+ return currentOffset - (offset || 0);
498
+ }
499
+ readVString(offset) {
500
+ const relative = typeof offset === 'undefined';
501
+ if (relative)
502
+ offset = this.offset;
503
+ else
504
+ offset = offset;
505
+ const start = offset;
506
+ const lenResult = this.readVarint32(offset);
507
+ const lenValue = lenResult.value;
508
+ const lenLength = lenResult.length;
509
+ offset += lenLength;
510
+ // TextDecoder can take Uint8Array view directly
511
+ const str = textDecoder.decode(new Uint8Array(this.buffer, offset, lenValue));
512
+ offset += lenValue;
513
+ if (relative) {
514
+ this.offset = offset;
515
+ return str;
516
+ }
517
+ else {
518
+ return {
519
+ string: str,
520
+ length: offset - start
521
+ };
522
+ }
523
+ }
524
+ readUTF8String(length, offset) {
525
+ const relative = typeof offset === 'undefined';
526
+ if (relative)
527
+ offset = this.offset;
528
+ else
529
+ offset = offset;
530
+ // const strBuffer = this.buffer.slice(offset, end)
531
+ // Faster to view if Shared? No, Decoder takes buffer or view.
532
+ // Making a view is cheap.
533
+ // But DataView vs Uint8Array. TextDecoder takes BufferSource (ArrayBuffer or ArrayBufferView).
534
+ const str = textDecoder.decode(new Uint8Array(this.buffer, offset, length));
535
+ if (relative) {
536
+ this.offset += length;
537
+ return str;
538
+ }
539
+ else {
540
+ return {
541
+ string: str,
542
+ length
543
+ };
544
+ }
545
+ }
546
+ }
547
+ ByteBuffer.LITTLE_ENDIAN = true;
548
+ ByteBuffer.BIG_ENDIAN = false;
549
+ ByteBuffer.DEFAULT_CAPACITY = 16;
550
+ ByteBuffer.DEFAULT_ENDIAN = ByteBuffer.BIG_ENDIAN;
551
+ //# sourceMappingURL=ByteBuffer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ByteBuffer.js","sourceRoot":"","sources":["../../../src/helpers/ByteBuffer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /** Buffer wrapper that serializes to a hex-encoded string. */
2
+ export declare class HexBuffer {
3
+ buffer: Uint8Array;
4
+ /** Convenience to create a new HexBuffer, does not copy data if value passed is already a buffer. */
5
+ static from(value: string | Uint8Array | HexBuffer): HexBuffer;
6
+ constructor(buffer: Uint8Array);
7
+ toString(): string;
8
+ toJSON(): string;
9
+ }
10
+ //# sourceMappingURL=HexBuffer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HexBuffer.d.ts","sourceRoot":"","sources":["../../../src/helpers/HexBuffer.ts"],"names":[],"mappings":"AAEA,8DAA8D;AAC9D,qBAAa,SAAS;IACpB,MAAM,EAAE,UAAU,CAAA;IAClB,qGAAqG;IACrG,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS;gBAYtC,MAAM,EAAE,UAAU;IAI9B,QAAQ;IAIR,MAAM;CAGP"}
@@ -0,0 +1,29 @@
1
+ import { bytesToHex, hexToBytes } from '@noble/hashes/utils.js';
2
+ /** Buffer wrapper that serializes to a hex-encoded string. */
3
+ export class HexBuffer {
4
+ /** Convenience to create a new HexBuffer, does not copy data if value passed is already a buffer. */
5
+ static from(value) {
6
+ if (value instanceof HexBuffer) {
7
+ return value;
8
+ }
9
+ else if (value instanceof Uint8Array) {
10
+ return new HexBuffer(value);
11
+ }
12
+ else if (typeof value === 'string') {
13
+ return new HexBuffer(hexToBytes(value));
14
+ }
15
+ else {
16
+ return new HexBuffer(new Uint8Array(value));
17
+ }
18
+ }
19
+ constructor(buffer) {
20
+ this.buffer = buffer;
21
+ }
22
+ toString() {
23
+ return bytesToHex(this.buffer);
24
+ }
25
+ toJSON() {
26
+ return this.toString();
27
+ }
28
+ }
29
+ //# sourceMappingURL=HexBuffer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HexBuffer.js","sourceRoot":"","sources":["../../../src/helpers/HexBuffer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAE/D,8DAA8D;AAC9D,MAAM,OAAO,SAAS;IAEpB,qGAAqG;IACrG,MAAM,CAAC,IAAI,CAAC,KAAsC;QAChD,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAA;QACd,CAAC;aAAM,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;YACvC,OAAO,IAAI,SAAS,CAAC,KAAK,CAAC,CAAA;QAC7B,CAAC;aAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrC,OAAO,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;QACzC,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,SAAS,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC,CAAA;QAC7C,CAAC;IACH,CAAC;IAED,YAAY,MAAkB;QAC5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;IACtB,CAAC;IAED,QAAQ;QACN,OAAO,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAChC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAA;IACxB,CAAC;CACF"}