@subsquid/evm-typegen 3.2.4 → 3.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/abi.support.d.ts +10 -2
- package/lib/abi.support.d.ts.map +1 -1
- package/lib/abi.support.js +9 -1
- package/lib/abi.support.js.map +1 -1
- package/package.json +1 -1
- package/src/abi.support.ts +20 -5
package/lib/abi.support.d.ts
CHANGED
|
@@ -1,21 +1,29 @@
|
|
|
1
1
|
import * as ethers from 'ethers';
|
|
2
|
-
export interface
|
|
2
|
+
export interface EventRecord {
|
|
3
3
|
topics: string[];
|
|
4
4
|
data: string;
|
|
5
5
|
}
|
|
6
|
+
export type LogRecord = EventRecord;
|
|
6
7
|
export declare class LogEvent<Args> {
|
|
7
8
|
private abi;
|
|
8
9
|
readonly topic: string;
|
|
9
10
|
private fragment;
|
|
10
11
|
constructor(abi: ethers.Interface, topic: string);
|
|
11
|
-
|
|
12
|
+
is(rec: EventRecord): boolean;
|
|
13
|
+
decode(rec: EventRecord): Args;
|
|
14
|
+
}
|
|
15
|
+
export interface FuncRecord {
|
|
16
|
+
sighash?: string;
|
|
17
|
+
input: string;
|
|
12
18
|
}
|
|
13
19
|
export declare class Func<Args extends any[], FieldArgs, Result> {
|
|
14
20
|
private abi;
|
|
15
21
|
readonly sighash: string;
|
|
16
22
|
private fragment;
|
|
17
23
|
constructor(abi: ethers.Interface, sighash: string);
|
|
24
|
+
is(rec: FuncRecord): boolean;
|
|
18
25
|
decode(input: ethers.BytesLike): Args & FieldArgs;
|
|
26
|
+
decode(rec: FuncRecord): Args & FieldArgs;
|
|
19
27
|
encode(args: Args): string;
|
|
20
28
|
decodeResult(output: ethers.BytesLike): Result;
|
|
21
29
|
tryDecodeResult(output: ethers.BytesLike): Result | undefined;
|
package/lib/abi.support.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abi.support.d.ts","sourceRoot":"","sources":["../src/abi.support.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"abi.support.d.ts","sourceRoot":"","sources":["../src/abi.support.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAEhC,MAAM,WAAW,WAAW;IACxB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,IAAI,EAAE,MAAM,CAAA;CACf;AACD,MAAM,MAAM,SAAS,GAAG,WAAW,CAAA;AAEnC,qBAAa,QAAQ,CAAC,IAAI;IAGV,OAAO,CAAC,GAAG;aAAoC,KAAK,EAAE,MAAM;IAFxE,OAAO,CAAC,QAAQ,CAAsB;gBAElB,GAAG,EAAE,MAAM,CAAC,SAAS,EAAkB,KAAK,EAAE,MAAM;IAMxE,EAAE,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO;IAI7B,MAAM,CAAC,GAAG,EAAE,WAAW,GAAG,IAAI;CAGjC;AAED,MAAM,WAAW,UAAU;IACvB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,IAAI,CAAC,IAAI,SAAS,GAAG,EAAE,EAAE,SAAS,EAAE,MAAM;IAGvC,OAAO,CAAC,GAAG;aAAoC,OAAO,EAAE,MAAM;IAF1E,OAAO,CAAC,QAAQ,CAAyB;gBAErB,GAAG,EAAE,MAAM,CAAC,SAAS,EAAkB,OAAO,EAAE,MAAM;IAM1E,EAAE,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO;IAK5B,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,GAAG,IAAI,GAAG,SAAS;IACjD,MAAM,CAAC,GAAG,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS;IAMzC,MAAM,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM;IAI1B,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,GAAG,MAAM;IAK9C,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,SAAS,GAAG,MAAM,GAAG,SAAS;CAOhE;AAGD,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,KAAK,GAAG;IAAC,IAAI,EAAE,MAAM,CAAA;CAAC,CAOzF;AAGD,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,KAAK,CAAA;CAChB;AAGD,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,KAAK,CAAA;IACb,KAAK,EAAE,KAAK,CAAA;CACf;AAGD,MAAM,WAAW,KAAK;IAClB,MAAM,EAAE,MAAM,CAAA;CACjB;AAGD,MAAM,WAAW,KAAK;IAClB,MAAM,EAAG;QACL,IAAI,EAAE,CAAC,CAAC,GAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC,CAAC,CAAC,CAAA;KAClE,CAAA;CACJ;AAGD,qBAAa,YAAY;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAO;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAQ;IACpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;gBAEZ,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM;gBAClC,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM;IAetD,QAAQ,CAAC,IAAI,SAAS,GAAG,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;CAQ1H"}
|
package/lib/abi.support.js
CHANGED
|
@@ -37,6 +37,9 @@ class LogEvent {
|
|
|
37
37
|
(0, assert_1.default)(fragment != null, 'Missing fragment');
|
|
38
38
|
this.fragment = fragment;
|
|
39
39
|
}
|
|
40
|
+
is(rec) {
|
|
41
|
+
return rec.topics[0] === this.topic;
|
|
42
|
+
}
|
|
40
43
|
decode(rec) {
|
|
41
44
|
return this.abi.decodeEventLog(this.fragment, rec.data, rec.topics);
|
|
42
45
|
}
|
|
@@ -50,7 +53,12 @@ class Func {
|
|
|
50
53
|
(0, assert_1.default)(fragment != null, 'Missing fragment');
|
|
51
54
|
this.fragment = fragment;
|
|
52
55
|
}
|
|
53
|
-
|
|
56
|
+
is(rec) {
|
|
57
|
+
let sighash = rec.sighash ? rec.sighash : rec.input.slice(0, 10);
|
|
58
|
+
return sighash === this.sighash;
|
|
59
|
+
}
|
|
60
|
+
decode(inputOrRec) {
|
|
61
|
+
const input = ethers.isBytesLike(inputOrRec) ? inputOrRec : inputOrRec.input;
|
|
54
62
|
return this.abi.decodeFunctionData(this.fragment, input);
|
|
55
63
|
}
|
|
56
64
|
encode(args) {
|
package/lib/abi.support.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abi.support.js","sourceRoot":"","sources":["../src/abi.support.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAA2B;AAC3B,+CAAgC;
|
|
1
|
+
{"version":3,"file":"abi.support.js","sourceRoot":"","sources":["../src/abi.support.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/abi.support.ts
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import assert from 'assert'
|
|
2
2
|
import * as ethers from 'ethers'
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
export interface LogRecord {
|
|
4
|
+
export interface EventRecord {
|
|
6
5
|
topics: string[]
|
|
7
6
|
data: string
|
|
8
7
|
}
|
|
9
|
-
|
|
8
|
+
export type LogRecord = EventRecord
|
|
10
9
|
|
|
11
10
|
export class LogEvent<Args> {
|
|
12
11
|
private fragment: ethers.EventFragment
|
|
@@ -17,11 +16,19 @@ export class LogEvent<Args> {
|
|
|
17
16
|
this.fragment = fragment
|
|
18
17
|
}
|
|
19
18
|
|
|
20
|
-
|
|
19
|
+
is(rec: EventRecord): boolean {
|
|
20
|
+
return rec.topics[0] === this.topic
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
decode(rec: EventRecord): Args {
|
|
21
24
|
return this.abi.decodeEventLog(this.fragment, rec.data, rec.topics) as any as Args
|
|
22
25
|
}
|
|
23
26
|
}
|
|
24
27
|
|
|
28
|
+
export interface FuncRecord {
|
|
29
|
+
sighash?: string
|
|
30
|
+
input: string
|
|
31
|
+
}
|
|
25
32
|
|
|
26
33
|
export class Func<Args extends any[], FieldArgs, Result> {
|
|
27
34
|
private fragment: ethers.FunctionFragment
|
|
@@ -32,7 +39,15 @@ export class Func<Args extends any[], FieldArgs, Result> {
|
|
|
32
39
|
this.fragment = fragment
|
|
33
40
|
}
|
|
34
41
|
|
|
35
|
-
|
|
42
|
+
is(rec: FuncRecord): boolean {
|
|
43
|
+
let sighash = rec.sighash ? rec.sighash : rec.input.slice(0, 10)
|
|
44
|
+
return sighash === this.sighash
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
decode(input: ethers.BytesLike): Args & FieldArgs
|
|
48
|
+
decode(rec: FuncRecord): Args & FieldArgs
|
|
49
|
+
decode(inputOrRec: ethers.BytesLike | FuncRecord): Args & FieldArgs {
|
|
50
|
+
const input = ethers.isBytesLike(inputOrRec) ? inputOrRec : inputOrRec.input
|
|
36
51
|
return this.abi.decodeFunctionData(this.fragment, input) as any as Args & FieldArgs
|
|
37
52
|
}
|
|
38
53
|
|