sol-dbg 0.5.0 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/dist/debug/decoding/general.d.ts +2 -1
  2. package/dist/debug/decoding/general.d.ts.map +1 -1
  3. package/dist/debug/decoding/general.js +5 -5
  4. package/dist/debug/decoding/general.js.map +1 -1
  5. package/dist/debug/decoding/storage.d.ts +6 -3
  6. package/dist/debug/decoding/storage.d.ts.map +1 -1
  7. package/dist/debug/decoding/storage.js +73 -13
  8. package/dist/debug/decoding/storage.js.map +1 -1
  9. package/dist/debug/foundry_cheatcodes.d.ts +2 -1
  10. package/dist/debug/foundry_cheatcodes.d.ts.map +1 -1
  11. package/dist/debug/foundry_cheatcodes.js +4 -0
  12. package/dist/debug/foundry_cheatcodes.js.map +1 -1
  13. package/dist/debug/index.d.ts +1 -0
  14. package/dist/debug/index.d.ts.map +1 -1
  15. package/dist/debug/index.js +1 -0
  16. package/dist/debug/index.js.map +1 -1
  17. package/dist/debug/layout.d.ts +9 -0
  18. package/dist/debug/layout.d.ts.map +1 -0
  19. package/dist/debug/layout.js +80 -0
  20. package/dist/debug/layout.js.map +1 -0
  21. package/dist/debug/tracers/base_tracer.d.ts +4 -1
  22. package/dist/debug/tracers/base_tracer.d.ts.map +1 -1
  23. package/dist/debug/tracers/base_tracer.js +13 -3
  24. package/dist/debug/tracers/base_tracer.js.map +1 -1
  25. package/dist/debug/tracers/index.d.ts +1 -0
  26. package/dist/debug/tracers/index.d.ts.map +1 -1
  27. package/dist/debug/tracers/index.js +1 -0
  28. package/dist/debug/tracers/index.js.map +1 -1
  29. package/dist/debug/tracers/support_tracer.d.ts +15 -0
  30. package/dist/debug/tracers/support_tracer.d.ts.map +1 -0
  31. package/dist/debug/tracers/support_tracer.js +22 -0
  32. package/dist/debug/tracers/support_tracer.js.map +1 -0
  33. package/dist/debug/tracers/transformers/basic_info.d.ts +2 -0
  34. package/dist/debug/tracers/transformers/basic_info.d.ts.map +1 -1
  35. package/dist/debug/tracers/transformers/basic_info.js +2 -0
  36. package/dist/debug/tracers/transformers/basic_info.js.map +1 -1
  37. package/dist/debug/tracers/transformers/contract_lifetime.d.ts +21 -0
  38. package/dist/debug/tracers/transformers/contract_lifetime.d.ts.map +1 -0
  39. package/dist/debug/tracers/transformers/contract_lifetime.js +70 -0
  40. package/dist/debug/tracers/transformers/contract_lifetime.js.map +1 -0
  41. package/dist/debug/tracers/transformers/index.d.ts +2 -0
  42. package/dist/debug/tracers/transformers/index.d.ts.map +1 -1
  43. package/dist/debug/tracers/transformers/index.js +2 -0
  44. package/dist/debug/tracers/transformers/index.js.map +1 -1
  45. package/dist/debug/tracers/transformers/keccak256_invert.d.ts +29 -0
  46. package/dist/debug/tracers/transformers/keccak256_invert.d.ts.map +1 -0
  47. package/dist/debug/tracers/transformers/keccak256_invert.js +65 -0
  48. package/dist/debug/tracers/transformers/keccak256_invert.js.map +1 -0
  49. package/dist/utils/index.d.ts +2 -0
  50. package/dist/utils/index.d.ts.map +1 -1
  51. package/dist/utils/index.js +2 -0
  52. package/dist/utils/index.js.map +1 -1
  53. package/dist/utils/map.d.ts +5 -0
  54. package/dist/utils/map.d.ts.map +1 -0
  55. package/dist/utils/map.js +12 -0
  56. package/dist/utils/map.js.map +1 -0
  57. package/dist/utils/pp.d.ts +2 -1
  58. package/dist/utils/pp.d.ts.map +1 -1
  59. package/dist/utils/pp.js +2 -2
  60. package/dist/utils/pp.js.map +1 -1
  61. package/dist/utils/set.d.ts +9 -0
  62. package/dist/utils/set.d.ts.map +1 -0
  63. package/dist/utils/set.js +21 -0
  64. package/dist/utils/set.js.map +1 -0
  65. package/dist/utils/test_runner.d.ts +22 -10
  66. package/dist/utils/test_runner.d.ts.map +1 -1
  67. package/dist/utils/test_runner.js +73 -33
  68. package/dist/utils/test_runner.js.map +1 -1
  69. package/package.json +1 -1
@@ -1,9 +1,10 @@
1
1
  import { InferType, TypeNode } from "solc-typed-ast";
2
2
  import { DataView, StepState } from "..";
3
+ import { MapKeys } from "../tracers/transformers";
3
4
  export declare function isCalldataType2Slots(typ: TypeNode): boolean;
4
5
  /**
5
6
  * Decode a generic value expressed as a `DataView` (i.e. a tuple of type and location) given
6
7
  * the dbg state `state` at some step.
7
8
  */
8
- export declare function decodeValue(view: DataView, state: StepState, infer: InferType): any;
9
+ export declare function decodeValue(view: DataView, state: StepState, infer: InferType, mapKeys?: MapKeys): any;
9
10
  //# sourceMappingURL=general.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../src/debug/decoding/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,SAAS,EAGT,QAAQ,EACX,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAGH,QAAQ,EAGR,SAAS,EAEZ,MAAM,IAAI,CAAC;AAoDZ,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAO3D;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,GAAG,CAqFnF"}
1
+ {"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../src/debug/decoding/general.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,SAAS,EAGT,QAAQ,EACX,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAGH,QAAQ,EAGR,SAAS,EAEZ,MAAM,IAAI,CAAC;AAEZ,OAAO,EAAE,OAAO,EAAe,MAAM,yBAAyB,CAAC;AAwD/D,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,QAAQ,GAAG,OAAO,CAO3D;AAED;;;GAGG;AACH,wBAAgB,WAAW,CACvB,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE,OAAO,GAClB,GAAG,CAqFL"}
@@ -21,7 +21,7 @@ function solLocToDataKind(loc) {
21
21
  * Helper to dispatch the decoding of a given type `typ` at a given data location `loc` in a given `state`.
22
22
  * to the proper decoding logic (memory, calldata, storage, stack)
23
23
  */
24
- function decodeValInt(typ, loc, state, infer) {
24
+ function decodeValInt(typ, loc, state, infer, mapKeys) {
25
25
  if (loc.kind === __1.DataLocationKind.Memory) {
26
26
  const res = (0, memory_1.mem_decodeValue)(typ, loc, state.memory, infer);
27
27
  return res === undefined ? res : res[0];
@@ -41,7 +41,7 @@ function decodeValInt(typ, loc, state, infer) {
41
41
  if (loc.kind === __1.DataLocationKind.Stack) {
42
42
  return (0, stack_1.st_decodeValue)(typ, loc, state.evmStack, infer);
43
43
  }
44
- const res = (0, storage_1.stor_decodeValue)(typ, loc, state.storage, infer);
44
+ const res = (0, storage_1.stor_decodeValue)(typ, loc, state.storage, infer, mapKeys);
45
45
  return res === undefined ? res : res[0];
46
46
  }
47
47
  function isCalldataType2Slots(typ) {
@@ -54,7 +54,7 @@ function isCalldataType2Slots(typ) {
54
54
  * Decode a generic value expressed as a `DataView` (i.e. a tuple of type and location) given
55
55
  * the dbg state `state` at some step.
56
56
  */
57
- function decodeValue(view, state, infer) {
57
+ function decodeValue(view, state, infer, mapKeys) {
58
58
  const typ = view.type;
59
59
  const loc = view.loc;
60
60
  /**
@@ -102,11 +102,11 @@ function decodeValue(view, state, infer) {
102
102
  address: off
103
103
  };
104
104
  }
105
- const res = decodeValInt(typ.to, pointedToLoc, state, infer);
105
+ const res = decodeValInt(typ.to, pointedToLoc, state, infer, mapKeys);
106
106
  //console.error(`decodeValue: res ${res}`);
107
107
  return res;
108
108
  }
109
- const res = decodeValInt(typ, loc, state, infer);
109
+ const res = decodeValInt(typ, loc, state, infer, mapKeys);
110
110
  //console.error(`decodeValue: res ${res}`);
111
111
  return res;
112
112
  }
@@ -1 +1 @@
1
- {"version":3,"file":"general.js","sourceRoot":"","sources":["../../../src/debug/decoding/general.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"general.js","sourceRoot":"","sources":["../../../src/debug/decoding/general.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,7 @@
1
- import { InferType, TypeNode } from "solc-typed-ast";
2
- import { Storage, StorageLocation } from "..";
3
- export declare function stor_decodeValue(typ: TypeNode, loc: StorageLocation, storage: Storage, infer: InferType): undefined | [any, StorageLocation];
1
+ import { InferType, MappingType, TypeNode } from "solc-typed-ast";
2
+ import { MapKeys, Storage, StorageLocation } from "..";
3
+ export declare function nextWord(loc: StorageLocation): StorageLocation;
4
+ export declare function roundLocToType(loc: StorageLocation, typ: TypeNode, infer: InferType): StorageLocation;
5
+ export declare function stor_decodeMap(typ: MappingType, loc: StorageLocation, storage: Storage, infer: InferType, mapKeys?: MapKeys): undefined | [any, StorageLocation];
6
+ export declare function stor_decodeValue(typ: TypeNode, loc: StorageLocation, storage: Storage, infer: InferType, mapKeys?: MapKeys): undefined | [any, StorageLocation];
4
7
  //# sourceMappingURL=storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/debug/decoding/storage.ts"],"names":[],"mappings":"AAEA,OAAO,EAQH,SAAS,EAOT,QAAQ,EAKX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,eAAe,EAAoB,MAAM,IAAI,CAAC;AAqchE,wBAAgB,gBAAgB,CAC5B,GAAG,EAAE,QAAQ,EACb,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,SAAS,GACjB,SAAS,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,CAsDpC"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/debug/decoding/storage.ts"],"names":[],"mappings":"AAEA,OAAO,EAQH,SAAS,EAET,WAAW,EAKX,QAAQ,EAKX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEH,OAAO,EACP,OAAO,EACP,eAAe,EAGlB,MAAM,IAAI,CAAC;AA2OZ,wBAAgB,QAAQ,CAAC,GAAG,EAAE,eAAe,GAAG,eAAe,CAM9D;AAED,wBAAgB,cAAc,CAC1B,GAAG,EAAE,eAAe,EACpB,GAAG,EAAE,QAAQ,EACb,KAAK,EAAE,SAAS,GACjB,eAAe,CAMjB;AA2OD,wBAAgB,cAAc,CAC1B,GAAG,EAAE,WAAW,EAChB,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE,OAAO,GAClB,SAAS,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,CAkDpC;AAED,wBAAgB,gBAAgB,CAC5B,GAAG,EAAE,QAAQ,EACb,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,SAAS,EAChB,OAAO,CAAC,EAAE,OAAO,GAClB,SAAS,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,CAsDpC"}
@@ -1,5 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nextWord = nextWord;
4
+ exports.roundLocToType = roundLocToType;
5
+ exports.stor_decodeMap = stor_decodeMap;
3
6
  exports.stor_decodeValue = stor_decodeValue;
4
7
  const util_1 = require("@ethereumjs/util");
5
8
  const keccak_js_1 = require("ethereum-cryptography/keccak.js");
@@ -142,7 +145,7 @@ function typeFitsInLoc(typ, loc, infer) {
142
145
  typ.to instanceof solc_typed_ast_1.MappingType) {
143
146
  return loc.endOffsetInWord === 32;
144
147
  }
145
- throw new Error(`NYI firstLocationOfTypeAfter(${typ.pp()},...)`);
148
+ throw new Error(`NYI typeFitsInLoc(${typ.pp()},...)`);
146
149
  }
147
150
  const size = typeStaticStorSize(typ, infer);
148
151
  (0, solc_typed_ast_1.assert)(size <= 32, `Unexpected type ${typ.pp()} spanning more than a single word`);
@@ -166,7 +169,7 @@ function roundLocToType(loc, typ, infer) {
166
169
  * Returns undefined when it fails decoding, otherwise a pair `[any, number]`
167
170
  * containing an object with the decoded fields and its size in bytes in storage.
168
171
  */
169
- function stor_decodeStruct(typ, loc, storage, infer) {
172
+ function stor_decodeStruct(typ, loc, storage, infer, mapKeys) {
170
173
  const def = typ.definition;
171
174
  (0, solc_typed_ast_1.assert)(def instanceof solc_typed_ast_1.StructDefinition, `stor_decodeStruct expects a struct, not {0}`, typ);
172
175
  (0, solc_typed_ast_1.assert)(loc.endOffsetInWord === 32, `Internal Error: Location of struct of type {0} doesn't start at the end of word {1} - instead at off {2}`, typ, loc.address, loc.endOffsetInWord);
@@ -181,7 +184,7 @@ function stor_decodeStruct(typ, loc, storage, infer) {
181
184
  }
182
185
  const fieldT = (0, __1.changeToLocation)(fieldGenT, solc_typed_ast_1.DataLocation.Storage);
183
186
  loc = roundLocToType(loc, fieldT, infer);
184
- const fieldVal = stor_decodeValue(fieldT, loc, storage, infer);
187
+ const fieldVal = stor_decodeValue(fieldT, loc, storage, infer, mapKeys);
185
188
  if (fieldVal === undefined) {
186
189
  return undefined;
187
190
  }
@@ -222,7 +225,7 @@ function stor_decodeString(loc, storage) {
222
225
  const str = (0, util_1.bytesToUtf8)(res[0]);
223
226
  return [str, res[1]];
224
227
  }
225
- function stor_decodeArray(typ, loc, storage, infer) {
228
+ function stor_decodeArray(typ, loc, storage, infer, mapKeys) {
226
229
  let numLen;
227
230
  let contentsLoc;
228
231
  const res = [];
@@ -247,7 +250,7 @@ function stor_decodeArray(typ, loc, storage, infer) {
247
250
  contentsLoc = loc;
248
251
  }
249
252
  for (let i = 0; i < numLen; i++) {
250
- const elRes = stor_decodeValue(typ.elementT, contentsLoc, storage, infer);
253
+ const elRes = stor_decodeValue(typ.elementT, contentsLoc, storage, infer, mapKeys);
251
254
  if (elRes === undefined) {
252
255
  return undefined;
253
256
  }
@@ -271,7 +274,7 @@ function stor_decodeArray(typ, loc, storage, infer) {
271
274
  * Otherwise 2*len+1 is stored at loc.address (TODO little endian? big endian encoded?) and the contents are at keccak256(loc.address)
272
275
  * 3. Pointer to struct - the struct fields themselves directly starts at the loc.address
273
276
  */
274
- function stor_decodePointer(typ, loc, storage, infer) {
277
+ function stor_decodePointer(typ, loc, storage, infer, mapKeys) {
275
278
  if (typ.to instanceof solc_typed_ast_1.BytesType) {
276
279
  return stor_decodeBytes(loc, storage);
277
280
  }
@@ -280,15 +283,72 @@ function stor_decodePointer(typ, loc, storage, infer) {
280
283
  }
281
284
  if (typ.to instanceof solc_typed_ast_1.UserDefinedType) {
282
285
  if (typ.to.definition instanceof solc_typed_ast_1.StructDefinition) {
283
- return stor_decodeStruct(typ.to, loc, storage, infer);
286
+ return stor_decodeStruct(typ.to, loc, storage, infer, mapKeys);
284
287
  }
285
288
  }
286
289
  if (typ.to instanceof solc_typed_ast_1.ArrayType) {
287
- return stor_decodeArray(typ.to, loc, storage, infer);
290
+ return stor_decodeArray(typ.to, loc, storage, infer, mapKeys);
291
+ }
292
+ if (typ.to instanceof solc_typed_ast_1.MappingType) {
293
+ return stor_decodeMap(typ.to, loc, storage, infer, mapKeys);
288
294
  }
289
295
  throw new Error(`NYI stor_decodePointer(${typ.pp()},...)`);
290
296
  }
291
- function stor_decodeValue(typ, loc, storage, infer) {
297
+ function translateMapKey(key) {
298
+ if (typeof key === "bigint") {
299
+ return `${key}`;
300
+ }
301
+ if (typeof key === "number" || typeof key === "string") {
302
+ return key;
303
+ }
304
+ if (key instanceof util_1.Address) {
305
+ return key.toString();
306
+ }
307
+ throw new Error(`Unexpected decoded key value: ${key}`);
308
+ }
309
+ function decodeMapRefKey(type, data) {
310
+ if (!(type instanceof solc_typed_ast_1.StringType || type instanceof solc_typed_ast_1.BytesType)) {
311
+ throw new Error(`Invalid map reference key type ${type.pp()}`);
312
+ }
313
+ return type instanceof solc_typed_ast_1.StringType ? (0, util_1.bytesToUtf8)(data) : (0, util_1.bytesToHex)(data);
314
+ }
315
+ function stor_decodeMap(typ, loc, storage, infer, mapKeys) {
316
+ if (mapKeys === undefined) {
317
+ throw new Error(`Cannot decode map ${typ.pp()} without map keys given`);
318
+ }
319
+ const candidateKeys = mapKeys.get(loc.address);
320
+ const res = {};
321
+ // No keys
322
+ if (candidateKeys === undefined) {
323
+ return [res, nextWord(loc)];
324
+ }
325
+ for (const [candidateKey, candidateSlot] of candidateKeys) {
326
+ let decodedKey;
327
+ let decodedValue;
328
+ try {
329
+ if (typ.keyType instanceof solc_typed_ast_1.PointerType) {
330
+ decodedKey = [decodeMapRefKey(typ.keyType.to, candidateKey), null];
331
+ }
332
+ else {
333
+ decodedKey = (0, __1.mem_decodeValue)(typ.keyType, { kind: __1.DataLocationKind.Memory, address: BigInt(0) }, candidateKey, infer);
334
+ }
335
+ }
336
+ catch (e) {
337
+ continue;
338
+ }
339
+ try {
340
+ decodedValue = stor_decodeValue(typ.valueType, { kind: __1.DataLocationKind.Storage, address: candidateSlot, endOffsetInWord: 32 }, storage, infer, mapKeys);
341
+ }
342
+ catch (e) {
343
+ continue;
344
+ }
345
+ if (decodedKey !== undefined && decodedValue !== undefined) {
346
+ res[translateMapKey(decodedKey[0])] = decodedValue[0];
347
+ }
348
+ }
349
+ return [res, nextWord(loc)];
350
+ }
351
+ function stor_decodeValue(typ, loc, storage, infer, mapKeys) {
292
352
  if (typ instanceof solc_typed_ast_1.IntType) {
293
353
  return stor_decodeInt(typ, loc, storage);
294
354
  }
@@ -302,7 +362,7 @@ function stor_decodeValue(typ, loc, storage, infer) {
302
362
  return stor_decodeAddress(loc, storage);
303
363
  }
304
364
  if (typ instanceof solc_typed_ast_1.PointerType) {
305
- return stor_decodePointer(typ, loc, storage, infer);
365
+ return stor_decodePointer(typ, loc, storage, infer, mapKeys);
306
366
  }
307
367
  if (typ instanceof solc_typed_ast_1.BytesType) {
308
368
  return stor_decodeBytes(loc, storage);
@@ -311,11 +371,11 @@ function stor_decodeValue(typ, loc, storage, infer) {
311
371
  return stor_decodeString(loc, storage);
312
372
  }
313
373
  if (typ instanceof solc_typed_ast_1.ArrayType) {
314
- return stor_decodeArray(typ, loc, storage, infer);
374
+ return stor_decodeArray(typ, loc, storage, infer, mapKeys);
315
375
  }
316
376
  if (typ instanceof solc_typed_ast_1.UserDefinedType) {
317
377
  if (typ.definition instanceof solc_typed_ast_1.StructDefinition) {
318
- return stor_decodeStruct(typ, loc, storage, infer);
378
+ return stor_decodeStruct(typ, loc, storage, infer, mapKeys);
319
379
  }
320
380
  if (typ.definition instanceof solc_typed_ast_1.ContractDefinition) {
321
381
  return stor_decodeAddress(loc, storage);
@@ -325,7 +385,7 @@ function stor_decodeValue(typ, loc, storage, infer) {
325
385
  }
326
386
  if (typ.definition instanceof solc_typed_ast_1.UserDefinedValueTypeDefinition) {
327
387
  const underlyingType = infer.typeNameToTypeNode(typ.definition.underlyingType);
328
- return stor_decodeValue(underlyingType, loc, storage, infer);
388
+ return stor_decodeValue(underlyingType, loc, storage, infer, mapKeys);
329
389
  }
330
390
  }
331
391
  throw new Error(`NYI storage decode for type ${typ.pp()}`);
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/debug/decoding/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/debug/decoding/storage.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { EVM, Message } from "@ethereumjs/evm";
1
+ import { EVM, EVMInterface, Message } from "@ethereumjs/evm";
2
2
  import { Address } from "@ethereumjs/util";
3
3
  type PrecompileFunc = any;
4
4
  type RunState = any;
@@ -9,6 +9,7 @@ type RunState = any;
9
9
  * its callbacks.
10
10
  */
11
11
  export declare const foundryCtxMap: Map<EVM, FoundryContext>;
12
+ export declare function getFoundryCtx(evm: EVMInterface): FoundryContext | undefined;
12
13
  export declare const FoundryCheatcodesAddress: Address;
13
14
  export declare const WARP_SELECTOR: Uint8Array;
14
15
  export declare const ROLL_SELECTOR: Uint8Array;
@@ -1 +1 @@
1
- {"version":3,"file":"foundry_cheatcodes.d.ts","sourceRoot":"","sources":["../../src/debug/foundry_cheatcodes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAwB,OAAO,EAAmB,MAAM,iBAAiB,CAAC;AACtF,OAAO,EAEH,OAAO,EAIV,MAAM,kBAAkB,CAAC;AAO1B,KAAK,cAAc,GAAG,GAAG,CAAC;AAE1B,KAAK,QAAQ,GAAG,GAAG,CAAC;AACpB;;;;;GAKG;AACH,eAAO,MAAM,aAAa,0BAAiC,CAAC;AA6B5D,eAAO,MAAM,wBAAwB,SAEpC,CAAC;AAMF,eAAO,MAAM,aAAa,YAA+B,CAAC;AAC1D,eAAO,MAAM,aAAa,YAA+B,CAAC;AAC1D,eAAO,MAAM,aAAa,YAAuC,CAAC;AAClE,eAAO,MAAM,cAAc,YAAgD,CAAC;AAC5E,eAAO,MAAM,aAAa,YAAuC,CAAC;AAClE,eAAO,MAAM,aAAa,YAA+B,CAAC;AAC1D,eAAO,MAAM,aAAa,YAAuC,CAAC;AAClE,eAAO,MAAM,gBAAgB,YAAgC,CAAC;AAC9D,eAAO,MAAM,gBAAgB,YAAwC,CAAC;AACtE,eAAO,MAAM,sBAAsB,YAAqC,CAAC;AACzE,eAAO,MAAM,sBAAsB,YAA6C,CAAC;AACjF,eAAO,MAAM,mBAAmB,YAA6B,CAAC;AAC9D,eAAO,MAAM,wBAAwB,YAAgC,CAAC;AACtE,eAAO,MAAM,wBAAwB,YAAsC,CAAC;AAC5E,eAAO,MAAM,wBAAwB,YAAqC,CAAC;AAE3E,eAAO,MAAM,QAAQ,QAAwD,CAAC;AAE9E,eAAO,MAAM,aAAa,QAOzB,CAAC;AAEF,UAAU,cAAe,SAAQ,OAAO;IACpC,kBAAkB,EAAE,WAAW,GAAG,SAAS,CAAC;IAC5C,YAAY,EAAE,YAAY,GAAG,SAAS,CAAC;IACvC,MAAM,EAAE,YAAY,EAAE,GAAG,SAAS,CAAC;CACtC;AAED,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,IAAI,EAAE,OAAO,CAAC;CACjB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAIpE;;;GAGG;AACH,wBAAgB,wBAAwB,CACpC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,WAAW,GACtB,OAAO,CA0CT;AAED;;GAEG;AACH,qBAAa,cAAc;IAChB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAa;IACzC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAa;IAC5C,UAAU,UAAS;IAEnB,iBAAiB,IAAI,IAAI;IAIzB,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAQtC,iBAAiB,IAAI,WAAW;IAQvC;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAwB;IAGjC,MAAM,IAAI,cAAc;IAKxB,eAAe,IAAI,YAAY,GAAG,SAAS;IAS3C,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI;IAQ7D;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAUjB;;OAEG;IACI,QAAQ,CAAC,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI;IAOjE;;OAEG;IACI,WAAW,IAAI,IAAI;IAO1B;;;;OAIG;IACI,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,CAAC,OAAO,GAAG,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;IA6B/E;;;OAGG;IACH,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAcrC;;;OAGG;IACH,gBAAgB,IAAI,IAAI;CAG3B;AAED,wBAAgB,8BAA8B,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAoRjF"}
1
+ {"version":3,"file":"foundry_cheatcodes.d.ts","sourceRoot":"","sources":["../../src/debug/foundry_cheatcodes.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FoundryContext = exports.FAIL_MSG_DATA = exports.FAIL_LOC = exports.EXPECT_REVERT_SELECTOR03 = exports.EXPECT_REVERT_SELECTOR02 = exports.EXPECT_REVERT_SELECTOR01 = exports.STOP_PRANK_SELECTOR = exports.START_PRANK_SELECTOR02 = exports.START_PRANK_SELECTOR01 = exports.PRANK_SELECTOR02 = exports.PRANK_SELECTOR01 = exports.DEAL_SELECTOR = exports.ADDR_SELECTOR = exports.SIGN_SELECTOR = exports.STORE_SELECTOR = exports.LOAD_SELECTOR = exports.ROLL_SELECTOR = exports.WARP_SELECTOR = exports.FoundryCheatcodesAddress = exports.foundryCtxMap = void 0;
4
+ exports.getFoundryCtx = getFoundryCtx;
4
5
  exports.returnStateMatchesRevert = returnStateMatchesRevert;
5
6
  exports.makeFoundryCheatcodePrecompile = makeFoundryCheatcodePrecompile;
6
7
  const evm_1 = require("@ethereumjs/evm");
@@ -17,6 +18,9 @@ const exceptions_1 = require("../utils/ethereumjs_internal/exceptions");
17
18
  */
18
19
  exports.foundryCtxMap = new Map();
19
20
  const oldRunMsgFun = evm_1.EVM.prototype.runInterpreter;
21
+ function getFoundryCtx(evm) {
22
+ return exports.foundryCtxMap.get(evm);
23
+ }
20
24
  evm_1.EVM.prototype.runInterpreter = async function hookedRunInterpreter(message, opts) {
21
25
  const ctx = exports.foundryCtxMap.get(this);
22
26
  if (ctx) {
@@ -1 +1 @@
1
- {"version":3,"file":"foundry_cheatcodes.js","sourceRoot":"","sources":["../../src/debug/foundry_cheatcodes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"foundry_cheatcodes.js","sourceRoot":"","sources":["../../src/debug/foundry_cheatcodes.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  export * from "./abi";
2
2
  export * from "./artifact_manager";
3
3
  export * from "./decoding";
4
+ export * from "./layout";
4
5
  export * from "./opcodes";
5
6
  export * from "./tracers";
6
7
  export * from "./types";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/debug/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/debug/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
@@ -17,6 +17,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./abi"), exports);
18
18
  __exportStar(require("./artifact_manager"), exports);
19
19
  __exportStar(require("./decoding"), exports);
20
+ __exportStar(require("./layout"), exports);
20
21
  __exportStar(require("./opcodes"), exports);
21
22
  __exportStar(require("./tracers"), exports);
22
23
  __exportStar(require("./types"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/debug/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,qDAAmC;AACnC,6CAA2B;AAC3B,4CAA0B;AAC1B,4CAA0B;AAC1B,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/debug/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,qDAAmC;AACnC,6CAA2B;AAC3B,2CAAyB;AACzB,4CAA0B;AAC1B,4CAA0B;AAC1B,0CAAwB"}
@@ -0,0 +1,9 @@
1
+ import { ContractDefinition, InferType } from "solc-typed-ast";
2
+ import { IArtifactManager } from "./artifact_manager";
3
+ import { MapKeys } from "./tracers";
4
+ import { Storage } from "./types";
5
+ export interface ContractSolidityState {
6
+ [key: string]: any;
7
+ }
8
+ export declare function decodeContractState(artifactManager: IArtifactManager, infer: InferType, contract: ContractDefinition, storage: Storage, mapKeys?: MapKeys): ContractSolidityState | undefined;
9
+ //# sourceMappingURL=layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/debug/layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,kBAAkB,EAClB,SAAS,EAKZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAoB,OAAO,EAAmB,MAAM,SAAS,CAAC;AAErE,MAAM,WAAW,qBAAqB;IAClC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACtB;AAMD,wBAAgB,mBAAmB,CAC/B,eAAe,EAAE,gBAAgB,EACjC,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,kBAAkB,EAC5B,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,OAAO,GAClB,qBAAqB,GAAG,SAAS,CAqFnC"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.decodeContractState = decodeContractState;
4
+ const solc_typed_ast_1 = require("solc-typed-ast");
5
+ const decoding_1 = require("./decoding");
6
+ const types_1 = require("./types");
7
+ function isTypeStringStatic32Bytes(t) {
8
+ return t.endsWith("[]") || t.includes("mapping(");
9
+ }
10
+ function decodeContractState(artifactManager, infer, contract, storage, mapKeys) {
11
+ const res = {};
12
+ let loc = {
13
+ kind: types_1.DataLocationKind.Storage,
14
+ address: BigInt(0),
15
+ endOffsetInWord: 32
16
+ };
17
+ // If this is set, we set all remaining state vars in res to `undefined`.
18
+ // This is set when a failure in decoding prevents us from computing the rest of the
19
+ // contract layout. This could be due to a missing base contract or a missing type definition
20
+ // for a struct or user-defined value type.
21
+ let cannotDecodeRemaining = false;
22
+ for (const base of [...contract.vLinearizedBaseContracts].reverse()) {
23
+ if (base === null || base === undefined) {
24
+ cannotDecodeRemaining = true;
25
+ continue;
26
+ }
27
+ for (const varDecl of base.vStateVariables) {
28
+ // Not part of layout
29
+ if (varDecl.mutability === solc_typed_ast_1.Mutability.Constant ||
30
+ varDecl.mutability === solc_typed_ast_1.Mutability.Immutable) {
31
+ // @todo Support decoding constant state variables
32
+ res[varDecl.name] = undefined;
33
+ continue;
34
+ }
35
+ if (cannotDecodeRemaining) {
36
+ res[varDecl.name] = undefined;
37
+ continue;
38
+ }
39
+ let typeNode;
40
+ try {
41
+ typeNode = infer.variableDeclarationToTypeNode(varDecl);
42
+ }
43
+ catch (e) {
44
+ /**
45
+ * Missing type info. If this is a:
46
+ * - map type
47
+ * - array type
48
+ *
49
+ * then we can continue decoding as it takes exactly 32 bytes
50
+ * statically in the layout. Otherwise we have to abort decoding
51
+ */
52
+ res[varDecl.name] = undefined;
53
+ if (isTypeStringStatic32Bytes(varDecl.typeString)) {
54
+ loc = (0, decoding_1.nextWord)(loc.endOffsetInWord === 32 ? loc : (0, decoding_1.nextWord)(loc));
55
+ }
56
+ else {
57
+ cannotDecodeRemaining = true;
58
+ }
59
+ continue;
60
+ }
61
+ loc = (0, decoding_1.roundLocToType)(loc, typeNode, infer);
62
+ const arg = (0, decoding_1.stor_decodeValue)(typeNode, loc, storage, infer, mapKeys);
63
+ if (arg === undefined) {
64
+ if (typeNode instanceof solc_typed_ast_1.PointerType &&
65
+ (typeNode.to instanceof solc_typed_ast_1.ArrayType || typeNode.to instanceof solc_typed_ast_1.MappingType)) {
66
+ loc = (0, decoding_1.nextWord)(loc.endOffsetInWord === 32 ? loc : (0, decoding_1.nextWord)(loc));
67
+ }
68
+ else {
69
+ cannotDecodeRemaining = true;
70
+ }
71
+ continue;
72
+ }
73
+ const [value, nextLoc] = arg;
74
+ res[varDecl.name] = value;
75
+ loc = nextLoc;
76
+ }
77
+ }
78
+ return res;
79
+ }
80
+ //# sourceMappingURL=layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/debug/layout.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,9 @@ export interface TracerOpts {
8
8
  strict?: boolean;
9
9
  foundryCheatcodes?: boolean;
10
10
  }
11
+ export interface FoundryTxResult extends RunTxResult {
12
+ failCalled: boolean;
13
+ }
11
14
  export declare abstract class BaseSolTxTracer<State> {
12
15
  artifactManager: IArtifactManager;
13
16
  protected readonly strict: boolean;
@@ -25,6 +28,6 @@ export declare abstract class BaseSolTxTracer<State> {
25
28
  static createVm(stateManager: EVMStateManagerInterface | undefined, foundryCheatcodes: boolean): Promise<VM>;
26
29
  abstract processRawTraceStep(vm: VM, step: InterpreterStep, trace: State[], tx: TypedTransaction): Promise<State>;
27
30
  debugTx(tx: TypedTransaction, block: Block | undefined, // TODO: Make block required and add to processRawTraceStep
28
- stateManager: EVMStateManagerInterface): Promise<[State[], RunTxResult]>;
31
+ stateBefore: EVMStateManagerInterface): Promise<[State[], FoundryTxResult, EVMStateManagerInterface]>;
29
32
  }
30
33
  //# sourceMappingURL=base_tracer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"base_tracer.d.ts","sourceRoot":"","sources":["../../../src/debug/tracers/base_tracer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAiB,wBAAwB,EAAY,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAwB,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AASvD,MAAM,WAAW,UAAU;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAQD,8BAAsB,eAAe,CAAC,KAAK;IACvC,eAAe,EAAG,gBAAgB,CAAC;IACnC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACnC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;gBAElC,eAAe,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,UAAU;mBAgB3C,MAAM;IA8B3B;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI;WAUjB,QAAQ,CACjB,YAAY,EAAE,wBAAwB,GAAG,SAAS,EAClD,iBAAiB,EAAE,OAAO,GAC3B,OAAO,CAAC,EAAE,CAAC;IA0Bd,QAAQ,CAAC,mBAAmB,CACxB,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,KAAK,EAAE,EACd,EAAE,EAAE,gBAAgB,GACrB,OAAO,CAAC,KAAK,CAAC;IAEX,OAAO,CACT,EAAE,EAAE,gBAAgB,EACpB,KAAK,EAAE,KAAK,GAAG,SAAS,EAAE,2DAA2D;IACrF,YAAY,EAAE,wBAAwB,GACvC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,WAAW,CAAC,CAAC;CA8BrC"}
1
+ {"version":3,"file":"base_tracer.d.ts","sourceRoot":"","sources":["../../../src/debug/tracers/base_tracer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,EAAiB,wBAAwB,EAAY,MAAM,oBAAoB,CAAC;AACvF,OAAO,EAAwB,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAExE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAUvD,MAAM,WAAW,UAAU;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAChD,UAAU,EAAE,OAAO,CAAC;CACvB;AAQD,8BAAsB,eAAe,CAAC,KAAK;IACvC,eAAe,EAAG,gBAAgB,CAAC;IACnC,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACnC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;gBAElC,eAAe,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,UAAU;mBAgB3C,MAAM;IA8B3B;;;;;;OAMG;IACH,MAAM,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,GAAG,IAAI;WAUjB,QAAQ,CACjB,YAAY,EAAE,wBAAwB,GAAG,SAAS,EAClD,iBAAiB,EAAE,OAAO,GAC3B,OAAO,CAAC,EAAE,CAAC;IA0Bd,QAAQ,CAAC,mBAAmB,CACxB,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,KAAK,EAAE,EACd,EAAE,EAAE,gBAAgB,GACrB,OAAO,CAAC,KAAK,CAAC;IAEX,OAAO,CACT,EAAE,EAAE,gBAAgB,EACpB,KAAK,EAAE,KAAK,GAAG,SAAS,EAAE,2DAA2D;IACrF,WAAW,EAAE,wBAAwB,GACtC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,eAAe,EAAE,wBAAwB,CAAC,CAAC;CAyCnE"}