sol-dbg 0.2.3 → 0.3.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.
@@ -1,8 +1,9 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  import { EVMInterface, EVM } from "@ethereumjs/evm";
3
4
  import { PrecompileFunc } from "@ethereumjs/evm/dist/precompiles";
4
5
  import { Address } from "ethereumjs-util";
5
- import { Env, Interpreter } from "@ethereumjs/evm/dist/interpreter";
6
+ import { Env, Interpreter, RunState } from "@ethereumjs/evm/dist/interpreter";
6
7
  import EventEmitter from "events";
7
8
  /**
8
9
  * Each test/cases/debug session is associated with a unique VM. And there are
@@ -24,6 +25,9 @@ export declare const PRANK_SELECTOR02: string;
24
25
  export declare const START_PRANK_SELECTOR01: string;
25
26
  export declare const START_PRANK_SELECTOR02: string;
26
27
  export declare const STOP_PRANK_SELECTOR: string;
28
+ export declare const EXPECT_REVERT_SELECTOR01: string;
29
+ export declare const EXPECT_REVERT_SELECTOR02: string;
30
+ export declare const EXPECT_REVERT_SELECTOR03: string;
27
31
  export declare const FAIL_LOC: string;
28
32
  export declare const FAIL_MSG_DATA: string;
29
33
  export interface FoundryPrank {
@@ -31,6 +35,19 @@ export interface FoundryPrank {
31
35
  origin: Address | undefined;
32
36
  once: boolean;
33
37
  }
38
+ /**
39
+ * A type union containing the different descriptions for "expectRevert". It could be either
40
+ * - boolean (true) - any revert
41
+ * - bigint (bytes4) - corresponds to the selector of the expected event
42
+ * - Buffer (bytes) - corresponds to the exact exception byte we expect
43
+ * - undefined - no expected revert (default value)
44
+ */
45
+ export type RevertMatch = Buffer | bigint | boolean | undefined;
46
+ /**
47
+ * Check whether the returned value and data from the sub-context matches the
48
+ * expected revert descriptor.
49
+ */
50
+ export declare function returnStateMatchesRevert(ret: bigint, state: RunState, expected: RevertMatch): boolean;
34
51
  /**
35
52
  * Helper class attached to each VM object, that contains state relevant to Foundry cheatcodes.
36
53
  */
@@ -38,6 +55,9 @@ export declare class FoundryContext {
38
55
  timeWarp: bigint | undefined;
39
56
  rollBockNum: bigint | undefined;
40
57
  failCalled: boolean;
58
+ clearExpectRevert(): void;
59
+ expectRevert(match: RevertMatch): void;
60
+ getExpectedRevert(): RevertMatch;
41
61
  /**
42
62
  * We keep track of the current stack of EEI objects, in order to keep track
43
63
  * of any pranks (pending and current). Its easier to attach pranks to EEI
@@ -1 +1 @@
1
- {"version":3,"file":"foundry_cheatcodes.d.ts","sourceRoot":"","sources":["../../src/debug/foundry_cheatcodes.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,GAAG,EAAc,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,cAAc,EAAmB,MAAM,kCAAkC,CAAC;AACnF,OAAO,EACH,OAAO,EAKV,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EACH,GAAG,EACH,WAAW,EAGd,MAAM,kCAAkC,CAAC;AAC1C,OAAO,YAAY,MAAM,QAAQ,CAAC;AASlC;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,wBAA+B,CAAC;AAwB/D,eAAO,MAAM,wBAAwB,SAEpC,CAAC;AAUF,eAAO,MAAM,aAAa,QAAkC,CAAC;AAC7D,eAAO,MAAM,aAAa,QAAkC,CAAC;AAC7D,eAAO,MAAM,aAAa,QAA0C,CAAC;AACrE,eAAO,MAAM,cAAc,QAAmD,CAAC;AAC/E,eAAO,MAAM,aAAa,QAA0C,CAAC;AACrE,eAAO,MAAM,aAAa,QAAkC,CAAC;AAC7D,eAAO,MAAM,aAAa,QAA0C,CAAC;AACrE,eAAO,MAAM,gBAAgB,QAAmC,CAAC;AACjE,eAAO,MAAM,gBAAgB,QAA2C,CAAC;AACzE,eAAO,MAAM,sBAAsB,QAAwC,CAAC;AAC5E,eAAO,MAAM,sBAAsB,QAAgD,CAAC;AACpF,eAAO,MAAM,mBAAmB,QAAgC,CAAC;AAEjE,eAAO,MAAM,QAAQ,QAAqE,CAAC;AAE3F,eAAO,MAAM,aAAa,QAKR,CAAC;AAEnB,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5B,IAAI,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,qBAAa,cAAc;IAChB,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAa;IACzC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAa;IAC5C,UAAU,UAAS;IAE1B;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAa;IAGtB,MAAM,IAAI,GAAG;IAKb,eAAe,IAAI,YAAY,GAAG,SAAS;IAS3C,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI;IAQ7D;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAUjB;;OAEG;IACI,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI;IAOpD;;OAEG;IACI,WAAW,IAAI,IAAI;IAO1B;;;;OAIG;IACI,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,CAAC,OAAO,GAAG,SAAS,EAAE,OAAO,GAAG,SAAS,CAAC;IA6B/E;;;OAGG;IACH,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAe5C;;;OAGG;IACH,gBAAgB,IAAI,IAAI;CAG3B;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,YAAY,GAAG,cAAc,CAE/D;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,cAAc,GAAG,IAAI,CAE1E;AAED,wBAAgB,8BAA8B,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,CAoOjF"}
1
+ {"version":3,"file":"foundry_cheatcodes.d.ts","sourceRoot":"","sources":["../../src/debug/foundry_cheatcodes.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeFoundryCheatcodePrecompile = exports.setFoundryCtx = exports.getFoundryCtx = exports.FoundryContext = exports.FAIL_MSG_DATA = exports.FAIL_LOC = exports.STOP_PRANK_SELECTOR = exports.START_PRANK_SELECTOR02 = exports.START_PRANK_SELECTOR01 = exports.PRANK_SELECTOR02 = exports.PRANK_SELECTOR01 = exports.DEAL_SELECTOR = exports.ADDR_SELECTOR = exports.SIGN_SELECTOR = exports.STORE_SELECTOR = exports.LOAD_SELECTOR = exports.ROLL_SELECTOR = exports.WARP_SELECTOR = exports.FoundryCheatcodesAddress = exports.interpRunListeners = void 0;
3
+ exports.makeFoundryCheatcodePrecompile = exports.setFoundryCtx = exports.getFoundryCtx = exports.FoundryContext = exports.returnStateMatchesRevert = exports.FAIL_MSG_DATA = exports.FAIL_LOC = exports.EXPECT_REVERT_SELECTOR03 = exports.EXPECT_REVERT_SELECTOR02 = exports.EXPECT_REVERT_SELECTOR01 = exports.STOP_PRANK_SELECTOR = exports.START_PRANK_SELECTOR02 = exports.START_PRANK_SELECTOR01 = exports.PRANK_SELECTOR02 = exports.PRANK_SELECTOR01 = exports.DEAL_SELECTOR = exports.ADDR_SELECTOR = exports.SIGN_SELECTOR = exports.STORE_SELECTOR = exports.LOAD_SELECTOR = exports.ROLL_SELECTOR = exports.WARP_SELECTOR = exports.FoundryCheatcodesAddress = exports.interpRunListeners = void 0;
4
4
  const evm_1 = require("@ethereumjs/evm/dist/evm");
5
5
  const ethereumjs_util_1 = require("ethereumjs-util");
6
6
  const utils_1 = require("../utils");
@@ -52,6 +52,9 @@ exports.PRANK_SELECTOR02 = getSelectorHex("prank(address,address)");
52
52
  exports.START_PRANK_SELECTOR01 = getSelectorHex("startPrank(address)");
53
53
  exports.START_PRANK_SELECTOR02 = getSelectorHex("startPrank(address,address)");
54
54
  exports.STOP_PRANK_SELECTOR = getSelectorHex("stopPrank()");
55
+ exports.EXPECT_REVERT_SELECTOR01 = getSelectorHex("expectRevert()");
56
+ exports.EXPECT_REVERT_SELECTOR02 = getSelectorHex("expectRevert(bytes4)");
57
+ exports.EXPECT_REVERT_SELECTOR03 = getSelectorHex("expectRevert(bytes)");
55
58
  exports.FAIL_LOC = (0, ethereumjs_util_1.setLengthRight)(Buffer.from("failed", "utf-8"), 32).toString("hex");
56
59
  exports.FAIL_MSG_DATA = Buffer.concat([
57
60
  getSelector("store(address,bytes32,bytes32)"),
@@ -59,6 +62,34 @@ exports.FAIL_MSG_DATA = Buffer.concat([
59
62
  (0, ethereumjs_util_1.setLengthRight)(Buffer.from("failed", "utf-8"), 32),
60
63
  (0, ethereumjs_util_1.setLengthLeft)(Buffer.from([1]), 32)
61
64
  ]).toString("hex");
65
+ /**
66
+ * Check whether the returned value and data from the sub-context matches the
67
+ * expected revert descriptor.
68
+ */
69
+ function returnStateMatchesRevert(ret, state, expected) {
70
+ // No revert expected. Doesn't matter what happen
71
+ if (expected === undefined) {
72
+ return true;
73
+ }
74
+ // Any revert was expected. Just check that the return value is 0.
75
+ if (typeof expected === "boolean") {
76
+ return expected === (ret === 0n);
77
+ }
78
+ const excDataSize = state.interpreter.getReturnDataSize();
79
+ const excData = state.interpreter.getReturnData();
80
+ // A specific selector is expected
81
+ if (typeof expected === "bigint") {
82
+ // Not enough data for selector
83
+ if (excDataSize < 4n || excData.length < 4) {
84
+ return false;
85
+ }
86
+ const actualSelector = (0, utils_1.bigEndianBufToBigint)(excData.slice(0, 4));
87
+ return expected === actualSelector;
88
+ }
89
+ // Specific exception bytes are expected
90
+ return excData.equals(expected);
91
+ }
92
+ exports.returnStateMatchesRevert = returnStateMatchesRevert;
62
93
  /**
63
94
  * Helper class attached to each VM object, that contains state relevant to Foundry cheatcodes.
64
95
  */
@@ -75,6 +106,21 @@ class FoundryContext {
75
106
  */
76
107
  this.envStack = [];
77
108
  }
109
+ clearExpectRevert() {
110
+ this.expectRevert(undefined);
111
+ }
112
+ expectRevert(match) {
113
+ if (this.envStack.length === 0) {
114
+ return undefined;
115
+ }
116
+ this.getEnv().expectedRevertDesc = match;
117
+ }
118
+ getExpectedRevert() {
119
+ if (this.envStack.length === 0) {
120
+ return undefined;
121
+ }
122
+ return this.getEnv().expectedRevertDesc;
123
+ }
78
124
  // Get the current (topmost) EEI object
79
125
  getEnv() {
80
126
  return this.envStack[this.envStack.length - 1];
@@ -351,6 +397,41 @@ function makeFoundryCheatcodePrecompile() {
351
397
  returnValue: Buffer.from("", "hex")
352
398
  };
353
399
  }
400
+ if (selector === exports.EXPECT_REVERT_SELECTOR01) {
401
+ //console.error(`vm.expectRevert();`);
402
+ ctx.expectRevert(true);
403
+ return {
404
+ executionGasUsed: 0n,
405
+ returnValue: Buffer.from("", "hex")
406
+ };
407
+ }
408
+ if (selector === exports.EXPECT_REVERT_SELECTOR02) {
409
+ //console.error(`vm.expectRevert(bytes4);`);
410
+ if (input.data.length < 8) {
411
+ return (0, evm_1.EvmErrorResult)(new exceptions_1.EvmError(exceptions_1.ERROR.REVERT), 0n);
412
+ }
413
+ const selector = input.data.slice(4, 8);
414
+ ctx.expectRevert((0, utils_1.bigEndianBufToBigint)(selector));
415
+ return {
416
+ executionGasUsed: 0n,
417
+ returnValue: Buffer.from("", "hex")
418
+ };
419
+ }
420
+ if (selector === exports.EXPECT_REVERT_SELECTOR03) {
421
+ if (input.data.length < 68) {
422
+ return (0, evm_1.EvmErrorResult)(new exceptions_1.EvmError(exceptions_1.ERROR.REVERT), 0n);
423
+ }
424
+ const len = Number((0, utils_1.bigEndianBufToBigint)(input.data.slice(36, 68)));
425
+ if (input.data.length < 68 + len) {
426
+ return (0, evm_1.EvmErrorResult)(new exceptions_1.EvmError(exceptions_1.ERROR.REVERT), 0n);
427
+ }
428
+ const bytes = input.data.slice(68, 68 + len);
429
+ ctx.expectRevert(bytes);
430
+ return {
431
+ executionGasUsed: 0n,
432
+ returnValue: Buffer.from("", "hex")
433
+ };
434
+ }
354
435
  return {
355
436
  executionGasUsed: 0n,
356
437
  returnValue: Buffer.from("", "hex")
@@ -1 +1 @@
1
- {"version":3,"file":"foundry_cheatcodes.js","sourceRoot":"","sources":["../../src/debug/foundry_cheatcodes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"foundry_cheatcodes.js","sourceRoot":"","sources":["../../src/debug/foundry_cheatcodes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"opcode_interposing.d.ts","sourceRoot":"","sources":["../../src/debug/opcode_interposing.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAoBtD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,cAAc,GAAG,SAAS,EAAE,CA0D1F"}
1
+ {"version":3,"file":"opcode_interposing.d.ts","sourceRoot":"","sources":["../../src/debug/opcode_interposing.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAEH,cAAc,EAGjB,MAAM,sBAAsB,CAAC;AAqB9B,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,cAAc,GAAG,SAAS,EAAE,CA4P1F"}
@@ -1,8 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.foundryInterposedOps = void 0;
4
+ const opcodes_1 = require("@ethereumjs/evm/dist/opcodes");
5
+ const util_1 = require("@ethereumjs/util");
6
+ const foundry_cheatcodes_1 = require("./foundry_cheatcodes");
4
7
  const ethereumjs_util_1 = require("ethereumjs-util");
5
8
  const utils_1 = require("../utils");
9
+ const exceptions_1 = require("@ethereumjs/evm/dist/exceptions");
6
10
  function interopseOnOp(code, opcodes, handler) {
7
11
  const originalOp = opcodes.opcodes.get(code);
8
12
  const gasFunction = originalOp.dynamicGas ? opcodes.dynamicGasHandlers.get(code) : undefined;
@@ -54,6 +58,154 @@ function foundryInterposedOps(opcodes, foundryCtx) {
54
58
  : runState.interpreter.getCaller();
55
59
  runState.stack.push(caller);
56
60
  }
61
+ ],
62
+ // 0xf0: CREATE
63
+ [
64
+ 0xf0,
65
+ async function (runState, common) {
66
+ // If we're calling vm.* ignore the expectedRevert
67
+ const expectedRevert = getExpectedRevert(foundryCtx);
68
+ const [value, offset, length] = runState.stack.popN(3);
69
+ if (common.isActivatedEIP(3860) &&
70
+ length > Number(common.param("vm", "maxInitCodeSize")) &&
71
+ !runState.interpreter._evm._allowUnlimitedInitCodeSize) {
72
+ (0, opcodes_1.trap)(exceptions_1.ERROR.INITCODE_SIZE_VIOLATION);
73
+ }
74
+ const gasLimit = runState.messageGasLimit;
75
+ runState.messageGasLimit = undefined;
76
+ let data = Buffer.alloc(0);
77
+ if (length !== BigInt(0)) {
78
+ data = runState.memory.read(Number(offset), Number(length), true);
79
+ }
80
+ const ret = await runState.interpreter.create(gasLimit, value, data);
81
+ handleCreateReturn(runState, ret, expectedRevert);
82
+ }
83
+ ],
84
+ // 0xf5: CREATE2
85
+ [
86
+ 0xf5,
87
+ async function (runState, common) {
88
+ const expectedRevert = foundryCtx.getExpectedRevert();
89
+ if (runState.interpreter.isStatic()) {
90
+ (0, opcodes_1.trap)(exceptions_1.ERROR.STATIC_STATE_CHANGE);
91
+ }
92
+ const [value, offset, length, salt] = runState.stack.popN(4);
93
+ if (common.isActivatedEIP(3860) &&
94
+ length > Number(common.param("vm", "maxInitCodeSize")) &&
95
+ !runState.interpreter._evm._allowUnlimitedInitCodeSize) {
96
+ (0, opcodes_1.trap)(exceptions_1.ERROR.INITCODE_SIZE_VIOLATION);
97
+ }
98
+ const gasLimit = runState.messageGasLimit;
99
+ runState.messageGasLimit = undefined;
100
+ let data = Buffer.alloc(0);
101
+ if (length !== BigInt(0)) {
102
+ data = runState.memory.read(Number(offset), Number(length), true);
103
+ }
104
+ const ret = await runState.interpreter.create2(gasLimit, value, data, (0, ethereumjs_util_1.setLengthLeft)((0, util_1.bigIntToBuffer)(salt), 32));
105
+ handleCreateReturn(runState, ret, expectedRevert);
106
+ }
107
+ ],
108
+ // 0xf1: CALL
109
+ [
110
+ 0xf1,
111
+ async function (runState) {
112
+ const [_currentGasLimit, toAddr, value, inOffset, inLength, outOffset, outLength] = runState.stack.popN(7);
113
+ const toAddress = new ethereumjs_util_1.Address((0, opcodes_1.addressToBuffer)(toAddr));
114
+ const expectedRevert = getExpectedRevert(foundryCtx, toAddress);
115
+ let data = Buffer.alloc(0);
116
+ if (inLength !== BigInt(0)) {
117
+ data = runState.memory.read(Number(inOffset), Number(inLength), true);
118
+ }
119
+ const gasLimit = runState.messageGasLimit;
120
+ runState.messageGasLimit = undefined;
121
+ const ret = await runState.interpreter.call(gasLimit, toAddress, value, data);
122
+ handleReturn(runState, ret, outOffset, outLength, expectedRevert);
123
+ }
124
+ ],
125
+ // 0x00: STOP
126
+ [
127
+ 0x00,
128
+ function (runState) {
129
+ const expectedRevert = getExpectedRevert(foundryCtx);
130
+ if (expectedRevert === undefined) {
131
+ (0, opcodes_1.trap)(exceptions_1.ERROR.STOP);
132
+ }
133
+ else {
134
+ runState.interpreter.revert(Buffer.alloc(0));
135
+ }
136
+ }
137
+ ],
138
+ // 0xf2: CALLCODE
139
+ [
140
+ 0xf2,
141
+ async function (runState) {
142
+ const [_currentGasLimit, toAddr, value, inOffset, inLength, outOffset, outLength] = runState.stack.popN(7);
143
+ const toAddress = new ethereumjs_util_1.Address((0, opcodes_1.addressToBuffer)(toAddr));
144
+ const expectedRevert = getExpectedRevert(foundryCtx, toAddress);
145
+ const gasLimit = runState.messageGasLimit;
146
+ runState.messageGasLimit = undefined;
147
+ let data = Buffer.alloc(0);
148
+ if (inLength !== BigInt(0)) {
149
+ data = runState.memory.read(Number(inOffset), Number(inLength), true);
150
+ }
151
+ const ret = await runState.interpreter.callCode(gasLimit, toAddress, value, data);
152
+ handleReturn(runState, ret, outOffset, outLength, expectedRevert);
153
+ }
154
+ ],
155
+ // 0xf4: DELEGATECALL
156
+ [
157
+ 0xf4,
158
+ async function (runState) {
159
+ const value = runState.interpreter.getCallValue();
160
+ const [_currentGasLimit, toAddr, inOffset, inLength, outOffset, outLength] = runState.stack.popN(6);
161
+ const toAddress = new ethereumjs_util_1.Address((0, opcodes_1.addressToBuffer)(toAddr));
162
+ const expectedRevert = getExpectedRevert(foundryCtx, toAddress);
163
+ let data = Buffer.alloc(0);
164
+ if (inLength !== BigInt(0)) {
165
+ data = runState.memory.read(Number(inOffset), Number(inLength), true);
166
+ }
167
+ const gasLimit = runState.messageGasLimit;
168
+ runState.messageGasLimit = undefined;
169
+ const ret = await runState.interpreter.callDelegate(gasLimit, toAddress, value, data);
170
+ handleReturn(runState, ret, outOffset, outLength, expectedRevert);
171
+ }
172
+ ],
173
+ // 0xfa: STATICCALL
174
+ [
175
+ 0xfa,
176
+ async function (runState) {
177
+ const value = BigInt(0);
178
+ const [_currentGasLimit, toAddr, inOffset, inLength, outOffset, outLength] = runState.stack.popN(6);
179
+ const toAddress = new ethereumjs_util_1.Address((0, opcodes_1.addressToBuffer)(toAddr));
180
+ const expectedRevert = getExpectedRevert(foundryCtx, toAddress);
181
+ const gasLimit = runState.messageGasLimit;
182
+ runState.messageGasLimit = undefined;
183
+ let data = Buffer.alloc(0);
184
+ if (inLength !== BigInt(0)) {
185
+ data = runState.memory.read(Number(inOffset), Number(inLength), true);
186
+ }
187
+ const ret = await runState.interpreter.callStatic(gasLimit, toAddress, value, data);
188
+ handleReturn(runState, ret, outOffset, outLength, expectedRevert);
189
+ }
190
+ ],
191
+ // 0xf3: RETURN
192
+ [
193
+ 0xf3,
194
+ function (runState) {
195
+ const [offset, length] = runState.stack.popN(2);
196
+ let returnData = Buffer.alloc(0);
197
+ // If we're calling vm.* ignore the expectedRevert
198
+ const expectedRevert = getExpectedRevert(foundryCtx);
199
+ if (expectedRevert === undefined) {
200
+ if (length !== BigInt(0)) {
201
+ returnData = runState.memory.read(Number(offset), Number(length));
202
+ }
203
+ runState.interpreter.finish(returnData);
204
+ }
205
+ else {
206
+ runState.interpreter.revert(returnData);
207
+ }
208
+ }
57
209
  ]
58
210
  ]);
59
211
  for (const [code, handler] of foundryOpInterposing) {
@@ -62,4 +214,44 @@ function foundryInterposedOps(opcodes, foundryCtx) {
62
214
  return res;
63
215
  }
64
216
  exports.foundryInterposedOps = foundryInterposedOps;
217
+ function getExpectedRevert(ctx, toAddress) {
218
+ const expectedRevert = toAddress && toAddress.equals(foundry_cheatcodes_1.FoundryCheatcodesAddress)
219
+ ? undefined
220
+ : ctx.getExpectedRevert();
221
+ if (expectedRevert) {
222
+ // We expected a revert - clear it
223
+ ctx.clearExpectRevert();
224
+ }
225
+ return expectedRevert;
226
+ }
227
+ function handleReturn(runState, ret, outOffset, outLength, expectedRevert) {
228
+ if (expectedRevert === undefined) {
229
+ // Nothing to do - no expected revert
230
+ }
231
+ else if (!(0, foundry_cheatcodes_1.returnStateMatchesRevert)(ret, runState, expectedRevert)) {
232
+ // If return doesn't match expected revert (no revert, or different bytes/signature) throw an error
233
+ ret = 0n;
234
+ }
235
+ else {
236
+ // Otherwise we match the expected revert, so return all 0s
237
+ runState.returnBuffer = Buffer.alloc(Number(32 * 64), 0);
238
+ ret = 1n;
239
+ }
240
+ (0, opcodes_1.writeCallOutput)(runState, outOffset, outLength);
241
+ runState.stack.push(ret);
242
+ }
243
+ function handleCreateReturn(runState, ret, expectedRevert) {
244
+ if (expectedRevert === undefined) {
245
+ // Nothing to do - no expected revert
246
+ }
247
+ else if (!(0, foundry_cheatcodes_1.returnStateMatchesRevert)(ret, runState, expectedRevert)) {
248
+ // If return doesn't match expected revert (no revert, or different bytes/signature) throw an error
249
+ ret = 0n;
250
+ }
251
+ else {
252
+ // Otherwise we match the expected revert, so return all 1s
253
+ ret = 1n;
254
+ }
255
+ runState.stack.push(ret);
256
+ }
65
257
  //# sourceMappingURL=opcode_interposing.js.map
@@ -1 +1 @@
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
+ {"version":3,"file":"opcode_interposing.js","sourceRoot":"","sources":["../../src/debug/opcode_interposing.ts"],"names":[],"mappings":"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"}
@@ -37,6 +37,7 @@ export declare enum ResultKind {
37
37
  ContractCreated = "contract_created",
38
38
  ValueReturned = "value_returned",
39
39
  Revert = "revert",
40
+ LastRevert = "last_revert",
40
41
  FoundryFail = "foundry_fail"
41
42
  }
42
43
  interface ResultContractCreated {
@@ -50,11 +51,14 @@ interface ResultValueReturned {
50
51
  interface ResultRevert {
51
52
  kind: ResultKind.Revert;
52
53
  }
54
+ interface ResultLastRevert {
55
+ kind: ResultKind.LastRevert;
56
+ }
53
57
  interface ResultFoundryFail {
54
58
  kind: ResultKind.FoundryFail;
55
59
  }
56
60
  export interface TestStep extends BaseTestStep {
57
- result: ResultContractCreated | ResultValueReturned | ResultRevert | ResultFoundryFail;
61
+ result: ResultContractCreated | ResultValueReturned | ResultRevert | ResultLastRevert | ResultFoundryFail;
58
62
  errorStack?: string[];
59
63
  errorString?: string;
60
64
  errorPathPrefix?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"test_runner.d.ts","sourceRoot":"","sources":["../../src/utils/test_runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test_runner.d.ts","sourceRoot":"","sources":["../../src/utils/test_runner.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ var ResultKind;
11
11
  ResultKind["ContractCreated"] = "contract_created";
12
12
  ResultKind["ValueReturned"] = "value_returned";
13
13
  ResultKind["Revert"] = "revert";
14
+ ResultKind["LastRevert"] = "last_revert";
14
15
  ResultKind["FoundryFail"] = "foundry_fail";
15
16
  })(ResultKind || (exports.ResultKind = ResultKind = {}));
16
17
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"test_runner.js","sourceRoot":"","sources":["../../src/utils/test_runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"test_runner.js","sourceRoot":"","sources":["../../src/utils/test_runner.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sol-dbg",
3
- "version": "0.2.3",
3
+ "version": "0.3.0",
4
4
  "description": "Small (experimental) Solidity-level debugger built around EthereumJS",
5
5
  "keywords": [],
6
6
  "files": [