sol-dbg 0.6.15 → 0.7.2

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 (181) 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 -22
  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 +4 -3
  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 +75 -0
  32. package/dist/debug/decoding/calldata/view.d.ts.map +1 -0
  33. package/dist/debug/decoding/calldata/view.js +400 -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/allocator.d.ts +22 -0
  48. package/dist/debug/decoding/memory/allocator.d.ts.map +1 -0
  49. package/dist/debug/decoding/memory/allocator.js +47 -0
  50. package/dist/debug/decoding/memory/allocator.js.map +1 -0
  51. package/dist/debug/decoding/memory/index.d.ts +2 -0
  52. package/dist/debug/decoding/memory/index.d.ts.map +1 -0
  53. package/dist/debug/decoding/memory/index.js +6 -0
  54. package/dist/debug/decoding/memory/index.js.map +1 -0
  55. package/dist/debug/decoding/memory/view.d.ts +66 -0
  56. package/dist/debug/decoding/memory/view.d.ts.map +1 -0
  57. package/dist/debug/decoding/memory/view.js +283 -0
  58. package/dist/debug/decoding/memory/view.js.map +1 -0
  59. package/dist/debug/decoding/stack/index.d.ts +2 -0
  60. package/dist/debug/decoding/stack/index.d.ts.map +1 -0
  61. package/dist/debug/decoding/stack/index.js +6 -0
  62. package/dist/debug/decoding/stack/index.js.map +1 -0
  63. package/dist/debug/decoding/stack/view.d.ts +36 -0
  64. package/dist/debug/decoding/stack/view.d.ts.map +1 -0
  65. package/dist/debug/decoding/stack/view.js +156 -0
  66. package/dist/debug/decoding/stack/view.js.map +1 -0
  67. package/dist/debug/decoding/storage/index.d.ts +2 -0
  68. package/dist/debug/decoding/storage/index.d.ts.map +1 -0
  69. package/dist/debug/decoding/storage/index.js +6 -0
  70. package/dist/debug/decoding/storage/index.js.map +1 -0
  71. package/dist/debug/decoding/storage/view.d.ts +105 -0
  72. package/dist/debug/decoding/storage/view.d.ts.map +1 -0
  73. package/dist/debug/decoding/storage/view.js +603 -0
  74. package/dist/debug/decoding/storage/view.js.map +1 -0
  75. package/dist/debug/decoding/utils.d.ts +17 -0
  76. package/dist/debug/decoding/utils.d.ts.map +1 -0
  77. package/dist/debug/decoding/utils.js +43 -0
  78. package/dist/debug/decoding/utils.js.map +1 -0
  79. package/dist/debug/decoding/value.d.ts +50 -0
  80. package/dist/debug/decoding/value.d.ts.map +1 -0
  81. package/dist/debug/decoding/value.js +106 -0
  82. package/dist/debug/decoding/value.js.map +1 -0
  83. package/dist/debug/decoding/view.d.ts +24 -0
  84. package/dist/debug/decoding/view.d.ts.map +1 -0
  85. package/dist/debug/decoding/view.js +22 -0
  86. package/dist/debug/decoding/view.js.map +1 -0
  87. package/dist/debug/foundry_cheatcodes.d.ts +15 -15
  88. package/dist/debug/foundry_cheatcodes.d.ts.map +1 -1
  89. package/dist/debug/foundry_cheatcodes.js +17 -16
  90. package/dist/debug/foundry_cheatcodes.js.map +1 -1
  91. package/dist/debug/layout.d.ts +6 -8
  92. package/dist/debug/layout.d.ts.map +1 -1
  93. package/dist/debug/layout.js +14 -78
  94. package/dist/debug/layout.js.map +1 -1
  95. package/dist/debug/opcode_interposing.js +5 -5
  96. package/dist/debug/opcode_interposing.js.map +1 -1
  97. package/dist/debug/tracers/base_tracer.d.ts +4 -4
  98. package/dist/debug/tracers/base_tracer.d.ts.map +1 -1
  99. package/dist/debug/tracers/base_tracer.js +7 -7
  100. package/dist/debug/tracers/base_tracer.js.map +1 -1
  101. package/dist/debug/tracers/sol_debugger.d.ts.map +1 -1
  102. package/dist/debug/tracers/sol_debugger.js +2 -1
  103. package/dist/debug/tracers/sol_debugger.js.map +1 -1
  104. package/dist/debug/tracers/storage_decode_tracer.js +1 -1
  105. package/dist/debug/tracers/storage_decode_tracer.js.map +1 -1
  106. package/dist/debug/tracers/transformers/basic_info.d.ts +2 -2
  107. package/dist/debug/tracers/transformers/basic_info.d.ts.map +1 -1
  108. package/dist/debug/tracers/transformers/basic_info.js +4 -3
  109. package/dist/debug/tracers/transformers/basic_info.js.map +1 -1
  110. package/dist/debug/tracers/transformers/events.js +2 -2
  111. package/dist/debug/tracers/transformers/events.js.map +1 -1
  112. package/dist/debug/tracers/transformers/exc_info.d.ts +15 -0
  113. package/dist/debug/tracers/transformers/exc_info.d.ts.map +1 -0
  114. package/dist/debug/tracers/transformers/exc_info.js +39 -0
  115. package/dist/debug/tracers/transformers/exc_info.js.map +1 -0
  116. package/dist/debug/tracers/transformers/ext_stack.d.ts.map +1 -1
  117. package/dist/debug/tracers/transformers/ext_stack.js +13 -30
  118. package/dist/debug/tracers/transformers/ext_stack.js.map +1 -1
  119. package/dist/debug/tracers/transformers/index.d.ts +1 -0
  120. package/dist/debug/tracers/transformers/index.d.ts.map +1 -1
  121. package/dist/debug/tracers/transformers/index.js +1 -0
  122. package/dist/debug/tracers/transformers/index.js.map +1 -1
  123. package/dist/debug/tracers/transformers/int_stack.d.ts.map +1 -1
  124. package/dist/debug/tracers/transformers/int_stack.js +5 -13
  125. package/dist/debug/tracers/transformers/int_stack.js.map +1 -1
  126. package/dist/debug/tracers/transformers/keccak256_invert.js +4 -4
  127. package/dist/debug/tracers/transformers/keccak256_invert.js.map +1 -1
  128. package/dist/debug/tracers/transformers/ret_info.d.ts +1 -1
  129. package/dist/debug/tracers/transformers/ret_info.d.ts.map +1 -1
  130. package/dist/debug/tracers/transformers/ret_info.js +22 -46
  131. package/dist/debug/tracers/transformers/ret_info.js.map +1 -1
  132. package/dist/debug/types.d.ts +64 -23
  133. package/dist/debug/types.d.ts.map +1 -1
  134. package/dist/debug/types.js.map +1 -1
  135. package/dist/utils/ethereumjs_internal/exceptions.d.ts +2 -2
  136. package/dist/utils/ethereumjs_internal/opcodes.js +1 -1
  137. package/dist/utils/immutable_map.d.ts +2 -0
  138. package/dist/utils/immutable_map.d.ts.map +1 -1
  139. package/dist/utils/immutable_map.js +21 -0
  140. package/dist/utils/immutable_map.js.map +1 -1
  141. package/dist/utils/index.d.ts +1 -0
  142. package/dist/utils/index.d.ts.map +1 -1
  143. package/dist/utils/index.js +1 -0
  144. package/dist/utils/index.js.map +1 -1
  145. package/dist/utils/misc.d.ts +19 -11
  146. package/dist/utils/misc.d.ts.map +1 -1
  147. package/dist/utils/misc.js +61 -53
  148. package/dist/utils/misc.js.map +1 -1
  149. package/dist/utils/pp.d.ts +3 -1
  150. package/dist/utils/pp.d.ts.map +1 -1
  151. package/dist/utils/pp.js +10 -27
  152. package/dist/utils/pp.js.map +1 -1
  153. package/dist/utils/solidity.d.ts +11 -0
  154. package/dist/utils/solidity.d.ts.map +1 -0
  155. package/dist/utils/solidity.js +85 -0
  156. package/dist/utils/solidity.js.map +1 -0
  157. package/dist/utils/test_runner.d.ts +9 -6
  158. package/dist/utils/test_runner.d.ts.map +1 -1
  159. package/dist/utils/test_runner.js +26 -21
  160. package/dist/utils/test_runner.js.map +1 -1
  161. package/dist/utils/trace.d.ts +5 -1
  162. package/dist/utils/trace.d.ts.map +1 -1
  163. package/dist/utils/trace.js +16 -0
  164. package/dist/utils/trace.js.map +1 -1
  165. package/package.json +19 -14
  166. package/dist/debug/decoding/calldata.d.ts +0 -6
  167. package/dist/debug/decoding/calldata.d.ts.map +0 -1
  168. package/dist/debug/decoding/calldata.js +0 -244
  169. package/dist/debug/decoding/calldata.js.map +0 -1
  170. package/dist/debug/decoding/memory.d.ts +0 -4
  171. package/dist/debug/decoding/memory.d.ts.map +0 -1
  172. package/dist/debug/decoding/memory.js +0 -216
  173. package/dist/debug/decoding/memory.js.map +0 -1
  174. package/dist/debug/decoding/stack.d.ts +0 -9
  175. package/dist/debug/decoding/stack.d.ts.map +0 -1
  176. package/dist/debug/decoding/stack.js +0 -84
  177. package/dist/debug/decoding/stack.js.map +0 -1
  178. package/dist/debug/decoding/storage.d.ts +0 -7
  179. package/dist/debug/decoding/storage.d.ts.map +0 -1
  180. package/dist/debug/decoding/storage.js +0 -393
  181. package/dist/debug/decoding/storage.js.map +0 -1
@@ -4,15 +4,14 @@ exports.topExtFrame = topExtFrame;
4
4
  exports.getContractInfo = getContractInfo;
5
5
  exports.getCode = getCode;
6
6
  exports.addExternalFrame = addExternalFrame;
7
- const util_1 = require("@ethereumjs/util");
8
7
  const solc_typed_ast_1 = require("solc-typed-ast");
9
8
  const artifacts_1 = require("../../../artifacts");
10
- const utils_1 = require("../../../utils");
11
- const abi_1 = require("../../abi");
9
+ const misc_1 = require("../../../utils/misc");
12
10
  const opcodes_1 = require("../../opcodes");
13
11
  const types_1 = require("../../types");
12
+ const abi_1 = require("../../abi");
14
13
  function topExtFrame(arg) {
15
- return (0, utils_1.stackTop)(arg.stack);
14
+ return (0, misc_1.stackTop)(arg.stack);
16
15
  }
17
16
  function getContractInfo(step) {
18
17
  return topExtFrame(step).info;
@@ -20,35 +19,19 @@ function getContractInfo(step) {
20
19
  function getCode(step) {
21
20
  return topExtFrame(step).code;
22
21
  }
23
- /**
24
- * Given a contract info and a function selector find the (potentially inherited) entry point (function or public var getter).
25
- * @param info
26
- * @param selector
27
- * @returns
28
- */
29
- function findEntryPoint(info, selector, artifactManager) {
30
- if (info.ast === undefined) {
31
- return undefined;
32
- }
33
- const contract = info.ast;
34
- const infer = artifactManager.infer(info.artifact.compilerVersion);
35
- return (0, abi_1.findMethodBySelector)(selector, contract, infer);
36
- }
37
22
  /**
38
23
  * Build a `CallFrame` from the given `sender` address, `receiver` address, `data` `Uint8Array`, (msg.data) and the current trace step number.
39
24
  */
40
25
  function makeCallFrame(sender, receiver, codeAddress, data, receiverCode, codeHash, step, artifactManager) {
41
26
  const contractInfo = codeHash === undefined ? codeHash : artifactManager.getContractFromMDHash(codeHash);
42
- const selector = (0, util_1.bytesToHex)(data.slice(0, 4)).slice(2);
43
27
  let callee;
44
28
  let args;
45
29
  if (contractInfo && contractInfo.ast) {
46
- const abiVersion = contractInfo.artifact.abiEncoderVersion;
47
30
  const infer = artifactManager.infer(contractInfo.artifact.compilerVersion);
48
- callee = findEntryPoint(contractInfo, selector, artifactManager);
31
+ callee = artifactManager.findEntryPoint(data, contractInfo);
49
32
  if (callee !== undefined) {
50
33
  try {
51
- args = (0, abi_1.buildMsgDataViews)(callee, data, types_1.DataLocationKind.CallData, infer, abiVersion);
34
+ args = (0, abi_1.buildMsgViews)(callee, infer);
52
35
  }
53
36
  catch (e) {
54
37
  args = undefined;
@@ -57,9 +40,9 @@ function makeCallFrame(sender, receiver, codeAddress, data, receiverCode, codeHa
57
40
  }
58
41
  return {
59
42
  kind: types_1.FrameKind.Call,
60
- sender, // TODO: This should be Address
43
+ sender,
61
44
  msgData: data,
62
- receiver: receiver, // TODO: This should be Address
45
+ receiver: receiver,
63
46
  code: receiverCode,
64
47
  info: contractInfo,
65
48
  callee,
@@ -88,7 +71,7 @@ function makeCreationFrame(sender, data, step, artifactManager) {
88
71
  code: data,
89
72
  info: contractInfo,
90
73
  callee,
91
- address: utils_1.ZERO_ADDRESS,
74
+ address: misc_1.ZERO_ADDRESS,
92
75
  startStep: step,
93
76
  arguments: args,
94
77
  codeMdHash: (0, artifacts_1.getCreationCodeHash)(data),
@@ -111,10 +94,10 @@ function decodeCall(step) {
111
94
  const stackTop = step.evmStack.length - 1;
112
95
  const argStackOff = op.opcode === opcodes_1.OPCODES.CALL || op.opcode === opcodes_1.OPCODES.CALLCODE ? 3 : 2;
113
96
  const argSizeStackOff = argStackOff + 1;
114
- const receiverArg = (0, utils_1.wordToAddress)(step.evmStack[stackTop - 1]);
97
+ const receiverArg = (0, misc_1.wordToAddress)(step.evmStack[stackTop - 1]);
115
98
  const receiver = op.opcode === opcodes_1.OPCODES.DELEGATECALL ? step.address : receiverArg;
116
99
  const codeAddr = receiverArg;
117
- const msgData = (0, utils_1.mustReadMem)(step.evmStack[stackTop - argStackOff], step.evmStack[stackTop - argSizeStackOff], step.memory);
100
+ const msgData = (0, misc_1.mustReadMem)(step.evmStack[stackTop - argStackOff], step.evmStack[stackTop - argSizeStackOff], step.memory);
118
101
  return [receiver, codeAddr, msgData];
119
102
  }
120
103
  /**
@@ -128,7 +111,7 @@ async function addExternalFrame(vm, step, state, trace, artifactManager, tx) {
128
111
  extFrame = makeCreationFrame(sender, tx.data, 0, artifactManager);
129
112
  }
130
113
  else {
131
- const code = await vm.stateManager.getContractCode(tx.to);
114
+ const code = await vm.stateManager.getCode(tx.to);
132
115
  /// @todo remove - arbitrary restriction, only good for debugging
133
116
  (0, solc_typed_ast_1.assert)(code.length > 0, "Missing code for address {0}", tx.to.toString());
134
117
  const codeHash = (0, artifacts_1.getCodeHash)(code);
@@ -153,12 +136,12 @@ async function addExternalFrame(vm, step, state, trace, artifactManager, tx) {
153
136
  (0, solc_typed_ast_1.assert)((0, opcodes_1.increasesDepth)(lastOp), `Unexpected depth increase on op ${lastOp.mnemonic}`);
154
137
  if ((0, opcodes_1.createsContract)(lastOp)) {
155
138
  // Contract creation call
156
- const creationBytecode = (0, utils_1.mustReadMem)(lastStep.evmStack[lastStackTop - 1], lastStep.evmStack[lastStackTop - 2], lastStep.memory);
139
+ const creationBytecode = (0, misc_1.mustReadMem)(lastStep.evmStack[lastStackTop - 1], lastStep.evmStack[lastStackTop - 2], lastStep.memory);
157
140
  extFrame = makeCreationFrame(lastStep.address, creationBytecode, trace.length, artifactManager);
158
141
  }
159
142
  else {
160
143
  const [receiver, codeAddr, msgData] = decodeCall(lastStep);
161
- const code = await vm.stateManager.getContractCode(codeAddr);
144
+ const code = await vm.stateManager.getCode(codeAddr);
162
145
  const codeHash = (0, artifacts_1.getCodeHash)(code);
163
146
  extFrame = await makeCallFrame(lastStep.address, receiver, codeAddr, msgData, code, codeHash, trace.length, artifactManager);
164
147
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ext_stack.js","sourceRoot":"","sources":["../../../../src/debug/tracers/transformers/ext_stack.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ext_stack.js","sourceRoot":"","sources":["../../../../src/debug/tracers/transformers/ext_stack.ts"],"names":[],"mappings":";;AAkBA,kCAEC;AAED,0CAEC;AAED,0BAEC;AA0HD,4CAuHC;AAzQD,mDAAiF;AACjF,kDAAsE;AACtE,8CAAyF;AAEzF,2CAAyE;AACzE,uCAA4F;AAG5F,mCAA0C;AAM1C,SAAgB,WAAW,CAAC,GAAsB;IAC9C,OAAO,IAAA,eAAQ,EAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAgB,eAAe,CAAC,IAAuB;IACnD,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;AAClC,CAAC;AAED,SAAgB,OAAO,CAAC,IAAuB;IAC3C,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAClB,MAAe,EACf,QAAiB,EACjB,WAAoB,EACpB,IAAgB,EAChB,YAAwB,EACxB,QAA+B,EAC/B,IAAY,EACZ,eAAiC;IAEjC,MAAM,YAAY,GACd,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,eAAe,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAExF,IAAI,MAA4D,CAAC;IACjE,IAAI,IAAuC,CAAC;IAE5C,IAAI,YAAY,IAAI,YAAY,CAAC,GAAG,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QAE3E,MAAM,GAAG,eAAe,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAE5D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,IAAI,CAAC;gBACD,IAAI,GAAG,IAAA,mBAAa,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,IAAI,GAAG,SAAS,CAAC;YACrB,CAAC;QACL,CAAC;IACL,CAAC;IAED,OAAO;QACH,IAAI,EAAE,iBAAS,CAAC,IAAI;QACpB,MAAM;QACN,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,YAAY;QAClB,MAAM;QACN,OAAO,EAAE,QAAQ;QACjB,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,QAAQ;QACpB,WAAW;QACX,iBAAiB,EAAE,KAAK;KAC3B,CAAC;AACN,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CACtB,MAAe,EACf,IAAgB,EAChB,IAAY,EACZ,eAAiC;IAEjC,MAAM,YAAY,GAAG,eAAe,CAAC,+BAA+B,CAAC,IAAI,CAAC,CAAC;IAC3E,IAAI,IAAuC,CAAC;IAC5C,MAAM,MAAM,GAAG,YAAY,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC;IAE5F,IAAI,YAAY,IAAI,MAAM,YAAY,mCAAkB,EAAE,CAAC;QACvD,4EAA4E;IAChF,CAAC;IAED,OAAO;QACH,IAAI,EAAE,iBAAS,CAAC,QAAQ;QACxB,MAAM;QACN,OAAO,EAAE,IAAI;QACb,IAAI,EAAE,IAAI;QACV,IAAI,EAAE,YAAY;QAClB,MAAM;QACN,OAAO,EAAE,mBAAY;QACrB,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,IAAA,+BAAmB,EAAC,IAAI,CAAC;QACrC,iBAAiB,EAAE,KAAK;KAC3B,CAAC;AACN,CAAC;AAED;;;;;;GAMG;AACH,SAAS,UAAU,CAAC,IAAmB;IACnC,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IACnB,IAAA,uBAAM,EACF,EAAE,CAAC,MAAM,KAAK,iBAAO,CAAC,IAAI;QACtB,EAAE,CAAC,MAAM,KAAK,iBAAO,CAAC,QAAQ;QAC9B,EAAE,CAAC,MAAM,KAAK,iBAAO,CAAC,YAAY;QAClC,EAAE,CAAC,MAAM,KAAK,iBAAO,CAAC,UAAU,EACpC,iCAAiC,EACjC,EAAE,CAAC,QAAQ,CACd,CAAC;IAEF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,EAAE,CAAC,MAAM,KAAK,iBAAO,CAAC,IAAI,IAAI,EAAE,CAAC,MAAM,KAAK,iBAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACzF,MAAM,eAAe,GAAG,WAAW,GAAG,CAAC,CAAC;IAExC,MAAM,WAAW,GAAG,IAAA,oBAAa,EAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC;IAE/D,MAAM,QAAQ,GAAG,EAAE,CAAC,MAAM,KAAK,iBAAO,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC;IACjF,MAAM,QAAQ,GAAG,WAAW,CAAC;IAC7B,MAAM,OAAO,GAAG,IAAA,kBAAW,EACvB,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,WAAW,CAAC,EACrC,IAAI,CAAC,QAAQ,CAAC,QAAQ,GAAG,eAAe,CAAC,EACzC,IAAI,CAAC,MAAM,CACd,CAAC;IAEF,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,gBAAgB,CAClC,EAAM,EACN,IAAqB,EACrB,KAAQ,EACR,KAAmC,EACnC,eAAiC,EACjC,EAAoB;IAEpB,IAAI,QAAuB,CAAC;IAE5B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAC;QAErC,IAAI,EAAE,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;YACtB,QAAQ,GAAG,iBAAiB,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,eAAe,CAAC,CAAC;QACtE,CAAC;aAAM,CAAC;YACJ,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAElD,iEAAiE;YACjE,IAAA,uBAAM,EAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,8BAA8B,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;YAE1E,MAAM,QAAQ,GAAG,IAAA,uBAAW,EAAC,IAAI,CAAC,CAAC;YAEnC,QAAQ,GAAG,aAAa,CACpB,MAAM,EACN,EAAE,CAAC,EAAE,EACL,EAAE,CAAC,EAAE,EACL,EAAE,CAAC,IAAI,EACP,IAAI,EACJ,QAAQ,EACR,CAAC,EACD,eAAe,CAClB,CAAC;QACN,CAAC;QAED,OAAO;YACH,KAAK,EAAE,CAAC,QAAQ,CAAC;YACjB,GAAG,KAAK;SACX,CAAC;IACN,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEzC,IAAI,QAAQ,CAAC,KAAK,KAAK,KAAK,CAAC,KAAK,EAAE,CAAC;QACjC,OAAO;YACH,KAAK,EAAE,QAAQ,CAAC,KAAK;YACrB,GAAG,KAAK;SACX,CAAC;IACN,CAAC;IAED,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,CAAC;IAE3B,IAAI,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAA,uBAAM,EACF,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,GAAG,CAAC,EAClC,sDAAsD,EACtD,KAAK,CAAC,MAAM,CACf,CAAC;QACF,IAAA,uBAAM,EAAC,IAAA,wBAAc,EAAC,MAAM,CAAC,EAAE,mCAAmC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QAErF,IAAI,IAAA,yBAAe,EAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,yBAAyB;YACzB,MAAM,gBAAgB,GAAG,IAAA,kBAAW,EAChC,QAAQ,CAAC,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC,EACnC,QAAQ,CAAC,QAAQ,CAAC,YAAY,GAAG,CAAC,CAAC,EACnC,QAAQ,CAAC,MAAM,CAClB,CAAC;YAEF,QAAQ,GAAG,iBAAiB,CACxB,QAAQ,CAAC,OAAO,EAChB,gBAAgB,EAChB,KAAK,CAAC,MAAM,EACZ,eAAe,CAClB,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;YAE3D,MAAM,IAAI,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,IAAA,uBAAW,EAAC,IAAI,CAAC,CAAC;YAEnC,QAAQ,GAAG,MAAM,aAAa,CAC1B,QAAQ,CAAC,OAAO,EAChB,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,KAAK,CAAC,MAAM,EACZ,eAAe,CAClB,CAAC;QACN,CAAC;QAED,OAAO;YACH,KAAK,EAAE,CAAC,GAAG,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;YACpC,GAAG,KAAK;SACX,CAAC;IACN,CAAC;SAAM,CAAC;QACJ,MAAM,QAAQ,GAAG,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;QACrC,+BAA+B;QAC/B,IAAI,aAAa,GAAG,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;QAEjD,qEAAqE;QACrE,wGAAwG;QACxG,OAAO,aAAa,GAAG,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAE/C,IAAI,QAAQ,CAAC,IAAI,KAAK,iBAAS,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,iBAAS,CAAC,IAAI,EAAE,CAAC;gBAC3E,aAAa,EAAE,CAAC;YACpB,CAAC;YAED,QAAQ,CAAC,GAAG,EAAE,CAAC;QACnB,CAAC;QAED,OAAO;YACH,KAAK,EAAE,QAAQ;YACf,GAAG,KAAK;SACX,CAAC;IACN,CAAC;AACL,CAAC"}
@@ -4,6 +4,7 @@ export type TransformerF<T extends object, T1 extends T> = (vm: VM, step: Interp
4
4
  export * from "./basic_info";
5
5
  export * from "./contract_lifetime";
6
6
  export * from "./events";
7
+ export * from "./exc_info";
7
8
  export * from "./ext_stack";
8
9
  export * from "./int_stack";
9
10
  export * from "./keccak256_invert";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/debug/tracers/transformers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAEpC,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,SAAS,CAAC,IAAI,CACvD,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,EAAE,EAAE,KACV,EAAE,CAAC;AAER,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,MAAM,CAAC;AACrB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/debug/tracers/transformers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAEpC,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,EAAE,SAAS,CAAC,IAAI,CACvD,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,EAAE,EAAE,KACV,EAAE,CAAC;AAER,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,MAAM,CAAC;AACrB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC"}
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./basic_info"), exports);
18
18
  __exportStar(require("./contract_lifetime"), exports);
19
19
  __exportStar(require("./events"), exports);
20
+ __exportStar(require("./exc_info"), exports);
20
21
  __exportStar(require("./ext_stack"), exports);
21
22
  __exportStar(require("./int_stack"), exports);
22
23
  __exportStar(require("./keccak256_invert"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/debug/tracers/transformers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAUA,+CAA6B;AAC7B,sDAAoC;AACpC,2CAAyB;AACzB,8CAA4B;AAC5B,8CAA4B;AAC5B,qDAAmC;AACnC,uCAAqB;AACrB,6CAA2B;AAC3B,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/debug/tracers/transformers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAUA,+CAA6B;AAC7B,sDAAoC;AACpC,2CAAyB;AACzB,6CAA2B;AAC3B,8CAA4B;AAC5B,8CAA4B;AAC5B,qDAAmC;AACnC,uCAAqB;AACrB,6CAA2B;AAC3B,2CAAyB"}
@@ -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,EAKH,iBAAiB,EAEpB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAe,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,MAAM,WAAW,iBAAiB;IAC9B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CACjC;AAqED;;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;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"}
@@ -2,10 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.addInternalFrameInfo = addInternalFrameInfo;
4
4
  const solc_typed_ast_1 = require("solc-typed-ast");
5
- const decoding_1 = require("../../decoding");
5
+ const utils_1 = require("../../decoding/utils");
6
6
  const opcodes_1 = require("../../opcodes");
7
7
  const types_1 = require("../../types");
8
8
  const ext_stack_1 = require("./ext_stack");
9
+ const decoding_1 = require("../../decoding");
9
10
  function topFrame(step) {
10
11
  if (step.intStack.length > 0) {
11
12
  return step.intStack[step.intStack.length - 1];
@@ -15,7 +16,7 @@ function topFrame(step) {
15
16
  }
16
17
  /**
17
18
  * Given a callable (function definition or public state variable) try to build
18
- * `DataView`s for all the callable arguments. On failure return undefined.
19
+ * `View`s for all the callable arguments. On failure return undefined.
19
20
  */
20
21
  function buildFunArgViews(callee, stack, contractInfo, artifactManager) {
21
22
  const res = [];
@@ -40,22 +41,13 @@ function buildFunArgViews(callee, stack, contractInfo, artifactManager) {
40
41
  let offsetFromTop = -1;
41
42
  for (let i = formals.length - 1; i >= 0; i--) {
42
43
  const [name, typ] = formals[i];
43
- const stackSize = (0, decoding_1.isCalldataType2Slots)(typ) ? 2 : 1;
44
+ const stackSize = (0, utils_1.isCalldataArrayType)(typ) ? 2 : 1;
44
45
  offsetFromTop += stackSize;
45
46
  if (offsetFromTop > stack.length) {
46
47
  // Stack underflow. Could be due to optimized code?
47
48
  return undefined;
48
49
  }
49
- res.unshift([
50
- name,
51
- {
52
- type: typ,
53
- loc: {
54
- kind: types_1.DataLocationKind.Stack,
55
- offsetFromTop
56
- }
57
- }
58
- ]);
50
+ res.unshift([name, (0, decoding_1.makeStackView)((0, decoding_1.simplifyType)(typ, infer, undefined), offsetFromTop)]);
59
51
  }
60
52
  return res;
61
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"int_stack.js","sourceRoot":"","sources":["../../../../src/debug/tracers/transformers/int_stack.ts"],"names":[],"mappings":";;AA4FA,oDAmIC;AA7ND,mDAA2F;AAE3F,6CAAsD;AACtD,2CAAwC;AACxC,uCAOqB;AAErB,2CAA6D;AAO7D,SAAS,QAAQ,CAAC,IAA2D;IACzE,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,IAAA,uBAAM,EAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,0CAA0C,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;IACnF,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CACrB,MAAgD,EAChD,KAAY,EACZ,YAA0B,EAC1B,eAAiC;IAEjC,MAAM,GAAG,GAA8B,EAAE,CAAC;IAC1C,IAAI,OAAkC,CAAC;IACvC,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,YAAY,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAE3E,IAAI,CAAC;QACD,OAAO;YACH,MAAM,YAAY,mCAAkB;gBAChC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,MAA2B,EAAE,EAAE,CAAC;oBAChE,MAAM,CAAC,IAAI;oBACX,KAAK,CAAC,6BAA6B,CAAC,MAAM,CAAC;iBAC9C,CAAC;gBACJ,CAAC,CAAC,KAAK;qBACA,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;qBAC9B,GAAG,CAAC,CAAC,GAAa,EAAE,CAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;IACxE,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACT,+FAA+F;QAC/F,kCAAkC;QAClC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC;IAEvB,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,SAAS,GAAG,IAAA,+BAAoB,EAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEpD,aAAa,IAAI,SAAS,CAAC;QAE3B,IAAI,aAAa,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC/B,mDAAmD;YACnD,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,GAAG,CAAC,OAAO,CAAC;YACR,IAAI;YACJ;gBACI,IAAI,EAAE,GAAG;gBACT,GAAG,EAAE;oBACD,IAAI,EAAE,wBAAgB,CAAC,KAAK;oBAC5B,aAAa;iBAChB;aACJ;SACJ,CAAC,CAAC;IACP,CAAC;IAED,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,oBAAoB,CAGtC,EAAM,EACN,IAAqB,EACrB,KAAQ,EACR,KAAmC,EACnC,eAAiC,EACjC,MAAe;IAEf,kFAAkF;IAClF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO;YACH,GAAG,KAAK;YACR,QAAQ,EAAE,EAAE;SACf,CAAC;IACN,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEzC,mBAAmB;IACnB,IAAI,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;QAC/B,4FAA4F;QAC5F,IAAI,QAAQ,CAAC,EAAE,CAAC,MAAM,KAAK,iBAAO,CAAC,MAAM,EAAE,CAAC;YACxC,MAAM,YAAY,GAAG,IAAA,uBAAW,EAAC,QAAQ,CAAC,CAAC;YAE3C,2GAA2G;YAC3G,YAAY,CAAC,iBAAiB;gBAC1B,YAAY,CAAC,iBAAiB,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;QACvE,CAAC;QAED,+EAA+E;QAC/E,MAAM,kBAAkB,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;QAEnF,OAAO;YACH,GAAG,KAAK;YACR,QAAQ,EAAE,kBAAkB,CAAC,QAAQ;SACxC,CAAC;IACN,CAAC;IAED,sFAAsF;IACtF,IAAI,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QACrC,OAAO;YACH,GAAG,KAAK;YACR,QAAQ,EAAE,EAAE;SACf,CAAC;IACN,CAAC;IAED,IAAA,uBAAM,EAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAE3C,kDAAkD;IAClD,IAAI,mBAAmB,GAAG,KAAK,CAAC;IAEhC,0GAA0G;IAC1G,IACI,KAAK,CAAC,EAAE,CAAC,QAAQ,KAAK,UAAU;QAChC,QAAQ,CAAC,EAAE,CAAC,QAAQ,KAAK,MAAM;QAC/B,QAAQ,CAAC,GAAG;QACZ,QAAQ,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,EAC3B,CAAC;QACC,mBAAmB,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC;IAC1B,MAAM,WAAW,GAAG,IAAA,uBAAW,EAAC,KAAK,CAAC,CAAC;IAEvC,yGAAyG;IACzG,oHAAoH;IACpH,gDAAgD;IAChD,IACI,CAAC,mBAAmB;QACpB,KAAK,CAAC,EAAE,CAAC,QAAQ,KAAK,UAAU;QAChC,CAAC,GAAG,YAAY,mCAAkB;YAC9B,CAAC,GAAG,YAAY,oCAAmB,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC;QAC9D,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,KAAK,GAAG,EACnC,CAAC;QACC,mBAAmB,GAAG,IAAI,CAAC;IAC/B,CAAC;IAED,IAAI,mBAAmB,EAAE,CAAC;QACtB,IAAI,IAAuD,CAAC;QAE5D,IACI,GAAG,YAAY,mCAAkB;YACjC,CAAC,GAAG,YAAY,oCAAmB,IAAI,GAAG,CAAC,aAAa,CAAC,EAC3D,CAAC;YACC,IAAA,uBAAM,EAAC,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE,EAAE,CAAC,CAAC;YAC3C,IAAI,GAAG,gBAAgB,CAAC,GAAG,EAAE,KAAK,CAAC,QAAQ,EAAE,WAAW,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QACpF,CAAC;QAED,MAAM,QAAQ,GAAsB;YAChC,IAAI,EAAE,iBAAS,CAAC,YAAY;YAC5B,eAAe,EAAE,WAAW;YAC5B,MAAM,EAAE,GAAG;YACX,MAAM,EAAE,KAAK,CAAC,EAAE;YAChB,SAAS,EAAE,KAAK,CAAC,MAAM;YACvB,SAAS,EAAE,IAAI;SAClB,CAAC;QAEF,OAAO;YACH,GAAG,KAAK;YACR,QAAQ,EAAE,CAAC,GAAG,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAC7C,CAAC;IACN,CAAC;IAED,2CAA2C;IAC3C,IAAI,KAAK,CAAC,EAAE,CAAC,QAAQ,KAAK,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;QACtE,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEpC,IAAI,MAAM,EAAE,CAAC;YACT,IAAA,uBAAM,EACF,QAAQ,CAAC,IAAI,KAAK,iBAAS,CAAC,YAAY,EACxC,wCAAwC,EACxC,QAAQ,CAAC,IAAI,CAChB,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,IAAI,QAAQ,CAAC,IAAI,KAAK,iBAAS,CAAC,YAAY,EAAE,CAAC;gBAC3C,WAAW,CAAC,iBAAiB,GAAG,IAAI,CAAC;YACzC,CAAC;QACL,CAAC;QAED,OAAO;YACH,GAAG,KAAK;YACR,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAC3C,CAAC;IACN,CAAC;IAED,OAAO;QACH,GAAG,KAAK;QACR,QAAQ,EAAE,QAAQ,CAAC,QAAQ;KAC9B,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"int_stack.js","sourceRoot":"","sources":["../../../../src/debug/tracers/transformers/int_stack.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getKeccakPreimages = getKeccakPreimages;
4
4
  exports.getMapKeys = getMapKeys;
5
5
  exports.addKeccakInvertInfo = addKeccakInvertInfo;
6
- const utils_1 = require("../../../utils");
6
+ const misc_1 = require("../../../utils/misc");
7
7
  const opcodes_1 = require("../../opcodes");
8
8
  /**
9
9
  * Given a trace of contract creation/deletion event compute a gen/kill set summary for the trace.
@@ -28,7 +28,7 @@ function getMapKeys(preImageMap) {
28
28
  continue;
29
29
  }
30
30
  const keySuffix = origKey.slice(-32);
31
- const slot = (0, utils_1.bigEndianBufToBigint)(keySuffix);
31
+ const slot = (0, misc_1.bigEndianBufToBigint)(keySuffix);
32
32
  if (!res.has(slot)) {
33
33
  res.set(slot, []);
34
34
  }
@@ -49,9 +49,9 @@ function addKeccakInvertInfo(vm, step, state, trace) {
49
49
  if (!(lastStep.op.opcode === opcodes_1.OPCODES.SHA3)) {
50
50
  return state;
51
51
  }
52
- const res = (0, utils_1.bigEndianBufToBigint)(state.evmStack[state.evmStack.length - 1]);
52
+ const res = (0, misc_1.bigEndianBufToBigint)(state.evmStack[state.evmStack.length - 1]);
53
53
  const lastStepTop = lastStep.evmStack.length - 1;
54
- const preImage = (0, utils_1.mustReadMem)(lastStep.evmStack[lastStepTop], lastStep.evmStack[lastStepTop - 1], lastStep.memory);
54
+ const preImage = (0, misc_1.mustReadMem)(lastStep.evmStack[lastStepTop], lastStep.evmStack[lastStepTop - 1], lastStep.memory);
55
55
  return {
56
56
  keccak: {
57
57
  from: preImage,
@@ -1 +1 @@
1
- {"version":3,"file":"keccak256_invert.js","sourceRoot":"","sources":["../../../../src/debug/tracers/transformers/keccak256_invert.ts"],"names":[],"mappings":";;AAiBA,gDAOC;AAYD,gCAuBC;AAKD,kDAgCC;AA9FD,0CAAmE;AACnE,2CAAwC;AAWxC;;GAEG;AACH,SAAgB,kBAAkB,CAAC,KAA4B;IAC3D,OAAO,KAAK,CAAC,MAAM,CAAoB,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;QAC/C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,CAAC,CAAC;IACb,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;AAClB,CAAC;AASD;;GAEG;AACH,SAAgB,UAAU,CAAC,WAA8B;IACrD,MAAM,GAAG,GAAY,IAAI,GAAG,EAAE,CAAC;IAE/B,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,WAAW,EAAE,CAAC;QAC7C,sFAAsF;QACtF,oFAAoF;QACpF,IAAI,OAAO,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YACvB,SAAS;QACb,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,IAAA,4BAAoB,EAAC,SAAS,CAAC,CAAC;QAE7C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACjB,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACtB,CAAC;QAED,8HAA8H;QAC9H,gBAAgB;QACf,GAAG,CAAC,GAAG,CAAC,IAAI,CAAiC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAC/B,EAAM,EACN,IAAqB,EACrB,KAAQ,EACR,KAAqC;IAErC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEzC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,KAAK,iBAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,GAAG,GAAG,IAAA,4BAAoB,EAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAEjD,MAAM,QAAQ,GAAG,IAAA,mBAAW,EACxB,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC9B,QAAQ,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,EAClC,QAAQ,CAAC,MAAM,CAClB,CAAC;IAEF,OAAO;QACH,MAAM,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,GAAG;SACV;QACD,GAAG,KAAK;KACX,CAAC;AACN,CAAC"}
1
+ {"version":3,"file":"keccak256_invert.js","sourceRoot":"","sources":["../../../../src/debug/tracers/transformers/keccak256_invert.ts"],"names":[],"mappings":";;AAiBA,gDAOC;AAYD,gCAuBC;AAKD,kDAgCC;AA9FD,8CAAwE;AACxE,2CAAwC;AAWxC;;GAEG;AACH,SAAgB,kBAAkB,CAAC,KAA4B;IAC3D,OAAO,KAAK,CAAC,MAAM,CAAoB,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE;QAC/C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC;QACD,OAAO,CAAC,CAAC;IACb,CAAC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;AAClB,CAAC;AASD;;GAEG;AACH,SAAgB,UAAU,CAAC,WAA8B;IACrD,MAAM,GAAG,GAAY,IAAI,GAAG,EAAE,CAAC;IAE/B,KAAK,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,IAAI,WAAW,EAAE,CAAC;QAC7C,sFAAsF;QACtF,oFAAoF;QACpF,IAAI,OAAO,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YACvB,SAAS;QACb,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,IAAI,GAAG,IAAA,2BAAoB,EAAC,SAAS,CAAC,CAAC;QAE7C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACjB,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACtB,CAAC;QAED,8HAA8H;QAC9H,gBAAgB;QACf,GAAG,CAAC,GAAG,CAAC,IAAI,CAAiC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC;IAC5F,CAAC;IAED,OAAO,GAAG,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB,CAC/B,EAAM,EACN,IAAqB,EACrB,KAAQ,EACR,KAAqC;IAErC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAEzC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,KAAK,iBAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACzC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,MAAM,GAAG,GAAG,IAAA,2BAAoB,EAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAC5E,MAAM,WAAW,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;IAEjD,MAAM,QAAQ,GAAG,IAAA,kBAAW,EACxB,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,EAC9B,QAAQ,CAAC,QAAQ,CAAC,WAAW,GAAG,CAAC,CAAC,EAClC,QAAQ,CAAC,MAAM,CAClB,CAAC;IAEF,OAAO;QACH,MAAM,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,GAAG;SACV;QACD,GAAG,KAAK;KACX,CAAC;AACN,CAAC"}
@@ -11,7 +11,7 @@ export interface ReturnInfo {
11
11
  };
12
12
  }
13
13
  /**
14
- * Adds return info for steps in the caller context, right after a return.
14
+ * Adds return info for steps in the callee context, right after a return.
15
15
  */
16
16
  export declare function addReturnInfo<T extends object & BasicStepInfo & ExternalFrameInfo>(vm: VM, step: InterpreterStep, state: T, trace: Array<T & ReturnInfo>, artifactManager: IArtifactManager): Promise<T & ReturnInfo>;
17
17
  //# sourceMappingURL=ret_info.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ret_info.d.ts","sourceRoot":"","sources":["../../../../src/debug/tracers/transformers/ret_info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AASpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAI1D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAe,MAAM,aAAa,CAAC;AAE7D,MAAM,WAAW,UAAU;IACvB,OAAO,CAAC,EAAE;QAEN,aAAa,EAAE,MAAM,CAAC;QAEtB,aAAa,EAAE,UAAU,CAAC;QAE1B,iBAAiB,CAAC,EAAE,GAAG,EAAE,CAAC;KAC7B,CAAC;CACL;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,aAAa,GAAG,iBAAiB,EACpF,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC,EAC5B,eAAe,EAAE,gBAAgB,GAClC,OAAO,CAAC,CAAC,GAAG,UAAU,CAAC,CA6HzB"}
1
+ {"version":3,"file":"ret_info.d.ts","sourceRoot":"","sources":["../../../../src/debug/tracers/transformers/ret_info.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AASpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAe,MAAM,aAAa,CAAC;AAI7D,MAAM,WAAW,UAAU;IACvB,OAAO,CAAC,EAAE;QAEN,aAAa,EAAE,MAAM,CAAC;QAEtB,aAAa,EAAE,UAAU,CAAC;QAE1B,iBAAiB,CAAC,EAAE,GAAG,EAAE,CAAC;KAC7B,CAAC;CACL;AAED;;GAEG;AACH,wBAAsB,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,aAAa,GAAG,iBAAiB,EACpF,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,CAAC,EACR,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,UAAU,CAAC,EAC5B,eAAe,EAAE,gBAAgB,GAClC,OAAO,CAAC,CAAC,GAAG,UAAU,CAAC,CAwFzB"}
@@ -2,29 +2,26 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.addReturnInfo = addReturnInfo;
4
4
  const solc_typed_ast_1 = require("solc-typed-ast");
5
- const utils_1 = require("../../../utils");
6
- const decoding_1 = require("../../decoding");
5
+ const misc_1 = require("../../../utils/misc");
7
6
  const opcodes_1 = require("../../opcodes");
8
7
  const types_1 = require("../../types");
9
8
  const ext_stack_1 = require("./ext_stack");
9
+ const view_1 = require("../../decoding/calldata/view");
10
+ const decoding_1 = require("../../decoding");
10
11
  /**
11
- * Adds return info for steps in the caller context, right after a return.
12
+ * Adds return info for steps in the callee context, right after a return.
12
13
  */
13
14
  async function addReturnInfo(vm, step, state, trace, artifactManager) {
14
- if (trace.length === 0) {
15
+ if (state.op.opcode !== opcodes_1.OPCODES.RETURN && state.op.opcode !== opcodes_1.OPCODES.STOP) {
15
16
  return state;
16
17
  }
17
- const lastStep = trace[trace.length - 1];
18
- if (lastStep.op.opcode !== opcodes_1.OPCODES.RETURN && lastStep.op.opcode !== opcodes_1.OPCODES.STOP) {
19
- return state;
20
- }
21
- const lastFrame = (0, ext_stack_1.topExtFrame)(lastStep);
22
- const callStartStep = lastFrame.startStep;
23
- const rawReturnData = lastStep.op.opcode === opcodes_1.OPCODES.RETURN
24
- ? (0, utils_1.mustReadMem)((0, utils_1.stackTop)(lastStep.evmStack), (0, utils_1.stackInd)(lastStep.evmStack, 1), lastStep.memory)
18
+ const extFrame = (0, ext_stack_1.topExtFrame)(state);
19
+ const callStartStep = extFrame.startStep;
20
+ const rawReturnData = state.op.opcode === opcodes_1.OPCODES.RETURN
21
+ ? (0, misc_1.mustReadMem)((0, misc_1.stackTop)(state.evmStack), (0, misc_1.stackInd)(state.evmStack, 1), state.memory)
25
22
  : new Uint8Array(0);
26
23
  // Special case: For creation frames we know that the consturctor doesn't "return anything" at the Solidity level
27
- if (lastFrame.kind === types_1.FrameKind.Creation) {
24
+ if (extFrame.kind === types_1.FrameKind.Creation) {
28
25
  return {
29
26
  ...state,
30
27
  retInfo: {
@@ -34,11 +31,11 @@ async function addReturnInfo(vm, step, state, trace, artifactManager) {
34
31
  }
35
32
  };
36
33
  }
37
- if (!(lastFrame.info &&
38
- (lastFrame.callee instanceof solc_typed_ast_1.FunctionDefinition ||
39
- (lastFrame.callee instanceof solc_typed_ast_1.VariableDeclaration &&
40
- lastFrame.callee.stateVariable &&
41
- lastFrame.callee.visibility === solc_typed_ast_1.StateVariableVisibility.Public)))) {
34
+ if (!(extFrame.info &&
35
+ (extFrame.callee instanceof solc_typed_ast_1.FunctionDefinition ||
36
+ (extFrame.callee instanceof solc_typed_ast_1.VariableDeclaration &&
37
+ extFrame.callee.stateVariable &&
38
+ extFrame.callee.visibility === solc_typed_ast_1.StateVariableVisibility.Public)))) {
42
39
  return {
43
40
  ...state,
44
41
  retInfo: {
@@ -47,13 +44,13 @@ async function addReturnInfo(vm, step, state, trace, artifactManager) {
47
44
  }
48
45
  };
49
46
  }
50
- const infer = artifactManager.infer(lastFrame.info.artifact.compilerVersion);
47
+ const infer = artifactManager.infer(extFrame.info.artifact.compilerVersion);
51
48
  let type;
52
49
  try {
53
50
  type =
54
- lastFrame.callee instanceof solc_typed_ast_1.FunctionDefinition
55
- ? infer.funDefToType(lastFrame.callee)
56
- : infer.getterFunType(lastFrame.callee);
51
+ extFrame.callee instanceof solc_typed_ast_1.FunctionDefinition
52
+ ? infer.funDefToType(extFrame.callee)
53
+ : infer.getterFunType(extFrame.callee);
57
54
  }
58
55
  catch {
59
56
  return {
@@ -75,30 +72,9 @@ async function addReturnInfo(vm, step, state, trace, artifactManager) {
75
72
  }
76
73
  };
77
74
  }
78
- const encVer = lastFrame.info.artifact.abiEncoderVersion;
79
- const origType = new solc_typed_ast_1.TupleType(type.returns);
80
- let abiType;
81
- try {
82
- abiType = new solc_typed_ast_1.TupleType(type.returns.map((t) => infer.toABIEncodedType(t, encVer)));
83
- }
84
- catch {
85
- return {
86
- ...state,
87
- retInfo: {
88
- callStartStep,
89
- rawReturnData,
90
- decodedReturnData: []
91
- }
92
- };
93
- }
94
- const decodeRes = (0, decoding_1.cd_decodeValue)(abiType, origType, { kind: types_1.DataLocationKind.CallData, address: 0n }, rawReturnData, 0n, infer);
95
- let decodedReturnData;
96
- if (decodeRes === undefined) {
97
- decodedReturnData = (0, utils_1.repeat)(undefined, type.returns.length);
98
- }
99
- else {
100
- decodedReturnData = decodeRes[0];
101
- }
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);
77
+ const decodedReturnData = views.map((v) => v.decode(rawReturnData));
102
78
  return {
103
79
  ...state,
104
80
  retInfo: {
@@ -1 +1 @@
1
- {"version":3,"file":"ret_info.js","sourceRoot":"","sources":["../../../../src/debug/tracers/transformers/ret_info.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ret_info.js","sourceRoot":"","sources":["../../../../src/debug/tracers/transformers/ret_info.ts"],"names":[],"mappings":"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"}
@@ -1,25 +1,18 @@
1
- import { Address } from "@ethereumjs/util";
1
+ import { Address, PrefixedHexString } from "@ethereumjs/util";
2
2
  import * as sol from "solc-typed-ast";
3
3
  import { FunctionDefinition } from "solc-typed-ast";
4
- import { HexString, UnprefixedHexString } from "../artifacts";
5
- import { ImmMap } from "../utils";
6
- import { ArtifactInfo, ContractInfo } from "./artifact_manager";
4
+ import { ImmMap } from "../utils/immutable_map";
5
+ import { ArtifactInfo, ContractInfo } from "./artifact_manager/types";
7
6
  import { EVMOpInfo } from "./opcodes";
8
- export interface DeployedContractInfo {
9
- address: HexString;
10
- code: UnprefixedHexString;
11
- info?: ContractInfo;
12
- }
13
- export interface UnknownLocation {
14
- contract: DeployedContractInfo | undefined;
15
- }
16
- export interface SolLocation {
17
- contract: DeployedContractInfo | undefined;
18
- start: number;
19
- length: number;
20
- jump: "o" | "i" | "-";
21
- file: number;
22
- }
7
+ import { View } from "./decoding/view";
8
+ /**
9
+ * A type alias for 0x-prefixed hex strings. Used for documentation purposes.
10
+ */
11
+ export type HexString = PrefixedHexString;
12
+ /**
13
+ * A type alias for hex strings without 0x prefix. Used for documentation purposes.
14
+ */
15
+ export type UnprefixedHexString = string;
23
16
  export type DecodedSolValue = {
24
17
  value: any;
25
18
  type: string;
@@ -56,7 +49,7 @@ export interface BaseFrame {
56
49
  * If we have a `callee` try and infer where the arguments are placed in the VM state. Some arguments may not
57
50
  * exist in the case of msg.data generated from a fuzzer for example.
58
51
  */
59
- readonly arguments: Array<[string, DataView | undefined]> | undefined;
52
+ readonly arguments: Array<[string, View]> | undefined;
60
53
  readonly startStep: number;
61
54
  }
62
55
  /**
@@ -116,6 +109,7 @@ export interface BaseMemoryLocation extends BaseDataLocation {
116
109
  }
117
110
  export interface CalldataLocation extends BaseMemoryLocation {
118
111
  kind: DataLocationKind.CallData;
112
+ base: bigint;
119
113
  }
120
114
  export interface LinearMemoryLocation extends BaseMemoryLocation {
121
115
  kind: DataLocationKind.Memory;
@@ -166,24 +160,71 @@ export interface StepVMState {
166
160
  }
167
161
  /**
168
162
  * State that the debugger maintains for each trace step.
169
- * It includes the basic VM state (`StepVmState`) and optionally (if we have debug info for this contract)
170
- * includes the decoded source location, any AST nodes that are mapped to this instruction and any events
171
- * that may be emitted on this step.
163
+ * It includes the basic VM state (`StepVmState`) and all the info computed
164
+ * by additional transformers
172
165
  */
173
166
  export interface StepState extends StepVMState {
167
+ /**
168
+ * List of external call frames
169
+ */
174
170
  stack: ExternalFrame[];
171
+ /**
172
+ * If the current instruction is a return, include return information
173
+ */
175
174
  retInfo?: {
175
+ /**
176
+ * Step at which the call that just returned started
177
+ */
176
178
  callStartStep: number;
179
+ /**
180
+ * Raw returned data
181
+ */
177
182
  rawReturnData: Uint8Array;
183
+ /**
184
+ * Decoded returned data (if ast info is available)
185
+ */
178
186
  decodedReturnData?: any[];
179
187
  };
188
+ /**
189
+ * If the current instruction throws an exception, includes exception info
190
+ */
191
+ excInfo?: {
192
+ /**
193
+ * Raw exception bytes
194
+ */
195
+ data: Uint8Array;
196
+ };
197
+ /**
198
+ * Internal call stack at the current instruction
199
+ */
180
200
  intStack: InternalCallFrame[];
201
+ /**
202
+ * Source location for the current instruction (if a src map is available)
203
+ */
181
204
  src: sol.DecodedBytecodeSourceMapEntry | undefined;
205
+ /**
206
+ * AST node that corresponds to the source location of the current instruction (if any)
207
+ */
182
208
  astNode: sol.ASTNode | undefined;
209
+ /**
210
+ * If the current instruction emits an event, includes the raw event info
211
+ */
183
212
  emittedEvent: EventDesc | undefined;
213
+ /**
214
+ * If we were able to decode the event, include the decoded event info
215
+ */
184
216
  decodedEvent: DecodedEventDesc | undefined;
217
+ /**
218
+ * If this is the instruction after we return from a create call, add the newly created address here.
219
+ */
185
220
  contractCreated?: Address;
221
+ /**
222
+ * If this is a SELFDESTRUCT instruction, recored the destroyed contract
223
+ */
186
224
  contractKilled?: Address;
225
+ /**
226
+ * If this is a KECCAK256 instruction record the preimage and the hash
227
+ */
187
228
  keccak?: {
188
229
  from: Uint8Array;
189
230
  to: bigint;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/debug/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,WAAW,oBAAoB;IACjC,OAAO,EAAE,SAAS,CAAC;IACnB,IAAI,EAAE,mBAAmB,CAAC;IAC1B,IAAI,CAAC,EAAE,YAAY,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC5B,QAAQ,EAAE,oBAAoB,GAAG,SAAS,CAAC;CAC9C;AAED,MAAM,WAAW,WAAW;IACxB,QAAQ,EAAE,oBAAoB,GAAG,SAAS,CAAC;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,eAAe,GAAG;IAAE,KAAK,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D,MAAM,WAAW,UAAU;IACvB,GAAG,EAAE,kBAAkB,CAAC;IACxB,gBAAgB,EAAE;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAAA;KAAE,CAAC;IACzD,aAAa,EAAE;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAAA;KAAE,CAAC;CACzD;AAED,MAAM,MAAM,UAAU,GAAG,UAAU,EAAE,CAAC;AAEtC,oBAAY,SAAS;IACjB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,YAAY,kBAAkB;CACjC;AAGD,MAAM,MAAM,OAAO,GAAG,GAAG,CAAC;AAE1B;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC;IACzC;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC;IACtE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B;AACD;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAChD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,SAAS,GAAG,SAAS,CAAC;IAE3C,iBAAiB,EAAE,OAAO,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,iBAAiB;IAChD,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACpD,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAChD,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,YAAY,CAAC;IACtC,QAAQ,CAAC,eAAe,EAAE,SAAS,GAAG,aAAa,CAAC;IACpD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,aAAa,CAAC;AACtD,MAAM,MAAM,KAAK,GAAG,aAAa,GAAG,iBAAiB,CAAC;AACtD,MAAM,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC;AAE/B,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,KAAK,CAQ1C;AAED,oBAAY,gBAAgB;IACxB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,QAAQ,aAAa;CACxB;AAED,MAAM,MAAM,kBAAkB,GACxB,gBAAgB,CAAC,MAAM,GACvB,gBAAgB,CAAC,QAAQ,GACzB,gBAAgB,CAAC,OAAO,CAAC;AAE/B,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,gBAAgB,CAAC;CAC1B;AAED,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACnD,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IACxD,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB;IACxD,IAAI,EAAE,gBAAgB,CAAC,QAAQ,CAAC;CACnC;AAED,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAC5D,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;IACvD,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,6BAA6B,GAAG,gBAAgB,GAAG,oBAAoB,CAAC;AACpF,MAAM,MAAM,cAAc,GAAG,6BAA6B,GAAG,eAAe,CAAC;AAC7E,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,cAAc,CAAC;AAE1D,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC;IACvB,GAAG,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC;AAChC,MAAM,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;AACjC,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AACjD,MAAM,WAAW,SAAS;IACtB,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,EAAE,UAAU,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IACzB,UAAU,EAAE,GAAG,CAAC,eAAe,CAAC;IAChC,QAAQ,EAAE,YAAY,CAAC;IACvB,IAAI,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,gBAAgB;IAC7B,GAAG,EAAE,YAAY,CAAC;IAClB,IAAI,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IACxB,QAAQ,EAAE,KAAK,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,EAAE,EAAE,SAAS,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAU,SAAQ,WAAW;IAC1C,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE;QAEN,aAAa,EAAE,MAAM,CAAC;QAEtB,aAAa,EAAE,UAAU,CAAC;QAE1B,iBAAiB,CAAC,EAAE,GAAG,EAAE,CAAC;KAC7B,CAAC;IACF,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,GAAG,EAAE,GAAG,CAAC,6BAA6B,GAAG,SAAS,CAAC;IACnD,OAAO,EAAE,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC;IACjC,YAAY,EAAE,SAAS,GAAG,SAAS,CAAC;IACpC,YAAY,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC3C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,MAAM,CAAC,EAAE;QACL,IAAI,EAAE,UAAU,CAAC;QACjB,EAAE,EAAE,MAAM,CAAC;KACd,CAAC;CACL;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,GAAG,CAAC;CACf"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/debug/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,iBAAiB,CAAC;AAE1C;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,CAAC;AAEzC,MAAM,MAAM,eAAe,GAAG;IAAE,KAAK,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAE3D,MAAM,WAAW,UAAU;IACvB,GAAG,EAAE,kBAAkB,CAAC;IACxB,gBAAgB,EAAE;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAAA;KAAE,CAAC;IACzD,aAAa,EAAE;QAAE,CAAC,OAAO,EAAE,MAAM,GAAG,eAAe,CAAA;KAAE,CAAC;CACzD;AAED,MAAM,MAAM,UAAU,GAAG,UAAU,EAAE,CAAC;AAEtC,oBAAY,SAAS;IACjB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,YAAY,kBAAkB;CACjC;AAGD,MAAM,MAAM,OAAO,GAAG,GAAG,CAAC;AAE1B;;GAEG;AACH,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC;IACzC;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,GAAG,SAAS,CAAC;IACtD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B;AACD;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAChD,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;IAC7B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,SAAS,GAAG,SAAS,CAAC;IAE3C,iBAAiB,EAAE,OAAO,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,iBAAiB;IAChD,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACpD,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC;CACrC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAChD,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,YAAY,CAAC;IACtC,QAAQ,CAAC,eAAe,EAAE,SAAS,GAAG,aAAa,CAAC;IACpD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,aAAa,CAAC;AACtD,MAAM,MAAM,KAAK,GAAG,aAAa,GAAG,iBAAiB,CAAC;AACtD,MAAM,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC;AAE/B,wBAAgB,OAAO,CAAC,CAAC,EAAE,GAAG,GAAG,CAAC,IAAI,KAAK,CAQ1C;AAED,oBAAY,gBAAgB;IACxB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,QAAQ,aAAa;CACxB;AAED,MAAM,MAAM,kBAAkB,GACxB,gBAAgB,CAAC,MAAM,GACvB,gBAAgB,CAAC,QAAQ,GACzB,gBAAgB,CAAC,OAAO,CAAC;AAE/B,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,gBAAgB,CAAC;CAC1B;AAED,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACnD,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IACxD,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB;IACxD,IAAI,EAAE,gBAAgB,CAAC,QAAQ,CAAC;IAChC,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAC5D,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;IACvD,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,6BAA6B,GAAG,gBAAgB,GAAG,oBAAoB,CAAC;AACpF,MAAM,MAAM,cAAc,GAAG,6BAA6B,GAAG,eAAe,CAAC;AAC7E,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,cAAc,CAAC;AAE1D,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC;IACnB,OAAO,CAAC,EAAE,GAAG,CAAC,QAAQ,CAAC;IACvB,GAAG,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,MAAM,MAAM,GAAG,UAAU,CAAC;AAChC,MAAM,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC;AACjC,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAEjD,MAAM,WAAW,SAAS;IACtB,OAAO,EAAE,UAAU,CAAC;IACpB,MAAM,EAAE,UAAU,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,YAAY;IACzB,UAAU,EAAE,GAAG,CAAC,eAAe,CAAC;IAChC,QAAQ,EAAE,YAAY,CAAC;IACvB,IAAI,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;CAChD;AAED,MAAM,WAAW,gBAAgB;IAC7B,GAAG,EAAE,YAAY,CAAC;IAClB,IAAI,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IACxB,QAAQ,EAAE,KAAK,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,EAAE,EAAE,SAAS,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;CACpB;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAU,SAAQ,WAAW;IAC1C;;OAEG;IACH,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB;;OAEG;IACH,OAAO,CAAC,EAAE;QACN;;WAEG;QACH,aAAa,EAAE,MAAM,CAAC;QACtB;;WAEG;QACH,aAAa,EAAE,UAAU,CAAC;QAC1B;;WAEG;QACH,iBAAiB,CAAC,EAAE,GAAG,EAAE,CAAC;KAC7B,CAAC;IACF;;OAEG;IACH,OAAO,CAAC,EAAE;QACN;;WAEG;QACH,IAAI,EAAE,UAAU,CAAC;KACpB,CAAC;IACF;;OAEG;IACH,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B;;OAEG;IACH,GAAG,EAAE,GAAG,CAAC,6BAA6B,GAAG,SAAS,CAAC;IACnD;;OAEG;IACH,OAAO,EAAE,GAAG,CAAC,OAAO,GAAG,SAAS,CAAC;IACjC;;OAEG;IACH,YAAY,EAAE,SAAS,GAAG,SAAS,CAAC;IACpC;;OAEG;IACH,YAAY,EAAE,gBAAgB,GAAG,SAAS,CAAC;IAC3C;;OAEG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;OAEG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;OAEG;IACH,MAAM,CAAC,EAAE;QACL,IAAI,EAAE,UAAU,CAAC;QACjB,EAAE,EAAE,MAAM,CAAC;KACd,CAAC;CACL;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,GAAG,CAAC;CACf"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/debug/types.ts"],"names":[],"mappings":";;;AA2GA,0BAQC;AA/ED,IAAY,SAIX;AAJD,WAAY,SAAS;IACjB,0BAAa,CAAA;IACb,kCAAqB,CAAA;IACrB,2CAA8B,CAAA;AAClC,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB;AAmED,SAAgB,OAAO,CAAC,CAAM;IAC1B,OAAO,CACH,CAAC,YAAY,MAAM;QACnB,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC;QACxB,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI;YACtB,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,QAAQ;YAC7B,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,YAAY,CAAC,CACzC,CAAC;AACN,CAAC;AAED,IAAY,gBAKX;AALD,WAAY,gBAAgB;IACxB,mCAAe,CAAA;IACf,qCAAiB,CAAA;IACjB,uCAAmB,CAAA;IACnB,yCAAqB,CAAA;AACzB,CAAC,EALW,gBAAgB,gCAAhB,gBAAgB,QAK3B"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/debug/types.ts"],"names":[],"mappings":";;;AAmGA,0BAQC;AA/ED,IAAY,SAIX;AAJD,WAAY,SAAS;IACjB,0BAAa,CAAA;IACb,kCAAqB,CAAA;IACrB,2CAA8B,CAAA;AAClC,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB;AAmED,SAAgB,OAAO,CAAC,CAAM;IAC1B,OAAO,CACH,CAAC,YAAY,MAAM;QACnB,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC;QACxB,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI;YACtB,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,QAAQ;YAC7B,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,YAAY,CAAC,CACzC,CAAC;AACN,CAAC;AAED,IAAY,gBAKX;AALD,WAAY,gBAAgB;IACxB,mCAAe,CAAA;IACf,qCAAiB,CAAA;IACjB,uCAAmB,CAAA;IACnB,yCAAqB,CAAA;AACzB,CAAC,EALW,gBAAgB,gCAAhB,gBAAgB,QAK3B"}
@@ -1,4 +1,4 @@
1
- import { EvmError, ExecResult } from "@ethereumjs/evm";
1
+ import { EVMError, ExecResult } from "@ethereumjs/evm";
2
2
  /**
3
3
  * The following code has been copied from
4
4
  *
@@ -6,7 +6,7 @@ import { EvmError, ExecResult } from "@ethereumjs/evm";
6
6
  *
7
7
  * Since its not exported by the underyling package, but we need it to hack on the VM to add foundry cheatcodes.
8
8
  */
9
- export declare function EvmErrorResult(error: EvmError, gasUsed: bigint): ExecResult;
9
+ export declare function EvmErrorResult(error: EVMError, gasUsed: bigint): ExecResult;
10
10
  export declare enum ERROR {
11
11
  OUT_OF_GAS = "out of gas",
12
12
  CODESTORE_OUT_OF_GAS = "code store out of gas",