solc-typed-ast 19.0.0 → 19.1.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/dist/ast/ast_reader.d.ts +1 -0
- package/dist/ast/ast_reader.d.ts.map +1 -1
- package/dist/ast/ast_reader.js +7 -0
- package/dist/ast/ast_reader.js.map +1 -1
- package/dist/misc/utils.d.ts +1 -1
- package/dist/misc/utils.d.ts.map +1 -1
- package/dist/misc/utils.js +2 -2
- package/dist/misc/utils.js.map +1 -1
- package/dist/typeIdentifiers/ast/pointer.d.ts +1 -1
- package/dist/typeIdentifiers/ast/pointer.d.ts.map +1 -1
- package/dist/typeIdentifiers/ast/rational_num.d.ts.map +1 -1
- package/dist/typeIdentifiers/ast/rational_num.js +0 -2
- package/dist/typeIdentifiers/ast/rational_num.js.map +1 -1
- package/dist/typeIdentifiers/ast/tuple.d.ts +2 -2
- package/dist/typeIdentifiers/ast/tuple.d.ts.map +1 -1
- package/dist/typeIdentifiers/ast/tuple.js.map +1 -1
- package/dist/typeIdentifiers/constants.d.ts +18 -0
- package/dist/typeIdentifiers/constants.d.ts.map +1 -0
- package/dist/typeIdentifiers/constants.js +22 -0
- package/dist/typeIdentifiers/constants.js.map +1 -0
- package/dist/typeIdentifiers/utils.d.ts +50 -2
- package/dist/typeIdentifiers/utils.d.ts.map +1 -1
- package/dist/typeIdentifiers/utils.js +202 -1
- package/dist/typeIdentifiers/utils.js.map +1 -1
- package/package.json +1 -1
package/dist/ast/ast_reader.d.ts
CHANGED
|
@@ -40,6 +40,7 @@ export declare class ASTContext {
|
|
|
40
40
|
unregister(...nodes: ASTNode[]): void;
|
|
41
41
|
locate(id: number): ASTNode;
|
|
42
42
|
require(id: number): ASTNode;
|
|
43
|
+
requireType<T extends ASTNode>(id: number, constr: ASTNodeConstructor<T>): T;
|
|
43
44
|
contains(node: ASTNode): boolean;
|
|
44
45
|
}
|
|
45
46
|
export declare class ASTPostprocessor {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast_reader.d.ts","sourceRoot":"","sources":["../../src/ast/ast_reader.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ast_reader.d.ts","sourceRoot":"","sources":["../../src/ast/ast_reader.ts"],"names":[],"mappings":"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"}
|
package/dist/ast/ast_reader.js
CHANGED
|
@@ -64,6 +64,13 @@ class ASTContext {
|
|
|
64
64
|
}
|
|
65
65
|
throw new Error("Required node not found for id " + id);
|
|
66
66
|
}
|
|
67
|
+
requireType(id, constr) {
|
|
68
|
+
const node = this.locate(id);
|
|
69
|
+
if (node instanceof constr) {
|
|
70
|
+
return node;
|
|
71
|
+
}
|
|
72
|
+
throw new Error(`Required node of type ${constr.name} for id ${id}, not ${node}`);
|
|
73
|
+
}
|
|
67
74
|
contains(node) {
|
|
68
75
|
return this.locate(node.id) === node;
|
|
69
76
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ast_reader.js","sourceRoot":"","sources":["../../src/ast/ast_reader.ts"],"names":[],"mappings":";;;AAEA,qCAA+C;AAC/C,qCAA+C;AAC/C,qDAAgE;AAChE,mCAAmC;AAsCnC,MAAM,iBAAiB,GAAG,IAAA,gBAAQ,GAAE,CAAC;AAErC,MAAa,UAAU;IAWnB,YAAY,GAAG,KAAgB;QAV/B;;WAEG;QACH,OAAE,GAAG,iBAAiB,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC;QAEpC;;WAEG;QACH,QAAG,GAAG,IAAI,GAAG,EAAmB,CAAC;QAG7B,IAAI,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,IAAI,MAAM;QACN,IAAI,IAAI,GAAG,CAAC,CAAC;QAEb,KAAK,MAAM,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/B,IAAI,EAAE,GAAG,IAAI,EAAE,CAAC;gBACZ,IAAI,GAAG,EAAE,CAAC;YACd,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,KAAK;QACL,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;IAED,QAAQ,CAAC,GAAG,KAAgB;QACxB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,EAAE,mCAAmC,CAAC,CAAC;YAC1E,CAAC;YAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YAClC,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;YAE5B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACxB,CAAC;IACL,CAAC;IAED,UAAU,CAAC,GAAG,KAAgB;QAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,CAAC,EAAE,6BAA6B,CAAC,CAAC;YACnF,CAAC;YAED,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAEzB,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QAC7B,CAAC;IACL,CAAC;IAED,MAAM,CAAC,EAAU;QACb,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAY,CAAC;IACvC,CAAC;IAED,OAAO,CAAC,EAAU;QACd,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAE7B,IAAI,IAAI,EAAE,CAAC;YACP,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,QAAQ,CAAC,IAAa;QAClB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,IAAI,CAAC;IACzC,CAAC;CACJ;
|
|
1
|
+
{"version":3,"file":"ast_reader.js","sourceRoot":"","sources":["../../src/ast/ast_reader.ts"],"names":[],"mappings":"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"}
|
package/dist/misc/utils.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PPIsh } from "
|
|
1
|
+
import { PPIsh } from "./pretty_printing";
|
|
2
2
|
export declare function forAll<T>(iterable: Iterable<T>, cb: (v: T) => boolean): boolean;
|
|
3
3
|
export declare function forAny<T>(iterable: Iterable<T>, cb: (v: T) => boolean): boolean;
|
|
4
4
|
export declare function assert(condition: boolean, message: string, ...details: PPIsh[]): asserts condition;
|
package/dist/misc/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/misc/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/misc/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE/C,wBAAgB,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAQ/E;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,CAQ/E;AAED,wBAAgB,MAAM,CAClB,SAAS,EAAE,OAAO,EAClB,OAAO,EAAE,MAAM,EACf,GAAG,OAAO,EAAE,KAAK,EAAE,GACpB,OAAO,CAAC,SAAS,CAMnB;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,CAO9C"}
|
package/dist/misc/utils.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.repeat = exports.assert = exports.forAny = exports.forAll = void 0;
|
|
4
|
-
const
|
|
4
|
+
const pretty_printing_1 = require("./pretty_printing");
|
|
5
5
|
function forAll(iterable, cb) {
|
|
6
6
|
for (const el of iterable) {
|
|
7
7
|
if (!cb(el)) {
|
|
@@ -24,7 +24,7 @@ function assert(condition, message, ...details) {
|
|
|
24
24
|
if (condition) {
|
|
25
25
|
return;
|
|
26
26
|
}
|
|
27
|
-
throw new Error((0,
|
|
27
|
+
throw new Error((0, pretty_printing_1.fmt)(message, ...details));
|
|
28
28
|
}
|
|
29
29
|
exports.assert = assert;
|
|
30
30
|
function repeat(x, n) {
|
package/dist/misc/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/misc/utils.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/misc/utils.ts"],"names":[],"mappings":";;;AAAA,uDAA+C;AAE/C,SAAgB,MAAM,CAAI,QAAqB,EAAE,EAAqB;IAClE,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;QACxB,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AARD,wBAQC;AAED,SAAgB,MAAM,CAAI,QAAqB,EAAE,EAAqB;IAClE,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;QACxB,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YACT,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AARD,wBAQC;AAED,SAAgB,MAAM,CAClB,SAAkB,EAClB,OAAe,EACf,GAAG,OAAgB;IAEnB,IAAI,SAAS,EAAE,CAAC;QACZ,OAAO;IACX,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,IAAA,qBAAG,EAAC,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC;AAC9C,CAAC;AAVD,wBAUC;AAED,SAAgB,MAAM,CAAI,CAAI,EAAE,CAAS;IACrC,MAAM,GAAG,GAAQ,EAAE,CAAC;IACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACzB,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAChB,CAAC;IAED,OAAO,GAAG,CAAC;AACf,CAAC;AAPD,wBAOC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pointer.d.ts","sourceRoot":"","sources":["../../../src/typeIdentifiers/ast/pointer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"pointer.d.ts","sourceRoot":"","sources":["../../../src/typeIdentifiers/ast/pointer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEnD,qBAAa,aAAc,SAAQ,cAAc;aAEzB,MAAM,EAAE,cAAc;aACtB,QAAQ,EAAE,YAAY;aACtB,SAAS,EAAE,OAAO;gBAFlB,MAAM,EAAE,cAAc,EACtB,QAAQ,EAAE,YAAY,EACtB,SAAS,EAAE,OAAO;IAKtC,EAAE,IAAI,MAAM;CAGf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rational_num.d.ts","sourceRoot":"","sources":["../../../src/typeIdentifiers/ast/rational_num.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rational_num.d.ts","sourceRoot":"","sources":["../../../src/typeIdentifiers/ast/rational_num.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,qBAAa,iBAAkB,SAAQ,cAAc;aAE7B,SAAS,EAAE,MAAM;aACjB,WAAW,EAAE,MAAM;gBADnB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM;IAKvC,EAAE,IAAI,MAAM;CAGf"}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RationalNumTypeId = void 0;
|
|
4
|
-
const misc_1 = require("../../misc");
|
|
5
4
|
const type_identifier_1 = require("./type_identifier");
|
|
6
5
|
const utils_1 = require("./utils");
|
|
7
6
|
class RationalNumTypeId extends type_identifier_1.TypeIdentifier {
|
|
8
7
|
constructor(numerator, denominator) {
|
|
9
|
-
(0, misc_1.assert)(denominator > 0n, ``);
|
|
10
8
|
super();
|
|
11
9
|
this.numerator = numerator;
|
|
12
10
|
this.denominator = denominator;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rational_num.js","sourceRoot":"","sources":["../../../src/typeIdentifiers/ast/rational_num.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"rational_num.js","sourceRoot":"","sources":["../../../src/typeIdentifiers/ast/rational_num.ts"],"names":[],"mappings":";;;AAAA,uDAAmD;AACnD,mCAAoC;AAEpC,MAAa,iBAAkB,SAAQ,gCAAc;IACjD,YACoB,SAAiB,EACjB,WAAmB;QAEnC,KAAK,EAAE,CAAC;QAHQ,cAAS,GAAT,SAAS,CAAQ;QACjB,gBAAW,GAAX,WAAW,CAAQ;IAGvC,CAAC;IAED,EAAE;QACE,OAAO,aAAa,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,IAAA,iBAAS,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;IACjH,CAAC;CACJ;AAXD,8CAWC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TypeIdentifier } from "./type_identifier";
|
|
2
2
|
export declare class TupleTypeId extends TypeIdentifier {
|
|
3
|
-
readonly components:
|
|
4
|
-
constructor(components:
|
|
3
|
+
readonly components: TypeIdentifier[];
|
|
4
|
+
constructor(components: TypeIdentifier[]);
|
|
5
5
|
pp(): string;
|
|
6
6
|
}
|
|
7
7
|
//# sourceMappingURL=tuple.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tuple.d.ts","sourceRoot":"","sources":["../../../src/typeIdentifiers/ast/tuple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,qBAAa,WAAY,SAAQ,cAAc;aACf,UAAU,EAAE,
|
|
1
|
+
{"version":3,"file":"tuple.d.ts","sourceRoot":"","sources":["../../../src/typeIdentifiers/ast/tuple.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,qBAAa,WAAY,SAAQ,cAAc;aACf,UAAU,EAAE,cAAc,EAAE;gBAA5B,UAAU,EAAE,cAAc,EAAE;IAIxD,EAAE,IAAI,MAAM;CAGf"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tuple.js","sourceRoot":"","sources":["../../../src/typeIdentifiers/ast/tuple.ts"],"names":[],"mappings":";;;AAAA,uDAAmD;AACnD,mCAA+C;AAE/C,MAAa,WAAY,SAAQ,gCAAc;IAC3C,YAA4B,
|
|
1
|
+
{"version":3,"file":"tuple.js","sourceRoot":"","sources":["../../../src/typeIdentifiers/ast/tuple.ts"],"names":[],"mappings":";;;AAAA,uDAAmD;AACnD,mCAA+C;AAE/C,MAAa,WAAY,SAAQ,gCAAc;IAC3C,YAA4B,UAA4B;QACpD,KAAK,EAAE,CAAC;QADgB,eAAU,GAAV,UAAU,CAAkB;IAExD,CAAC;IAED,EAAE;QACE,OAAO,UAAU,IAAA,4BAAoB,EAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;IAC7D,CAAC;CACJ;AARD,kCAQC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { IntTypeId, AddressTypeId, BytesTypeId, StringTypeId, BoolTypeId, FixedBytesTypeId, PointerTypeId } from "./ast";
|
|
2
|
+
export declare const uint256T: IntTypeId;
|
|
3
|
+
export declare const uint8T: IntTypeId;
|
|
4
|
+
export declare const int256T: IntTypeId;
|
|
5
|
+
export declare const int8T: IntTypeId;
|
|
6
|
+
export declare const bytes1T: FixedBytesTypeId;
|
|
7
|
+
export declare const bytes2T: FixedBytesTypeId;
|
|
8
|
+
export declare const bytes4T: FixedBytesTypeId;
|
|
9
|
+
export declare const bytes20T: FixedBytesTypeId;
|
|
10
|
+
export declare const bytes24T: FixedBytesTypeId;
|
|
11
|
+
export declare const bytes32T: FixedBytesTypeId;
|
|
12
|
+
export declare const addressT: AddressTypeId;
|
|
13
|
+
export declare const bytesT: BytesTypeId;
|
|
14
|
+
export declare const stringT: StringTypeId;
|
|
15
|
+
export declare const memStringPtrT: PointerTypeId;
|
|
16
|
+
export declare const memBytesPtrT: PointerTypeId;
|
|
17
|
+
export declare const boolT: BoolTypeId;
|
|
18
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/typeIdentifiers/constants.ts"],"names":[],"mappings":"AACA,OAAO,EACH,SAAS,EACT,aAAa,EACb,WAAW,EACX,YAAY,EACZ,UAAU,EACV,gBAAgB,EAChB,aAAa,EAChB,MAAM,OAAO,CAAC;AAEf,eAAO,MAAM,QAAQ,WAA4B,CAAC;AAClD,eAAO,MAAM,MAAM,WAA0B,CAAC;AAC9C,eAAO,MAAM,OAAO,WAA2B,CAAC;AAChD,eAAO,MAAM,KAAK,WAAyB,CAAC;AAC5C,eAAO,MAAM,OAAO,kBAA0B,CAAC;AAC/C,eAAO,MAAM,OAAO,kBAA0B,CAAC;AAC/C,eAAO,MAAM,OAAO,kBAA0B,CAAC;AAC/C,eAAO,MAAM,QAAQ,kBAA2B,CAAC;AACjD,eAAO,MAAM,QAAQ,kBAA2B,CAAC;AACjD,eAAO,MAAM,QAAQ,kBAA2B,CAAC;AACjD,eAAO,MAAM,QAAQ,eAA2B,CAAC;AACjD,eAAO,MAAM,MAAM,aAAoB,CAAC;AACxC,eAAO,MAAM,OAAO,cAAqB,CAAC;AAC1C,eAAO,MAAM,aAAa,eAAwD,CAAC;AACnF,eAAO,MAAM,YAAY,eAAuD,CAAC;AACjF,eAAO,MAAM,KAAK,YAAmB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.boolT = exports.memBytesPtrT = exports.memStringPtrT = exports.stringT = exports.bytesT = exports.addressT = exports.bytes32T = exports.bytes24T = exports.bytes20T = exports.bytes4T = exports.bytes2T = exports.bytes1T = exports.int8T = exports.int256T = exports.uint8T = exports.uint256T = void 0;
|
|
4
|
+
const constants_1 = require("../ast/constants");
|
|
5
|
+
const ast_1 = require("./ast");
|
|
6
|
+
exports.uint256T = new ast_1.IntTypeId(256, false);
|
|
7
|
+
exports.uint8T = new ast_1.IntTypeId(8, false);
|
|
8
|
+
exports.int256T = new ast_1.IntTypeId(256, true);
|
|
9
|
+
exports.int8T = new ast_1.IntTypeId(8, true);
|
|
10
|
+
exports.bytes1T = new ast_1.FixedBytesTypeId(1);
|
|
11
|
+
exports.bytes2T = new ast_1.FixedBytesTypeId(2);
|
|
12
|
+
exports.bytes4T = new ast_1.FixedBytesTypeId(4);
|
|
13
|
+
exports.bytes20T = new ast_1.FixedBytesTypeId(20);
|
|
14
|
+
exports.bytes24T = new ast_1.FixedBytesTypeId(24);
|
|
15
|
+
exports.bytes32T = new ast_1.FixedBytesTypeId(32);
|
|
16
|
+
exports.addressT = new ast_1.AddressTypeId(false);
|
|
17
|
+
exports.bytesT = new ast_1.BytesTypeId();
|
|
18
|
+
exports.stringT = new ast_1.StringTypeId();
|
|
19
|
+
exports.memStringPtrT = new ast_1.PointerTypeId(exports.stringT, constants_1.DataLocation.Memory, true);
|
|
20
|
+
exports.memBytesPtrT = new ast_1.PointerTypeId(exports.bytesT, constants_1.DataLocation.Memory, true);
|
|
21
|
+
exports.boolT = new ast_1.BoolTypeId();
|
|
22
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/typeIdentifiers/constants.ts"],"names":[],"mappings":";;;AAAA,gDAAgD;AAChD,+BAQe;AAEF,QAAA,QAAQ,GAAG,IAAI,eAAS,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AACrC,QAAA,MAAM,GAAG,IAAI,eAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACjC,QAAA,OAAO,GAAG,IAAI,eAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AACnC,QAAA,KAAK,GAAG,IAAI,eAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC/B,QAAA,OAAO,GAAG,IAAI,sBAAgB,CAAC,CAAC,CAAC,CAAC;AAClC,QAAA,OAAO,GAAG,IAAI,sBAAgB,CAAC,CAAC,CAAC,CAAC;AAClC,QAAA,OAAO,GAAG,IAAI,sBAAgB,CAAC,CAAC,CAAC,CAAC;AAClC,QAAA,QAAQ,GAAG,IAAI,sBAAgB,CAAC,EAAE,CAAC,CAAC;AACpC,QAAA,QAAQ,GAAG,IAAI,sBAAgB,CAAC,EAAE,CAAC,CAAC;AACpC,QAAA,QAAQ,GAAG,IAAI,sBAAgB,CAAC,EAAE,CAAC,CAAC;AACpC,QAAA,QAAQ,GAAG,IAAI,mBAAa,CAAC,KAAK,CAAC,CAAC;AACpC,QAAA,MAAM,GAAG,IAAI,iBAAW,EAAE,CAAC;AAC3B,QAAA,OAAO,GAAG,IAAI,kBAAY,EAAE,CAAC;AAC7B,QAAA,aAAa,GAAG,IAAI,mBAAa,CAAC,eAAO,EAAE,wBAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACtE,QAAA,YAAY,GAAG,IAAI,mBAAa,CAAC,cAAM,EAAE,wBAAY,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACpE,QAAA,KAAK,GAAG,IAAI,gBAAU,EAAE,CAAC"}
|
|
@@ -1,7 +1,55 @@
|
|
|
1
|
-
import { Expression, TypeName, VariableDeclaration } from "../ast";
|
|
2
|
-
import { TypeIdentifier } from "./ast";
|
|
1
|
+
import { ASTContext, DataLocation, EnumDefinition, Expression, TypeName, VariableDeclaration } from "../ast";
|
|
2
|
+
import { IntTypeId, TypeIdentifier } from "./ast";
|
|
3
3
|
/**
|
|
4
4
|
* Return the parsed `TypeIdentifier` for the given node.
|
|
5
5
|
*/
|
|
6
6
|
export declare function typeOf(nd: Expression | VariableDeclaration | TypeName): TypeIdentifier;
|
|
7
|
+
/**
|
|
8
|
+
* Given a `TypeIdentifier` `t` return a new `TypeIdentifier` with all pointer locations changed to `loc`.
|
|
9
|
+
* @param t
|
|
10
|
+
* @param loc
|
|
11
|
+
* @returns
|
|
12
|
+
*/
|
|
13
|
+
export declare function changeLocationTo(t: TypeIdentifier, loc: DataLocation): TypeIdentifier;
|
|
14
|
+
/**
|
|
15
|
+
* Given a public state variable declaration `v` return the ABI types of the arguments and the returns for this var.
|
|
16
|
+
* This will account for:
|
|
17
|
+
* - indexing into arrays/maps
|
|
18
|
+
* - converting returned structs to tuples
|
|
19
|
+
* - omitting arrays and maps
|
|
20
|
+
*
|
|
21
|
+
* @param t
|
|
22
|
+
* @param loc
|
|
23
|
+
* @returns
|
|
24
|
+
*/
|
|
25
|
+
export declare function getterArgsAndReturn(v: VariableDeclaration): [TypeIdentifier[], TypeIdentifier];
|
|
26
|
+
/**
|
|
27
|
+
* Return the int typeIdentifier corresponding to a given Enum
|
|
28
|
+
* @param decl
|
|
29
|
+
* @returns
|
|
30
|
+
*/
|
|
31
|
+
export declare function enumToIntTypeId(decl: EnumDefinition): IntTypeId;
|
|
32
|
+
/**
|
|
33
|
+
* Given a `TypeIdentifier` `from` return the ABI type that corresponds to
|
|
34
|
+
* `from`. Note that there are no pointers in ABI types - instead the 3 dynamic
|
|
35
|
+
* types - bytes, strings and unsized arrays appear generalized.
|
|
36
|
+
* @param from
|
|
37
|
+
*/
|
|
38
|
+
export declare function toABIType(from: TypeIdentifier, ctx: ASTContext): TypeIdentifier;
|
|
39
|
+
/**
|
|
40
|
+
* Given a `TypeIdentifier` `t` return a new generalized `TypeIdentifier` with all pointers removed (i.e. no specifications for locations)
|
|
41
|
+
* @param t
|
|
42
|
+
* @param loc
|
|
43
|
+
* @returns
|
|
44
|
+
*/
|
|
45
|
+
export declare function generalize(t: TypeIdentifier): TypeIdentifier;
|
|
46
|
+
/**
|
|
47
|
+
* Given an already generalized `TypeIdentifier` `t` and a location return a new
|
|
48
|
+
* specialized `TypeIdentifier` with all reference types wrapped in a pointer to
|
|
49
|
+
* the given location
|
|
50
|
+
* @param t
|
|
51
|
+
* @param loc
|
|
52
|
+
* @returns
|
|
53
|
+
*/
|
|
54
|
+
export declare function specialize(t: TypeIdentifier, loc: DataLocation): TypeIdentifier;
|
|
7
55
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/typeIdentifiers/utils.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/typeIdentifiers/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,UAAU,EACV,YAAY,EACZ,cAAc,EACd,UAAU,EAGV,QAAQ,EAER,mBAAmB,EACtB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAUH,SAAS,EAMT,cAAc,EAEjB,MAAM,OAAO,CAAC;AAMf;;GAEG;AACH,wBAAgB,MAAM,CAAC,EAAE,EAAE,UAAU,GAAG,mBAAmB,GAAG,QAAQ,GAAG,cAAc,CAgBtF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,YAAY,GAAG,cAAc,CA2BrF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,mBAAmB,GAAG,CAAC,cAAc,EAAE,EAAE,cAAc,CAAC,CAyC9F;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,CAoB/D;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,cAAc,EAAE,GAAG,EAAE,UAAU,GAAG,cAAc,CA6E/E;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,cAAc,GAAG,cAAc,CAkB5D;AAED;;;;;;;GAOG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,cAAc,EAAE,GAAG,EAAE,YAAY,GAAG,cAAc,CAkB/E"}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.typeOf = void 0;
|
|
3
|
+
exports.specialize = exports.generalize = exports.toABIType = exports.enumToIntTypeId = exports.getterArgsAndReturn = exports.changeLocationTo = exports.typeOf = void 0;
|
|
4
|
+
const ast_1 = require("../ast");
|
|
4
5
|
const misc_1 = require("../misc");
|
|
6
|
+
const ast_2 = require("./ast");
|
|
7
|
+
const constants_1 = require("./constants");
|
|
5
8
|
const typeIdentifier_parser_gen_1 = require("./typeIdentifier_parser_gen");
|
|
6
9
|
const cache = new Map();
|
|
7
10
|
/**
|
|
@@ -23,4 +26,202 @@ function typeOf(nd) {
|
|
|
23
26
|
return cached;
|
|
24
27
|
}
|
|
25
28
|
exports.typeOf = typeOf;
|
|
29
|
+
/**
|
|
30
|
+
* Given a `TypeIdentifier` `t` return a new `TypeIdentifier` with all pointer locations changed to `loc`.
|
|
31
|
+
* @param t
|
|
32
|
+
* @param loc
|
|
33
|
+
* @returns
|
|
34
|
+
*/
|
|
35
|
+
function changeLocationTo(t, loc) {
|
|
36
|
+
if (t instanceof ast_2.PointerTypeId) {
|
|
37
|
+
return new ast_2.PointerTypeId(changeLocationTo(t.toType, loc), loc, t.isPointer);
|
|
38
|
+
}
|
|
39
|
+
if (t instanceof ast_2.ArrayTypeId) {
|
|
40
|
+
return new ast_2.ArrayTypeId(changeLocationTo(t.elT, loc), t.size);
|
|
41
|
+
}
|
|
42
|
+
if (t instanceof ast_2.ArraySliceTypeId) {
|
|
43
|
+
return new ast_2.ArraySliceTypeId(changeLocationTo(t.toType, loc));
|
|
44
|
+
}
|
|
45
|
+
if (t instanceof ast_2.MappingTypeId) {
|
|
46
|
+
return new ast_2.MappingTypeId(changeLocationTo(t.keyType, loc), changeLocationTo(t.valueType, loc));
|
|
47
|
+
}
|
|
48
|
+
if (t instanceof ast_2.TupleTypeId) {
|
|
49
|
+
return new ast_2.TupleTypeId(t.components.map((c) => (c === null ? c : changeLocationTo(c, loc))));
|
|
50
|
+
}
|
|
51
|
+
return t;
|
|
52
|
+
}
|
|
53
|
+
exports.changeLocationTo = changeLocationTo;
|
|
54
|
+
/**
|
|
55
|
+
* Given a public state variable declaration `v` return the ABI types of the arguments and the returns for this var.
|
|
56
|
+
* This will account for:
|
|
57
|
+
* - indexing into arrays/maps
|
|
58
|
+
* - converting returned structs to tuples
|
|
59
|
+
* - omitting arrays and maps
|
|
60
|
+
*
|
|
61
|
+
* @param t
|
|
62
|
+
* @param loc
|
|
63
|
+
* @returns
|
|
64
|
+
*/
|
|
65
|
+
function getterArgsAndReturn(v) {
|
|
66
|
+
const argTypes = [];
|
|
67
|
+
const ctx = v.requiredContext;
|
|
68
|
+
let type = v.vType;
|
|
69
|
+
(0, misc_1.assert)(type !== undefined, "Called getterArgsAndReturn() on variable declaration without type", v);
|
|
70
|
+
while (true) {
|
|
71
|
+
if (type instanceof ast_1.ArrayTypeName) {
|
|
72
|
+
argTypes.push(constants_1.uint256T);
|
|
73
|
+
type = type.vBaseType;
|
|
74
|
+
}
|
|
75
|
+
else if (type instanceof ast_1.Mapping) {
|
|
76
|
+
// Make sure to change default storage pointer location for string/bytes to Memory as to not
|
|
77
|
+
// confuse `toABIType`.
|
|
78
|
+
argTypes.push(toABIType(changeLocationTo(typeOf(type.vKeyType), ast_1.DataLocation.Memory), ctx));
|
|
79
|
+
type = type.vValueType;
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
break;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
let retType = toABIType(changeLocationTo(typeOf(type), ast_1.DataLocation.Memory), ctx);
|
|
86
|
+
// Filter out top-level arrays. Maps are already filtered by toABIType
|
|
87
|
+
if (retType instanceof ast_2.TupleTypeId) {
|
|
88
|
+
const filteredComps = retType.components.filter((compT) => !(compT instanceof ast_2.ArrayTypeId));
|
|
89
|
+
// For top-level tuples remove any arrays from the tuple
|
|
90
|
+
retType = filteredComps.length === 1 ? filteredComps[0] : new ast_2.TupleTypeId(filteredComps);
|
|
91
|
+
}
|
|
92
|
+
return [argTypes, retType];
|
|
93
|
+
}
|
|
94
|
+
exports.getterArgsAndReturn = getterArgsAndReturn;
|
|
95
|
+
/**
|
|
96
|
+
* Return the int typeIdentifier corresponding to a given Enum
|
|
97
|
+
* @param decl
|
|
98
|
+
* @returns
|
|
99
|
+
*/
|
|
100
|
+
function enumToIntTypeId(decl) {
|
|
101
|
+
const length = decl.children.length;
|
|
102
|
+
let size;
|
|
103
|
+
for (let n = 8; n <= 32; n += 8) {
|
|
104
|
+
if (length <= 2 ** n) {
|
|
105
|
+
size = n;
|
|
106
|
+
break;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
(0, misc_1.assert)(size !== undefined, "Unable to detect enum type size - member count exceeds 2 ** 32", decl);
|
|
110
|
+
return new ast_2.IntTypeId(size, false);
|
|
111
|
+
}
|
|
112
|
+
exports.enumToIntTypeId = enumToIntTypeId;
|
|
113
|
+
/**
|
|
114
|
+
* Given a `TypeIdentifier` `from` return the ABI type that corresponds to
|
|
115
|
+
* `from`. Note that there are no pointers in ABI types - instead the 3 dynamic
|
|
116
|
+
* types - bytes, strings and unsized arrays appear generalized.
|
|
117
|
+
* @param from
|
|
118
|
+
*/
|
|
119
|
+
function toABIType(from, ctx) {
|
|
120
|
+
if (from instanceof ast_2.AddressTypeId) {
|
|
121
|
+
// normalize payable -> address
|
|
122
|
+
return constants_1.addressT;
|
|
123
|
+
}
|
|
124
|
+
// Simple case - these are passed unchanged
|
|
125
|
+
if (from instanceof ast_2.BoolTypeId ||
|
|
126
|
+
from instanceof ast_2.BytesTypeId ||
|
|
127
|
+
from instanceof ast_2.StringTypeId ||
|
|
128
|
+
from instanceof ast_2.FixedBytesTypeId ||
|
|
129
|
+
from instanceof ast_2.IntTypeId) {
|
|
130
|
+
return from;
|
|
131
|
+
}
|
|
132
|
+
if (from instanceof ast_2.PointerTypeId) {
|
|
133
|
+
// Storage pointers in delegate calls are passed as numbers
|
|
134
|
+
if (from.location === ast_1.DataLocation.Storage) {
|
|
135
|
+
return constants_1.uint256T;
|
|
136
|
+
}
|
|
137
|
+
return toABIType(from.toType, ctx);
|
|
138
|
+
}
|
|
139
|
+
// Size arrays are passed as tuples, unsized arrays as arrays
|
|
140
|
+
if (from instanceof ast_2.ArrayTypeId) {
|
|
141
|
+
const elT = toABIType(from.elT, ctx);
|
|
142
|
+
return from.size === undefined
|
|
143
|
+
? new ast_2.ArrayTypeId(elT, from.size)
|
|
144
|
+
: new ast_2.TupleTypeId((0, misc_1.repeat)(elT, Number(from.size)));
|
|
145
|
+
}
|
|
146
|
+
if (from instanceof ast_2.UserDefinedValueTypeId) {
|
|
147
|
+
const def = ctx.requireType(from.id, ast_1.UserDefinedValueTypeDefinition);
|
|
148
|
+
const innerT = typeOf(def.underlyingType);
|
|
149
|
+
return toABIType(innerT, ctx);
|
|
150
|
+
}
|
|
151
|
+
// Contracts are passed as addresses
|
|
152
|
+
if (from instanceof ast_2.ContractTypeId) {
|
|
153
|
+
return constants_1.addressT;
|
|
154
|
+
}
|
|
155
|
+
// Enums are passed as the smallest number that fits
|
|
156
|
+
if (from instanceof ast_2.EnumTypeId) {
|
|
157
|
+
const def = ctx.requireType(from.id, ast_1.EnumDefinition);
|
|
158
|
+
return enumToIntTypeId(def);
|
|
159
|
+
}
|
|
160
|
+
// Structs are passed as tuples
|
|
161
|
+
if (from instanceof ast_2.StructTypeId) {
|
|
162
|
+
const def = ctx.requireType(from.id, ast_1.StructDefinition);
|
|
163
|
+
let fieldTs = def.vMembers.map((decl) => typeOf(decl));
|
|
164
|
+
// Remove any mappings
|
|
165
|
+
fieldTs = fieldTs.filter((fieldT) => !(fieldT instanceof ast_2.MappingTypeId));
|
|
166
|
+
// Convert the fields to ABI types and filter out any empty tuples.
|
|
167
|
+
// Empty tuples can result if a field is a struct contains only mappings.
|
|
168
|
+
// Also note that struct fields have "storage" as a default location.
|
|
169
|
+
// Convert to Memory to avoid treating them as storage pointers.
|
|
170
|
+
const abiFieldTs = fieldTs
|
|
171
|
+
.map((fieldT) => toABIType(changeLocationTo(fieldT, ast_1.DataLocation.Memory), ctx))
|
|
172
|
+
.filter((abiFieldT) => !(abiFieldT instanceof ast_2.TupleTypeId && abiFieldT.components.length === 0));
|
|
173
|
+
return new ast_2.TupleTypeId(abiFieldTs);
|
|
174
|
+
}
|
|
175
|
+
if (from instanceof ast_2.FunctionTypeId && from.kind === "external") {
|
|
176
|
+
return constants_1.bytes24T;
|
|
177
|
+
}
|
|
178
|
+
(0, misc_1.assert)(false, `Cannot abi encode type ${from.pp()}`);
|
|
179
|
+
}
|
|
180
|
+
exports.toABIType = toABIType;
|
|
181
|
+
/**
|
|
182
|
+
* Given a `TypeIdentifier` `t` return a new generalized `TypeIdentifier` with all pointers removed (i.e. no specifications for locations)
|
|
183
|
+
* @param t
|
|
184
|
+
* @param loc
|
|
185
|
+
* @returns
|
|
186
|
+
*/
|
|
187
|
+
function generalize(t) {
|
|
188
|
+
if (t instanceof ast_2.PointerTypeId) {
|
|
189
|
+
return generalize(t.toType);
|
|
190
|
+
}
|
|
191
|
+
if (t instanceof ast_2.ArrayTypeId) {
|
|
192
|
+
return new ast_2.ArrayTypeId(generalize(t.elT), t.size);
|
|
193
|
+
}
|
|
194
|
+
if (t instanceof ast_2.ArraySliceTypeId || t instanceof ast_2.MappingTypeId) {
|
|
195
|
+
throw new Error(`Cannot generalize ${t.pp()}`);
|
|
196
|
+
}
|
|
197
|
+
if (t instanceof ast_2.TupleTypeId) {
|
|
198
|
+
return new ast_2.TupleTypeId(t.components.map((c) => (c === null ? c : generalize(c))));
|
|
199
|
+
}
|
|
200
|
+
return t;
|
|
201
|
+
}
|
|
202
|
+
exports.generalize = generalize;
|
|
203
|
+
/**
|
|
204
|
+
* Given an already generalized `TypeIdentifier` `t` and a location return a new
|
|
205
|
+
* specialized `TypeIdentifier` with all reference types wrapped in a pointer to
|
|
206
|
+
* the given location
|
|
207
|
+
* @param t
|
|
208
|
+
* @param loc
|
|
209
|
+
* @returns
|
|
210
|
+
*/
|
|
211
|
+
function specialize(t, loc) {
|
|
212
|
+
if (t instanceof ast_2.ArraySliceTypeId || t instanceof ast_2.PointerTypeId || t instanceof ast_2.MappingTypeId) {
|
|
213
|
+
throw new Error(`Cannot specialize ${t.pp()}`);
|
|
214
|
+
}
|
|
215
|
+
if (t instanceof ast_2.ArrayTypeId) {
|
|
216
|
+
return new ast_2.PointerTypeId(new ast_2.ArrayTypeId(specialize(t.elT, loc), t.size), loc, true);
|
|
217
|
+
}
|
|
218
|
+
if (t instanceof ast_2.BytesTypeId || t instanceof ast_2.StringTypeId) {
|
|
219
|
+
return new ast_2.PointerTypeId(t, loc, true);
|
|
220
|
+
}
|
|
221
|
+
if (t instanceof ast_2.TupleTypeId) {
|
|
222
|
+
return new ast_2.TupleTypeId(t.components.map((c) => (c === null ? c : specialize(c, loc))));
|
|
223
|
+
}
|
|
224
|
+
return t;
|
|
225
|
+
}
|
|
226
|
+
exports.specialize = specialize;
|
|
26
227
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/typeIdentifiers/utils.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/typeIdentifiers/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "solc-typed-ast",
|
|
3
|
-
"version": "19.
|
|
3
|
+
"version": "19.1.0",
|
|
4
4
|
"description": "A TypeScript library providing a normalized typed Solidity AST along with the utilities necessary to generate the AST (from Solc) and traverse/manipulate it.",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"files": [
|