sol-dbg 0.6.13 → 0.7.1

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 (169) hide show
  1. package/dist/artifacts/helpers.d.ts +3 -3
  2. package/dist/artifacts/helpers.d.ts.map +1 -1
  3. package/dist/artifacts/helpers.js +17 -53
  4. package/dist/artifacts/helpers.js.map +1 -1
  5. package/dist/artifacts/solc.d.ts +1 -8
  6. package/dist/artifacts/solc.d.ts.map +1 -1
  7. package/dist/debug/abi.d.ts +11 -41
  8. package/dist/debug/abi.d.ts.map +1 -1
  9. package/dist/debug/abi.js +60 -294
  10. package/dist/debug/abi.js.map +1 -1
  11. package/dist/debug/artifact_manager/artifact_manager.d.ts +17 -42
  12. package/dist/debug/artifact_manager/artifact_manager.d.ts.map +1 -1
  13. package/dist/debug/artifact_manager/artifact_manager.js +82 -21
  14. package/dist/debug/artifact_manager/artifact_manager.js.map +1 -1
  15. package/dist/debug/artifact_manager/bytecode_templates.d.ts +1 -1
  16. package/dist/debug/artifact_manager/bytecode_templates.d.ts.map +1 -1
  17. package/dist/debug/artifact_manager/bytecode_templates.js +3 -2
  18. package/dist/debug/artifact_manager/bytecode_templates.js.map +1 -1
  19. package/dist/debug/artifact_manager/index.d.ts +1 -0
  20. package/dist/debug/artifact_manager/index.d.ts.map +1 -1
  21. package/dist/debug/artifact_manager/index.js +1 -0
  22. package/dist/debug/artifact_manager/index.js.map +1 -1
  23. package/dist/debug/artifact_manager/types.d.ts +129 -0
  24. package/dist/debug/artifact_manager/types.d.ts.map +1 -0
  25. package/dist/debug/artifact_manager/types.js +12 -0
  26. package/dist/debug/artifact_manager/types.js.map +1 -0
  27. package/dist/debug/decoding/calldata/index.d.ts +2 -0
  28. package/dist/debug/decoding/calldata/index.d.ts.map +1 -0
  29. package/dist/debug/decoding/calldata/index.js +6 -0
  30. package/dist/debug/decoding/calldata/index.js.map +1 -0
  31. package/dist/debug/decoding/calldata/view.d.ts +74 -0
  32. package/dist/debug/decoding/calldata/view.d.ts.map +1 -0
  33. package/dist/debug/decoding/calldata/view.js +397 -0
  34. package/dist/debug/decoding/calldata/view.js.map +1 -0
  35. package/dist/debug/decoding/exp_types.d.ts +46 -0
  36. package/dist/debug/decoding/exp_types.d.ts.map +1 -0
  37. package/dist/debug/decoding/exp_types.js +202 -0
  38. package/dist/debug/decoding/exp_types.js.map +1 -0
  39. package/dist/debug/decoding/general.d.ts +5 -9
  40. package/dist/debug/decoding/general.d.ts.map +1 -1
  41. package/dist/debug/decoding/general.js +25 -103
  42. package/dist/debug/decoding/general.js.map +1 -1
  43. package/dist/debug/decoding/index.d.ts +1 -0
  44. package/dist/debug/decoding/index.d.ts.map +1 -1
  45. package/dist/debug/decoding/index.js +1 -0
  46. package/dist/debug/decoding/index.js.map +1 -1
  47. package/dist/debug/decoding/memory/index.d.ts +2 -0
  48. package/dist/debug/decoding/memory/index.d.ts.map +1 -0
  49. package/dist/debug/decoding/memory/index.js +6 -0
  50. package/dist/debug/decoding/memory/index.js.map +1 -0
  51. package/dist/debug/decoding/memory/view.d.ts +44 -0
  52. package/dist/debug/decoding/memory/view.d.ts.map +1 -0
  53. package/dist/debug/decoding/memory/view.js +183 -0
  54. package/dist/debug/decoding/memory/view.js.map +1 -0
  55. package/dist/debug/decoding/stack/index.d.ts +2 -0
  56. package/dist/debug/decoding/stack/index.d.ts.map +1 -0
  57. package/dist/debug/decoding/stack/index.js +6 -0
  58. package/dist/debug/decoding/stack/index.js.map +1 -0
  59. package/dist/debug/decoding/stack/view.d.ts +29 -0
  60. package/dist/debug/decoding/stack/view.d.ts.map +1 -0
  61. package/dist/debug/decoding/stack/view.js +116 -0
  62. package/dist/debug/decoding/stack/view.js.map +1 -0
  63. package/dist/debug/decoding/storage/index.d.ts +2 -0
  64. package/dist/debug/decoding/storage/index.d.ts.map +1 -0
  65. package/dist/debug/decoding/storage/index.js +6 -0
  66. package/dist/debug/decoding/storage/index.js.map +1 -0
  67. package/dist/debug/decoding/storage/view.d.ts +90 -0
  68. package/dist/debug/decoding/storage/view.d.ts.map +1 -0
  69. package/dist/debug/decoding/storage/view.js +465 -0
  70. package/dist/debug/decoding/storage/view.js.map +1 -0
  71. package/dist/debug/decoding/utils.d.ts +17 -0
  72. package/dist/debug/decoding/utils.d.ts.map +1 -0
  73. package/dist/debug/decoding/utils.js +43 -0
  74. package/dist/debug/decoding/utils.js.map +1 -0
  75. package/dist/debug/decoding/value.d.ts +50 -0
  76. package/dist/debug/decoding/value.d.ts.map +1 -0
  77. package/dist/debug/decoding/value.js +106 -0
  78. package/dist/debug/decoding/value.js.map +1 -0
  79. package/dist/debug/decoding/view.d.ts +20 -0
  80. package/dist/debug/decoding/view.d.ts.map +1 -0
  81. package/dist/debug/decoding/view.js +15 -0
  82. package/dist/debug/decoding/view.js.map +1 -0
  83. package/dist/debug/foundry_cheatcodes.js +6 -6
  84. package/dist/debug/foundry_cheatcodes.js.map +1 -1
  85. package/dist/debug/layout.d.ts +4 -6
  86. package/dist/debug/layout.d.ts.map +1 -1
  87. package/dist/debug/layout.js +13 -77
  88. package/dist/debug/layout.js.map +1 -1
  89. package/dist/debug/opcode_interposing.js +3 -3
  90. package/dist/debug/opcode_interposing.js.map +1 -1
  91. package/dist/debug/opcodes.d.ts.map +1 -1
  92. package/dist/debug/opcodes.js +3 -1
  93. package/dist/debug/opcodes.js.map +1 -1
  94. package/dist/debug/tracers/sol_debugger.d.ts.map +1 -1
  95. package/dist/debug/tracers/sol_debugger.js +2 -1
  96. package/dist/debug/tracers/sol_debugger.js.map +1 -1
  97. package/dist/debug/tracers/transformers/basic_info.d.ts.map +1 -1
  98. package/dist/debug/tracers/transformers/basic_info.js +4 -3
  99. package/dist/debug/tracers/transformers/basic_info.js.map +1 -1
  100. package/dist/debug/tracers/transformers/events.js +2 -2
  101. package/dist/debug/tracers/transformers/events.js.map +1 -1
  102. package/dist/debug/tracers/transformers/exc_info.d.ts +15 -0
  103. package/dist/debug/tracers/transformers/exc_info.d.ts.map +1 -0
  104. package/dist/debug/tracers/transformers/exc_info.js +39 -0
  105. package/dist/debug/tracers/transformers/exc_info.js.map +1 -0
  106. package/dist/debug/tracers/transformers/ext_stack.d.ts.map +1 -1
  107. package/dist/debug/tracers/transformers/ext_stack.js +11 -26
  108. package/dist/debug/tracers/transformers/ext_stack.js.map +1 -1
  109. package/dist/debug/tracers/transformers/index.d.ts +1 -0
  110. package/dist/debug/tracers/transformers/index.d.ts.map +1 -1
  111. package/dist/debug/tracers/transformers/index.js +1 -0
  112. package/dist/debug/tracers/transformers/index.js.map +1 -1
  113. package/dist/debug/tracers/transformers/int_stack.d.ts.map +1 -1
  114. package/dist/debug/tracers/transformers/int_stack.js +5 -13
  115. package/dist/debug/tracers/transformers/int_stack.js.map +1 -1
  116. package/dist/debug/tracers/transformers/keccak256_invert.js +4 -4
  117. package/dist/debug/tracers/transformers/keccak256_invert.js.map +1 -1
  118. package/dist/debug/tracers/transformers/ret_info.d.ts +1 -1
  119. package/dist/debug/tracers/transformers/ret_info.d.ts.map +1 -1
  120. package/dist/debug/tracers/transformers/ret_info.js +46 -32
  121. package/dist/debug/tracers/transformers/ret_info.js.map +1 -1
  122. package/dist/debug/types.d.ts +63 -22
  123. package/dist/debug/types.d.ts.map +1 -1
  124. package/dist/debug/types.js.map +1 -1
  125. package/dist/utils/index.d.ts +1 -0
  126. package/dist/utils/index.d.ts.map +1 -1
  127. package/dist/utils/index.js +1 -0
  128. package/dist/utils/index.js.map +1 -1
  129. package/dist/utils/misc.d.ts +16 -11
  130. package/dist/utils/misc.d.ts.map +1 -1
  131. package/dist/utils/misc.js +37 -49
  132. package/dist/utils/misc.js.map +1 -1
  133. package/dist/utils/pp.d.ts +3 -1
  134. package/dist/utils/pp.d.ts.map +1 -1
  135. package/dist/utils/pp.js +10 -27
  136. package/dist/utils/pp.js.map +1 -1
  137. package/dist/utils/solidity.d.ts +11 -0
  138. package/dist/utils/solidity.d.ts.map +1 -0
  139. package/dist/utils/solidity.js +69 -0
  140. package/dist/utils/solidity.js.map +1 -0
  141. package/dist/utils/test_runner.d.ts +5 -2
  142. package/dist/utils/test_runner.d.ts.map +1 -1
  143. package/dist/utils/test_runner.js +11 -7
  144. package/dist/utils/test_runner.js.map +1 -1
  145. package/dist/utils/trace.d.ts +5 -1
  146. package/dist/utils/trace.d.ts.map +1 -1
  147. package/dist/utils/trace.js +16 -0
  148. package/dist/utils/trace.js.map +1 -1
  149. package/dist/utils/types.d.ts +9 -0
  150. package/dist/utils/types.d.ts.map +1 -0
  151. package/dist/utils/types.js +3 -0
  152. package/dist/utils/types.js.map +1 -0
  153. package/package.json +8 -4
  154. package/dist/debug/decoding/calldata.d.ts +0 -6
  155. package/dist/debug/decoding/calldata.d.ts.map +0 -1
  156. package/dist/debug/decoding/calldata.js +0 -244
  157. package/dist/debug/decoding/calldata.js.map +0 -1
  158. package/dist/debug/decoding/memory.d.ts +0 -4
  159. package/dist/debug/decoding/memory.d.ts.map +0 -1
  160. package/dist/debug/decoding/memory.js +0 -216
  161. package/dist/debug/decoding/memory.js.map +0 -1
  162. package/dist/debug/decoding/stack.d.ts +0 -9
  163. package/dist/debug/decoding/stack.d.ts.map +0 -1
  164. package/dist/debug/decoding/stack.js +0 -84
  165. package/dist/debug/decoding/stack.js.map +0 -1
  166. package/dist/debug/decoding/storage.d.ts +0 -7
  167. package/dist/debug/decoding/storage.d.ts.map +0 -1
  168. package/dist/debug/decoding/storage.js +0 -393
  169. package/dist/debug/decoding/storage.js.map +0 -1
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isCalldataArrayType = isCalldataArrayType;
4
+ exports.inRange = inRange;
5
+ exports.isFailure = isFailure;
6
+ exports.isTypeStringDynamicArray = isTypeStringDynamicArray;
7
+ exports.isTypeStringMapping = isTypeStringMapping;
8
+ exports.isTypeStringStruct = isTypeStringStruct;
9
+ exports.isTypeStringStatic32BytesInStorage = isTypeStringStatic32BytesInStorage;
10
+ const solc_typed_ast_1 = require("solc-typed-ast");
11
+ const value_1 = require("./value");
12
+ function isCalldataArrayType(typ) {
13
+ return (typ instanceof solc_typed_ast_1.PointerType &&
14
+ ((typ.to instanceof solc_typed_ast_1.ArrayType && typ.to.size === undefined) ||
15
+ typ.to instanceof solc_typed_ast_1.PackedArrayType) &&
16
+ typ.location === solc_typed_ast_1.DataLocation.CallData);
17
+ }
18
+ /**
19
+ * Returns true IFF the n >= min && n <= max
20
+ *
21
+ * @param n
22
+ * @param min
23
+ * @param max
24
+ */
25
+ function inRange(n, min, max) {
26
+ return BigInt(n) >= BigInt(min) && BigInt(n) <= BigInt(max);
27
+ }
28
+ function isFailure(t) {
29
+ return t instanceof value_1.DecodingFailure;
30
+ }
31
+ function isTypeStringDynamicArray(t) {
32
+ return t.endsWith("[]");
33
+ }
34
+ function isTypeStringMapping(t) {
35
+ return t.startsWith("mapping(");
36
+ }
37
+ function isTypeStringStruct(t) {
38
+ return t.startsWith("struct ");
39
+ }
40
+ function isTypeStringStatic32BytesInStorage(t) {
41
+ return isTypeStringDynamicArray(t) || isTypeStringMapping(t);
42
+ }
43
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/debug/decoding/utils.ts"],"names":[],"mappings":";;AASA,kDAOC;AASD,0BAEC;AAED,8BAEC;AAED,4DAEC;AAED,kDAEC;AAED,gDAEC;AAED,gFAEC;AA/CD,mDAMwB;AACxB,mCAAiD;AAEjD,SAAgB,mBAAmB,CAAC,GAAa;IAC7C,OAAO,CACH,GAAG,YAAY,4BAAW;QAC1B,CAAC,CAAC,GAAG,CAAC,EAAE,YAAY,0BAAS,IAAI,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC;YACvD,GAAG,CAAC,EAAE,YAAY,gCAAe,CAAC;QACtC,GAAG,CAAC,QAAQ,KAAK,6BAAe,CAAC,QAAQ,CAC5C,CAAC;AACN,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,OAAO,CAAC,CAAkB,EAAE,GAAoB,EAAE,GAAoB;IAClF,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC;AAChE,CAAC;AAED,SAAgB,SAAS,CAAC,CAAQ;IAC9B,OAAO,CAAC,YAAY,uBAAe,CAAC;AACxC,CAAC;AAED,SAAgB,wBAAwB,CAAC,CAAS;IAC9C,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED,SAAgB,mBAAmB,CAAC,CAAS;IACzC,OAAO,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;AACpC,CAAC;AAED,SAAgB,kBAAkB,CAAC,CAAS;IACxC,OAAO,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AACnC,CAAC;AAED,SAAgB,kCAAkC,CAAC,CAAS;IACxD,OAAO,wBAAwB,CAAC,CAAC,CAAC,IAAI,mBAAmB,CAAC,CAAC,CAAC,CAAC;AACjE,CAAC"}
@@ -0,0 +1,50 @@
1
+ import { Address } from "@ethereumjs/util";
2
+ import { FunctionDefinition, TypeNode } from "solc-typed-ast";
3
+ import { View } from "./view";
4
+ export declare class ExternalFunRef {
5
+ readonly address: Address;
6
+ readonly selector: Uint8Array;
7
+ constructor(address: Address, selector: Uint8Array);
8
+ }
9
+ export declare class InternalFunRef {
10
+ readonly fun: FunctionDefinition;
11
+ constructor(fun: FunctionDefinition);
12
+ }
13
+ export type FunctionValue = ExternalFunRef | InternalFunRef;
14
+ export declare class Struct {
15
+ readonly entries: Array<[string, Value]>;
16
+ constructor(entries: Array<[string, Value]>);
17
+ field(name: string): Value;
18
+ }
19
+ export declare class Slice {
20
+ readonly array: Value[];
21
+ readonly start: number;
22
+ readonly end: number;
23
+ constructor(array: Value[], start: number, end: number);
24
+ }
25
+ export declare abstract class Poison {
26
+ abstract pp(): string;
27
+ }
28
+ export declare class DecodingFailure extends Poison {
29
+ readonly reason: string;
30
+ constructor(reason: string);
31
+ pp(): string;
32
+ }
33
+ /**
34
+ * Return true if `v` is a type of Poison.
35
+ * @param v
36
+ * @returns
37
+ */
38
+ export declare function isPoison(v: Value): v is Poison;
39
+ /**
40
+ * Return true if `v` contains any Poison inside.
41
+ * @param v
42
+ * @returns
43
+ */
44
+ export declare function hasPoison(v: Value): boolean;
45
+ /**
46
+ * Typescript types corresponding to various Solidity types.
47
+ * Includes both primitive (value) types and compound types
48
+ */
49
+ export type Value = bigint | boolean | Uint8Array | string | number | Address | FunctionValue | Value[] | Slice | Struct | Map<Value, Value> | View<any, Value, any, TypeNode> | Poison;
50
+ //# sourceMappingURL=value.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value.d.ts","sourceRoot":"","sources":["../../../src/debug/decoding/value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAU,kBAAkB,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACtE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAE9B,qBAAa,cAAc;aAEH,OAAO,EAAE,OAAO;aAChB,QAAQ,EAAE,UAAU;gBADpB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,UAAU;CAE3C;AAED,qBAAa,cAAc;aACK,GAAG,EAAE,kBAAkB;gBAAvB,GAAG,EAAE,kBAAkB;CACtD;AAED,MAAM,MAAM,aAAa,GAAG,cAAc,GAAG,cAAc,CAAC;AAE5D,qBAAa,MAAM;aACa,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;gBAA/B,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC3D,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK;CAS7B;AAED,qBAAa,KAAK;aAEM,KAAK,EAAE,KAAK,EAAE;aACd,KAAK,EAAE,MAAM;aACb,GAAG,EAAE,MAAM;gBAFX,KAAK,EAAE,KAAK,EAAE,EACd,KAAK,EAAE,MAAM,EACb,GAAG,EAAE,MAAM;CAElC;AAED,8BAAsB,MAAM;IACxB,QAAQ,CAAC,EAAE,IAAI,MAAM;CACxB;AAED,qBAAa,eAAgB,SAAQ,MAAM;aACX,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM;IAI1C,EAAE,IAAI,MAAM;CAGf;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,IAAI,MAAM,CAE9C;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,OAAO,CA8C3C;AAED;;;GAGG;AACH,MAAM,MAAM,KAAK,GACX,MAAM,GACN,OAAO,GACP,UAAU,GACV,MAAM,GACN,MAAM,GACN,OAAO,GACP,aAAa,GACb,KAAK,EAAE,GACP,KAAK,GACL,MAAM,GACN,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,GAGjB,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,GAC/B,MAAM,CAAC"}
@@ -0,0 +1,106 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DecodingFailure = exports.Poison = exports.Slice = exports.Struct = exports.InternalFunRef = exports.ExternalFunRef = void 0;
4
+ exports.isPoison = isPoison;
5
+ exports.hasPoison = hasPoison;
6
+ const solc_typed_ast_1 = require("solc-typed-ast");
7
+ class ExternalFunRef {
8
+ constructor(address, selector) {
9
+ this.address = address;
10
+ this.selector = selector;
11
+ }
12
+ }
13
+ exports.ExternalFunRef = ExternalFunRef;
14
+ class InternalFunRef {
15
+ constructor(fun) {
16
+ this.fun = fun;
17
+ }
18
+ }
19
+ exports.InternalFunRef = InternalFunRef;
20
+ class Struct {
21
+ constructor(entries) {
22
+ this.entries = entries;
23
+ }
24
+ field(name) {
25
+ for (const [fieldName, val] of this.entries) {
26
+ if (name === fieldName) {
27
+ return val;
28
+ }
29
+ }
30
+ (0, solc_typed_ast_1.assert)(false, `No field ${name} in ${this.entries}`);
31
+ }
32
+ }
33
+ exports.Struct = Struct;
34
+ class Slice {
35
+ constructor(array, start, end) {
36
+ this.array = array;
37
+ this.start = start;
38
+ this.end = end;
39
+ }
40
+ }
41
+ exports.Slice = Slice;
42
+ class Poison {
43
+ }
44
+ exports.Poison = Poison;
45
+ class DecodingFailure extends Poison {
46
+ constructor(reason) {
47
+ super();
48
+ this.reason = reason;
49
+ }
50
+ pp() {
51
+ return `<err:${this.reason}>`;
52
+ }
53
+ }
54
+ exports.DecodingFailure = DecodingFailure;
55
+ /**
56
+ * Return true if `v` is a type of Poison.
57
+ * @param v
58
+ * @returns
59
+ */
60
+ function isPoison(v) {
61
+ return v instanceof Poison;
62
+ }
63
+ /**
64
+ * Return true if `v` contains any Poison inside.
65
+ * @param v
66
+ * @returns
67
+ */
68
+ function hasPoison(v) {
69
+ if (isPoison(v)) {
70
+ return true;
71
+ }
72
+ if (v instanceof Array) {
73
+ for (const el of v) {
74
+ if (hasPoison(el)) {
75
+ return true;
76
+ }
77
+ }
78
+ return false;
79
+ }
80
+ if (v instanceof Slice) {
81
+ for (const el of v.array.slice(v.start, v.end)) {
82
+ if (hasPoison(el)) {
83
+ return true;
84
+ }
85
+ }
86
+ return false;
87
+ }
88
+ if (v instanceof Struct) {
89
+ for (const [, field] of v.entries) {
90
+ if (hasPoison(field)) {
91
+ return true;
92
+ }
93
+ }
94
+ return false;
95
+ }
96
+ if (v instanceof Map) {
97
+ for (const [key, val] of v.entries()) {
98
+ if (hasPoison(key) || hasPoison(val)) {
99
+ return true;
100
+ }
101
+ }
102
+ return false;
103
+ }
104
+ return false;
105
+ }
106
+ //# sourceMappingURL=value.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"value.js","sourceRoot":"","sources":["../../../src/debug/decoding/value.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { TypeNode } from "solc-typed-ast";
2
+ import { DecodingFailure, Value } from "./value";
3
+ import { Memory, Stack } from "../types";
4
+ export type StateArea = Memory | Stack | Storage;
5
+ /**
6
+ * Base class for all data {@link View}s. Views are parametrized by the {@link State} they project from (e.g. Memory, Storage, Calldata),
7
+ * the Solidity {@link Type} of the element they are decoding as well as Typescript type of the {@link Value} they decode.
8
+ */
9
+ export declare abstract class View<State = StateArea, Val extends Value = Value, Loc = any, Type extends TypeNode = TypeNode> {
10
+ readonly type: Type;
11
+ protected loc: Loc;
12
+ constructor(type: Type, loc: Loc);
13
+ /**
14
+ * Decode a value from the given State
15
+ * @param state
16
+ */
17
+ abstract decode(state: State): Val | DecodingFailure;
18
+ abstract pp(): string;
19
+ }
20
+ //# sourceMappingURL=view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/debug/decoding/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;AAEjD;;;GAGG;AACH,8BAAsB,IAAI,CACtB,KAAK,GAAG,SAAS,EACjB,GAAG,SAAS,KAAK,GAAG,KAAK,EACzB,GAAG,GAAG,GAAG,EACT,IAAI,SAAS,QAAQ,GAAG,QAAQ;aAGZ,IAAI,EAAE,IAAI;IAC1B,SAAS,CAAC,GAAG,EAAE,GAAG;gBADF,IAAI,EAAE,IAAI,EAChB,GAAG,EAAE,GAAG;IAGtB;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,GAAG,eAAe;IACpD,QAAQ,CAAC,EAAE,IAAI,MAAM;CAExB"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.View = void 0;
4
+ /**
5
+ * Base class for all data {@link View}s. Views are parametrized by the {@link State} they project from (e.g. Memory, Storage, Calldata),
6
+ * the Solidity {@link Type} of the element they are decoding as well as Typescript type of the {@link Value} they decode.
7
+ */
8
+ class View {
9
+ constructor(type, loc) {
10
+ this.type = type;
11
+ this.loc = loc;
12
+ }
13
+ }
14
+ exports.View = View;
15
+ //# sourceMappingURL=view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/debug/decoding/view.ts"],"names":[],"mappings":";;;AAMA;;;GAGG;AACH,MAAsB,IAAI;IAMtB,YACoB,IAAU,EAChB,GAAQ;QADF,SAAI,GAAJ,IAAI,CAAM;QAChB,QAAG,GAAH,GAAG,CAAK;IACnB,CAAC;CASP;AAlBD,oBAkBC"}
@@ -8,8 +8,8 @@ const evm_1 = require("@ethereumjs/evm");
8
8
  const util_1 = require("@ethereumjs/util");
9
9
  const keccak_js_1 = require("ethereum-cryptography/keccak.js");
10
10
  const utils_1 = require("ethereum-cryptography/utils");
11
- const utils_2 = require("../utils");
12
11
  const exceptions_1 = require("../utils/ethereumjs_internal/exceptions");
12
+ const misc_1 = require("../utils/misc");
13
13
  /**
14
14
  * Each test/cases/debug session is associated with a unique VM. And there are
15
15
  * multiple interpreter instances per VM. We keep 1 event emitter per VM, so
@@ -81,7 +81,7 @@ function returnStateMatchesRevert(ret, state, expected) {
81
81
  if (excDataSize < 4n || excData.length < 4) {
82
82
  return false;
83
83
  }
84
- const actualSelector = (0, utils_2.bigEndianBufToBigint)(excData.slice(0, 4));
84
+ const actualSelector = (0, misc_1.bigEndianBufToBigint)(excData.slice(0, 4));
85
85
  return expected === actualSelector;
86
86
  }
87
87
  let actualBytes;
@@ -288,8 +288,8 @@ function makeFoundryCheatcodePrecompile() {
288
288
  const pk = input.data.slice(4, 36);
289
289
  const digest = input.data.slice(36, 68);
290
290
  const sig = secp256k1.sign(digest, pk);
291
- const r = (0, utils_2.bigIntToBuf)(sig.r, 32, "big");
292
- const s = (0, utils_2.bigIntToBuf)(sig.s, 32, "big");
291
+ const r = (0, misc_1.bigIntToBuf)(sig.r, 32, "big");
292
+ const s = (0, misc_1.bigIntToBuf)(sig.s, 32, "big");
293
293
  const v = (0, util_1.setLengthLeft)(new Uint8Array([sig.recovery + 27]), 32);
294
294
  return {
295
295
  executionGasUsed: 0n,
@@ -415,7 +415,7 @@ function makeFoundryCheatcodePrecompile() {
415
415
  return (0, exceptions_1.EvmErrorResult)(new evm_1.EvmError(exceptions_1.ERROR.REVERT), 0n);
416
416
  }
417
417
  const selector = input.data.slice(4, 8);
418
- ctx.expectRevert((0, utils_2.bigEndianBufToBigint)(selector));
418
+ ctx.expectRevert((0, misc_1.bigEndianBufToBigint)(selector));
419
419
  return {
420
420
  executionGasUsed: 0n,
421
421
  returnValue: new Uint8Array()
@@ -425,7 +425,7 @@ function makeFoundryCheatcodePrecompile() {
425
425
  if (input.data.length < 68) {
426
426
  return (0, exceptions_1.EvmErrorResult)(new evm_1.EvmError(exceptions_1.ERROR.REVERT), 0n);
427
427
  }
428
- const len = Number((0, utils_2.bigEndianBufToBigint)(input.data.slice(36, 68)));
428
+ const len = Number((0, misc_1.bigEndianBufToBigint)(input.data.slice(36, 68)));
429
429
  if (input.data.length < 68 + len) {
430
430
  return (0, exceptions_1.EvmErrorResult)(new evm_1.EvmError(exceptions_1.ERROR.REVERT), 0n);
431
431
  }
@@ -1 +1 @@
1
- {"version":3,"file":"foundry_cheatcodes.js","sourceRoot":"","sources":["../../src/debug/foundry_cheatcodes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"foundry_cheatcodes.js","sourceRoot":"","sources":["../../src/debug/foundry_cheatcodes.ts"],"names":[],"mappings":"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"}
@@ -2,14 +2,12 @@ import { EVMStateManagerInterface } from "@ethereumjs/common";
2
2
  import { Address } from "@ethereumjs/util";
3
3
  import { ContractDefinition, InferType } from "solc-typed-ast";
4
4
  import { IArtifactManager } from "./artifact_manager";
5
- import { KeccakPreimageMap, MapKeys } from "./tracers";
5
+ import { KeccakPreimageMap, MapKeys } from "./tracers/transformers/keccak256_invert";
6
6
  import { Storage } from "./types";
7
- export interface ContractSolidityState {
8
- [key: string]: any;
9
- }
7
+ import { Struct } from "./decoding/value";
10
8
  export type ContractStates = {
11
- [addres: string]: ContractSolidityState;
9
+ [addres: string]: Struct;
12
10
  };
13
11
  export declare function decodeContractStates(artifactManager: IArtifactManager, contracts: Iterable<Address>, state: EVMStateManagerInterface, preimages: KeccakPreimageMap): Promise<ContractStates>;
14
- export declare function decodeContractState(artifactManager: IArtifactManager, infer: InferType, contract: ContractDefinition, storage: Storage, mapKeys?: MapKeys): ContractSolidityState | undefined;
12
+ export declare function decodeContractState(infer: InferType, contract: ContractDefinition, storage: Storage, mapKeys?: MapKeys): Struct;
15
13
  //# sourceMappingURL=layout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/debug/layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAEH,kBAAkB,EAClB,SAAS,EAKZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAA0B,iBAAiB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC/E,OAAO,EAAoB,OAAO,EAAmB,MAAM,SAAS,CAAC;AAErE,MAAM,WAAW,qBAAqB;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAED,MAAM,MAAM,cAAc,GAAG;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,qBAAqB,CAAA;CAAE,CAAC;AAMzE,wBAAsB,oBAAoB,CACtC,eAAe,EAAE,gBAAgB,EACjC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,EAC5B,KAAK,EAAE,wBAAwB,EAC/B,SAAS,EAAE,iBAAiB,GAC7B,OAAO,CAAC,cAAc,CAAC,CA6BzB;AAED,wBAAgB,mBAAmB,CAC/B,eAAe,EAAE,gBAAgB,EACjC,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,OAAO,GAClB,qBAAqB,GAAG,SAAS,CAqFnC"}
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/debug/layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAU,kBAAkB,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAc,iBAAiB,EAAE,OAAO,EAAE,MAAM,yCAAyC,CAAC;AACjG,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,MAAM,MAAM,cAAc,GAAG;IAAE,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAE1D,wBAAsB,oBAAoB,CACtC,eAAe,EAAE,gBAAgB,EACjC,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,EAC5B,KAAK,EAAE,wBAAwB,EAC/B,SAAS,EAAE,iBAAiB,GAC7B,OAAO,CAAC,cAAc,CAAC,CAuBzB;AAED,wBAAgB,mBAAmB,CAC/B,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,OAAO,GAClB,MAAM,CAQR"}
@@ -3,15 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.decodeContractStates = decodeContractStates;
4
4
  exports.decodeContractState = decodeContractState;
5
5
  const solc_typed_ast_1 = require("solc-typed-ast");
6
+ const basic_info_1 = require("./tracers/transformers/basic_info");
7
+ const keccak256_invert_1 = require("./tracers/transformers/keccak256_invert");
6
8
  const decoding_1 = require("./decoding");
7
- const tracers_1 = require("./tracers");
8
- const types_1 = require("./types");
9
- function isTypeStringStatic32Bytes(t) {
10
- return t.endsWith("[]") || t.includes("mapping(");
11
- }
9
+ const utils_1 = require("./decoding/utils");
10
+ const value_1 = require("./decoding/value");
12
11
  async function decodeContractStates(artifactManager, contracts, state, preimages) {
13
12
  const res = {};
14
- const mapKeys = (0, tracers_1.getMapKeys)(preimages);
13
+ const mapKeys = (0, keccak256_invert_1.getMapKeys)(preimages);
15
14
  for (const addr of contracts) {
16
15
  const code = await state.getContractCode(addr);
17
16
  const info = artifactManager.getContractFromDeployedBytecode(code);
@@ -19,82 +18,19 @@ async function decodeContractStates(artifactManager, contracts, state, preimages
19
18
  continue;
20
19
  }
21
20
  const infer = artifactManager.infer(info.artifact.compilerVersion);
22
- const storage = await (0, tracers_1.getStorage)(state, addr);
23
- const contractState = decodeContractState(artifactManager, infer, info.ast, storage, mapKeys);
21
+ const storage = await (0, basic_info_1.getStorage)(state, addr);
22
+ const contractState = decodeContractState(infer, info.ast, storage, mapKeys);
24
23
  if (contractState) {
25
24
  res[addr.toString()] = contractState;
26
25
  }
27
26
  }
28
27
  return res;
29
28
  }
30
- function decodeContractState(artifactManager, infer, contract, storage, mapKeys) {
31
- const res = {};
32
- let loc = {
33
- kind: types_1.DataLocationKind.Storage,
34
- address: BigInt(0),
35
- endOffsetInWord: 32
36
- };
37
- // If this is set, we set all remaining state vars in res to `undefined`.
38
- // This is set when a failure in decoding prevents us from computing the rest of the
39
- // contract layout. This could be due to a missing base contract or a missing type definition
40
- // for a struct or user-defined value type.
41
- let cannotDecodeRemaining = false;
42
- for (const base of [...contract.vLinearizedBaseContracts].reverse()) {
43
- if (base === null || base === undefined) {
44
- cannotDecodeRemaining = true;
45
- continue;
46
- }
47
- for (const varDecl of base.vStateVariables) {
48
- // Not part of layout
49
- if (varDecl.mutability === solc_typed_ast_1.Mutability.Constant ||
50
- varDecl.mutability === solc_typed_ast_1.Mutability.Immutable) {
51
- // @todo Support decoding constant state variables
52
- res[varDecl.name] = undefined;
53
- continue;
54
- }
55
- if (cannotDecodeRemaining) {
56
- res[varDecl.name] = undefined;
57
- continue;
58
- }
59
- let typeNode;
60
- try {
61
- typeNode = infer.variableDeclarationToTypeNode(varDecl);
62
- }
63
- catch (e) {
64
- /**
65
- * Missing type info. If this is a:
66
- * - map type
67
- * - array type
68
- *
69
- * then we can continue decoding as it takes exactly 32 bytes
70
- * statically in the layout. Otherwise we have to abort decoding
71
- */
72
- res[varDecl.name] = undefined;
73
- if (isTypeStringStatic32Bytes(varDecl.typeString)) {
74
- loc = (0, decoding_1.nextWord)(loc.endOffsetInWord === 32 ? loc : (0, decoding_1.nextWord)(loc));
75
- }
76
- else {
77
- cannotDecodeRemaining = true;
78
- }
79
- continue;
80
- }
81
- loc = (0, decoding_1.roundLocToType)(loc, typeNode, infer);
82
- const arg = (0, decoding_1.stor_decodeValue)(typeNode, loc, storage, infer, mapKeys);
83
- if (arg === undefined) {
84
- if (typeNode instanceof solc_typed_ast_1.PointerType &&
85
- (typeNode.to instanceof solc_typed_ast_1.ArrayType || typeNode.to instanceof solc_typed_ast_1.MappingType)) {
86
- loc = (0, decoding_1.nextWord)(loc.endOffsetInWord === 32 ? loc : (0, decoding_1.nextWord)(loc));
87
- }
88
- else {
89
- cannotDecodeRemaining = true;
90
- }
91
- continue;
92
- }
93
- const [value, nextLoc] = arg;
94
- res[varDecl.name] = value;
95
- loc = nextLoc;
96
- }
97
- }
98
- return res;
29
+ function decodeContractState(infer, contract, storage, mapKeys) {
30
+ const [layout] = (0, decoding_1.getContractLayoutType)(contract, infer);
31
+ const view = (0, decoding_1.makeStorageView)(layout, [0n, 32]);
32
+ const structState = view.decode(storage, mapKeys);
33
+ (0, solc_typed_ast_1.assert)(!(0, utils_1.isFailure)(structState) && structState instanceof value_1.Struct, ``);
34
+ return structState;
99
35
  }
100
36
  //# sourceMappingURL=layout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/debug/layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/debug/layout.ts"],"names":[],"mappings":";;AAaA,oDA4BC;AAED,kDAaC;AAtDD,mDAAuE;AAEvE,kEAA+D;AAC/D,8EAAiG;AAEjG,yCAAoE;AACpE,4CAA6C;AAC7C,4CAA0C;AAInC,KAAK,UAAU,oBAAoB,CACtC,eAAiC,EACjC,SAA4B,EAC5B,KAA+B,EAC/B,SAA4B;IAE5B,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,MAAM,OAAO,GAAG,IAAA,6BAAU,EAAC,SAAS,CAAC,CAAC;IAEtC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,eAAe,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;QAEnE,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACrB,SAAS;QACb,CAAC;QAED,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,MAAM,IAAA,uBAAU,EAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAE9C,MAAM,aAAa,GAAG,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAE7E,IAAI,aAAa,EAAE,CAAC;YAChB,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,GAAG,aAAa,CAAC;QACzC,CAAC;IACL,CAAC;IAED,OAAO,GAAG,CAAC;AACf,CAAC;AAED,SAAgB,mBAAmB,CAC/B,KAAgB,EAChB,QAA4B,EAC5B,OAAgB,EAChB,OAAiB;IAEjB,MAAM,CAAC,MAAM,CAAC,GAAG,IAAA,gCAAqB,EAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,IAAA,0BAAe,EAAC,MAAM,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAElD,IAAA,uBAAM,EAAC,CAAC,IAAA,iBAAS,EAAC,WAAW,CAAC,IAAI,WAAW,YAAY,cAAM,EAAE,EAAE,CAAC,CAAC;IAErE,OAAO,WAAW,CAAC;AACvB,CAAC"}
@@ -2,9 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.foundryInterposedOps = foundryInterposedOps;
4
4
  const util_1 = require("@ethereumjs/util");
5
- const utils_1 = require("../utils");
6
5
  const ethereumjs_internal_1 = require("../utils/ethereumjs_internal");
7
6
  const exceptions_1 = require("../utils/ethereumjs_internal/exceptions");
7
+ const misc_1 = require("../utils/misc");
8
8
  const foundry_cheatcodes_1 = require("./foundry_cheatcodes");
9
9
  function interopseOnOp(code, opcodes, handler) {
10
10
  const originalOp = opcodes.opcodes.get(code);
@@ -43,7 +43,7 @@ function foundryInterposedOps(opcodes, foundryCtx) {
43
43
  (runState) => {
44
44
  const [, prankOrigin] = foundryCtx.matchPrank(true);
45
45
  const origin = prankOrigin instanceof util_1.Address
46
- ? (0, utils_1.bigEndianBufToBigint)(prankOrigin.toBytes())
46
+ ? (0, misc_1.bigEndianBufToBigint)(prankOrigin.toBytes())
47
47
  : runState.interpreter.getTxOrigin();
48
48
  runState.stack.push(origin);
49
49
  }
@@ -53,7 +53,7 @@ function foundryInterposedOps(opcodes, foundryCtx) {
53
53
  (runState) => {
54
54
  const [prankSender] = foundryCtx.matchPrank(false);
55
55
  const caller = prankSender instanceof util_1.Address
56
- ? (0, utils_1.bigEndianBufToBigint)(prankSender.toBytes())
56
+ ? (0, misc_1.bigEndianBufToBigint)(prankSender.toBytes())
57
57
  : runState.interpreter.getCaller();
58
58
  runState.stack.push(caller);
59
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"opcode_interposing.js","sourceRoot":"","sources":["../../src/debug/opcode_interposing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opcode_interposing.js","sourceRoot":"","sources":["../../src/debug/opcode_interposing.ts"],"names":[],"mappings":"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"}