@subsquid/evm-codec 0.1.0 → 0.2.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.
- package/lib/codecs/array.d.ts +10 -10
- package/lib/codecs/array.d.ts.map +1 -1
- package/lib/codecs/array.js.map +1 -1
- package/lib/codecs/primitives.d.ts +36 -40
- package/lib/codecs/primitives.d.ts.map +1 -1
- package/lib/codecs/primitives.js +14 -4
- package/lib/codecs/primitives.js.map +1 -1
- package/package.json +4 -2
- package/src/codecs/array.ts +10 -10
- package/src/codecs/primitives.ts +24 -13
package/lib/codecs/array.d.ts
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import { Codec } from '../codec';
|
|
2
2
|
import { Sink } from '../sink';
|
|
3
3
|
import { Src } from '../src';
|
|
4
|
-
export declare class ArrayCodec<const
|
|
5
|
-
readonly item: Codec<
|
|
4
|
+
export declare class ArrayCodec<const TIn, const TOut> implements Codec<readonly TIn[], readonly TOut[]> {
|
|
5
|
+
readonly item: Codec<TIn, TOut>;
|
|
6
6
|
readonly isDynamic = true;
|
|
7
|
-
constructor(item: Codec<
|
|
8
|
-
encode(sink: Sink, val:
|
|
9
|
-
decode(src: Src):
|
|
7
|
+
constructor(item: Codec<TIn, TOut>);
|
|
8
|
+
encode(sink: Sink, val: TIn[]): void;
|
|
9
|
+
decode(src: Src): TOut[];
|
|
10
10
|
}
|
|
11
|
-
export declare class FixedSizeArrayCodec<const
|
|
12
|
-
readonly item: Codec<
|
|
11
|
+
export declare class FixedSizeArrayCodec<const TIn, const TOut> implements Codec<readonly TIn[], readonly TOut[]> {
|
|
12
|
+
readonly item: Codec<TIn, TOut>;
|
|
13
13
|
readonly size: number;
|
|
14
14
|
isDynamic: boolean;
|
|
15
15
|
slotsCount: number;
|
|
16
|
-
constructor(item: Codec<
|
|
17
|
-
encode(sink: Sink, val:
|
|
16
|
+
constructor(item: Codec<TIn, TOut>, size: number);
|
|
17
|
+
encode(sink: Sink, val: TIn[]): void;
|
|
18
18
|
private encodeDynamic;
|
|
19
|
-
decode(src: Src):
|
|
19
|
+
decode(src: Src): TOut[];
|
|
20
20
|
private decodeDynamic;
|
|
21
21
|
}
|
|
22
22
|
//# sourceMappingURL=array.d.ts.map
|
|
@@ -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,CAAC,CAAE,YAAW,KAAK,CAAC,SAAS,
|
|
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"}
|
package/lib/codecs/array.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../src/codecs/array.ts"],"names":[],"mappings":";;;AAAA,oCAA2C;AAI3C,MAAa,UAAU;IAGrB,YAA4B,
|
|
1
|
+
{"version":3,"file":"array.js","sourceRoot":"","sources":["../../src/codecs/array.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,47 +21,43 @@ export declare const string: {
|
|
|
21
21
|
readonly decode: (src: Src) => string;
|
|
22
22
|
readonly isDynamic: true;
|
|
23
23
|
};
|
|
24
|
-
export declare const bytes:
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
export declare const
|
|
30
|
-
export declare const
|
|
31
|
-
export declare const
|
|
32
|
-
export declare const
|
|
33
|
-
export declare const
|
|
34
|
-
export declare const
|
|
35
|
-
export declare const
|
|
36
|
-
export declare const
|
|
37
|
-
export declare const
|
|
38
|
-
export declare const
|
|
39
|
-
export declare const
|
|
40
|
-
export declare const
|
|
41
|
-
export declare const
|
|
42
|
-
export declare const
|
|
43
|
-
export declare const
|
|
44
|
-
export declare const
|
|
45
|
-
export declare const
|
|
46
|
-
export declare const
|
|
47
|
-
export declare const
|
|
48
|
-
export declare const
|
|
49
|
-
export declare const
|
|
50
|
-
export declare const
|
|
51
|
-
export declare const
|
|
52
|
-
export declare const
|
|
53
|
-
export declare const
|
|
54
|
-
export declare const
|
|
55
|
-
export declare const
|
|
56
|
-
export declare const
|
|
57
|
-
export declare const
|
|
58
|
-
export declare const bytes29: Codec<Uint8Array, Uint8Array>;
|
|
59
|
-
export declare const bytes30: Codec<Uint8Array, Uint8Array>;
|
|
60
|
-
export declare const bytes31: Codec<Uint8Array, Uint8Array>;
|
|
61
|
-
export declare const bytes32: Codec<Uint8Array, Uint8Array>;
|
|
24
|
+
export declare const bytes: Codec<Uint8Array | string, string>;
|
|
25
|
+
export declare const bytes0: Codec<string | Uint8Array, string>;
|
|
26
|
+
export declare const bytes1: Codec<string | Uint8Array, string>;
|
|
27
|
+
export declare const bytes2: Codec<string | Uint8Array, string>;
|
|
28
|
+
export declare const bytes3: Codec<string | Uint8Array, string>;
|
|
29
|
+
export declare const bytes4: Codec<string | Uint8Array, string>;
|
|
30
|
+
export declare const bytes5: Codec<string | Uint8Array, string>;
|
|
31
|
+
export declare const bytes6: Codec<string | Uint8Array, string>;
|
|
32
|
+
export declare const bytes7: Codec<string | Uint8Array, string>;
|
|
33
|
+
export declare const bytes8: Codec<string | Uint8Array, string>;
|
|
34
|
+
export declare const bytes9: Codec<string | Uint8Array, string>;
|
|
35
|
+
export declare const bytes10: Codec<string | Uint8Array, string>;
|
|
36
|
+
export declare const bytes11: Codec<string | Uint8Array, string>;
|
|
37
|
+
export declare const bytes12: Codec<string | Uint8Array, string>;
|
|
38
|
+
export declare const bytes13: Codec<string | Uint8Array, string>;
|
|
39
|
+
export declare const bytes14: Codec<string | Uint8Array, string>;
|
|
40
|
+
export declare const bytes15: Codec<string | Uint8Array, string>;
|
|
41
|
+
export declare const bytes16: Codec<string | Uint8Array, string>;
|
|
42
|
+
export declare const bytes17: Codec<string | Uint8Array, string>;
|
|
43
|
+
export declare const bytes18: Codec<string | Uint8Array, string>;
|
|
44
|
+
export declare const bytes19: Codec<string | Uint8Array, string>;
|
|
45
|
+
export declare const bytes20: Codec<string | Uint8Array, string>;
|
|
46
|
+
export declare const bytes21: Codec<string | Uint8Array, string>;
|
|
47
|
+
export declare const bytes22: Codec<string | Uint8Array, string>;
|
|
48
|
+
export declare const bytes23: Codec<string | Uint8Array, string>;
|
|
49
|
+
export declare const bytes24: Codec<string | Uint8Array, string>;
|
|
50
|
+
export declare const bytes25: Codec<string | Uint8Array, string>;
|
|
51
|
+
export declare const bytes26: Codec<string | Uint8Array, string>;
|
|
52
|
+
export declare const bytes27: Codec<string | Uint8Array, string>;
|
|
53
|
+
export declare const bytes28: Codec<string | Uint8Array, string>;
|
|
54
|
+
export declare const bytes29: Codec<string | Uint8Array, string>;
|
|
55
|
+
export declare const bytes30: Codec<string | Uint8Array, string>;
|
|
56
|
+
export declare const bytes31: Codec<string | Uint8Array, string>;
|
|
57
|
+
export declare const bytes32: Codec<string | Uint8Array, string>;
|
|
62
58
|
export declare const address: Codec<string>;
|
|
63
|
-
export declare const fixedSizeArray: <
|
|
64
|
-
export declare const array: <
|
|
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[]>;
|
|
65
61
|
type Struct = {
|
|
66
62
|
[key: string]: Codec<any>;
|
|
67
63
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../src/codecs/primitives.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"primitives.d.ts","sourceRoot":"","sources":["../../src/codecs/primitives.ts"],"names":[],"mappings":"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"}
|
package/lib/codecs/primitives.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
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
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
5
|
exports.int248 = exports.uint248 = exports.int240 = exports.uint240 = exports.int232 = void 0;
|
|
6
|
+
const util_internal_hex_1 = require("@subsquid/util-internal-hex");
|
|
6
7
|
const array_1 = require("./array");
|
|
7
8
|
const struct_1 = require("./struct");
|
|
8
9
|
const safeToNumber_1 = require("../safeToNumber");
|
|
@@ -134,23 +135,32 @@ exports.string = {
|
|
|
134
135
|
},
|
|
135
136
|
isDynamic: true,
|
|
136
137
|
};
|
|
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
|
+
}
|
|
137
147
|
exports.bytes = {
|
|
138
148
|
encode(sink, val) {
|
|
139
149
|
sink.newStaticDataArea();
|
|
140
|
-
sink.bytes(val);
|
|
150
|
+
sink.bytes(toBuffer(val));
|
|
141
151
|
sink.endCurrentDataArea();
|
|
142
152
|
},
|
|
143
153
|
decode(src) {
|
|
144
|
-
return src.bytes();
|
|
154
|
+
return (0, util_internal_hex_1.toHex)(src.bytes());
|
|
145
155
|
},
|
|
146
156
|
isDynamic: true,
|
|
147
157
|
};
|
|
148
158
|
const bytesN = (size) => ({
|
|
149
159
|
encode(sink, val) {
|
|
150
|
-
sink.staticBytes(size, val);
|
|
160
|
+
sink.staticBytes(size, toBuffer(val));
|
|
151
161
|
},
|
|
152
162
|
decode(src) {
|
|
153
|
-
return src.staticBytes(size);
|
|
163
|
+
return (0, util_internal_hex_1.toHex)(src.staticBytes(size));
|
|
154
164
|
},
|
|
155
165
|
isDynamic: false,
|
|
156
166
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../src/codecs/primitives.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"primitives.js","sourceRoot":"","sources":["../../src/codecs/primitives.ts"],"names":[],"mappings":";;;;;AAAA,mEAAqE;AAIrE,mCAAyD;AACzD,qCAAsC;AACtC,kDAA8C;AAIjC,QAAA,IAAI,GAAmB;IAClC,MAAM,EAAE,UAAU,IAAU,EAAE,GAAY;QACxC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAChB,CAAC;IACD,MAAM,CAAC,GAAQ;QACb,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;IACnB,CAAC;IACD,SAAS,EAAE,KAAK;CACjB,CAAA;AAEY,QAAA,KAAK,GAA6B;IAC7C,MAAM,CAAC,IAAU,EAAE,GAAc;QAC/B,IAAI,CAAC,EAAE,CAAC,IAAA,2BAAY,EAAC,GAAG,CAAC,CAAC,CAAA;IAC5B,CAAC;IACD,MAAM,CAAC,GAAQ;QACb,OAAO,GAAG,CAAC,EAAE,EAAE,CAAA;IACjB,CAAC;IACD,SAAS,EAAE,KAAK;CACjB,CAAA;AAEY,QAAA,IAAI,GAA6B;IAC5C,MAAM,CAAC,IAAU,EAAE,GAAc;QAC/B,IAAI,CAAC,EAAE,CAAC,IAAA,2BAAY,EAAC,GAAG,CAAC,CAAC,CAAA;IAC5B,CAAC;IACD,MAAM,CAAC,GAAQ;QACb,OAAO,GAAG,CAAC,EAAE,EAAE,CAAA;IACjB,CAAC;IACD,SAAS,EAAE,KAAK;CACjB,CAAA;AAEY,QAAA,MAAM,GAA6B;IAC9C,MAAM,CAAC,IAAU,EAAE,GAAc;QAC/B,IAAI,CAAC,GAAG,CAAC,IAAA,2BAAY,EAAC,GAAG,CAAC,CAAC,CAAA;IAC7B,CAAC;IACD,MAAM,CAAC,GAAQ;QACb,OAAO,GAAG,CAAC,GAAG,EAAE,CAAA;IAClB,CAAC;IACD,SAAS,EAAE,KAAK;CACjB,CAAA;AAEY,QAAA,KAAK,GAA6B;IAC7C,MAAM,CAAC,IAAU,EAAE,GAAc;QAC/B,IAAI,CAAC,GAAG,CAAC,IAAA,2BAAY,EAAC,GAAG,CAAC,CAAC,CAAA;IAC7B,CAAC;IACD,MAAM,CAAC,GAAQ;QACb,OAAO,GAAG,CAAC,GAAG,EAAE,CAAA;IAClB,CAAC;IACD,SAAS,EAAE,KAAK;CACjB,CAAA;AAEY,QAAA,MAAM,GAA6B;IAC9C,MAAM,CAAC,IAAU,EAAE,GAAc;QAC/B,IAAI,CAAC,GAAG,CAAC,IAAA,2BAAY,EAAC,GAAG,CAAC,CAAC,CAAA;IAC7B,CAAC;IACD,MAAM,CAAC,GAAQ;QACb,OAAO,GAAG,CAAC,GAAG,EAAE,CAAA;IAClB,CAAC;IACD,SAAS,EAAE,KAAK;CACjB,CAAA;AAEY,QAAA,KAAK,GAA6B;IAC7C,MAAM,CAAC,IAAU,EAAE,GAAc;QAC/B,IAAI,CAAC,GAAG,CAAC,IAAA,2BAAY,EAAC,GAAG,CAAC,CAAC,CAAA;IAC7B,CAAC;IACD,MAAM,CAAC,GAAQ;QACb,OAAO,GAAG,CAAC,GAAG,EAAE,CAAA;IAClB,CAAC;IACD,SAAS,EAAE,KAAK;CACjB,CAAA;AAEY,QAAA,MAAM,GAA6B;IAC9C,MAAM,CAAC,IAAU,EAAE,GAAc;QAC/B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IACvB,CAAC;IACD,MAAM,CAAC,GAAQ;QACb,OAAO,GAAG,CAAC,GAAG,EAAE,CAAA;IAClB,CAAC;IACD,SAAS,EAAE,KAAK;CACjB,CAAA;AAEY,QAAA,KAAK,GAA6B;IAC7C,MAAM,CAAC,IAAU,EAAE,GAAc;QAC/B,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IACvB,CAAC;IACD,MAAM,CAAC,GAAQ;QACb,OAAO,GAAG,CAAC,GAAG,EAAE,CAAA;IAClB,CAAC;IACD,SAAS,EAAE,KAAK;CACjB,CAAA;AAEY,QAAA,OAAO,GAA6B;IAC/C,MAAM,CAAC,IAAU,EAAE,GAAc;QAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IACxB,CAAC;IACD,MAAM,CAAC,GAAQ;QACb,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;IACnB,CAAC;IACD,SAAS,EAAE,KAAK;CACjB,CAAA;AAEY,QAAA,MAAM,GAA6B;IAC9C,MAAM,CAAC,IAAU,EAAE,GAAc;QAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IACxB,CAAC;IACD,MAAM,CAAC,GAAQ;QACb,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;IACnB,CAAC;IACD,SAAS,EAAE,KAAK;CACjB,CAAA;AAEY,QAAA,OAAO,GAA6B;IAC/C,MAAM,CAAC,IAAU,EAAE,GAAc;QAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IACxB,CAAC;IACD,MAAM,CAAC,GAAQ;QACb,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;IACnB,CAAC;IACD,SAAS,EAAE,KAAK;CACjB,CAAA;AAEY,QAAA,MAAM,GAA6B;IAC9C,MAAM,CAAC,IAAU,EAAE,GAAc;QAC/B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;IACxB,CAAC;IACD,MAAM,CAAC,GAAQ;QACb,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;IACnB,CAAC;IACD,SAAS,EAAE,KAAK;CACjB,CAAA;AAEY,QAAA,MAAM,GAAU;IAC3B,MAAM,CAAC,IAAU,EAAE,GAAW;QAC5B,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAChB,IAAI,CAAC,kBAAkB,EAAE,CAAA;IAC3B,CAAC;IACD,MAAM,CAAC,GAAQ;QACb,OAAO,GAAG,CAAC,MAAM,EAAE,CAAA;IACrB,CAAC;IACD,SAAS,EAAE,IAAI;CAChB,CAAA;AAED,SAAS,QAAQ,CAAC,GAAwB;IACxC,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAA;IACZ,CAAC;IACD,IAAI,CAAC,IAAA,yBAAK,EAAC,GAAG,CAAC,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,uCAAuC,GAAG,EAAE,CAAC,CAAA;IAC/D,CAAC;IACD,OAAO,IAAA,6BAAS,EAAC,GAAG,CAAC,CAAA;AACvB,CAAC;AAEY,QAAA,KAAK,GAA+C;IAC/D,MAAM,CAAC,IAAU,EAAE,GAAwB;QACzC,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;QACzB,IAAI,CAAC,kBAAkB,EAAE,CAAA;IAC3B,CAAC;IACD,MAAM,CAAC,GAAQ;QACb,OAAO,IAAA,yBAAK,EAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAA;IAC3B,CAAC;IACD,SAAS,EAAE,IAAI;CAChB,CAAA;AAED,MAAM,MAAM,GAAG,CAAC,IAAY,EAAsC,EAAE,CAAC,CAAC;IACpE,MAAM,CAAC,IAAU,EAAE,GAAwB;QACzC,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAA;IACvC,CAAC;IACD,MAAM,CAAC,GAAQ;QACb,OAAO,IAAA,yBAAK,EAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAA;IACrC,CAAC;IACD,SAAS,EAAE,KAAK;CACjB,CAAC,CAAA;AAEW,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,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;IACpC,MAAM,CAAC,IAAU,EAAE,GAAW;QAC5B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACnB,CAAC;IACD,MAAM,CAAC,GAAQ;QACb,OAAO,GAAG,CAAC,OAAO,EAAE,CAAA;IACtB,CAAC;IACD,SAAS,EAAE,KAAK;CACjB,CAAA;AAEM,MAAM,cAAc,GAAG,CAAY,IAAsB,EAAE,IAAY,EAAwB,EAAE,CAAC,IAAI,2BAAmB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;AAA/H,QAAA,cAAc,kBAAiH;AAErI,MAAM,KAAK,GAAG,CAAY,IAAsB,EAAwB,EAAE,CAAC,IAAI,kBAAU,CAAC,IAAI,CAAC,CAAA;AAAzF,QAAA,KAAK,SAAoF;AAM/F,MAAM,MAAM,GAAG,CAAyB,UAAa,EAAE,EAAE,CAAC,IAAI,oBAAW,CAAI,UAAU,CAAC,CAAA;AAAlF,QAAA,MAAM,UAA4E;AAElF,QAAA,KAAK,GAAG,cAAM,CAAA;AAEd,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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@subsquid/evm-codec",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "EVM encoder/decoder tools",
|
|
5
5
|
"license": "GPL-3.0-or-later",
|
|
6
6
|
"repository": "git@github.com:subsquid/squid.git",
|
|
@@ -12,7 +12,9 @@
|
|
|
12
12
|
"lib",
|
|
13
13
|
"src"
|
|
14
14
|
],
|
|
15
|
-
"dependencies": {
|
|
15
|
+
"dependencies": {
|
|
16
|
+
"@subsquid/util-internal-hex": "^1.2.2"
|
|
17
|
+
},
|
|
16
18
|
"devDependencies": {
|
|
17
19
|
"@types/node": "^18.18.14",
|
|
18
20
|
"ethers": "^6.9.0",
|
package/src/codecs/array.ts
CHANGED
|
@@ -2,12 +2,12 @@ import { Codec, WORD_SIZE } from '../codec'
|
|
|
2
2
|
import { Sink } from '../sink'
|
|
3
3
|
import { Src } from '../src'
|
|
4
4
|
|
|
5
|
-
export class ArrayCodec<const
|
|
5
|
+
export class ArrayCodec<const TIn, const TOut> implements Codec<readonly TIn[], readonly TOut[]> {
|
|
6
6
|
public readonly isDynamic = true
|
|
7
7
|
|
|
8
|
-
constructor(public readonly item: Codec<
|
|
8
|
+
constructor(public readonly item: Codec<TIn, TOut>) {}
|
|
9
9
|
|
|
10
|
-
encode(sink: Sink, val:
|
|
10
|
+
encode(sink: Sink, val: TIn[]) {
|
|
11
11
|
sink.newDynamicDataArea(val.length)
|
|
12
12
|
for (let i = 0; i < val.length; i++) {
|
|
13
13
|
this.item.encode(sink, val[i])
|
|
@@ -16,7 +16,7 @@ export class ArrayCodec<const T> implements Codec<readonly T[]> {
|
|
|
16
16
|
sink.endCurrentDataArea()
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
-
decode(src: Src):
|
|
19
|
+
decode(src: Src): TOut[] {
|
|
20
20
|
const offset = src.u32()
|
|
21
21
|
|
|
22
22
|
src.safeJump(offset)
|
|
@@ -32,15 +32,15 @@ export class ArrayCodec<const T> implements Codec<readonly T[]> {
|
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
|
|
35
|
-
export class FixedSizeArrayCodec<const
|
|
35
|
+
export class FixedSizeArrayCodec<const TIn, const TOut> implements Codec<readonly TIn[], readonly TOut[]> {
|
|
36
36
|
public isDynamic: boolean
|
|
37
37
|
public slotsCount: number
|
|
38
|
-
constructor(public readonly item: Codec<
|
|
38
|
+
constructor(public readonly item: Codec<TIn, TOut>, public readonly size: number) {
|
|
39
39
|
this.isDynamic = item.isDynamic && size > 0
|
|
40
40
|
this.slotsCount = this.isDynamic ? 1 : size
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
encode(sink: Sink, val:
|
|
43
|
+
encode(sink: Sink, val: TIn[]) {
|
|
44
44
|
if (val.length !== this.size) {
|
|
45
45
|
throw new Error(`invalid array length: ${val.length}. Expected: ${this.size}`)
|
|
46
46
|
}
|
|
@@ -52,7 +52,7 @@ export class FixedSizeArrayCodec<const T> implements Codec<readonly T[]> {
|
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
private encodeDynamic(sink: Sink, val:
|
|
55
|
+
private encodeDynamic(sink: Sink, val: TIn[]) {
|
|
56
56
|
sink.newStaticDataArea(this.size)
|
|
57
57
|
for (let i = 0; i < val.length; i++) {
|
|
58
58
|
this.item.encode(sink, val[i])
|
|
@@ -60,7 +60,7 @@ export class FixedSizeArrayCodec<const T> implements Codec<readonly T[]> {
|
|
|
60
60
|
sink.endCurrentDataArea()
|
|
61
61
|
}
|
|
62
62
|
|
|
63
|
-
decode(src: Src):
|
|
63
|
+
decode(src: Src): TOut[] {
|
|
64
64
|
if (this.isDynamic) {
|
|
65
65
|
return this.decodeDynamic(src)
|
|
66
66
|
}
|
|
@@ -71,7 +71,7 @@ export class FixedSizeArrayCodec<const T> implements Codec<readonly T[]> {
|
|
|
71
71
|
return val
|
|
72
72
|
}
|
|
73
73
|
|
|
74
|
-
private decodeDynamic(src: Src):
|
|
74
|
+
private decodeDynamic(src: Src): TOut[] {
|
|
75
75
|
const offset = src.u32()
|
|
76
76
|
const tmpSrc = src.slice(offset)
|
|
77
77
|
let val = new Array(this.size)
|
package/src/codecs/primitives.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { decodeHex, isHex, toHex } from '@subsquid/util-internal-hex'
|
|
1
2
|
import { Codec } from '../codec'
|
|
2
3
|
import { Sink } from '../sink'
|
|
3
4
|
import { Src } from '../src'
|
|
4
5
|
import { ArrayCodec, FixedSizeArrayCodec } from './array'
|
|
5
6
|
import { StructCodec } from './struct'
|
|
6
|
-
import { safeToNumber } from
|
|
7
|
+
import { safeToNumber } from '../safeToNumber'
|
|
7
8
|
|
|
8
9
|
type Numberish = number | bigint
|
|
9
10
|
|
|
@@ -149,24 +150,34 @@ export const string = <const>{
|
|
|
149
150
|
isDynamic: true,
|
|
150
151
|
}
|
|
151
152
|
|
|
152
|
-
|
|
153
|
-
|
|
153
|
+
function toBuffer(val: Uint8Array | string): Uint8Array {
|
|
154
|
+
if (val instanceof Uint8Array) {
|
|
155
|
+
return val
|
|
156
|
+
}
|
|
157
|
+
if (!isHex(val)) {
|
|
158
|
+
throw new Error(`Expected hex string or buffer, got: ${val}`)
|
|
159
|
+
}
|
|
160
|
+
return decodeHex(val)
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
export const bytes: Codec<Uint8Array | string, string> = <const>{
|
|
164
|
+
encode(sink: Sink, val: Uint8Array | string) {
|
|
154
165
|
sink.newStaticDataArea()
|
|
155
|
-
sink.bytes(val)
|
|
166
|
+
sink.bytes(toBuffer(val))
|
|
156
167
|
sink.endCurrentDataArea()
|
|
157
168
|
},
|
|
158
|
-
decode(src: Src):
|
|
159
|
-
return src.bytes()
|
|
169
|
+
decode(src: Src): string {
|
|
170
|
+
return toHex(src.bytes())
|
|
160
171
|
},
|
|
161
172
|
isDynamic: true,
|
|
162
173
|
}
|
|
163
174
|
|
|
164
|
-
const bytesN = (size: number): Codec<Uint8Array> => ({
|
|
165
|
-
encode(sink: Sink, val: Uint8Array) {
|
|
166
|
-
sink.staticBytes(size, val)
|
|
175
|
+
const bytesN = (size: number): Codec<Uint8Array | string, string> => ({
|
|
176
|
+
encode(sink: Sink, val: Uint8Array | string) {
|
|
177
|
+
sink.staticBytes(size, toBuffer(val))
|
|
167
178
|
},
|
|
168
|
-
decode(src: Src):
|
|
169
|
-
return src.staticBytes(size)
|
|
179
|
+
decode(src: Src): string {
|
|
180
|
+
return toHex(src.staticBytes(size))
|
|
170
181
|
},
|
|
171
182
|
isDynamic: false,
|
|
172
183
|
})
|
|
@@ -215,9 +226,9 @@ export const address: Codec<string> = {
|
|
|
215
226
|
isDynamic: false,
|
|
216
227
|
}
|
|
217
228
|
|
|
218
|
-
export const fixedSizeArray = <
|
|
229
|
+
export const fixedSizeArray = <TIn, TOut>(item: Codec<TIn, TOut>, size: number): Codec<TIn[], TOut[]> => new FixedSizeArrayCodec(item, size)
|
|
219
230
|
|
|
220
|
-
export const array = <
|
|
231
|
+
export const array = <TIn, TOut>(item: Codec<TIn, TOut>): Codec<TIn[], TOut[]> => new ArrayCodec(item)
|
|
221
232
|
|
|
222
233
|
type Struct = {
|
|
223
234
|
[key: string]: Codec<any>
|