@subsquid/evm-typegen 4.6.0 → 5.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.
package/lib/typegen.js CHANGED
@@ -1,233 +1,313 @@
1
1
  "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
10
24
  };
11
25
  Object.defineProperty(exports, "__esModule", { value: true });
12
26
  exports.Typegen = void 0;
13
- const util_internal_1 = require("@subsquid/util-internal");
14
- const evm_abi_1 = require("@subsquid/evm-abi");
15
- const types_1 = require("./util/types");
27
+ const util_internal_code_printer_1 = require("@subsquid/util-internal-code-printer");
28
+ const fs = __importStar(require("node:fs"));
29
+ const description_1 = require("./description");
16
30
  class Typegen {
17
- constructor(dest, abi, basename, log) {
18
- this.abi = abi;
31
+ constructor(dest, abi, basename, log, natspec) {
19
32
  this.log = log;
20
- this.out = dest.file(basename + '.ts');
33
+ this.modules = new Set();
34
+ // Earlier versions of typegen emitted a single `${basename}.ts` file
35
+ // alongside the output dir. The current layout is a directory
36
+ // (`${basename}/index.ts` etc.). When TypeScript resolves
37
+ // `import './abi/foo'` it prefers `foo.ts` over `foo/index.ts`, so
38
+ // a stale legacy file would silently shadow the freshly generated
39
+ // module — builds keep passing against the old contents. Detect and
40
+ // remove the legacy file before we lay down the new directory.
41
+ const legacy = dest.path(`${basename}.ts`);
42
+ if (fs.existsSync(legacy) && fs.statSync(legacy).isFile()) {
43
+ log.warn(`removing stale ${legacy} from a previous typegen layout`);
44
+ fs.unlinkSync(legacy);
45
+ }
46
+ this.dest = dest.child(basename);
47
+ this.contract = (0, description_1.describe)(abi, natspec);
21
48
  }
22
49
  async generate() {
23
- this.out.line(`import * as p from '@subsquid/evm-codec'`);
24
- this.out.line(`import { event, fun, viewFun, indexed, ContractBase } from '@subsquid/evm-abi'`);
25
- this.out.line(`import type { EventParams as EParams, FunctionArguments, FunctionReturn } from '@subsquid/evm-abi'`);
26
- this.generateEvents();
27
- this.generateFunctions();
50
+ if (this.contract.events.length > 0) {
51
+ this.generateEvents();
52
+ this.modules.add('events');
53
+ }
54
+ if (this.contract.functions.length > 0) {
55
+ this.generateFunctions();
56
+ this.modules.add('functions');
57
+ }
28
58
  this.generateContract();
29
- this.generateEventTypes();
30
- this.generateFunctionTypes();
31
- await this.out.write();
32
- this.log.info(`saved ${this.out.file}`);
59
+ this.writeIndex();
33
60
  }
34
61
  generateEvents() {
35
- let events = this.getEvents();
36
- if (events.length == 0) {
37
- return;
62
+ const out = new TypeModuleOutput(this.dest.path('events.ts'));
63
+ out.import('support', 'event');
64
+ out.import('support', 'EventParams', 'EParams', true);
65
+ for (let i = 0; i < this.contract.events.length; i++) {
66
+ if (i > 0)
67
+ out.line();
68
+ out.printEvent(this.contract.events[i]);
38
69
  }
39
- this.out.line();
40
- this.out.block(`export const events =`, () => {
41
- for (let e of events) {
42
- this.out.line(`${this.getPropName(e)}: event("${this.topic0(e)}", "${this.signature(e)}", {${this.toTypes(e.inputs)}}),`);
43
- }
44
- });
45
- }
46
- topic0(e) {
47
- return `0x${(0, evm_abi_1.keccak256)(this.signature(e)).toString('hex')}`;
48
- }
49
- toTypes(inputs) {
50
- return inputs.map((input, idx) => (0, types_1.getType)(input, idx)).join(', ');
70
+ out.write();
71
+ this.log.info(`saved ${out.file}`);
51
72
  }
52
73
  generateFunctions() {
53
- let functions = this.getFunctions();
54
- if (functions.length == 0) {
55
- return;
74
+ const out = new TypeModuleOutput(this.dest.path('functions.ts'));
75
+ out.import('support', 'FunctionArguments', undefined, true);
76
+ out.import('support', 'FunctionReturn', undefined, true);
77
+ for (let i = 0; i < this.contract.functions.length; i++) {
78
+ if (i > 0)
79
+ out.line();
80
+ out.printFunction(this.contract.functions[i]);
56
81
  }
57
- this.out.line();
58
- this.out.block(`export const functions =`, () => {
59
- for (let f of functions) {
60
- let returnType = '';
61
- if (f.outputs?.length === 1) {
62
- returnType = (0, types_1.getType)({ ...f.outputs[0], name: undefined });
63
- }
64
- if (f.outputs?.length > 1) {
65
- returnType = `{${this.toTypes(f.outputs)}}`;
66
- }
67
- const funType = f.stateMutability === 'view' || f.stateMutability === 'pure' ? 'viewFun' : 'fun';
68
- this.out.line(`${this.getPropName(f)}: ${funType}("${this.functionSelector(f)}", "${this.signature(f)}", {${this.toTypes(f.inputs)}}, ${returnType}),`);
69
- }
70
- });
71
- }
72
- functionSelector(f) {
73
- const sighash = this.signature(f);
74
- return `0x${(0, evm_abi_1.keccak256)(sighash).slice(0, 4).toString('hex')}`;
82
+ out.write();
83
+ this.log.info(`saved ${out.file}`);
75
84
  }
76
85
  generateContract() {
77
- this.out.line();
78
- this.out.block(`export class Contract extends ContractBase`, () => {
79
- let functions = this.getFunctions();
80
- for (let f of functions) {
81
- if ((f.stateMutability === 'pure' || f.stateMutability === 'view') &&
82
- f.outputs?.length) {
83
- this.out.line();
84
- let argNames = f.inputs.map((a, idx) => a.name || `_${idx}`);
85
- const ref = this.getPropNameGetter(f);
86
- const [argsType] = this.toFunctionTypes(f);
87
- let args = f.inputs
88
- .map((a, idx) => `${argNames[idx]}: ${argsType}["${argNames[idx]}"]`)
89
- .join(', ');
90
- this.out.block(`${this.getPropName(f)}(${args})`, () => {
91
- this.out.line(`return this.eth_call(functions${ref}, {${argNames.join(', ')}})`);
92
- });
93
- }
86
+ const viewFns = this.contract.functions.filter((f) => f.outputs.length > 0);
87
+ const out = new TypeModuleOutput(this.dest.path('contract.ts'));
88
+ out.import('support', 'ContractBase');
89
+ for (const f of viewFns) {
90
+ out.importFrom('./functions.js', { name: f.key });
91
+ if (f.inputs.length > 0) {
92
+ out.importFrom('./functions.js', { name: f.paramsTypeName, type: true });
93
+ }
94
+ }
95
+ out.line('export class Contract extends ContractBase {');
96
+ out.indentation(() => {
97
+ for (let i = 0; i < viewFns.length; i++) {
98
+ const f = viewFns[i];
99
+ if (i > 0)
100
+ out.line();
101
+ const argNames = f.inputs.map((a) => a.name);
102
+ const argList = f.inputs
103
+ .map((a) => `${a.name}: ${f.paramsTypeName}[${JSON.stringify(a.name)}]`)
104
+ .join(', ');
105
+ out.line(`${f.key}(${argList}) {`);
106
+ out.indentation(() => {
107
+ const argsObj = argNames.length === 0 ? '{}' : `{${argNames.join(', ')}}`;
108
+ out.line(`return this.eth_call(${f.key}, ${argsObj})`);
109
+ });
110
+ out.line('}');
94
111
  }
95
112
  });
113
+ out.line('}');
114
+ out.write();
115
+ this.log.info(`saved ${out.file}`);
96
116
  }
97
- canonicalType(param) {
98
- if (!param.type.startsWith('tuple')) {
99
- return param.type;
117
+ writeIndex() {
118
+ const out = new util_internal_code_printer_1.FileOutput(this.dest.path('index.ts'));
119
+ for (const m of this.modules) {
120
+ out.line(`export * as ${m} from './${m}.js'`);
100
121
  }
101
- const arrayBrackets = param.type.slice(5);
102
- return `(${param.components.map((param) => this.canonicalType(param))})${arrayBrackets}`;
122
+ out.line();
123
+ out.line(`export { Contract } from './contract.js'`);
124
+ out.write();
125
+ this.log.info(`saved ${out.file}`);
126
+ }
127
+ }
128
+ exports.Typegen = Typegen;
129
+ const EVM_CODEC_MODULE = '@subsquid/evm-codec';
130
+ const SUPPORT_MODULE = '../abi.support.js';
131
+ const BUCKETS = {
132
+ evmCodec: EVM_CODEC_MODULE,
133
+ support: SUPPORT_MODULE,
134
+ };
135
+ class TypeModuleOutput extends util_internal_code_printer_1.FileOutput {
136
+ constructor(file) {
137
+ super(file);
138
+ // Seeded so evm-codec + abi.support always appear first in the output.
139
+ this.imports = new Map([
140
+ [EVM_CODEC_MODULE, []],
141
+ [SUPPORT_MODULE, []],
142
+ ]);
143
+ this.lazy(() => {
144
+ let printed = 0;
145
+ for (const [from, imps] of this.imports) {
146
+ printed += this.printImports(from, imps);
147
+ }
148
+ if (printed > 0)
149
+ this.line();
150
+ });
103
151
  }
104
- signature(item) {
105
- return `${item.name}(${item.inputs
106
- .map((param) => this.canonicalType(param))
107
- .join(',')})`;
152
+ import(bucket, name, alias, type = false) {
153
+ this.importFrom(BUCKETS[bucket], { name, alias, type });
108
154
  }
109
- getPropName(item) {
110
- if (this.getOverloads(item) == 1) {
111
- return item.name;
112
- }
113
- else if (item.type === 'function') {
114
- return `'${this.signature(item)}'`;
155
+ importFrom(from, imp) {
156
+ let list = this.imports.get(from);
157
+ if (!list) {
158
+ list = [];
159
+ this.imports.set(from, list);
115
160
  }
116
- else {
117
- return `'${item.name}(${item.inputs
118
- .map((param) => this.canonicalType(param) + (param.indexed ? ` indexed` : ``))
119
- .join(',')})'`;
161
+ list.push(imp);
162
+ }
163
+ printImports(from, imports) {
164
+ if (imports.length === 0)
165
+ return 0;
166
+ const seen = new Set();
167
+ const values = [];
168
+ const types = [];
169
+ for (const imp of imports) {
170
+ const key = `${imp.type ? 't' : 'v'}:${imp.name}:${imp.alias || ''}`;
171
+ if (seen.has(key))
172
+ continue;
173
+ seen.add(key);
174
+ (imp.type ? types : values).push(imp);
120
175
  }
176
+ const fmt = (list) => list
177
+ .map((i) => (i.alias ? `${i.name} as ${i.alias}` : i.name))
178
+ .sort()
179
+ .join(', ');
180
+ if (values.length > 0)
181
+ this.line(`import { ${fmt(values)} } from '${from}'`);
182
+ if (types.length > 0)
183
+ this.line(`import type { ${fmt(types)} } from '${from}'`);
184
+ return (values.length > 0 ? 1 : 0) + (types.length > 0 ? 1 : 0);
121
185
  }
122
- getPropNameGetter(item) {
123
- if (this.getOverloads(item) == 1) {
124
- return '.' + item.name;
186
+ printDoc(signature, docs) {
187
+ const docLines = [];
188
+ if (docs?.notice)
189
+ docLines.push(docs.notice);
190
+ if (docs?.dev)
191
+ docLines.push(`@dev ${docs.dev}`);
192
+ if (docLines.length === 0) {
193
+ this.line(`/** ${signature} */`);
125
194
  }
126
195
  else {
127
- return `[${this.getPropName(item)}]`;
196
+ this.line('/**');
197
+ this.line(` * ${signature}`);
198
+ this.line(' *');
199
+ for (const l of docLines)
200
+ this.line(` * ${l}`);
201
+ this.line(' */');
128
202
  }
129
203
  }
130
- getOverloads(item) {
131
- if (item.type === 'event') {
132
- return this.eventOverloads()[item.name];
204
+ printEvent(e) {
205
+ this.printDoc(e.signature, e.docs);
206
+ if (e.inputs.length === 0) {
207
+ this.line(`export const ${e.key} = event('${e.topic}', {})`);
133
208
  }
134
209
  else {
135
- return this.functionOverloads()[item.name];
210
+ this.line(`export const ${e.key} = event('${e.topic}', {`);
211
+ this.indentation(() => {
212
+ for (const f of e.inputs)
213
+ this.printFieldDsl(f, ',');
214
+ });
215
+ this.line('})');
136
216
  }
217
+ this.line(`export type ${e.typeName} = EParams<typeof ${e.key}>`);
137
218
  }
138
- capitalize(s) {
139
- return s.charAt(0).toUpperCase() + s.slice(1);
140
- }
141
- getOverloadIndex(item) {
142
- const abi = [...this.getEvents(), ...this.getFunctions()];
143
- const overloads = abi.filter((x) => x.name === item.name);
144
- return overloads.findIndex((x) => x === item);
145
- }
146
- toEventType(e) {
147
- if (this.getOverloads(e) === 1) {
148
- return `${this.capitalize(e.name)}EventArgs`;
219
+ printFunction(f) {
220
+ this.import('support', 'func');
221
+ this.printDoc(f.signature, f.docs);
222
+ const prefix = `export const ${f.key} = func('${f.selector}', `;
223
+ const hasInputs = f.inputs.length > 0;
224
+ const hasOutputs = f.outputs.length > 0;
225
+ const singleReturn = f.outputs.length === 1;
226
+ if (!hasInputs && !hasOutputs) {
227
+ this.line(`${prefix}{})`);
149
228
  }
150
- const index = this.getOverloadIndex(e);
151
- return `${this.capitalize(e.name)}EventArgs_${index}`;
152
- }
153
- generateEventTypes() {
154
- const events = this.getEvents();
155
- if (events.length == 0) {
156
- return;
229
+ else if (!hasInputs && singleReturn) {
230
+ this.printTypeDsl(`${prefix}{}, `, f.outputs[0].type, ')');
157
231
  }
158
- this.out.line();
159
- this.out.line(`/// Event types`);
160
- for (let e of events) {
161
- const propName = this.getPropNameGetter(e);
162
- this.out.line(`export type ${this.toEventType(e)} = EParams<typeof events${propName}>`);
232
+ else if (!hasInputs) {
233
+ this.import('evmCodec', 'struct');
234
+ this.line(`${prefix}{}, struct({`);
235
+ this.indentation(() => {
236
+ for (const o of f.outputs)
237
+ this.printFieldDsl(o, ',');
238
+ });
239
+ this.line('}))');
163
240
  }
164
- }
165
- toFunctionTypes(f) {
166
- if (this.getOverloads(f) === 1) {
167
- return [`${this.capitalize(f.name)}Params`, `${this.capitalize(f.name)}Return`];
241
+ else {
242
+ this.line(`${prefix}{`);
243
+ this.indentation(() => {
244
+ for (const inp of f.inputs)
245
+ this.printFieldDsl(inp, ',');
246
+ });
247
+ if (!hasOutputs) {
248
+ this.line('})');
249
+ }
250
+ else if (singleReturn) {
251
+ this.printTypeDsl('}, ', f.outputs[0].type, ')');
252
+ }
253
+ else {
254
+ this.import('evmCodec', 'struct');
255
+ this.line('}, struct({');
256
+ this.indentation(() => {
257
+ for (const o of f.outputs)
258
+ this.printFieldDsl(o, ',');
259
+ });
260
+ this.line('}))');
261
+ }
168
262
  }
169
- const index = this.getOverloadIndex(f);
170
- return [`${this.capitalize(f.name)}Params_${index}`, `${this.capitalize(f.name)}Return_${index}`];
263
+ this.line(`export type ${f.paramsTypeName} = FunctionArguments<typeof ${f.key}>`);
264
+ this.line(`export type ${f.returnTypeName} = FunctionReturn<typeof ${f.key}>`);
171
265
  }
172
- generateFunctionTypes() {
173
- let functions = this.getFunctions();
174
- if (functions.length == 0) {
266
+ printFieldDsl(f, end) {
267
+ if (f.doc)
268
+ this.line(`/** ${f.doc} */`);
269
+ const start = `${propKey(f.name)}: `;
270
+ if (f.indexed) {
271
+ this.import('support', 'indexed');
272
+ this.printTypeDsl(`${start}indexed(`, f.type, `)${end}`);
175
273
  return;
176
274
  }
177
- this.out.line();
178
- this.out.line(`/// Function types`);
179
- for (let f of functions) {
180
- const propName = this.getPropNameGetter(f);
181
- const [args, ret] = this.toFunctionTypes(f);
182
- this.out.line(`export type ${args} = FunctionArguments<typeof functions${propName}>`);
183
- this.out.line(`export type ${ret} = FunctionReturn<typeof functions${propName}>`);
184
- this.out.line();
185
- }
275
+ this.printTypeDsl(start, f.type, end);
186
276
  }
187
- functionOverloads() {
188
- let overloads = {};
189
- for (let item of this.getFunctions()) {
190
- overloads[item.name] = (overloads[item.name] || 0) + 1;
191
- }
192
- return overloads;
193
- }
194
- eventOverloads() {
195
- let overloads = {};
196
- for (let item of this.getEvents()) {
197
- overloads[item.name] = (overloads[item.name] || 0) + 1;
277
+ printTypeDsl(start, type, end) {
278
+ switch (type.kind) {
279
+ case 'primitive':
280
+ this.import('evmCodec', type.name);
281
+ this.line(start + type.name + end);
282
+ return;
283
+ case 'array':
284
+ this.import('evmCodec', 'array');
285
+ this.printTypeDsl(`${start}array(`, type.item, `)${end}`);
286
+ return;
287
+ case 'fixedArray':
288
+ this.import('evmCodec', 'fixedSizeArray');
289
+ this.printTypeDsl(`${start}fixedSizeArray(`, type.item, `, ${type.size})${end}`);
290
+ return;
291
+ case 'tuple': {
292
+ this.import('evmCodec', 'struct');
293
+ if (type.fields.length === 0) {
294
+ this.line(`${start}struct({})${end}`);
295
+ return;
296
+ }
297
+ this.line(`${start}struct({`);
298
+ this.indentation(() => {
299
+ for (const f of type.fields)
300
+ this.printFieldDsl(f, ',');
301
+ });
302
+ this.line(`})${end}`);
303
+ return;
304
+ }
198
305
  }
199
- return overloads;
200
- }
201
- getFunctions() {
202
- return this.abi.filter((f) => f.type === 'function');
203
- }
204
- getEvents() {
205
- return this.abi.filter((f) => f.type === 'event');
206
306
  }
207
307
  }
208
- exports.Typegen = Typegen;
209
- __decorate([
210
- util_internal_1.def,
211
- __metadata("design:type", Function),
212
- __metadata("design:paramtypes", []),
213
- __metadata("design:returntype", Object)
214
- ], Typegen.prototype, "functionOverloads", null);
215
- __decorate([
216
- util_internal_1.def,
217
- __metadata("design:type", Function),
218
- __metadata("design:paramtypes", []),
219
- __metadata("design:returntype", Object)
220
- ], Typegen.prototype, "eventOverloads", null);
221
- __decorate([
222
- util_internal_1.def,
223
- __metadata("design:type", Function),
224
- __metadata("design:paramtypes", []),
225
- __metadata("design:returntype", Array)
226
- ], Typegen.prototype, "getFunctions", null);
227
- __decorate([
228
- util_internal_1.def,
229
- __metadata("design:type", Function),
230
- __metadata("design:paramtypes", []),
231
- __metadata("design:returntype", Array)
232
- ], Typegen.prototype, "getEvents", null);
308
+ function propKey(name) {
309
+ if (/^[a-zA-Z_$][0-9a-zA-Z_$]*$/.test(name))
310
+ return name;
311
+ return JSON.stringify(name);
312
+ }
233
313
  //# sourceMappingURL=typegen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"typegen.js","sourceRoot":"","sources":["../src/typegen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typegen.js","sourceRoot":"","sources":["../src/typegen.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@subsquid/evm-typegen",
3
- "version": "4.6.0",
3
+ "version": "5.0.0",
4
4
  "description": "CLI for generating typescript types and decode implementations for evm logs",
5
5
  "license": "GPL-3.0-or-later",
6
- "repository": "git@github.com:subsquid/squid.git",
6
+ "repository": "git@github.com:subsquid/squid-sdk.git",
7
7
  "publishConfig": {
8
8
  "access": "public"
9
9
  },
@@ -16,20 +16,20 @@
16
16
  "squid-evm-typegen": "bin/run.js"
17
17
  },
18
18
  "dependencies": {
19
- "@subsquid/http-client": "^1.8.0",
20
- "@subsquid/logger": "^1.4.0",
21
- "@subsquid/util-internal": "^3.2.0",
19
+ "@subsquid/http-client": "^1.8.1",
20
+ "@subsquid/logger": "^1.6.0",
21
+ "@subsquid/util-internal": "^3.3.0",
22
22
  "@subsquid/util-internal-code-printer": "^1.2.2",
23
23
  "@subsquid/util-internal-commander": "^1.4.0",
24
- "@subsquid/evm-codec": "^0.3.0",
25
- "@subsquid/evm-abi": "^0.3.1",
24
+ "@subsquid/evm-codec": "^1.0.0",
25
+ "@subsquid/evm-abi": "^1.0.0",
26
26
  "commander": "^11.1.0",
27
27
  "fastest-levenshtein": "^1.0.16"
28
28
  },
29
29
  "devDependencies": {
30
- "@types/node": "^18.18.14",
30
+ "@types/node": "^24.0.0",
31
31
  "abitype": "^1.0.4",
32
- "typescript": "~5.5.4"
32
+ "typescript": "5.5.4"
33
33
  },
34
34
  "scripts": {
35
35
  "build": "rm -rf lib && tsc"
@@ -0,0 +1,2 @@
1
+ export {event, func, indexed, ContractBase} from '@subsquid/evm-abi'
2
+ export type {EventParams, EventArgumentsInput, FunctionArguments, FunctionReturn, TopicFilter, IndexedTopicFilter} from '@subsquid/evm-abi'