@subsquid/evm-typegen 4.2.0 → 4.3.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/multicall.js +1 -1
- package/lib/multicall.js.map +1 -1
- package/lib/typegen.d.ts +1 -1
- package/lib/typegen.d.ts.map +1 -1
- package/lib/typegen.js +11 -15
- package/lib/typegen.js.map +1 -1
- package/package.json +2 -2
- package/src/multicall.ts +1 -1
- package/src/typegen.ts +11 -17
package/lib/multicall.js
CHANGED
|
@@ -26,7 +26,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
26
26
|
exports.Multicall = void 0;
|
|
27
27
|
const p = __importStar(require("@subsquid/evm-codec"));
|
|
28
28
|
const evm_abi_1 = require("@subsquid/evm-abi");
|
|
29
|
-
const aggregate = (0, evm_abi_1.fun)('0x252dba42', "aggregate((address,bytes)[]", {
|
|
29
|
+
const aggregate = (0, evm_abi_1.fun)('0x252dba42', "aggregate((address,bytes)[])", {
|
|
30
30
|
calls: p.array(p.struct({
|
|
31
31
|
target: p.address,
|
|
32
32
|
callData: p.bytes
|
package/lib/multicall.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multicall.js","sourceRoot":"","sources":["../src/multicall.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAwC;AACxC,+CAAkH;AAElH,MAAM,SAAS,GAAG,IAAA,aAAG,EAAC,YAAY,EAAE,
|
|
1
|
+
{"version":3,"file":"multicall.js","sourceRoot":"","sources":["../src/multicall.ts"],"names":[],"mappings":"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"}
|
package/lib/typegen.d.ts
CHANGED
package/lib/typegen.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typegen.d.ts","sourceRoot":"","sources":["../src/typegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAIzC,OAAO,KAAK,EAAE,GAAG,EAAuC,MAAM,SAAS,CAAA;AACvE,OAAO,EAAc,MAAM,EAAE,MAAM,sCAAsC,CAAA;
|
|
1
|
+
{"version":3,"file":"typegen.d.ts","sourceRoot":"","sources":["../src/typegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAIzC,OAAO,KAAK,EAAE,GAAG,EAAuC,MAAM,SAAS,CAAA;AACvE,OAAO,EAAc,MAAM,EAAE,MAAM,sCAAsC,CAAA;AAEzE,qBAAa,OAAO;IAKhB,OAAO,CAAC,GAAG;IAEX,OAAO,CAAC,GAAG;IANb,OAAO,CAAC,GAAG,CAAY;gBAGrB,IAAI,EAAE,MAAM,EACJ,GAAG,EAAE,GAAG,EAChB,QAAQ,EAAE,MAAM,EACR,GAAG,EAAE,MAAM;IAKf,QAAQ;IAmBd,OAAO,CAAC,cAAc;IAiBtB,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,OAAO;IAIf,OAAO,CAAC,iBAAiB;IAyBzB,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,gBAAgB;IA4BxB,OAAO,CAAC,aAAa;IAUrB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,kBAAkB;IAe1B,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,qBAAqB;IAqB7B,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,SAAS;CAGlB"}
|
package/lib/typegen.js
CHANGED
|
@@ -13,15 +13,6 @@ exports.Typegen = void 0;
|
|
|
13
13
|
const util_internal_1 = require("@subsquid/util-internal");
|
|
14
14
|
const evm_abi_1 = require("@subsquid/evm-abi");
|
|
15
15
|
const types_1 = require("./util/types");
|
|
16
|
-
function areItemEqual(item1, item2) {
|
|
17
|
-
if (item1.name !== item2.name || item1.inputs.length !== item2.inputs.length || item1.type !== item2.type) {
|
|
18
|
-
return false;
|
|
19
|
-
}
|
|
20
|
-
return item1.inputs.every((input, idx) => {
|
|
21
|
-
const input2 = item2.inputs[idx];
|
|
22
|
-
return input.name === input2.name && input.type === input2.type;
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
16
|
class Typegen {
|
|
26
17
|
constructor(dest, abi, basename, log) {
|
|
27
18
|
this.abi = abi;
|
|
@@ -103,24 +94,29 @@ class Typegen {
|
|
|
103
94
|
}
|
|
104
95
|
});
|
|
105
96
|
}
|
|
106
|
-
|
|
97
|
+
canonicalType(param) {
|
|
107
98
|
if (!param.type.startsWith('tuple')) {
|
|
108
99
|
return param.type;
|
|
109
100
|
}
|
|
110
101
|
const arrayBrackets = param.type.slice(5);
|
|
111
|
-
return `(${param.components.map((param) => this.
|
|
102
|
+
return `(${param.components.map((param) => this.canonicalType(param))})${arrayBrackets}`;
|
|
112
103
|
}
|
|
113
104
|
signature(item) {
|
|
114
105
|
return `${item.name}(${item.inputs
|
|
115
|
-
.map((param) => this.
|
|
106
|
+
.map((param) => this.canonicalType(param))
|
|
116
107
|
.join(',')})`;
|
|
117
108
|
}
|
|
118
109
|
getPropName(item) {
|
|
119
110
|
if (this.getOverloads(item) == 1) {
|
|
120
111
|
return item.name;
|
|
121
112
|
}
|
|
113
|
+
else if (item.type === 'function') {
|
|
114
|
+
return `'${this.signature(item)}'`;
|
|
115
|
+
}
|
|
122
116
|
else {
|
|
123
|
-
return `
|
|
117
|
+
return `'${item.name}(${item.inputs
|
|
118
|
+
.map((param) => this.canonicalType(param) + (param.indexed ? ` indexed` : ``))
|
|
119
|
+
.join(',')})'`;
|
|
124
120
|
}
|
|
125
121
|
}
|
|
126
122
|
getPropNameGetter(item) {
|
|
@@ -128,7 +124,7 @@ class Typegen {
|
|
|
128
124
|
return '.' + item.name;
|
|
129
125
|
}
|
|
130
126
|
else {
|
|
131
|
-
return `[
|
|
127
|
+
return `[${this.getPropName(item)}]`;
|
|
132
128
|
}
|
|
133
129
|
}
|
|
134
130
|
getOverloads(item) {
|
|
@@ -145,7 +141,7 @@ class Typegen {
|
|
|
145
141
|
getOverloadIndex(item) {
|
|
146
142
|
const abi = [...this.getEvents(), ...this.getFunctions()];
|
|
147
143
|
const overloads = abi.filter((x) => x.name === item.name);
|
|
148
|
-
return overloads.findIndex((x) =>
|
|
144
|
+
return overloads.findIndex((x) => x === item);
|
|
149
145
|
}
|
|
150
146
|
toEventType(e) {
|
|
151
147
|
if (this.getOverloads(e) === 1) {
|
package/lib/typegen.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typegen.js","sourceRoot":"","sources":["../src/typegen.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,2DAA6C;AAC7C,+CAA6C;AAC7C,wCAAsC;AAItC,
|
|
1
|
+
{"version":3,"file":"typegen.js","sourceRoot":"","sources":["../src/typegen.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@subsquid/evm-typegen",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.3.0",
|
|
4
4
|
"description": "CLI for generating typescript types and decode implementations for evm logs",
|
|
5
5
|
"license": "GPL-3.0-or-later",
|
|
6
6
|
"repository": "git@github.com:subsquid/squid.git",
|
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
"commander": "^11.1.0"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
|
-
"abitype": "^1.0.0",
|
|
30
29
|
"@types/node": "^18.18.14",
|
|
30
|
+
"abitype": "^1.0.4",
|
|
31
31
|
"typescript": "~5.3.2"
|
|
32
32
|
},
|
|
33
33
|
"scripts": {
|
package/src/multicall.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as p from '@subsquid/evm-codec'
|
|
2
2
|
import {fun, ContractBase, type AbiFunction, type FunctionReturn, type FunctionArguments} from '@subsquid/evm-abi'
|
|
3
3
|
|
|
4
|
-
const aggregate = fun('0x252dba42', "aggregate((address,bytes)[]", {
|
|
4
|
+
const aggregate = fun('0x252dba42', "aggregate((address,bytes)[])", {
|
|
5
5
|
calls: p.array(p.struct({
|
|
6
6
|
target: p.address,
|
|
7
7
|
callData: p.bytes
|
package/src/typegen.ts
CHANGED
|
@@ -5,16 +5,6 @@ import { getType } from './util/types'
|
|
|
5
5
|
import type { Abi, AbiEvent, AbiFunction, AbiParameter } from 'abitype'
|
|
6
6
|
import { FileOutput, OutDir } from '@subsquid/util-internal-code-printer'
|
|
7
7
|
|
|
8
|
-
function areItemEqual(item1: AbiEvent | AbiFunction, item2: AbiEvent | AbiFunction): boolean {
|
|
9
|
-
if (item1.name !== item2.name || item1.inputs.length !== item2.inputs.length || item1.type !== item2.type) {
|
|
10
|
-
return false
|
|
11
|
-
}
|
|
12
|
-
return item1.inputs.every((input, idx) => {
|
|
13
|
-
const input2 = item2.inputs[idx]
|
|
14
|
-
return input.name === input2.name && input.type === input2.type
|
|
15
|
-
})
|
|
16
|
-
}
|
|
17
|
-
|
|
18
8
|
export class Typegen {
|
|
19
9
|
private out: FileOutput
|
|
20
10
|
|
|
@@ -129,35 +119,39 @@ export class Typegen {
|
|
|
129
119
|
})
|
|
130
120
|
}
|
|
131
121
|
|
|
132
|
-
private
|
|
122
|
+
private canonicalType(param: AbiParameter): string {
|
|
133
123
|
if (!param.type.startsWith('tuple')) {
|
|
134
124
|
return param.type
|
|
135
125
|
}
|
|
136
126
|
const arrayBrackets = param.type.slice(5)
|
|
137
127
|
return `(${(param as any).components.map((param: AbiParameter) =>
|
|
138
|
-
this.
|
|
128
|
+
this.canonicalType(param),
|
|
139
129
|
)})${arrayBrackets}`
|
|
140
130
|
}
|
|
141
131
|
|
|
142
132
|
private signature(item: AbiEvent | AbiFunction): string {
|
|
143
133
|
return `${item.name}(${item.inputs
|
|
144
|
-
.map((param) => this.
|
|
134
|
+
.map((param) => this.canonicalType(param))
|
|
145
135
|
.join(',')})`
|
|
146
136
|
}
|
|
147
137
|
|
|
148
138
|
private getPropName(item: AbiEvent | AbiFunction): string {
|
|
149
139
|
if (this.getOverloads(item) == 1) {
|
|
150
140
|
return item.name
|
|
141
|
+
} else if (item.type === 'function') {
|
|
142
|
+
return `'${this.signature(item)}'`
|
|
151
143
|
} else {
|
|
152
|
-
return `
|
|
144
|
+
return `'${item.name}(${item.inputs
|
|
145
|
+
.map((param) => this.canonicalType(param) + (param.indexed ? ` indexed` : ``))
|
|
146
|
+
.join(',')})'`
|
|
153
147
|
}
|
|
154
148
|
}
|
|
155
149
|
|
|
156
150
|
private getPropNameGetter(item: AbiEvent | AbiFunction): string {
|
|
157
151
|
if (this.getOverloads(item) == 1) {
|
|
158
152
|
return '.' + item.name
|
|
159
|
-
} else
|
|
160
|
-
return `[
|
|
153
|
+
} else{
|
|
154
|
+
return `[${this.getPropName(item)}]`
|
|
161
155
|
}
|
|
162
156
|
}
|
|
163
157
|
|
|
@@ -176,7 +170,7 @@ export class Typegen {
|
|
|
176
170
|
private getOverloadIndex(item: AbiEvent | AbiFunction): number {
|
|
177
171
|
const abi = [...this.getEvents(), ...this.getFunctions()]
|
|
178
172
|
const overloads = abi.filter((x) => x.name === item.name)
|
|
179
|
-
return overloads.findIndex((x) =>
|
|
173
|
+
return overloads.findIndex((x) => x === item)
|
|
180
174
|
}
|
|
181
175
|
|
|
182
176
|
private toEventType(e: AbiEvent): string {
|