@fatsolutions/cairo-abi-codec 0.0.1 → 0.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/typed-encoder.d.ts +44 -10
- package/dist/typed-encoder.d.ts.map +1 -1
- package/dist/typed-encoder.js +134 -6
- package/dist/typed-encoder.js.map +1 -1
- package/package.json +1 -1
- package/dist/encoder.d.ts +0 -32
- package/dist/encoder.d.ts.map +0 -1
- package/dist/encoder.js +0 -67
- package/dist/encoder.js.map +0 -1
package/dist/typed-encoder.d.ts
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
|
-
import type { Abi, ExtractAbiStructNames, ExtractAbiEnumNames, StringToPrimitiveType } from "abi-wan-kanabi/kanabi";
|
|
2
|
-
export type { Abi, ExtractAbiStructNames, ExtractAbiEnumNames } from "abi-wan-kanabi/kanabi";
|
|
1
|
+
import type { Abi, ExtractAbiStructNames, ExtractAbiEnumNames, ExtractAbiEventNames, EventToPrimitiveType, StringToPrimitiveType } from "abi-wan-kanabi/kanabi";
|
|
2
|
+
export type { Abi, ExtractAbiStructNames, ExtractAbiEnumNames, ExtractAbiEventNames } from "abi-wan-kanabi/kanabi";
|
|
3
|
+
/** Extracts the constructor entry from an ABI. */
|
|
4
|
+
export type ExtractAbiConstructor<TAbi extends Abi> = Extract<TAbi[number], {
|
|
5
|
+
type: "constructor";
|
|
6
|
+
}>;
|
|
7
|
+
/** Typed object for constructor arguments, keyed by input name. */
|
|
8
|
+
export type ConstructorArgs<TAbi extends Abi> = {
|
|
9
|
+
[K in ExtractAbiConstructor<TAbi>["inputs"][number] as K["name"]]: StringToPrimitiveType<TAbi, K["type"]>;
|
|
10
|
+
};
|
|
11
|
+
/** Gets the TypeScript type for a struct event defined in the ABI. */
|
|
12
|
+
export type AbiEventType<TAbi extends Abi, TName extends ExtractAbiEventNames<TAbi>> = EventToPrimitiveType<TAbi, TName>;
|
|
3
13
|
/** Union of all struct and enum type names in the ABI. */
|
|
4
14
|
export type ExtractAbiTypeNames<TAbi extends Abi> = ExtractAbiStructNames<TAbi> | ExtractAbiEnumNames<TAbi>;
|
|
5
15
|
export type ExtractAbiType<TAbi extends Abi, K extends ExtractAbiTypeNames<TAbi>> = Extract<TAbi[number], {
|
|
@@ -19,8 +29,6 @@ export declare function narrowAbi<TAbi extends Abi, const TNames extends readonl
|
|
|
19
29
|
* and CairoCustomEnum for custom enums via module declaration merging.
|
|
20
30
|
*/
|
|
21
31
|
export type AbiType<TAbi extends Abi, TName extends ExtractAbiTypeNames<TAbi>> = StringToPrimitiveType<TAbi, TName>;
|
|
22
|
-
/** @deprecated Use `AbiType` instead. */
|
|
23
|
-
export type StructType<TAbi extends Abi, TStructName extends ExtractAbiStructNames<TAbi>> = StringToPrimitiveType<TAbi, TStructName>;
|
|
24
32
|
/**
|
|
25
33
|
* Creates a type-safe codec for structs and enums defined in an ABI.
|
|
26
34
|
* Uses abi-wan-kanabi for type inference.
|
|
@@ -34,6 +42,16 @@ export type StructType<TAbi extends Abi, TStructName extends ExtractAbiStructNam
|
|
|
34
42
|
export declare function createTypedCodec<TAbi extends Abi>(abi: TAbi): {
|
|
35
43
|
encode<TName extends ExtractAbiTypeNames<TAbi>>(typeName: TName, data: AbiType<TAbi, TName>): string[];
|
|
36
44
|
decode<TName extends ExtractAbiTypeNames<TAbi>>(typeName: TName, calldata: string[]): AbiType<TAbi, TName>;
|
|
45
|
+
encodeConstructor(data: ConstructorArgs<TAbi>): string[];
|
|
46
|
+
decodeConstructor(calldata: string[]): ConstructorArgs<TAbi>;
|
|
47
|
+
encodeEvent<TName extends ExtractAbiEventNames<TAbi>>(eventName: TName, data: AbiEventType<TAbi, TName>): {
|
|
48
|
+
keys: string[];
|
|
49
|
+
data: string[];
|
|
50
|
+
};
|
|
51
|
+
decodeEvent<TName extends ExtractAbiEventNames<TAbi>>(eventName: TName, event: {
|
|
52
|
+
keys: string[];
|
|
53
|
+
data: string[];
|
|
54
|
+
}): AbiEventType<TAbi, TName>;
|
|
37
55
|
};
|
|
38
56
|
/**
|
|
39
57
|
* One-off type-safe encoding.
|
|
@@ -43,10 +61,26 @@ export declare function encodeTyped<TAbi extends Abi, TName extends ExtractAbiTy
|
|
|
43
61
|
* One-off type-safe decoding.
|
|
44
62
|
*/
|
|
45
63
|
export declare function decodeTyped<TAbi extends Abi, TName extends ExtractAbiTypeNames<TAbi>>(abi: TAbi, typeName: TName, calldata: string[]): AbiType<TAbi, TName>;
|
|
46
|
-
/**
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
export declare
|
|
50
|
-
/**
|
|
51
|
-
|
|
64
|
+
/**
|
|
65
|
+
* One-off constructor encoding.
|
|
66
|
+
*/
|
|
67
|
+
export declare function encodeConstructor<TAbi extends Abi>(abi: TAbi, data: ConstructorArgs<TAbi>): string[];
|
|
68
|
+
/**
|
|
69
|
+
* One-off constructor decoding.
|
|
70
|
+
*/
|
|
71
|
+
export declare function decodeConstructor<TAbi extends Abi>(abi: TAbi, calldata: string[]): ConstructorArgs<TAbi>;
|
|
72
|
+
/**
|
|
73
|
+
* One-off event encoding.
|
|
74
|
+
*/
|
|
75
|
+
export declare function encodeEvent<TAbi extends Abi, TName extends ExtractAbiEventNames<TAbi>>(abi: TAbi, eventName: TName, data: AbiEventType<TAbi, TName>): {
|
|
76
|
+
keys: string[];
|
|
77
|
+
data: string[];
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* One-off event decoding.
|
|
81
|
+
*/
|
|
82
|
+
export declare function decodeEvent<TAbi extends Abi, TName extends ExtractAbiEventNames<TAbi>>(abi: TAbi, eventName: TName, event: {
|
|
83
|
+
keys: string[];
|
|
84
|
+
data: string[];
|
|
85
|
+
}): AbiEventType<TAbi, TName>;
|
|
52
86
|
//# sourceMappingURL=typed-encoder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typed-encoder.d.ts","sourceRoot":"","sources":["../src/typed-encoder.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,GAAG,EACH,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;AAG/B,YAAY,EAAE,GAAG,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"typed-encoder.d.ts","sourceRoot":"","sources":["../src/typed-encoder.ts"],"names":[],"mappings":"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"}
|
package/dist/typed-encoder.js
CHANGED
|
@@ -139,6 +139,25 @@ function transformAddresses(value, cairoType, typeMap) {
|
|
|
139
139
|
}
|
|
140
140
|
return value;
|
|
141
141
|
}
|
|
142
|
+
/**
|
|
143
|
+
* Build a synthetic struct from arbitrary members and return
|
|
144
|
+
* a CallData instance + typeMap for encode/decode.
|
|
145
|
+
*/
|
|
146
|
+
function buildSyntheticCodec(abi, structName, members) {
|
|
147
|
+
const syntheticStruct = {
|
|
148
|
+
type: "struct",
|
|
149
|
+
name: structName,
|
|
150
|
+
members,
|
|
151
|
+
};
|
|
152
|
+
const typeEntries = abi.filter((e) => e.type === "struct" || e.type === "enum");
|
|
153
|
+
const syntheticAbi = [syntheticStruct, ...typeEntries];
|
|
154
|
+
const wrapped = buildWrappedAbi(syntheticAbi);
|
|
155
|
+
const patched = patchAbi(wrapped, structName);
|
|
156
|
+
return {
|
|
157
|
+
callData: new CallData(patched),
|
|
158
|
+
typeMap: buildTypeMap(syntheticAbi),
|
|
159
|
+
};
|
|
160
|
+
}
|
|
142
161
|
// ============================================================================
|
|
143
162
|
// Type-Safe Codec
|
|
144
163
|
// ============================================================================
|
|
@@ -155,6 +174,26 @@ function transformAddresses(value, cairoType, typeMap) {
|
|
|
155
174
|
export function createTypedCodec(abi) {
|
|
156
175
|
const wrappedAbi = buildWrappedAbi(abi);
|
|
157
176
|
const typeMap = buildTypeMap(abi);
|
|
177
|
+
// Precompute constructor codec if the ABI has a constructor
|
|
178
|
+
const constructorEntry = abi.find((e) => e.type === "constructor");
|
|
179
|
+
let constructorCallData;
|
|
180
|
+
let constructorTypeMap;
|
|
181
|
+
if (constructorEntry) {
|
|
182
|
+
const syntheticStruct = {
|
|
183
|
+
type: "struct",
|
|
184
|
+
name: "__ConstructorArgs__",
|
|
185
|
+
members: constructorEntry.inputs.map((i) => ({
|
|
186
|
+
name: i.name,
|
|
187
|
+
type: i.type,
|
|
188
|
+
})),
|
|
189
|
+
};
|
|
190
|
+
const typeEntries = abi.filter((e) => e.type === "struct" || e.type === "enum");
|
|
191
|
+
const constructorAbi = [syntheticStruct, ...typeEntries];
|
|
192
|
+
const wrapped = buildWrappedAbi(constructorAbi);
|
|
193
|
+
const patched = patchAbi(wrapped, "__ConstructorArgs__");
|
|
194
|
+
constructorCallData = new CallData(patched);
|
|
195
|
+
constructorTypeMap = buildTypeMap(constructorAbi);
|
|
196
|
+
}
|
|
158
197
|
return {
|
|
159
198
|
encode(typeName, data) {
|
|
160
199
|
const patchedAbi = patchAbi(wrappedAbi, typeName);
|
|
@@ -167,6 +206,77 @@ export function createTypedCodec(abi) {
|
|
|
167
206
|
const raw = callData.parse("__codec__", calldata);
|
|
168
207
|
return transformAddresses(raw, typeName, typeMap);
|
|
169
208
|
},
|
|
209
|
+
encodeConstructor(data) {
|
|
210
|
+
if (!constructorCallData) {
|
|
211
|
+
throw new Error("ABI does not contain a constructor");
|
|
212
|
+
}
|
|
213
|
+
return constructorCallData.compile("__codec__", [data]);
|
|
214
|
+
},
|
|
215
|
+
decodeConstructor(calldata) {
|
|
216
|
+
if (!constructorCallData || !constructorTypeMap) {
|
|
217
|
+
throw new Error("ABI does not contain a constructor");
|
|
218
|
+
}
|
|
219
|
+
const raw = constructorCallData.parse("__codec__", calldata);
|
|
220
|
+
return transformAddresses(raw, "__ConstructorArgs__", constructorTypeMap);
|
|
221
|
+
},
|
|
222
|
+
encodeEvent(eventName, data) {
|
|
223
|
+
const eventEntry = abi.find((e) => e.type === "event" && e.name === eventName && e.kind === "struct");
|
|
224
|
+
if (!eventEntry) {
|
|
225
|
+
throw new Error(`ABI does not contain a struct event named "${eventName}"`);
|
|
226
|
+
}
|
|
227
|
+
const members = eventEntry.members;
|
|
228
|
+
const keyMembers = members
|
|
229
|
+
.filter((m) => m.kind === "key")
|
|
230
|
+
.map((m) => ({ name: m.name, type: m.type }));
|
|
231
|
+
const dataMembers = members
|
|
232
|
+
.filter((m) => m.kind === "data")
|
|
233
|
+
.map((m) => ({ name: m.name, type: m.type }));
|
|
234
|
+
const dataObj = data;
|
|
235
|
+
let keys = [];
|
|
236
|
+
if (keyMembers.length > 0) {
|
|
237
|
+
const keysCodec = buildSyntheticCodec(abi, "__EventKeys__", keyMembers);
|
|
238
|
+
const keyData = {};
|
|
239
|
+
for (const m of keyMembers)
|
|
240
|
+
keyData[m.name] = dataObj[m.name];
|
|
241
|
+
keys = keysCodec.callData.compile("__codec__", [keyData]);
|
|
242
|
+
}
|
|
243
|
+
let encodedData = [];
|
|
244
|
+
if (dataMembers.length > 0) {
|
|
245
|
+
const dataCodec = buildSyntheticCodec(abi, "__EventData__", dataMembers);
|
|
246
|
+
const dataValues = {};
|
|
247
|
+
for (const m of dataMembers)
|
|
248
|
+
dataValues[m.name] = dataObj[m.name];
|
|
249
|
+
encodedData = dataCodec.callData.compile("__codec__", [dataValues]);
|
|
250
|
+
}
|
|
251
|
+
return { keys, data: encodedData };
|
|
252
|
+
},
|
|
253
|
+
decodeEvent(eventName, event) {
|
|
254
|
+
const eventEntry = abi.find((e) => e.type === "event" && e.name === eventName && e.kind === "struct");
|
|
255
|
+
if (!eventEntry) {
|
|
256
|
+
throw new Error(`ABI does not contain a struct event named "${eventName}"`);
|
|
257
|
+
}
|
|
258
|
+
const members = eventEntry.members;
|
|
259
|
+
const keyMembers = members
|
|
260
|
+
.filter((m) => m.kind === "key")
|
|
261
|
+
.map((m) => ({ name: m.name, type: m.type }));
|
|
262
|
+
const dataMembers = members
|
|
263
|
+
.filter((m) => m.kind === "data")
|
|
264
|
+
.map((m) => ({ name: m.name, type: m.type }));
|
|
265
|
+
let result = {};
|
|
266
|
+
if (keyMembers.length > 0) {
|
|
267
|
+
const keysCodec = buildSyntheticCodec(abi, "__EventKeys__", keyMembers);
|
|
268
|
+
const raw = keysCodec.callData.parse("__codec__", event.keys);
|
|
269
|
+
const transformed = transformAddresses(raw, "__EventKeys__", keysCodec.typeMap);
|
|
270
|
+
Object.assign(result, transformed);
|
|
271
|
+
}
|
|
272
|
+
if (dataMembers.length > 0) {
|
|
273
|
+
const dataCodec = buildSyntheticCodec(abi, "__EventData__", dataMembers);
|
|
274
|
+
const raw = dataCodec.callData.parse("__codec__", event.data);
|
|
275
|
+
const transformed = transformAddresses(raw, "__EventData__", dataCodec.typeMap);
|
|
276
|
+
Object.assign(result, transformed);
|
|
277
|
+
}
|
|
278
|
+
return result;
|
|
279
|
+
},
|
|
170
280
|
};
|
|
171
281
|
}
|
|
172
282
|
/**
|
|
@@ -181,10 +291,28 @@ export function encodeTyped(abi, typeName, data) {
|
|
|
181
291
|
export function decodeTyped(abi, typeName, calldata) {
|
|
182
292
|
return createTypedCodec(abi).decode(typeName, calldata);
|
|
183
293
|
}
|
|
184
|
-
/**
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
export
|
|
188
|
-
|
|
189
|
-
|
|
294
|
+
/**
|
|
295
|
+
* One-off constructor encoding.
|
|
296
|
+
*/
|
|
297
|
+
export function encodeConstructor(abi, data) {
|
|
298
|
+
return createTypedCodec(abi).encodeConstructor(data);
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* One-off constructor decoding.
|
|
302
|
+
*/
|
|
303
|
+
export function decodeConstructor(abi, calldata) {
|
|
304
|
+
return createTypedCodec(abi).decodeConstructor(calldata);
|
|
305
|
+
}
|
|
306
|
+
/**
|
|
307
|
+
* One-off event encoding.
|
|
308
|
+
*/
|
|
309
|
+
export function encodeEvent(abi, eventName, data) {
|
|
310
|
+
return createTypedCodec(abi).encodeEvent(eventName, data);
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* One-off event decoding.
|
|
314
|
+
*/
|
|
315
|
+
export function decodeEvent(abi, eventName, event) {
|
|
316
|
+
return createTypedCodec(abi).decodeEvent(eventName, event);
|
|
317
|
+
}
|
|
190
318
|
//# sourceMappingURL=typed-encoder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typed-encoder.js","sourceRoot":"","sources":["../src/typed-encoder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"typed-encoder.js","sourceRoot":"","sources":["../src/typed-encoder.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/dist/encoder.d.ts
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { type Abi } from "starknet";
|
|
2
|
-
/**
|
|
3
|
-
* Encodes a Cairo struct to calldata without needing a full contract ABI.
|
|
4
|
-
*
|
|
5
|
-
* @param structAbi - Array of ABI type definitions (structs, enums) needed to encode the data
|
|
6
|
-
* @param structType - The name of the root struct type to encode
|
|
7
|
-
* @param data - The data to encode
|
|
8
|
-
* @returns Encoded calldata as string array
|
|
9
|
-
*/
|
|
10
|
-
export declare function encodeStruct(structAbi: Abi, structType: string, data: unknown): string[];
|
|
11
|
-
/**
|
|
12
|
-
* Decodes calldata back into a structured object.
|
|
13
|
-
*
|
|
14
|
-
* @param structAbi - Array of ABI type definitions (structs, enums) needed to decode the data
|
|
15
|
-
* @param structType - The name of the root struct type to decode
|
|
16
|
-
* @param calldata - The encoded calldata string array
|
|
17
|
-
* @returns Decoded struct data
|
|
18
|
-
*/
|
|
19
|
-
export declare function decodeStruct(structAbi: Abi, structType: string, calldata: string[]): unknown;
|
|
20
|
-
/**
|
|
21
|
-
* Creates a reusable encoder/decoder for a specific struct type.
|
|
22
|
-
* Useful when encoding/decoding multiple instances of the same struct.
|
|
23
|
-
*/
|
|
24
|
-
export declare function createStructCodec(structAbi: Abi, structType: string): {
|
|
25
|
-
encode(data: unknown): string[];
|
|
26
|
-
decode(calldata: string[]): unknown;
|
|
27
|
-
};
|
|
28
|
-
/**
|
|
29
|
-
* @deprecated Use `createStructCodec` instead.
|
|
30
|
-
*/
|
|
31
|
-
export declare function createStructEncoder(structAbi: Abi, structType: string): (data: unknown) => string[];
|
|
32
|
-
//# sourceMappingURL=encoder.d.ts.map
|
package/dist/encoder.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"encoder.d.ts","sourceRoot":"","sources":["../src/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAY,KAAK,GAAG,EAAgB,MAAM,UAAU,CAAC;AAqB5D;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,GAAG,EACd,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO,GACZ,MAAM,EAAE,CAGV;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAC1B,SAAS,EAAE,GAAG,EACd,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAAE,GACjB,OAAO,CAIT;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM;iBAInD,OAAO,GAAG,MAAM,EAAE;qBAGd,MAAM,EAAE,GAAG,OAAO;EAItC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,UAZrD,OAAO,KAAG,MAAM,EAAE,CAelC"}
|
package/dist/encoder.js
DELETED
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { CallData } from "starknet";
|
|
2
|
-
function wrapAbi(structAbi, structType) {
|
|
3
|
-
return [
|
|
4
|
-
{
|
|
5
|
-
type: "interface",
|
|
6
|
-
name: "__Wrapper__",
|
|
7
|
-
items: [
|
|
8
|
-
{
|
|
9
|
-
type: "function",
|
|
10
|
-
name: "__encode__",
|
|
11
|
-
inputs: [{ name: "data", type: structType }],
|
|
12
|
-
outputs: [{ type: structType }],
|
|
13
|
-
state_mutability: "external",
|
|
14
|
-
},
|
|
15
|
-
],
|
|
16
|
-
},
|
|
17
|
-
...structAbi,
|
|
18
|
-
];
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Encodes a Cairo struct to calldata without needing a full contract ABI.
|
|
22
|
-
*
|
|
23
|
-
* @param structAbi - Array of ABI type definitions (structs, enums) needed to encode the data
|
|
24
|
-
* @param structType - The name of the root struct type to encode
|
|
25
|
-
* @param data - The data to encode
|
|
26
|
-
* @returns Encoded calldata as string array
|
|
27
|
-
*/
|
|
28
|
-
export function encodeStruct(structAbi, structType, data) {
|
|
29
|
-
const callData = new CallData(wrapAbi(structAbi, structType));
|
|
30
|
-
return callData.compile("__encode__", [data]);
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Decodes calldata back into a structured object.
|
|
34
|
-
*
|
|
35
|
-
* @param structAbi - Array of ABI type definitions (structs, enums) needed to decode the data
|
|
36
|
-
* @param structType - The name of the root struct type to decode
|
|
37
|
-
* @param calldata - The encoded calldata string array
|
|
38
|
-
* @returns Decoded struct data
|
|
39
|
-
*/
|
|
40
|
-
export function decodeStruct(structAbi, structType, calldata) {
|
|
41
|
-
const callData = new CallData(wrapAbi(structAbi, structType));
|
|
42
|
-
const result = callData.parse("__encode__", calldata);
|
|
43
|
-
return result;
|
|
44
|
-
}
|
|
45
|
-
/**
|
|
46
|
-
* Creates a reusable encoder/decoder for a specific struct type.
|
|
47
|
-
* Useful when encoding/decoding multiple instances of the same struct.
|
|
48
|
-
*/
|
|
49
|
-
export function createStructCodec(structAbi, structType) {
|
|
50
|
-
const callData = new CallData(wrapAbi(structAbi, structType));
|
|
51
|
-
return {
|
|
52
|
-
encode(data) {
|
|
53
|
-
return callData.compile("__encode__", [data]);
|
|
54
|
-
},
|
|
55
|
-
decode(calldata) {
|
|
56
|
-
return callData.parse("__encode__", calldata);
|
|
57
|
-
},
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* @deprecated Use `createStructCodec` instead.
|
|
62
|
-
*/
|
|
63
|
-
export function createStructEncoder(structAbi, structType) {
|
|
64
|
-
const codec = createStructCodec(structAbi, structType);
|
|
65
|
-
return codec.encode;
|
|
66
|
-
}
|
|
67
|
-
//# sourceMappingURL=encoder.js.map
|
package/dist/encoder.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"encoder.js","sourceRoot":"","sources":["../src/encoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAA0B,MAAM,UAAU,CAAC;AAE5D,SAAS,OAAO,CAAC,SAAc,EAAE,UAAkB;IACjD,OAAO;QACL;YACE,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE;gBACL;oBACE,IAAI,EAAE,UAAU;oBAChB,IAAI,EAAE,YAAY;oBAClB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;oBAC5C,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;oBAC/B,gBAAgB,EAAE,UAAU;iBAC7B;aACF;SACF;QACD,GAAG,SAAS;KACb,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAC1B,SAAc,EACd,UAAkB,EAClB,IAAa;IAEb,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAC9D,OAAO,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAY,CAAa,CAAC;AACvE,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,YAAY,CAC1B,SAAc,EACd,UAAkB,EAClB,QAAkB;IAElB,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;IACtD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAc,EAAE,UAAkB;IAClE,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAC;IAE9D,OAAO;QACL,MAAM,CAAC,IAAa;YAClB,OAAO,QAAQ,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,IAAI,CAAY,CAAa,CAAC;QACvE,CAAC;QACD,MAAM,CAAC,QAAkB;YACvB,OAAO,QAAQ,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAChD,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,SAAc,EAAE,UAAkB;IACpE,MAAM,KAAK,GAAG,iBAAiB,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IACvD,OAAO,KAAK,CAAC,MAAM,CAAC;AACtB,CAAC"}
|