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.
@@ -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>;
@@ -1,3 +1,6 @@
1
- import { Codec, Decimal } from "../types";
2
- export declare const Fixed: (nBits: number, decimals: number) => Codec<Decimal>;
3
- export declare const Ufixed: (nBits: number, decimals: number) => Codec<Decimal>;
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>>;
@@ -1,6 +1,3 @@
1
- import { Encoder, Codec } from "../types";
2
- export declare const Int: {
3
- (nBits: number): Codec<bigint>;
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>;
@@ -1,6 +1,4 @@
1
1
  import { Codec } from "../types";
2
- export declare const Uint: {
3
- (nBits: number): Codec<bigint>;
4
- enc(nBits: number): import("../types").Encoder<bigint>;
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>;
@@ -1,6 +1,2 @@
1
- import { Codec, Decoder, Encoder } from "../types";
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>;
@@ -1,9 +1,10 @@
1
1
  export { bool } from "./bool";
2
+ export { bytes } from "./bytes";
2
3
  export { str } from "./str";
3
- export { Bytes } from "./Bytes";
4
- export { Fixed, Ufixed } from "./Fixed";
5
- export { Int } from "./Int";
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
- str: () => str
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 bytes = new Uint8Array(nBytes);
185
+ const bytes33 = new Uint8Array(nBytes);
91
186
  if (isOdd)
92
- bytes[0] = 0 | HEX_MAP[hexString[2]];
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
- bytes[isOdd + i++] = a << 4 | b;
192
+ bytes33[isOdd + i++] = a << 4 | b;
98
193
  }
99
- return bytes;
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((bytes) => {
236
+ }, toInternalBytes((bytes33) => {
139
237
  let result = 0n;
140
- const nextBlock = bytes.i + 32;
141
- for (let idx = bytes.i + (32 - n64 * 8); idx < nextBlock; idx += 8)
142
- result = result << 64n | bytes.v.getBigUint64(idx);
143
- bytes.i = nextBlock;
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 cache = /* @__PURE__ */ new Map();
148
- var Uint = (nBits) => {
149
- let cached = cache.get(nBits);
150
- if (cached)
151
- return cached;
152
- const nBytes = nBits / 8;
153
- cached = getCodec(nBytes);
154
- cache.set(nBits, cached);
155
- return cached;
156
- };
157
- Uint.enc = (nBits) => Uint(nBits).enc;
158
- Uint.dec = (nBits) => Uint(nBits).dec;
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(Uint(8), (value) => value ? 1n : 0n, Boolean);
283
+ var bool = enhanceCodec(uint8, (value) => value ? 1n : 0n, Boolean);
162
284
 
163
- // src/codecs/str.ts
164
- var uint256 = Uint(256);
165
- var textEncoder = new TextEncoder();
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
- strEnc.dyn = true;
177
- var textDecoder = new TextDecoder();
178
- var strDec = toInternalBytes((bytes) => {
179
- let nElements = Number(uint256.dec(bytes));
180
- const dv = new DataView(bytes.buffer, bytes.i, nElements);
181
- const extra = nElements % 32;
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
- strDec.dyn = true;
187
- var str = createCodec(strEnc, strDec);
188
- str.dyn = true;
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/Bytes.ts
191
- var bytesEnc = (nBytes) => (bytes) => {
192
- if (bytes.length === 32)
193
- return bytes;
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(bytes.length === nBytes ? bytes : bytes.slice(0, nBytes));
316
+ result.set(bytes33.length === nBytes ? bytes33 : bytes33.slice(0, nBytes));
196
317
  return result;
197
318
  };
198
- var bytesDec = (nBytes) => toInternalBytes((bytes) => {
199
- const result = new Uint8Array(bytes.buffer, bytes.i, nBytes);
200
- bytes.i += 32;
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 Bytes = (nBytes) => createCodec(bytesEnc(nBytes), bytesDec(nBytes));
204
- Bytes.enc = bytesEnc;
205
- Bytes.dec = bytesDec;
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 [bytes2, shift, fn2] = sequence[i];
247
- idx -= bytes2;
248
- dv[usignSetters[bytes2]](idx, fn2(input));
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 [bytes, , fn] = sequence[0];
252
- idx -= bytes;
253
- dv[signSetters[bytes]](idx, fn(input));
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((bytes) => {
257
- let idx = bytes.i + 32 - nBytes;
408
+ const dec = toInternalBytes((bytes33) => {
409
+ let idx = bytes33.i + 32 - nBytes;
258
410
  const bits = sequence[0][0];
259
- let result = BigInt(bytes.v[signGetters[bits]](idx));
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(bytes.v[usignGetters[bits2]](idx));
415
+ result = result << shift | BigInt(bytes33.v[usignGetters[bits2]](idx));
264
416
  idx += bits2;
265
417
  }
266
- bytes.i += 32;
418
+ bytes33.i += 32;
267
419
  return result;
268
420
  });
269
421
  return createCodec(enc, dec);
270
422
  };
271
- var cache2 = /* @__PURE__ */ new Map();
272
- var Int = (nBits) => {
273
- let cached = cache2.get(nBits);
274
- if (cached)
275
- return cached;
276
- const nBytes = nBits / 8;
277
- cached = getCodec2(nBytes);
278
- cache2.set(nBits, cached);
279
- return cached;
280
- };
281
- Int.enc = (nBits) => Int(nBits).enc;
282
- Int.dec = (nBits) => Int(nBits).dec;
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 creator = (codec) => {
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] = uint2562.enc(len);
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((bytes) => decoders.map((decoder) => decoder(bytes)));
490
+ var staticDec = (...decoders) => toInternalBytes((bytes33) => decoders.map((decoder) => decoder(bytes33)));
330
491
  var dynamicDec = (...decoders) => {
331
- const res = toInternalBytes((bytes) => {
492
+ const res = toInternalBytes((bytes33) => {
332
493
  const result = new Array(decoders.length);
333
- let start = bytes.i;
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(uint2562.dec(bytes));
337
- const current = bytes.i;
338
- bytes.i = start + offset;
339
- result[i] = decoders[i](bytes);
340
- bytes.i = current;
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](bytes);
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 res = (value) => mergeUint8(...value.map(inner));
369
- res.dyn = inner.dyn;
370
- return res;
528
+ const encoder2 = (value) => mergeUint8(...value.map(inner));
529
+ encoder2.dyn = inner.dyn;
530
+ return encoder2;
371
531
  }
372
- const result = (value) => mergeUint8(uint2563.enc(BigInt(value.length)), ...value.map(inner));
373
- result.dyn = true;
374
- return result;
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 result = toInternalBytes((bytes) => {
378
- const nElements = size >= 0 ? size : Number(uint2563.dec(bytes));
379
- const result2 = new Array(nElements);
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
- result2[i] = getter(bytes);
541
+ decoded[i] = getter(bytes33);
382
542
  }
383
- return result2;
543
+ return decoded;
384
544
  });
385
545
  if (size == null)
386
- result.dyn = true;
387
- return result;
546
+ decoder.dyn = true;
547
+ return decoder;
388
548
  };
389
549
  var Vector = (inner, size) => {
390
- const result = createCodec(vectorEnc(inner[0], size), vectorDec(inner[1], size));
550
+ const codec = createCodec(vectorEnc(inner[0], size), vectorDec(inner[1], size));
391
551
  if (size == null)
392
- result.dyn = true;
393
- return result;
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