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
|
@@ -7,22 +7,29 @@ export declare abstract class BaseStackView<Val extends Value, Type extends 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;
|
|
10
|
+
abstract encode(value: Val, state: Stack): void;
|
|
11
|
+
encodeIntAt(value: bigint, type: IntType, offsetFromTop: number, state: Stack): void;
|
|
10
12
|
}
|
|
11
13
|
export declare class IntStackView extends BaseStackView<bigint, IntType> {
|
|
12
14
|
decode(state: Stack): bigint | DecodingFailure;
|
|
15
|
+
encode(value: bigint, state: Stack): void;
|
|
13
16
|
}
|
|
14
17
|
export declare class BoolStackView extends BaseStackView<boolean, BoolType> {
|
|
15
18
|
decode(state: Stack): boolean | DecodingFailure;
|
|
19
|
+
encode(value: boolean, state: Stack): void;
|
|
16
20
|
}
|
|
17
21
|
export declare class AddressStackView extends BaseStackView<Address, AddressType> {
|
|
18
22
|
decode(state: Stack): Address | DecodingFailure;
|
|
23
|
+
encode(value: Address, state: Stack): void;
|
|
19
24
|
}
|
|
20
25
|
export declare class FixedBytesStackView extends BaseStackView<Uint8Array, FixedBytesType> {
|
|
21
26
|
decode(state: Stack): Uint8Array | DecodingFailure;
|
|
27
|
+
encode(value: Uint8Array, state: Stack): void;
|
|
22
28
|
}
|
|
23
29
|
type PointerValue = View<any, Value, any, TypeNode>;
|
|
24
30
|
export declare class PointerStackView extends BaseStackView<PointerValue, PointerType> {
|
|
25
31
|
decode(state: Stack): PointerValue | DecodingFailure;
|
|
32
|
+
encode(value: PointerValue, state: Stack): void;
|
|
26
33
|
}
|
|
27
34
|
export declare function makeStackView(type: TypeNode, loc: number): BaseStackView<Value, TypeNode>;
|
|
28
35
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../../src/debug/decoding/stack/view.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,WAAW,EAEX,QAAQ,EAER,cAAc,EACd,OAAO,EACP,WAAW,EACX,QAAQ,EACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../../src/debug/decoding/stack/view.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,WAAW,EAEX,QAAQ,EAER,cAAc,EACd,OAAO,EACP,WAAW,EACX,QAAQ,EACX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAiB,IAAI,EAAE,MAAM,SAAS,CAAC;AAU9C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAQ3C,8BAAsB,aAAa,CAAC,GAAG,SAAS,KAAK,EAAE,IAAI,SAAS,QAAQ,CAAE,SAAQ,IAAI,CACtF,KAAK,EACL,GAAG,EACH,MAAM,EACN,IAAI,CACP;IACG,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,UAAU,GAAG,eAAe;IAUjF,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,eAAe;IAsBxF,EAAE,IAAI,MAAM;IAIZ,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;IAE/C,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;CAOvF;AAED,qBAAa,YAAa,SAAQ,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC;IAC5D,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,GAAG,eAAe;IAI9C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;CAG5C;AAED,qBAAa,aAAc,SAAQ,aAAa,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC/D,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,GAAG,eAAe;IAK/C,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;CAG7C;AAED,qBAAa,gBAAiB,SAAQ,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC;IACrE,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,GAAG,eAAe;IAK/C,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;CAS7C;AAED,qBAAa,mBAAoB,SAAQ,aAAa,CAAC,UAAU,EAAE,cAAc,CAAC;IAC9E,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,UAAU,GAAG,eAAe;IAKlD,MAAM,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;CAQhD;AAED,KAAK,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;AAEpD,qBAAa,gBAAiB,SAAQ,aAAa,CAAC,YAAY,EAAE,WAAW,CAAC;IAC1E,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,GAAG,eAAe;IAoCpD,MAAM,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;CAelD;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,CAsBzF"}
|
|
@@ -10,6 +10,8 @@ const storage_1 = require("../storage");
|
|
|
10
10
|
const utils_2 = require("../utils");
|
|
11
11
|
const view_2 = require("../calldata/view");
|
|
12
12
|
const memory_1 = require("../memory");
|
|
13
|
+
const view_3 = require("../storage/view");
|
|
14
|
+
const view_4 = require("../memory/view");
|
|
13
15
|
class BaseStackView extends view_1.View {
|
|
14
16
|
fetchStackWord(offsetFromTop, state) {
|
|
15
17
|
const len = state.length;
|
|
@@ -38,12 +40,21 @@ class BaseStackView extends view_1.View {
|
|
|
38
40
|
pp() {
|
|
39
41
|
return `<${this.type.pp()}@${this.loc} in stack>`;
|
|
40
42
|
}
|
|
43
|
+
encodeIntAt(value, type, offsetFromTop, state) {
|
|
44
|
+
if (state.length <= offsetFromTop) {
|
|
45
|
+
throw new view_1.EncodingError(`OoB access at ${offsetFromTop} in stack`);
|
|
46
|
+
}
|
|
47
|
+
(0, utils_1.encodeBigintInBigEndianBuf)(value, state[offsetFromTop], type.nBits / 8);
|
|
48
|
+
}
|
|
41
49
|
}
|
|
42
50
|
exports.BaseStackView = BaseStackView;
|
|
43
51
|
class IntStackView extends BaseStackView {
|
|
44
52
|
decode(state) {
|
|
45
53
|
return this.decodeIntAt(this.loc, this.type, state);
|
|
46
54
|
}
|
|
55
|
+
encode(value, state) {
|
|
56
|
+
this.encodeIntAt(value, this.type, this.loc, state);
|
|
57
|
+
}
|
|
47
58
|
}
|
|
48
59
|
exports.IntStackView = IntStackView;
|
|
49
60
|
class BoolStackView extends BaseStackView {
|
|
@@ -51,6 +62,9 @@ class BoolStackView extends BaseStackView {
|
|
|
51
62
|
const res = this.decodeIntAt(this.loc, utils_1.uint256, state);
|
|
52
63
|
return (0, utils_2.isFailure)(res) ? res : res === 1n;
|
|
53
64
|
}
|
|
65
|
+
encode(value, state) {
|
|
66
|
+
this.encodeIntAt(value ? 1n : 0n, utils_1.uint8, this.loc, state);
|
|
67
|
+
}
|
|
54
68
|
}
|
|
55
69
|
exports.BoolStackView = BoolStackView;
|
|
56
70
|
class AddressStackView extends BaseStackView {
|
|
@@ -58,6 +72,13 @@ class AddressStackView extends BaseStackView {
|
|
|
58
72
|
const w = this.fetchStackWord(this.loc, state);
|
|
59
73
|
return (0, utils_2.isFailure)(w) ? w : (0, utils_1.wordToAddress)(w);
|
|
60
74
|
}
|
|
75
|
+
encode(value, state) {
|
|
76
|
+
const w = this.fetchStackWord(this.loc, state);
|
|
77
|
+
if ((0, utils_2.isFailure)(w)) {
|
|
78
|
+
throw new view_1.EncodingError(w.reason);
|
|
79
|
+
}
|
|
80
|
+
w.set(value.bytes, 12);
|
|
81
|
+
}
|
|
61
82
|
}
|
|
62
83
|
exports.AddressStackView = AddressStackView;
|
|
63
84
|
class FixedBytesStackView extends BaseStackView {
|
|
@@ -65,6 +86,13 @@ class FixedBytesStackView extends BaseStackView {
|
|
|
65
86
|
const w = this.fetchStackWord(this.loc, state);
|
|
66
87
|
return (0, utils_2.isFailure)(w) ? w : w.slice(0, this.type.size);
|
|
67
88
|
}
|
|
89
|
+
encode(value, state) {
|
|
90
|
+
const w = this.fetchStackWord(this.loc, state);
|
|
91
|
+
if ((0, utils_2.isFailure)(w)) {
|
|
92
|
+
throw new view_1.EncodingError(w.reason);
|
|
93
|
+
}
|
|
94
|
+
w.set(value);
|
|
95
|
+
}
|
|
68
96
|
}
|
|
69
97
|
exports.FixedBytesStackView = FixedBytesStackView;
|
|
70
98
|
class PointerStackView extends BaseStackView {
|
|
@@ -82,7 +110,7 @@ class PointerStackView extends BaseStackView {
|
|
|
82
110
|
return new view_2.ArraySliceCalldataView(this.type.to, off, len);
|
|
83
111
|
}
|
|
84
112
|
if (this.type.location === solc_typed_ast_1.DataLocation.CallData) {
|
|
85
|
-
return (0, view_2.makeCalldataView)(this.type.to,
|
|
113
|
+
return (0, view_2.makeCalldataView)(this.type.to, 0n, off);
|
|
86
114
|
}
|
|
87
115
|
if (this.type.location === solc_typed_ast_1.DataLocation.Memory) {
|
|
88
116
|
return (0, memory_1.makeMemoryView)(this.type.to, off);
|
|
@@ -93,6 +121,18 @@ class PointerStackView extends BaseStackView {
|
|
|
93
121
|
}
|
|
94
122
|
(0, utils_1.nyi)(`Stack pointer to ${this.type.location}`);
|
|
95
123
|
}
|
|
124
|
+
encode(value, state) {
|
|
125
|
+
if (value instanceof view_3.BaseStorageView) {
|
|
126
|
+
if (value.endOffsetInWord !== 32) {
|
|
127
|
+
throw new view_1.EncodingError(`Unexpected non-word-aligned storage pointer in stack encoding`);
|
|
128
|
+
}
|
|
129
|
+
this.encodeIntAt(value.key, utils_1.uint256, this.loc, state);
|
|
130
|
+
}
|
|
131
|
+
else if (value instanceof view_4.BaseMemoryView || value instanceof view_2.BaseCalldataView) {
|
|
132
|
+
this.encodeIntAt(value.offset, utils_1.uint256, this.loc, state);
|
|
133
|
+
}
|
|
134
|
+
(0, utils_1.nyi)(`Unexpected pointer ${value.pp()}`);
|
|
135
|
+
}
|
|
96
136
|
}
|
|
97
137
|
exports.PointerStackView = PointerStackView;
|
|
98
138
|
function makeStackView(type, loc) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../../../src/debug/decoding/stack/view.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../../../src/debug/decoding/stack/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/storage/index.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/debug/decoding/storage/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, "makeStorageView", { enumerable: true, get: function () { return view_1.makeStorageView; } });
|
|
17
|
+
__exportStar(require("./view"), exports);
|
|
6
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/debug/decoding/storage/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/debug/decoding/storage/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yCAAuB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AddressType, ArrayType, BoolType, BytesType, FixedBytesType, IntType, MappingType, PointerType, StringType, TypeNode } from "solc-typed-ast";
|
|
2
2
|
import { DecodingFailure, Struct, Value } from "../value";
|
|
3
|
-
import { View } from "../view";
|
|
3
|
+
import { IndexableView, PointerView, StructView, View } from "../view";
|
|
4
4
|
import { Storage } from "../../types";
|
|
5
5
|
import { Address } from "@ethereumjs/util";
|
|
6
6
|
import { ExpStructType, MissingType } from "../exp_types";
|
|
@@ -14,6 +14,7 @@ export declare abstract class BaseStorageView<Val extends Value, Type extends Ty
|
|
|
14
14
|
* Helper to fetch the word residing at key `key` from `storage`. If the key is missing return an all-0 value.
|
|
15
15
|
*/
|
|
16
16
|
protected fetchWord(key: bigint, storage: Storage): Uint8Array;
|
|
17
|
+
protected setWord(key: bigint, value: Uint8Array, storage: Storage): Storage;
|
|
17
18
|
/**
|
|
18
19
|
* Helper to fetch `numBytes` bytes from `storage` starting at offset `off`.
|
|
19
20
|
*/
|
|
@@ -22,66 +23,103 @@ export declare abstract class BaseStorageView<Val extends Value, Type extends Ty
|
|
|
22
23
|
* Helper to decode an int type at a given location in storage.
|
|
23
24
|
*/
|
|
24
25
|
protected decodeIntAt(key: bigint, endOffsetInWord: number, type: IntType, state: Storage): bigint | DecodingFailure;
|
|
26
|
+
protected encodeIntAt(val: bigint, key: bigint, endOffsetInWord: number, type: IntType, state: Storage): Storage;
|
|
25
27
|
pp(): string;
|
|
26
28
|
/**
|
|
27
29
|
* The first location after the end of this view
|
|
28
30
|
*/
|
|
29
31
|
abstract nextLoc(): StorageLocation | undefined;
|
|
30
32
|
abstract decode(state: Storage, mapKeys?: MapKeys): Val | DecodingFailure;
|
|
33
|
+
abstract encode(value: Val, state: Storage): Storage;
|
|
31
34
|
}
|
|
32
35
|
export declare class IntStorageView extends BaseStorageView<bigint, IntType> {
|
|
33
36
|
decode(state: Storage): bigint | DecodingFailure;
|
|
34
37
|
nextLoc(): StorageLocation;
|
|
38
|
+
encode(value: bigint, state: Storage): Storage;
|
|
35
39
|
}
|
|
36
40
|
export declare class BoolStorageView extends BaseStorageView<boolean, BoolType> {
|
|
37
41
|
decode(state: Storage): boolean | DecodingFailure;
|
|
42
|
+
encode(value: boolean, state: Storage): Storage;
|
|
38
43
|
nextLoc(): StorageLocation;
|
|
39
44
|
}
|
|
40
45
|
export declare class AddressStorageView extends BaseStorageView<Address, AddressType> {
|
|
41
46
|
decode(state: Storage): Address | DecodingFailure;
|
|
47
|
+
encode(value: Address, state: Storage): Storage;
|
|
42
48
|
nextLoc(): StorageLocation;
|
|
43
49
|
}
|
|
44
|
-
|
|
50
|
+
/**
|
|
51
|
+
* For consisntency with Memory views, add a SingleByteStorage view that returns a number
|
|
52
|
+
*/
|
|
53
|
+
export declare class SingleByteStorageView extends BaseStorageView<number, FixedBytesType> {
|
|
54
|
+
constructor(loc: [bigint, number]);
|
|
55
|
+
decode(state: Storage): number | DecodingFailure;
|
|
56
|
+
encode(value: number, state: Storage): Storage;
|
|
57
|
+
nextLoc(): StorageLocation;
|
|
58
|
+
}
|
|
59
|
+
export declare class FixedBytesStorageView extends BaseStorageView<Uint8Array, FixedBytesType> implements IndexableView<bigint, Storage, SingleByteStorageView> {
|
|
45
60
|
decode(state: Storage): Uint8Array | DecodingFailure;
|
|
61
|
+
encode(value: Uint8Array, state: Storage): Storage;
|
|
62
|
+
indexView(key: bigint): DecodingFailure | SingleByteStorageView;
|
|
46
63
|
nextLoc(): StorageLocation;
|
|
47
64
|
}
|
|
48
|
-
export declare class PointerStorageView extends BaseStorageView<Value, PointerType> {
|
|
65
|
+
export declare class PointerStorageView extends BaseStorageView<Value, PointerType> implements PointerView<Storage, BaseStorageView<Value, TypeNode>> {
|
|
49
66
|
innerView: BaseStorageView<Value, TypeNode>;
|
|
50
67
|
constructor(type: PointerType, loc: [bigint, number]);
|
|
51
68
|
decode(state: Storage, mapKeys?: MapKeys): Value;
|
|
69
|
+
encode(value: Value, state: Storage): Storage;
|
|
52
70
|
nextLoc(): StorageLocation | undefined;
|
|
71
|
+
toView(): BaseStorageView<Value, TypeNode>;
|
|
53
72
|
}
|
|
54
|
-
export declare class ArrayStorageView extends BaseStorageView<Value[], ArrayType> {
|
|
73
|
+
export declare class ArrayStorageView extends BaseStorageView<Value[], ArrayType> implements IndexableView<bigint, Storage, BaseStorageView<Value, TypeNode>> {
|
|
55
74
|
private _nextLoc;
|
|
75
|
+
/**
|
|
76
|
+
* Helper to compute how many words elements "take". This is not straightforward, as we may pack multiple
|
|
77
|
+
* elements per word, or one element may take multiple words. So we return two values - nEls nad nWords.
|
|
78
|
+
* I.e. we state that we can fit `nEls` elements in `nWords`, where this is the smalles "package" possible.
|
|
79
|
+
* @param elT
|
|
80
|
+
*/
|
|
81
|
+
static computeElmentSize(elT: TypeNode): [bigint, bigint] | undefined;
|
|
56
82
|
constructor(type: ArrayType, loc: [bigint, number]);
|
|
57
83
|
nextLoc(): StorageLocation | undefined;
|
|
58
84
|
decode(state: Storage, mapKeys?: MapKeys): Value[] | DecodingFailure;
|
|
85
|
+
encode(value: Value[], state: Storage): Storage;
|
|
86
|
+
indexView(key: bigint, state: Storage): DecodingFailure | BaseStorageView<Value, TypeNode>;
|
|
59
87
|
}
|
|
60
|
-
export declare class StructStorageView extends BaseStorageView<Struct, ExpStructType> {
|
|
88
|
+
export declare class StructStorageView extends BaseStorageView<Struct, ExpStructType> implements StructView<Storage, BaseStorageView<Value, TypeNode>> {
|
|
61
89
|
fieldViews: Array<[string, BaseStorageView<Value, TypeNode>]>;
|
|
62
90
|
private _nextLoc;
|
|
63
91
|
constructor(type: ExpStructType, loc: StorageLocation);
|
|
64
92
|
nextLoc(): StorageLocation | undefined;
|
|
65
93
|
decode(state: Storage, mapKeys?: MapKeys): Struct;
|
|
94
|
+
encode(value: Struct, state: Storage): Storage;
|
|
95
|
+
fieldView(name: string): BaseStorageView<Value, TypeNode> | DecodingFailure;
|
|
66
96
|
}
|
|
67
|
-
export declare class MapStorageView extends BaseStorageView<Map<Value, Value>, MappingType> {
|
|
97
|
+
export declare class MapStorageView extends BaseStorageView<Map<Value, Value>, MappingType> implements IndexableView<Value, Storage, BaseStorageView<Value, TypeNode>> {
|
|
68
98
|
constructor(type: MappingType, loc: StorageLocation);
|
|
69
99
|
nextLoc(): StorageLocation;
|
|
70
100
|
decode(state: Storage, mapKeys?: MapKeys): Map<Value, Value>;
|
|
101
|
+
encode(value: Map<Value, Value>, state: Storage): Storage;
|
|
102
|
+
indexView(key: Value): DecodingFailure | BaseStorageView<Value, TypeNode>;
|
|
71
103
|
}
|
|
72
104
|
export declare abstract class PackedArrayStorageView<V extends Value, T extends TypeNode> extends BaseStorageView<V, T> {
|
|
73
105
|
nextLoc(): StorageLocation;
|
|
106
|
+
protected getSize(state: Storage): bigint | DecodingFailure;
|
|
74
107
|
decodeBytes(state: Storage): Uint8Array | DecodingFailure;
|
|
108
|
+
encodeBytesAt(bytes: Uint8Array, slot: bigint, state: Storage): Storage;
|
|
75
109
|
}
|
|
76
|
-
export declare class BytesStorageView extends PackedArrayStorageView<Uint8Array, BytesType> {
|
|
110
|
+
export declare class BytesStorageView extends PackedArrayStorageView<Uint8Array, BytesType> implements IndexableView<bigint, Storage, SingleByteStorageView> {
|
|
77
111
|
decode(state: Storage): Uint8Array | DecodingFailure;
|
|
112
|
+
encode(value: Uint8Array, state: Storage): Storage;
|
|
113
|
+
indexView(key: bigint, state: Storage): DecodingFailure | SingleByteStorageView;
|
|
78
114
|
}
|
|
79
115
|
export declare class StringStorageView extends PackedArrayStorageView<string, StringType> {
|
|
80
116
|
decode(state: Storage): string | DecodingFailure;
|
|
117
|
+
encode(value: string, state: Storage): Storage;
|
|
81
118
|
}
|
|
82
119
|
export declare class MissingStorageView extends BaseStorageView<DecodingFailure, MissingType> {
|
|
83
120
|
constructor(type: MissingType, loc: StorageLocation);
|
|
84
121
|
decode(): DecodingFailure;
|
|
122
|
+
encode(): Storage;
|
|
85
123
|
nextLoc(): StorageLocation | undefined;
|
|
86
124
|
}
|
|
87
125
|
export declare function nextWord(loc: StorageLocation): StorageLocation;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../../src/debug/decoding/storage/view.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,WAAW,EACX,SAAS,EAET,QAAQ,EACR,SAAS,EACT,cAAc,EACd,OAAO,EACP,WAAW,EACX,WAAW,
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../../src/debug/decoding/storage/view.ts"],"names":[],"mappings":"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"}
|