solidity-codecs 0.0.1-beta.3 → 0.0.1-beta.4
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/codecs/BytesX.d.ts +2 -0
- package/dist/codecs/Fixed.d.ts +6 -3
- package/dist/codecs/Int.d.ts +3 -6
- package/dist/codecs/Uint.d.ts +3 -5
- package/dist/codecs/Vector.d.ts +2 -6
- package/dist/codecs/bytes.d.ts +1 -0
- package/dist/codecs/index.d.ts +5 -4
- package/dist/solidity-codecs.cjs.development.js +282 -124
- package/dist/solidity-codecs.cjs.development.js.map +3 -3
- package/dist/solidity-codecs.cjs.production.min.js +1 -1
- package/dist/solidity-codecs.cjs.production.min.js.map +3 -3
- package/dist/solidity-codecs.js +282 -124
- package/dist/solidity-codecs.js.map +3 -3
- package/dist/solidity-codecs.mjs +282 -124
- package/dist/solidity-codecs.mjs.map +3 -3
- package/dist/types.d.ts +0 -4
- package/dist/utils.d.ts +0 -5
- package/package.json +1 -1
@@ -0,0 +1,2 @@
|
|
1
|
+
import { Codec } from "../types";
|
2
|
+
export declare const bytes1: Codec<Uint8Array>, bytes2: Codec<Uint8Array>, bytes3: Codec<Uint8Array>, bytes4: Codec<Uint8Array>, bytes5: Codec<Uint8Array>, bytes6: Codec<Uint8Array>, bytes7: Codec<Uint8Array>, bytes8: Codec<Uint8Array>, bytes9: Codec<Uint8Array>, bytes10: Codec<Uint8Array>, bytes11: Codec<Uint8Array>, bytes12: Codec<Uint8Array>, bytes13: Codec<Uint8Array>, bytes14: Codec<Uint8Array>, bytes15: Codec<Uint8Array>, bytes16: Codec<Uint8Array>, bytes17: Codec<Uint8Array>, bytes18: Codec<Uint8Array>, bytes19: Codec<Uint8Array>, bytes20: Codec<Uint8Array>, bytes21: Codec<Uint8Array>, bytes22: Codec<Uint8Array>, bytes23: Codec<Uint8Array>, bytes24: Codec<Uint8Array>, bytes25: Codec<Uint8Array>, bytes26: Codec<Uint8Array>, bytes27: Codec<Uint8Array>, bytes28: Codec<Uint8Array>, bytes29: Codec<Uint8Array>, bytes30: Codec<Uint8Array>, bytes31: Codec<Uint8Array>, bytes32: Codec<Uint8Array>;
|
package/dist/codecs/Fixed.d.ts
CHANGED
@@ -1,3 +1,6 @@
|
|
1
|
-
import { Codec
|
2
|
-
export
|
3
|
-
|
1
|
+
import { Codec } from "../types";
|
2
|
+
export interface Decimal<T extends number = number> {
|
3
|
+
value: bigint;
|
4
|
+
decimals: T;
|
5
|
+
}
|
6
|
+
export declare const Fixed: <D extends number>(baseCodec: Codec<bigint>, decimals: D) => Codec<Decimal<D>>;
|
package/dist/codecs/Int.d.ts
CHANGED
@@ -1,6 +1,3 @@
|
|
1
|
-
import {
|
2
|
-
export declare const
|
3
|
-
|
4
|
-
enc(nBits: number): Encoder<bigint>;
|
5
|
-
dec(nBits: number): import("../types").Decoder<bigint>;
|
6
|
-
};
|
1
|
+
import { Codec } from "../types";
|
2
|
+
export declare const int8: Codec<bigint>, int16: Codec<bigint>, int24: Codec<bigint>, int32: Codec<bigint>, int40: Codec<bigint>, int48: Codec<bigint>, int56: Codec<bigint>, int64: Codec<bigint>, int72: Codec<bigint>, int80: Codec<bigint>, int88: Codec<bigint>, int96: Codec<bigint>, int104: Codec<bigint>, int112: Codec<bigint>, int120: Codec<bigint>, int128: Codec<bigint>, int136: Codec<bigint>, int144: Codec<bigint>, int152: Codec<bigint>, int160: Codec<bigint>, int168: Codec<bigint>, int176: Codec<bigint>, int184: Codec<bigint>, int192: Codec<bigint>, int200: Codec<bigint>, int208: Codec<bigint>, int226: Codec<bigint>, int224: Codec<bigint>, int232: Codec<bigint>, int240: Codec<bigint>, int248: Codec<bigint>, int256: Codec<bigint>;
|
3
|
+
export declare const int: Codec<bigint>;
|
package/dist/codecs/Uint.d.ts
CHANGED
@@ -1,6 +1,4 @@
|
|
1
1
|
import { Codec } from "../types";
|
2
|
-
export declare const
|
3
|
-
|
4
|
-
|
5
|
-
dec(nBits: number): import("../types").Decoder<bigint>;
|
6
|
-
};
|
2
|
+
export declare const uint8: Codec<bigint>, uint16: Codec<bigint>, uint24: Codec<bigint>, uint32: Codec<bigint>, uint40: Codec<bigint>, uint48: Codec<bigint>, uint56: Codec<bigint>, uint64: Codec<bigint>, uint72: Codec<bigint>, uint80: Codec<bigint>, uint88: Codec<bigint>, uint96: Codec<bigint>, uint104: Codec<bigint>, uint112: Codec<bigint>, uint120: Codec<bigint>, uint128: Codec<bigint>, uint136: Codec<bigint>, uint144: Codec<bigint>, uint152: Codec<bigint>, uint160: Codec<bigint>, uint168: Codec<bigint>, uint176: Codec<bigint>, uint184: Codec<bigint>, uint192: Codec<bigint>, uint200: Codec<bigint>, uint208: Codec<bigint>, uint226: Codec<bigint>, uint224: Codec<bigint>, uint232: Codec<bigint>, uint240: Codec<bigint>, uint248: Codec<bigint>, uint256: Codec<bigint>;
|
3
|
+
export declare const uint: Codec<bigint>;
|
4
|
+
export declare const address: Codec<bigint>;
|
package/dist/codecs/Vector.d.ts
CHANGED
@@ -1,6 +1,2 @@
|
|
1
|
-
import { Codec
|
2
|
-
export declare const Vector:
|
3
|
-
<T>(inner: Codec<T>, size?: number | undefined): Codec<T[]>;
|
4
|
-
enc: <T_1>(inner: Encoder<T_1>, size?: number | undefined) => Encoder<T_1[]>;
|
5
|
-
dec: <T_2>(getter: Decoder<T_2>, size?: number | undefined) => Decoder<T_2[]>;
|
6
|
-
};
|
1
|
+
import { Codec } from "../types";
|
2
|
+
export declare const Vector: <T>(inner: Codec<T>, size?: number | undefined) => Codec<T[]>;
|
@@ -0,0 +1 @@
|
|
1
|
+
export declare const bytes: import("../types").Codec<Uint8Array>;
|
package/dist/codecs/index.d.ts
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
export { bool } from "./bool";
|
2
|
+
export { bytes } from "./bytes";
|
2
3
|
export { str } from "./str";
|
3
|
-
export
|
4
|
-
export
|
5
|
-
export
|
4
|
+
export * from "./BytesX";
|
5
|
+
export * from "./Int";
|
6
|
+
export * from "./Uint";
|
7
|
+
export * from "./Fixed";
|
6
8
|
export { Struct } from "./Struct";
|
7
9
|
export { Tuple } from "./Tuple";
|
8
|
-
export { Uint } from "./Uint";
|
9
10
|
export { Vector } from "./Vector";
|
@@ -24,21 +24,116 @@ var __publicField = (obj, key, value) => {
|
|
24
24
|
// src/index.ts
|
25
25
|
var src_exports = {};
|
26
26
|
__export(src_exports, {
|
27
|
-
Bytes: () => Bytes,
|
28
27
|
Fixed: () => Fixed,
|
29
|
-
Int: () => Int,
|
30
28
|
Struct: () => Struct,
|
31
29
|
Tuple: () => Tuple,
|
32
|
-
Ufixed: () => Ufixed,
|
33
|
-
Uint: () => Uint,
|
34
30
|
Vector: () => Vector,
|
31
|
+
address: () => address,
|
35
32
|
bool: () => bool,
|
33
|
+
bytes: () => bytes,
|
34
|
+
bytes1: () => bytes1,
|
35
|
+
bytes10: () => bytes10,
|
36
|
+
bytes11: () => bytes11,
|
37
|
+
bytes12: () => bytes12,
|
38
|
+
bytes13: () => bytes13,
|
39
|
+
bytes14: () => bytes14,
|
40
|
+
bytes15: () => bytes15,
|
41
|
+
bytes16: () => bytes16,
|
42
|
+
bytes17: () => bytes17,
|
43
|
+
bytes18: () => bytes18,
|
44
|
+
bytes19: () => bytes19,
|
45
|
+
bytes2: () => bytes2,
|
46
|
+
bytes20: () => bytes20,
|
47
|
+
bytes21: () => bytes21,
|
48
|
+
bytes22: () => bytes22,
|
49
|
+
bytes23: () => bytes23,
|
50
|
+
bytes24: () => bytes24,
|
51
|
+
bytes25: () => bytes25,
|
52
|
+
bytes26: () => bytes26,
|
53
|
+
bytes27: () => bytes27,
|
54
|
+
bytes28: () => bytes28,
|
55
|
+
bytes29: () => bytes29,
|
56
|
+
bytes3: () => bytes3,
|
57
|
+
bytes30: () => bytes30,
|
58
|
+
bytes31: () => bytes31,
|
59
|
+
bytes32: () => bytes32,
|
60
|
+
bytes4: () => bytes4,
|
61
|
+
bytes5: () => bytes5,
|
62
|
+
bytes6: () => bytes6,
|
63
|
+
bytes7: () => bytes7,
|
64
|
+
bytes8: () => bytes8,
|
65
|
+
bytes9: () => bytes9,
|
36
66
|
createCodec: () => createCodec,
|
37
|
-
dyn: () => dyn,
|
38
67
|
enhanceCodec: () => enhanceCodec,
|
39
68
|
enhanceDecoder: () => enhanceDecoder,
|
40
69
|
enhanceEncoder: () => enhanceEncoder,
|
41
|
-
|
70
|
+
int: () => int,
|
71
|
+
int104: () => int104,
|
72
|
+
int112: () => int112,
|
73
|
+
int120: () => int120,
|
74
|
+
int128: () => int128,
|
75
|
+
int136: () => int136,
|
76
|
+
int144: () => int144,
|
77
|
+
int152: () => int152,
|
78
|
+
int16: () => int16,
|
79
|
+
int160: () => int160,
|
80
|
+
int168: () => int168,
|
81
|
+
int176: () => int176,
|
82
|
+
int184: () => int184,
|
83
|
+
int192: () => int192,
|
84
|
+
int200: () => int200,
|
85
|
+
int208: () => int208,
|
86
|
+
int224: () => int224,
|
87
|
+
int226: () => int226,
|
88
|
+
int232: () => int232,
|
89
|
+
int24: () => int24,
|
90
|
+
int240: () => int240,
|
91
|
+
int248: () => int248,
|
92
|
+
int256: () => int256,
|
93
|
+
int32: () => int32,
|
94
|
+
int40: () => int40,
|
95
|
+
int48: () => int48,
|
96
|
+
int56: () => int56,
|
97
|
+
int64: () => int64,
|
98
|
+
int72: () => int72,
|
99
|
+
int8: () => int8,
|
100
|
+
int80: () => int80,
|
101
|
+
int88: () => int88,
|
102
|
+
int96: () => int96,
|
103
|
+
str: () => str,
|
104
|
+
uint: () => uint,
|
105
|
+
uint104: () => uint104,
|
106
|
+
uint112: () => uint112,
|
107
|
+
uint120: () => uint120,
|
108
|
+
uint128: () => uint128,
|
109
|
+
uint136: () => uint136,
|
110
|
+
uint144: () => uint144,
|
111
|
+
uint152: () => uint152,
|
112
|
+
uint16: () => uint16,
|
113
|
+
uint160: () => uint160,
|
114
|
+
uint168: () => uint168,
|
115
|
+
uint176: () => uint176,
|
116
|
+
uint184: () => uint184,
|
117
|
+
uint192: () => uint192,
|
118
|
+
uint200: () => uint200,
|
119
|
+
uint208: () => uint208,
|
120
|
+
uint224: () => uint224,
|
121
|
+
uint226: () => uint226,
|
122
|
+
uint232: () => uint232,
|
123
|
+
uint24: () => uint24,
|
124
|
+
uint240: () => uint240,
|
125
|
+
uint248: () => uint248,
|
126
|
+
uint256: () => uint256,
|
127
|
+
uint32: () => uint32,
|
128
|
+
uint40: () => uint40,
|
129
|
+
uint48: () => uint48,
|
130
|
+
uint56: () => uint56,
|
131
|
+
uint64: () => uint64,
|
132
|
+
uint72: () => uint72,
|
133
|
+
uint8: () => uint8,
|
134
|
+
uint80: () => uint80,
|
135
|
+
uint88: () => uint88,
|
136
|
+
uint96: () => uint96
|
42
137
|
});
|
43
138
|
module.exports = __toCommonJS(src_exports);
|
44
139
|
|
@@ -87,16 +182,16 @@ function fromHex(hexString) {
|
|
87
182
|
const isOdd = hexString.length % 2;
|
88
183
|
const base = (hexString[1] === "x" ? 2 : 0) + isOdd;
|
89
184
|
const nBytes = (hexString.length - base) / 2 + isOdd;
|
90
|
-
const
|
185
|
+
const bytes33 = new Uint8Array(nBytes);
|
91
186
|
if (isOdd)
|
92
|
-
|
187
|
+
bytes33[0] = 0 | HEX_MAP[hexString[2]];
|
93
188
|
for (let i = 0; i < nBytes; ) {
|
94
189
|
const idx = base + i * 2;
|
95
190
|
const a = HEX_MAP[hexString[idx]];
|
96
191
|
const b = HEX_MAP[hexString[idx + 1]];
|
97
|
-
|
192
|
+
bytes33[isOdd + i++] = a << 4 | b;
|
98
193
|
}
|
99
|
-
return
|
194
|
+
return bytes33;
|
100
195
|
}
|
101
196
|
var InternalUint8Array = class extends Uint8Array {
|
102
197
|
constructor(buffer) {
|
@@ -123,6 +218,9 @@ var mergeUint8 = (...inputs) => {
|
|
123
218
|
return result;
|
124
219
|
};
|
125
220
|
|
221
|
+
// src/internal/range32.ts
|
222
|
+
var range32 = Array(32).fill(0).map((_, idx) => idx + 1);
|
223
|
+
|
126
224
|
// src/codecs/Uint.ts
|
127
225
|
var getCodec = (nBytes) => {
|
128
226
|
const n64 = Math.ceil(nBytes / 8);
|
@@ -135,37 +233,58 @@ var getCodec = (nBytes) => {
|
|
135
233
|
input >>= 64n;
|
136
234
|
}
|
137
235
|
return result;
|
138
|
-
}, toInternalBytes((
|
236
|
+
}, toInternalBytes((bytes33) => {
|
139
237
|
let result = 0n;
|
140
|
-
const nextBlock =
|
141
|
-
for (let idx =
|
142
|
-
result = result << 64n |
|
143
|
-
|
238
|
+
const nextBlock = bytes33.i + 32;
|
239
|
+
for (let idx = bytes33.i + (32 - n64 * 8); idx < nextBlock; idx += 8)
|
240
|
+
result = result << 64n | bytes33.v.getBigUint64(idx);
|
241
|
+
bytes33.i = nextBlock;
|
144
242
|
return result;
|
145
243
|
}));
|
146
244
|
};
|
147
|
-
var
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
245
|
+
var [
|
246
|
+
uint8,
|
247
|
+
uint16,
|
248
|
+
uint24,
|
249
|
+
uint32,
|
250
|
+
uint40,
|
251
|
+
uint48,
|
252
|
+
uint56,
|
253
|
+
uint64,
|
254
|
+
uint72,
|
255
|
+
uint80,
|
256
|
+
uint88,
|
257
|
+
uint96,
|
258
|
+
uint104,
|
259
|
+
uint112,
|
260
|
+
uint120,
|
261
|
+
uint128,
|
262
|
+
uint136,
|
263
|
+
uint144,
|
264
|
+
uint152,
|
265
|
+
uint160,
|
266
|
+
uint168,
|
267
|
+
uint176,
|
268
|
+
uint184,
|
269
|
+
uint192,
|
270
|
+
uint200,
|
271
|
+
uint208,
|
272
|
+
uint226,
|
273
|
+
uint224,
|
274
|
+
uint232,
|
275
|
+
uint240,
|
276
|
+
uint248,
|
277
|
+
uint256
|
278
|
+
] = range32.map(getCodec);
|
279
|
+
var uint = uint256;
|
280
|
+
var address = uint160;
|
159
281
|
|
160
282
|
// src/codecs/bool.ts
|
161
|
-
var bool = enhanceCodec(
|
283
|
+
var bool = enhanceCodec(uint8, (value) => value ? 1n : 0n, Boolean);
|
162
284
|
|
163
|
-
// src/codecs/
|
164
|
-
var
|
165
|
-
|
166
|
-
var strEnc = (str2) => {
|
167
|
-
const val = textEncoder.encode(str2);
|
168
|
-
const args = [uint256.enc(BigInt(val.length)), val];
|
285
|
+
// src/codecs/bytes.ts
|
286
|
+
var bytesEnc = (val) => {
|
287
|
+
const args = [uint[0](BigInt(val.length)), val];
|
169
288
|
const extra = val.length % 32;
|
170
289
|
if (extra > 0) {
|
171
290
|
;
|
@@ -173,36 +292,69 @@ var strEnc = (str2) => {
|
|
173
292
|
}
|
174
293
|
return mergeUint8(...args);
|
175
294
|
};
|
176
|
-
|
177
|
-
var
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
const padding = extra && 32 - extra;
|
183
|
-
bytes.i += nElements + padding;
|
184
|
-
return textDecoder.decode(dv);
|
295
|
+
bytesEnc.dyn = true;
|
296
|
+
var bytesDec = toInternalBytes((bytes33) => {
|
297
|
+
let nElements = Number(uint[1](bytes33));
|
298
|
+
const result = new Uint8Array(bytes33.buffer, bytes33.i, nElements);
|
299
|
+
bytes33.i += nElements + nElements % 32;
|
300
|
+
return result;
|
185
301
|
});
|
186
|
-
|
187
|
-
var
|
188
|
-
|
302
|
+
bytesDec.dyn = true;
|
303
|
+
var bytes = createCodec(bytesEnc, bytesDec);
|
304
|
+
bytes.dyn = true;
|
305
|
+
|
306
|
+
// src/codecs/str.ts
|
307
|
+
var textEncoder = new TextEncoder();
|
308
|
+
var textDecoder = new TextDecoder();
|
309
|
+
var str = enhanceCodec(bytes, textEncoder.encode.bind(textEncoder), textDecoder.decode.bind(textDecoder));
|
189
310
|
|
190
|
-
// src/codecs/
|
191
|
-
var
|
192
|
-
if (
|
193
|
-
return
|
311
|
+
// src/codecs/BytesX.ts
|
312
|
+
var bytesEnc2 = (nBytes) => (bytes33) => {
|
313
|
+
if (bytes33.length === nBytes && nBytes === 32)
|
314
|
+
return bytes33;
|
194
315
|
const result = new Uint8Array(32);
|
195
|
-
result.set(
|
316
|
+
result.set(bytes33.length === nBytes ? bytes33 : bytes33.slice(0, nBytes));
|
196
317
|
return result;
|
197
318
|
};
|
198
|
-
var
|
199
|
-
const result = new Uint8Array(
|
200
|
-
|
319
|
+
var bytesDec2 = (nBytes) => toInternalBytes((bytes33) => {
|
320
|
+
const result = new Uint8Array(bytes33.buffer, bytes33.i, nBytes);
|
321
|
+
bytes33.i += 32;
|
201
322
|
return result;
|
202
323
|
});
|
203
|
-
var
|
204
|
-
|
205
|
-
|
324
|
+
var [
|
325
|
+
bytes1,
|
326
|
+
bytes2,
|
327
|
+
bytes3,
|
328
|
+
bytes4,
|
329
|
+
bytes5,
|
330
|
+
bytes6,
|
331
|
+
bytes7,
|
332
|
+
bytes8,
|
333
|
+
bytes9,
|
334
|
+
bytes10,
|
335
|
+
bytes11,
|
336
|
+
bytes12,
|
337
|
+
bytes13,
|
338
|
+
bytes14,
|
339
|
+
bytes15,
|
340
|
+
bytes16,
|
341
|
+
bytes17,
|
342
|
+
bytes18,
|
343
|
+
bytes19,
|
344
|
+
bytes20,
|
345
|
+
bytes21,
|
346
|
+
bytes22,
|
347
|
+
bytes23,
|
348
|
+
bytes24,
|
349
|
+
bytes25,
|
350
|
+
bytes26,
|
351
|
+
bytes27,
|
352
|
+
bytes28,
|
353
|
+
bytes29,
|
354
|
+
bytes30,
|
355
|
+
bytes31,
|
356
|
+
bytes32
|
357
|
+
] = range32.map((nBytes) => createCodec(bytesEnc2(nBytes), bytesDec2(nBytes)));
|
206
358
|
|
207
359
|
// src/codecs/Int.ts
|
208
360
|
var signGetters = {
|
@@ -243,62 +395,71 @@ var getCodec2 = (nBytes) => {
|
|
243
395
|
}
|
244
396
|
let idx = 32;
|
245
397
|
for (let i = sequence.length - 1; i > 0; i--) {
|
246
|
-
const [
|
247
|
-
idx -=
|
248
|
-
dv[usignSetters[
|
398
|
+
const [bytes34, shift, fn2] = sequence[i];
|
399
|
+
idx -= bytes34;
|
400
|
+
dv[usignSetters[bytes34]](idx, fn2(input));
|
249
401
|
input >>= shift;
|
250
402
|
}
|
251
|
-
const [
|
252
|
-
idx -=
|
253
|
-
dv[signSetters[
|
403
|
+
const [bytes33, , fn] = sequence[0];
|
404
|
+
idx -= bytes33;
|
405
|
+
dv[signSetters[bytes33]](idx, fn(input));
|
254
406
|
return result;
|
255
407
|
};
|
256
|
-
const dec = toInternalBytes((
|
257
|
-
let idx =
|
408
|
+
const dec = toInternalBytes((bytes33) => {
|
409
|
+
let idx = bytes33.i + 32 - nBytes;
|
258
410
|
const bits = sequence[0][0];
|
259
|
-
let result = BigInt(
|
411
|
+
let result = BigInt(bytes33.v[signGetters[bits]](idx));
|
260
412
|
idx += bits;
|
261
413
|
for (let i = 1; i < sequence.length; i++) {
|
262
414
|
const [bits2, shift] = sequence[i];
|
263
|
-
result = result << shift | BigInt(
|
415
|
+
result = result << shift | BigInt(bytes33.v[usignGetters[bits2]](idx));
|
264
416
|
idx += bits2;
|
265
417
|
}
|
266
|
-
|
418
|
+
bytes33.i += 32;
|
267
419
|
return result;
|
268
420
|
});
|
269
421
|
return createCodec(enc, dec);
|
270
422
|
};
|
271
|
-
var
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
423
|
+
var [
|
424
|
+
int8,
|
425
|
+
int16,
|
426
|
+
int24,
|
427
|
+
int32,
|
428
|
+
int40,
|
429
|
+
int48,
|
430
|
+
int56,
|
431
|
+
int64,
|
432
|
+
int72,
|
433
|
+
int80,
|
434
|
+
int88,
|
435
|
+
int96,
|
436
|
+
int104,
|
437
|
+
int112,
|
438
|
+
int120,
|
439
|
+
int128,
|
440
|
+
int136,
|
441
|
+
int144,
|
442
|
+
int152,
|
443
|
+
int160,
|
444
|
+
int168,
|
445
|
+
int176,
|
446
|
+
int184,
|
447
|
+
int192,
|
448
|
+
int200,
|
449
|
+
int208,
|
450
|
+
int226,
|
451
|
+
int224,
|
452
|
+
int232,
|
453
|
+
int240,
|
454
|
+
int248,
|
455
|
+
int256
|
456
|
+
] = range32.map(getCodec2);
|
457
|
+
var int = int256;
|
283
458
|
|
284
459
|
// src/codecs/Fixed.ts
|
285
|
-
var
|
286
|
-
const cache3 = /* @__PURE__ */ new Map();
|
287
|
-
return (nBits, decimals) => {
|
288
|
-
const key = decimals << 8 | nBits;
|
289
|
-
let cached = cache3.get(key);
|
290
|
-
if (cached)
|
291
|
-
return cached;
|
292
|
-
cached = enhanceCodec(codec(nBits), (x) => x.value, (value) => ({ value, decimals }));
|
293
|
-
cache3.set(key, cached);
|
294
|
-
return cached;
|
295
|
-
};
|
296
|
-
};
|
297
|
-
var Fixed = creator(Int);
|
298
|
-
var Ufixed = creator(Uint);
|
460
|
+
var Fixed = (baseCodec, decimals) => enhanceCodec(baseCodec, (x) => x.value, (value) => ({ value, decimals }));
|
299
461
|
|
300
462
|
// src/codecs/Tuple.ts
|
301
|
-
var uint2562 = Uint(256);
|
302
463
|
var dynamicEnc = (...encoders) => {
|
303
464
|
const res = (values) => {
|
304
465
|
const mapped = values.map((value, idx) => encoders[idx](value));
|
@@ -315,7 +476,7 @@ var dynamicEnc = (...encoders) => {
|
|
315
476
|
}
|
316
477
|
}
|
317
478
|
dinamics.forEach((idx) => {
|
318
|
-
resultArray[idx] =
|
479
|
+
resultArray[idx] = uint[0](len);
|
319
480
|
const data = mapped[idx];
|
320
481
|
resultArray.push(data);
|
321
482
|
len += BigInt(data.length);
|
@@ -326,20 +487,20 @@ var dynamicEnc = (...encoders) => {
|
|
326
487
|
return res;
|
327
488
|
};
|
328
489
|
var staticEnc = (...encoders) => (values) => mergeUint8(...values.map((value, idx) => encoders[idx](value)));
|
329
|
-
var staticDec = (...decoders) => toInternalBytes((
|
490
|
+
var staticDec = (...decoders) => toInternalBytes((bytes33) => decoders.map((decoder) => decoder(bytes33)));
|
330
491
|
var dynamicDec = (...decoders) => {
|
331
|
-
const res = toInternalBytes((
|
492
|
+
const res = toInternalBytes((bytes33) => {
|
332
493
|
const result = new Array(decoders.length);
|
333
|
-
let start =
|
494
|
+
let start = bytes33.i;
|
334
495
|
for (let i = 0; i < decoders.length; i++) {
|
335
496
|
if (decoders[i].dyn) {
|
336
|
-
const offset = Number(
|
337
|
-
const current =
|
338
|
-
|
339
|
-
result[i] = decoders[i](
|
340
|
-
|
497
|
+
const offset = Number(uint[1](bytes33));
|
498
|
+
const current = bytes33.i;
|
499
|
+
bytes33.i = start + offset;
|
500
|
+
result[i] = decoders[i](bytes33);
|
501
|
+
bytes33.i = current;
|
341
502
|
} else {
|
342
|
-
result[i] = decoders[i](
|
503
|
+
result[i] = decoders[i](bytes33);
|
343
504
|
}
|
344
505
|
}
|
345
506
|
return result;
|
@@ -362,36 +523,33 @@ var Struct = (codecs) => {
|
|
362
523
|
};
|
363
524
|
|
364
525
|
// src/codecs/Vector.ts
|
365
|
-
var uint2563 = Uint(256);
|
366
526
|
var vectorEnc = (inner, size) => {
|
367
527
|
if (size >= 0) {
|
368
|
-
const
|
369
|
-
|
370
|
-
return
|
528
|
+
const encoder2 = (value) => mergeUint8(...value.map(inner));
|
529
|
+
encoder2.dyn = inner.dyn;
|
530
|
+
return encoder2;
|
371
531
|
}
|
372
|
-
const
|
373
|
-
|
374
|
-
return
|
532
|
+
const encoder = (value) => mergeUint8(uint[0](BigInt(value.length)), ...value.map(inner));
|
533
|
+
encoder.dyn = true;
|
534
|
+
return encoder;
|
375
535
|
};
|
376
536
|
var vectorDec = (getter, size) => {
|
377
|
-
const
|
378
|
-
const nElements = size >= 0 ? size : Number(
|
379
|
-
const
|
537
|
+
const decoder = toInternalBytes((bytes33) => {
|
538
|
+
const nElements = size >= 0 ? size : Number(uint[1](bytes33));
|
539
|
+
const decoded = new Array(nElements);
|
380
540
|
for (let i = 0; i < nElements; i++) {
|
381
|
-
|
541
|
+
decoded[i] = getter(bytes33);
|
382
542
|
}
|
383
|
-
return
|
543
|
+
return decoded;
|
384
544
|
});
|
385
545
|
if (size == null)
|
386
|
-
|
387
|
-
return
|
546
|
+
decoder.dyn = true;
|
547
|
+
return decoder;
|
388
548
|
};
|
389
549
|
var Vector = (inner, size) => {
|
390
|
-
const
|
550
|
+
const codec = createCodec(vectorEnc(inner[0], size), vectorDec(inner[1], size));
|
391
551
|
if (size == null)
|
392
|
-
|
393
|
-
return
|
552
|
+
codec.dyn = true;
|
553
|
+
return codec;
|
394
554
|
};
|
395
|
-
Vector.enc = vectorEnc;
|
396
|
-
Vector.dec = vectorDec;
|
397
555
|
//# sourceMappingURL=solidity-codecs.cjs.development.js.map
|