solidity-codecs 0.0.1-beta.3 → 0.0.1-beta.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -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