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
@@ -1,20 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ArtifactManager = exports.SourceFileType = void 0;
3
+ exports.ArtifactManager = void 0;
4
4
  exports.getOffsetSrc = getOffsetSrc;
5
5
  const util_1 = require("@ethereumjs/util");
6
6
  const keccak_1 = require("ethereum-cryptography/keccak");
7
7
  const utils_1 = require("ethereum-cryptography/utils");
8
8
  const solc_typed_ast_1 = require("solc-typed-ast");
9
9
  const abi_1 = require("solc-typed-ast/dist/types/abi");
10
- const __1 = require("../..");
10
+ const helpers_1 = require("../../artifacts/helpers");
11
+ const misc_1 = require("../../utils/misc");
12
+ const solidity_1 = require("../../utils/solidity");
13
+ const srcmap_1 = require("../../utils/srcmap");
11
14
  const opcodes_1 = require("../opcodes");
12
15
  const bytecode_templates_1 = require("./bytecode_templates");
13
- var SourceFileType;
14
- (function (SourceFileType) {
15
- SourceFileType["Solidity"] = "solidity";
16
- SourceFileType["InternalYul"] = "internal_yul";
17
- })(SourceFileType || (exports.SourceFileType = SourceFileType = {}));
16
+ const types_1 = require("./types");
18
17
  /**
19
18
  * Build an offset-to-instruction index map for the given bytecode. Note
20
19
  * that since its not easy to tell exactly where the instruction section ends, we
@@ -75,7 +74,7 @@ class ArtifactManager {
75
74
  }
76
75
  else {
77
76
  artifact = arg;
78
- const maybeCompilerVersion = (0, __1.detectArtifactCompilerVersion)(artifact);
77
+ const maybeCompilerVersion = (0, helpers_1.detectArtifactCompilerVersion)(artifact);
79
78
  (0, solc_typed_ast_1.assert)(maybeCompilerVersion !== undefined, `Couldn't find compiler version for artifact`);
80
79
  compilerVersion = maybeCompilerVersion;
81
80
  }
@@ -93,7 +92,7 @@ class ArtifactManager {
93
92
  ast: unitMap.get(sourceInfo.ast.id),
94
93
  name: fileName,
95
94
  fileIndex: fileIdx,
96
- type: SourceFileType.Solidity
95
+ type: types_1.SourceFileType.Solidity
97
96
  });
98
97
  }
99
98
  const srcMap = new Map();
@@ -119,7 +118,7 @@ class ArtifactManager {
119
118
  // @todo support anonymous events as well
120
119
  if (definition instanceof solc_typed_ast_1.EventDefinition && !definition.anonymous) {
121
120
  const evtType = infer.eventDefToType(definition);
122
- const args = (0, __1.zip3)(definition.vParameters.vParameters.map((d) => d.name), evtType.parameters.map((rawTyp) => infer.toABIEncodedType(rawTyp, artifactInfo.abiEncoderVersion)), definition.vParameters.vParameters.map((d) => d.indexed));
121
+ const args = (0, misc_1.zip3)(definition.vParameters.vParameters.map((d) => d.name), evtType.parameters.map((rawTyp) => infer.toABIEncodedType(rawTyp, artifactInfo.abiEncoderVersion)), definition.vParameters.vParameters.map((d) => d.indexed));
123
122
  const topic = (0, util_1.bytesToBigInt)((0, keccak_1.keccak256)((0, utils_1.utf8ToBytes)(`${definition.name}(${args.map((x) => (0, abi_1.abiTypeToCanonicalName)(x[1])).join(",")})`)));
124
123
  const info = {
125
124
  definition,
@@ -132,7 +131,7 @@ class ArtifactManager {
132
131
  }
133
132
  for (const fileName in artifact.contracts) {
134
133
  for (const contractName in artifact.contracts[fileName]) {
135
- const contractDef = (0, __1.findContractDef)(artifactInfo.units, fileName, contractName);
134
+ const contractDef = (0, solidity_1.findContractDef)(artifactInfo.units, fileName, contractName);
136
135
  const contractArtifact = artifact.contracts[fileName][contractName];
137
136
  const generatedFileMap = new Map();
138
137
  const deployedGeneratedFileMap = new Map();
@@ -152,12 +151,12 @@ class ArtifactManager {
152
151
  ast: undefined,
153
152
  name: src.name ? src.name : "",
154
153
  contents: src.contents ? src.contents : undefined,
155
- type: SourceFileType.InternalYul,
154
+ type: types_1.SourceFileType.InternalYul,
156
155
  fileIndex: src.id
157
156
  });
158
157
  }
159
158
  }
160
- const hash = (0, __1.getCodeHash)(contractArtifact.evm.deployedBytecode.object);
159
+ const hash = (0, helpers_1.getCodeHash)(contractArtifact.evm.deployedBytecode.object);
161
160
  const contractInfo = {
162
161
  artifact: artifactInfo,
163
162
  contractArtifact: contractArtifact,
@@ -166,12 +165,12 @@ class ArtifactManager {
166
165
  ast: contractDef,
167
166
  bytecode: {
168
167
  generatedFileMap,
169
- srcMap: (0, __1.fastParseBytecodeSourceMapping)(contractArtifact.evm.bytecode.sourceMap),
168
+ srcMap: (0, srcmap_1.fastParseBytecodeSourceMapping)(contractArtifact.evm.bytecode.sourceMap),
170
169
  offsetToIndexMap: buildOffsetToIndexMap(contractArtifact.evm.bytecode.object)
171
170
  },
172
171
  deployedBytecode: {
173
172
  generatedFileMap: deployedGeneratedFileMap,
174
- srcMap: (0, __1.fastParseBytecodeSourceMapping)(contractArtifact.evm.deployedBytecode.sourceMap),
173
+ srcMap: (0, srcmap_1.fastParseBytecodeSourceMapping)(contractArtifact.evm.deployedBytecode.sourceMap),
175
174
  offsetToIndexMap: buildOffsetToIndexMap(contractArtifact.evm.deployedBytecode.object)
176
175
  },
177
176
  mdHash: hash
@@ -189,30 +188,38 @@ class ArtifactManager {
189
188
  artifacts() {
190
189
  return this._artifacts;
191
190
  }
191
+ getContractInfo(contract) {
192
+ for (const info of this._contracts) {
193
+ if (info.ast === contract) {
194
+ return info;
195
+ }
196
+ }
197
+ return undefined;
198
+ }
192
199
  getContractFromMDHash(hash) {
193
200
  return this._mdHashToContractInfo.get(hash);
194
201
  }
195
202
  getContractFromDeployedBytecode(bytecode) {
196
- const hash = (0, __1.getCodeHash)(bytecode);
203
+ const hash = (0, helpers_1.getCodeHash)(bytecode);
197
204
  if (hash) {
198
205
  return this._mdHashToContractInfo.get(hash);
199
206
  }
200
207
  for (let i = 0; i < this._deployedBytecodeTemplates.length; i++) {
201
208
  const templ = this._deployedBytecodeTemplates[i];
202
- if ((0, bytecode_templates_1.matchesTemplate)(bytecode, templ)) {
209
+ if ((0, bytecode_templates_1.matchesTemplate)(bytecode, templ, false)) {
203
210
  return this._contracts[i];
204
211
  }
205
212
  }
206
213
  return undefined;
207
214
  }
208
215
  getContractFromCreationBytecode(creationBytecode) {
209
- const hash = (0, __1.getCreationCodeHash)(creationBytecode);
216
+ const hash = (0, helpers_1.getCreationCodeHash)(creationBytecode);
210
217
  if (hash) {
211
218
  return this._mdHashToContractInfo.get(hash);
212
219
  }
213
220
  for (let i = 0; i < this._creationBytecodeTemplates.length; i++) {
214
221
  const templ = this._creationBytecodeTemplates[i];
215
- if ((0, bytecode_templates_1.matchesTemplate)(creationBytecode, templ)) {
222
+ if ((0, bytecode_templates_1.matchesTemplate)(creationBytecode, templ, true)) {
216
223
  return this._contracts[i];
217
224
  }
218
225
  }
@@ -249,11 +256,11 @@ class ArtifactManager {
249
256
  }
250
257
  return this._inferCache.get(version);
251
258
  }
252
- findMethod(selector) {
259
+ findMethod(selector, info) {
253
260
  if (selector instanceof Uint8Array) {
254
- selector = (0, utils_1.bytesToHex)(selector);
261
+ selector = `0x${(0, utils_1.bytesToHex)(selector)}`;
255
262
  }
256
- for (const contract of this._contracts) {
263
+ for (const contract of info ? [info] : this._contracts) {
257
264
  if (!contract.ast) {
258
265
  continue;
259
266
  }
@@ -272,6 +279,59 @@ class ArtifactManager {
272
279
  }
273
280
  return undefined;
274
281
  }
282
+ /**
283
+ * Given a msg.data and a target contract, compute the intended AST entry point. If any.
284
+ * This handles the following cases:
285
+ * - receive functions
286
+ * - fallback functions
287
+ * - normal function match
288
+ */
289
+ findEntryPoint(data, info) {
290
+ const contract = info.ast;
291
+ if (!contract) {
292
+ return undefined;
293
+ }
294
+ // Not enough data for a signature
295
+ if (data.length < 4) {
296
+ // First check if receive function is specified
297
+ const recvF = (0, solidity_1.findReceiveFun)(contract);
298
+ if (recvF) {
299
+ return recvF;
300
+ }
301
+ // Otherwise we fall back to the fallback fun
302
+ return (0, solidity_1.findFallbackFun)(contract);
303
+ }
304
+ const strSelector = (0, utils_1.bytesToHex)(data.slice(0, 4));
305
+ const infer = this.infer(info.artifact.compilerVersion);
306
+ for (const base of contract.vLinearizedBaseContracts) {
307
+ if (!base) {
308
+ continue;
309
+ }
310
+ for (const fun of base.vFunctions) {
311
+ const funSel = (0, misc_1.getFunctionSelector)(fun, infer);
312
+ if (funSel == strSelector) {
313
+ return fun;
314
+ }
315
+ }
316
+ for (const v of base.vStateVariables) {
317
+ if (v.visibility !== solc_typed_ast_1.StateVariableVisibility.Public) {
318
+ continue;
319
+ }
320
+ let hash;
321
+ try {
322
+ hash = infer.signatureHash(v);
323
+ }
324
+ catch (e) {
325
+ continue;
326
+ }
327
+ if (hash == strSelector) {
328
+ return v;
329
+ }
330
+ }
331
+ }
332
+ // the fallback fun if there is one
333
+ return (0, solidity_1.findFallbackFun)(contract);
334
+ }
275
335
  getEventDefInfo(arg) {
276
336
  let topic;
277
337
  if (typeof arg === "bigint") {
@@ -1 +1 @@
1
- {"version":3,"file":"artifact_manager.js","sourceRoot":"","sources":["../../../src/debug/artifact_manager/artifact_manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"artifact_manager.js","sourceRoot":"","sources":["../../../src/debug/artifact_manager/artifact_manager.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,5 @@ export interface BytecodeTemplate {
4
4
  skipRanges: Array<[number, number]>;
5
5
  }
6
6
  export declare function makeTemplate(artifact: PartialBytecodeDescription): BytecodeTemplate;
7
- export declare function matchesTemplate(bytecode: Uint8Array, template: BytecodeTemplate): boolean;
7
+ export declare function matchesTemplate(bytecode: Uint8Array, template: BytecodeTemplate, isCreation: boolean): boolean;
8
8
  //# sourceMappingURL=bytecode_templates.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bytecode_templates.d.ts","sourceRoot":"","sources":["../../../src/debug/artifact_manager/bytecode_templates.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAa,MAAM,iBAAiB,CAAC;AAExE,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACvC;AAMD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,0BAA0B,GAAG,gBAAgB,CAuBnF;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CA2BzF"}
1
+ {"version":3,"file":"bytecode_templates.d.ts","sourceRoot":"","sources":["../../../src/debug/artifact_manager/bytecode_templates.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAa,MAAM,iBAAiB,CAAC;AAExE,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACvC;AAMD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,0BAA0B,GAAG,gBAAgB,CAuBnF;AAED,wBAAgB,eAAe,CAC3B,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,gBAAgB,EAC1B,UAAU,EAAE,OAAO,GACpB,OAAO,CA8BT"}
@@ -22,12 +22,13 @@ function makeTemplate(artifact) {
22
22
  }
23
23
  skipRanges.sort();
24
24
  return {
25
- object: (0, util_1.hexToBytes)("0x" + artifact.object),
25
+ object: (0, util_1.hexToBytes)(`0x${artifact.object}`),
26
26
  skipRanges
27
27
  };
28
28
  }
29
- function matchesTemplate(bytecode, template) {
30
- if (bytecode.length !== template.object.length) {
29
+ function matchesTemplate(bytecode, template, isCreation) {
30
+ if ((isCreation && bytecode.length < template.object.length) ||
31
+ (!isCreation && bytecode.length !== template.object.length)) {
31
32
  return false;
32
33
  }
33
34
  let curIdx = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"bytecode_templates.js","sourceRoot":"","sources":["../../../src/debug/artifact_manager/bytecode_templates.ts"],"names":[],"mappings":";;AAYA,oCAuBC;AAED,0CA2BC;AAhED,2CAA2D;AAQ3D,SAAS,cAAc,CAAC,OAAkB;IACtC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,SAAgB,YAAY,CAAC,QAAoC;IAC7D,MAAM,UAAU,GAA4B,EAAE,CAAC;IAE/C,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC1B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACvD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtC,UAAU,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAI,QAAQ,CAAC,mBAAmB,EAAE,CAAC;QAC/B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC/D,UAAU,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/C,CAAC;IACL,CAAC;IAED,UAAU,CAAC,IAAI,EAAE,CAAC;IAElB,OAAO;QACH,MAAM,EAAE,IAAA,iBAAU,EAAC,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC1C,UAAU;KACb,CAAC;AACN,CAAC;AAED,SAAgB,eAAe,CAAC,QAAoB,EAAE,QAA0B;IAC5E,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QAC7C,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,OAAO,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACrC,IAAI,OAAe,CAAC;QACpB,IAAI,OAAe,CAAC;QAEpB,IAAI,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACxC,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACJ,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QAC/C,CAAC;QAED,IAAI,CAAC,IAAA,kBAAW,EAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;YACxF,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,GAAG,OAAO,CAAC;QACjB,QAAQ,EAAE,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"bytecode_templates.js","sourceRoot":"","sources":["../../../src/debug/artifact_manager/bytecode_templates.ts"],"names":[],"mappings":";;AAYA,oCAuBC;AAED,0CAkCC;AAvED,2CAA2D;AAQ3D,SAAS,cAAc,CAAC,OAAkB;IACtC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,SAAgB,YAAY,CAAC,QAAoC;IAC7D,MAAM,UAAU,GAA4B,EAAE,CAAC;IAE/C,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC1B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACvD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtC,UAAU,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAI,QAAQ,CAAC,mBAAmB,EAAE,CAAC;QAC/B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC/D,UAAU,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/C,CAAC;IACL,CAAC;IAED,UAAU,CAAC,IAAI,EAAE,CAAC;IAElB,OAAO;QACH,MAAM,EAAE,IAAA,iBAAU,EAAC,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC1C,UAAU;KACb,CAAC;AACN,CAAC;AAED,SAAgB,eAAe,CAC3B,QAAoB,EACpB,QAA0B,EAC1B,UAAmB;IAEnB,IACI,CAAC,UAAU,IAAI,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QACxD,CAAC,CAAC,UAAU,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAC7D,CAAC;QACC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,OAAO,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACrC,IAAI,OAAe,CAAC;QACpB,IAAI,OAAe,CAAC;QAEpB,IAAI,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACxC,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACJ,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QAC/C,CAAC;QAED,IAAI,CAAC,IAAA,kBAAW,EAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;YACxF,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,GAAG,OAAO,CAAC;QACjB,QAAQ,EAAE,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export * from "./artifact_manager";
2
+ export * from "./types";
2
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/debug/artifact_manager/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/debug/artifact_manager/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC"}
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./artifact_manager"), exports);
18
+ __exportStar(require("./types"), exports);
18
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/debug/artifact_manager/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/debug/artifact_manager/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,0CAAwB"}
@@ -0,0 +1,129 @@
1
+ import { PrefixedHexString } from "@ethereumjs/util";
2
+ import { ABIEncoderVersion, ASTContext, ASTNode, ContractDefinition, SourceUnit } from "solc-typed-ast";
3
+ import { PartialCompiledContract, PartialSolcOutput, RawAST } from "../../artifacts/solc";
4
+ import { DecodedBytecodeSourceMapEntry } from "../../utils/srcmap";
5
+ /**
6
+ * Bytecode info kept by the artifact manager, for each bytecode array.
7
+ */
8
+ export interface BytecodeInfo {
9
+ /**
10
+ * Map from the file-id (used in source maps in this artifact) to the compiler-generated Yul sources for this contract's creation bytecode.
11
+ * Note that multiple contracts have overlapping generated units ids, so we need a mapping per-contract
12
+ */
13
+ generatedFileMap: Map<number, SourceFileInfo>;
14
+ /**
15
+ * Source map for the bytecode. An array of {@link DecodedBytecodeSourceMapEntry}
16
+ */
17
+ srcMap: DecodedBytecodeSourceMapEntry[];
18
+ /**
19
+ * Map from bytecode offsets to instruction indices. (since some instructions are multi-byte, offset != instruction index).
20
+ */
21
+ offsetToIndexMap: Map<number, number>;
22
+ }
23
+ /**
24
+ * Contract info kept by the artifact manager for each compiled contract.
25
+ */
26
+ export interface ContractInfo {
27
+ /**
28
+ * Reference to the compiler artifact in which we found the contract
29
+ */
30
+ artifact: ArtifactInfo;
31
+ /**
32
+ * Reference to the compiled bytecode info for this contract. (inside the {@link ContractInfo.artifact})
33
+ */
34
+ contractArtifact: PartialCompiledContract;
35
+ /**
36
+ * Contract name
37
+ */
38
+ contractName: string;
39
+ /**
40
+ * File name where the contract is defined
41
+ */
42
+ fileName: string;
43
+ /**
44
+ * A solc-typed-ast built {@link https://consensysdiligence.github.io/solc-typed-ast/classes/ContractDefinition.html ContractDefinition} for this contract (if any)
45
+ */
46
+ ast: ContractDefinition | undefined;
47
+ /**
48
+ * Creation bytecode info
49
+ */
50
+ bytecode: BytecodeInfo;
51
+ /**
52
+ * Deployed bytecode info
53
+ */
54
+ deployedBytecode: BytecodeInfo;
55
+ /**
56
+ * Metadata hash found in either the deployed or creation bytecode (if any).
57
+ */
58
+ mdHash: PrefixedHexString | undefined;
59
+ }
60
+ /**
61
+ * Information about a complete solc compilation artifact (that may include several contracts).
62
+ */
63
+ export interface ArtifactInfo {
64
+ /**
65
+ * Raw solc JSON
66
+ */
67
+ artifact: PartialSolcOutput;
68
+ /**
69
+ * List of solc-typed-ast decoded {@link https://consensysdiligence.github.io/solc-typed-ast/classes/SourceUnit.html SourceUnit}s
70
+ */
71
+ units: SourceUnit[];
72
+ /**
73
+ * solc-typed-ast {@link https://consensysdiligence.github.io/solc-typed-ast/classes/ASTContext.html ASTContext} that owns all the decoded {@link https://consensysdiligence.github.io/solc-typed-ast/classes/SourceUnit.html SourceUnit}s
74
+ */
75
+ ctx: ASTContext;
76
+ /**
77
+ * solc compiler version that produced this artifact
78
+ */
79
+ compilerVersion: string;
80
+ /**
81
+ * abi encoder version for files in this artifact.
82
+ */
83
+ abiEncoderVersion: ABIEncoderVersion;
84
+ /**
85
+ * Map from the file-id (used in source maps in this artifact) to the actual sources entry (and some additional info)
86
+ */
87
+ fileMap: Map<number, SourceFileInfo>;
88
+ /**
89
+ * Map from src triples to AST nodes with that source range
90
+ */
91
+ srcMap: Map<string, ASTNode>;
92
+ }
93
+ /**
94
+ * Solidity file type. Either source file, or compiler-generated Yul.
95
+ */
96
+ export declare enum SourceFileType {
97
+ Solidity = "solidity",
98
+ InternalYul = "internal_yul"
99
+ }
100
+ /**
101
+ * Source-file info
102
+ */
103
+ export interface SourceFileInfo {
104
+ /**
105
+ * File contents (if any). If we got a compiler JSON artifact with no sources this may be undefined.
106
+ */
107
+ contents: string | undefined;
108
+ /**
109
+ * Raw JSON ast.
110
+ */
111
+ rawAst: RawAST;
112
+ /**
113
+ * solc-typed-ast decoded AST (may be undefined)
114
+ */
115
+ ast: SourceUnit | undefined;
116
+ /**
117
+ * File name
118
+ */
119
+ name: string;
120
+ /**
121
+ * File index (used in the import statements in ASTs to refer to files I think)
122
+ */
123
+ fileIndex: number;
124
+ /**
125
+ * Type of the source file (normal or internal Yul)
126
+ */
127
+ type: SourceFileType;
128
+ }
129
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/debug/artifact_manager/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EACH,iBAAiB,EACjB,UAAU,EACV,OAAO,EACP,kBAAkB,EAClB,UAAU,EACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;;OAGG;IACH,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC9C;;OAEG;IACH,MAAM,EAAE,6BAA6B,EAAE,CAAC;IACxC;;OAEG;IACH,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,QAAQ,EAAE,YAAY,CAAC;IACvB;;OAEG;IACH,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,GAAG,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACpC;;OAEG;IACH,QAAQ,EAAE,YAAY,CAAC;IACvB;;OAEG;IACH,gBAAgB,EAAE,YAAY,CAAC;IAC/B;;OAEG;IACH,MAAM,EAAE,iBAAiB,GAAG,SAAS,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,QAAQ,EAAE,iBAAiB,CAAC;IAC5B;;OAEG;IACH,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB;;OAEG;IACH,GAAG,EAAE,UAAU,CAAC;IAChB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,iBAAiB,EAAE,iBAAiB,CAAC;IACrC;;OAEG;IACH,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACrC;;OAEG;IACH,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,oBAAY,cAAc;IACtB,QAAQ,aAAa;IACrB,WAAW,iBAAiB;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,GAAG,EAAE,UAAU,GAAG,SAAS,CAAC;IAC5B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,IAAI,EAAE,cAAc,CAAC;CACxB"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SourceFileType = void 0;
4
+ /**
5
+ * Solidity file type. Either source file, or compiler-generated Yul.
6
+ */
7
+ var SourceFileType;
8
+ (function (SourceFileType) {
9
+ SourceFileType["Solidity"] = "solidity";
10
+ SourceFileType["InternalYul"] = "internal_yul";
11
+ })(SourceFileType || (exports.SourceFileType = SourceFileType = {}));
12
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/debug/artifact_manager/types.ts"],"names":[],"mappings":";;;AAsGA;;GAEG;AACH,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,uCAAqB,CAAA;IACrB,8CAA4B,CAAA;AAChC,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB"}
@@ -0,0 +1,2 @@
1
+ export { makeCalldataViews } from "./view";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/debug/decoding/calldata/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeCalldataViews = void 0;
4
+ var view_1 = require("./view");
5
+ Object.defineProperty(exports, "makeCalldataViews", { enumerable: true, get: function () { return view_1.makeCalldataViews; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/debug/decoding/calldata/index.ts"],"names":[],"mappings":";;;AAAA,+BAA2C;AAAlC,yGAAA,iBAAiB,OAAA"}
@@ -0,0 +1,75 @@
1
+ import { AddressType, ArrayType, BoolType, BytesType, FixedBytesType, IntType, PointerType, TupleType, TypeNode } from "solc-typed-ast";
2
+ import { Memory } from "../../types";
3
+ import { DecodingFailure, Struct, Value } from "../value";
4
+ import { View } from "../view";
5
+ import { Address } from "@ethereumjs/util";
6
+ import { ExpStructType, MissingType } from "../exp_types";
7
+ export declare abstract class BaseCalldataView<Val extends Value, Type extends TypeNode = TypeNode> extends View<Memory, Val, bigint, Type> {
8
+ protected base: bigint;
9
+ constructor(type: Type, loc: bigint, base: bigint);
10
+ protected readMemAt(off: number | bigint, calldata: Memory, len: bigint | number): Uint8Array | DecodingFailure;
11
+ protected decodeIntAt(offset: bigint, typ: IntType, calldata: Memory): bigint | DecodingFailure;
12
+ decodeBytesAt(loc: bigint, state: Memory): Uint8Array | DecodingFailure;
13
+ decodeTupleAt(loc: bigint, curBase: bigint, type: TupleType, state: Memory): Value[];
14
+ pp(): string;
15
+ get offset(): bigint;
16
+ }
17
+ /**
18
+ * View to an IntType in calldata
19
+ */
20
+ export declare class IntCalldataView extends BaseCalldataView<bigint, IntType> {
21
+ decode(state: Memory): bigint | DecodingFailure;
22
+ }
23
+ /**
24
+ * View to a BoolType in calldata
25
+ */
26
+ export declare class BoolCalldataView extends BaseCalldataView<boolean, BoolType> {
27
+ decode(state: Memory): boolean | DecodingFailure;
28
+ }
29
+ /**
30
+ * View to an Address in calldata
31
+ */
32
+ export declare class AddressCalldataView extends BaseCalldataView<Address, AddressType> {
33
+ decode(state: Memory): Address | DecodingFailure;
34
+ }
35
+ /**
36
+ * View to an FixedBytes in calldata
37
+ */
38
+ export declare class FixedBytesCalldataView extends BaseCalldataView<Uint8Array, FixedBytesType> {
39
+ decode(state: Memory): Uint8Array | DecodingFailure;
40
+ }
41
+ export declare class BytesCalldataView extends BaseCalldataView<Uint8Array, BytesType> {
42
+ decode(state: Memory): Uint8Array | DecodingFailure;
43
+ }
44
+ export declare class StringCalldataView extends BaseCalldataView<string, BytesType> {
45
+ decode(state: Memory): string | DecodingFailure;
46
+ }
47
+ export declare class TupleCalldataView extends BaseCalldataView<Value[], TupleType> {
48
+ decode(state: Memory): Value[] | DecodingFailure;
49
+ }
50
+ export declare abstract class BaseArrayCalldataView extends BaseCalldataView<Value[], ArrayType> {
51
+ decodeArray(baseOff: bigint, bigIntSize: bigint, state: Memory): Value[] | DecodingFailure;
52
+ }
53
+ export declare class ArrayCalldataView extends BaseArrayCalldataView {
54
+ decode(state: Memory): Value[] | DecodingFailure;
55
+ }
56
+ /**
57
+ * An ArraySliceView is only created from stack locations. It should not be created in makeCalldataView.
58
+ */
59
+ export declare class ArraySliceCalldataView extends BaseArrayCalldataView {
60
+ protected len: bigint;
61
+ constructor(type: ArrayType, loc: bigint, len: bigint);
62
+ decode(state: Memory): Value[] | DecodingFailure;
63
+ }
64
+ export declare class StructCalldataView extends BaseCalldataView<Struct, ExpStructType> {
65
+ decode(state: Memory): Struct;
66
+ }
67
+ export declare class PointerCalldataView extends BaseCalldataView<Value, PointerType> {
68
+ decode(state: Memory): Value | DecodingFailure;
69
+ }
70
+ export declare class MissingCalldataView extends BaseCalldataView<DecodingFailure, MissingType> {
71
+ decode(): DecodingFailure;
72
+ }
73
+ export declare function makeCalldataView(type: TypeNode, loc: bigint, base: bigint): BaseCalldataView<Value, TypeNode>;
74
+ export declare function makeCalldataViews(types: TypeNode[], base: bigint): Array<BaseCalldataView<Value, TypeNode>>;
75
+ //# sourceMappingURL=view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../../src/debug/decoding/calldata/view.ts"],"names":[],"mappings":"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"}