sol-dbg 0.3.7 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/dist/artifacts/helpers.d.ts +2 -3
  2. package/dist/artifacts/helpers.d.ts.map +1 -1
  3. package/dist/artifacts/helpers.js +45 -14
  4. package/dist/artifacts/helpers.js.map +1 -1
  5. package/dist/debug/abi.d.ts +10 -4
  6. package/dist/debug/abi.d.ts.map +1 -1
  7. package/dist/debug/abi.js +41 -11
  8. package/dist/debug/abi.js.map +1 -1
  9. package/dist/debug/artifact_manager.d.ts +9 -10
  10. package/dist/debug/artifact_manager.d.ts.map +1 -1
  11. package/dist/debug/artifact_manager.js +7 -6
  12. package/dist/debug/artifact_manager.js.map +1 -1
  13. package/dist/debug/decoding/calldata.d.ts.map +1 -1
  14. package/dist/debug/decoding/calldata.js +5 -6
  15. package/dist/debug/decoding/calldata.js.map +1 -1
  16. package/dist/debug/decoding/general.js +2 -3
  17. package/dist/debug/decoding/general.js.map +1 -1
  18. package/dist/debug/decoding/memory.d.ts.map +1 -1
  19. package/dist/debug/decoding/memory.js +4 -5
  20. package/dist/debug/decoding/memory.js.map +1 -1
  21. package/dist/debug/decoding/stack.js +2 -3
  22. package/dist/debug/decoding/stack.js.map +1 -1
  23. package/dist/debug/decoding/storage.d.ts.map +1 -1
  24. package/dist/debug/decoding/storage.js +9 -9
  25. package/dist/debug/decoding/storage.js.map +1 -1
  26. package/dist/debug/foundry_cheatcodes.d.ts +26 -25
  27. package/dist/debug/foundry_cheatcodes.d.ts.map +1 -1
  28. package/dist/debug/foundry_cheatcodes.js +114 -113
  29. package/dist/debug/foundry_cheatcodes.js.map +1 -1
  30. package/dist/debug/opcode_interposing.d.ts +2 -1
  31. package/dist/debug/opcode_interposing.d.ts.map +1 -1
  32. package/dist/debug/opcode_interposing.js +32 -30
  33. package/dist/debug/opcode_interposing.js.map +1 -1
  34. package/dist/debug/opcodes.js +6 -6
  35. package/dist/debug/opcodes.js.map +1 -1
  36. package/dist/debug/sol_debugger.d.ts +10 -165
  37. package/dist/debug/sol_debugger.d.ts.map +1 -1
  38. package/dist/debug/sol_debugger.js +73 -96
  39. package/dist/debug/sol_debugger.js.map +1 -1
  40. package/dist/debug/types.d.ts +157 -0
  41. package/dist/debug/types.d.ts.map +1 -1
  42. package/dist/debug/types.js +14 -0
  43. package/dist/debug/types.js.map +1 -1
  44. package/dist/utils/index.d.ts +2 -2
  45. package/dist/utils/index.d.ts.map +1 -1
  46. package/dist/utils/index.js +2 -2
  47. package/dist/utils/index.js.map +1 -1
  48. package/dist/utils/misc.d.ts +12 -20
  49. package/dist/utils/misc.d.ts.map +1 -1
  50. package/dist/utils/misc.js +39 -83
  51. package/dist/utils/misc.js.map +1 -1
  52. package/dist/utils/pp.d.ts.map +1 -1
  53. package/dist/utils/pp.js +10 -10
  54. package/dist/utils/pp.js.map +1 -1
  55. package/dist/utils/srcmap.js +2 -3
  56. package/dist/utils/srcmap.js.map +1 -1
  57. package/dist/utils/test_runner.d.ts +6 -6
  58. package/dist/utils/test_runner.d.ts.map +1 -1
  59. package/dist/utils/test_runner.js +11 -9
  60. package/dist/utils/test_runner.js.map +1 -1
  61. package/package.json +14 -12
@@ -1 +1 @@
1
- {"version":3,"file":"sol_debugger.js","sourceRoot":"","sources":["../../src/debug/sol_debugger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sol_debugger.js","sourceRoot":"","sources":["../../src/debug/sol_debugger.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
+ import { Address } from "@ethereumjs/util";
2
+ import * as sol from "solc-typed-ast";
1
3
  import { FunctionDefinition } from "solc-typed-ast";
2
4
  import { HexString, UnprefixedHexString } from "../artifacts";
5
+ import { ImmMap } from "../utils";
3
6
  import { ContractInfo } from "./artifact_manager";
7
+ import { EVMOpInfo } from "./opcodes";
4
8
  export interface DeployedContractInfo {
5
9
  address: HexString;
6
10
  code: UnprefixedHexString;
@@ -30,4 +34,157 @@ export interface StackFrame {
30
34
  };
31
35
  }
32
36
  export type StackTrace = StackFrame[];
37
+ export declare enum FrameKind {
38
+ Call = "call",
39
+ Creation = "creation",
40
+ InternalCall = "internal_call"
41
+ }
42
+ export type EVMOpts = any;
43
+ /**
44
+ * Base interface for Stack frames maintained by the debugger
45
+ */
46
+ export interface BaseFrame {
47
+ readonly kind: FrameKind;
48
+ /**
49
+ * AST node causing the call. Note that this is not always a FunctionCall. For example this could be:
50
+ * 1. A contract public state var VariableDeclaration
51
+ * 2. Any checked arithmetic operation in sol > 0.8.0 (these are implemented as internal functions)
52
+ * 3. Some other random non-call AST node, that is implemented as a compiler generated function
53
+ */
54
+ readonly callee: sol.ASTNode | undefined;
55
+ /**
56
+ * If we have a `callee` try and infer where the arguments are placed in the VM state. Some arguments may not
57
+ * exist in the case of msg.data generated from a fuzzer for example.
58
+ */
59
+ readonly arguments: Array<[string, DataView | undefined]> | undefined;
60
+ readonly startStep: number;
61
+ }
62
+ /**
63
+ * Base class for a stack frame corresponding to an external call.
64
+ */
65
+ export interface BaseExternalFrame extends BaseFrame {
66
+ readonly sender: HexString;
67
+ readonly msgData: Uint8Array;
68
+ readonly address: Address;
69
+ }
70
+ /**
71
+ * Stack frame corresponding to an external call
72
+ */
73
+ export interface CallFrame extends BaseExternalFrame {
74
+ readonly kind: FrameKind.Call;
75
+ readonly receiver: HexString;
76
+ readonly code: Uint8Array;
77
+ readonly info?: ContractInfo;
78
+ }
79
+ /**
80
+ * Stack frame corresponding to a contract creation call
81
+ */
82
+ export interface CreationFrame extends BaseExternalFrame {
83
+ readonly kind: FrameKind.Creation;
84
+ readonly creationCode: Uint8Array;
85
+ readonly info?: ContractInfo;
86
+ }
87
+ /**
88
+ * Stack frame corresponding to an internal function call
89
+ */
90
+ export interface InternalCallFrame extends BaseFrame {
91
+ readonly kind: FrameKind.InternalCall;
92
+ readonly nearestExtFrame: CallFrame | CreationFrame;
93
+ readonly offset: number;
94
+ }
95
+ export type ExternalFrame = CallFrame | CreationFrame;
96
+ export type Frame = ExternalFrame | InternalCallFrame;
97
+ export type DbgStack = Frame[];
98
+ export declare enum DataLocationKind {
99
+ Stack = "stack",
100
+ Memory = "memory",
101
+ Storage = "storage",
102
+ CallData = "calldata"
103
+ }
104
+ export type MemoryLocationKind = DataLocationKind.Memory | DataLocationKind.CallData | DataLocationKind.Storage;
105
+ export interface BaseDataLocation {
106
+ kind: DataLocationKind;
107
+ }
108
+ export interface StackLocation extends BaseDataLocation {
109
+ kind: DataLocationKind.Stack;
110
+ offsetFromTop: number;
111
+ }
112
+ export interface BaseMemoryLocation extends BaseDataLocation {
113
+ address: bigint;
114
+ }
115
+ export interface CalldataLocation extends BaseMemoryLocation {
116
+ kind: DataLocationKind.CallData;
117
+ }
118
+ export interface LinearMemoryLocation extends BaseMemoryLocation {
119
+ kind: DataLocationKind.Memory;
120
+ }
121
+ export interface StorageLocation extends BaseMemoryLocation {
122
+ kind: DataLocationKind.Storage;
123
+ endOffsetInWord: number;
124
+ }
125
+ export type ByteAddressableMemoryLocation = CalldataLocation | LinearMemoryLocation;
126
+ export type MemoryLocation = ByteAddressableMemoryLocation | StorageLocation;
127
+ export type DataLocation = StackLocation | MemoryLocation;
128
+ export interface DataView {
129
+ type: sol.TypeNode;
130
+ abiType?: sol.TypeNode;
131
+ loc: DataLocation;
132
+ }
133
+ export type Memory = Uint8Array;
134
+ export type Stack = Uint8Array[];
135
+ export type Storage = ImmMap<bigint, Uint8Array>;
136
+ export interface EventDesc {
137
+ payload: Uint8Array;
138
+ topics: bigint[];
139
+ }
140
+ /**
141
+ * TODO(dimo): Make memory and storage be computed only for instructions that change them, and for all other
142
+ * instructions alias the previous steps' memory/storage
143
+ *
144
+ * Low-level machine state at a given trace step. It directly mirrors the state reported from Web3
145
+ * and doesn't include any higher-level information that requires debug info.
146
+ */
147
+ export interface StepVMState {
148
+ evmStack: Stack;
149
+ memory: Memory;
150
+ storage: Storage;
151
+ op: EVMOpInfo;
152
+ pc: number;
153
+ gasCost: bigint;
154
+ dynamicGasCost: bigint;
155
+ gas: bigint;
156
+ depth: number;
157
+ address: Address;
158
+ codeAddress: Address | undefined;
159
+ }
160
+ /**
161
+ * State that the debugger maintains for each trace step.
162
+ * It includes the basic VM state (`StepVmState`) and optionally (if we have debug info for this contract)
163
+ * includes the decoded source location, any AST nodes that are mapped to this instruction and any events
164
+ * that may be emitted on this step.
165
+ */
166
+ export interface StepState extends StepVMState {
167
+ code: Uint8Array;
168
+ codeMdHash: HexString | undefined;
169
+ stack: DbgStack;
170
+ src: sol.DecodedBytecodeSourceMapEntry | undefined;
171
+ astNode: sol.ASTNode | undefined;
172
+ emittedEvent: EventDesc | undefined;
173
+ contractInfo: ContractInfo | undefined;
174
+ }
175
+ /**
176
+ * Trace step struct contained in the array returned by web3.debug.traceTransaction().
177
+ * We translate this into `StepVmState`.
178
+ */
179
+ export interface Web3DbgState {
180
+ stack: HexString[];
181
+ memory: HexString[];
182
+ storage?: any;
183
+ op: string;
184
+ pc: number;
185
+ gasCost: string;
186
+ gas: string;
187
+ depth: number;
188
+ error?: any;
189
+ }
33
190
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/debug/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/debug/types.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,17 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DataLocationKind = exports.FrameKind = void 0;
4
+ var FrameKind;
5
+ (function (FrameKind) {
6
+ FrameKind["Call"] = "call";
7
+ FrameKind["Creation"] = "creation";
8
+ FrameKind["InternalCall"] = "internal_call";
9
+ })(FrameKind || (exports.FrameKind = FrameKind = {}));
10
+ var DataLocationKind;
11
+ (function (DataLocationKind) {
12
+ DataLocationKind["Stack"] = "stack";
13
+ DataLocationKind["Memory"] = "memory";
14
+ DataLocationKind["Storage"] = "storage";
15
+ DataLocationKind["CallData"] = "calldata";
16
+ })(DataLocationKind || (exports.DataLocationKind = DataLocationKind = {}));
3
17
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/debug/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/debug/types.ts"],"names":[],"mappings":";;;AAoCA,IAAY,SAIX;AAJD,WAAY,SAAS;IACjB,0BAAa,CAAA;IACb,kCAAqB,CAAA;IACrB,2CAA8B,CAAA;AAClC,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB;AAkED,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,6 +1,6 @@
1
+ export * from "./immutable_map";
1
2
  export * from "./misc";
3
+ export * from "./pp";
2
4
  export * from "./srcmap";
3
- export * from "./immutable_map";
4
5
  export * from "./test_runner";
5
- export * from "./pp";
6
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,eAAe,CAAC;AAC9B,cAAc,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,QAAQ,CAAC;AACvB,cAAc,MAAM,CAAC;AACrB,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC"}
@@ -14,9 +14,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./immutable_map"), exports);
17
18
  __exportStar(require("./misc"), exports);
19
+ __exportStar(require("./pp"), exports);
18
20
  __exportStar(require("./srcmap"), exports);
19
- __exportStar(require("./immutable_map"), exports);
20
21
  __exportStar(require("./test_runner"), exports);
21
- __exportStar(require("./pp"), exports);
22
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,2CAAyB;AACzB,kDAAgC;AAChC,gDAA8B;AAC9B,uCAAqB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,yCAAuB;AACvB,uCAAqB;AACrB,2CAAyB;AACzB,gDAA8B"}
@@ -1,26 +1,19 @@
1
- /// <reference types="node" />
2
- /// <reference types="bn.js" />
3
- import { Transaction, TxData } from "@ethereumjs/tx";
4
- import { Address, BN } from "ethereumjs-util";
1
+ import { Common } from "@ethereumjs/common";
2
+ import { TypedTransaction, TypedTxData } from "@ethereumjs/tx";
3
+ import { Address } from "@ethereumjs/util";
5
4
  import { ContractDefinition, FunctionDefinition, InferType, IntType, SourceUnit } from "solc-typed-ast";
6
5
  import { HexString, UnprefixedHexString } from "..";
7
- import { DataLocation, DataView, Stack, Storage } from "../debug/sol_debugger";
8
- import { Common } from "@ethereumjs/common";
6
+ import { DataLocation, DataView, Stack, Storage } from "../debug/types";
9
7
  export declare const ZERO_ADDRESS_STRING: HexString;
10
8
  export declare const ZERO_ADDRESS: Address;
11
9
  export declare const uint256: IntType;
12
10
  export declare const MAX_ARR_DECODE_LIMIT: bigint;
13
11
  export declare function toHexString(n: number | bigint | Uint8Array, padding?: number): HexString;
14
- export declare function bigIntToBuf(n: bigint, size: number, endianness?: "big" | "little"): Buffer;
15
- export declare function hexStrToBuf32(v: UnprefixedHexString): Buffer;
16
- export declare function padStart(buf: Buffer, toSize: number, filler: number): Buffer;
17
- export declare function makeFakeTransaction(txData: TxData, from: string, common: Common): Transaction;
12
+ export declare function bigIntToBuf(n: bigint, size: number, endianness?: "big" | "little"): Uint8Array;
13
+ export declare function hexStrToBuf32(v: UnprefixedHexString): Uint8Array;
14
+ export declare function makeFakeTransaction(txData: TypedTxData, from: string, common: Common): TypedTransaction;
18
15
  export declare function findContractDef(units: SourceUnit[], fileName: string, contractName: string): ContractDefinition | undefined;
19
16
  export declare function resolveConstructor(contract: ContractDefinition): FunctionDefinition | undefined;
20
- export declare function ls(dir: string, ext: string): string[];
21
- export declare function lsJson(path: string): string[];
22
- export declare function isDir(path: string): boolean;
23
- export declare function isFile(path: string): boolean;
24
17
  /**
25
18
  * Return the (inclusive) limits of a 2's complement int type as a pair `[min, max]` `bigint`s
26
19
  */
@@ -35,18 +28,17 @@ export declare function ppEvmStack(stack: Stack): string;
35
28
  * Since `offset` may be a bigint we must check that it can be cast to Number without
36
29
  * loss of precision and afterwards, whether it fits into the buf.
37
30
  */
38
- export declare function checkAddrOoB(offset: bigint | number, buf: Buffer): number | undefined;
39
- export declare function wordToAddress(word: Buffer): Address;
31
+ export declare function checkAddrOoB(offset: bigint | number, buf: Uint8Array): number | undefined;
32
+ export declare function wordToAddress(word: Uint8Array): Address;
40
33
  export declare const LOWER8_MASK: bigint;
34
+ export declare function readInt16Be(arr: Uint8Array, off: number): number;
41
35
  /**
42
36
  * Convert a big-endian 2's complement encoding to a bigint
43
37
  */
44
- export declare function bigEndianBufToBigint(buf: Buffer): bigint;
38
+ export declare function bigEndianBufToBigint(buf: Uint8Array): bigint;
45
39
  /**
46
40
  * Convert a big-endian 2's complement encoding to a number. Throws an error if the value doesn't fit.
47
41
  */
48
- export declare function bigEndianBufToNumber(buf: Buffer): number;
49
- export declare function bnToBigInt(n: BN): bigint;
50
- export declare function stripOx(s: HexString): UnprefixedHexString;
42
+ export declare function bigEndianBufToNumber(buf: Uint8Array): number;
51
43
  export declare function getFunctionSelector(f: FunctionDefinition, infer: InferType): UnprefixedHexString | undefined;
52
44
  //# sourceMappingURL=misc.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../src/utils/misc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../src/utils/misc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAsB,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACnF,OAAO,EAAE,OAAO,EAAiB,MAAM,kBAAkB,CAAC;AAE1D,OAAO,EACH,kBAAkB,EAClB,kBAAkB,EAClB,SAAS,EACT,OAAO,EACP,UAAU,EAEb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,IAAI,CAAC;AACpD,OAAO,EAAE,YAAY,EAAoB,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE1F,eAAO,MAAM,mBAAmB,EAAE,SAAwD,CAAC;AAC3F,eAAO,MAAM,YAAY,SAA0C,CAAC;AAEpE,eAAO,MAAM,OAAO,SAA0B,CAAC;AAC/C,eAAO,MAAM,oBAAoB,QAAe,CAAC;AAEjD,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,EAAE,OAAO,SAAI,GAAG,SAAS,CAcnF;AAED,wBAAgB,WAAW,CACvB,CAAC,EAAE,MAAM,EACT,IAAI,EAAE,MAAM,EACZ,UAAU,GAAE,KAAK,GAAG,QAAmB,GACxC,UAAU,CAiBZ;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,mBAAmB,GAAG,UAAU,CAEhE;AAED,wBAAgB,mBAAmB,CAC/B,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACf,gBAAgB,CAWlB;AAED,wBAAgB,eAAe,CAC3B,KAAK,EAAE,UAAU,EAAE,EACnB,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,GACrB,kBAAkB,GAAG,SAAS,CAchC;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,kBAAkB,GAAG,SAAS,CAQ/F;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CASrD;AAED,wBAAgB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,OAAO,CAIvD;AAGD,wBAAgB,KAAK,CAAC,GAAG,EAAE,YAAY,GAAG,MAAM,CAM/C;AAGD,wBAAgB,MAAM,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAI7C;AAGD,wBAAgB,SAAS,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAQlD;AAGD,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,MAAM,GAAG,SAAS,CAoBzF;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAEvD;AAED,eAAO,MAAM,WAAW,QAAuC,CAAC;AAEhE,wBAAgB,WAAW,CAAC,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAS5D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,UAAU,GAAG,MAAM,CAS5D;AAED,wBAAgB,mBAAmB,CAC/B,CAAC,EAAE,kBAAkB,EACrB,KAAK,EAAE,SAAS,GACjB,mBAAmB,GAAG,SAAS,CAUjC"}
@@ -1,23 +1,37 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getFunctionSelector = exports.stripOx = exports.bnToBigInt = exports.bigEndianBufToNumber = exports.bigEndianBufToBigint = exports.LOWER8_MASK = exports.wordToAddress = exports.checkAddrOoB = exports.ppEvmStack = exports.ppStorage = exports.ppView = exports.ppLoc = exports.fits = exports.limits = exports.isFile = exports.isDir = exports.lsJson = exports.ls = exports.resolveConstructor = exports.findContractDef = exports.makeFakeTransaction = exports.padStart = exports.hexStrToBuf32 = exports.bigIntToBuf = exports.toHexString = exports.MAX_ARR_DECODE_LIMIT = exports.uint256 = exports.ZERO_ADDRESS = exports.ZERO_ADDRESS_STRING = void 0;
3
+ exports.LOWER8_MASK = exports.MAX_ARR_DECODE_LIMIT = exports.uint256 = exports.ZERO_ADDRESS = exports.ZERO_ADDRESS_STRING = void 0;
4
+ exports.toHexString = toHexString;
5
+ exports.bigIntToBuf = bigIntToBuf;
6
+ exports.hexStrToBuf32 = hexStrToBuf32;
7
+ exports.makeFakeTransaction = makeFakeTransaction;
8
+ exports.findContractDef = findContractDef;
9
+ exports.resolveConstructor = resolveConstructor;
10
+ exports.limits = limits;
11
+ exports.fits = fits;
12
+ exports.ppLoc = ppLoc;
13
+ exports.ppView = ppView;
14
+ exports.ppStorage = ppStorage;
15
+ exports.ppEvmStack = ppEvmStack;
16
+ exports.checkAddrOoB = checkAddrOoB;
17
+ exports.wordToAddress = wordToAddress;
18
+ exports.readInt16Be = readInt16Be;
19
+ exports.bigEndianBufToBigint = bigEndianBufToBigint;
20
+ exports.bigEndianBufToNumber = bigEndianBufToNumber;
21
+ exports.getFunctionSelector = getFunctionSelector;
7
22
  const tx_1 = require("@ethereumjs/tx");
8
- const ethereumjs_util_1 = require("ethereumjs-util");
9
- const fs_extra_1 = __importDefault(require("fs-extra"));
10
- const path_1 = require("path");
23
+ const util_1 = require("@ethereumjs/util");
24
+ const utils_1 = require("ethereum-cryptography/utils");
11
25
  const solc_typed_ast_1 = require("solc-typed-ast");
12
- const sol_debugger_1 = require("../debug/sol_debugger");
26
+ const types_1 = require("../debug/types");
13
27
  exports.ZERO_ADDRESS_STRING = "0x0000000000000000000000000000000000000000";
14
- exports.ZERO_ADDRESS = ethereumjs_util_1.Address.fromString(exports.ZERO_ADDRESS_STRING);
28
+ exports.ZERO_ADDRESS = util_1.Address.fromString(exports.ZERO_ADDRESS_STRING);
15
29
  exports.uint256 = new solc_typed_ast_1.IntType(256, false);
16
30
  exports.MAX_ARR_DECODE_LIMIT = BigInt(1000);
17
31
  function toHexString(n, padding = 0) {
18
32
  let hex;
19
33
  if (n instanceof Uint8Array) {
20
- hex = Buffer.from(n).toString("hex");
34
+ hex = (0, utils_1.bytesToHex)(n);
21
35
  }
22
36
  else {
23
37
  hex = n.toString(16);
@@ -27,9 +41,8 @@ function toHexString(n, padding = 0) {
27
41
  }
28
42
  return "0x" + hex;
29
43
  }
30
- exports.toHexString = toHexString;
31
44
  function bigIntToBuf(n, size, endianness = "little") {
32
- const res = Buffer.alloc(size, 0);
45
+ const res = new Uint8Array(size);
33
46
  let i = endianness === "big" ? size - 1 : 0;
34
47
  const dir = endianness === "big" ? -1 : 1;
35
48
  const zero = BigInt(0);
@@ -41,25 +54,12 @@ function bigIntToBuf(n, size, endianness = "little") {
41
54
  (0, solc_typed_ast_1.assert)(n === zero, `Word contains garbage beyond ${size} bytes - ${n}`);
42
55
  return res;
43
56
  }
44
- exports.bigIntToBuf = bigIntToBuf;
45
57
  function hexStrToBuf32(v) {
46
- return Buffer.from(v.padStart(64, "0"), "hex");
58
+ return (0, util_1.setLengthLeft)((0, utils_1.hexToBytes)(v), 32);
47
59
  }
48
- exports.hexStrToBuf32 = hexStrToBuf32;
49
- function padStart(buf, toSize, filler) {
50
- if (buf.length >= toSize) {
51
- return buf;
52
- }
53
- const res = Buffer.alloc(toSize, filler);
54
- for (let i = toSize - buf.length, j = 0; i < toSize; i++, j++) {
55
- res[i] = buf[j];
56
- }
57
- return res;
58
- }
59
- exports.padStart = padStart;
60
60
  function makeFakeTransaction(txData, from, common) {
61
- const fromAddr = ethereumjs_util_1.Address.fromString(from);
62
- const tx = new tx_1.Transaction(txData, { common, freeze: false });
61
+ const fromAddr = util_1.Address.fromString(from);
62
+ const tx = tx_1.TransactionFactory.fromTxData(txData, { common, freeze: false });
63
63
  /**
64
64
  * Intentionally override
65
65
  */
@@ -67,7 +67,6 @@ function makeFakeTransaction(txData, from, common) {
67
67
  tx.isSigned = () => true;
68
68
  return tx;
69
69
  }
70
- exports.makeFakeTransaction = makeFakeTransaction;
71
70
  function findContractDef(units, fileName, contractName) {
72
71
  for (const unit of units) {
73
72
  if (unit.sourceEntryKey !== fileName) {
@@ -81,7 +80,6 @@ function findContractDef(units, fileName, contractName) {
81
80
  }
82
81
  return undefined;
83
82
  }
84
- exports.findContractDef = findContractDef;
85
83
  function resolveConstructor(contract) {
86
84
  for (const contr of contract.vLinearizedBaseContracts) {
87
85
  if (contr.vConstructor) {
@@ -90,36 +88,6 @@ function resolveConstructor(contract) {
90
88
  }
91
89
  return undefined;
92
90
  }
93
- exports.resolveConstructor = resolveConstructor;
94
- function ls(dir, ext) {
95
- return fs_extra_1.default
96
- .readdirSync(dir)
97
- .filter((name) => name.endsWith(ext))
98
- .map((name) => (0, path_1.join)(dir, name));
99
- }
100
- exports.ls = ls;
101
- function lsJson(path) {
102
- return ls(path, ".json");
103
- }
104
- exports.lsJson = lsJson;
105
- function isDir(path) {
106
- try {
107
- return fs_extra_1.default.statSync(path).isDirectory();
108
- }
109
- catch (e) {
110
- return false;
111
- }
112
- }
113
- exports.isDir = isDir;
114
- function isFile(path) {
115
- try {
116
- return fs_extra_1.default.statSync(path).isFile();
117
- }
118
- catch (e) {
119
- return false;
120
- }
121
- }
122
- exports.isFile = isFile;
123
91
  /**
124
92
  * Return the (inclusive) limits of a 2's complement int type as a pair `[min, max]` `bigint`s
125
93
  */
@@ -131,32 +99,30 @@ function limits(typ) {
131
99
  }
132
100
  return [BigInt(0), (BigInt(2) << BigInt(typ.nBits)) - BigInt(1)];
133
101
  }
134
- exports.limits = limits;
135
102
  function fits(val, typ) {
136
103
  const [min, max] = limits(typ);
137
104
  return val >= min && val <= max;
138
105
  }
139
- exports.fits = fits;
106
+ /* istanbul ignore next */
140
107
  function ppLoc(loc) {
141
- return `{kind: ${loc.kind}, ${loc.kind === sol_debugger_1.DataLocationKind.Stack ? "offsetFromTop" : "address"}: ${loc.kind === sol_debugger_1.DataLocationKind.Stack ? loc.offsetFromTop : loc.address.toString(16)}}${loc.kind === sol_debugger_1.DataLocationKind.Storage ? `, offsetInWord: ${loc.endOffsetInWord}` : ""}`;
108
+ return `{kind: ${loc.kind}, ${loc.kind === types_1.DataLocationKind.Stack ? "offsetFromTop" : "address"}: ${loc.kind === types_1.DataLocationKind.Stack ? loc.offsetFromTop : loc.address.toString(16)}}${loc.kind === types_1.DataLocationKind.Storage ? `, offsetInWord: ${loc.endOffsetInWord}` : ""}`;
142
109
  }
143
- exports.ppLoc = ppLoc;
110
+ /* istanbul ignore next */
144
111
  function ppView(view) {
145
112
  return `{type: ${view.type.pp()}, abiType: ${view.abiType ? view.abiType.pp() : "undefined"}, loc: ${ppLoc(view.loc)}}`;
146
113
  }
147
- exports.ppView = ppView;
114
+ /* istanbul ignore next */
148
115
  function ppStorage(storage) {
149
116
  const data = {};
150
117
  for (const [k, v] of storage.entries()) {
151
- data[k.toString(16)] = v.toString("hex");
118
+ data[k.toString(16)] = (0, utils_1.bytesToHex)(v);
152
119
  }
153
120
  return JSON.stringify(data, undefined, 4) + "\n";
154
121
  }
155
- exports.ppStorage = ppStorage;
122
+ /* istanbul ignore next */
156
123
  function ppEvmStack(stack) {
157
- return stack.map((frame) => frame.toString("hex")).join("\n");
124
+ return stack.map((word) => (0, utils_1.bytesToHex)(word)).join("\n");
158
125
  }
159
- exports.ppEvmStack = ppEvmStack;
160
126
  /**
161
127
  * Given an `offset` into some memory `buf` check that its in-bounds.
162
128
  * Since `offset` may be a bigint we must check that it can be cast to Number without
@@ -180,12 +146,13 @@ function checkAddrOoB(offset, buf) {
180
146
  }
181
147
  return numOff;
182
148
  }
183
- exports.checkAddrOoB = checkAddrOoB;
184
149
  function wordToAddress(word) {
185
- return new ethereumjs_util_1.Address(word.slice(12));
150
+ return new util_1.Address(word.slice(12));
186
151
  }
187
- exports.wordToAddress = wordToAddress;
188
152
  exports.LOWER8_MASK = (BigInt(1) << BigInt(8)) - BigInt(1);
153
+ function readInt16Be(arr, off) {
154
+ return Buffer.from(arr.slice(off, off + 2)).readInt16BE();
155
+ }
189
156
  /**
190
157
  * Convert a big-endian 2's complement encoding to a bigint
191
158
  */
@@ -197,7 +164,6 @@ function bigEndianBufToBigint(buf) {
197
164
  }
198
165
  return res;
199
166
  }
200
- exports.bigEndianBufToBigint = bigEndianBufToBigint;
201
167
  /**
202
168
  * Convert a big-endian 2's complement encoding to a number. Throws an error if the value doesn't fit.
203
169
  */
@@ -207,15 +173,6 @@ function bigEndianBufToNumber(buf) {
207
173
  bigintRes <= BigInt(Number.MAX_SAFE_INTEGER), `Bigint ${bigintRes} doesn't fit in number`);
208
174
  return Number(bigintRes);
209
175
  }
210
- exports.bigEndianBufToNumber = bigEndianBufToNumber;
211
- function bnToBigInt(n) {
212
- return BigInt("0x" + n.toString(16));
213
- }
214
- exports.bnToBigInt = bnToBigInt;
215
- function stripOx(s) {
216
- return s.startsWith("0x") ? s.slice(2) : s;
217
- }
218
- exports.stripOx = stripOx;
219
176
  function getFunctionSelector(f, infer) {
220
177
  if (f.raw !== undefined && f.raw.functionSelector !== undefined) {
221
178
  return f.raw.functionSelector;
@@ -227,5 +184,4 @@ function getFunctionSelector(f, infer) {
227
184
  return undefined;
228
185
  }
229
186
  }
230
- exports.getFunctionSelector = getFunctionSelector;
231
187
  //# sourceMappingURL=misc.js.map