sol-dbg 0.7.17 → 0.8.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.
Files changed (130) hide show
  1. package/dist/debug/abi.d.ts +10 -3
  2. package/dist/debug/abi.d.ts.map +1 -1
  3. package/dist/debug/abi.js +5 -4
  4. package/dist/debug/abi.js.map +1 -1
  5. package/dist/debug/decoding/calldata/view.d.ts +15 -16
  6. package/dist/debug/decoding/calldata/view.d.ts.map +1 -1
  7. package/dist/debug/decoding/calldata/view.js +47 -47
  8. package/dist/debug/decoding/calldata/view.js.map +1 -1
  9. package/dist/debug/decoding/index.d.ts +1 -2
  10. package/dist/debug/decoding/index.d.ts.map +1 -1
  11. package/dist/debug/decoding/index.js +2 -2
  12. package/dist/debug/decoding/index.js.map +1 -1
  13. package/dist/debug/decoding/memory/view.d.ts +14 -15
  14. package/dist/debug/decoding/memory/view.d.ts.map +1 -1
  15. package/dist/debug/decoding/memory/view.js +27 -27
  16. package/dist/debug/decoding/memory/view.js.map +1 -1
  17. package/dist/debug/decoding/stack/view.d.ts +4 -4
  18. package/dist/debug/decoding/stack/view.d.ts.map +1 -1
  19. package/dist/debug/decoding/stack/view.js +20 -19
  20. package/dist/debug/decoding/stack/view.js.map +1 -1
  21. package/dist/debug/decoding/storage/view.d.ts +18 -19
  22. package/dist/debug/decoding/storage/view.d.ts.map +1 -1
  23. package/dist/debug/decoding/storage/view.js +67 -65
  24. package/dist/debug/decoding/storage/view.js.map +1 -1
  25. package/dist/debug/decoding/utils.d.ts +20 -2
  26. package/dist/debug/decoding/utils.d.ts.map +1 -1
  27. package/dist/debug/decoding/utils.js +119 -3
  28. package/dist/debug/decoding/utils.js.map +1 -1
  29. package/dist/debug/decoding/view.d.ts +2 -2
  30. package/dist/debug/decoding/view.d.ts.map +1 -1
  31. package/dist/debug/index.d.ts +1 -0
  32. package/dist/debug/index.d.ts.map +1 -1
  33. package/dist/debug/index.js +1 -0
  34. package/dist/debug/index.js.map +1 -1
  35. package/dist/debug/layout.d.ts.map +1 -1
  36. package/dist/debug/layout.js +2 -1
  37. package/dist/debug/layout.js.map +1 -1
  38. package/dist/debug/runtime_types/ast/address_type.d.ts +5 -0
  39. package/dist/debug/runtime_types/ast/address_type.d.ts.map +1 -0
  40. package/dist/debug/runtime_types/ast/address_type.js +11 -0
  41. package/dist/debug/runtime_types/ast/address_type.js.map +1 -0
  42. package/dist/debug/runtime_types/ast/array_type.d.ts +8 -0
  43. package/dist/debug/runtime_types/ast/array_type.d.ts.map +1 -0
  44. package/dist/debug/runtime_types/ast/array_type.js +16 -0
  45. package/dist/debug/runtime_types/ast/array_type.js.map +1 -0
  46. package/dist/debug/runtime_types/ast/base_type.d.ts +16 -0
  47. package/dist/debug/runtime_types/ast/base_type.d.ts.map +1 -0
  48. package/dist/debug/runtime_types/ast/base_type.js +19 -0
  49. package/dist/debug/runtime_types/ast/base_type.js.map +1 -0
  50. package/dist/debug/runtime_types/ast/bool_type.d.ts +5 -0
  51. package/dist/debug/runtime_types/ast/bool_type.d.ts.map +1 -0
  52. package/dist/debug/runtime_types/ast/bool_type.js +11 -0
  53. package/dist/debug/runtime_types/ast/bool_type.js.map +1 -0
  54. package/dist/debug/runtime_types/ast/bytes_type.d.ts +5 -0
  55. package/dist/debug/runtime_types/ast/bytes_type.d.ts.map +1 -0
  56. package/dist/debug/runtime_types/ast/bytes_type.js +11 -0
  57. package/dist/debug/runtime_types/ast/bytes_type.js.map +1 -0
  58. package/dist/debug/runtime_types/ast/fixed_bytes_type.d.ts +7 -0
  59. package/dist/debug/runtime_types/ast/fixed_bytes_type.d.ts.map +1 -0
  60. package/dist/debug/runtime_types/ast/fixed_bytes_type.js +15 -0
  61. package/dist/debug/runtime_types/ast/fixed_bytes_type.js.map +1 -0
  62. package/dist/debug/runtime_types/ast/function_type.d.ts +11 -0
  63. package/dist/debug/runtime_types/ast/function_type.d.ts.map +1 -0
  64. package/dist/debug/runtime_types/ast/function_type.js +22 -0
  65. package/dist/debug/runtime_types/ast/function_type.js.map +1 -0
  66. package/dist/debug/runtime_types/ast/index.d.ts +16 -0
  67. package/dist/debug/runtime_types/ast/index.d.ts.map +1 -0
  68. package/dist/debug/runtime_types/ast/index.js +32 -0
  69. package/dist/debug/runtime_types/ast/index.js.map +1 -0
  70. package/dist/debug/runtime_types/ast/int_type.d.ts +10 -0
  71. package/dist/debug/runtime_types/ast/int_type.d.ts.map +1 -0
  72. package/dist/debug/runtime_types/ast/int_type.js +24 -0
  73. package/dist/debug/runtime_types/ast/int_type.js.map +1 -0
  74. package/dist/debug/runtime_types/ast/mapping_type.d.ts +8 -0
  75. package/dist/debug/runtime_types/ast/mapping_type.d.ts.map +1 -0
  76. package/dist/debug/runtime_types/ast/mapping_type.js +16 -0
  77. package/dist/debug/runtime_types/ast/mapping_type.js.map +1 -0
  78. package/dist/debug/runtime_types/ast/missing_type.d.ts +11 -0
  79. package/dist/debug/runtime_types/ast/missing_type.d.ts.map +1 -0
  80. package/dist/debug/runtime_types/ast/missing_type.js +19 -0
  81. package/dist/debug/runtime_types/ast/missing_type.js.map +1 -0
  82. package/dist/debug/runtime_types/ast/pointer_type.d.ts +9 -0
  83. package/dist/debug/runtime_types/ast/pointer_type.d.ts.map +1 -0
  84. package/dist/debug/runtime_types/ast/pointer_type.js +51 -0
  85. package/dist/debug/runtime_types/ast/pointer_type.js.map +1 -0
  86. package/dist/debug/runtime_types/ast/string_type.d.ts +5 -0
  87. package/dist/debug/runtime_types/ast/string_type.d.ts.map +1 -0
  88. package/dist/debug/runtime_types/ast/string_type.js +11 -0
  89. package/dist/debug/runtime_types/ast/string_type.js.map +1 -0
  90. package/dist/debug/runtime_types/ast/struct_type.d.ts +8 -0
  91. package/dist/debug/runtime_types/ast/struct_type.d.ts.map +1 -0
  92. package/dist/debug/runtime_types/ast/struct_type.js +16 -0
  93. package/dist/debug/runtime_types/ast/struct_type.js.map +1 -0
  94. package/dist/debug/runtime_types/ast/tuple_type.d.ts +7 -0
  95. package/dist/debug/runtime_types/ast/tuple_type.d.ts.map +1 -0
  96. package/dist/debug/runtime_types/ast/tuple_type.js +15 -0
  97. package/dist/debug/runtime_types/ast/tuple_type.js.map +1 -0
  98. package/dist/debug/runtime_types/ast/type_type.d.ts +12 -0
  99. package/dist/debug/runtime_types/ast/type_type.d.ts.map +1 -0
  100. package/dist/debug/runtime_types/ast/type_type.js +19 -0
  101. package/dist/debug/runtime_types/ast/type_type.js.map +1 -0
  102. package/dist/debug/runtime_types/index.d.ts +3 -0
  103. package/dist/debug/runtime_types/index.d.ts.map +1 -0
  104. package/dist/debug/runtime_types/index.js +19 -0
  105. package/dist/debug/runtime_types/index.js.map +1 -0
  106. package/dist/debug/runtime_types/utils.d.ts +32 -0
  107. package/dist/debug/runtime_types/utils.d.ts.map +1 -0
  108. package/dist/debug/runtime_types/utils.js +213 -0
  109. package/dist/debug/runtime_types/utils.js.map +1 -0
  110. package/dist/debug/tracers/transformers/int_stack.d.ts.map +1 -1
  111. package/dist/debug/tracers/transformers/int_stack.js +4 -2
  112. package/dist/debug/tracers/transformers/int_stack.js.map +1 -1
  113. package/dist/debug/tracers/transformers/ret_info.js +2 -2
  114. package/dist/debug/tracers/transformers/ret_info.js.map +1 -1
  115. package/dist/utils/misc.d.ts +3 -1
  116. package/dist/utils/misc.d.ts.map +1 -1
  117. package/dist/utils/misc.js +11 -9
  118. package/dist/utils/misc.js.map +1 -1
  119. package/dist/utils/pp.d.ts.map +1 -1
  120. package/dist/utils/pp.js +13 -12
  121. package/dist/utils/pp.js.map +1 -1
  122. package/dist/utils/solidity.d.ts +1 -0
  123. package/dist/utils/solidity.d.ts.map +1 -1
  124. package/dist/utils/solidity.js +8 -0
  125. package/dist/utils/solidity.js.map +1 -1
  126. package/package.json +1 -1
  127. package/dist/debug/decoding/exp_types.d.ts +0 -46
  128. package/dist/debug/decoding/exp_types.d.ts.map +0 -1
  129. package/dist/debug/decoding/exp_types.js +0 -202
  130. package/dist/debug/decoding/exp_types.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mapping_type.js","sourceRoot":"","sources":["../../../../src/debug/runtime_types/ast/mapping_type.ts"],"names":[],"mappings":";;;AAAA,2CAA8C;AAE9C,MAAa,WAAY,SAAQ,2BAAe;IAC5C,YACoB,OAAwB,EACxB,SAA0B;QAE1C,KAAK,EAAE,CAAC;QAHQ,YAAO,GAAP,OAAO,CAAiB;QACxB,cAAS,GAAT,SAAS,CAAiB;IAG9C,CAAC;IAED,EAAE;QACE,OAAO,WAAW,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,EAAE,GAAG,CAAC;IACrE,CAAC;CACJ;AAXD,kCAWC"}
@@ -0,0 +1,11 @@
1
+ import { BaseRuntimeType } from "./base_type";
2
+ /**
3
+ * The local version of sol-dbg's MissingType.
4
+ * @todo may deprecate this in the future
5
+ */
6
+ export declare class MissingType extends BaseRuntimeType {
7
+ readonly typeString: string | undefined;
8
+ constructor(typeString: string | undefined);
9
+ pp(): string;
10
+ }
11
+ //# sourceMappingURL=missing_type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"missing_type.d.ts","sourceRoot":"","sources":["../../../../src/debug/runtime_types/ast/missing_type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C;;;GAGG;AACH,qBAAa,WAAY,SAAQ,eAAe;aAChB,UAAU,EAAE,MAAM,GAAG,SAAS;gBAA9B,UAAU,EAAE,MAAM,GAAG,SAAS;IAI1D,EAAE,IAAI,MAAM;CAGf"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MissingType = void 0;
4
+ const base_type_1 = require("./base_type");
5
+ /**
6
+ * The local version of sol-dbg's MissingType.
7
+ * @todo may deprecate this in the future
8
+ */
9
+ class MissingType extends base_type_1.BaseRuntimeType {
10
+ constructor(typeString) {
11
+ super();
12
+ this.typeString = typeString;
13
+ }
14
+ pp() {
15
+ return `<mssing type${this.typeString !== undefined ? `: ${this.typeString}` : ""}>`;
16
+ }
17
+ }
18
+ exports.MissingType = MissingType;
19
+ //# sourceMappingURL=missing_type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"missing_type.js","sourceRoot":"","sources":["../../../../src/debug/runtime_types/ast/missing_type.ts"],"names":[],"mappings":";;;AAAA,2CAA8C;AAE9C;;;GAGG;AACH,MAAa,WAAY,SAAQ,2BAAe;IAC5C,YAA4B,UAA8B;QACtD,KAAK,EAAE,CAAC;QADgB,eAAU,GAAV,UAAU,CAAoB;IAE1D,CAAC;IAED,EAAE;QACE,OAAO,eAAe,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;IACzF,CAAC;CACJ;AARD,kCAQC"}
@@ -0,0 +1,9 @@
1
+ import * as sol from "solc-typed-ast";
2
+ import { BaseRuntimeType } from "./base_type";
3
+ export declare class PointerType extends BaseRuntimeType {
4
+ readonly toType: BaseRuntimeType;
5
+ readonly location: sol.DataLocation;
6
+ constructor(toType: BaseRuntimeType, location: sol.DataLocation);
7
+ pp(): string;
8
+ }
9
+ //# sourceMappingURL=pointer_type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pointer_type.d.ts","sourceRoot":"","sources":["../../../../src/debug/runtime_types/ast/pointer_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,qBAAa,WAAY,SAAQ,eAAe;aAExB,MAAM,EAAE,eAAe;aACvB,QAAQ,EAAE,GAAG,CAAC,YAAY;gBAD1B,MAAM,EAAE,eAAe,EACvB,QAAQ,EAAE,GAAG,CAAC,YAAY;IAS9C,EAAE,IAAI,MAAM;CAGf"}
@@ -0,0 +1,51 @@
1
+ "use strict";
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.PointerType = void 0;
37
+ const sol = __importStar(require("solc-typed-ast"));
38
+ const base_type_1 = require("./base_type");
39
+ class PointerType extends base_type_1.BaseRuntimeType {
40
+ constructor(toType, location) {
41
+ super();
42
+ this.toType = toType;
43
+ this.location = location;
44
+ sol.assert(location !== sol.DataLocation.Default, `Unexpected pointer type with default location`);
45
+ }
46
+ pp() {
47
+ return `${this.toType.pp()} ${this.location}`;
48
+ }
49
+ }
50
+ exports.PointerType = PointerType;
51
+ //# sourceMappingURL=pointer_type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pointer_type.js","sourceRoot":"","sources":["../../../../src/debug/runtime_types/ast/pointer_type.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oDAAsC;AACtC,2CAA8C;AAE9C,MAAa,WAAY,SAAQ,2BAAe;IAC5C,YACoB,MAAuB,EACvB,QAA0B;QAE1C,KAAK,EAAE,CAAC;QAHQ,WAAM,GAAN,MAAM,CAAiB;QACvB,aAAQ,GAAR,QAAQ,CAAkB;QAG1C,GAAG,CAAC,MAAM,CACN,QAAQ,KAAK,GAAG,CAAC,YAAY,CAAC,OAAO,EACrC,+CAA+C,CAClD,CAAC;IACN,CAAC;IAED,EAAE;QACE,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;IAClD,CAAC;CACJ;AAfD,kCAeC"}
@@ -0,0 +1,5 @@
1
+ import { BaseRuntimeType } from "./base_type";
2
+ export declare class StringType extends BaseRuntimeType {
3
+ pp(): string;
4
+ }
5
+ //# sourceMappingURL=string_type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string_type.d.ts","sourceRoot":"","sources":["../../../../src/debug/runtime_types/ast/string_type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,qBAAa,UAAW,SAAQ,eAAe;IAC3C,EAAE,IAAI,MAAM;CAGf"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StringType = void 0;
4
+ const base_type_1 = require("./base_type");
5
+ class StringType extends base_type_1.BaseRuntimeType {
6
+ pp() {
7
+ return `string`;
8
+ }
9
+ }
10
+ exports.StringType = StringType;
11
+ //# sourceMappingURL=string_type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string_type.js","sourceRoot":"","sources":["../../../../src/debug/runtime_types/ast/string_type.ts"],"names":[],"mappings":";;;AAAA,2CAA8C;AAE9C,MAAa,UAAW,SAAQ,2BAAe;IAC3C,EAAE;QACE,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ;AAJD,gCAIC"}
@@ -0,0 +1,8 @@
1
+ import { BaseRuntimeType } from "./base_type";
2
+ export declare class StructType extends BaseRuntimeType {
3
+ readonly name: string;
4
+ readonly fields: Array<[string, BaseRuntimeType]>;
5
+ constructor(name: string, fields: Array<[string, BaseRuntimeType]>);
6
+ pp(): string;
7
+ }
8
+ //# sourceMappingURL=struct_type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"struct_type.d.ts","sourceRoot":"","sources":["../../../../src/debug/runtime_types/ast/struct_type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,qBAAa,UAAW,SAAQ,eAAe;aAEvB,IAAI,EAAE,MAAM;aACZ,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;gBADxC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAK5D,EAAE,IAAI,MAAM;CAGf"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StructType = void 0;
4
+ const base_type_1 = require("./base_type");
5
+ class StructType extends base_type_1.BaseRuntimeType {
6
+ constructor(name, fields) {
7
+ super();
8
+ this.name = name;
9
+ this.fields = fields;
10
+ }
11
+ pp() {
12
+ return `struct ${this.name} {${this.fields.map(([name, type]) => `${name}: ${type.pp()}`).join(";\n")}}`;
13
+ }
14
+ }
15
+ exports.StructType = StructType;
16
+ //# sourceMappingURL=struct_type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"struct_type.js","sourceRoot":"","sources":["../../../../src/debug/runtime_types/ast/struct_type.ts"],"names":[],"mappings":";;;AAAA,2CAA8C;AAE9C,MAAa,UAAW,SAAQ,2BAAe;IAC3C,YACoB,IAAY,EACZ,MAAwC;QAExD,KAAK,EAAE,CAAC;QAHQ,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAkC;IAG5D,CAAC;IAED,EAAE;QACE,OAAO,UAAU,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;IAC7G,CAAC;CACJ;AAXD,gCAWC"}
@@ -0,0 +1,7 @@
1
+ import { BaseRuntimeType } from "./base_type";
2
+ export declare class TupleType extends BaseRuntimeType {
3
+ readonly elementTypes: BaseRuntimeType[];
4
+ constructor(elementTypes: BaseRuntimeType[]);
5
+ pp(): string;
6
+ }
7
+ //# sourceMappingURL=tuple_type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tuple_type.d.ts","sourceRoot":"","sources":["../../../../src/debug/runtime_types/ast/tuple_type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C,qBAAa,SAAU,SAAQ,eAAe;aACd,YAAY,EAAE,eAAe,EAAE;gBAA/B,YAAY,EAAE,eAAe,EAAE;IAI3D,EAAE,IAAI,MAAM;CAGf"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TupleType = void 0;
4
+ const base_type_1 = require("./base_type");
5
+ class TupleType extends base_type_1.BaseRuntimeType {
6
+ constructor(elementTypes) {
7
+ super();
8
+ this.elementTypes = elementTypes;
9
+ }
10
+ pp() {
11
+ return `(${this.elementTypes.map((t) => t.pp()).join(", ")})`;
12
+ }
13
+ }
14
+ exports.TupleType = TupleType;
15
+ //# sourceMappingURL=tuple_type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tuple_type.js","sourceRoot":"","sources":["../../../../src/debug/runtime_types/ast/tuple_type.ts"],"names":[],"mappings":";;;AAAA,2CAA8C;AAE9C,MAAa,SAAU,SAAQ,2BAAe;IAC1C,YAA4B,YAA+B;QACvD,KAAK,EAAE,CAAC;QADgB,iBAAY,GAAZ,YAAY,CAAmB;IAE3D,CAAC;IAED,EAAE;QACE,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IAClE,CAAC;CACJ;AARD,8BAQC"}
@@ -0,0 +1,12 @@
1
+ import * as sol from "solc-typed-ast";
2
+ import { BaseRuntimeType } from "./base_type";
3
+ /**
4
+ * The type of a 'type expression'. Strictly speaking this shouldnt appear as a runtime value, however its convenient
5
+ * to have it here as it appears as an argument to `abi.decode`.
6
+ */
7
+ export declare class TypeType extends BaseRuntimeType {
8
+ readonly rawT: sol.TypeNode;
9
+ constructor(rawT: sol.TypeNode);
10
+ pp(): string;
11
+ }
12
+ //# sourceMappingURL=type_type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type_type.d.ts","sourceRoot":"","sources":["../../../../src/debug/runtime_types/ast/type_type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9C;;;GAGG;AACH,qBAAa,QAAS,SAAQ,eAAe;aACb,IAAI,EAAE,GAAG,CAAC,QAAQ;gBAAlB,IAAI,EAAE,GAAG,CAAC,QAAQ;IAI9C,EAAE,IAAI,MAAM;CAGf"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TypeType = void 0;
4
+ const base_type_1 = require("./base_type");
5
+ /**
6
+ * The type of a 'type expression'. Strictly speaking this shouldnt appear as a runtime value, however its convenient
7
+ * to have it here as it appears as an argument to `abi.decode`.
8
+ */
9
+ class TypeType extends base_type_1.BaseRuntimeType {
10
+ constructor(rawT) {
11
+ super();
12
+ this.rawT = rawT;
13
+ }
14
+ pp() {
15
+ return `<type: ${this.rawT.pp()}>`;
16
+ }
17
+ }
18
+ exports.TypeType = TypeType;
19
+ //# sourceMappingURL=type_type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type_type.js","sourceRoot":"","sources":["../../../../src/debug/runtime_types/ast/type_type.ts"],"names":[],"mappings":";;;AACA,2CAA8C;AAE9C;;;GAGG;AACH,MAAa,QAAS,SAAQ,2BAAe;IACzC,YAA4B,IAAkB;QAC1C,KAAK,EAAE,CAAC;QADgB,SAAI,GAAJ,IAAI,CAAc;IAE9C,CAAC;IAED,EAAE;QACE,OAAO,UAAU,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC;IACvC,CAAC;CACJ;AARD,4BAQC"}
@@ -0,0 +1,3 @@
1
+ export * from "./ast";
2
+ export * from "./utils";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/debug/runtime_types/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC"}
@@ -0,0 +1,19 @@
1
+ "use strict";
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 __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./ast"), exports);
18
+ __exportStar(require("./utils"), exports);
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/debug/runtime_types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,0CAAwB"}
@@ -0,0 +1,32 @@
1
+ import * as sol from "solc-typed-ast";
2
+ import * as rtt from "./ast";
3
+ /**
4
+ * Convert the given solc-typed-ast type to a runtime types. This does the following conversions:
5
+ *
6
+ * - Convert `UserDefinedType(StructDefinition)` to `ExpStructType`
7
+ * - Convert `UserDefinedType(UserDefinedValueTypeDefinition)` to the underlying type
8
+ * - Convert `UserDefinedType(ContractDefinition)` to address
9
+ *
10
+ * @param rawT
11
+ */
12
+ export declare function astToRuntimeType(rawT: sol.TypeNode, infer: sol.InferType, loc?: sol.DataLocation | undefined): rtt.BaseRuntimeType;
13
+ /**
14
+ * Given a general runtime type 'pattern' that doesn't contain any data locations, and a data location,
15
+ * produce a concrete instance of the general type for the target location.
16
+ * This is the inverse of `specializeType()`
17
+ *
18
+ * @param type - general type "pattern"
19
+ * @param loc - target location to specialize to
20
+ * @returns specialized type
21
+ */
22
+ export declare function specializeType(type: rtt.BaseRuntimeType, loc: sol.DataLocation): rtt.BaseRuntimeType;
23
+ /**
24
+ * Given a `BaseRuntimeType` `type` that is specialized to some storage location,
25
+ * compute the original 'general' type that is independent of location.
26
+ * This is the inverse of `specializeType()`
27
+ *
28
+ * @param type - specialized type
29
+ * @returns computed generalized type
30
+ */
31
+ export declare function generalizeType(type: rtt.BaseRuntimeType): rtt.BaseRuntimeType;
32
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/debug/runtime_types/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC;AAyB7B;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC5B,IAAI,EAAE,GAAG,CAAC,QAAQ,EAClB,KAAK,EAAE,GAAG,CAAC,SAAS,EACpB,GAAG,GAAE,GAAG,CAAC,YAAY,GAAG,SAAqB,GAC9C,GAAG,CAAC,eAAe,CA4GrB;AAED;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAC1B,IAAI,EAAE,GAAG,CAAC,eAAe,EACzB,GAAG,EAAE,GAAG,CAAC,YAAY,GACtB,GAAG,CAAC,eAAe,CA4CrB;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,eAAe,GAAG,GAAG,CAAC,eAAe,CA8B7E"}
@@ -0,0 +1,213 @@
1
+ "use strict";
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.astToRuntimeType = astToRuntimeType;
37
+ exports.specializeType = specializeType;
38
+ exports.generalizeType = generalizeType;
39
+ const sol = __importStar(require("solc-typed-ast"));
40
+ const rtt = __importStar(require("./ast"));
41
+ const utils_1 = require("../../utils");
42
+ /**
43
+ * Helper for converting `TypeName`s to `TypeNode`s. In some cases when solc-typed-ast conversion fails,
44
+ * it can try and guess the correct simplified type from the typeString
45
+ *
46
+ * - unknown contracts - retun address
47
+ */
48
+ function typeNameToTypeNode(t, infer, loc) {
49
+ try {
50
+ return loc ? infer.typeNameToSpecializedTypeNode(t, loc) : infer.typeNameToTypeNode(t);
51
+ }
52
+ catch (e) {
53
+ if ((0, utils_1.isTypeUnknownContract)(t)) {
54
+ return new sol.AddressType(false);
55
+ }
56
+ throw e;
57
+ }
58
+ }
59
+ /**
60
+ * Convert the given solc-typed-ast type to a runtime types. This does the following conversions:
61
+ *
62
+ * - Convert `UserDefinedType(StructDefinition)` to `ExpStructType`
63
+ * - Convert `UserDefinedType(UserDefinedValueTypeDefinition)` to the underlying type
64
+ * - Convert `UserDefinedType(ContractDefinition)` to address
65
+ *
66
+ * @param rawT
67
+ */
68
+ function astToRuntimeType(rawT, infer, loc = undefined) {
69
+ if (rawT instanceof sol.IntType) {
70
+ return new rtt.IntType(rawT.nBits, rawT.signed);
71
+ }
72
+ if (rawT instanceof sol.FixedBytesType) {
73
+ return new rtt.FixedBytesType(rawT.size);
74
+ }
75
+ if (rawT instanceof sol.BoolType) {
76
+ return new rtt.BoolType();
77
+ }
78
+ if (rawT instanceof sol.AddressType) {
79
+ return new rtt.AddressType();
80
+ }
81
+ if (rawT instanceof sol.BytesType) {
82
+ return new rtt.BytesType();
83
+ }
84
+ if (rawT instanceof sol.StringType) {
85
+ return new rtt.StringType();
86
+ }
87
+ if (rawT instanceof sol.ArrayType) {
88
+ const expElT = astToRuntimeType(rawT.elementT, infer, loc);
89
+ return new rtt.ArrayType(expElT, rawT.size);
90
+ }
91
+ if (rawT instanceof sol.MappingType) {
92
+ const keyT = astToRuntimeType(rawT.keyType, infer, loc);
93
+ const valueT = astToRuntimeType(rawT.valueType, infer, loc);
94
+ return new rtt.MappingType(keyT, valueT);
95
+ }
96
+ if (rawT instanceof sol.TupleType) {
97
+ return new rtt.TupleType(rawT.elements.map((elT) => elT === null ? new rtt.MissingType(undefined) : astToRuntimeType(elT, infer, loc)));
98
+ }
99
+ if (rawT instanceof sol.PointerType) {
100
+ const ptrLoc = rawT.location === sol.DataLocation.Default ? loc : rawT.location;
101
+ sol.assert(ptrLoc !== undefined, `Missing location in conversion of {0}`, rawT);
102
+ const toT = astToRuntimeType(rawT.to, infer, ptrLoc);
103
+ return new rtt.PointerType(toT, ptrLoc);
104
+ }
105
+ if (rawT instanceof sol.UserDefinedType) {
106
+ if (rawT.definition === undefined) {
107
+ return new rtt.MissingType(undefined);
108
+ }
109
+ if (rawT.definition instanceof sol.StructDefinition) {
110
+ sol.assert(loc !== undefined, `Missing location in struct expansion {0}`, rawT);
111
+ const fields = rawT.definition.vMembers.map((decl) => {
112
+ let fieldT;
113
+ try {
114
+ fieldT = typeNameToTypeNode(decl.vType, infer, loc);
115
+ }
116
+ catch (e) {
117
+ return [
118
+ decl.name,
119
+ new rtt.MissingType(decl.vType !== undefined ? decl.vType.typeString : undefined)
120
+ ];
121
+ }
122
+ return [decl.name, astToRuntimeType(fieldT, infer, loc)];
123
+ });
124
+ return new rtt.StructType(rawT.name, fields);
125
+ }
126
+ if (rawT.definition instanceof sol.UserDefinedValueTypeDefinition) {
127
+ let underlyingType;
128
+ try {
129
+ underlyingType = typeNameToTypeNode(rawT.definition.underlyingType, infer);
130
+ }
131
+ catch (e) {
132
+ return new rtt.MissingType(rawT.definition.underlyingType.typeString);
133
+ }
134
+ return astToRuntimeType(underlyingType, infer, loc);
135
+ }
136
+ if (rawT.definition instanceof sol.ContractDefinition) {
137
+ return new rtt.AddressType();
138
+ }
139
+ if (rawT.definition instanceof sol.EnumDefinition) {
140
+ return astToRuntimeType(sol.enumToIntType(rawT.definition), infer);
141
+ }
142
+ }
143
+ if (rawT instanceof sol.TypeNameType) {
144
+ return new rtt.TypeType(rawT.type);
145
+ }
146
+ (0, utils_1.nyi)(`Type ${rawT.constructor.name}`);
147
+ }
148
+ /**
149
+ * Given a general runtime type 'pattern' that doesn't contain any data locations, and a data location,
150
+ * produce a concrete instance of the general type for the target location.
151
+ * This is the inverse of `specializeType()`
152
+ *
153
+ * @param type - general type "pattern"
154
+ * @param loc - target location to specialize to
155
+ * @returns specialized type
156
+ */
157
+ function specializeType(type, loc) {
158
+ sol.assert(!(type instanceof rtt.PointerType), "Unexpected pointer type {0} in concretization.", type);
159
+ sol.assert(!(type instanceof rtt.TupleType), "Unexpected tuple type {0} in concretization.", type);
160
+ // bytes and string
161
+ if (type instanceof rtt.StringType || type instanceof rtt.BytesType) {
162
+ return new rtt.PointerType(type, loc);
163
+ }
164
+ if (type instanceof rtt.ArrayType) {
165
+ const concreteElT = specializeType(type.elementT, loc);
166
+ return new rtt.PointerType(new rtt.ArrayType(concreteElT, type.size), loc);
167
+ }
168
+ if (type instanceof rtt.StructType) {
169
+ return new rtt.PointerType(type, loc);
170
+ }
171
+ if (type instanceof rtt.MappingType) {
172
+ // Always treat map keys as in-memory copies
173
+ const concreteKeyT = specializeType(type.keyType, sol.DataLocation.Memory);
174
+ // The result of map indexing is always a pointer to a value that lives in storage
175
+ const concreteValueT = specializeType(type.valueType, sol.DataLocation.Storage); // @todo update when maps supported in transient
176
+ // Maps always live in storage
177
+ return new rtt.PointerType(new rtt.MappingType(concreteKeyT, concreteValueT), sol.DataLocation.Storage); // @todo update when maps supported in transient
178
+ }
179
+ if (type instanceof rtt.TupleType) {
180
+ return new rtt.TupleType(type.elementTypes.map((elT) => specializeType(elT, loc)));
181
+ }
182
+ return type;
183
+ }
184
+ /**
185
+ * Given a `BaseRuntimeType` `type` that is specialized to some storage location,
186
+ * compute the original 'general' type that is independent of location.
187
+ * This is the inverse of `specializeType()`
188
+ *
189
+ * @param type - specialized type
190
+ * @returns computed generalized type
191
+ */
192
+ function generalizeType(type) {
193
+ if (type instanceof rtt.PointerType) {
194
+ return generalizeType(type.toType);
195
+ }
196
+ if (type instanceof rtt.ArrayType) {
197
+ const innerT = generalizeType(type.elementT);
198
+ return new rtt.ArrayType(innerT, type.size);
199
+ }
200
+ if (type instanceof rtt.MappingType) {
201
+ const genearlKeyT = generalizeType(type.keyType);
202
+ const generalValueT = generalizeType(type.valueType);
203
+ return new rtt.MappingType(genearlKeyT, generalValueT);
204
+ }
205
+ if (type instanceof rtt.StructType) {
206
+ return new rtt.StructType(type.name, type.fields.map(([fieldName, fieldT]) => [fieldName, generalizeType(fieldT)]));
207
+ }
208
+ if (type instanceof rtt.TupleType) {
209
+ return new rtt.TupleType(type.elementTypes.map(generalizeType));
210
+ }
211
+ return type;
212
+ }
213
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/debug/runtime_types/utils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,4CAgHC;AAWD,wCA+CC;AAUD,wCA8BC;AArPD,oDAAsC;AACtC,2CAA6B;AAC7B,uCAAyD;AAEzD;;;;;GAKG;AACH,SAAS,kBAAkB,CACvB,CAAe,EACf,KAAoB,EACpB,GAAsB;IAEtB,IAAI,CAAC;QACD,OAAO,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAC3F,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,IAAI,IAAA,6BAAqB,EAAC,CAAC,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAI,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,CAAC,CAAC;IACZ,CAAC;AACL,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,gBAAgB,CAC5B,IAAkB,EAClB,KAAoB,EACpB,MAAoC,SAAS;IAE7C,IAAI,IAAI,YAAY,GAAG,CAAC,OAAO,EAAE,CAAC;QAC9B,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,IAAI,IAAI,YAAY,GAAG,CAAC,cAAc,EAAE,CAAC;QACrC,OAAO,IAAI,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,IAAI,YAAY,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC/B,OAAO,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAED,IAAI,IAAI,YAAY,GAAG,CAAC,WAAW,EAAE,CAAC;QAClC,OAAO,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;IACjC,CAAC;IAED,IAAI,IAAI,YAAY,GAAG,CAAC,SAAS,EAAE,CAAC;QAChC,OAAO,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;IAC/B,CAAC;IAED,IAAI,IAAI,YAAY,GAAG,CAAC,UAAU,EAAE,CAAC;QACjC,OAAO,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;IAChC,CAAC;IAED,IAAI,IAAI,YAAY,GAAG,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAE3D,OAAO,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,IAAI,YAAY,GAAG,CAAC,WAAW,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,gBAAgB,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QAE5D,OAAO,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,IAAI,YAAY,GAAG,CAAC,SAAS,EAAE,CAAC;QAChC,OAAO,IAAI,GAAG,CAAC,SAAS,CACpB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CACtB,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CACpF,CACJ,CAAC;IACN,CAAC;IAED,IAAI,IAAI,YAAY,GAAG,CAAC,WAAW,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,KAAK,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAChF,GAAG,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,EAAE,uCAAuC,EAAE,IAAI,CAAC,CAAC;QAEhF,MAAM,GAAG,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QAErD,OAAO,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,IAAI,YAAY,GAAG,CAAC,eAAe,EAAE,CAAC;QACtC,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,IAAI,GAAG,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,YAAY,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAClD,GAAG,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE,0CAA0C,EAAE,IAAI,CAAC,CAAC;YAChF,MAAM,MAAM,GAAyC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAC7E,CAAC,IAAI,EAAE,EAAE;gBACL,IAAI,MAAoB,CAAC;gBACzB,IAAI,CAAC;oBACD,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAqB,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;gBACxE,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACT,OAAO;wBACH,IAAI,CAAC,IAAI;wBACT,IAAI,GAAG,CAAC,WAAW,CACf,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAC/D;qBACJ,CAAC;gBACN,CAAC;gBAED,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,gBAAgB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;YAC7D,CAAC,CACJ,CAAC;YAEF,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACjD,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,YAAY,GAAG,CAAC,8BAA8B,EAAE,CAAC;YAChE,IAAI,cAA4B,CAAC;YACjC,IAAI,CAAC;gBACD,cAAc,GAAG,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;YAC/E,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;YAC1E,CAAC;YAED,OAAO,gBAAgB,CAAC,cAAc,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,YAAY,GAAG,CAAC,kBAAkB,EAAE,CAAC;YACpD,OAAO,IAAI,GAAG,CAAC,WAAW,EAAE,CAAC;QACjC,CAAC;QAED,IAAI,IAAI,CAAC,UAAU,YAAY,GAAG,CAAC,cAAc,EAAE,CAAC;YAChD,OAAO,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;QACvE,CAAC;IACL,CAAC;IAED,IAAI,IAAI,YAAY,GAAG,CAAC,YAAY,EAAE,CAAC;QACnC,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,IAAA,WAAG,EAAC,QAAQ,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;AACzC,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,cAAc,CAC1B,IAAyB,EACzB,GAAqB;IAErB,GAAG,CAAC,MAAM,CACN,CAAC,CAAC,IAAI,YAAY,GAAG,CAAC,WAAW,CAAC,EAClC,gDAAgD,EAChD,IAAI,CACP,CAAC;IACF,GAAG,CAAC,MAAM,CACN,CAAC,CAAC,IAAI,YAAY,GAAG,CAAC,SAAS,CAAC,EAChC,8CAA8C,EAC9C,IAAI,CACP,CAAC;IAEF,mBAAmB;IACnB,IAAI,IAAI,YAAY,GAAG,CAAC,UAAU,IAAI,IAAI,YAAY,GAAG,CAAC,SAAS,EAAE,CAAC;QAClE,OAAO,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,IAAI,YAAY,GAAG,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAEvD,OAAO,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/E,CAAC;IAED,IAAI,IAAI,YAAY,GAAG,CAAC,UAAU,EAAE,CAAC;QACjC,OAAO,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,IAAI,YAAY,GAAG,CAAC,WAAW,EAAE,CAAC;QAClC,4CAA4C;QAC5C,MAAM,YAAY,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC3E,kFAAkF;QAClF,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,gDAAgD;QACjI,8BAA8B;QAC9B,OAAO,IAAI,GAAG,CAAC,WAAW,CACtB,IAAI,GAAG,CAAC,WAAW,CAAC,YAAY,EAAE,cAAc,CAAC,EACjD,GAAG,CAAC,YAAY,CAAC,OAAO,CAC3B,CAAC,CAAC,gDAAgD;IACvD,CAAC;IAED,IAAI,IAAI,YAAY,GAAG,CAAC,SAAS,EAAE,CAAC;QAChC,OAAO,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;IACvF,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,cAAc,CAAC,IAAyB;IACpD,IAAI,IAAI,YAAY,GAAG,CAAC,WAAW,EAAE,CAAC;QAClC,OAAO,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,IAAI,YAAY,GAAG,CAAC,SAAS,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAE7C,OAAO,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,IAAI,YAAY,GAAG,CAAC,WAAW,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACjD,MAAM,aAAa,GAAG,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAErD,OAAO,IAAI,GAAG,CAAC,WAAW,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,IAAI,YAAY,GAAG,CAAC,UAAU,EAAE,CAAC;QACjC,OAAO,IAAI,GAAG,CAAC,UAAU,CACrB,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,SAAS,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAChF,CAAC;IACN,CAAC;IAED,IAAI,IAAI,YAAY,GAAG,CAAC,SAAS,EAAE,CAAC;QAChC,OAAO,IAAI,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"int_stack.d.ts","sourceRoot":"","sources":["../../../../src/debug/tracers/transformers/int_stack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAEpC,OAAO,EAAgB,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAGxE,OAAO,EAAoB,iBAAiB,EAAS,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAe,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAItC,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CACjC;AA4DD;;GAEG;AACH,wBAAsB,oBAAoB,CACtC,CAAC,SAAS,MAAM,GAAG,aAAa,GAAG,iBAAiB,GAAG,UAAU,EAEjE,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,iBAAiB,CAAC,EACnC,eAAe,EAAE,gBAAgB,EACjC,MAAM,EAAE,OAAO,GAChB,OAAO,CAAC,CAAC,GAAG,iBAAiB,CAAC,CA0HhC"}
1
+ {"version":3,"file":"int_stack.d.ts","sourceRoot":"","sources":["../../../../src/debug/tracers/transformers/int_stack.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAEpC,OAAO,EAAgB,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAGxE,OAAO,EAAoB,iBAAiB,EAAS,MAAM,aAAa,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAe,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAKtC,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CACjC;AA6DD;;GAEG;AACH,wBAAsB,oBAAoB,CACtC,CAAC,SAAS,MAAM,GAAG,aAAa,GAAG,iBAAiB,GAAG,UAAU,EAEjE,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,iBAAiB,CAAC,EACnC,eAAe,EAAE,gBAAgB,EACjC,MAAM,EAAE,OAAO,GAChB,OAAO,CAAC,CAAC,GAAG,iBAAiB,CAAC,CA0HhC"}
@@ -7,6 +7,7 @@ const opcodes_1 = require("../../opcodes");
7
7
  const types_1 = require("../../types");
8
8
  const ext_stack_1 = require("./ext_stack");
9
9
  const decoding_1 = require("../../decoding");
10
+ const runtime_types_1 = require("../../runtime_types");
10
11
  function topFrame(step) {
11
12
  if (step.intStack.length > 0) {
12
13
  return step.intStack[step.intStack.length - 1];
@@ -41,13 +42,14 @@ function buildFunArgViews(callee, stack, contractInfo, artifactManager) {
41
42
  let offsetFromTop = -1;
42
43
  for (let i = formals.length - 1; i >= 0; i--) {
43
44
  const [name, typ] = formals[i];
44
- const stackSize = (0, utils_1.isCalldataArrayType)(typ) ? 2 : 1;
45
+ const rttTyp = (0, runtime_types_1.astToRuntimeType)(typ, infer);
46
+ const stackSize = (0, utils_1.isCalldataArrayType)(rttTyp) ? 2 : 1;
45
47
  offsetFromTop += stackSize;
46
48
  if (offsetFromTop > stack.length) {
47
49
  // Stack underflow. Could be due to optimized code?
48
50
  return undefined;
49
51
  }
50
- res.unshift([name, (0, decoding_1.makeStackView)((0, decoding_1.simplifyType)(typ, infer), offsetFromTop)]);
52
+ res.unshift([name, (0, decoding_1.makeStackView)(rttTyp, offsetFromTop)]);
51
53
  }
52
54
  return res;
53
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"int_stack.js","sourceRoot":"","sources":["../../../../src/debug/tracers/transformers/int_stack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"int_stack.js","sourceRoot":"","sources":["../../../../src/debug/tracers/transformers/int_stack.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,7 @@ const opcodes_1 = require("../../opcodes");
7
7
  const types_1 = require("../../types");
8
8
  const ext_stack_1 = require("./ext_stack");
9
9
  const view_1 = require("../../decoding/calldata/view");
10
- const decoding_1 = require("../../decoding");
10
+ const runtime_types_1 = require("../../runtime_types");
11
11
  /**
12
12
  * Adds return info for steps in the callee context, right after a return.
13
13
  */
@@ -73,7 +73,7 @@ async function addReturnInfo(vm, step, state, trace, artifactManager) {
73
73
  };
74
74
  }
75
75
  // We treat these as in calldata, since they should already be abi-encoded in memory for the Return instruction
76
- const views = (0, view_1.makeCalldataViews)(type.returns.map((t) => (0, decoding_1.simplifyType)(t, infer, solc_typed_ast_1.DataLocation.CallData)), 0n);
76
+ const views = (0, view_1.makeCalldataViews)(type.returns.map((t) => (0, runtime_types_1.astToRuntimeType)(t, infer, solc_typed_ast_1.DataLocation.CallData)), 0n);
77
77
  const decodedReturnData = views.map((v) => v.decode(rawReturnData));
78
78
  return {
79
79
  ...state,