sol-dbg 0.7.17 → 0.8.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.
- package/dist/debug/abi.d.ts +10 -3
- package/dist/debug/abi.d.ts.map +1 -1
- package/dist/debug/abi.js +5 -4
- package/dist/debug/abi.js.map +1 -1
- package/dist/debug/decoding/calldata/view.d.ts +15 -16
- package/dist/debug/decoding/calldata/view.d.ts.map +1 -1
- package/dist/debug/decoding/calldata/view.js +47 -47
- package/dist/debug/decoding/calldata/view.js.map +1 -1
- package/dist/debug/decoding/index.d.ts +1 -2
- package/dist/debug/decoding/index.d.ts.map +1 -1
- package/dist/debug/decoding/index.js +2 -2
- package/dist/debug/decoding/index.js.map +1 -1
- package/dist/debug/decoding/memory/view.d.ts +14 -15
- package/dist/debug/decoding/memory/view.d.ts.map +1 -1
- package/dist/debug/decoding/memory/view.js +27 -27
- package/dist/debug/decoding/memory/view.js.map +1 -1
- package/dist/debug/decoding/stack/view.d.ts +4 -4
- package/dist/debug/decoding/stack/view.d.ts.map +1 -1
- package/dist/debug/decoding/stack/view.js +20 -19
- package/dist/debug/decoding/stack/view.js.map +1 -1
- package/dist/debug/decoding/storage/view.d.ts +18 -19
- package/dist/debug/decoding/storage/view.d.ts.map +1 -1
- package/dist/debug/decoding/storage/view.js +67 -65
- package/dist/debug/decoding/storage/view.js.map +1 -1
- package/dist/debug/decoding/utils.d.ts +20 -2
- package/dist/debug/decoding/utils.d.ts.map +1 -1
- package/dist/debug/decoding/utils.js +119 -3
- package/dist/debug/decoding/utils.js.map +1 -1
- package/dist/debug/decoding/view.d.ts +2 -2
- package/dist/debug/decoding/view.d.ts.map +1 -1
- package/dist/debug/index.d.ts +1 -0
- package/dist/debug/index.d.ts.map +1 -1
- package/dist/debug/index.js +1 -0
- package/dist/debug/index.js.map +1 -1
- package/dist/debug/layout.d.ts.map +1 -1
- package/dist/debug/layout.js +2 -1
- package/dist/debug/layout.js.map +1 -1
- package/dist/debug/runtime_types/ast/address_type.d.ts +5 -0
- package/dist/debug/runtime_types/ast/address_type.d.ts.map +1 -0
- package/dist/debug/runtime_types/ast/address_type.js +11 -0
- package/dist/debug/runtime_types/ast/address_type.js.map +1 -0
- package/dist/debug/runtime_types/ast/array_type.d.ts +8 -0
- package/dist/debug/runtime_types/ast/array_type.d.ts.map +1 -0
- package/dist/debug/runtime_types/ast/array_type.js +16 -0
- package/dist/debug/runtime_types/ast/array_type.js.map +1 -0
- package/dist/debug/runtime_types/ast/base_type.d.ts +16 -0
- package/dist/debug/runtime_types/ast/base_type.d.ts.map +1 -0
- package/dist/debug/runtime_types/ast/base_type.js +19 -0
- package/dist/debug/runtime_types/ast/base_type.js.map +1 -0
- package/dist/debug/runtime_types/ast/bool_type.d.ts +5 -0
- package/dist/debug/runtime_types/ast/bool_type.d.ts.map +1 -0
- package/dist/debug/runtime_types/ast/bool_type.js +11 -0
- package/dist/debug/runtime_types/ast/bool_type.js.map +1 -0
- package/dist/debug/runtime_types/ast/bytes_type.d.ts +5 -0
- package/dist/debug/runtime_types/ast/bytes_type.d.ts.map +1 -0
- package/dist/debug/runtime_types/ast/bytes_type.js +11 -0
- package/dist/debug/runtime_types/ast/bytes_type.js.map +1 -0
- package/dist/debug/runtime_types/ast/fixed_bytes_type.d.ts +7 -0
- package/dist/debug/runtime_types/ast/fixed_bytes_type.d.ts.map +1 -0
- package/dist/debug/runtime_types/ast/fixed_bytes_type.js +15 -0
- package/dist/debug/runtime_types/ast/fixed_bytes_type.js.map +1 -0
- package/dist/debug/runtime_types/ast/function_type.d.ts +11 -0
- package/dist/debug/runtime_types/ast/function_type.d.ts.map +1 -0
- package/dist/debug/runtime_types/ast/function_type.js +22 -0
- package/dist/debug/runtime_types/ast/function_type.js.map +1 -0
- package/dist/debug/runtime_types/ast/index.d.ts +16 -0
- package/dist/debug/runtime_types/ast/index.d.ts.map +1 -0
- package/dist/debug/runtime_types/ast/index.js +32 -0
- package/dist/debug/runtime_types/ast/index.js.map +1 -0
- package/dist/debug/runtime_types/ast/int_type.d.ts +10 -0
- package/dist/debug/runtime_types/ast/int_type.d.ts.map +1 -0
- package/dist/debug/runtime_types/ast/int_type.js +24 -0
- package/dist/debug/runtime_types/ast/int_type.js.map +1 -0
- package/dist/debug/runtime_types/ast/mapping_type.d.ts +8 -0
- package/dist/debug/runtime_types/ast/mapping_type.d.ts.map +1 -0
- package/dist/debug/runtime_types/ast/mapping_type.js +16 -0
- package/dist/debug/runtime_types/ast/mapping_type.js.map +1 -0
- package/dist/debug/runtime_types/ast/missing_type.d.ts +11 -0
- package/dist/debug/runtime_types/ast/missing_type.d.ts.map +1 -0
- package/dist/debug/runtime_types/ast/missing_type.js +19 -0
- package/dist/debug/runtime_types/ast/missing_type.js.map +1 -0
- package/dist/debug/runtime_types/ast/pointer_type.d.ts +9 -0
- package/dist/debug/runtime_types/ast/pointer_type.d.ts.map +1 -0
- package/dist/debug/runtime_types/ast/pointer_type.js +51 -0
- package/dist/debug/runtime_types/ast/pointer_type.js.map +1 -0
- package/dist/debug/runtime_types/ast/string_type.d.ts +5 -0
- package/dist/debug/runtime_types/ast/string_type.d.ts.map +1 -0
- package/dist/debug/runtime_types/ast/string_type.js +11 -0
- package/dist/debug/runtime_types/ast/string_type.js.map +1 -0
- package/dist/debug/runtime_types/ast/struct_type.d.ts +8 -0
- package/dist/debug/runtime_types/ast/struct_type.d.ts.map +1 -0
- package/dist/debug/runtime_types/ast/struct_type.js +16 -0
- package/dist/debug/runtime_types/ast/struct_type.js.map +1 -0
- package/dist/debug/runtime_types/ast/tuple_type.d.ts +7 -0
- package/dist/debug/runtime_types/ast/tuple_type.d.ts.map +1 -0
- package/dist/debug/runtime_types/ast/tuple_type.js +15 -0
- package/dist/debug/runtime_types/ast/tuple_type.js.map +1 -0
- package/dist/debug/runtime_types/ast/type_type.d.ts +12 -0
- package/dist/debug/runtime_types/ast/type_type.d.ts.map +1 -0
- package/dist/debug/runtime_types/ast/type_type.js +19 -0
- package/dist/debug/runtime_types/ast/type_type.js.map +1 -0
- package/dist/debug/runtime_types/index.d.ts +3 -0
- package/dist/debug/runtime_types/index.d.ts.map +1 -0
- package/dist/debug/runtime_types/index.js +19 -0
- package/dist/debug/runtime_types/index.js.map +1 -0
- package/dist/debug/runtime_types/utils.d.ts +32 -0
- package/dist/debug/runtime_types/utils.d.ts.map +1 -0
- package/dist/debug/runtime_types/utils.js +213 -0
- package/dist/debug/runtime_types/utils.js.map +1 -0
- package/dist/debug/tracers/transformers/int_stack.d.ts.map +1 -1
- package/dist/debug/tracers/transformers/int_stack.js +4 -2
- package/dist/debug/tracers/transformers/int_stack.js.map +1 -1
- package/dist/debug/tracers/transformers/ret_info.js +2 -2
- package/dist/debug/tracers/transformers/ret_info.js.map +1 -1
- package/dist/utils/misc.d.ts +3 -1
- package/dist/utils/misc.d.ts.map +1 -1
- package/dist/utils/misc.js +11 -9
- package/dist/utils/misc.js.map +1 -1
- package/dist/utils/pp.d.ts.map +1 -1
- package/dist/utils/pp.js +13 -12
- package/dist/utils/pp.js.map +1 -1
- package/dist/utils/solidity.d.ts +1 -0
- package/dist/utils/solidity.d.ts.map +1 -1
- package/dist/utils/solidity.js +8 -0
- package/dist/utils/solidity.js.map +1 -1
- package/package.json +1 -1
- package/dist/debug/decoding/exp_types.d.ts +0 -46
- package/dist/debug/decoding/exp_types.d.ts.map +0 -1
- package/dist/debug/decoding/exp_types.js +0 -202
- package/dist/debug/decoding/exp_types.js.map +0 -1
|
@@ -1,14 +1,13 @@
|
|
|
1
|
-
import { AddressType, ArrayType, BoolType, BytesType, FixedBytesType, IntType, MappingType, PointerType, StringType, TypeNode } from "solc-typed-ast";
|
|
2
1
|
import { Memory } from "../../types";
|
|
3
2
|
import { ArrayLikeView, PointerView, StructView, View } from "../view";
|
|
4
3
|
import { DecodingFailure, Struct, Value } from "../value";
|
|
5
4
|
import { Address } from "@ethereumjs/util";
|
|
6
|
-
import { ExpStructType, MissingType } from "../exp_types";
|
|
7
5
|
import { Allocator } from "./allocator";
|
|
8
|
-
|
|
6
|
+
import { AddressType, ArrayType, BaseRuntimeType, BoolType, BytesType, FixedBytesType, IntType, MappingType, MissingType, PointerType, StringType, StructType } from "../../runtime_types";
|
|
7
|
+
interface ArrayLikeMemView<ValViewT extends BaseMemoryView<Value, BaseRuntimeType>> extends ArrayLikeView<Memory, ValViewT> {
|
|
9
8
|
}
|
|
10
|
-
export declare function isArrayLikeMemView(v: any): v is ArrayLikeMemView<BaseMemoryView<Value,
|
|
11
|
-
export declare abstract class BaseMemoryView<Val extends Value, Type extends
|
|
9
|
+
export declare function isArrayLikeMemView(v: any): v is ArrayLikeMemView<BaseMemoryView<Value, BaseRuntimeType>>;
|
|
10
|
+
export declare abstract class BaseMemoryView<Val extends Value, Type extends BaseRuntimeType = BaseRuntimeType> extends View<Memory, Val, bigint, Type> {
|
|
12
11
|
protected writeMemAt(value: Uint8Array, off: bigint, mem: Memory): void;
|
|
13
12
|
protected readMemAt(off: bigint, calldata: Memory, len: bigint | number): Uint8Array | DecodingFailure;
|
|
14
13
|
protected decodeIntAt(off: bigint, type: IntType, state: Memory): bigint | DecodingFailure;
|
|
@@ -45,7 +44,7 @@ export declare class FixedBytesMemView extends BaseMemoryView<Uint8Array, FixedB
|
|
|
45
44
|
indexView(key: bigint): DecodingFailure | SingleByteMemView;
|
|
46
45
|
size(): bigint;
|
|
47
46
|
}
|
|
48
|
-
export declare abstract class PackedArrayMemView<V extends Value, T extends
|
|
47
|
+
export declare abstract class PackedArrayMemView<V extends Value, T extends BaseRuntimeType> extends BaseMemoryView<V, T> {
|
|
49
48
|
protected decodeBytesAt(loc: bigint, state: Memory): Uint8Array | DecodingFailure;
|
|
50
49
|
protected encodeBytesAt(value: Uint8Array, off: bigint, state: Memory): void;
|
|
51
50
|
}
|
|
@@ -59,26 +58,26 @@ export declare class StringMemView extends PackedArrayMemView<string, StringType
|
|
|
59
58
|
decode(state: Memory): string | DecodingFailure;
|
|
60
59
|
encode(value: string, state: Memory): void;
|
|
61
60
|
}
|
|
62
|
-
export declare class ArrayMemView extends BaseMemoryView<Value[], ArrayType> implements ArrayLikeMemView<BaseMemoryView<Value,
|
|
61
|
+
export declare class ArrayMemView extends BaseMemoryView<Value[], ArrayType> implements ArrayLikeMemView<BaseMemoryView<Value, BaseRuntimeType>> {
|
|
63
62
|
decode(state: Memory): Value[] | DecodingFailure;
|
|
64
63
|
encode(value: Value[], state: Memory, alloc: Allocator): void;
|
|
65
|
-
indexView(key: bigint, state: Memory): BaseMemoryView<Value,
|
|
64
|
+
indexView(key: bigint, state: Memory): BaseMemoryView<Value, BaseRuntimeType> | DecodingFailure;
|
|
66
65
|
size(state: Memory): bigint | DecodingFailure;
|
|
67
66
|
}
|
|
68
|
-
export declare class StructMemView extends BaseMemoryView<Struct,
|
|
67
|
+
export declare class StructMemView extends BaseMemoryView<Struct, StructType> implements StructView<Memory, BaseMemoryView<Value, BaseRuntimeType>> {
|
|
69
68
|
decode(state: Memory): Struct;
|
|
70
69
|
encode(value: Struct, state: Memory, alloc: Allocator): void;
|
|
71
|
-
fieldView(name: string): BaseMemoryView<Value,
|
|
70
|
+
fieldView(name: string): BaseMemoryView<Value, BaseRuntimeType> | DecodingFailure;
|
|
72
71
|
}
|
|
73
|
-
export declare class PointerMemView extends BaseMemoryView<Value, PointerType> implements PointerView<Memory, BaseMemoryView<Value,
|
|
72
|
+
export declare class PointerMemView extends BaseMemoryView<Value, PointerType> implements PointerView<Memory, BaseMemoryView<Value, BaseRuntimeType>> {
|
|
74
73
|
decode(state: Memory): Value | DecodingFailure;
|
|
75
74
|
/**
|
|
76
75
|
* Helper to compute how much memory we need to allocate for a pointed-to value of type t
|
|
77
76
|
*/
|
|
78
|
-
static allocSize(v: Value | undefined, t:
|
|
79
|
-
static allocMemFor(val: Value | undefined, type:
|
|
77
|
+
static allocSize(v: Value | undefined, t: BaseRuntimeType): number;
|
|
78
|
+
static allocMemFor(val: Value | undefined, type: BaseRuntimeType, allocator: Allocator): BaseMemoryView<Value, typeof type>;
|
|
80
79
|
encode(value: Value, state: Memory, alloc: Allocator): void;
|
|
81
|
-
toView(state: Memory): BaseMemoryView<Value,
|
|
80
|
+
toView(state: Memory): BaseMemoryView<Value, BaseRuntimeType> | DecodingFailure;
|
|
82
81
|
}
|
|
83
82
|
export declare class MissingMemView extends BaseMemoryView<Value, MissingType> {
|
|
84
83
|
decode(): DecodingFailure;
|
|
@@ -88,6 +87,6 @@ export declare class MapMemView extends BaseMemoryView<Map<Value, Value>, Mappin
|
|
|
88
87
|
encode(): void;
|
|
89
88
|
decode(): Map<Value, Value>;
|
|
90
89
|
}
|
|
91
|
-
export declare function makeMemoryView(type:
|
|
90
|
+
export declare function makeMemoryView(type: BaseRuntimeType, loc: bigint): BaseMemoryView<Value, BaseRuntimeType>;
|
|
92
91
|
export {};
|
|
93
92
|
//# sourceMappingURL=view.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../../src/debug/decoding/memory/view.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../../src/debug/decoding/memory/view.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,9 +8,9 @@ const view_1 = require("../view");
|
|
|
8
8
|
const value_1 = require("../value");
|
|
9
9
|
const utils_1 = require("../../../utils");
|
|
10
10
|
const util_1 = require("@ethereumjs/util");
|
|
11
|
-
const exp_types_1 = require("../exp_types");
|
|
12
11
|
const utils_2 = require("../utils");
|
|
13
12
|
const utils_3 = require("ethereum-cryptography/utils");
|
|
13
|
+
const runtime_types_1 = require("../../runtime_types");
|
|
14
14
|
function isArrayLikeMemView(v) {
|
|
15
15
|
return v instanceof FixedBytesMemView || v instanceof ArrayMemView || v instanceof BytesMemView;
|
|
16
16
|
}
|
|
@@ -36,10 +36,10 @@ class BaseMemoryView extends view_1.View {
|
|
|
36
36
|
}
|
|
37
37
|
let res = (0, utils_1.bigEndianBufToBigint)(bytes);
|
|
38
38
|
// Convert signed negative 2's complement values
|
|
39
|
-
if (type.signed && (res & (BigInt(1) << BigInt(type.
|
|
39
|
+
if (type.signed && (res & (BigInt(1) << BigInt(type.numBits - 1))) !== BigInt(0)) {
|
|
40
40
|
// Mask out any 1's above the number's size
|
|
41
|
-
res = res & ((BigInt(1) << BigInt(type.
|
|
42
|
-
res = -((BigInt(1) << BigInt(type.
|
|
41
|
+
res = res & ((BigInt(1) << BigInt(type.numBits)) - BigInt(1));
|
|
42
|
+
res = -((BigInt(1) << BigInt(type.numBits)) - res);
|
|
43
43
|
}
|
|
44
44
|
if (!(0, utils_1.fits)(res, type)) {
|
|
45
45
|
return new value_1.DecodingFailure(`Decoded value ${res} doesn't fit in expected type ${type.pp()}`);
|
|
@@ -101,7 +101,7 @@ exports.BoolMemView = BoolMemView;
|
|
|
101
101
|
*/
|
|
102
102
|
class SingleByteMemView extends BaseMemoryView {
|
|
103
103
|
constructor(loc) {
|
|
104
|
-
super(
|
|
104
|
+
super(utils_1.byte, loc);
|
|
105
105
|
}
|
|
106
106
|
decode(state) {
|
|
107
107
|
if (!(0, utils_2.inRange)(this.loc, 0, state.length)) {
|
|
@@ -120,7 +120,7 @@ class SingleByteMemView extends BaseMemoryView {
|
|
|
120
120
|
exports.SingleByteMemView = SingleByteMemView;
|
|
121
121
|
class FixedBytesMemView extends BaseMemoryView {
|
|
122
122
|
decode(state) {
|
|
123
|
-
return this.readMemAt(this.loc, state, this.type.
|
|
123
|
+
return this.readMemAt(this.loc, state, this.type.numBytes);
|
|
124
124
|
}
|
|
125
125
|
encode(value, state) {
|
|
126
126
|
const w = new Uint8Array(32);
|
|
@@ -128,13 +128,13 @@ class FixedBytesMemView extends BaseMemoryView {
|
|
|
128
128
|
this.writeMemAt(w, this.loc, state);
|
|
129
129
|
}
|
|
130
130
|
indexView(key) {
|
|
131
|
-
if (key >= this.type.
|
|
131
|
+
if (key >= this.type.numBytes || key < 0n) {
|
|
132
132
|
return new value_1.DecodingFailure(`Invalid index ${key} in ${this.type.pp()}`);
|
|
133
133
|
}
|
|
134
134
|
return new SingleByteMemView(this.loc + key);
|
|
135
135
|
}
|
|
136
136
|
size() {
|
|
137
|
-
return BigInt(this.type.
|
|
137
|
+
return BigInt(this.type.numBytes);
|
|
138
138
|
}
|
|
139
139
|
}
|
|
140
140
|
exports.FixedBytesMemView = FixedBytesMemView;
|
|
@@ -296,19 +296,19 @@ class PointerMemView extends BaseMemoryView {
|
|
|
296
296
|
* Helper to compute how much memory we need to allocate for a pointed-to value of type t
|
|
297
297
|
*/
|
|
298
298
|
static allocSize(v, t) {
|
|
299
|
-
if (t instanceof
|
|
299
|
+
if (t instanceof runtime_types_1.ArrayType) {
|
|
300
300
|
if (t.size !== undefined) {
|
|
301
301
|
return (0, utils_1.bigIntToNum)(t.size * 32n);
|
|
302
302
|
}
|
|
303
303
|
return v.length * 32 + 32;
|
|
304
304
|
}
|
|
305
|
-
if (t instanceof
|
|
305
|
+
if (t instanceof runtime_types_1.StructType) {
|
|
306
306
|
return t.fields.length * 32;
|
|
307
307
|
}
|
|
308
|
-
if (t instanceof
|
|
308
|
+
if (t instanceof runtime_types_1.StringType || t instanceof runtime_types_1.BytesType) {
|
|
309
309
|
return (0, utils_1.roundUpToWordSize)(Buffer.from(v).length) + 32;
|
|
310
310
|
}
|
|
311
|
-
if (t instanceof
|
|
311
|
+
if (t instanceof runtime_types_1.MappingType) {
|
|
312
312
|
// Nothing gets allocated in memory for a Map
|
|
313
313
|
return 0;
|
|
314
314
|
}
|
|
@@ -321,13 +321,13 @@ class PointerMemView extends BaseMemoryView {
|
|
|
321
321
|
}
|
|
322
322
|
encode(value, state, alloc) {
|
|
323
323
|
if (value instanceof BaseMemoryView) {
|
|
324
|
-
if (value.type.pp() !== this.type.
|
|
324
|
+
if (value.type.pp() !== this.type.toType.pp()) {
|
|
325
325
|
throw new view_1.EncodingError(`Cannot assign a pointer from incompatible type ${value.type.pp()} to ${this.pp()}`);
|
|
326
326
|
}
|
|
327
327
|
this.encodeIntAt(value.offset, this.loc, state);
|
|
328
328
|
return;
|
|
329
329
|
}
|
|
330
|
-
const toView = PointerMemView.allocMemFor(value, this.type.
|
|
330
|
+
const toView = PointerMemView.allocMemFor(value, this.type.toType, alloc);
|
|
331
331
|
toView.encode(value, state, alloc);
|
|
332
332
|
this.encodeIntAt(toView.offset, this.loc, state);
|
|
333
333
|
}
|
|
@@ -336,13 +336,13 @@ class PointerMemView extends BaseMemoryView {
|
|
|
336
336
|
if ((0, utils_2.isFailure)(offset)) {
|
|
337
337
|
return offset;
|
|
338
338
|
}
|
|
339
|
-
return makeMemoryView(this.type.
|
|
339
|
+
return makeMemoryView(this.type.toType, offset);
|
|
340
340
|
}
|
|
341
341
|
}
|
|
342
342
|
exports.PointerMemView = PointerMemView;
|
|
343
343
|
class MissingMemView extends BaseMemoryView {
|
|
344
344
|
decode() {
|
|
345
|
-
return new value_1.DecodingFailure(`${this.type.
|
|
345
|
+
return new value_1.DecodingFailure(`${this.type.typeString ? this.type.typeString : "<unknown>"}`);
|
|
346
346
|
}
|
|
347
347
|
encode() {
|
|
348
348
|
throw new view_1.EncodingError(`Cannot encode missing type ${this.type.pp()}`);
|
|
@@ -362,37 +362,37 @@ class MapMemView extends BaseMemoryView {
|
|
|
362
362
|
}
|
|
363
363
|
exports.MapMemView = MapMemView;
|
|
364
364
|
function makeMemoryView(type, loc) {
|
|
365
|
-
if (type instanceof
|
|
365
|
+
if (type instanceof runtime_types_1.IntType) {
|
|
366
366
|
return new IntMemView(type, loc);
|
|
367
367
|
}
|
|
368
|
-
if (type instanceof
|
|
368
|
+
if (type instanceof runtime_types_1.BoolType) {
|
|
369
369
|
return new BoolMemView(type, loc);
|
|
370
370
|
}
|
|
371
|
-
if (type instanceof
|
|
371
|
+
if (type instanceof runtime_types_1.AddressType) {
|
|
372
372
|
return new AddressMemView(type, loc);
|
|
373
373
|
}
|
|
374
|
-
if (type instanceof
|
|
374
|
+
if (type instanceof runtime_types_1.FixedBytesType) {
|
|
375
375
|
return new FixedBytesMemView(type, loc);
|
|
376
376
|
}
|
|
377
|
-
if (type instanceof
|
|
377
|
+
if (type instanceof runtime_types_1.StructType) {
|
|
378
378
|
return new StructMemView(type, loc);
|
|
379
379
|
}
|
|
380
|
-
if (type instanceof
|
|
380
|
+
if (type instanceof runtime_types_1.BytesType) {
|
|
381
381
|
return new BytesMemView(type, loc);
|
|
382
382
|
}
|
|
383
|
-
if (type instanceof
|
|
383
|
+
if (type instanceof runtime_types_1.StringType) {
|
|
384
384
|
return new StringMemView(type, loc);
|
|
385
385
|
}
|
|
386
|
-
if (type instanceof
|
|
386
|
+
if (type instanceof runtime_types_1.ArrayType) {
|
|
387
387
|
return new ArrayMemView(type, loc);
|
|
388
388
|
}
|
|
389
|
-
if (type instanceof
|
|
389
|
+
if (type instanceof runtime_types_1.PointerType) {
|
|
390
390
|
return new PointerMemView(type, loc);
|
|
391
391
|
}
|
|
392
|
-
if (type instanceof
|
|
392
|
+
if (type instanceof runtime_types_1.MappingType) {
|
|
393
393
|
return new MapMemView(type, loc);
|
|
394
394
|
}
|
|
395
|
-
if (type instanceof
|
|
395
|
+
if (type instanceof runtime_types_1.MissingType) {
|
|
396
396
|
return new MissingMemView(type, loc);
|
|
397
397
|
}
|
|
398
398
|
(0, utils_1.nyi)(`makeMemoryView(${type.pp()})`);
|
|
@@ -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,9 +1,9 @@
|
|
|
1
|
-
import { AddressType, BoolType, FixedBytesType, IntType, PointerType, TypeNode } from "solc-typed-ast";
|
|
2
1
|
import { Stack } from "../../types";
|
|
3
2
|
import { DecodingFailure, Value } from "../value";
|
|
4
3
|
import { ArrayLikeView, View } from "../view";
|
|
5
4
|
import { Address } from "@ethereumjs/util";
|
|
6
|
-
|
|
5
|
+
import { AddressType, BaseRuntimeType, BoolType, FixedBytesType, IntType, PointerType } from "../../runtime_types";
|
|
6
|
+
export declare abstract class BaseStackView<Val extends Value, Type extends BaseRuntimeType> extends View<Stack, Val, number, Type> {
|
|
7
7
|
fetchStackWord(offsetFromTop: number, state: Stack): Uint8Array | DecodingFailure;
|
|
8
8
|
decodeIntAt(offsetFromTop: number, typ: IntType, state: Stack): bigint | DecodingFailure;
|
|
9
9
|
pp(): string;
|
|
@@ -34,11 +34,11 @@ export declare class FixedBytesStackView extends BaseStackView<Uint8Array, Fixed
|
|
|
34
34
|
size(): bigint | DecodingFailure;
|
|
35
35
|
indexView(key: bigint): DecodingFailure | SingleByteStackView;
|
|
36
36
|
}
|
|
37
|
-
type PointerValue = View<any, Value, any,
|
|
37
|
+
type PointerValue = View<any, Value, any, BaseRuntimeType>;
|
|
38
38
|
export declare class PointerStackView extends BaseStackView<PointerValue, PointerType> {
|
|
39
39
|
decode(state: Stack): PointerValue | DecodingFailure;
|
|
40
40
|
encode(value: PointerValue, state: Stack): void;
|
|
41
41
|
}
|
|
42
|
-
export declare function makeStackView(type:
|
|
42
|
+
export declare function makeStackView(type: BaseRuntimeType, loc: number): BaseStackView<Value, BaseRuntimeType>;
|
|
43
43
|
export {};
|
|
44
44
|
//# sourceMappingURL=view.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../../src/debug/decoding/stack/view.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../../src/debug/decoding/stack/view.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PointerStackView = exports.FixedBytesStackView = exports.SingleByteStackView = exports.AddressStackView = exports.BoolStackView = exports.IntStackView = exports.BaseStackView = void 0;
|
|
4
4
|
exports.makeStackView = makeStackView;
|
|
5
|
-
const solc_typed_ast_1 = require("solc-typed-ast");
|
|
6
5
|
const value_1 = require("../value");
|
|
7
6
|
const view_1 = require("../view");
|
|
8
7
|
const utils_1 = require("../../../utils");
|
|
9
8
|
const storage_1 = require("../storage");
|
|
10
9
|
const utils_2 = require("../utils");
|
|
11
10
|
const view_2 = require("../calldata/view");
|
|
12
|
-
const memory_1 = require("../memory");
|
|
13
11
|
const view_3 = require("../storage/view");
|
|
14
12
|
const view_4 = require("../memory/view");
|
|
13
|
+
const runtime_types_1 = require("../../runtime_types");
|
|
14
|
+
const solc_typed_ast_1 = require("solc-typed-ast");
|
|
15
15
|
class BaseStackView extends view_1.View {
|
|
16
16
|
fetchStackWord(offsetFromTop, state) {
|
|
17
17
|
const len = state.length;
|
|
@@ -27,10 +27,10 @@ class BaseStackView extends view_1.View {
|
|
|
27
27
|
}
|
|
28
28
|
let res = (0, utils_1.bigEndianBufToBigint)(word);
|
|
29
29
|
// Convert signed negative 2's complement values
|
|
30
|
-
if (typ.signed && (res & (BigInt(1) << BigInt(typ.
|
|
30
|
+
if (typ.signed && (res & (BigInt(1) << BigInt(typ.numBits - 1))) !== BigInt(0)) {
|
|
31
31
|
// Mask out any 1's above the number's size
|
|
32
|
-
res = res & ((BigInt(1) << BigInt(typ.
|
|
33
|
-
res = -((BigInt(1) << BigInt(typ.
|
|
32
|
+
res = res & ((BigInt(1) << BigInt(typ.numBits)) - BigInt(1));
|
|
33
|
+
res = -((BigInt(1) << BigInt(typ.numBits)) - res);
|
|
34
34
|
}
|
|
35
35
|
if (!(0, utils_1.fits)(res, typ)) {
|
|
36
36
|
return new value_1.DecodingFailure(`${res} doesnt fit in type ${typ.pp()}`);
|
|
@@ -44,7 +44,7 @@ class BaseStackView extends view_1.View {
|
|
|
44
44
|
if (state.length <= offsetFromTop) {
|
|
45
45
|
throw new view_1.EncodingError(`OoB access at ${offsetFromTop} in stack`);
|
|
46
46
|
}
|
|
47
|
-
(0, utils_1.encodeBigintInBigEndianBuf)(value, state[offsetFromTop], type.
|
|
47
|
+
(0, utils_1.encodeBigintInBigEndianBuf)(value, state[offsetFromTop], type.numBits / 8);
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
50
|
exports.BaseStackView = BaseStackView;
|
|
@@ -83,7 +83,7 @@ class AddressStackView extends BaseStackView {
|
|
|
83
83
|
exports.AddressStackView = AddressStackView;
|
|
84
84
|
class SingleByteStackView extends BaseStackView {
|
|
85
85
|
constructor(loc, byteOffset) {
|
|
86
|
-
super(
|
|
86
|
+
super(utils_1.byte, loc);
|
|
87
87
|
this.byteOffset = byteOffset;
|
|
88
88
|
}
|
|
89
89
|
decode(state) {
|
|
@@ -105,7 +105,7 @@ exports.SingleByteStackView = SingleByteStackView;
|
|
|
105
105
|
class FixedBytesStackView extends BaseStackView {
|
|
106
106
|
decode(state) {
|
|
107
107
|
const w = this.fetchStackWord(this.loc, state);
|
|
108
|
-
return (0, utils_2.isFailure)(w) ? w : w.slice(0, this.type.
|
|
108
|
+
return (0, utils_2.isFailure)(w) ? w : w.slice(0, this.type.numBytes);
|
|
109
109
|
}
|
|
110
110
|
encode(value, state) {
|
|
111
111
|
const w = this.fetchStackWord(this.loc, state);
|
|
@@ -115,10 +115,10 @@ class FixedBytesStackView extends BaseStackView {
|
|
|
115
115
|
w.set(value);
|
|
116
116
|
}
|
|
117
117
|
size() {
|
|
118
|
-
return BigInt(this.type.
|
|
118
|
+
return BigInt(this.type.numBytes);
|
|
119
119
|
}
|
|
120
120
|
indexView(key) {
|
|
121
|
-
if (!(0, utils_2.inRange)(key, 0, this.type.
|
|
121
|
+
if (!(0, utils_2.inRange)(key, 0, this.type.numBytes - 1)) {
|
|
122
122
|
return new value_1.DecodingFailure(`Invalid index ${key} in ${this.type.pp()}`);
|
|
123
123
|
}
|
|
124
124
|
return new SingleByteStackView(this.loc, Number(key));
|
|
@@ -137,17 +137,18 @@ class PointerStackView extends BaseStackView {
|
|
|
137
137
|
if ((0, utils_2.isFailure)(len)) {
|
|
138
138
|
return len;
|
|
139
139
|
}
|
|
140
|
-
|
|
140
|
+
// This cast is weird...
|
|
141
|
+
return new view_2.ArraySliceCalldataView(this.type.toType, off, len);
|
|
141
142
|
}
|
|
142
143
|
if (this.type.location === solc_typed_ast_1.DataLocation.CallData) {
|
|
143
|
-
return (0, view_2.makeCalldataView)(this.type.
|
|
144
|
+
return (0, view_2.makeCalldataView)(this.type.toType, 0n, off);
|
|
144
145
|
}
|
|
145
146
|
if (this.type.location === solc_typed_ast_1.DataLocation.Memory) {
|
|
146
|
-
return (0,
|
|
147
|
+
return (0, view_4.makeMemoryView)(this.type.toType, off);
|
|
147
148
|
}
|
|
148
149
|
if (this.type.location === solc_typed_ast_1.DataLocation.Storage ||
|
|
149
150
|
this.type.location === solc_typed_ast_1.DataLocation.Transient) {
|
|
150
|
-
return (0, storage_1.makeStorageView)(this.type.
|
|
151
|
+
return (0, storage_1.makeStorageView)(this.type.toType, [off, 32]);
|
|
151
152
|
}
|
|
152
153
|
(0, utils_1.nyi)(`Stack pointer to ${this.type.location}`);
|
|
153
154
|
}
|
|
@@ -166,19 +167,19 @@ class PointerStackView extends BaseStackView {
|
|
|
166
167
|
}
|
|
167
168
|
exports.PointerStackView = PointerStackView;
|
|
168
169
|
function makeStackView(type, loc) {
|
|
169
|
-
if (type instanceof
|
|
170
|
+
if (type instanceof runtime_types_1.IntType) {
|
|
170
171
|
return new IntStackView(type, loc);
|
|
171
172
|
}
|
|
172
|
-
if (type instanceof
|
|
173
|
+
if (type instanceof runtime_types_1.AddressType) {
|
|
173
174
|
return new AddressStackView(type, loc);
|
|
174
175
|
}
|
|
175
|
-
if (type instanceof
|
|
176
|
+
if (type instanceof runtime_types_1.FixedBytesType) {
|
|
176
177
|
return new FixedBytesStackView(type, loc);
|
|
177
178
|
}
|
|
178
|
-
if (type instanceof
|
|
179
|
+
if (type instanceof runtime_types_1.BoolType) {
|
|
179
180
|
return new BoolStackView(type, loc);
|
|
180
181
|
}
|
|
181
|
-
if (type instanceof
|
|
182
|
+
if (type instanceof runtime_types_1.PointerType) {
|
|
182
183
|
return new PointerStackView(type, loc);
|
|
183
184
|
}
|
|
184
185
|
(0, utils_1.nyi)(`makeStackView(${type.pp()}, ${loc})`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../../../src/debug/decoding/stack/view.ts"],"names":[],"mappings":";;;AA6OA,
|
|
1
|
+
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../../../src/debug/decoding/stack/view.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,14 @@
|
|
|
1
|
-
import { AddressType, ArrayType, BoolType, BytesType, FixedBytesType, IntType, MappingType, PointerType, StringType, TypeNode } from "solc-typed-ast";
|
|
2
1
|
import { DecodingFailure, Struct, Value } from "../value";
|
|
3
2
|
import { ArrayLikeView, IndexableView, PointerView, StructView, View } from "../view";
|
|
4
3
|
import { Storage } from "../../types";
|
|
5
4
|
import { Address } from "@ethereumjs/util";
|
|
6
|
-
import { ExpStructType, MissingType } from "../exp_types";
|
|
7
5
|
import { MapKeys } from "../../tracers";
|
|
8
|
-
|
|
6
|
+
import { AddressType, ArrayType, BaseRuntimeType, BoolType, BytesType, FixedBytesType, IntType, MappingType, MissingType, PointerType, StringType, StructType } from "../../runtime_types";
|
|
7
|
+
interface ArrayLikeStorageView<ValViewT extends BaseStorageView<Value, BaseRuntimeType>> extends ArrayLikeView<Storage, ValViewT> {
|
|
9
8
|
}
|
|
10
9
|
type StorageLocation = [bigint, number];
|
|
11
|
-
export declare function isArrayLikeStorageView(v: any): v is ArrayLikeStorageView<BaseStorageView<Value,
|
|
12
|
-
export declare abstract class BaseStorageView<Val extends Value, Type extends
|
|
10
|
+
export declare function isArrayLikeStorageView(v: any): v is ArrayLikeStorageView<BaseStorageView<Value, BaseRuntimeType>>;
|
|
11
|
+
export declare abstract class BaseStorageView<Val extends Value, Type extends BaseRuntimeType = BaseRuntimeType> extends View<Storage, Val, [bigint, number], Type> {
|
|
13
12
|
key: bigint;
|
|
14
13
|
endOffsetInWord: number;
|
|
15
14
|
constructor(type: Type, loc: [bigint, number]);
|
|
@@ -66,15 +65,15 @@ export declare class FixedBytesStorageView extends BaseStorageView<Uint8Array, F
|
|
|
66
65
|
nextLoc(): StorageLocation;
|
|
67
66
|
size(): bigint | DecodingFailure;
|
|
68
67
|
}
|
|
69
|
-
export declare class PointerStorageView extends BaseStorageView<Value, PointerType> implements PointerView<Storage, BaseStorageView<Value,
|
|
70
|
-
innerView: BaseStorageView<Value,
|
|
68
|
+
export declare class PointerStorageView extends BaseStorageView<Value, PointerType> implements PointerView<Storage, BaseStorageView<Value, BaseRuntimeType>> {
|
|
69
|
+
innerView: BaseStorageView<Value, BaseRuntimeType>;
|
|
71
70
|
constructor(type: PointerType, loc: [bigint, number]);
|
|
72
71
|
decode(state: Storage, mapKeys?: MapKeys): Value;
|
|
73
72
|
encode(value: Value, state: Storage): Storage;
|
|
74
73
|
nextLoc(): StorageLocation | undefined;
|
|
75
|
-
toView(): BaseStorageView<Value,
|
|
74
|
+
toView(): BaseStorageView<Value, BaseRuntimeType>;
|
|
76
75
|
}
|
|
77
|
-
export declare class ArrayStorageView extends BaseStorageView<Value[], ArrayType> implements ArrayLikeStorageView<BaseStorageView<Value,
|
|
76
|
+
export declare class ArrayStorageView extends BaseStorageView<Value[], ArrayType> implements ArrayLikeStorageView<BaseStorageView<Value, BaseRuntimeType>> {
|
|
78
77
|
private _nextLoc;
|
|
79
78
|
/**
|
|
80
79
|
* Helper to compute how many words elements "take". This is not straightforward, as we may pack multiple
|
|
@@ -82,31 +81,31 @@ export declare class ArrayStorageView extends BaseStorageView<Value[], ArrayType
|
|
|
82
81
|
* I.e. we state that we can fit `nEls` elements in `nWords`, where this is the smalles "package" possible.
|
|
83
82
|
* @param elT
|
|
84
83
|
*/
|
|
85
|
-
static computeElmentSize(elT:
|
|
84
|
+
static computeElmentSize(elT: BaseRuntimeType): [bigint, bigint] | undefined;
|
|
86
85
|
constructor(type: ArrayType, loc: [bigint, number]);
|
|
87
86
|
nextLoc(): StorageLocation | undefined;
|
|
88
87
|
decode(state: Storage, mapKeys?: MapKeys): Value[] | DecodingFailure;
|
|
89
88
|
encode(value: Value[], state: Storage): Storage;
|
|
90
|
-
indexView(key: bigint, state: Storage): DecodingFailure | BaseStorageView<Value,
|
|
89
|
+
indexView(key: bigint, state: Storage): DecodingFailure | BaseStorageView<Value, BaseRuntimeType>;
|
|
91
90
|
size(state: Storage): bigint | DecodingFailure;
|
|
92
91
|
}
|
|
93
|
-
export declare class StructStorageView extends BaseStorageView<Struct,
|
|
94
|
-
fieldViews: Array<[string, BaseStorageView<Value,
|
|
92
|
+
export declare class StructStorageView extends BaseStorageView<Struct, StructType> implements StructView<Storage, BaseStorageView<Value, BaseRuntimeType>> {
|
|
93
|
+
fieldViews: Array<[string, BaseStorageView<Value, BaseRuntimeType>]>;
|
|
95
94
|
private _nextLoc;
|
|
96
|
-
constructor(type:
|
|
95
|
+
constructor(type: StructType, loc: StorageLocation);
|
|
97
96
|
nextLoc(): StorageLocation | undefined;
|
|
98
97
|
decode(state: Storage, mapKeys?: MapKeys): Struct;
|
|
99
98
|
encode(value: Struct, state: Storage): Storage;
|
|
100
|
-
fieldView(name: string): BaseStorageView<Value,
|
|
99
|
+
fieldView(name: string): BaseStorageView<Value, BaseRuntimeType> | DecodingFailure;
|
|
101
100
|
}
|
|
102
|
-
export declare class MapStorageView extends BaseStorageView<Map<Value, Value>, MappingType> implements IndexableView<Value, Storage, BaseStorageView<Value,
|
|
101
|
+
export declare class MapStorageView extends BaseStorageView<Map<Value, Value>, MappingType> implements IndexableView<Value, Storage, BaseStorageView<Value, BaseRuntimeType>> {
|
|
103
102
|
constructor(type: MappingType, loc: StorageLocation);
|
|
104
103
|
nextLoc(): StorageLocation;
|
|
105
104
|
decode(state: Storage, mapKeys?: MapKeys): Map<Value, Value>;
|
|
106
105
|
encode(value: Map<Value, Value>, state: Storage): Storage;
|
|
107
|
-
indexView(key: Value): DecodingFailure | BaseStorageView<Value,
|
|
106
|
+
indexView(key: Value): DecodingFailure | BaseStorageView<Value, BaseRuntimeType>;
|
|
108
107
|
}
|
|
109
|
-
export declare abstract class PackedArrayStorageView<V extends Value, T extends
|
|
108
|
+
export declare abstract class PackedArrayStorageView<V extends Value, T extends BaseRuntimeType> extends BaseStorageView<V, T> {
|
|
110
109
|
nextLoc(): StorageLocation;
|
|
111
110
|
protected getSize(state: Storage): bigint | DecodingFailure;
|
|
112
111
|
decodeBytes(state: Storage): Uint8Array | DecodingFailure;
|
|
@@ -129,6 +128,6 @@ export declare class MissingStorageView extends BaseStorageView<DecodingFailure,
|
|
|
129
128
|
nextLoc(): StorageLocation | undefined;
|
|
130
129
|
}
|
|
131
130
|
export declare function nextWord(loc: StorageLocation): StorageLocation;
|
|
132
|
-
export declare function makeStorageView(type:
|
|
131
|
+
export declare function makeStorageView(type: BaseRuntimeType, loc: StorageLocation): BaseStorageView<Value, BaseRuntimeType>;
|
|
133
132
|
export {};
|
|
134
133
|
//# sourceMappingURL=view.d.ts.map
|