sol-dbg 0.7.1 → 0.7.3
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.js +3 -3
- package/dist/artifacts/helpers.js.map +1 -1
- package/dist/artifacts/solc.d.ts +1 -1
- package/dist/artifacts/solc.d.ts.map +1 -1
- package/dist/debug/artifact_manager/artifact_manager.d.ts +2 -2
- package/dist/debug/artifact_manager/artifact_manager.d.ts.map +1 -1
- package/dist/debug/artifact_manager/artifact_manager.js +2 -3
- package/dist/debug/artifact_manager/artifact_manager.js.map +1 -1
- package/dist/debug/artifact_manager/bytecode_templates.js +1 -1
- package/dist/debug/artifact_manager/bytecode_templates.js.map +1 -1
- package/dist/debug/decoding/calldata/index.d.ts +1 -1
- package/dist/debug/decoding/calldata/index.d.ts.map +1 -1
- package/dist/debug/decoding/calldata/index.js +15 -3
- package/dist/debug/decoding/calldata/index.js.map +1 -1
- package/dist/debug/decoding/calldata/view.d.ts +25 -7
- package/dist/debug/decoding/calldata/view.d.ts.map +1 -1
- package/dist/debug/decoding/calldata/view.js +107 -12
- package/dist/debug/decoding/calldata/view.js.map +1 -1
- package/dist/debug/decoding/index.d.ts +1 -0
- package/dist/debug/decoding/index.d.ts.map +1 -1
- package/dist/debug/decoding/index.js +1 -0
- package/dist/debug/decoding/index.js.map +1 -1
- package/dist/debug/decoding/memory/allocator.d.ts +22 -0
- package/dist/debug/decoding/memory/allocator.d.ts.map +1 -0
- package/dist/debug/decoding/memory/allocator.js +47 -0
- package/dist/debug/decoding/memory/allocator.js.map +1 -0
- package/dist/debug/decoding/memory/index.d.ts +2 -1
- package/dist/debug/decoding/memory/index.d.ts.map +1 -1
- package/dist/debug/decoding/memory/index.js +16 -3
- package/dist/debug/decoding/memory/index.js.map +1 -1
- package/dist/debug/decoding/memory/view.d.ts +45 -8
- package/dist/debug/decoding/memory/view.d.ts.map +1 -1
- package/dist/debug/decoding/memory/view.js +185 -15
- package/dist/debug/decoding/memory/view.js.map +1 -1
- package/dist/debug/decoding/stack/index.d.ts +1 -1
- package/dist/debug/decoding/stack/index.d.ts.map +1 -1
- package/dist/debug/decoding/stack/index.js +15 -3
- package/dist/debug/decoding/stack/index.js.map +1 -1
- package/dist/debug/decoding/stack/view.d.ts +7 -0
- package/dist/debug/decoding/stack/view.d.ts.map +1 -1
- package/dist/debug/decoding/stack/view.js +41 -1
- package/dist/debug/decoding/stack/view.js.map +1 -1
- package/dist/debug/decoding/storage/index.d.ts +1 -1
- package/dist/debug/decoding/storage/index.d.ts.map +1 -1
- package/dist/debug/decoding/storage/index.js +15 -3
- package/dist/debug/decoding/storage/index.js.map +1 -1
- package/dist/debug/decoding/storage/view.d.ts +45 -7
- package/dist/debug/decoding/storage/view.d.ts.map +1 -1
- package/dist/debug/decoding/storage/view.js +279 -16
- package/dist/debug/decoding/storage/view.js.map +1 -1
- package/dist/debug/decoding/view.d.ts +14 -1
- package/dist/debug/decoding/view.d.ts.map +1 -1
- package/dist/debug/decoding/view.js +8 -1
- package/dist/debug/decoding/view.js.map +1 -1
- package/dist/debug/foundry_cheatcodes.d.ts +15 -15
- package/dist/debug/foundry_cheatcodes.d.ts.map +1 -1
- package/dist/debug/foundry_cheatcodes.js +11 -10
- package/dist/debug/foundry_cheatcodes.js.map +1 -1
- package/dist/debug/layout.d.ts +2 -2
- package/dist/debug/layout.d.ts.map +1 -1
- package/dist/debug/layout.js +1 -1
- package/dist/debug/layout.js.map +1 -1
- package/dist/debug/opcode_interposing.js +2 -2
- package/dist/debug/opcode_interposing.js.map +1 -1
- package/dist/debug/tracers/base_tracer.d.ts +4 -4
- package/dist/debug/tracers/base_tracer.d.ts.map +1 -1
- package/dist/debug/tracers/base_tracer.js +7 -7
- package/dist/debug/tracers/base_tracer.js.map +1 -1
- package/dist/debug/tracers/storage_decode_tracer.js +1 -1
- package/dist/debug/tracers/storage_decode_tracer.js.map +1 -1
- package/dist/debug/tracers/transformers/basic_info.d.ts +2 -2
- package/dist/debug/tracers/transformers/basic_info.d.ts.map +1 -1
- package/dist/debug/tracers/transformers/basic_info.js.map +1 -1
- package/dist/debug/tracers/transformers/ext_stack.d.ts.map +1 -1
- package/dist/debug/tracers/transformers/ext_stack.js +3 -5
- package/dist/debug/tracers/transformers/ext_stack.js.map +1 -1
- package/dist/debug/types.d.ts +2 -38
- package/dist/debug/types.d.ts.map +1 -1
- package/dist/debug/types.js +1 -8
- package/dist/debug/types.js.map +1 -1
- package/dist/utils/ethereumjs_internal/exceptions.d.ts +2 -2
- package/dist/utils/ethereumjs_internal/opcodes.js +1 -1
- package/dist/utils/immutable_map.d.ts +2 -0
- package/dist/utils/immutable_map.d.ts.map +1 -1
- package/dist/utils/immutable_map.js +21 -0
- package/dist/utils/immutable_map.js.map +1 -1
- package/dist/utils/misc.d.ts +4 -3
- package/dist/utils/misc.d.ts.map +1 -1
- package/dist/utils/misc.js +25 -20
- package/dist/utils/misc.js.map +1 -1
- package/dist/utils/solidity.d.ts.map +1 -1
- package/dist/utils/solidity.js +23 -7
- package/dist/utils/solidity.js.map +1 -1
- package/dist/utils/test_runner.d.ts +5 -5
- package/dist/utils/test_runner.d.ts.map +1 -1
- package/dist/utils/test_runner.js +15 -14
- package/dist/utils/test_runner.js.map +1 -1
- package/package.json +13 -12
- package/dist/utils/types.d.ts +0 -9
- package/dist/utils/types.d.ts.map +0 -1
- package/dist/utils/types.js +0 -3
- package/dist/utils/types.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/debug/decoding/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/debug/decoding/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
|
|
@@ -20,4 +20,5 @@ __exportStar(require("./memory"), exports);
|
|
|
20
20
|
__exportStar(require("./stack"), exports);
|
|
21
21
|
__exportStar(require("./storage"), exports);
|
|
22
22
|
__exportStar(require("./exp_types"), exports);
|
|
23
|
+
__exportStar(require("./value"), exports);
|
|
23
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/debug/decoding/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,4CAA0B;AAC1B,2CAAyB;AACzB,0CAAwB;AACxB,4CAA0B;AAC1B,8CAA4B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/debug/decoding/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,4CAA0B;AAC1B,2CAAyB;AACzB,0CAAwB;AACxB,4CAA0B;AAC1B,8CAA4B;AAC5B,0CAAwB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Memory } from "../../types";
|
|
2
|
+
export interface Allocator {
|
|
3
|
+
alloc(size: number): bigint;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Default allocator implementing the free-pointer allocation model of Solidity.
|
|
7
|
+
* Note: The allocator owns the Memory object since it initializes it internally with a resizable ArrayBuffer
|
|
8
|
+
*/
|
|
9
|
+
export declare class DefaultAllocator implements Allocator {
|
|
10
|
+
readonly buf: ArrayBuffer;
|
|
11
|
+
readonly memory: Memory;
|
|
12
|
+
private _freeMemPtr;
|
|
13
|
+
constructor();
|
|
14
|
+
get freeMemPtr(): bigint;
|
|
15
|
+
/**
|
|
16
|
+
* Grow the memory to at least `newMemSize`
|
|
17
|
+
* @param newMemSize
|
|
18
|
+
*/
|
|
19
|
+
grow(newMemSize: number | bigint): void;
|
|
20
|
+
alloc(size: number): bigint;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=allocator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"allocator.d.ts","sourceRoot":"","sources":["../../../../src/debug/decoding/memory/allocator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIrC,MAAM,WAAW,SAAS;IACtB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;CAC/B;AAOD;;;GAGG;AACH,qBAAa,gBAAiB,YAAW,SAAS;IAC9C,SAAgB,GAAG,EAAE,WAAW,CAAC;IACjC,SAAgB,MAAM,EAAE,MAAM,CAAC;IAC/B,OAAO,CAAC,WAAW,CAAa;;IAUhC,IAAI,UAAU,IAAI,MAAM,CAIvB;IAED;;;OAGG;IACH,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI;IAKvC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAW9B"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DefaultAllocator = void 0;
|
|
4
|
+
const solc_typed_ast_1 = require("solc-typed-ast");
|
|
5
|
+
const view_1 = require("./view");
|
|
6
|
+
const utils_1 = require("../../../utils");
|
|
7
|
+
const MAX_MEM_LIMIT = 64 * 1024 * 1024;
|
|
8
|
+
const FREE_POINTER_START = 0x40;
|
|
9
|
+
const RESERVED_AREA_SIZE = 0x80;
|
|
10
|
+
const INITIAL_SIZE = RESERVED_AREA_SIZE;
|
|
11
|
+
/**
|
|
12
|
+
* Default allocator implementing the free-pointer allocation model of Solidity.
|
|
13
|
+
* Note: The allocator owns the Memory object since it initializes it internally with a resizable ArrayBuffer
|
|
14
|
+
*/
|
|
15
|
+
class DefaultAllocator {
|
|
16
|
+
constructor() {
|
|
17
|
+
// Initialize memory
|
|
18
|
+
this.buf = new ArrayBuffer(INITIAL_SIZE, { maxByteLength: MAX_MEM_LIMIT });
|
|
19
|
+
this.memory = new Uint8Array(this.buf);
|
|
20
|
+
this._freeMemPtr = (0, view_1.makeMemoryView)(utils_1.uint256, BigInt(FREE_POINTER_START));
|
|
21
|
+
this._freeMemPtr.encode(BigInt(RESERVED_AREA_SIZE), this.memory);
|
|
22
|
+
}
|
|
23
|
+
get freeMemPtr() {
|
|
24
|
+
const res = this._freeMemPtr.decode(this.memory);
|
|
25
|
+
(0, solc_typed_ast_1.assert)(typeof res === "bigint", `Internal error getting free mem pointer: ${res}`);
|
|
26
|
+
return res;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Grow the memory to at least `newMemSize`
|
|
30
|
+
* @param newMemSize
|
|
31
|
+
*/
|
|
32
|
+
grow(newMemSize) {
|
|
33
|
+
(0, solc_typed_ast_1.assert)(BigInt(newMemSize) <= MAX_MEM_LIMIT, `Memory grew too large: ${newMemSize}`);
|
|
34
|
+
this.buf.resize(Number(newMemSize));
|
|
35
|
+
}
|
|
36
|
+
alloc(size) {
|
|
37
|
+
const res = this.freeMemPtr;
|
|
38
|
+
const newRegionEnd = res + BigInt(size);
|
|
39
|
+
if (newRegionEnd > BigInt(this.memory.length)) {
|
|
40
|
+
this.grow(newRegionEnd);
|
|
41
|
+
}
|
|
42
|
+
this._freeMemPtr.encode(newRegionEnd, this.memory);
|
|
43
|
+
return res;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.DefaultAllocator = DefaultAllocator;
|
|
47
|
+
//# sourceMappingURL=allocator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"allocator.js","sourceRoot":"","sources":["../../../../src/debug/decoding/memory/allocator.ts"],"names":[],"mappings":";;;AAAA,mDAAwC;AAExC,iCAAoD;AACpD,0CAAyC;AAMzC,MAAM,aAAa,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;AACvC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,kBAAkB,GAAG,IAAI,CAAC;AAChC,MAAM,YAAY,GAAG,kBAAkB,CAAC;AAExC;;;GAGG;AACH,MAAa,gBAAgB;IAKzB;QACI,oBAAoB;QACpB,IAAI,CAAC,GAAG,GAAG,IAAI,WAAW,CAAC,YAAY,EAAE,EAAE,aAAa,EAAE,aAAa,EAAE,CAAC,CAAC;QAC3E,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,IAAA,qBAAc,EAAC,eAAO,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAAe,CAAC;QACrF,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,UAAU;QACV,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACjD,IAAA,uBAAM,EAAC,OAAO,GAAG,KAAK,QAAQ,EAAE,4CAA4C,GAAG,EAAE,CAAC,CAAC;QACnF,OAAO,GAAG,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,IAAI,CAAC,UAA2B;QAC5B,IAAA,uBAAM,EAAC,MAAM,CAAC,UAAU,CAAC,IAAI,aAAa,EAAE,0BAA0B,UAAU,EAAE,CAAC,CAAC;QACpF,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,IAAY;QACd,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC;QAC5B,MAAM,YAAY,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAExC,IAAI,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,OAAO,GAAG,CAAC;IACf,CAAC;CACJ;AAvCD,4CAuCC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/debug/decoding/memory/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/debug/decoding/memory/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,aAAa,CAAC"}
|
|
@@ -1,6 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
2
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "makeMemoryView", { enumerable: true, get: function () { return view_1.makeMemoryView; } });
|
|
17
|
+
__exportStar(require("./view"), exports);
|
|
18
|
+
__exportStar(require("./allocator"), exports);
|
|
6
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/debug/decoding/memory/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/debug/decoding/memory/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB;AACvB,8CAA4B"}
|
|
@@ -1,44 +1,81 @@
|
|
|
1
1
|
import { AddressType, ArrayType, BoolType, BytesType, FixedBytesType, IntType, PointerType, StringType, TypeNode } from "solc-typed-ast";
|
|
2
2
|
import { Memory } from "../../types";
|
|
3
|
-
import { View } from "../view";
|
|
3
|
+
import { IndexableView, PointerView, StructView, View } from "../view";
|
|
4
4
|
import { DecodingFailure, Struct, Value } from "../value";
|
|
5
5
|
import { Address } from "@ethereumjs/util";
|
|
6
6
|
import { ExpStructType, MissingType } from "../exp_types";
|
|
7
|
+
import { Allocator } from "./allocator";
|
|
7
8
|
export declare abstract class BaseMemoryView<Val extends Value, Type extends TypeNode = TypeNode> extends View<Memory, Val, bigint, Type> {
|
|
9
|
+
protected writeMemAt(value: Uint8Array, off: bigint, mem: Memory): void;
|
|
8
10
|
protected readMemAt(off: bigint, calldata: Memory, len: bigint | number): Uint8Array | DecodingFailure;
|
|
9
11
|
protected decodeIntAt(off: bigint, type: IntType, state: Memory): bigint | DecodingFailure;
|
|
10
|
-
protected decodeBytesAt(loc: bigint, state: Memory): Uint8Array | DecodingFailure;
|
|
11
12
|
pp(): string;
|
|
13
|
+
get offset(): bigint;
|
|
14
|
+
protected encodeIntAt(value: bigint, off: bigint, state: Memory): void;
|
|
15
|
+
abstract encode(value: Val, state: Memory, alloc: Allocator): void;
|
|
12
16
|
}
|
|
13
17
|
export declare class IntMemView extends BaseMemoryView<bigint, IntType> {
|
|
14
18
|
decode(state: Memory): bigint | DecodingFailure;
|
|
19
|
+
encode(value: bigint, state: Memory): void;
|
|
15
20
|
}
|
|
16
21
|
export declare class AddressMemView extends BaseMemoryView<Address, AddressType> {
|
|
17
22
|
decode(state: Memory): Address | DecodingFailure;
|
|
23
|
+
encode(value: Address, state: Memory): void;
|
|
18
24
|
}
|
|
19
25
|
export declare class BoolMemView extends BaseMemoryView<boolean, BoolType> {
|
|
20
26
|
decode(state: Memory): boolean | DecodingFailure;
|
|
27
|
+
encode(value: boolean, state: Memory): void;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* We need a special SingleByteMemView for FixedBytesMemView's indexView() method.
|
|
31
|
+
* We cannot just re-use FixedBytesMemView, since even for a single byte, that will
|
|
32
|
+
* write 32 bytes with padded zeroes.
|
|
33
|
+
*/
|
|
34
|
+
export declare class SingleByteMemView extends BaseMemoryView<number, FixedBytesType> {
|
|
35
|
+
constructor(loc: bigint);
|
|
36
|
+
decode(state: Memory): number | DecodingFailure;
|
|
37
|
+
encode(value: number, state: Memory): void;
|
|
21
38
|
}
|
|
22
|
-
export declare class FixedBytesMemView extends BaseMemoryView<Uint8Array, FixedBytesType> {
|
|
39
|
+
export declare class FixedBytesMemView extends BaseMemoryView<Uint8Array, FixedBytesType> implements IndexableView<bigint, Memory, SingleByteMemView> {
|
|
23
40
|
decode(state: Memory): Uint8Array | DecodingFailure;
|
|
41
|
+
encode(value: Uint8Array<ArrayBufferLike>, state: Memory): void;
|
|
42
|
+
indexView(key: bigint): DecodingFailure | SingleByteMemView;
|
|
43
|
+
}
|
|
44
|
+
export declare abstract class PackedArrayMemView<V extends Value, T extends TypeNode> extends BaseMemoryView<V, T> {
|
|
45
|
+
protected decodeBytesAt(loc: bigint, state: Memory): Uint8Array | DecodingFailure;
|
|
46
|
+
protected encodeBytesAt(value: Uint8Array, off: bigint, state: Memory): void;
|
|
24
47
|
}
|
|
25
|
-
export declare class BytesMemView extends
|
|
48
|
+
export declare class BytesMemView extends PackedArrayMemView<Uint8Array, BytesType> implements IndexableView<bigint, Memory, SingleByteMemView> {
|
|
26
49
|
decode(state: Memory): Uint8Array | DecodingFailure;
|
|
50
|
+
encode(value: Uint8Array, state: Memory): void;
|
|
51
|
+
indexView(key: bigint, state: Memory): DecodingFailure | SingleByteMemView;
|
|
27
52
|
}
|
|
28
|
-
export declare class StringMemView extends
|
|
53
|
+
export declare class StringMemView extends PackedArrayMemView<string, StringType> {
|
|
29
54
|
decode(state: Memory): string | DecodingFailure;
|
|
55
|
+
encode(value: string, state: Memory): void;
|
|
30
56
|
}
|
|
31
|
-
export declare class ArrayMemView extends BaseMemoryView<Value[], ArrayType> {
|
|
57
|
+
export declare class ArrayMemView extends BaseMemoryView<Value[], ArrayType> implements IndexableView<bigint, Memory, BaseMemoryView<Value, TypeNode>> {
|
|
32
58
|
decode(state: Memory): Value[] | DecodingFailure;
|
|
59
|
+
encode(value: Value[], state: Memory, alloc: Allocator): void;
|
|
60
|
+
indexView(key: bigint, state: Memory): BaseMemoryView<Value, TypeNode> | DecodingFailure;
|
|
33
61
|
}
|
|
34
|
-
export declare class StructMemView extends BaseMemoryView<Struct, ExpStructType> {
|
|
62
|
+
export declare class StructMemView extends BaseMemoryView<Struct, ExpStructType> implements StructView<Memory, BaseMemoryView<Value, TypeNode>> {
|
|
35
63
|
decode(state: Memory): Struct;
|
|
64
|
+
encode(value: Struct, state: Memory, alloc: Allocator): void;
|
|
65
|
+
fieldView(name: string): BaseMemoryView<Value, TypeNode> | DecodingFailure;
|
|
36
66
|
}
|
|
37
|
-
export declare class PointerMemView extends BaseMemoryView<Value, PointerType> {
|
|
67
|
+
export declare class PointerMemView extends BaseMemoryView<Value, PointerType> implements PointerView<Memory, BaseMemoryView<Value, TypeNode>> {
|
|
38
68
|
decode(state: Memory): Value | DecodingFailure;
|
|
69
|
+
/**
|
|
70
|
+
* Helper to compute how much memory we need to allocate for a pointed-to value of type t
|
|
71
|
+
*/
|
|
72
|
+
static allocSize(v: Value | undefined, t: TypeNode): number;
|
|
73
|
+
encode(value: Value, state: Memory, alloc: Allocator): void;
|
|
74
|
+
toView(state: Memory): BaseMemoryView<Value, TypeNode> | DecodingFailure;
|
|
39
75
|
}
|
|
40
76
|
export declare class MissingMemView extends BaseMemoryView<Value, MissingType> {
|
|
41
77
|
decode(): DecodingFailure;
|
|
78
|
+
encode(): void;
|
|
42
79
|
}
|
|
43
80
|
export declare function makeMemoryView(type: TypeNode, loc: bigint): BaseMemoryView<Value, TypeNode>;
|
|
44
81
|
//# sourceMappingURL=view.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../../src/debug/decoding/memory/view.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,WAAW,EACX,SAAS,
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../../src/debug/decoding/memory/view.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.MissingMemView = exports.PointerMemView = exports.StructMemView = exports.ArrayMemView = exports.StringMemView = exports.BytesMemView = exports.FixedBytesMemView = exports.BoolMemView = exports.AddressMemView = exports.IntMemView = exports.BaseMemoryView = void 0;
|
|
3
|
+
exports.MissingMemView = exports.PointerMemView = exports.StructMemView = exports.ArrayMemView = exports.StringMemView = exports.BytesMemView = exports.PackedArrayMemView = exports.FixedBytesMemView = exports.SingleByteMemView = exports.BoolMemView = exports.AddressMemView = exports.IntMemView = exports.BaseMemoryView = void 0;
|
|
4
4
|
exports.makeMemoryView = makeMemoryView;
|
|
5
5
|
const solc_typed_ast_1 = require("solc-typed-ast");
|
|
6
6
|
const view_1 = require("../view");
|
|
@@ -9,7 +9,14 @@ const utils_1 = require("../../../utils");
|
|
|
9
9
|
const util_1 = require("@ethereumjs/util");
|
|
10
10
|
const exp_types_1 = require("../exp_types");
|
|
11
11
|
const utils_2 = require("../utils");
|
|
12
|
+
const utils_3 = require("ethereum-cryptography/utils");
|
|
12
13
|
class BaseMemoryView extends view_1.View {
|
|
14
|
+
writeMemAt(value, off, mem) {
|
|
15
|
+
if (off < 0n || off + BigInt(value.length) > BigInt(mem.length)) {
|
|
16
|
+
throw new view_1.EncodingError(`OoB writing mem at ${off} of length ${value.length} in memory of size ${mem.length}`);
|
|
17
|
+
}
|
|
18
|
+
mem.set(value, Number(off));
|
|
19
|
+
}
|
|
13
20
|
readMemAt(off, calldata, len) {
|
|
14
21
|
const res = (0, utils_1.readMem)(off, len, calldata);
|
|
15
22
|
if (!res) {
|
|
@@ -35,25 +42,27 @@ class BaseMemoryView extends view_1.View {
|
|
|
35
42
|
}
|
|
36
43
|
return res;
|
|
37
44
|
}
|
|
38
|
-
decodeBytesAt(loc, state) {
|
|
39
|
-
const len = this.decodeIntAt(loc, utils_1.uint256, state);
|
|
40
|
-
if ((0, utils_2.isFailure)(len)) {
|
|
41
|
-
return len;
|
|
42
|
-
}
|
|
43
|
-
if (len >= utils_1.MAX_ARR_DECODE_LIMIT) {
|
|
44
|
-
return new value_1.DecodingFailure(`Bytes to decode too large - ${len}`);
|
|
45
|
-
}
|
|
46
|
-
return this.readMemAt(loc + 32n, state, len);
|
|
47
|
-
}
|
|
48
45
|
pp() {
|
|
49
46
|
return `<${this.type.pp()}@${this.loc} in memory>`;
|
|
50
47
|
}
|
|
48
|
+
get offset() {
|
|
49
|
+
return this.loc;
|
|
50
|
+
}
|
|
51
|
+
encodeIntAt(value, off, state) {
|
|
52
|
+
const word = new Uint8Array(32);
|
|
53
|
+
// Note nBytes is always 32 - an int always takes up the full word
|
|
54
|
+
(0, utils_1.encodeBigintInBigEndianBuf)(value, word, 32, 32);
|
|
55
|
+
this.writeMemAt(word, off, state);
|
|
56
|
+
}
|
|
51
57
|
}
|
|
52
58
|
exports.BaseMemoryView = BaseMemoryView;
|
|
53
59
|
class IntMemView extends BaseMemoryView {
|
|
54
60
|
decode(state) {
|
|
55
61
|
return this.decodeIntAt(this.loc, this.type, state);
|
|
56
62
|
}
|
|
63
|
+
encode(value, state) {
|
|
64
|
+
this.encodeIntAt(value, this.loc, state);
|
|
65
|
+
}
|
|
57
66
|
}
|
|
58
67
|
exports.IntMemView = IntMemView;
|
|
59
68
|
class AddressMemView extends BaseMemoryView {
|
|
@@ -61,32 +70,108 @@ class AddressMemView extends BaseMemoryView {
|
|
|
61
70
|
const m = this.readMemAt(this.loc + 12n, state, 20);
|
|
62
71
|
return (0, utils_2.isFailure)(m) ? m : new util_1.Address(m);
|
|
63
72
|
}
|
|
73
|
+
encode(value, state) {
|
|
74
|
+
// We write a full word to make sure the lower bytes are 0-ed out
|
|
75
|
+
const w = new Uint8Array(32);
|
|
76
|
+
w.set(value.bytes, 12);
|
|
77
|
+
this.writeMemAt(w, this.loc, state);
|
|
78
|
+
}
|
|
64
79
|
}
|
|
65
80
|
exports.AddressMemView = AddressMemView;
|
|
81
|
+
const ONE_BYTES32 = new Uint8Array(32);
|
|
82
|
+
ONE_BYTES32[31] = 1;
|
|
66
83
|
class BoolMemView extends BaseMemoryView {
|
|
67
84
|
decode(state) {
|
|
68
85
|
const m = this.readMemAt(this.loc, state, 32);
|
|
69
86
|
return (0, utils_2.isFailure)(m) ? m : (0, utils_1.bigEndianBufToBigint)(m) !== 0n;
|
|
70
87
|
}
|
|
88
|
+
encode(value, state) {
|
|
89
|
+
this.writeMemAt(value ? ONE_BYTES32 : utils_1.ZERO_BYTES32, this.loc, state);
|
|
90
|
+
}
|
|
71
91
|
}
|
|
72
92
|
exports.BoolMemView = BoolMemView;
|
|
93
|
+
/**
|
|
94
|
+
* We need a special SingleByteMemView for FixedBytesMemView's indexView() method.
|
|
95
|
+
* We cannot just re-use FixedBytesMemView, since even for a single byte, that will
|
|
96
|
+
* write 32 bytes with padded zeroes.
|
|
97
|
+
*/
|
|
98
|
+
class SingleByteMemView extends BaseMemoryView {
|
|
99
|
+
constructor(loc) {
|
|
100
|
+
super(solc_typed_ast_1.types.byte, loc);
|
|
101
|
+
}
|
|
102
|
+
decode(state) {
|
|
103
|
+
if (this.loc < 0 || this.loc > state.length) {
|
|
104
|
+
return new value_1.DecodingFailure(`OoB byte access at ${this.loc}`);
|
|
105
|
+
}
|
|
106
|
+
return state[Number(this.loc)];
|
|
107
|
+
}
|
|
108
|
+
encode(value, state) {
|
|
109
|
+
const w = new Uint8Array([value]);
|
|
110
|
+
this.writeMemAt(w, this.loc, state);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
exports.SingleByteMemView = SingleByteMemView;
|
|
73
114
|
class FixedBytesMemView extends BaseMemoryView {
|
|
74
115
|
decode(state) {
|
|
75
116
|
return this.readMemAt(this.loc, state, this.type.size);
|
|
76
117
|
}
|
|
118
|
+
encode(value, state) {
|
|
119
|
+
const w = new Uint8Array(32);
|
|
120
|
+
w.set(value);
|
|
121
|
+
this.writeMemAt(w, this.loc, state);
|
|
122
|
+
}
|
|
123
|
+
indexView(key) {
|
|
124
|
+
if (key >= this.type.size || key < 0n) {
|
|
125
|
+
return new value_1.DecodingFailure(`Invalid index ${key} in ${this.type.pp()}`);
|
|
126
|
+
}
|
|
127
|
+
return new SingleByteMemView(this.loc + key);
|
|
128
|
+
}
|
|
77
129
|
}
|
|
78
130
|
exports.FixedBytesMemView = FixedBytesMemView;
|
|
79
|
-
class
|
|
131
|
+
class PackedArrayMemView extends BaseMemoryView {
|
|
132
|
+
decodeBytesAt(loc, state) {
|
|
133
|
+
const len = this.decodeIntAt(loc, utils_1.uint256, state);
|
|
134
|
+
if ((0, utils_2.isFailure)(len)) {
|
|
135
|
+
return len;
|
|
136
|
+
}
|
|
137
|
+
if (len >= utils_1.MAX_ARR_DECODE_LIMIT) {
|
|
138
|
+
return new value_1.DecodingFailure(`Bytes to decode too large - ${len}`);
|
|
139
|
+
}
|
|
140
|
+
return this.readMemAt(loc + 32n, state, len);
|
|
141
|
+
}
|
|
142
|
+
encodeBytesAt(value, off, state) {
|
|
143
|
+
this.encodeIntAt(BigInt(value.length), off, state);
|
|
144
|
+
this.writeMemAt(value, off + 32n, state);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
exports.PackedArrayMemView = PackedArrayMemView;
|
|
148
|
+
class BytesMemView extends PackedArrayMemView {
|
|
80
149
|
decode(state) {
|
|
81
150
|
return this.decodeBytesAt(this.loc, state);
|
|
82
151
|
}
|
|
152
|
+
encode(value, state) {
|
|
153
|
+
this.encodeBytesAt(value, this.loc, state);
|
|
154
|
+
}
|
|
155
|
+
indexView(key, state) {
|
|
156
|
+
const len = this.decodeIntAt(this.loc, utils_1.uint256, state);
|
|
157
|
+
if ((0, utils_2.isFailure)(len)) {
|
|
158
|
+
return len;
|
|
159
|
+
}
|
|
160
|
+
if (key >= len || key < 0n) {
|
|
161
|
+
return new value_1.DecodingFailure(`Invalid index ${key} in bytes of size ${len}`);
|
|
162
|
+
}
|
|
163
|
+
return new SingleByteMemView(this.loc + 32n + key);
|
|
164
|
+
}
|
|
83
165
|
}
|
|
84
166
|
exports.BytesMemView = BytesMemView;
|
|
85
|
-
class StringMemView extends
|
|
167
|
+
class StringMemView extends PackedArrayMemView {
|
|
86
168
|
decode(state) {
|
|
87
169
|
const bytes = this.decodeBytesAt(this.loc, state);
|
|
88
170
|
return (0, utils_2.isFailure)(bytes) ? bytes : (0, util_1.bytesToUtf8)(bytes);
|
|
89
171
|
}
|
|
172
|
+
encode(value, state) {
|
|
173
|
+
this.encodeBytesAt((0, utils_3.utf8ToBytes)(value), this.loc, state);
|
|
174
|
+
}
|
|
90
175
|
}
|
|
91
176
|
exports.StringMemView = StringMemView;
|
|
92
177
|
class ArrayMemView extends BaseMemoryView {
|
|
@@ -115,6 +200,36 @@ class ArrayMemView extends BaseMemoryView {
|
|
|
115
200
|
}
|
|
116
201
|
return res;
|
|
117
202
|
}
|
|
203
|
+
encode(value, state, alloc) {
|
|
204
|
+
let off = this.loc;
|
|
205
|
+
if (this.type.size === undefined) {
|
|
206
|
+
this.encodeIntAt(BigInt(value.length), off, state);
|
|
207
|
+
off += 32n;
|
|
208
|
+
}
|
|
209
|
+
for (const v of value) {
|
|
210
|
+
const view = makeMemoryView(this.type.elementT, off);
|
|
211
|
+
view.encode(v, state, alloc);
|
|
212
|
+
off += 32n;
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
indexView(key, state) {
|
|
216
|
+
let addr = this.loc;
|
|
217
|
+
let size;
|
|
218
|
+
if (this.type.size === undefined) {
|
|
219
|
+
size = this.decodeIntAt(addr, utils_1.uint256, state);
|
|
220
|
+
if ((0, utils_2.isFailure)(size)) {
|
|
221
|
+
return size;
|
|
222
|
+
}
|
|
223
|
+
addr += 32n;
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
size = this.type.size;
|
|
227
|
+
}
|
|
228
|
+
if (key >= size || key < 0n) {
|
|
229
|
+
return new value_1.DecodingFailure(`Invalid index ${key} to array of size ${size}`);
|
|
230
|
+
}
|
|
231
|
+
return makeMemoryView(this.type.elementT, addr + key * 32n);
|
|
232
|
+
}
|
|
118
233
|
}
|
|
119
234
|
exports.ArrayMemView = ArrayMemView;
|
|
120
235
|
class StructMemView extends BaseMemoryView {
|
|
@@ -128,16 +243,68 @@ class StructMemView extends BaseMemoryView {
|
|
|
128
243
|
}
|
|
129
244
|
return new value_1.Struct(entries);
|
|
130
245
|
}
|
|
246
|
+
encode(value, state, alloc) {
|
|
247
|
+
let offset = this.loc;
|
|
248
|
+
(0, solc_typed_ast_1.assert)(value.entries.length === this.type.fields.length, `Mismatch in encoding struct`);
|
|
249
|
+
for (let i = 0; i < this.type.fields.length; i++) {
|
|
250
|
+
const [, type] = this.type.fields[i];
|
|
251
|
+
const view = makeMemoryView(type, offset);
|
|
252
|
+
view.encode(value.entries[i][1], state, alloc);
|
|
253
|
+
offset += 32n;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
fieldView(name) {
|
|
257
|
+
let offset = this.loc;
|
|
258
|
+
for (const [fieldName, type] of this.type.fields) {
|
|
259
|
+
if (fieldName === name) {
|
|
260
|
+
return makeMemoryView(type, offset);
|
|
261
|
+
}
|
|
262
|
+
offset += 32n;
|
|
263
|
+
}
|
|
264
|
+
return new value_1.DecodingFailure(`No such field ${name} on struct ${this.type.pp()}`);
|
|
265
|
+
}
|
|
131
266
|
}
|
|
132
267
|
exports.StructMemView = StructMemView;
|
|
133
268
|
class PointerMemView extends BaseMemoryView {
|
|
134
269
|
decode(state) {
|
|
270
|
+
const view = this.toView(state);
|
|
271
|
+
if ((0, utils_2.isFailure)(view)) {
|
|
272
|
+
return view;
|
|
273
|
+
}
|
|
274
|
+
return view.decode(state);
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Helper to compute how much memory we need to allocate for a pointed-to value of type t
|
|
278
|
+
*/
|
|
279
|
+
static allocSize(v, t) {
|
|
280
|
+
if (t instanceof solc_typed_ast_1.ArrayType) {
|
|
281
|
+
return (v.length * PointerMemView.allocSize(undefined, t.elementT) +
|
|
282
|
+
(t.size !== undefined ? 0 : 32));
|
|
283
|
+
}
|
|
284
|
+
if (t instanceof exp_types_1.ExpStructType) {
|
|
285
|
+
let size = 0;
|
|
286
|
+
for (let i = 0; i < t.fields.length; i++) {
|
|
287
|
+
size += PointerMemView.allocSize(v.entries[i][1], t.fields[i][1]);
|
|
288
|
+
}
|
|
289
|
+
return size;
|
|
290
|
+
}
|
|
291
|
+
if (t instanceof solc_typed_ast_1.PackedArrayType) {
|
|
292
|
+
return Buffer.from(v).length + 32;
|
|
293
|
+
}
|
|
294
|
+
return 32;
|
|
295
|
+
}
|
|
296
|
+
encode(value, state, alloc) {
|
|
297
|
+
const ptr = alloc.alloc(PointerMemView.allocSize(value, this.type.to));
|
|
298
|
+
this.encodeIntAt(ptr, this.loc, state);
|
|
299
|
+
const view = makeMemoryView(this.type.to, ptr);
|
|
300
|
+
view.encode(value, state, alloc);
|
|
301
|
+
}
|
|
302
|
+
toView(state) {
|
|
135
303
|
const offset = this.decodeIntAt(this.loc, utils_1.uint256, state);
|
|
136
304
|
if ((0, utils_2.isFailure)(offset)) {
|
|
137
305
|
return offset;
|
|
138
306
|
}
|
|
139
|
-
|
|
140
|
-
return view.decode(state);
|
|
307
|
+
return makeMemoryView(this.type.to, offset);
|
|
141
308
|
}
|
|
142
309
|
}
|
|
143
310
|
exports.PointerMemView = PointerMemView;
|
|
@@ -145,6 +312,9 @@ class MissingMemView extends BaseMemoryView {
|
|
|
145
312
|
decode() {
|
|
146
313
|
return new value_1.DecodingFailure(`${this.type.rawTypeName ? this.type.rawTypeName.type : "<unknown>"}`);
|
|
147
314
|
}
|
|
315
|
+
encode() {
|
|
316
|
+
throw new view_1.EncodingError(`Cannot encode missing type ${this.type.pp()}`);
|
|
317
|
+
}
|
|
148
318
|
}
|
|
149
319
|
exports.MissingMemView = MissingMemView;
|
|
150
320
|
function makeMemoryView(type, loc) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../../../src/debug/decoding/memory/view.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../../../src/debug/decoding/memory/view.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export
|
|
1
|
+
export * from "./view";
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/debug/decoding/stack/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/debug/decoding/stack/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC"}
|
|
@@ -1,6 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
2
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports
|
|
4
|
-
var view_1 = require("./view");
|
|
5
|
-
Object.defineProperty(exports, "makeStackView", { enumerable: true, get: function () { return view_1.makeStackView; } });
|
|
17
|
+
__exportStar(require("./view"), exports);
|
|
6
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/debug/decoding/stack/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/debug/decoding/stack/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB"}
|