sol-dbg 0.1.6 → 0.2.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.
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.foundryInterposedOps = void 0;
4
4
  const ethereumjs_util_1 = require("ethereumjs-util");
5
+ const utils_1 = require("../utils");
5
6
  function interopseOnOp(code, opcodes, handler) {
6
7
  const originalOp = opcodes.opcodes.get(code);
7
8
  const gasFunction = originalOp.dynamicGas ? opcodes.dynamicGasHandlers.get(code) : undefined;
@@ -20,8 +21,8 @@ function foundryInterposedOps(opcodes, foundryCtx) {
20
21
  0x42,
21
22
  (runState, common) => {
22
23
  const time = foundryCtx.timeWarp === undefined
23
- ? runState.eei.getBlockTimestamp()
24
- : new ethereumjs_util_1.BN(foundryCtx.timeWarp.toString());
24
+ ? runState.interpreter.getBlockTimestamp()
25
+ : foundryCtx.timeWarp;
25
26
  runState.stack.push(time);
26
27
  }
27
28
  ],
@@ -29,8 +30,8 @@ function foundryInterposedOps(opcodes, foundryCtx) {
29
30
  0x43,
30
31
  (runState, common) => {
31
32
  const number = foundryCtx.rollBockNum === undefined
32
- ? runState.eei.getBlockNumber()
33
- : new ethereumjs_util_1.BN(foundryCtx.rollBockNum.toString());
33
+ ? runState.interpreter.getBlockNumber()
34
+ : foundryCtx.rollBockNum;
34
35
  runState.stack.push(number);
35
36
  }
36
37
  ],
@@ -39,8 +40,8 @@ function foundryInterposedOps(opcodes, foundryCtx) {
39
40
  (runState, common) => {
40
41
  const [, prankOrigin] = foundryCtx.matchPrank(true);
41
42
  const origin = prankOrigin instanceof ethereumjs_util_1.Address
42
- ? new ethereumjs_util_1.BN(prankOrigin.buf)
43
- : runState.eei.getTxOrigin();
43
+ ? (0, utils_1.bigEndianBufToBigint)(prankOrigin.toBuffer())
44
+ : runState.interpreter.getTxOrigin();
44
45
  runState.stack.push(origin);
45
46
  }
46
47
  ],
@@ -49,8 +50,8 @@ function foundryInterposedOps(opcodes, foundryCtx) {
49
50
  (runState, common) => {
50
51
  const [prankSender] = foundryCtx.matchPrank(false);
51
52
  const caller = prankSender instanceof ethereumjs_util_1.Address
52
- ? new ethereumjs_util_1.BN(prankSender.buf)
53
- : runState.eei.getCaller();
53
+ ? (0, utils_1.bigEndianBufToBigint)(prankSender.toBuffer())
54
+ : runState.interpreter.getCaller();
54
55
  runState.stack.push(caller);
55
56
  }
56
57
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"opcode_interposing.js","sourceRoot":"","sources":["../../src/debug/opcode_interposing.ts"],"names":[],"mappings":";;;AAMA,qDAA8C;AAE9C,SAAS,aAAa,CAAC,IAAY,EAAE,OAAY,EAAE,OAAkB;IACjE,MAAM,UAAU,GAAW,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,WAAW,GACb,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE7E,OAAO;QACH,MAAM,EAAE,IAAI;QACZ,UAAU,EAAE,UAAU,CAAC,IAAI;QAC3B,OAAO,EAAE,UAAU,CAAC,GAAG;QACvB,WAAW,EAAE,WAAW;QACxB,aAAa,EAAE,OAAO;KACzB,CAAC;AACN,CAAC;AAED,SAAgB,oBAAoB,CAAC,OAAY,EAAE,UAA0B;IACzE,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAoB;QACpD;YACI,IAAI;YACJ,CAAC,QAAkB,EAAE,MAAc,EAAQ,EAAE;gBACzC,MAAM,IAAI,GACN,UAAU,CAAC,QAAQ,KAAK,SAAS;oBAC7B,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,iBAAiB,EAAE;oBAClC,CAAC,CAAC,IAAI,oBAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAEjD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;SACJ;QACD;YACI,IAAI;YACJ,CAAC,QAAkB,EAAE,MAAc,EAAQ,EAAE;gBACzC,MAAM,MAAM,GACR,UAAU,CAAC,WAAW,KAAK,SAAS;oBAChC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE;oBAC/B,CAAC,CAAC,IAAI,oBAAE,CAAC,UAAU,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAEpD,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC;SACJ;QACD;YACI,IAAI;YACJ,CAAC,QAAkB,EAAE,MAAc,EAAQ,EAAE;gBACzC,MAAM,CAAC,EAAE,WAAW,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAEpD,MAAM,MAAM,GACR,WAAW,YAAY,yBAAO;oBAC1B,CAAC,CAAC,IAAI,oBAAE,CAAC,WAAW,CAAC,GAAG,CAAC;oBACzB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBAErC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC;SACJ;QACD;YACI,IAAI;YACJ,CAAC,QAAkB,EAAE,MAAc,EAAQ,EAAE;gBACzC,MAAM,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAEnD,MAAM,MAAM,GACR,WAAW,YAAY,yBAAO;oBAC1B,CAAC,CAAC,IAAI,oBAAE,CAAC,WAAW,CAAC,GAAG,CAAC;oBACzB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC;gBAEnC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC;SACJ;KACJ,CAAC,CAAC;IAEH,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,oBAAoB,EAAE;QAChD,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;KACnD;IAED,OAAO,GAAG,CAAC;AACf,CAAC;AA1DD,oDA0DC"}
1
+ {"version":3,"file":"opcode_interposing.js","sourceRoot":"","sources":["../../src/debug/opcode_interposing.ts"],"names":[],"mappings":";;;AAKA,qDAA0C;AAE1C,oCAAgD;AAEhD,SAAS,aAAa,CAAC,IAAY,EAAE,OAAY,EAAE,OAAkB;IACjE,MAAM,UAAU,GAAW,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,WAAW,GACb,UAAU,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAE7E,OAAO;QACH,MAAM,EAAE,IAAI;QACZ,UAAU,EAAE,UAAU,CAAC,IAAI;QAC3B,OAAO,EAAE,UAAU,CAAC,GAAG;QACvB,WAAW,EAAE,WAAW;QACxB,aAAa,EAAE,OAAO;KACzB,CAAC;AACN,CAAC;AAED,SAAgB,oBAAoB,CAAC,OAAY,EAAE,UAA0B;IACzE,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,MAAM,oBAAoB,GAAG,IAAI,GAAG,CAAoB;QACpD;YACI,IAAI;YACJ,CAAC,QAAkB,EAAE,MAAc,EAAQ,EAAE;gBACzC,MAAM,IAAI,GACN,UAAU,CAAC,QAAQ,KAAK,SAAS;oBAC7B,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,iBAAiB,EAAE;oBAC1C,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAE9B,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;SACJ;QACD;YACI,IAAI;YACJ,CAAC,QAAkB,EAAE,MAAc,EAAQ,EAAE;gBACzC,MAAM,MAAM,GACR,UAAU,CAAC,WAAW,KAAK,SAAS;oBAChC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,cAAc,EAAE;oBACvC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC;gBAEjC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC;SACJ;QACD;YACI,IAAI;YACJ,CAAC,QAAkB,EAAE,MAAc,EAAQ,EAAE;gBACzC,MAAM,CAAC,EAAE,WAAW,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBAEpD,MAAM,MAAM,GACR,WAAW,YAAY,yBAAO;oBAC1B,CAAC,CAAC,IAAA,4BAAoB,EAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;oBAC9C,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;gBAE7C,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC;SACJ;QACD;YACI,IAAI;YACJ,CAAC,QAAkB,EAAE,MAAc,EAAQ,EAAE;gBACzC,MAAM,CAAC,WAAW,CAAC,GAAG,UAAU,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBAEnD,MAAM,MAAM,GACR,WAAW,YAAY,yBAAO;oBAC1B,CAAC,CAAC,IAAA,4BAAoB,EAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;oBAC9C,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE,CAAC;gBAE3C,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChC,CAAC;SACJ;KACJ,CAAC,CAAC;IAEH,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,oBAAoB,EAAE;QAChD,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;KACnD;IAED,OAAO,GAAG,CAAC;AACf,CAAC;AA1DD,oDA0DC"}
@@ -1,10 +1,10 @@
1
1
  /// <reference types="node" />
2
2
  import { Block } from "@ethereumjs/block";
3
+ import { EVM, EVMOpts } from "@ethereumjs/evm/dist/evm";
3
4
  import { Transaction } from "@ethereumjs/tx";
4
- import VM, { VMOpts } from "@ethereumjs/vm";
5
- import { InterpreterStep } from "@ethereumjs/vm/dist/evm/interpreter";
6
- import { RunTxResult } from "@ethereumjs/vm/dist/runTx";
7
- import { StateManager } from "@ethereumjs/vm/dist/state";
5
+ import { InterpreterStep } from "@ethereumjs/evm";
6
+ import { StateManager } from "@ethereumjs/statemanager";
7
+ import { RunTxResult, VM } from "@ethereumjs/vm";
8
8
  import { Address } from "ethereumjs-util";
9
9
  import { ASTNode, TypeNode } from "solc-typed-ast";
10
10
  import { DecodedBytecodeSourceMapEntry, HexString, ImmMap } from "..";
@@ -220,9 +220,10 @@ export declare class SolTxDebugger {
220
220
  * @param trace - trace up to the current state
221
221
  */
222
222
  private getCodeAndMdHash;
223
- processRawTraceStep(vm: VM, step: InterpreterStep, trace: StepState[], stack: Frame[]): Promise<StepState>;
224
- static getVM(opts: VMOpts, foundryCheatcodes: boolean): VM;
225
- debugTx(tx: Transaction, block: Block | undefined, stateManager: StateManager | undefined): Promise<[StepState[], RunTxResult]>;
223
+ processRawTraceStep(vm: VM, stateManager: StateManager, step: InterpreterStep, trace: StepState[], stack: Frame[]): Promise<StepState>;
224
+ static getEVM(opts: EVMOpts, foundryCheatcodes: boolean): Promise<EVM>;
225
+ static createVm(stateManager: StateManager, foundryCheatcodes: boolean): Promise<VM>;
226
+ debugTx(tx: Transaction, block: Block | undefined, stateManager: StateManager): Promise<[StepState[], RunTxResult]>;
226
227
  /**
227
228
  * Build a `CreationFrame` from the given `sender` address, `data` `Buffer`(msg.data) and the current trace step number.
228
229
  */
@@ -1 +1 @@
1
- {"version":3,"file":"sol_debugger.d.ts","sourceRoot":"","sources":["../../src/debug/sol_debugger.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAO,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAEH,OAAO,EAGP,QAAQ,EAEX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAGH,6BAA6B,EAE7B,SAAS,EACT,MAAM,EAMT,MAAM,IAAI,CAAC;AAIZ,OAAO,EAAE,YAAY,EAAgB,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAElF,OAAO,EAGH,SAAS,EAIZ,MAAM,WAAW,CAAC;AAYnB,oBAAY,SAAS;IACjB,IAAI,SAAS;IACb,QAAQ,aAAa;IACrB,YAAY,kBAAkB;CACjC;AAED;;GAEG;AACH,UAAU,SAAS;IACf,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IACzB;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IACrC;;;OAGG;IACH,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC;IACtE,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,UAAU,iBAAkB,SAAQ,SAAS;IACzC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,UAAU,SAAU,SAAQ,iBAAiB;IACzC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;IAC9B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC;CAChC;AAED;;GAEG;AACH,UAAU,aAAc,SAAQ,iBAAiB;IAC7C,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,QAAQ,CAAC;IAClC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC;CAChC;AAED;;GAEG;AACH,UAAU,iBAAkB,SAAQ,SAAS;IACzC,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,YAAY,CAAC;IACtC,QAAQ,CAAC,eAAe,EAAE,SAAS,GAAG,aAAa,CAAC;IACpD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,aAAa,CAAC;AACtD,MAAM,MAAM,KAAK,GAAG,aAAa,GAAG,iBAAiB,CAAC;AACtD,MAAM,MAAM,QAAQ,GAAG,KAAK,EAAE,CAAC;AAE/B,oBAAY,gBAAgB;IACxB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,QAAQ,aAAa;CACxB;AAED,MAAM,MAAM,kBAAkB,GACxB,gBAAgB,CAAC,MAAM,GACvB,gBAAgB,CAAC,QAAQ,GACzB,gBAAgB,CAAC,OAAO,CAAC;AAE/B,MAAM,WAAW,gBAAgB;IAC7B,IAAI,EAAE,gBAAgB,CAAC;CAC1B;AAED,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACnD,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC;IAC7B,aAAa,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IACxD,OAAO,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB;IACxD,IAAI,EAAE,gBAAgB,CAAC,QAAQ,CAAC;CACnC;AAED,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAC5D,IAAI,EAAE,gBAAgB,CAAC,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;IACvD,IAAI,EAAE,gBAAgB,CAAC,OAAO,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,MAAM,6BAA6B,GAAG,gBAAgB,GAAG,oBAAoB,CAAC;AACpF,MAAM,MAAM,cAAc,GAAG,6BAA6B,GAAG,eAAe,CAAC;AAC7E,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,cAAc,CAAC;AAE1D,MAAM,WAAW,QAAQ;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,OAAO,CAAC,EAAE,QAAQ,CAAC;IACnB,GAAG,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAC5B,MAAM,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC;AAC7B,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAC7C,MAAM,WAAW,SAAS;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,WAAW;IACxB,QAAQ,EAAE,KAAK,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,EAAE,EAAE,SAAS,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;CACxB;AAED;;;;;GAKG;AACH,MAAM,WAAW,SAAU,SAAQ,WAAW;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,SAAS,GAAG,SAAS,CAAC;IAClC,KAAK,EAAE,QAAQ,CAAC;IAChB,GAAG,EAAE,6BAA6B,GAAG,SAAS,CAAC;IAC/C,OAAO,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,YAAY,EAAE,SAAS,GAAG,SAAS,CAAC;IACpC,YAAY,EAAE,YAAY,GAAG,SAAS,CAAC;CAC1C;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IACzB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,GAAG,CAAC;CACf;AAID;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,KAAK,GAAG,QAAQ,GAAG,aAAa,CAItE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,KAAK,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,CAI/E;AAeD,MAAM,WAAW,iBAAiB;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,aAAa;IAEtB,SAAgB,eAAe,EAAE,gBAAgB,CAAC;IAClD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAU;gBAEhC,eAAe,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,iBAAiB;IAevE;;;;;;;;OAQG;YACW,gBAAgB;IA2K9B;;;;;;;;;;;;OAYG;YACW,gBAAgB;IA4BxB,mBAAmB,CACrB,EAAE,EAAE,EAAE,EACN,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE,SAAS,EAAE,EAClB,KAAK,EAAE,KAAK,EAAE,GACf,OAAO,CAAC,SAAS,CAAC;IAoFrB,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,iBAAiB,EAAE,OAAO,GAAG,EAAE;IAmCpD,OAAO,CACT,EAAE,EAAE,WAAW,EACf,KAAK,EAAE,KAAK,GAAG,SAAS,EACxB,YAAY,EAAE,YAAY,GAAG,SAAS,GACvC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE,WAAW,CAAC,CAAC;IA6CtC;;OAEG;YACW,iBAAiB;IA0B/B;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IA4CtB;;OAEG;YACW,aAAa;IAqD3B;;;;;;;;;OASG;IACH,eAAe,CACX,WAAW,EAAE,MAAM,EACnB,GAAG,EAAE,aAAa,GACnB,CAAC,6BAA6B,GAAG,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;IAiBnE;;;;OAIG;IACH,OAAO,CAAC,aAAa;CAkDxB"}
1
+ {"version":3,"file":"sol_debugger.d.ts","sourceRoot":"","sources":["../../src/debug/sol_debugger.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,23 @@
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
3
  exports.SolTxDebugger = exports.getContractInfo = exports.lastExternalFrame = exports.DataLocationKind = exports.FrameKind = void 0;
7
- const vm_1 = __importDefault(require("@ethereumjs/vm"));
4
+ const blockchain_1 = require("@ethereumjs/blockchain");
5
+ const common_1 = require("@ethereumjs/common");
6
+ const evm_1 = require("@ethereumjs/evm/dist/evm");
7
+ const vm_1 = require("@ethereumjs/vm");
8
8
  const ethereumjs_util_1 = require("ethereumjs-util");
9
9
  const solc_typed_ast_1 = require("solc-typed-ast");
10
10
  const __1 = require("..");
11
11
  const artifacts_1 = require("../artifacts");
12
- const utils_1 = require("../utils");
13
12
  const abi_1 = require("./abi");
13
+ const utils_1 = require("../utils");
14
14
  const artifact_manager_1 = require("./artifact_manager");
15
15
  const decoding_1 = require("./decoding");
16
- const opcodes_1 = require("./opcodes");
17
16
  const foundry_cheatcodes_1 = require("./foundry_cheatcodes");
18
- const opcodes_2 = require("@ethereumjs/vm/dist/evm/opcodes");
17
+ const opcodes_1 = require("@ethereumjs/evm/dist/opcodes");
19
18
  const opcode_interposing_1 = require("./opcode_interposing");
20
19
  const stream_1 = require("stream");
20
+ const opcodes_2 = require("./opcodes");
21
21
  var FrameKind;
22
22
  (function (FrameKind) {
23
23
  FrameKind["Call"] = "call";
@@ -108,8 +108,8 @@ class SolTxDebugger {
108
108
  if (lastStep.depth !== state.depth) {
109
109
  const lastStackTop = lastStep.evmStack.length - 1;
110
110
  if (state.depth > lastStep.depth) {
111
- (0, solc_typed_ast_1.assert)((0, opcodes_1.increasesDepth)(lastOp), `Unexpected depth increase on op ${lastOp.mnemonic}`);
112
- if ((0, opcodes_1.createsContract)(lastOp)) {
111
+ (0, solc_typed_ast_1.assert)((0, opcodes_2.increasesDepth)(lastOp), `Unexpected depth increase on op ${lastOp.mnemonic}`);
112
+ if ((0, opcodes_2.createsContract)(lastOp)) {
113
113
  // Contract creation call
114
114
  const off = (0, utils_1.bigEndianBufToNumber)(lastStep.evmStack[lastStackTop - 1]);
115
115
  const size = (0, utils_1.bigEndianBufToNumber)(lastStep.evmStack[lastStackTop - 2]);
@@ -119,7 +119,7 @@ class SolTxDebugger {
119
119
  }
120
120
  else {
121
121
  // External call
122
- const argStackOff = lastOp.opcode === opcodes_1.OPCODES.CALL || lastOp.opcode === opcodes_1.OPCODES.CALLCODE
122
+ const argStackOff = lastOp.opcode === opcodes_2.OPCODES.CALL || lastOp.opcode === opcodes_2.OPCODES.CALLCODE
123
123
  ? 3
124
124
  : 2;
125
125
  const argSizeStackOff = argStackOff + 1;
@@ -222,7 +222,7 @@ class SolTxDebugger {
222
222
  const lastStep = trace.length > 0 ? trace[trace.length - 1] : undefined;
223
223
  let code;
224
224
  let codeMdHash;
225
- if (lastStep !== undefined && (0, opcodes_1.createsContract)(lastStep.op)) {
225
+ if (lastStep !== undefined && (0, opcodes_2.createsContract)(lastStep.op)) {
226
226
  const lastStackTop = lastStep.evmStack.length - 1;
227
227
  const off = (0, utils_1.bigEndianBufToNumber)(lastStep.evmStack[lastStackTop - 1]);
228
228
  const size = (0, utils_1.bigEndianBufToNumber)(lastStep.evmStack[lastStackTop - 2]);
@@ -239,26 +239,26 @@ class SolTxDebugger {
239
239
  }
240
240
  return [code, codeMdHash];
241
241
  }
242
- async processRawTraceStep(vm, step, trace, stack) {
243
- const evmStack = step.stack.map((word) => Buffer.from(word.toArray("be", 32)));
242
+ async processRawTraceStep(vm, stateManager, step, trace, stack) {
243
+ const evmStack = step.stack.map((word) => (0, utils_1.bigIntToBuf)(word, 32, "big"));
244
244
  const lastStep = trace.length > 0 ? trace[trace.length - 1] : undefined;
245
245
  let memory;
246
- if (lastStep === undefined || (0, opcodes_1.changesMemory)(lastStep.op)) {
246
+ if (lastStep === undefined || (0, opcodes_2.changesMemory)(lastStep.op)) {
247
247
  memory = Buffer.from(step.memory);
248
248
  }
249
249
  else {
250
250
  memory = lastStep.memory;
251
251
  }
252
- const op = (0, opcodes_1.getOpInfo)(step.opcode.name);
252
+ const op = (0, opcodes_2.getOpInfo)(step.opcode.name);
253
253
  let storage;
254
- if (lastStep === undefined || lastStep.op.opcode === opcodes_1.OPCODES.SSTORE) {
255
- storage = await getStorage(step.stateManager, step.address);
254
+ if (lastStep === undefined || lastStep.op.opcode === opcodes_2.OPCODES.SSTORE) {
255
+ storage = await getStorage(stateManager, step.address);
256
256
  }
257
257
  else {
258
258
  storage = lastStep.storage;
259
259
  }
260
260
  const gasCost = BigInt(step.opcode.fee);
261
- const dynamicGasCost = step.opcode.dynamicFee === undefined ? gasCost : (0, __1.bnToBigInt)(step.opcode.dynamicFee);
261
+ const dynamicGasCost = step.opcode.dynamicFee === undefined ? gasCost : step.opcode.dynamicFee;
262
262
  // First translate the basic VM state
263
263
  const vmState = {
264
264
  evmStack,
@@ -268,7 +268,7 @@ class SolTxDebugger {
268
268
  pc: step.pc,
269
269
  gasCost,
270
270
  dynamicGasCost,
271
- gas: (0, __1.bnToBigInt)(step.gasLeft),
271
+ gas: step.gasLeft,
272
272
  depth: step.depth + 1,
273
273
  address: step.address,
274
274
  codeAddress: step.codeAddress
@@ -310,13 +310,13 @@ class SolTxDebugger {
310
310
  contractInfo: curExtFrame.info
311
311
  };
312
312
  }
313
- static getVM(opts, foundryCheatcodes) {
313
+ static async getEVM(opts, foundryCheatcodes) {
314
+ const tmpEvm = await evm_1.EVM.create(opts);
314
315
  if (!foundryCheatcodes) {
315
- return new vm_1.default(opts);
316
+ return tmpEvm;
316
317
  }
317
- const dummyVM = new vm_1.default(opts);
318
- const opcodes = (0, opcodes_2.getOpcodesForHF)(dummyVM._common);
319
- const foundryCtx = new foundry_cheatcodes_1.FoundryContext();
318
+ const opcodes = (0, opcodes_1.getOpcodesForHF)(tmpEvm._common);
319
+ const [precompile, foundryCtx] = (0, foundry_cheatcodes_1.makeFoundryCheatcodePrecompile)();
320
320
  const optsCopy = {
321
321
  ...opts,
322
322
  customOpcodes: [
@@ -327,20 +327,34 @@ class SolTxDebugger {
327
327
  ...(opts.customPrecompiles ? opts.customPrecompiles : []),
328
328
  {
329
329
  address: foundry_cheatcodes_1.FoundryCheatcodesAddress,
330
- function: foundry_cheatcodes_1.FoundryCheatcodePrecompile
330
+ function: precompile
331
331
  }
332
332
  ]
333
333
  };
334
- const res = new vm_1.default(optsCopy);
335
- (0, foundry_cheatcodes_1.setFoundryCtx)(res, foundryCtx);
334
+ const res = await evm_1.EVM.create(optsCopy);
336
335
  const emitter = new stream_1.EventEmitter();
337
336
  emitter.on("beforeInterpRun", foundryCtx.beforeInterpRunCB.bind(foundryCtx));
338
337
  emitter.on("afterInterpRun", foundryCtx.afterInterpRunCB.bind(foundryCtx));
339
338
  foundry_cheatcodes_1.interpRunListeners.set(res, emitter);
339
+ (0, foundry_cheatcodes_1.setFoundryCtx)(res, foundryCtx);
340
340
  return res;
341
341
  }
342
+ static async createVm(stateManager, foundryCheatcodes) {
343
+ const common = new common_1.Common({ chain: common_1.Chain.Mainnet, hardfork: common_1.Hardfork.Shanghai });
344
+ const blockchain = await blockchain_1.Blockchain.create({ common });
345
+ const eei = new vm_1.EEI(stateManager, common, blockchain);
346
+ const evm = await SolTxDebugger.getEVM({ common, eei, allowUnlimitedContractSize: true }, foundryCheatcodes);
347
+ const vm = await vm_1.VM.create({
348
+ common,
349
+ blockchain,
350
+ stateManager,
351
+ evm,
352
+ activatePrecompiles: true
353
+ });
354
+ return vm;
355
+ }
342
356
  async debugTx(tx, block, stateManager) {
343
- const vm = SolTxDebugger.getVM({ stateManager }, this.foundryCheatcodes);
357
+ const vm = await SolTxDebugger.createVm(stateManager, this.foundryCheatcodes);
344
358
  const sender = tx.getSenderAddress().toString();
345
359
  const receiver = tx.to === undefined ? __1.ZERO_ADDRESS_STRING : tx.to.toString();
346
360
  const isCreation = receiver === __1.ZERO_ADDRESS_STRING;
@@ -350,14 +364,18 @@ class SolTxDebugger {
350
364
  curFrame = await this.makeCreationFrame(sender, tx.data, 0);
351
365
  }
352
366
  else {
367
+ (0, solc_typed_ast_1.assert)(tx.to !== undefined, 'Expected "to" of tx {0} to be defined, got undefined instead', tx.hash().toString("hex"));
353
368
  const code = await vm.stateManager.getContractCode(tx.to);
369
+ /// @todo remove - arbitrary restriction, only good for debugging
370
+ (0, solc_typed_ast_1.assert)(code.length > 0, "Missing code for address {0}", tx.to.toString());
354
371
  const codeHash = (0, artifacts_1.getCodeHash)(code);
355
372
  curFrame = await this.makeCallFrame(sender, tx.to, tx.data, code, codeHash, 0);
356
373
  }
357
374
  stack.push(curFrame);
358
375
  const trace = [];
359
- vm.on("step", async (step, next) => {
360
- const curStep = await this.processRawTraceStep(vm, step, trace, stack);
376
+ (0, solc_typed_ast_1.assert)(vm.evm.events !== undefined, "Unable to access EVM events at this point");
377
+ vm.evm.events.on("step", async (step, next) => {
378
+ const curStep = await this.processRawTraceStep(vm, vm.stateManager, step, trace, stack);
361
379
  trace.push(curStep);
362
380
  next();
363
381
  });
@@ -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,4 +1,5 @@
1
1
  export * from "./misc";
2
2
  export * from "./srcmap";
3
3
  export * from "./immutable_map";
4
+ export * from "./test_runner";
4
5
  //# 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"}
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"}
@@ -17,4 +17,5 @@ Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./misc"), exports);
18
18
  __exportStar(require("./srcmap"), exports);
19
19
  __exportStar(require("./immutable_map"), exports);
20
+ __exportStar(require("./test_runner"), exports);
20
21
  //# 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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,2CAAyB;AACzB,kDAAgC;AAChC,gDAA8B"}
@@ -5,6 +5,7 @@ import { Address, BN } from "ethereumjs-util";
5
5
  import { ContractDefinition, FunctionDefinition, InferType, IntType, SourceUnit } from "solc-typed-ast";
6
6
  import { HexString, UnprefixedHexString } from "..";
7
7
  import { DataLocation, DataView, Stack, Storage } from "../debug/sol_debugger";
8
+ import { Common } from "@ethereumjs/common";
8
9
  export declare const ZERO_ADDRESS_STRING: HexString;
9
10
  export declare const ZERO_ADDRESS: Address;
10
11
  export declare const uint256: IntType;
@@ -13,7 +14,7 @@ export declare function toHexString(n: number | bigint | Uint8Array, padding?: n
13
14
  export declare function bigIntToBuf(n: bigint, size: number, endianness?: "big" | "little"): Buffer;
14
15
  export declare function hexStrToBuf32(v: UnprefixedHexString): Buffer;
15
16
  export declare function padStart(buf: Buffer, toSize: number, filler: number): Buffer;
16
- export declare function makeFakeTransaction(txData: TxData, from: string): Transaction;
17
+ export declare function makeFakeTransaction(txData: TxData, from: string, common: Common): Transaction;
17
18
  export declare function findContractDef(units: SourceUnit[], fileName: string, contractName: string): ContractDefinition | undefined;
18
19
  export declare function resolveConstructor(contract: ContractDefinition): FunctionDefinition | undefined;
19
20
  export declare function ls(dir: string, ext: string): string[];
@@ -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":"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"}
@@ -57,15 +57,14 @@ function padStart(buf, toSize, filler) {
57
57
  return res;
58
58
  }
59
59
  exports.padStart = padStart;
60
- function makeFakeTransaction(txData, from) {
60
+ function makeFakeTransaction(txData, from, common) {
61
61
  const fromAddr = ethereumjs_util_1.Address.fromString(from);
62
- const tx = new tx_1.Transaction(txData, { freeze: false });
62
+ const tx = new tx_1.Transaction(txData, { common, freeze: false });
63
63
  /**
64
- * Intentionally override getSenderAddress() method
64
+ * Intentionally override
65
65
  */
66
- tx.getSenderAddress = () => {
67
- return fromAddr;
68
- };
66
+ tx.getSenderAddress = () => fromAddr;
67
+ tx.isSigned = () => true;
69
68
  return tx;
70
69
  }
71
70
  exports.makeFakeTransaction = makeFakeTransaction;
@@ -1 +1 @@
1
- {"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/utils/misc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/utils/misc.ts"],"names":[],"mappings":";;;;;;AAAA,uCAAqD;AACrD,qDAA8C;AAC9C,wDAA2B;AAC3B,+BAA4B;AAC5B,mDAOwB;AAExB,wDAAiG;AAGpF,QAAA,mBAAmB,GAAc,4CAA4C,CAAC;AAC9E,QAAA,YAAY,GAAG,yBAAO,CAAC,UAAU,CAAC,2BAAmB,CAAC,CAAC;AAEvD,QAAA,OAAO,GAAG,IAAI,wBAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;AAClC,QAAA,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;AAEjD,SAAgB,WAAW,CAAC,CAA+B,EAAE,OAAO,GAAG,CAAC;IACpE,IAAI,GAAW,CAAC;IAEhB,IAAI,CAAC,YAAY,UAAU,EAAE;QACzB,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KACxC;SAAM;QACH,GAAG,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;KACxB;IAED,IAAI,GAAG,CAAC,MAAM,GAAG,OAAO,EAAE;QACtB,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;KACpC;IAED,OAAO,IAAI,GAAG,GAAG,CAAC;AACtB,CAAC;AAdD,kCAcC;AAED,SAAgB,WAAW,CACvB,CAAS,EACT,IAAY,EACZ,aAA+B,QAAQ;IAEvC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAElC,IAAI,CAAC,GAAG,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE5C,MAAM,GAAG,GAAG,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAEvB,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE;QACrC,GAAG,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC,IAAI,GAAG,CAAC;KACZ;IAED,IAAA,uBAAM,EAAC,CAAC,KAAK,IAAI,EAAE,gCAAgC,IAAI,YAAY,CAAC,EAAE,CAAC,CAAC;IAExE,OAAO,GAAG,CAAC;AACf,CAAC;AArBD,kCAqBC;AAED,SAAgB,aAAa,CAAC,CAAsB;IAChD,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;AACnD,CAAC;AAFD,sCAEC;AAED,SAAgB,QAAQ,CAAC,GAAW,EAAE,MAAc,EAAE,MAAc;IAChE,IAAI,GAAG,CAAC,MAAM,IAAI,MAAM,EAAE;QACtB,OAAO,GAAG,CAAC;KACd;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEzC,KAAK,IAAI,CAAC,GAAG,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE;QAC3D,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;KACnB;IAED,OAAO,GAAG,CAAC;AACf,CAAC;AAZD,4BAYC;AAED,SAAgB,mBAAmB,CAAC,MAAc,EAAE,IAAY,EAAE,MAAc;IAC5E,MAAM,QAAQ,GAAG,yBAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,EAAE,GAAG,IAAI,gBAAW,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAE9D;;OAEG;IACH,EAAE,CAAC,gBAAgB,GAAG,GAAG,EAAE,CAAC,QAAQ,CAAC;IACrC,EAAE,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC;IAEzB,OAAO,EAAE,CAAC;AACd,CAAC;AAXD,kDAWC;AAED,SAAgB,eAAe,CAC3B,KAAmB,EACnB,QAAgB,EAChB,YAAoB;IAEpB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACtB,IAAI,IAAI,CAAC,cAAc,KAAK,QAAQ,EAAE;YAClC,SAAS;SACZ;QAED,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE;YACpC,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE;gBAChC,OAAO,QAAQ,CAAC;aACnB;SACJ;KACJ;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAlBD,0CAkBC;AAED,SAAgB,kBAAkB,CAAC,QAA4B;IAC3D,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,wBAAwB,EAAE;QACnD,IAAI,KAAK,CAAC,YAAY,EAAE;YACpB,OAAO,KAAK,CAAC,YAAY,CAAC;SAC7B;KACJ;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AARD,gDAQC;AAED,SAAgB,EAAE,CAAC,GAAW,EAAE,GAAW;IACvC,OAAO,kBAAG;SACL,WAAW,CAAC,GAAG,CAAC;SAChB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;SACpC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,WAAI,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;AACxC,CAAC;AALD,gBAKC;AAED,SAAgB,MAAM,CAAC,IAAY;IAC/B,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC7B,CAAC;AAFD,wBAEC;AAED,SAAgB,KAAK,CAAC,IAAY;IAC9B,IAAI;QACA,OAAO,kBAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;KAC3C;IAAC,OAAO,CAAC,EAAE;QACR,OAAO,KAAK,CAAC;KAChB;AACL,CAAC;AAND,sBAMC;AAED,SAAgB,MAAM,CAAC,IAAY;IAC/B,IAAI;QACA,OAAO,kBAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;KACtC;IAAC,OAAO,CAAC,EAAE;QACR,OAAO,KAAK,CAAC;KAChB;AACL,CAAC;AAND,wBAMC;AAED;;GAEG;AACH,SAAgB,MAAM,CAAC,GAAY;IAC/B,IAAI,GAAG,CAAC,MAAM,EAAE;QACZ,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7D,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;KACrB;IAED,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACrE,CAAC;AATD,wBASC;AAED,SAAgB,IAAI,CAAC,GAAW,EAAE,GAAY;IAC1C,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;IAE/B,OAAO,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,CAAC;AACpC,CAAC;AAJD,oBAIC;AAED,SAAgB,KAAK,CAAC,GAAiB;IACnC,OAAO,UAAU,GAAG,CAAC,IAAI,KACrB,GAAG,CAAC,IAAI,KAAK,+BAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,SAC5D,KAAK,GAAG,CAAC,IAAI,KAAK,+BAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,IACnF,GAAG,CAAC,IAAI,KAAK,+BAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,mBAAmB,GAAG,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,EACvF,EAAE,CAAC;AACP,CAAC;AAND,sBAMC;AAED,SAAgB,MAAM,CAAC,IAAc;IACjC,OAAO,UAAU,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,cAC3B,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WACvC,UAAU,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AACjC,CAAC;AAJD,wBAIC;AAED,SAAgB,SAAS,CAAC,OAAgB;IACtC,MAAM,IAAI,GAAwD,EAAE,CAAC;IAErE,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE;QACpC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;KAC5C;IAED,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AACrD,CAAC;AARD,8BAQC;AAED,SAAgB,UAAU,CAAC,KAAY;IACnC,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClE,CAAC;AAFD,gCAEC;AAED;;;;GAIG;AACH,SAAgB,YAAY,CAAC,MAAuB,EAAE,GAAW;IAC7D,IAAI,MAAc,CAAC;IAEnB,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE;QAC5B,wDAAwD;QACxD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,MAAM,EAAE;YACnC,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;KAC3B;SAAM;QACH,MAAM,GAAG,MAAM,CAAC;KACnB;IAED,aAAa;IACb,IAAI,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE;QACxC,OAAO,SAAS,CAAC;KACpB;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AApBD,oCAoBC;AAED,SAAgB,aAAa,CAAC,IAAY;IACtC,OAAO,IAAI,yBAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;AACvC,CAAC;AAFD,sCAEC;AAEY,QAAA,WAAW,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAEhE;;GAEG;AACH,SAAgB,oBAAoB,CAAC,GAAW;IAC5C,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAEpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACjC,GAAG,GAAG,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;QACvB,GAAG,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KACzB;IAED,OAAO,GAAG,CAAC;AACf,CAAC;AATD,oDASC;AAED;;GAEG;AACH,SAAgB,oBAAoB,CAAC,GAAW;IAC5C,MAAM,SAAS,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAC5C,IAAA,uBAAM,EACF,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACxC,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAChD,UAAU,SAAS,wBAAwB,CAC9C,CAAC;IAEF,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC;AAC7B,CAAC;AATD,oDASC;AAED,SAAgB,UAAU,CAAC,CAAK;IAC5B,OAAO,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;AACzC,CAAC;AAFD,gCAEC;AAED,SAAgB,OAAO,CAAC,CAAY;IAChC,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;AAFD,0BAEC;AAED,SAAgB,mBAAmB,CAC/B,CAAqB,EACrB,KAAgB;IAEhB,IAAI,CAAC,CAAC,GAAG,KAAK,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,KAAK,SAAS,EAAE;QAC7D,OAAO,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC;KACjC;IAED,IAAI;QACA,OAAO,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;KACjC;IAAC,OAAO,CAAC,EAAE;QACR,OAAO,SAAS,CAAC;KACpB;AACL,CAAC;AAbD,kDAaC"}
@@ -0,0 +1,87 @@
1
+ import { Block } from "@ethereumjs/block";
2
+ import { StateManager } from "@ethereumjs/statemanager";
3
+ import { Transaction } from "@ethereumjs/tx";
4
+ import { RunTxResult, VM } from "@ethereumjs/vm";
5
+ import { HexString } from "../artifacts";
6
+ interface BaseTestStep {
7
+ address: HexString;
8
+ gasLimit: HexString;
9
+ gasPrice: HexString;
10
+ input: HexString;
11
+ origin: HexString;
12
+ value: HexString;
13
+ blockCoinbase: HexString;
14
+ blockDifficulty: HexString;
15
+ blockGasLimit: HexString;
16
+ blockNumber: HexString;
17
+ blockTime: HexString;
18
+ }
19
+ interface AccountDescription {
20
+ nonce: number;
21
+ balance: HexString;
22
+ code: HexString;
23
+ storage: {
24
+ [storageAddr: HexString]: HexString;
25
+ };
26
+ }
27
+ interface InitialState {
28
+ accounts: {
29
+ [address: HexString]: AccountDescription;
30
+ };
31
+ }
32
+ interface BaseTestCase {
33
+ initialState: InitialState;
34
+ steps: BaseTestStep[];
35
+ }
36
+ export declare enum ResultKind {
37
+ ContractCreated = "contract_created",
38
+ ValueReturned = "value_returned",
39
+ Revert = "revert",
40
+ FoundryFail = "foundry_fail"
41
+ }
42
+ interface ResultContractCreated {
43
+ kind: ResultKind.ContractCreated;
44
+ address: string;
45
+ }
46
+ interface ResultValueReturned {
47
+ kind: ResultKind.ValueReturned;
48
+ value: HexString;
49
+ }
50
+ interface ResultRevert {
51
+ kind: ResultKind.Revert;
52
+ }
53
+ interface ResultFoundryFail {
54
+ kind: ResultKind.FoundryFail;
55
+ }
56
+ export interface TestStep extends BaseTestStep {
57
+ result: ResultContractCreated | ResultValueReturned | ResultRevert | ResultFoundryFail;
58
+ errorStack?: string[];
59
+ errorString?: string;
60
+ errorPathPrefix?: string;
61
+ }
62
+ export interface TestCase extends BaseTestCase {
63
+ steps: TestStep[];
64
+ }
65
+ /**
66
+ * Helper class to re-play harvey test cases on a in-memory VmProxy
67
+ */
68
+ export declare class VMTestRunner {
69
+ private _vm;
70
+ private _txs;
71
+ private _txToBlock;
72
+ private _results;
73
+ private _stateRootBeforeTx;
74
+ get vm(): VM;
75
+ constructor(vm: VM);
76
+ runTestCase(testCaseJSON: BaseTestCase): Promise<void>;
77
+ private setupInitialState;
78
+ harveyStepToTransaction(step: BaseTestStep): Promise<Transaction>;
79
+ harveyStepToBlock(step: BaseTestStep): Block;
80
+ private _runTxInt;
81
+ get txs(): Transaction[];
82
+ get results(): RunTxResult[];
83
+ getStateBeforeTx(tx: Transaction): StateManager;
84
+ getBlock(tx: Transaction): Block;
85
+ }
86
+ export {};
87
+ //# sourceMappingURL=test_runner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test_runner.d.ts","sourceRoot":"","sources":["../../src/utils/test_runner.ts"],"names":[],"mappings":"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"}