@gardenfi/swap 0.1.2 → 0.1.3-beta.10
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/dist/index113.cjs +1 -1
- package/dist/index113.js +1 -1
- package/dist/index116.cjs +1 -1
- package/dist/index116.js +1 -1
- package/dist/index117.cjs +1 -1
- package/dist/index117.js +1 -1
- package/dist/index12.cjs +1 -1
- package/dist/index12.js +1 -1
- package/dist/index120.cjs +1 -1
- package/dist/index120.js +2 -2
- package/dist/index121.cjs +1 -1
- package/dist/index121.js +7 -7
- package/dist/index126.cjs +1 -1
- package/dist/index126.js +2 -2
- package/dist/index127.cjs +1 -1
- package/dist/index127.js +1 -1
- package/dist/index128.cjs +1 -1
- package/dist/index128.js +1 -1
- package/dist/index129.cjs +1 -1
- package/dist/index129.js +1 -1
- package/dist/index130.cjs +1 -1
- package/dist/index130.js +2 -2
- package/dist/index138.cjs +1 -1
- package/dist/index138.js +1 -1
- package/dist/index140.cjs +1 -1
- package/dist/index140.js +1 -1
- package/dist/index148.cjs +1 -1
- package/dist/index148.js +1 -1
- package/dist/index149.cjs +1 -1
- package/dist/index149.js +1 -1
- package/dist/index154.cjs +1 -1
- package/dist/index154.js +1 -1
- package/dist/index162.cjs +1 -1
- package/dist/index162.js +2 -2
- package/dist/index173.cjs +1 -1
- package/dist/index173.js +2 -2
- package/dist/index303.cjs +1 -1
- package/dist/index303.js +10 -43
- package/dist/index304.cjs +1 -1
- package/dist/index304.js +16 -320
- package/dist/index305.cjs +1 -1
- package/dist/index305.js +21 -604
- package/dist/index306.cjs +1 -1
- package/dist/index306.js +14 -110
- package/dist/index307.cjs +1 -1
- package/dist/index307.js +13 -167
- package/dist/index308.cjs +1 -1
- package/dist/index308.js +13 -300
- package/dist/index309.cjs +1 -1
- package/dist/index309.js +9 -93
- package/dist/index310.cjs +1 -1
- package/dist/index310.js +13 -54
- package/dist/index311.cjs +1 -1
- package/dist/index311.js +23 -51
- package/dist/index312.cjs +1 -1
- package/dist/index312.js +30 -43
- package/dist/index313.cjs +2 -1
- package/dist/index313.js +18 -15
- package/dist/index314.cjs +1 -1
- package/dist/index314.js +14 -317
- package/dist/index315.cjs +1 -1
- package/dist/index315.js +41 -58
- package/dist/index316.cjs +1 -1
- package/dist/index316.js +319 -18
- package/dist/index317.cjs +1 -1
- package/dist/index317.js +602 -26
- package/dist/index318.cjs +1 -1
- package/dist/index318.js +110 -4
- package/dist/index319.cjs +1 -7
- package/dist/index319.js +166 -236
- package/dist/index320.cjs +1 -1
- package/dist/index320.js +302 -48
- package/dist/index321.cjs +1 -1
- package/dist/index321.js +92 -211
- package/dist/index322.cjs +1 -1
- package/dist/index322.js +49 -74
- package/dist/index323.cjs +1 -1
- package/dist/index323.js +51 -27
- package/dist/index324.cjs +1 -1
- package/dist/index324.js +42 -74
- package/dist/index325.cjs +1 -1
- package/dist/index325.js +15 -9
- package/dist/index326.cjs +1 -1
- package/dist/index326.js +317 -16
- package/dist/index327.cjs +1 -1
- package/dist/index327.js +57 -20
- package/dist/index328.cjs +1 -1
- package/dist/index328.js +18 -12
- package/dist/index329.cjs +1 -1
- package/dist/index329.js +29 -13
- package/dist/index330.cjs +1 -1
- package/dist/index330.js +3 -14
- package/dist/index331.cjs +7 -1
- package/dist/index331.js +237 -9
- package/dist/index332.cjs +1 -1
- package/dist/index332.js +48 -16
- package/dist/index333.cjs +1 -1
- package/dist/index333.js +209 -22
- package/dist/index334.cjs +1 -1
- package/dist/index334.js +80 -30
- package/dist/index335.cjs +1 -2
- package/dist/index335.js +29 -18
- package/dist/index336.cjs +1 -1
- package/dist/index336.js +75 -13
- package/dist/index361.cjs +1 -1
- package/dist/index361.js +3 -94
- package/dist/index362.cjs +1 -1
- package/dist/index362.js +137 -25
- package/dist/index363.cjs +1 -1
- package/dist/index363.js +129 -144
- package/dist/index364.cjs +1 -1
- package/dist/index364.js +71 -331
- package/dist/index365.cjs +1 -1
- package/dist/index365.js +27 -72
- package/dist/index366.cjs +1 -1
- package/dist/index366.js +148 -31
- package/dist/index367.cjs +1 -1
- package/dist/index367.js +354 -5
- package/dist/index368.cjs +1 -1
- package/dist/index368.js +275 -3
- package/dist/index369.cjs +1 -1
- package/dist/index369.js +170 -140
- package/dist/index370.cjs +1 -1
- package/dist/index370.js +10 -276
- package/dist/index371.cjs +1 -1
- package/dist/index371.js +107 -170
- package/dist/index372.cjs +1 -1
- package/dist/index372.js +6 -10
- package/dist/index373.cjs +1 -1
- package/dist/index373.js +70 -104
- package/dist/index374.cjs +1 -1
- package/dist/index374.js +2 -2
- package/dist/index375.cjs +1 -1
- package/dist/index375.js +29 -131
- package/dist/index383.cjs +1 -1
- package/dist/index383.js +59 -106
- package/dist/index384.cjs +1 -1
- package/dist/index384.js +110 -3
- package/dist/index385.cjs +1 -1
- package/dist/index385.js +3 -63
- package/dist/index6.cjs +1 -1
- package/dist/index6.js +42 -42
- package/dist/index77.cjs +1 -1
- package/dist/index77.js +13 -13
- package/dist/index9.cjs +1 -1
- package/dist/index9.js +16 -14
- package/dist/src/lib/store/swapStore.d.ts +1 -1
- package/package.json +5 -5
package/dist/index364.js
CHANGED
|
@@ -1,357 +1,97 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
function $(e, r, a) {
|
|
4
|
-
return new w({
|
|
5
|
-
read: (t) => {
|
|
6
|
-
const d = new Array(e);
|
|
7
|
-
for (let n = 0; n < e; n++)
|
|
8
|
-
d[n] = r.read(t);
|
|
9
|
-
return d;
|
|
10
|
-
},
|
|
11
|
-
write: (t, d) => {
|
|
12
|
-
for (const n of t)
|
|
13
|
-
r.write(n, d);
|
|
14
|
-
},
|
|
15
|
-
...a,
|
|
16
|
-
name: (a == null ? void 0 : a.name) ?? `${r.name}[${e}]`,
|
|
17
|
-
validate: (t) => {
|
|
18
|
-
var d;
|
|
19
|
-
if ((d = a == null ? void 0 : a.validate) == null || d.call(a, t), !t || typeof t != "object" || !("length" in t))
|
|
20
|
-
throw new TypeError(`Expected array, found ${typeof t}`);
|
|
21
|
-
if (t.length !== e)
|
|
22
|
-
throw new TypeError(`Expected array of length ${e}, found ${t.length}`);
|
|
23
|
-
}
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
function b(e) {
|
|
27
|
-
return c.enum(`Option<${e.name}>`, {
|
|
28
|
-
None: null,
|
|
29
|
-
Some: e
|
|
30
|
-
}).transform({
|
|
31
|
-
input: (r) => r == null ? { None: !0 } : { Some: r },
|
|
32
|
-
output: (r) => r.$kind === "Some" ? r.Some : null
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
function T(e, r) {
|
|
36
|
-
return new w({
|
|
37
|
-
read: (a) => {
|
|
38
|
-
const t = a.readULEB(), d = new Array(t);
|
|
39
|
-
for (let n = 0; n < t; n++)
|
|
40
|
-
d[n] = e.read(a);
|
|
41
|
-
return d;
|
|
42
|
-
},
|
|
43
|
-
write: (a, t) => {
|
|
44
|
-
t.writeULEB(a.length);
|
|
45
|
-
for (const d of a)
|
|
46
|
-
e.write(d, t);
|
|
47
|
-
},
|
|
48
|
-
...r,
|
|
49
|
-
name: (r == null ? void 0 : r.name) ?? `vector<${e.name}>`,
|
|
50
|
-
validate: (a) => {
|
|
51
|
-
var t;
|
|
52
|
-
if ((t = r == null ? void 0 : r.validate) == null || t.call(r, a), !a || typeof a != "object" || !("length" in a))
|
|
53
|
-
throw new TypeError(`Expected array, found ${typeof a}`);
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
function M(e, r) {
|
|
58
|
-
return c.vector(c.tuple([e, r])).transform({
|
|
59
|
-
name: `Map<${e.name}, ${r.name}>`,
|
|
60
|
-
input: (a) => [...a.entries()],
|
|
61
|
-
output: (a) => {
|
|
62
|
-
const t = /* @__PURE__ */ new Map();
|
|
63
|
-
for (const [d, n] of a)
|
|
64
|
-
t.set(d, n);
|
|
65
|
-
return t;
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
}
|
|
69
|
-
const c = {
|
|
70
|
-
/**
|
|
71
|
-
* Creates a BcsType that can be used to read and write an 8-bit unsigned integer.
|
|
72
|
-
* @example
|
|
73
|
-
* bcs.u8().serialize(255).toBytes() // Uint8Array [ 255 ]
|
|
74
|
-
*/
|
|
75
|
-
u8(e) {
|
|
76
|
-
return m({
|
|
77
|
-
readMethod: "read8",
|
|
78
|
-
writeMethod: "write8",
|
|
79
|
-
size: 1,
|
|
80
|
-
maxValue: 2 ** 8 - 1,
|
|
81
|
-
...e,
|
|
82
|
-
name: (e == null ? void 0 : e.name) ?? "u8"
|
|
83
|
-
});
|
|
84
|
-
},
|
|
85
|
-
/**
|
|
86
|
-
* Creates a BcsType that can be used to read and write a 16-bit unsigned integer.
|
|
87
|
-
* @example
|
|
88
|
-
* bcs.u16().serialize(65535).toBytes() // Uint8Array [ 255, 255 ]
|
|
89
|
-
*/
|
|
90
|
-
u16(e) {
|
|
91
|
-
return m({
|
|
92
|
-
readMethod: "read16",
|
|
93
|
-
writeMethod: "write16",
|
|
94
|
-
size: 2,
|
|
95
|
-
maxValue: 2 ** 16 - 1,
|
|
96
|
-
...e,
|
|
97
|
-
name: (e == null ? void 0 : e.name) ?? "u16"
|
|
98
|
-
});
|
|
99
|
-
},
|
|
100
|
-
/**
|
|
101
|
-
* Creates a BcsType that can be used to read and write a 32-bit unsigned integer.
|
|
102
|
-
* @example
|
|
103
|
-
* bcs.u32().serialize(4294967295).toBytes() // Uint8Array [ 255, 255, 255, 255 ]
|
|
104
|
-
*/
|
|
105
|
-
u32(e) {
|
|
106
|
-
return m({
|
|
107
|
-
readMethod: "read32",
|
|
108
|
-
writeMethod: "write32",
|
|
109
|
-
size: 4,
|
|
110
|
-
maxValue: 2 ** 32 - 1,
|
|
111
|
-
...e,
|
|
112
|
-
name: (e == null ? void 0 : e.name) ?? "u32"
|
|
113
|
-
});
|
|
114
|
-
},
|
|
1
|
+
import { ulebDecode as r } from "./index365.js";
|
|
2
|
+
class o {
|
|
115
3
|
/**
|
|
116
|
-
*
|
|
117
|
-
* @example
|
|
118
|
-
* bcs.u64().serialize(1).toBytes() // Uint8Array [ 1, 0, 0, 0, 0, 0, 0, 0 ]
|
|
119
|
-
*/
|
|
120
|
-
u64(e) {
|
|
121
|
-
return u({
|
|
122
|
-
readMethod: "read64",
|
|
123
|
-
writeMethod: "write64",
|
|
124
|
-
size: 8,
|
|
125
|
-
maxValue: 2n ** 64n - 1n,
|
|
126
|
-
...e,
|
|
127
|
-
name: (e == null ? void 0 : e.name) ?? "u64"
|
|
128
|
-
});
|
|
129
|
-
},
|
|
130
|
-
/**
|
|
131
|
-
* Creates a BcsType that can be used to read and write a 128-bit unsigned integer.
|
|
132
|
-
* @example
|
|
133
|
-
* bcs.u128().serialize(1).toBytes() // Uint8Array [ 1, ..., 0 ]
|
|
134
|
-
*/
|
|
135
|
-
u128(e) {
|
|
136
|
-
return u({
|
|
137
|
-
readMethod: "read128",
|
|
138
|
-
writeMethod: "write128",
|
|
139
|
-
size: 16,
|
|
140
|
-
maxValue: 2n ** 128n - 1n,
|
|
141
|
-
...e,
|
|
142
|
-
name: (e == null ? void 0 : e.name) ?? "u128"
|
|
143
|
-
});
|
|
144
|
-
},
|
|
145
|
-
/**
|
|
146
|
-
* Creates a BcsType that can be used to read and write a 256-bit unsigned integer.
|
|
147
|
-
* @example
|
|
148
|
-
* bcs.u256().serialize(1).toBytes() // Uint8Array [ 1, ..., 0 ]
|
|
149
|
-
*/
|
|
150
|
-
u256(e) {
|
|
151
|
-
return u({
|
|
152
|
-
readMethod: "read256",
|
|
153
|
-
writeMethod: "write256",
|
|
154
|
-
size: 32,
|
|
155
|
-
maxValue: 2n ** 256n - 1n,
|
|
156
|
-
...e,
|
|
157
|
-
name: (e == null ? void 0 : e.name) ?? "u256"
|
|
158
|
-
});
|
|
159
|
-
},
|
|
160
|
-
/**
|
|
161
|
-
* Creates a BcsType that can be used to read and write boolean values.
|
|
162
|
-
* @example
|
|
163
|
-
* bcs.bool().serialize(true).toBytes() // Uint8Array [ 1 ]
|
|
164
|
-
*/
|
|
165
|
-
bool(e) {
|
|
166
|
-
return f({
|
|
167
|
-
size: 1,
|
|
168
|
-
read: (r) => r.read8() === 1,
|
|
169
|
-
write: (r, a) => a.write8(r ? 1 : 0),
|
|
170
|
-
...e,
|
|
171
|
-
name: (e == null ? void 0 : e.name) ?? "bool",
|
|
172
|
-
validate: (r) => {
|
|
173
|
-
var a;
|
|
174
|
-
if ((a = e == null ? void 0 : e.validate) == null || a.call(e, r), typeof r != "boolean")
|
|
175
|
-
throw new TypeError(`Expected boolean, found ${typeof r}`);
|
|
176
|
-
}
|
|
177
|
-
});
|
|
178
|
-
},
|
|
179
|
-
/**
|
|
180
|
-
* Creates a BcsType that can be used to read and write unsigned LEB encoded integers
|
|
181
|
-
* @example
|
|
182
|
-
*
|
|
4
|
+
* @param {Uint8Array} data Data to use as a buffer.
|
|
183
5
|
*/
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
serialize: (r) => Uint8Array.from(y(r)),
|
|
188
|
-
...e,
|
|
189
|
-
name: (e == null ? void 0 : e.name) ?? "uleb128"
|
|
190
|
-
});
|
|
191
|
-
},
|
|
192
|
-
/**
|
|
193
|
-
* Creates a BcsType representing a fixed length byte array
|
|
194
|
-
* @param size The number of bytes this types represents
|
|
195
|
-
* @example
|
|
196
|
-
* bcs.bytes(3).serialize(new Uint8Array([1, 2, 3])).toBytes() // Uint8Array [1, 2, 3]
|
|
197
|
-
*/
|
|
198
|
-
bytes(e, r) {
|
|
199
|
-
return f({
|
|
200
|
-
size: e,
|
|
201
|
-
read: (a) => a.readBytes(e),
|
|
202
|
-
write: (a, t) => {
|
|
203
|
-
t.writeBytes(new Uint8Array(a));
|
|
204
|
-
},
|
|
205
|
-
...r,
|
|
206
|
-
name: (r == null ? void 0 : r.name) ?? `bytes[${e}]`,
|
|
207
|
-
validate: (a) => {
|
|
208
|
-
var t;
|
|
209
|
-
if ((t = r == null ? void 0 : r.validate) == null || t.call(r, a), !a || typeof a != "object" || !("length" in a))
|
|
210
|
-
throw new TypeError(`Expected array, found ${typeof a}`);
|
|
211
|
-
if (a.length !== e)
|
|
212
|
-
throw new TypeError(`Expected array of length ${e}, found ${a.length}`);
|
|
213
|
-
}
|
|
214
|
-
});
|
|
215
|
-
},
|
|
6
|
+
constructor(t) {
|
|
7
|
+
this.bytePosition = 0, this.dataView = new DataView(t.buffer, t.byteOffset, t.byteLength);
|
|
8
|
+
}
|
|
216
9
|
/**
|
|
217
|
-
*
|
|
10
|
+
* Shift current cursor position by `bytes`.
|
|
218
11
|
*
|
|
219
|
-
* @
|
|
220
|
-
*
|
|
12
|
+
* @param {Number} bytes Number of bytes to
|
|
13
|
+
* @returns {this} Self for possible chaining.
|
|
221
14
|
*/
|
|
222
|
-
|
|
223
|
-
return
|
|
224
|
-
|
|
225
|
-
const a = r.readULEB();
|
|
226
|
-
return r.readBytes(a);
|
|
227
|
-
},
|
|
228
|
-
write: (r, a) => {
|
|
229
|
-
const t = new Uint8Array(r);
|
|
230
|
-
a.writeULEB(t.length), a.writeBytes(t);
|
|
231
|
-
},
|
|
232
|
-
...e,
|
|
233
|
-
name: (e == null ? void 0 : e.name) ?? "vector<u8>",
|
|
234
|
-
serializedSize: (r) => {
|
|
235
|
-
const a = "length" in r ? r.length : null;
|
|
236
|
-
return a == null ? null : y(a).length + a;
|
|
237
|
-
},
|
|
238
|
-
validate: (r) => {
|
|
239
|
-
var a;
|
|
240
|
-
if ((a = e == null ? void 0 : e.validate) == null || a.call(e, r), !r || typeof r != "object" || !("length" in r))
|
|
241
|
-
throw new TypeError(`Expected array, found ${typeof r}`);
|
|
242
|
-
}
|
|
243
|
-
});
|
|
244
|
-
},
|
|
15
|
+
shift(t) {
|
|
16
|
+
return this.bytePosition += t, this;
|
|
17
|
+
}
|
|
245
18
|
/**
|
|
246
|
-
*
|
|
247
|
-
* @
|
|
248
|
-
* bcs.string().serialize('a').toBytes() // Uint8Array [ 1, 97 ]
|
|
19
|
+
* Read U8 value from the buffer and shift cursor by 1.
|
|
20
|
+
* @returns
|
|
249
21
|
*/
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
...e,
|
|
255
|
-
name: (e == null ? void 0 : e.name) ?? "string"
|
|
256
|
-
});
|
|
257
|
-
},
|
|
22
|
+
read8() {
|
|
23
|
+
const t = this.dataView.getUint8(this.bytePosition);
|
|
24
|
+
return this.shift(1), t;
|
|
25
|
+
}
|
|
258
26
|
/**
|
|
259
|
-
*
|
|
260
|
-
* @
|
|
261
|
-
* @param type The BcsType of each element in the array
|
|
262
|
-
* @example
|
|
263
|
-
* bcs.fixedArray(3, bcs.u8()).serialize([1, 2, 3]).toBytes() // Uint8Array [ 1, 2, 3 ]
|
|
27
|
+
* Read U16 value from the buffer and shift cursor by 2.
|
|
28
|
+
* @returns
|
|
264
29
|
*/
|
|
265
|
-
|
|
30
|
+
read16() {
|
|
31
|
+
const t = this.dataView.getUint16(this.bytePosition, !0);
|
|
32
|
+
return this.shift(2), t;
|
|
33
|
+
}
|
|
266
34
|
/**
|
|
267
|
-
*
|
|
268
|
-
* @
|
|
269
|
-
* @example
|
|
270
|
-
* bcs.option(bcs.u8()).serialize(null).toBytes() // Uint8Array [ 0 ]
|
|
271
|
-
* bcs.option(bcs.u8()).serialize(1).toBytes() // Uint8Array [ 1, 1 ]
|
|
35
|
+
* Read U32 value from the buffer and shift cursor by 4.
|
|
36
|
+
* @returns
|
|
272
37
|
*/
|
|
273
|
-
|
|
38
|
+
read32() {
|
|
39
|
+
const t = this.dataView.getUint32(this.bytePosition, !0);
|
|
40
|
+
return this.shift(4), t;
|
|
41
|
+
}
|
|
274
42
|
/**
|
|
275
|
-
*
|
|
276
|
-
* @
|
|
277
|
-
*
|
|
278
|
-
* @example
|
|
279
|
-
* bcs.vector(bcs.u8()).toBytes([1, 2, 3]) // Uint8Array [ 3, 1, 2, 3 ]
|
|
43
|
+
* Read U64 value from the buffer and shift cursor by 8.
|
|
44
|
+
* @returns
|
|
280
45
|
*/
|
|
281
|
-
|
|
46
|
+
read64() {
|
|
47
|
+
const t = this.read32(), e = this.read32().toString(16) + t.toString(16).padStart(8, "0");
|
|
48
|
+
return BigInt("0x" + e).toString(10);
|
|
49
|
+
}
|
|
282
50
|
/**
|
|
283
|
-
*
|
|
284
|
-
* @param types The BcsTypes for each element in the tuple
|
|
285
|
-
*
|
|
286
|
-
* @example
|
|
287
|
-
* const tuple = bcs.tuple([bcs.u8(), bcs.string(), bcs.bool()])
|
|
288
|
-
* tuple.serialize([1, 'a', true]).toBytes() // Uint8Array [ 1, 1, 97, 1 ]
|
|
51
|
+
* Read U128 value from the buffer and shift cursor by 16.
|
|
289
52
|
*/
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
});
|
|
295
|
-
},
|
|
53
|
+
read128() {
|
|
54
|
+
const t = BigInt(this.read64()), e = BigInt(this.read64()).toString(16) + t.toString(16).padStart(16, "0");
|
|
55
|
+
return BigInt("0x" + e).toString(10);
|
|
56
|
+
}
|
|
296
57
|
/**
|
|
297
|
-
*
|
|
298
|
-
* @
|
|
299
|
-
* @param fields The fields of the struct. The order of the fields affects how data is serialized and deserialized
|
|
300
|
-
*
|
|
301
|
-
* @example
|
|
302
|
-
* const struct = bcs.struct('MyStruct', {
|
|
303
|
-
* a: bcs.u8(),
|
|
304
|
-
* b: bcs.string(),
|
|
305
|
-
* })
|
|
306
|
-
* struct.serialize({ a: 1, b: 'a' }).toBytes() // Uint8Array [ 1, 1, 97 ]
|
|
58
|
+
* Read U128 value from the buffer and shift cursor by 32.
|
|
59
|
+
* @returns
|
|
307
60
|
*/
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
...a
|
|
313
|
-
});
|
|
314
|
-
},
|
|
61
|
+
read256() {
|
|
62
|
+
const t = BigInt(this.read128()), e = BigInt(this.read128()).toString(16) + t.toString(16).padStart(32, "0");
|
|
63
|
+
return BigInt("0x" + e).toString(10);
|
|
64
|
+
}
|
|
315
65
|
/**
|
|
316
|
-
*
|
|
317
|
-
* @param
|
|
318
|
-
* @param values The values of the enum. The order of the values affects how data is serialized and deserialized.
|
|
319
|
-
* null can be used to represent a variant with no data.
|
|
320
|
-
*
|
|
321
|
-
* @example
|
|
322
|
-
* const enum = bcs.enum('MyEnum', {
|
|
323
|
-
* A: bcs.u8(),
|
|
324
|
-
* B: bcs.string(),
|
|
325
|
-
* C: null,
|
|
326
|
-
* })
|
|
327
|
-
* enum.serialize({ A: 1 }).toBytes() // Uint8Array [ 0, 1 ]
|
|
328
|
-
* enum.serialize({ B: 'a' }).toBytes() // Uint8Array [ 1, 1, 97 ]
|
|
329
|
-
* enum.serialize({ C: true }).toBytes() // Uint8Array [ 2 ]
|
|
66
|
+
* Read `num` number of bytes from the buffer and shift cursor by `num`.
|
|
67
|
+
* @param num Number of bytes to read.
|
|
330
68
|
*/
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
...a
|
|
336
|
-
});
|
|
337
|
-
},
|
|
69
|
+
readBytes(t) {
|
|
70
|
+
const i = this.bytePosition + this.dataView.byteOffset, e = new Uint8Array(this.dataView.buffer, i, t);
|
|
71
|
+
return this.shift(t), e;
|
|
72
|
+
}
|
|
338
73
|
/**
|
|
339
|
-
*
|
|
340
|
-
*
|
|
341
|
-
* @
|
|
342
|
-
* @example
|
|
343
|
-
* const map = bcs.map(bcs.u8(), bcs.string())
|
|
344
|
-
* map.serialize(new Map([[2, 'a']])).toBytes() // Uint8Array [ 1, 2, 1, 97 ]
|
|
74
|
+
* Read ULEB value - an integer of varying size. Used for enum indexes and
|
|
75
|
+
* vector lengths.
|
|
76
|
+
* @returns {Number} The ULEB value.
|
|
345
77
|
*/
|
|
346
|
-
|
|
78
|
+
readULEB() {
|
|
79
|
+
const t = this.bytePosition + this.dataView.byteOffset, i = new Uint8Array(this.dataView.buffer, t), { value: e, length: s } = r(i);
|
|
80
|
+
return this.shift(s), e;
|
|
81
|
+
}
|
|
347
82
|
/**
|
|
348
|
-
*
|
|
349
|
-
*
|
|
83
|
+
* Read a BCS vector: read a length and then apply function `cb` X times
|
|
84
|
+
* where X is the length of the vector, defined as ULEB in BCS bytes.
|
|
85
|
+
* @param cb Callback to process elements of vector.
|
|
86
|
+
* @returns {Array<Any>} Array of the resulting values, returned by callback.
|
|
350
87
|
*/
|
|
351
|
-
|
|
352
|
-
|
|
88
|
+
readVec(t) {
|
|
89
|
+
const i = this.readULEB(), e = [];
|
|
90
|
+
for (let s = 0; s < i; s++)
|
|
91
|
+
e.push(t(this, s, i));
|
|
92
|
+
return e;
|
|
353
93
|
}
|
|
354
|
-
}
|
|
94
|
+
}
|
|
355
95
|
export {
|
|
356
|
-
|
|
96
|
+
o as BcsReader
|
|
357
97
|
};
|
package/dist/index365.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function l(n){let e=BigInt(n);const t=[];let r=0;if(e===0n)return[0];for(;e>0;)t[r]=Number(e&0x7fn),e>>=7n,e>0n&&(t[r]|=128),r+=1;return t}function u(n){let e=0n,t=0n,r=0;for(;;){if(r>=n.length)throw new Error("ULEB decode error: buffer overflow");const o=n[r];if(r+=1,e+=BigInt(o&127)<<t,!(o&128))break;t+=7n}if(e>BigInt(Number.MAX_SAFE_INTEGER))throw new Error("ULEB decode error: value exceeds MAX_SAFE_INTEGER");return{value:Number(e),length:r}}exports.ulebDecode=u;exports.ulebEncode=l;
|
package/dist/index365.js
CHANGED
|
@@ -1,76 +1,31 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
const
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
if (r
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
if (r === "u256")
|
|
21
|
-
return { u256: null };
|
|
22
|
-
if (r === "signer")
|
|
23
|
-
return { signer: null };
|
|
24
|
-
const n = r.match(o);
|
|
25
|
-
if (n)
|
|
26
|
-
return {
|
|
27
|
-
vector: t.parseFromStr(n[1], e)
|
|
28
|
-
};
|
|
29
|
-
const u = r.match(l);
|
|
30
|
-
if (u)
|
|
31
|
-
return {
|
|
32
|
-
struct: {
|
|
33
|
-
address: e ? i(u[1]) : u[1],
|
|
34
|
-
module: u[2],
|
|
35
|
-
name: u[3],
|
|
36
|
-
typeParams: u[5] === void 0 ? [] : t.parseStructTypeArgs(u[5], e)
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
throw new Error(`Encountered unexpected token when parsing type args for ${r}`);
|
|
40
|
-
}
|
|
41
|
-
static parseStructTypeArgs(r, e = !1) {
|
|
42
|
-
return s(r).map(
|
|
43
|
-
(n) => t.parseFromStr(n, e)
|
|
44
|
-
);
|
|
45
|
-
}
|
|
46
|
-
static tagToString(r) {
|
|
47
|
-
if ("bool" in r)
|
|
48
|
-
return "bool";
|
|
49
|
-
if ("u8" in r)
|
|
50
|
-
return "u8";
|
|
51
|
-
if ("u16" in r)
|
|
52
|
-
return "u16";
|
|
53
|
-
if ("u32" in r)
|
|
54
|
-
return "u32";
|
|
55
|
-
if ("u64" in r)
|
|
56
|
-
return "u64";
|
|
57
|
-
if ("u128" in r)
|
|
58
|
-
return "u128";
|
|
59
|
-
if ("u256" in r)
|
|
60
|
-
return "u256";
|
|
61
|
-
if ("address" in r)
|
|
62
|
-
return "address";
|
|
63
|
-
if ("signer" in r)
|
|
64
|
-
return "signer";
|
|
65
|
-
if ("vector" in r)
|
|
66
|
-
return `vector<${t.tagToString(r.vector)}>`;
|
|
67
|
-
if ("struct" in r) {
|
|
68
|
-
const e = r.struct, n = e.typeParams.map(t.tagToString).join(", ");
|
|
69
|
-
return `${e.address}::${e.module}::${e.name}${n ? `<${n}>` : ""}`;
|
|
70
|
-
}
|
|
71
|
-
throw new Error("Invalid TypeTag");
|
|
1
|
+
function l(t) {
|
|
2
|
+
let e = BigInt(t);
|
|
3
|
+
const n = [];
|
|
4
|
+
let r = 0;
|
|
5
|
+
if (e === 0n)
|
|
6
|
+
return [0];
|
|
7
|
+
for (; e > 0; )
|
|
8
|
+
n[r] = Number(e & 0x7fn), e >>= 7n, e > 0n && (n[r] |= 128), r += 1;
|
|
9
|
+
return n;
|
|
10
|
+
}
|
|
11
|
+
function u(t) {
|
|
12
|
+
let e = 0n, n = 0n, r = 0;
|
|
13
|
+
for (; ; ) {
|
|
14
|
+
if (r >= t.length)
|
|
15
|
+
throw new Error("ULEB decode error: buffer overflow");
|
|
16
|
+
const o = t[r];
|
|
17
|
+
if (r += 1, e += BigInt(o & 127) << n, !(o & 128))
|
|
18
|
+
break;
|
|
19
|
+
n += 7n;
|
|
72
20
|
}
|
|
21
|
+
if (e > BigInt(Number.MAX_SAFE_INTEGER))
|
|
22
|
+
throw new Error("ULEB decode error: value exceeds MAX_SAFE_INTEGER");
|
|
23
|
+
return {
|
|
24
|
+
value: Number(e),
|
|
25
|
+
length: r
|
|
26
|
+
};
|
|
73
27
|
}
|
|
74
28
|
export {
|
|
75
|
-
|
|
29
|
+
u as ulebDecode,
|
|
30
|
+
l as ulebEncode
|
|
76
31
|
};
|
package/dist/index366.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const h=require("./index365.cjs"),o=require("./index329.cjs");class a{constructor({initialSize:t=1024,maxSize:i=1/0,allocateSize:e=1024}={}){this.bytePosition=0,this.size=t,this.maxSize=i,this.allocateSize=e,this.dataView=new DataView(new ArrayBuffer(t))}ensureSizeOrGrow(t){const i=this.bytePosition+t;if(i>this.size){const e=Math.min(this.maxSize,Math.max(this.size+i,this.size+this.allocateSize));if(i>e)throw new Error(`Attempting to serialize to BCS, but buffer does not have enough size. Allocated size: ${this.size}, Max size: ${this.maxSize}, Required size: ${i}`);this.size=e;const s=new ArrayBuffer(this.size);new Uint8Array(s).set(new Uint8Array(this.dataView.buffer)),this.dataView=new DataView(s)}}shift(t){return this.bytePosition+=t,this}write8(t){return this.ensureSizeOrGrow(1),this.dataView.setUint8(this.bytePosition,Number(t)),this.shift(1)}writeBytes(t){this.ensureSizeOrGrow(t.length);for(let i=0;i<t.length;i++)this.dataView.setUint8(this.bytePosition+i,t[i]);return this.shift(t.length)}write16(t){return this.ensureSizeOrGrow(2),this.dataView.setUint16(this.bytePosition,Number(t),!0),this.shift(2)}write32(t){return this.ensureSizeOrGrow(4),this.dataView.setUint32(this.bytePosition,Number(t),!0),this.shift(4)}write64(t){return n(BigInt(t),8).forEach(i=>this.write8(i)),this}write128(t){return n(BigInt(t),16).forEach(i=>this.write8(i)),this}write256(t){return n(BigInt(t),32).forEach(i=>this.write8(i)),this}writeULEB(t){return h.ulebEncode(t).forEach(i=>this.write8(i)),this}writeVec(t,i){return this.writeULEB(t.length),Array.from(t).forEach((e,s)=>i(this,e,s,t.length)),this}*[Symbol.iterator](){for(let t=0;t<this.bytePosition;t++)yield this.dataView.getUint8(t);return this.toBytes()}toBytes(){return new Uint8Array(this.dataView.buffer.slice(0,this.bytePosition))}toString(t){return o.encodeStr(this.toBytes(),t)}}function n(r,t){const i=new Uint8Array(t);let e=0;for(;r>0;)i[e]=Number(r%BigInt(256)),r=r/BigInt(256),e+=1;return i}exports.BcsWriter=a;
|