@subsquid/evm-typegen 4.1.3 → 4.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/multicall.js +2 -2
- 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 +9 -8
- package/lib/typegen.js.map +1 -1
- package/package.json +2 -2
- package/src/multicall.ts +2 -2
- package/src/typegen.ts +10 -10
package/lib/multicall.js
CHANGED
|
@@ -26,13 +26,13 @@ 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', {
|
|
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
|
|
33
33
|
}))
|
|
34
34
|
}, { blockNumber: p.uint256, returnData: p.array(p.bytes) });
|
|
35
|
-
const tryAggregate = (0, evm_abi_1.fun)('0xbce38bd7', {
|
|
35
|
+
const tryAggregate = (0, evm_abi_1.fun)('0xbce38bd7', "tryAggregate(bool,(address,bytes)[])", {
|
|
36
36
|
requireSuccess: p.bool,
|
|
37
37
|
calls: p.array(p.struct({ target: p.address, callData: p.bytes }))
|
|
38
38
|
}, p.array(p.struct({ success: p.bool, returnData: 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;AAYzE,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,cAAc;IAUtB,OAAO,CAAC,
|
|
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;AAYzE,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,cAAc;IAUtB,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,WAAW;IAQnB,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
|
@@ -30,7 +30,7 @@ class Typegen {
|
|
|
30
30
|
}
|
|
31
31
|
async generate() {
|
|
32
32
|
this.out.line(`import * as p from '@subsquid/evm-codec'`);
|
|
33
|
-
this.out.line(`import { event, fun, indexed, ContractBase } from '@subsquid/evm-abi'`);
|
|
33
|
+
this.out.line(`import { event, fun, viewFun, indexed, ContractBase } from '@subsquid/evm-abi'`);
|
|
34
34
|
this.out.line(`import type { EventParams as EParams, FunctionArguments, FunctionReturn } from '@subsquid/evm-abi'`);
|
|
35
35
|
this.generateEvents();
|
|
36
36
|
this.generateFunctions();
|
|
@@ -48,12 +48,12 @@ class Typegen {
|
|
|
48
48
|
this.out.line();
|
|
49
49
|
this.out.block(`export const events =`, () => {
|
|
50
50
|
for (let e of events) {
|
|
51
|
-
this.out.line(`${this.getPropName(e)}: event("${this.topic0(e)}", {${this.toTypes(e.inputs)}}),`);
|
|
51
|
+
this.out.line(`${this.getPropName(e)}: event("${this.topic0(e)}", "${this.signature(e)}", {${this.toTypes(e.inputs)}}),`);
|
|
52
52
|
}
|
|
53
53
|
});
|
|
54
54
|
}
|
|
55
55
|
topic0(e) {
|
|
56
|
-
return `0x${(0, evm_abi_1.keccak256)(this.
|
|
56
|
+
return `0x${(0, evm_abi_1.keccak256)(this.signature(e)).toString('hex')}`;
|
|
57
57
|
}
|
|
58
58
|
toTypes(inputs) {
|
|
59
59
|
return inputs.map((input, idx) => (0, types_1.getType)(input, idx)).join(', ');
|
|
@@ -73,12 +73,13 @@ class Typegen {
|
|
|
73
73
|
if (f.outputs?.length > 1) {
|
|
74
74
|
returnType = `{${this.toTypes(f.outputs)}}`;
|
|
75
75
|
}
|
|
76
|
-
|
|
76
|
+
const funType = f.stateMutability === 'view' || f.stateMutability === 'pure' ? 'viewFun' : 'fun';
|
|
77
|
+
this.out.line(`${this.getPropName(f)}: ${funType}("${this.functionSelector(f)}", "${this.signature(f)}", {${this.toTypes(f.inputs)}}, ${returnType}),`);
|
|
77
78
|
}
|
|
78
79
|
});
|
|
79
80
|
}
|
|
80
81
|
functionSelector(f) {
|
|
81
|
-
const sighash = this.
|
|
82
|
+
const sighash = this.signature(f);
|
|
82
83
|
return `0x${(0, evm_abi_1.keccak256)(sighash).slice(0, 4).toString('hex')}`;
|
|
83
84
|
}
|
|
84
85
|
generateContract() {
|
|
@@ -109,7 +110,7 @@ class Typegen {
|
|
|
109
110
|
const arrayBrackets = param.type.slice(5);
|
|
110
111
|
return `(${param.components.map((param) => this.cannonicalType(param))})${arrayBrackets}`;
|
|
111
112
|
}
|
|
112
|
-
|
|
113
|
+
signature(item) {
|
|
113
114
|
return `${item.name}(${item.inputs
|
|
114
115
|
.map((param) => this.cannonicalType(param))
|
|
115
116
|
.join(',')})`;
|
|
@@ -119,7 +120,7 @@ class Typegen {
|
|
|
119
120
|
return item.name;
|
|
120
121
|
}
|
|
121
122
|
else {
|
|
122
|
-
return `"${this.
|
|
123
|
+
return `"${this.signature(item)}"`;
|
|
123
124
|
}
|
|
124
125
|
}
|
|
125
126
|
getPropNameGetter(item) {
|
|
@@ -127,7 +128,7 @@ class Typegen {
|
|
|
127
128
|
return '.' + item.name;
|
|
128
129
|
}
|
|
129
130
|
else {
|
|
130
|
-
return `["${this.
|
|
131
|
+
return `["${this.signature(item)}"]`;
|
|
131
132
|
}
|
|
132
133
|
}
|
|
133
134
|
getOverloads(item) {
|
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,SAAS,YAAY,CAAC,KAA6B,EAAE,KAA6B;IAChF,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QAC1G,OAAO,KAAK,CAAA;IACd,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACvC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAChC,OAAO,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAA;IACjE,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAa,OAAO;IAGlB,YACE,IAAY,EACJ,GAAQ,EAChB,QAAgB,EACR,GAAW;QAFX,QAAG,GAAH,GAAG,CAAK;QAER,QAAG,GAAH,GAAG,CAAQ;QAEnB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAA;IACxC,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAA;QACzD,IAAI,CAAC,GAAG,CAAC,IAAI,CACX,
|
|
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.2.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",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
"@subsquid/util-internal-code-printer": "^1.2.2",
|
|
23
23
|
"@subsquid/util-internal-commander": "^1.4.0",
|
|
24
24
|
"@subsquid/evm-codec": "^0.3.0",
|
|
25
|
-
"@subsquid/evm-abi": "^0.
|
|
25
|
+
"@subsquid/evm-abi": "^0.3.0",
|
|
26
26
|
"commander": "^11.1.0"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
package/src/multicall.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
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', {
|
|
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
|
|
8
8
|
}))
|
|
9
9
|
}, {blockNumber: p.uint256, returnData: p.array(p.bytes)})
|
|
10
10
|
|
|
11
|
-
const tryAggregate = fun('0xbce38bd7', {
|
|
11
|
+
const tryAggregate = fun('0xbce38bd7', "tryAggregate(bool,(address,bytes)[])", {
|
|
12
12
|
requireSuccess: p.bool,
|
|
13
13
|
calls: p.array(p.struct({target: p.address, callData: p.bytes}))
|
|
14
14
|
}, p.array(p.struct({success: p.bool, returnData: p.bytes})))
|
package/src/typegen.ts
CHANGED
|
@@ -30,7 +30,7 @@ export class Typegen {
|
|
|
30
30
|
async generate() {
|
|
31
31
|
this.out.line(`import * as p from '@subsquid/evm-codec'`)
|
|
32
32
|
this.out.line(
|
|
33
|
-
`import { event, fun, indexed, ContractBase } from '@subsquid/evm-abi'`,
|
|
33
|
+
`import { event, fun, viewFun, indexed, ContractBase } from '@subsquid/evm-abi'`,
|
|
34
34
|
)
|
|
35
35
|
this.out.line(
|
|
36
36
|
`import type { EventParams as EParams, FunctionArguments, FunctionReturn } from '@subsquid/evm-abi'`,
|
|
@@ -55,7 +55,7 @@ export class Typegen {
|
|
|
55
55
|
this.out.block(`export const events =`, () => {
|
|
56
56
|
for (let e of events) {
|
|
57
57
|
this.out.line(
|
|
58
|
-
`${this.getPropName(e)}: event("${this.topic0(e)}", {${this.toTypes(
|
|
58
|
+
`${this.getPropName(e)}: event("${this.topic0(e)}", "${this.signature(e)}", {${this.toTypes(
|
|
59
59
|
e.inputs,
|
|
60
60
|
)}}),`,
|
|
61
61
|
)
|
|
@@ -64,7 +64,7 @@ export class Typegen {
|
|
|
64
64
|
}
|
|
65
65
|
|
|
66
66
|
private topic0(e: AbiEvent): string {
|
|
67
|
-
return `0x${keccak256(this.
|
|
67
|
+
return `0x${keccak256(this.signature(e)).toString('hex')}`
|
|
68
68
|
}
|
|
69
69
|
|
|
70
70
|
private toTypes(inputs: readonly AbiParameter[]): string {
|
|
@@ -86,18 +86,18 @@ export class Typegen {
|
|
|
86
86
|
if (f.outputs?.length > 1) {
|
|
87
87
|
returnType = `{${this.toTypes(f.outputs)}}`
|
|
88
88
|
}
|
|
89
|
-
|
|
89
|
+
const funType = f.stateMutability === 'view' || f.stateMutability === 'pure' ? 'viewFun' : 'fun'
|
|
90
90
|
this.out.line(
|
|
91
|
-
`${this.getPropName(f)}:
|
|
91
|
+
`${this.getPropName(f)}: ${funType}("${this.functionSelector(
|
|
92
92
|
f,
|
|
93
|
-
)}", {${this.toTypes(f.inputs)}}, ${returnType}),`,
|
|
93
|
+
)}", "${this.signature(f)}", {${this.toTypes(f.inputs)}}, ${returnType}),`,
|
|
94
94
|
)
|
|
95
95
|
}
|
|
96
96
|
})
|
|
97
97
|
}
|
|
98
98
|
|
|
99
99
|
private functionSelector(f: AbiFunction): string {
|
|
100
|
-
const sighash = this.
|
|
100
|
+
const sighash = this.signature(f)
|
|
101
101
|
return `0x${keccak256(sighash).slice(0, 4).toString('hex')}`
|
|
102
102
|
}
|
|
103
103
|
|
|
@@ -139,7 +139,7 @@ export class Typegen {
|
|
|
139
139
|
)})${arrayBrackets}`
|
|
140
140
|
}
|
|
141
141
|
|
|
142
|
-
private
|
|
142
|
+
private signature(item: AbiEvent | AbiFunction): string {
|
|
143
143
|
return `${item.name}(${item.inputs
|
|
144
144
|
.map((param) => this.cannonicalType(param))
|
|
145
145
|
.join(',')})`
|
|
@@ -149,7 +149,7 @@ export class Typegen {
|
|
|
149
149
|
if (this.getOverloads(item) == 1) {
|
|
150
150
|
return item.name
|
|
151
151
|
} else {
|
|
152
|
-
return `"${this.
|
|
152
|
+
return `"${this.signature(item)}"`
|
|
153
153
|
}
|
|
154
154
|
}
|
|
155
155
|
|
|
@@ -157,7 +157,7 @@ export class Typegen {
|
|
|
157
157
|
if (this.getOverloads(item) == 1) {
|
|
158
158
|
return '.' + item.name
|
|
159
159
|
} else {
|
|
160
|
-
return `["${this.
|
|
160
|
+
return `["${this.signature(item)}"]`
|
|
161
161
|
}
|
|
162
162
|
}
|
|
163
163
|
|