sol-dbg 0.3.7 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/artifacts/helpers.d.ts +2 -3
- package/dist/artifacts/helpers.d.ts.map +1 -1
- package/dist/artifacts/helpers.js +45 -14
- package/dist/artifacts/helpers.js.map +1 -1
- package/dist/debug/abi.d.ts +10 -4
- package/dist/debug/abi.d.ts.map +1 -1
- package/dist/debug/abi.js +41 -11
- package/dist/debug/abi.js.map +1 -1
- package/dist/debug/artifact_manager.d.ts +9 -10
- package/dist/debug/artifact_manager.d.ts.map +1 -1
- package/dist/debug/artifact_manager.js +7 -6
- package/dist/debug/artifact_manager.js.map +1 -1
- package/dist/debug/decoding/calldata.d.ts.map +1 -1
- package/dist/debug/decoding/calldata.js +5 -6
- package/dist/debug/decoding/calldata.js.map +1 -1
- package/dist/debug/decoding/general.js +2 -3
- package/dist/debug/decoding/general.js.map +1 -1
- package/dist/debug/decoding/memory.d.ts.map +1 -1
- package/dist/debug/decoding/memory.js +4 -5
- package/dist/debug/decoding/memory.js.map +1 -1
- package/dist/debug/decoding/stack.js +2 -3
- package/dist/debug/decoding/stack.js.map +1 -1
- package/dist/debug/decoding/storage.d.ts.map +1 -1
- package/dist/debug/decoding/storage.js +9 -9
- package/dist/debug/decoding/storage.js.map +1 -1
- package/dist/debug/foundry_cheatcodes.d.ts +31 -30
- package/dist/debug/foundry_cheatcodes.d.ts.map +1 -1
- package/dist/debug/foundry_cheatcodes.js +127 -143
- package/dist/debug/foundry_cheatcodes.js.map +1 -1
- package/dist/debug/opcode_interposing.d.ts +2 -1
- package/dist/debug/opcode_interposing.d.ts.map +1 -1
- package/dist/debug/opcode_interposing.js +28 -30
- package/dist/debug/opcode_interposing.js.map +1 -1
- package/dist/debug/opcodes.js +6 -6
- package/dist/debug/opcodes.js.map +1 -1
- package/dist/debug/sol_debugger.d.ts +10 -165
- package/dist/debug/sol_debugger.d.ts.map +1 -1
- package/dist/debug/sol_debugger.js +74 -102
- package/dist/debug/sol_debugger.js.map +1 -1
- package/dist/debug/types.d.ts +157 -0
- package/dist/debug/types.d.ts.map +1 -1
- package/dist/debug/types.js +14 -0
- package/dist/debug/types.js.map +1 -1
- package/dist/utils/ethereumjs_internal/exceptions.d.ts +44 -0
- package/dist/utils/ethereumjs_internal/exceptions.d.ts.map +1 -0
- package/dist/utils/ethereumjs_internal/exceptions.js +59 -0
- package/dist/utils/ethereumjs_internal/exceptions.js.map +1 -0
- package/dist/utils/ethereumjs_internal/index.d.ts +3 -0
- package/dist/utils/ethereumjs_internal/index.d.ts.map +1 -0
- package/dist/utils/ethereumjs_internal/index.js +19 -0
- package/dist/utils/ethereumjs_internal/index.js.map +1 -0
- package/dist/utils/ethereumjs_internal/opcodes.d.ts +33 -0
- package/dist/utils/ethereumjs_internal/opcodes.d.ts.map +1 -0
- package/dist/utils/ethereumjs_internal/opcodes.js +79 -0
- package/dist/utils/ethereumjs_internal/opcodes.js.map +1 -0
- package/dist/utils/index.d.ts +2 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -2
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/misc.d.ts +12 -20
- package/dist/utils/misc.d.ts.map +1 -1
- package/dist/utils/misc.js +39 -83
- package/dist/utils/misc.js.map +1 -1
- package/dist/utils/pp.d.ts.map +1 -1
- package/dist/utils/pp.js +10 -10
- package/dist/utils/pp.js.map +1 -1
- package/dist/utils/srcmap.js +2 -3
- package/dist/utils/srcmap.js.map +1 -1
- package/dist/utils/test_runner.d.ts +6 -6
- package/dist/utils/test_runner.d.ts.map +1 -1
- package/dist/utils/test_runner.js +11 -9
- package/dist/utils/test_runner.js.map +1 -1
- package/package.json +14 -12
package/dist/utils/misc.d.ts
CHANGED
|
@@ -1,26 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import {
|
|
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/
|
|
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"):
|
|
15
|
-
export declare function hexStrToBuf32(v: UnprefixedHexString):
|
|
16
|
-
export declare function
|
|
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:
|
|
39
|
-
export declare function wordToAddress(word:
|
|
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:
|
|
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:
|
|
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
|
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":"
|
|
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"}
|
package/dist/utils/misc.js
CHANGED
|
@@ -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.
|
|
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
|
|
9
|
-
const
|
|
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
|
|
26
|
+
const types_1 = require("../debug/types");
|
|
13
27
|
exports.ZERO_ADDRESS_STRING = "0x0000000000000000000000000000000000000000";
|
|
14
|
-
exports.ZERO_ADDRESS =
|
|
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 =
|
|
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 =
|
|
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
|
|
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 =
|
|
62
|
-
const tx =
|
|
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
|
-
|
|
106
|
+
/* istanbul ignore next */
|
|
140
107
|
function ppLoc(loc) {
|
|
141
|
-
return `{kind: ${loc.kind}, ${loc.kind ===
|
|
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
|
-
|
|
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
|
-
|
|
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)] =
|
|
118
|
+
data[k.toString(16)] = (0, utils_1.bytesToHex)(v);
|
|
152
119
|
}
|
|
153
120
|
return JSON.stringify(data, undefined, 4) + "\n";
|
|
154
121
|
}
|
|
155
|
-
|
|
122
|
+
/* istanbul ignore next */
|
|
156
123
|
function ppEvmStack(stack) {
|
|
157
|
-
return stack.map((
|
|
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
|
|
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
|
package/dist/utils/misc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/utils/misc.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"misc.js","sourceRoot":"","sources":["../../src/utils/misc.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/pp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pp.d.ts","sourceRoot":"","sources":["../../src/utils/pp.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pp.d.ts","sourceRoot":"","sources":["../../src/utils/pp.ts"],"names":[],"mappings":"AAsBA,OAAO,EACH,eAAe,EAEf,QAAQ,EAER,aAAa,EAIb,aAAa,EAEb,SAAS,EACZ,MAAM,UAAU,CAAC;AA2FlB,wBAAgB,YAAY,CACxB,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,SAAS,EAAE,EAClB,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,MAAM,GAClB,MAAM,CA4HR;AAED,wBAAgB,qBAAqB,CACjC,IAAI,EAAE,SAAS,EACf,WAAW,EAAE,aAAa,EAC1B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC5B,eAAe,EAAE,eAAe,EAChC,MAAM,EAAE,MAAM,GAAG,SAAS,GAC3B,MAAM,GAAG,SAAS,CA8CpB;AAED,wBAAgB,cAAc,CAC1B,KAAK,EAAE,SAAS,EAAE,EAClB,eAAe,EAAE,eAAe,EAChC,MAAM,CAAC,EAAE,MAAM,GAChB,IAAI,CAyBN;AAED,wBAAgB,MAAM,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM,CAyB9C"}
|
package/dist/utils/pp.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.ppStackTrace = ppStackTrace;
|
|
4
|
+
exports.printStepSourceString = printStepSourceString;
|
|
5
|
+
exports.debugDumpTrace = debugDumpTrace;
|
|
6
|
+
exports.ppStep = ppStep;
|
|
7
|
+
const utils_1 = require("ethereum-cryptography/utils");
|
|
4
8
|
const solc_typed_ast_1 = require("solc-typed-ast");
|
|
5
9
|
const debug_1 = require("../debug");
|
|
6
10
|
const srcLocation = require("src-location");
|
|
@@ -16,7 +20,7 @@ function ppValue(typ, v, infer) {
|
|
|
16
20
|
return v.toString();
|
|
17
21
|
}
|
|
18
22
|
if (typ instanceof solc_typed_ast_1.FixedBytesType) {
|
|
19
|
-
return
|
|
23
|
+
return (0, utils_1.bytesToHex)(v);
|
|
20
24
|
}
|
|
21
25
|
if (typ instanceof solc_typed_ast_1.BoolType) {
|
|
22
26
|
return v ? "true" : "false";
|
|
@@ -43,7 +47,7 @@ function ppValue(typ, v, infer) {
|
|
|
43
47
|
return `[${v.map((el) => ppValue(elT, el, infer)).join(", ")}]`;
|
|
44
48
|
}
|
|
45
49
|
if (typ.to instanceof solc_typed_ast_1.BytesType) {
|
|
46
|
-
return `0x${
|
|
50
|
+
return `0x${(0, utils_1.bytesToHex)(v)}`;
|
|
47
51
|
}
|
|
48
52
|
if (typ.to instanceof solc_typed_ast_1.StringType) {
|
|
49
53
|
return `"${v}"`;
|
|
@@ -166,7 +170,6 @@ function ppStackTrace(solDbg, trace, stack, curOffset) {
|
|
|
166
170
|
}
|
|
167
171
|
return res.reverse().join("\n");
|
|
168
172
|
}
|
|
169
|
-
exports.ppStackTrace = ppStackTrace;
|
|
170
173
|
function printStepSourceString(step, lastExtStep, sources, artifactManager, prefix) {
|
|
171
174
|
const info = step.contractInfo;
|
|
172
175
|
if (info === undefined) {
|
|
@@ -195,11 +198,10 @@ function printStepSourceString(step, lastExtStep, sources, artifactManager, pref
|
|
|
195
198
|
* while compiler refer to it as bytes.
|
|
196
199
|
*
|
|
197
200
|
* This may cause issues when file contains multibyte charactes.
|
|
198
|
-
* It worth to use `
|
|
201
|
+
* It worth to use `Uint8Array` instead.
|
|
199
202
|
*/
|
|
200
203
|
return fileContents.substring(errorLoc.start, errorLoc.start + errorLoc.length);
|
|
201
204
|
}
|
|
202
|
-
exports.printStepSourceString = printStepSourceString;
|
|
203
205
|
function debugDumpTrace(trace, artifactManager, prefix) {
|
|
204
206
|
const sources = new Map();
|
|
205
207
|
for (let i = 0; i < trace.length; i++) {
|
|
@@ -211,7 +213,6 @@ function debugDumpTrace(trace, artifactManager, prefix) {
|
|
|
211
213
|
console.error(`${i} ${step.pc}: ${step.op.mnemonic} ${jumpType} ${srcString !== undefined ? srcString : ""}`);
|
|
212
214
|
}
|
|
213
215
|
}
|
|
214
|
-
exports.debugDumpTrace = debugDumpTrace;
|
|
215
216
|
function ppStep(step) {
|
|
216
217
|
const addrStr = `${step.address.toString().slice(36)}`;
|
|
217
218
|
let contractId;
|
|
@@ -225,13 +226,12 @@ function ppStep(step) {
|
|
|
225
226
|
contractId = `unknown@${addrStr}`;
|
|
226
227
|
}
|
|
227
228
|
const immStr = step.op.immediates
|
|
228
|
-
.map((imm) => step.code.slice(step.pc + 1, step.pc + 1 + imm.length)
|
|
229
|
+
.map((imm) => (0, utils_1.bytesToHex)(step.code.slice(step.pc + 1, step.pc + 1 + imm.length)))
|
|
229
230
|
.join(" ");
|
|
230
231
|
const stackStr = step.evmStack
|
|
231
232
|
.slice(step.evmStack.length - step.op.nPop, step.evmStack.length)
|
|
232
|
-
.map((v) =>
|
|
233
|
+
.map((v) => (0, utils_1.bytesToHex)(v))
|
|
233
234
|
.join(", ");
|
|
234
235
|
return `${contractId}# ${step.pc}: ${step.op.mnemonic}(${step.op.opcode.toString(16)}) ${immStr} [${stackStr}]`;
|
|
235
236
|
}
|
|
236
|
-
exports.ppStep = ppStep;
|
|
237
237
|
//# sourceMappingURL=pp.js.map
|
package/dist/utils/pp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pp.js","sourceRoot":"","sources":["../../src/utils/pp.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"pp.js","sourceRoot":"","sources":["../../src/utils/pp.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/srcmap.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.fastParseBytecodeSourceMapping = fastParseBytecodeSourceMapping;
|
|
4
|
+
exports.parseBytecodeSourceMapping = parseBytecodeSourceMapping;
|
|
4
5
|
function fastParseBytecodeSourceMapping(sourceMap) {
|
|
5
6
|
const res = [];
|
|
6
7
|
let curNum = undefined;
|
|
@@ -60,7 +61,6 @@ function fastParseBytecodeSourceMapping(sourceMap) {
|
|
|
60
61
|
});
|
|
61
62
|
return res;
|
|
62
63
|
}
|
|
63
|
-
exports.fastParseBytecodeSourceMapping = fastParseBytecodeSourceMapping;
|
|
64
64
|
function parseBytecodeSourceMapping(sourceMap) {
|
|
65
65
|
return sourceMap
|
|
66
66
|
.split(";")
|
|
@@ -84,5 +84,4 @@ function parseBytecodeSourceMapping(sourceMap) {
|
|
|
84
84
|
.reverse()
|
|
85
85
|
.slice(1);
|
|
86
86
|
}
|
|
87
|
-
exports.parseBytecodeSourceMapping = parseBytecodeSourceMapping;
|
|
88
87
|
//# sourceMappingURL=srcmap.js.map
|
package/dist/utils/srcmap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"srcmap.js","sourceRoot":"","sources":["../../src/utils/srcmap.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"srcmap.js","sourceRoot":"","sources":["../../src/utils/srcmap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Block } from "@ethereumjs/block";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { EVMStateManagerInterface } from "@ethereumjs/common";
|
|
3
|
+
import { TypedTransaction } from "@ethereumjs/tx";
|
|
4
4
|
import { RunTxResult, VM } from "@ethereumjs/vm";
|
|
5
5
|
import { HexString } from "../artifacts";
|
|
6
6
|
export interface BaseTestStep {
|
|
@@ -79,13 +79,13 @@ export declare class VMTestRunner {
|
|
|
79
79
|
constructor(vm: VM);
|
|
80
80
|
runTestCase(testCaseJSON: BaseTestCase): Promise<void>;
|
|
81
81
|
private setupInitialState;
|
|
82
|
-
harveyStepToTransaction(step: BaseTestStep): Promise<
|
|
82
|
+
harveyStepToTransaction(step: BaseTestStep): Promise<TypedTransaction>;
|
|
83
83
|
harveyStepToBlock(step: BaseTestStep): Block;
|
|
84
84
|
private _runTxInt;
|
|
85
|
-
get txs():
|
|
85
|
+
get txs(): TypedTransaction[];
|
|
86
86
|
get results(): RunTxResult[];
|
|
87
|
-
getStateBeforeTx(tx:
|
|
88
|
-
getBlock(tx:
|
|
87
|
+
getStateBeforeTx(tx: TypedTransaction): EVMStateManagerInterface;
|
|
88
|
+
getBlock(tx: TypedTransaction): Block;
|
|
89
89
|
}
|
|
90
90
|
export {};
|
|
91
91
|
//# sourceMappingURL=test_runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test_runner.d.ts","sourceRoot":"","sources":["../../src/utils/test_runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"test_runner.d.ts","sourceRoot":"","sources":["../../src/utils/test_runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.VMTestRunner = exports.ResultKind = void 0;
|
|
4
4
|
const block_1 = require("@ethereumjs/block");
|
|
5
|
+
const common_1 = require("@ethereumjs/common");
|
|
5
6
|
const util_1 = require("@ethereumjs/util");
|
|
7
|
+
const utils_1 = require("ethereum-cryptography/utils");
|
|
6
8
|
const solc_typed_ast_1 = require("solc-typed-ast");
|
|
7
9
|
const misc_1 = require("./misc");
|
|
8
|
-
const common_1 = require("@ethereumjs/common");
|
|
9
10
|
var ResultKind;
|
|
10
11
|
(function (ResultKind) {
|
|
11
12
|
ResultKind["ContractCreated"] = "contract_created";
|
|
@@ -43,7 +44,7 @@ class VMTestRunner {
|
|
|
43
44
|
for (const addressStr of Object.keys(initialState.accounts)) {
|
|
44
45
|
const { nonce, balance, code, storage } = initialState.accounts[addressStr];
|
|
45
46
|
const address = util_1.Address.fromString(addressStr);
|
|
46
|
-
const codeBuf =
|
|
47
|
+
const codeBuf = (0, utils_1.hexToBytes)(code.slice(2));
|
|
47
48
|
const acct = new util_1.Account();
|
|
48
49
|
acct.nonce = BigInt(nonce);
|
|
49
50
|
acct.balance = BigInt(balance);
|
|
@@ -61,6 +62,7 @@ class VMTestRunner {
|
|
|
61
62
|
async harveyStepToTransaction(step) {
|
|
62
63
|
const senderAddress = util_1.Address.fromString(step.origin);
|
|
63
64
|
const senderAccount = await this.vm.stateManager.getAccount(senderAddress);
|
|
65
|
+
(0, solc_typed_ast_1.assert)(senderAccount !== undefined, `Missing sender account for ${senderAddress.toString()}`);
|
|
64
66
|
const senderNonce = senderAccount.nonce;
|
|
65
67
|
const txData = {
|
|
66
68
|
value: step.value,
|
|
@@ -72,25 +74,25 @@ class VMTestRunner {
|
|
|
72
74
|
if (step.address !== misc_1.ZERO_ADDRESS_STRING) {
|
|
73
75
|
txData.to = step.address;
|
|
74
76
|
}
|
|
75
|
-
return (0, misc_1.makeFakeTransaction)(txData, step.origin, this._vm.
|
|
77
|
+
return (0, misc_1.makeFakeTransaction)(txData, step.origin, this._vm.common);
|
|
76
78
|
}
|
|
77
79
|
harveyStepToBlock(step) {
|
|
78
80
|
return block_1.Block.fromBlockData({
|
|
79
81
|
header: {
|
|
80
82
|
coinbase: step.origin,
|
|
81
|
-
difficulty: this.vm.
|
|
83
|
+
difficulty: this.vm.common.hardfork() === common_1.Hardfork.Shanghai ? 0 : step.blockDifficulty,
|
|
82
84
|
gasLimit: step.blockGasLimit,
|
|
83
85
|
number: step.blockNumber,
|
|
84
86
|
timestamp: step.blockTime
|
|
85
87
|
}
|
|
86
88
|
}, {
|
|
87
|
-
common: this.vm.
|
|
89
|
+
common: this.vm.common
|
|
88
90
|
});
|
|
89
91
|
}
|
|
90
92
|
async _runTxInt(tx, block) {
|
|
91
|
-
const txHash = tx.hash()
|
|
93
|
+
const txHash = (0, utils_1.bytesToHex)(tx.hash());
|
|
92
94
|
this._txs.push(tx);
|
|
93
|
-
this._stateRootBeforeTx.set(txHash, this.vm.stateManager.
|
|
95
|
+
this._stateRootBeforeTx.set(txHash, this.vm.stateManager.shallowCopy(true));
|
|
94
96
|
this._txToBlock.set(txHash, block);
|
|
95
97
|
const res = this.vm.runTx({
|
|
96
98
|
tx,
|
|
@@ -109,13 +111,13 @@ class VMTestRunner {
|
|
|
109
111
|
return this._results;
|
|
110
112
|
}
|
|
111
113
|
getStateBeforeTx(tx) {
|
|
112
|
-
const txHash = tx.hash()
|
|
114
|
+
const txHash = (0, utils_1.bytesToHex)(tx.hash());
|
|
113
115
|
const res = this._stateRootBeforeTx.get(txHash);
|
|
114
116
|
(0, solc_typed_ast_1.assert)(res !== undefined, `Unable to find state before tx ${txHash}`);
|
|
115
117
|
return res;
|
|
116
118
|
}
|
|
117
119
|
getBlock(tx) {
|
|
118
|
-
const txHash = tx.hash()
|
|
120
|
+
const txHash = (0, utils_1.bytesToHex)(tx.hash());
|
|
119
121
|
const res = this._txToBlock.get(txHash);
|
|
120
122
|
(0, solc_typed_ast_1.assert)(res !== undefined, `Unable to find block for tx ${txHash}`);
|
|
121
123
|
return res;
|