@subsquid/evm-codec 0.2.1 → 1.0.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 (79) hide show
  1. package/lib/codec.d.ts +59 -12
  2. package/lib/codec.d.ts.map +1 -1
  3. package/lib/codec.js.map +1 -1
  4. package/lib/codecs/array.d.ts +3 -3
  5. package/lib/codecs/array.d.ts.map +1 -1
  6. package/lib/codecs/array.js +13 -7
  7. package/lib/codecs/array.js.map +1 -1
  8. package/lib/codecs/primitives.d.ts +2 -16
  9. package/lib/codecs/primitives.d.ts.map +1 -1
  10. package/lib/codecs/primitives.js +52 -141
  11. package/lib/codecs/primitives.js.map +1 -1
  12. package/lib/codecs/struct.d.ts +17 -9
  13. package/lib/codecs/struct.d.ts.map +1 -1
  14. package/lib/codecs/struct.js +53 -39
  15. package/lib/codecs/struct.js.map +1 -1
  16. package/lib/dsl.d.ts +11 -0
  17. package/lib/dsl.d.ts.map +1 -0
  18. package/lib/dsl.js +33 -0
  19. package/lib/dsl.js.map +1 -0
  20. package/lib/index.d.ts +7 -4
  21. package/lib/index.d.ts.map +1 -1
  22. package/lib/index.js +7 -6
  23. package/lib/index.js.map +1 -1
  24. package/lib/sink/bounds.d.ts +21 -0
  25. package/lib/sink/bounds.d.ts.map +1 -0
  26. package/lib/sink/bounds.js +24 -0
  27. package/lib/sink/bounds.js.map +1 -0
  28. package/lib/sink/bytes.d.ts +41 -0
  29. package/lib/sink/bytes.d.ts.map +1 -0
  30. package/lib/sink/bytes.js +261 -0
  31. package/lib/sink/bytes.js.map +1 -0
  32. package/lib/sink/hex.d.ts +33 -0
  33. package/lib/sink/hex.d.ts.map +1 -0
  34. package/lib/sink/hex.js +289 -0
  35. package/lib/sink/hex.js.map +1 -0
  36. package/lib/{src.d.ts → src/bytes.d.ts} +7 -5
  37. package/lib/src/bytes.d.ts.map +1 -0
  38. package/lib/src/bytes.js +161 -0
  39. package/lib/src/bytes.js.map +1 -0
  40. package/lib/src/hex.d.ts +33 -0
  41. package/lib/src/hex.d.ts.map +1 -0
  42. package/lib/src/hex.js +164 -0
  43. package/lib/src/hex.js.map +1 -0
  44. package/lib/util.d.ts +6 -0
  45. package/lib/util.d.ts.map +1 -0
  46. package/lib/util.js +20 -0
  47. package/lib/util.js.map +1 -0
  48. package/package.json +6 -8
  49. package/src/codec.ts +67 -18
  50. package/src/codecs/array.test.ts +87 -0
  51. package/src/codecs/array.ts +9 -12
  52. package/src/codecs/primitives.test.ts +27 -0
  53. package/src/codecs/primitives.ts +87 -191
  54. package/src/codecs/struct.test.ts +69 -0
  55. package/src/codecs/struct.ts +80 -60
  56. package/src/dsl.ts +16 -0
  57. package/src/index.ts +7 -4
  58. package/src/sink/bounds.ts +26 -0
  59. package/src/sink/bytes.test.ts +92 -0
  60. package/src/sink/bytes.ts +290 -0
  61. package/src/sink/hex.ts +311 -0
  62. package/src/src/bytes.test.ts +114 -0
  63. package/src/src/bytes.ts +187 -0
  64. package/src/src/hex.ts +191 -0
  65. package/src/util.ts +19 -0
  66. package/lib/safeToNumber.d.ts +0 -2
  67. package/lib/safeToNumber.d.ts.map +0 -1
  68. package/lib/safeToNumber.js +0 -11
  69. package/lib/safeToNumber.js.map +0 -1
  70. package/lib/sink.d.ts +0 -43
  71. package/lib/sink.d.ts.map +0 -1
  72. package/lib/sink.js +0 -215
  73. package/lib/sink.js.map +0 -1
  74. package/lib/src.d.ts.map +0 -1
  75. package/lib/src.js +0 -141
  76. package/lib/src.js.map +0 -1
  77. package/src/safeToNumber.ts +0 -6
  78. package/src/sink.ts +0 -241
  79. package/src/src.ts +0 -158
package/lib/codec.d.ts CHANGED
@@ -1,23 +1,70 @@
1
- import type { Sink } from './sink';
2
- import type { Src } from './src';
3
1
  export declare const WORD_SIZE = 32;
2
+ export type BaseType = 'int' | 'address' | 'bool' | 'bytes' | 'string' | 'array' | 'struct';
3
+ /** ABI encoder backend — writes one 32-byte word per call, manages the head/tail structure. */
4
+ export interface Sink {
5
+ u8(val: number): void;
6
+ i8(val: number): void;
7
+ u16(val: number): void;
8
+ i16(val: number): void;
9
+ u32(val: number): void;
10
+ i32(val: number): void;
11
+ u64(val: bigint): void;
12
+ i64(val: bigint): void;
13
+ u128(val: bigint): void;
14
+ i128(val: bigint): void;
15
+ u256(val: bigint): void;
16
+ i256(val: bigint): void;
17
+ bool(val: boolean): void;
18
+ bytes(val: Uint8Array | string): void;
19
+ staticBytes(len: number, val: Uint8Array | string): void;
20
+ address(val: string): void;
21
+ string(val: string): void;
22
+ /** Begin the tail of a dynamic type (writes the head offset, enters tail context). */
23
+ openTail(slotsCount?: number): void;
24
+ /** Begin the tail of a dynamic array (writes offset + element count, enters tail context). */
25
+ openArray(count: number): void;
26
+ /** End the current tail, propagate its size to the parent context. */
27
+ closeTail(): void;
28
+ toString(): string;
29
+ }
30
+ /** ABI decoder backend — reads one 32-byte word per call, follows offset pointers. */
31
+ export interface Src {
32
+ u8(): number;
33
+ i8(): number;
34
+ u16(): number;
35
+ i16(): number;
36
+ u32(): number;
37
+ i32(): number;
38
+ u64(): bigint;
39
+ i64(): bigint;
40
+ u128(): bigint;
41
+ i128(): bigint;
42
+ u256(): bigint;
43
+ i256(): bigint;
44
+ bool(): boolean;
45
+ bytes(): Uint8Array;
46
+ /** Decode a dynamic `bytes` value as a `0x`-prefixed hex string. */
47
+ bytesHex(): string;
48
+ staticBytes(len: number): Uint8Array;
49
+ /** Decode a `bytes<N>` value as a `0x`-prefixed hex string. */
50
+ staticBytesHex(len: number): string;
51
+ address(): string;
52
+ string(): string;
53
+ /** Create a sub-view of this source starting at byte offset `start`. */
54
+ slice(start: number, end?: number): Src;
55
+ /** Follow an offset pointer: save the current position and jump to `pos`. */
56
+ jump(pos: number, typeName?: string): void;
57
+ /** Return to the position saved by the last `jump`. */
58
+ jumpBack(): void;
59
+ }
4
60
  export interface Codec<TIn, TOut = TIn> {
5
61
  encode(sink: Sink, val: TIn): void;
6
62
  decode(src: Src): TOut;
7
63
  isDynamic: boolean;
8
64
  slotsCount?: number;
65
+ baseType: BaseType;
9
66
  }
10
67
  export type Struct = {
11
68
  [key: string]: Codec<any>;
12
69
  };
13
- type Pretty<T> = {
14
- [K in keyof T]: T[K];
15
- } & unknown;
16
- export type DecodedStruct<T extends Struct> = Pretty<{
17
- [K in keyof T]: T[K] extends Codec<any, infer U> ? U : never;
18
- }>;
19
- export type EncodedStruct<T extends Struct> = Pretty<{
20
- [K in keyof T]: T[K] extends Codec<infer U, any> ? U : never;
21
- }>;
22
- export {};
23
70
  //# sourceMappingURL=codec.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../src/codec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAClC,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAEhC,eAAO,MAAM,SAAS,KAAK,CAAA;AAE3B,MAAM,WAAW,KAAK,CAAC,GAAG,EAAE,IAAI,GAAG,GAAG;IACpC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,IAAI,CAAA;IAClC,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAAA;IACtB,SAAS,EAAE,OAAO,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAA;CAC1B,CAAA;AAED,KAAK,MAAM,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,OAAO,CAAA;AAEnD,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI,MAAM,CAAC;KAClD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CAC7D,CAAC,CAAA;AAEF,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI,MAAM,CAAC;KAClD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK;CAC7D,CAAC,CAAA"}
1
+ {"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../src/codec.ts"],"names":[],"mappings":"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"}
package/lib/codec.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"codec.js","sourceRoot":"","sources":["../src/codec.ts"],"names":[],"mappings":";;;AAGa,QAAA,SAAS,GAAG,EAAE,CAAA"}
1
+ {"version":3,"file":"codec.js","sourceRoot":"","sources":["../src/codec.ts"],"names":[],"mappings":";;;AAAa,QAAA,SAAS,GAAG,EAAE,CAAA"}
@@ -1,9 +1,8 @@
1
- import { Codec } from '../codec';
2
- import { Sink } from '../sink';
3
- import { Src } from '../src';
1
+ import { type Codec, type Sink, type Src } from '../codec';
4
2
  export declare class ArrayCodec<const TIn, const TOut> implements Codec<readonly TIn[], readonly TOut[]> {
5
3
  readonly item: Codec<TIn, TOut>;
6
4
  readonly isDynamic = true;
5
+ readonly baseType = "array";
7
6
  constructor(item: Codec<TIn, TOut>);
8
7
  encode(sink: Sink, val: TIn[]): void;
9
8
  decode(src: Src): TOut[];
@@ -11,6 +10,7 @@ export declare class ArrayCodec<const TIn, const TOut> implements Codec<readonly
11
10
  export declare class FixedSizeArrayCodec<const TIn, const TOut> implements Codec<readonly TIn[], readonly TOut[]> {
12
11
  readonly item: Codec<TIn, TOut>;
13
12
  readonly size: number;
13
+ readonly baseType = "array";
14
14
  isDynamic: boolean;
15
15
  slotsCount: number;
16
16
  constructor(item: Codec<TIn, TOut>, size: number);
@@ -1 +1 @@
1
- {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/codecs/array.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAa,MAAM,UAAU,CAAA;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAE5B,qBAAa,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAE,YAAW,KAAK,CAAC,SAAS,GAAG,EAAE,EAAE,SAAS,IAAI,EAAE,CAAC;aAGlE,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC;IAFlD,SAAgB,SAAS,QAAO;gBAEJ,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC;IAElD,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE;IAS7B,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,EAAE;CAczB;AAED,qBAAa,mBAAmB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAE,YAAW,KAAK,CAAC,SAAS,GAAG,EAAE,EAAE,SAAS,IAAI,EAAE,CAAC;aAG3E,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC;aAAkB,IAAI,EAAE,MAAM;IAFzE,SAAS,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;gBACG,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,EAAkB,IAAI,EAAE,MAAM;IAKhF,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE;IAY7B,OAAO,CAAC,aAAa;IAQrB,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,EAAE;IAWxB,OAAO,CAAC,aAAa;CAStB"}
1
+ {"version":3,"file":"array.d.ts","sourceRoot":"","sources":["../../src/codecs/array.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,KAAK,EAAE,KAAK,IAAI,EAAE,KAAK,GAAG,EAAE,MAAM,UAAU,CAAA;AAErE,qBAAa,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAE,YAAW,KAAK,CAAC,SAAS,GAAG,EAAE,EAAE,SAAS,IAAI,EAAE,CAAC;aAGlE,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC;IAFlD,SAAgB,SAAS,QAAO;IAChC,SAAgB,QAAQ,WAAU;gBACN,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC;IAElD,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE;IAQ7B,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,EAAE;CAYzB;AAED,qBAAa,mBAAmB,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAE,YAAW,KAAK,CAAC,SAAS,GAAG,EAAE,EAAE,SAAS,IAAI,EAAE,CAAC;aAK3E,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC;aAAkB,IAAI,EAAE,MAAM;IAJhF,SAAgB,QAAQ,WAAU;IAC3B,SAAS,EAAE,OAAO,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;gBAEG,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,EAAkB,IAAI,EAAE,MAAM;IAKhF,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE;IAY7B,OAAO,CAAC,aAAa;IAQrB,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,EAAE;IAWxB,OAAO,CAAC,aAAa;CAStB"}
@@ -3,21 +3,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FixedSizeArrayCodec = exports.ArrayCodec = void 0;
4
4
  const codec_1 = require("../codec");
5
5
  class ArrayCodec {
6
+ item;
7
+ isDynamic = true;
8
+ baseType = 'array';
6
9
  constructor(item) {
7
10
  this.item = item;
8
- this.isDynamic = true;
9
11
  }
10
12
  encode(sink, val) {
11
- sink.newDynamicDataArea(val.length);
13
+ sink.openArray(val.length);
12
14
  for (let i = 0; i < val.length; i++) {
13
15
  this.item.encode(sink, val[i]);
14
16
  }
15
- sink.increaseCurrentDataAreaSize(codec_1.WORD_SIZE);
16
- sink.endCurrentDataArea();
17
+ sink.closeTail();
17
18
  }
18
19
  decode(src) {
19
20
  const offset = src.u32();
20
- src.safeJump(offset, 'array');
21
+ src.jump(offset);
21
22
  const len = src.u32();
22
23
  const tmpSrc = src.slice(offset + codec_1.WORD_SIZE);
23
24
  const val = new Array(len);
@@ -30,6 +31,11 @@ class ArrayCodec {
30
31
  }
31
32
  exports.ArrayCodec = ArrayCodec;
32
33
  class FixedSizeArrayCodec {
34
+ item;
35
+ size;
36
+ baseType = 'array';
37
+ isDynamic;
38
+ slotsCount;
33
39
  constructor(item, size) {
34
40
  this.item = item;
35
41
  this.size = size;
@@ -48,11 +54,11 @@ class FixedSizeArrayCodec {
48
54
  }
49
55
  }
50
56
  encodeDynamic(sink, val) {
51
- sink.newStaticDataArea(this.size);
57
+ sink.openTail(this.size);
52
58
  for (let i = 0; i < val.length; i++) {
53
59
  this.item.encode(sink, val[i]);
54
60
  }
55
- sink.endCurrentDataArea();
61
+ sink.closeTail();
56
62
  }
57
63
  decode(src) {
58
64
  if (this.isDynamic) {
@@ -1 +1 @@
1
- {"version":3,"file":"array.js","sourceRoot":"","sources":["../../src/codecs/array.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"array.js","sourceRoot":"","sources":["../../src/codecs/array.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,4 @@
1
- import { Codec } from '../codec';
2
- import { Sink } from '../sink';
3
- import { Src } from '../src';
4
- import { StructCodec } from './struct';
1
+ import type { Codec } from '../codec';
5
2
  type Numberish = number | bigint;
6
3
  export declare const bool: Codec<boolean>;
7
4
  export declare const uint8: Codec<Numberish, number>;
@@ -16,11 +13,7 @@ export declare const uint128: Codec<Numberish, bigint>;
16
13
  export declare const int128: Codec<Numberish, bigint>;
17
14
  export declare const uint256: Codec<Numberish, bigint>;
18
15
  export declare const int256: Codec<Numberish, bigint>;
19
- export declare const string: {
20
- readonly encode: (sink: Sink, val: string) => void;
21
- readonly decode: (src: Src) => string;
22
- readonly isDynamic: true;
23
- };
16
+ export declare const string: Codec<string>;
24
17
  export declare const bytes: Codec<Uint8Array | string, string>;
25
18
  export declare const bytes0: Codec<string | Uint8Array, string>;
26
19
  export declare const bytes1: Codec<string | Uint8Array, string>;
@@ -56,13 +49,6 @@ export declare const bytes30: Codec<string | Uint8Array, string>;
56
49
  export declare const bytes31: Codec<string | Uint8Array, string>;
57
50
  export declare const bytes32: Codec<string | Uint8Array, string>;
58
51
  export declare const address: Codec<string>;
59
- export declare const fixedSizeArray: <TIn, TOut>(item: Codec<TIn, TOut>, size: number) => Codec<TIn[], TOut[]>;
60
- export declare const array: <TIn, TOut>(item: Codec<TIn, TOut>) => Codec<TIn[], TOut[]>;
61
- type Struct = {
62
- [key: string]: Codec<any>;
63
- };
64
- export declare const struct: <const T extends Struct>(components: T) => StructCodec<T>;
65
- export declare const tuple: <const T extends Struct>(components: T) => StructCodec<T>;
66
52
  export declare const uint24: Codec<Numberish, number>;
67
53
  export declare const int24: Codec<Numberish, number>;
68
54
  export declare const uint40: Codec<Numberish, bigint>;
@@ -1 +1 @@
1
- {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../src/codecs/primitives.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../src/codecs/primitives.ts"],"names":[],"mappings":"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AA;AAC5B,eAAO,MAAM,OAAO,0BAAU,CAAA;AAC9B,eAAO,MAAM,MAAM,0BAAS,CAAA;AAC5B,eAAO,MAAM,OAAO,0BAAU,CAAA;AAC9B,eAAO,MAAM,MAAM,0BAAS,CAAA;AAC5B,eAAO,MAAM,OAAO,0BAAU,CAAA;AAC9B,eAAO,MAAM,MAAM,0BAAS,CAAA;AAC5B,eAAO,MAAM,OAAO,0BAAU,CAAA;AAC9B,eAAO,MAAM,MAAM,0BAAS,CAAA;AAC5B,eAAO,MAAM,OAAO,0BAAU,CAAA;AAC9B,eAAO,MAAM,MAAM,0BAAS,CAAA;AAC5B,eAAO,MAAM,OAAO,0BAAU,CAAA;AAC9B,eAAO,MAAM,MAAM,0BAAS,CAAA;AAC5B,eAAO,MAAM,OAAO,0BAAU,CAAA;AAC9B,eAAO,MAAM,MAAM,0BAAS,CAAA;AAC5B,eAAO,MAAM,OAAO,0BAAU,CAAA;AAC9B,eAAO,MAAM,MAAM,0BAAS,CAAA;AAC5B,eAAO,MAAM,OAAO,0BAAU,CAAA;AAC9B,eAAO,MAAM,MAAM,0BAAS,CAAA;AAC5B,eAAO,MAAM,OAAO,0BAAU,CAAA;AAC9B,eAAO,MAAM,MAAM,0BAAS,CAAA;AAC5B,eAAO,MAAM,OAAO,0BAAU,CAAA;AAC9B,eAAO,MAAM,MAAM,0BAAS,CAAA;AAC5B,eAAO,MAAM,OAAO,0BAAU,CAAA;AAC9B,eAAO,MAAM,MAAM,0BAAS,CAAA;AAC5B,eAAO,MAAM,OAAO,0BAAU,CAAA;AAC9B,eAAO,MAAM,MAAM,0BAAS,CAAA;AAC5B,eAAO,MAAM,OAAO,0BAAU,CAAA;AAC9B,eAAO,MAAM,MAAM,0BAAS,CAAA;AAC5B,eAAO,MAAM,OAAO,0BAAU,CAAA;AAC9B,eAAO,MAAM,MAAM,0BAAS,CAAA;AAC5B,eAAO,MAAM,OAAO,0BAAU,CAAA;AAC9B,eAAO,MAAM,MAAM,0BAAS,CAAA"}
@@ -1,168 +1,85 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.fixedSizeArray = exports.address = exports.bytes32 = exports.bytes31 = exports.bytes30 = exports.bytes29 = exports.bytes28 = exports.bytes27 = exports.bytes26 = exports.bytes25 = exports.bytes24 = exports.bytes23 = exports.bytes22 = exports.bytes21 = exports.bytes20 = exports.bytes19 = exports.bytes18 = exports.bytes17 = exports.bytes16 = exports.bytes15 = exports.bytes14 = exports.bytes13 = exports.bytes12 = exports.bytes11 = exports.bytes10 = exports.bytes9 = exports.bytes8 = exports.bytes7 = exports.bytes6 = exports.bytes5 = exports.bytes4 = exports.bytes3 = exports.bytes2 = exports.bytes1 = exports.bytes0 = exports.bytes = exports.string = exports.int256 = exports.uint256 = exports.int128 = exports.uint128 = exports.int64 = exports.uint64 = exports.int32 = exports.uint32 = exports.int16 = exports.uint16 = exports.int8 = exports.uint8 = exports.bool = void 0;
4
- exports.uint232 = exports.int224 = exports.uint224 = exports.int216 = exports.uint216 = exports.int208 = exports.uint208 = exports.int200 = exports.uint200 = exports.int192 = exports.uint192 = exports.int184 = exports.uint184 = exports.int176 = exports.uint176 = exports.int168 = exports.uint168 = exports.int160 = exports.uint160 = exports.int152 = exports.uint152 = exports.int144 = exports.uint144 = exports.int136 = exports.uint136 = exports.int120 = exports.uint120 = exports.int112 = exports.uint112 = exports.int104 = exports.uint104 = exports.int96 = exports.uint96 = exports.int88 = exports.uint88 = exports.int80 = exports.uint80 = exports.int72 = exports.uint72 = exports.int56 = exports.uint56 = exports.int48 = exports.uint48 = exports.int40 = exports.uint40 = exports.int24 = exports.uint24 = exports.tuple = exports.struct = exports.array = void 0;
5
- exports.int248 = exports.uint248 = exports.int240 = exports.uint240 = exports.int232 = void 0;
6
- const util_internal_hex_1 = require("@subsquid/util-internal-hex");
7
- const array_1 = require("./array");
8
- const struct_1 = require("./struct");
9
- const safeToNumber_1 = require("../safeToNumber");
3
+ exports.uint24 = exports.address = exports.bytes32 = exports.bytes31 = exports.bytes30 = exports.bytes29 = exports.bytes28 = exports.bytes27 = exports.bytes26 = exports.bytes25 = exports.bytes24 = exports.bytes23 = exports.bytes22 = exports.bytes21 = exports.bytes20 = exports.bytes19 = exports.bytes18 = exports.bytes17 = exports.bytes16 = exports.bytes15 = exports.bytes14 = exports.bytes13 = exports.bytes12 = exports.bytes11 = exports.bytes10 = exports.bytes9 = exports.bytes8 = exports.bytes7 = exports.bytes6 = exports.bytes5 = exports.bytes4 = exports.bytes3 = exports.bytes2 = exports.bytes1 = exports.bytes0 = exports.bytes = exports.string = exports.int256 = exports.uint256 = exports.int128 = exports.uint128 = exports.int64 = exports.uint64 = exports.int32 = exports.uint32 = exports.int16 = exports.uint16 = exports.int8 = exports.uint8 = exports.bool = void 0;
4
+ exports.uint248 = exports.int240 = exports.uint240 = exports.int232 = exports.uint232 = exports.int224 = exports.uint224 = exports.int216 = exports.uint216 = exports.int208 = exports.uint208 = exports.int200 = exports.uint200 = exports.int192 = exports.uint192 = exports.int184 = exports.uint184 = exports.int176 = exports.uint176 = exports.int168 = exports.uint168 = exports.int160 = exports.uint160 = exports.int152 = exports.uint152 = exports.int144 = exports.uint144 = exports.int136 = exports.uint136 = exports.int120 = exports.uint120 = exports.int112 = exports.uint112 = exports.int104 = exports.uint104 = exports.int96 = exports.uint96 = exports.int88 = exports.uint88 = exports.int80 = exports.uint80 = exports.int72 = exports.uint72 = exports.int56 = exports.uint56 = exports.int48 = exports.uint48 = exports.int40 = exports.uint40 = exports.int24 = void 0;
5
+ exports.int248 = void 0;
6
+ function safeToNumber(value) {
7
+ if (value < Number.MIN_SAFE_INTEGER || value > Number.MAX_SAFE_INTEGER) {
8
+ throw new Error(`${value} is not a safe integer`);
9
+ }
10
+ return Number(value);
11
+ }
12
+ function numberCodec(method) {
13
+ return {
14
+ encode: (sink, val) => sink[method](safeToNumber(val)),
15
+ decode: (src) => src[method](),
16
+ isDynamic: false,
17
+ baseType: 'int',
18
+ };
19
+ }
20
+ function bigintCodec(method) {
21
+ return {
22
+ encode: (sink, val) => sink[method](BigInt(val)),
23
+ decode: (src) => src[method](),
24
+ isDynamic: false,
25
+ baseType: 'int',
26
+ };
27
+ }
10
28
  exports.bool = {
11
- encode: function (sink, val) {
29
+ encode(sink, val) {
12
30
  sink.bool(val);
13
31
  },
14
32
  decode(src) {
15
33
  return src.bool();
16
34
  },
17
35
  isDynamic: false,
18
- };
19
- exports.uint8 = {
20
- encode(sink, val) {
21
- sink.u8((0, safeToNumber_1.safeToNumber)(val));
22
- },
23
- decode(src) {
24
- return src.u8();
25
- },
26
- isDynamic: false,
27
- };
28
- exports.int8 = {
29
- encode(sink, val) {
30
- sink.i8((0, safeToNumber_1.safeToNumber)(val));
31
- },
32
- decode(src) {
33
- return src.i8();
34
- },
35
- isDynamic: false,
36
- };
37
- exports.uint16 = {
38
- encode(sink, val) {
39
- sink.u16((0, safeToNumber_1.safeToNumber)(val));
40
- },
41
- decode(src) {
42
- return src.u16();
43
- },
44
- isDynamic: false,
45
- };
46
- exports.int16 = {
47
- encode(sink, val) {
48
- sink.i16((0, safeToNumber_1.safeToNumber)(val));
49
- },
50
- decode(src) {
51
- return src.i16();
52
- },
53
- isDynamic: false,
54
- };
55
- exports.uint32 = {
56
- encode(sink, val) {
57
- sink.u32((0, safeToNumber_1.safeToNumber)(val));
58
- },
59
- decode(src) {
60
- return src.u32();
61
- },
62
- isDynamic: false,
63
- };
64
- exports.int32 = {
65
- encode(sink, val) {
66
- sink.i32((0, safeToNumber_1.safeToNumber)(val));
67
- },
68
- decode(src) {
69
- return src.i32();
70
- },
71
- isDynamic: false,
72
- };
73
- exports.uint64 = {
74
- encode(sink, val) {
75
- sink.u64(BigInt(val));
76
- },
77
- decode(src) {
78
- return src.u64();
79
- },
80
- isDynamic: false,
81
- };
82
- exports.int64 = {
83
- encode(sink, val) {
84
- sink.i64(BigInt(val));
85
- },
86
- decode(src) {
87
- return src.i64();
88
- },
89
- isDynamic: false,
90
- };
91
- exports.uint128 = {
92
- encode(sink, val) {
93
- sink.u128(BigInt(val));
94
- },
95
- decode(src) {
96
- return src.u128();
97
- },
98
- isDynamic: false,
99
- };
100
- exports.int128 = {
101
- encode(sink, val) {
102
- sink.i128(BigInt(val));
103
- },
104
- decode(src) {
105
- return src.i128();
106
- },
107
- isDynamic: false,
108
- };
109
- exports.uint256 = {
110
- encode(sink, val) {
111
- sink.u256(BigInt(val));
112
- },
113
- decode(src) {
114
- return src.u256();
115
- },
116
- isDynamic: false,
117
- };
118
- exports.int256 = {
119
- encode(sink, val) {
120
- sink.i256(BigInt(val));
121
- },
122
- decode(src) {
123
- return src.i256();
124
- },
125
- isDynamic: false,
126
- };
36
+ baseType: 'bool',
37
+ };
38
+ exports.uint8 = numberCodec('u8');
39
+ exports.int8 = numberCodec('i8');
40
+ exports.uint16 = numberCodec('u16');
41
+ exports.int16 = numberCodec('i16');
42
+ exports.uint32 = numberCodec('u32');
43
+ exports.int32 = numberCodec('i32');
44
+ exports.uint64 = bigintCodec('u64');
45
+ exports.int64 = bigintCodec('i64');
46
+ exports.uint128 = bigintCodec('u128');
47
+ exports.int128 = bigintCodec('i128');
48
+ exports.uint256 = bigintCodec('u256');
49
+ exports.int256 = bigintCodec('i256');
127
50
  exports.string = {
128
51
  encode(sink, val) {
129
- sink.newStaticDataArea();
52
+ sink.openTail();
130
53
  sink.string(val);
131
- sink.endCurrentDataArea();
54
+ sink.closeTail();
132
55
  },
133
56
  decode(src) {
134
57
  return src.string();
135
58
  },
136
59
  isDynamic: true,
60
+ baseType: 'string',
137
61
  };
138
- function toBuffer(val) {
139
- if (val instanceof Uint8Array) {
140
- return val;
141
- }
142
- if (!(0, util_internal_hex_1.isHex)(val)) {
143
- throw new Error(`Expected hex string or buffer, got: ${val}`);
144
- }
145
- return (0, util_internal_hex_1.decodeHex)(val);
146
- }
147
62
  exports.bytes = {
148
63
  encode(sink, val) {
149
- sink.newStaticDataArea();
150
- sink.bytes(toBuffer(val));
151
- sink.endCurrentDataArea();
64
+ sink.openTail();
65
+ sink.bytes(val);
66
+ sink.closeTail();
152
67
  },
153
68
  decode(src) {
154
- return (0, util_internal_hex_1.toHex)(src.bytes());
69
+ return src.bytesHex();
155
70
  },
156
71
  isDynamic: true,
72
+ baseType: 'bytes',
157
73
  };
158
74
  const bytesN = (size) => ({
159
75
  encode(sink, val) {
160
- sink.staticBytes(size, toBuffer(val));
76
+ sink.staticBytes(size, val);
161
77
  },
162
78
  decode(src) {
163
- return (0, util_internal_hex_1.toHex)(src.staticBytes(size));
79
+ return src.staticBytesHex(size);
164
80
  },
165
81
  isDynamic: false,
82
+ baseType: 'bytes',
166
83
  });
167
84
  exports.bytes0 = bytesN(0);
168
85
  exports.bytes1 = bytesN(1);
@@ -205,14 +122,8 @@ exports.address = {
205
122
  return src.address();
206
123
  },
207
124
  isDynamic: false,
125
+ baseType: 'address',
208
126
  };
209
- const fixedSizeArray = (item, size) => new array_1.FixedSizeArrayCodec(item, size);
210
- exports.fixedSizeArray = fixedSizeArray;
211
- const array = (item) => new array_1.ArrayCodec(item);
212
- exports.array = array;
213
- const struct = (components) => new struct_1.StructCodec(components);
214
- exports.struct = struct;
215
- exports.tuple = exports.struct;
216
127
  exports.uint24 = exports.uint32;
217
128
  exports.int24 = exports.int32;
218
129
  exports.uint40 = exports.uint64;
@@ -1 +1 @@
1
- {"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../src/codecs/primitives.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../src/codecs/primitives.ts"],"names":[],"mappings":"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AAC,CAAC,CAAA;AAClB,QAAA,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;AAClB,QAAA,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;AAClB,QAAA,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;AAClB,QAAA,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;AAClB,QAAA,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;AAClB,QAAA,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;AAClB,QAAA,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;AAClB,QAAA,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;AAClB,QAAA,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAA;AAClB,QAAA,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AACpB,QAAA,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AACpB,QAAA,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AACpB,QAAA,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AACpB,QAAA,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AACpB,QAAA,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AACpB,QAAA,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AACpB,QAAA,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AACpB,QAAA,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AACpB,QAAA,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AACpB,QAAA,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AACpB,QAAA,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AACpB,QAAA,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AACpB,QAAA,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AACpB,QAAA,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AACpB,QAAA,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AACpB,QAAA,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AACpB,QAAA,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AACpB,QAAA,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AACpB,QAAA,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AACpB,QAAA,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AACpB,QAAA,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AACpB,QAAA,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAA;AAEpB,QAAA,OAAO,GAAkB;IAClC,MAAM,CAAC,IAAU,EAAE,GAAW;QAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACrB,CAAC;IACD,MAAM,CAAC,GAAQ;QACX,OAAO,GAAG,CAAC,OAAO,EAAE,CAAA;IACxB,CAAC;IACD,SAAS,EAAE,KAAK;IAChB,QAAQ,EAAE,SAAS;CACtB,CAAA;AAEY,QAAA,MAAM,GAAG,cAAM,CAAA;AACf,QAAA,KAAK,GAAG,aAAK,CAAA;AACb,QAAA,MAAM,GAAG,cAAM,CAAA;AACf,QAAA,KAAK,GAAG,aAAK,CAAA;AACb,QAAA,MAAM,GAAG,cAAM,CAAA;AACf,QAAA,KAAK,GAAG,aAAK,CAAA;AACb,QAAA,MAAM,GAAG,cAAM,CAAA;AACf,QAAA,KAAK,GAAG,aAAK,CAAA;AACb,QAAA,MAAM,GAAG,eAAO,CAAA;AAChB,QAAA,KAAK,GAAG,cAAM,CAAA;AACd,QAAA,MAAM,GAAG,eAAO,CAAA;AAChB,QAAA,KAAK,GAAG,cAAM,CAAA;AACd,QAAA,MAAM,GAAG,eAAO,CAAA;AAChB,QAAA,KAAK,GAAG,cAAM,CAAA;AACd,QAAA,MAAM,GAAG,eAAO,CAAA;AAChB,QAAA,KAAK,GAAG,cAAM,CAAA;AACd,QAAA,OAAO,GAAG,eAAO,CAAA;AACjB,QAAA,MAAM,GAAG,cAAM,CAAA;AACf,QAAA,OAAO,GAAG,eAAO,CAAA;AACjB,QAAA,MAAM,GAAG,cAAM,CAAA;AACf,QAAA,OAAO,GAAG,eAAO,CAAA;AACjB,QAAA,MAAM,GAAG,cAAM,CAAA;AACf,QAAA,OAAO,GAAG,eAAO,CAAA;AACjB,QAAA,MAAM,GAAG,cAAM,CAAA;AACf,QAAA,OAAO,GAAG,eAAO,CAAA;AACjB,QAAA,MAAM,GAAG,cAAM,CAAA;AACf,QAAA,OAAO,GAAG,eAAO,CAAA;AACjB,QAAA,MAAM,GAAG,cAAM,CAAA;AACf,QAAA,OAAO,GAAG,eAAO,CAAA;AACjB,QAAA,MAAM,GAAG,cAAM,CAAA;AACf,QAAA,OAAO,GAAG,eAAO,CAAA;AACjB,QAAA,MAAM,GAAG,cAAM,CAAA;AACf,QAAA,OAAO,GAAG,eAAO,CAAA;AACjB,QAAA,MAAM,GAAG,cAAM,CAAA;AACf,QAAA,OAAO,GAAG,eAAO,CAAA;AACjB,QAAA,MAAM,GAAG,cAAM,CAAA;AACf,QAAA,OAAO,GAAG,eAAO,CAAA;AACjB,QAAA,MAAM,GAAG,cAAM,CAAA;AACf,QAAA,OAAO,GAAG,eAAO,CAAA;AACjB,QAAA,MAAM,GAAG,cAAM,CAAA;AACf,QAAA,OAAO,GAAG,eAAO,CAAA;AACjB,QAAA,MAAM,GAAG,cAAM,CAAA;AACf,QAAA,OAAO,GAAG,eAAO,CAAA;AACjB,QAAA,MAAM,GAAG,cAAM,CAAA;AACf,QAAA,OAAO,GAAG,eAAO,CAAA;AACjB,QAAA,MAAM,GAAG,cAAM,CAAA;AACf,QAAA,OAAO,GAAG,eAAO,CAAA;AACjB,QAAA,MAAM,GAAG,cAAM,CAAA;AACf,QAAA,OAAO,GAAG,eAAO,CAAA;AACjB,QAAA,MAAM,GAAG,cAAM,CAAA;AACf,QAAA,OAAO,GAAG,eAAO,CAAA;AACjB,QAAA,MAAM,GAAG,cAAM,CAAA"}
@@ -1,15 +1,23 @@
1
- import { Codec, Struct, DecodedStruct, EncodedStruct } from '../codec';
2
- import { Sink } from '../sink';
3
- import { Src } from '../src';
1
+ import type { Codec, Sink, Src, Struct } from '../codec';
2
+ import { type Pretty } from '../util';
3
+ export type DecodedStruct<T extends Struct> = Pretty<{
4
+ [K in keyof T]: T[K] extends Codec<any, infer U> ? U : never;
5
+ }>;
6
+ export type EncodedStruct<T extends Struct> = Pretty<{
7
+ [K in keyof T]: T[K] extends Codec<infer U, any> ? U : never;
8
+ }>;
4
9
  export declare class StructCodec<const T extends Struct> implements Codec<EncodedStruct<T>, DecodedStruct<T>> {
10
+ readonly baseType = "struct";
5
11
  readonly isDynamic: boolean;
6
12
  readonly slotsCount: number;
7
- private readonly childrenSlotsCount;
8
- private readonly components;
13
+ readonly childrenSlotsCount: number;
14
+ readonly components: T;
15
+ readonly encodeInline: (sink: Sink, val: EncodedStruct<T>) => void;
16
+ readonly decodeInline: (src: Src) => DecodedStruct<T>;
17
+ readonly encode: (sink: Sink, val: EncodedStruct<T>) => void;
18
+ readonly decode: (src: Src) => DecodedStruct<T>;
9
19
  constructor(components: T);
10
- encode(sink: Sink, val: EncodedStruct<T>): void;
11
- private encodeDynamic;
12
- decode(src: Src): DecodedStruct<T>;
13
- private decodeDynamic;
20
+ private createEncode;
21
+ private createDecode;
14
22
  }
15
23
  //# sourceMappingURL=struct.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"struct.d.ts","sourceRoot":"","sources":["../../src/codecs/struct.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAC,MAAM,UAAU,CAAA;AACpE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAC9B,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAU5B,qBAAa,WAAW,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IACnG,SAAgB,SAAS,EAAE,OAAO,CAAA;IAClC,SAAgB,UAAU,EAAE,MAAM,CAAA;IAClC,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAQ;IAC3C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAG;gBAElB,UAAU,EAAE,CAAC;IAYlB,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,IAAI;IAWtD,OAAO,CAAC,aAAa;IASd,MAAM,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAAC,CAAC,CAAC;IAYzC,OAAO,CAAC,aAAa;CAWtB"}
1
+ {"version":3,"file":"struct.d.ts","sourceRoot":"","sources":["../../src/codecs/struct.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAC,MAAM,UAAU,CAAA;AACtD,OAAO,EAAC,KAAK,MAAM,EAAuB,MAAM,SAAS,CAAA;AAEzD,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI,MAAM,CAAC;KAChD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CAC/D,CAAC,CAAA;AAEF,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI,MAAM,CAAC;KAChD,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK;CAC/D,CAAC,CAAA;AAUF,qBAAa,WAAW,CAAC,KAAK,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC;IACjG,SAAgB,QAAQ,YAAW;IACnC,SAAgB,SAAS,EAAE,OAAO,CAAA;IAClC,SAAgB,UAAU,EAAE,MAAM,CAAA;IAClC,SAAgB,kBAAkB,EAAE,MAAM,CAAA;IAC1C,SAAgB,UAAU,EAAE,CAAC,CAAA;IAE7B,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IAClE,QAAQ,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,aAAa,CAAC,CAAC,CAAC,CAAA;IAErD,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IAC5D,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,aAAa,CAAC,CAAC,CAAC,CAAA;gBAEnC,UAAU,EAAE,CAAC;IAkBzB,OAAO,CAAC,YAAY;IAwBpB,OAAO,CAAC,YAAY;CAmBvB"}