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.
- package/dist/artifacts/helpers.d.ts.map +1 -1
- package/dist/artifacts/helpers.js +1 -1
- package/dist/artifacts/helpers.js.map +1 -1
- package/dist/debug/foundry_cheatcodes.d.ts +10 -15
- package/dist/debug/foundry_cheatcodes.d.ts.map +1 -1
- package/dist/debug/foundry_cheatcodes.js +217 -237
- package/dist/debug/foundry_cheatcodes.js.map +1 -1
- package/dist/debug/opcode_interposing.d.ts +1 -1
- package/dist/debug/opcode_interposing.d.ts.map +1 -1
- package/dist/debug/opcode_interposing.js +9 -8
- package/dist/debug/opcode_interposing.js.map +1 -1
- package/dist/debug/sol_debugger.d.ts +8 -7
- package/dist/debug/sol_debugger.d.ts.map +1 -1
- package/dist/debug/sol_debugger.js +48 -30
- package/dist/debug/sol_debugger.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/misc.d.ts +2 -1
- package/dist/utils/misc.d.ts.map +1 -1
- package/dist/utils/misc.js +5 -6
- package/dist/utils/misc.js.map +1 -1
- package/dist/utils/test_runner.d.ts +87 -0
- package/dist/utils/test_runner.d.ts.map +1 -0
- package/dist/utils/test_runner.js +124 -0
- package/dist/utils/test_runner.js.map +1 -0
- package/package.json +14 -13
|
@@ -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.
|
|
24
|
-
:
|
|
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.
|
|
33
|
-
:
|
|
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
|
-
?
|
|
43
|
-
: runState.
|
|
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
|
-
?
|
|
53
|
-
: runState.
|
|
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":";;;
|
|
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
|
|
5
|
-
import {
|
|
6
|
-
import { RunTxResult } from "@ethereumjs/vm
|
|
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
|
|
225
|
-
|
|
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;
|
|
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
|
|
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
|
|
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,
|
|
112
|
-
if ((0,
|
|
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 ===
|
|
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,
|
|
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) =>
|
|
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,
|
|
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,
|
|
252
|
+
const op = (0, opcodes_2.getOpInfo)(step.opcode.name);
|
|
253
253
|
let storage;
|
|
254
|
-
if (lastStep === undefined || lastStep.op.opcode ===
|
|
255
|
-
storage = await getStorage(
|
|
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 :
|
|
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:
|
|
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
|
|
313
|
+
static async getEVM(opts, foundryCheatcodes) {
|
|
314
|
+
const tmpEvm = await evm_1.EVM.create(opts);
|
|
314
315
|
if (!foundryCheatcodes) {
|
|
315
|
-
return
|
|
316
|
+
return tmpEvm;
|
|
316
317
|
}
|
|
317
|
-
const
|
|
318
|
-
const
|
|
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:
|
|
330
|
+
function: precompile
|
|
331
331
|
}
|
|
332
332
|
]
|
|
333
333
|
};
|
|
334
|
-
const res =
|
|
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.
|
|
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
|
-
|
|
360
|
-
|
|
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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"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -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"}
|
package/dist/utils/index.js
CHANGED
|
@@ -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
|
package/dist/utils/index.js.map
CHANGED
|
@@ -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"}
|
package/dist/utils/misc.d.ts
CHANGED
|
@@ -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[];
|
package/dist/utils/misc.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../src/utils/misc.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAG9C,OAAO,EAEH,kBAAkB,EAClB,kBAAkB,EAClB,SAAS,EACT,OAAO,EACP,UAAU,EACb,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,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../src/utils/misc.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/misc.js
CHANGED
|
@@ -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
|
|
64
|
+
* Intentionally override
|
|
65
65
|
*/
|
|
66
|
-
tx.getSenderAddress = () =>
|
|
67
|
-
|
|
68
|
-
};
|
|
66
|
+
tx.getSenderAddress = () => fromAddr;
|
|
67
|
+
tx.isSigned = () => true;
|
|
69
68
|
return tx;
|
|
70
69
|
}
|
|
71
70
|
exports.makeFakeTransaction = makeFakeTransaction;
|
package/dist/utils/misc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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;
|
|
1
|
+
{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/utils/misc.ts"],"names":[],"mappings":"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"}
|
|
@@ -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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"}
|