sol-dbg 0.6.15 → 0.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/artifacts/helpers.d.ts +3 -3
- package/dist/artifacts/helpers.d.ts.map +1 -1
- package/dist/artifacts/helpers.js +17 -53
- package/dist/artifacts/helpers.js.map +1 -1
- package/dist/artifacts/solc.d.ts +1 -8
- package/dist/artifacts/solc.d.ts.map +1 -1
- package/dist/debug/abi.d.ts +11 -41
- package/dist/debug/abi.d.ts.map +1 -1
- package/dist/debug/abi.js +60 -294
- package/dist/debug/abi.js.map +1 -1
- package/dist/debug/artifact_manager/artifact_manager.d.ts +17 -42
- package/dist/debug/artifact_manager/artifact_manager.d.ts.map +1 -1
- package/dist/debug/artifact_manager/artifact_manager.js +82 -22
- package/dist/debug/artifact_manager/artifact_manager.js.map +1 -1
- package/dist/debug/artifact_manager/bytecode_templates.d.ts +1 -1
- package/dist/debug/artifact_manager/bytecode_templates.d.ts.map +1 -1
- package/dist/debug/artifact_manager/bytecode_templates.js +4 -3
- package/dist/debug/artifact_manager/bytecode_templates.js.map +1 -1
- package/dist/debug/artifact_manager/index.d.ts +1 -0
- package/dist/debug/artifact_manager/index.d.ts.map +1 -1
- package/dist/debug/artifact_manager/index.js +1 -0
- package/dist/debug/artifact_manager/index.js.map +1 -1
- package/dist/debug/artifact_manager/types.d.ts +129 -0
- package/dist/debug/artifact_manager/types.d.ts.map +1 -0
- package/dist/debug/artifact_manager/types.js +12 -0
- package/dist/debug/artifact_manager/types.js.map +1 -0
- package/dist/debug/decoding/calldata/index.d.ts +2 -0
- package/dist/debug/decoding/calldata/index.d.ts.map +1 -0
- package/dist/debug/decoding/calldata/index.js +6 -0
- package/dist/debug/decoding/calldata/index.js.map +1 -0
- package/dist/debug/decoding/calldata/view.d.ts +75 -0
- package/dist/debug/decoding/calldata/view.d.ts.map +1 -0
- package/dist/debug/decoding/calldata/view.js +400 -0
- package/dist/debug/decoding/calldata/view.js.map +1 -0
- package/dist/debug/decoding/exp_types.d.ts +46 -0
- package/dist/debug/decoding/exp_types.d.ts.map +1 -0
- package/dist/debug/decoding/exp_types.js +202 -0
- package/dist/debug/decoding/exp_types.js.map +1 -0
- package/dist/debug/decoding/general.d.ts +5 -9
- package/dist/debug/decoding/general.d.ts.map +1 -1
- package/dist/debug/decoding/general.js +25 -103
- package/dist/debug/decoding/general.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 -0
- package/dist/debug/decoding/memory/index.d.ts.map +1 -0
- package/dist/debug/decoding/memory/index.js +6 -0
- package/dist/debug/decoding/memory/index.js.map +1 -0
- package/dist/debug/decoding/memory/view.d.ts +66 -0
- package/dist/debug/decoding/memory/view.d.ts.map +1 -0
- package/dist/debug/decoding/memory/view.js +283 -0
- package/dist/debug/decoding/memory/view.js.map +1 -0
- package/dist/debug/decoding/stack/index.d.ts +2 -0
- package/dist/debug/decoding/stack/index.d.ts.map +1 -0
- package/dist/debug/decoding/stack/index.js +6 -0
- package/dist/debug/decoding/stack/index.js.map +1 -0
- package/dist/debug/decoding/stack/view.d.ts +36 -0
- package/dist/debug/decoding/stack/view.d.ts.map +1 -0
- package/dist/debug/decoding/stack/view.js +156 -0
- package/dist/debug/decoding/stack/view.js.map +1 -0
- package/dist/debug/decoding/storage/index.d.ts +2 -0
- package/dist/debug/decoding/storage/index.d.ts.map +1 -0
- package/dist/debug/decoding/storage/index.js +6 -0
- package/dist/debug/decoding/storage/index.js.map +1 -0
- package/dist/debug/decoding/storage/view.d.ts +105 -0
- package/dist/debug/decoding/storage/view.d.ts.map +1 -0
- package/dist/debug/decoding/storage/view.js +603 -0
- package/dist/debug/decoding/storage/view.js.map +1 -0
- package/dist/debug/decoding/utils.d.ts +17 -0
- package/dist/debug/decoding/utils.d.ts.map +1 -0
- package/dist/debug/decoding/utils.js +43 -0
- package/dist/debug/decoding/utils.js.map +1 -0
- package/dist/debug/decoding/value.d.ts +50 -0
- package/dist/debug/decoding/value.d.ts.map +1 -0
- package/dist/debug/decoding/value.js +106 -0
- package/dist/debug/decoding/value.js.map +1 -0
- package/dist/debug/decoding/view.d.ts +24 -0
- package/dist/debug/decoding/view.d.ts.map +1 -0
- package/dist/debug/decoding/view.js +22 -0
- package/dist/debug/decoding/view.js.map +1 -0
- 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 +17 -16
- package/dist/debug/foundry_cheatcodes.js.map +1 -1
- package/dist/debug/layout.d.ts +6 -8
- package/dist/debug/layout.d.ts.map +1 -1
- package/dist/debug/layout.js +14 -78
- package/dist/debug/layout.js.map +1 -1
- package/dist/debug/opcode_interposing.js +5 -5
- 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/sol_debugger.d.ts.map +1 -1
- package/dist/debug/tracers/sol_debugger.js +2 -1
- package/dist/debug/tracers/sol_debugger.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 +4 -3
- package/dist/debug/tracers/transformers/basic_info.js.map +1 -1
- package/dist/debug/tracers/transformers/events.js +2 -2
- package/dist/debug/tracers/transformers/events.js.map +1 -1
- package/dist/debug/tracers/transformers/exc_info.d.ts +15 -0
- package/dist/debug/tracers/transformers/exc_info.d.ts.map +1 -0
- package/dist/debug/tracers/transformers/exc_info.js +39 -0
- package/dist/debug/tracers/transformers/exc_info.js.map +1 -0
- package/dist/debug/tracers/transformers/ext_stack.d.ts.map +1 -1
- package/dist/debug/tracers/transformers/ext_stack.js +13 -30
- package/dist/debug/tracers/transformers/ext_stack.js.map +1 -1
- package/dist/debug/tracers/transformers/index.d.ts +1 -0
- package/dist/debug/tracers/transformers/index.d.ts.map +1 -1
- package/dist/debug/tracers/transformers/index.js +1 -0
- package/dist/debug/tracers/transformers/index.js.map +1 -1
- package/dist/debug/tracers/transformers/int_stack.d.ts.map +1 -1
- package/dist/debug/tracers/transformers/int_stack.js +5 -13
- package/dist/debug/tracers/transformers/int_stack.js.map +1 -1
- package/dist/debug/tracers/transformers/keccak256_invert.js +4 -4
- package/dist/debug/tracers/transformers/keccak256_invert.js.map +1 -1
- package/dist/debug/tracers/transformers/ret_info.d.ts +1 -1
- package/dist/debug/tracers/transformers/ret_info.d.ts.map +1 -1
- package/dist/debug/tracers/transformers/ret_info.js +22 -46
- package/dist/debug/tracers/transformers/ret_info.js.map +1 -1
- package/dist/debug/types.d.ts +64 -23
- package/dist/debug/types.d.ts.map +1 -1
- 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/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/misc.d.ts +19 -11
- package/dist/utils/misc.d.ts.map +1 -1
- package/dist/utils/misc.js +61 -53
- package/dist/utils/misc.js.map +1 -1
- package/dist/utils/pp.d.ts +3 -1
- package/dist/utils/pp.d.ts.map +1 -1
- package/dist/utils/pp.js +10 -27
- package/dist/utils/pp.js.map +1 -1
- package/dist/utils/solidity.d.ts +11 -0
- package/dist/utils/solidity.d.ts.map +1 -0
- package/dist/utils/solidity.js +85 -0
- package/dist/utils/solidity.js.map +1 -0
- package/dist/utils/test_runner.d.ts +9 -6
- package/dist/utils/test_runner.d.ts.map +1 -1
- package/dist/utils/test_runner.js +26 -21
- package/dist/utils/test_runner.js.map +1 -1
- package/dist/utils/trace.d.ts +5 -1
- package/dist/utils/trace.d.ts.map +1 -1
- package/dist/utils/trace.js +16 -0
- package/dist/utils/trace.js.map +1 -1
- package/package.json +19 -14
- package/dist/debug/decoding/calldata.d.ts +0 -6
- package/dist/debug/decoding/calldata.d.ts.map +0 -1
- package/dist/debug/decoding/calldata.js +0 -244
- package/dist/debug/decoding/calldata.js.map +0 -1
- package/dist/debug/decoding/memory.d.ts +0 -4
- package/dist/debug/decoding/memory.d.ts.map +0 -1
- package/dist/debug/decoding/memory.js +0 -216
- package/dist/debug/decoding/memory.js.map +0 -1
- package/dist/debug/decoding/stack.d.ts +0 -9
- package/dist/debug/decoding/stack.d.ts.map +0 -1
- package/dist/debug/decoding/stack.js +0 -84
- package/dist/debug/decoding/stack.js.map +0 -1
- package/dist/debug/decoding/storage.d.ts +0 -7
- package/dist/debug/decoding/storage.d.ts.map +0 -1
- package/dist/debug/decoding/storage.js +0 -393
- package/dist/debug/decoding/storage.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exp_types.js","sourceRoot":"","sources":["../../../src/debug/decoding/exp_types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* Decode a generic value expressed as a `DataView` (i.e. a tuple of type and location) given
|
|
7
|
-
* the dbg state `state` at some step.
|
|
8
|
-
*/
|
|
9
|
-
export declare function decodeValue(view: DataView, state: StepState, infer: InferType, mapKeys?: MapKeys): any;
|
|
1
|
+
import { MapKeys } from "../tracers/transformers/keccak256_invert";
|
|
2
|
+
import { StepState } from "../types";
|
|
3
|
+
import { View } from "./view";
|
|
4
|
+
import { Value } from "./value";
|
|
5
|
+
export declare function decodeView(v: View, state: StepState, mapKeys?: MapKeys): Value;
|
|
10
6
|
//# sourceMappingURL=general.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../src/debug/decoding/general.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"general.d.ts","sourceRoot":"","sources":["../../../src/debug/decoding/general.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,0CAA0C,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAMhC,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,KAAK,CA+B9E"}
|
|
@@ -1,113 +1,35 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
const
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return __1.DataLocationKind.Memory;
|
|
17
|
-
}
|
|
18
|
-
return loc;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Helper to dispatch the decoding of a given type `typ` at a given data location `loc` in a given `state`.
|
|
22
|
-
* to the proper decoding logic (memory, calldata, storage, stack)
|
|
23
|
-
*/
|
|
24
|
-
function decodeValInt(typ, loc, state, infer, mapKeys) {
|
|
25
|
-
if (loc.kind === __1.DataLocationKind.Memory) {
|
|
26
|
-
const res = (0, memory_1.mem_decodeValue)(typ, loc, state.memory, infer);
|
|
27
|
-
return res === undefined ? res : res[0];
|
|
28
|
-
}
|
|
29
|
-
if (loc.kind === __1.DataLocationKind.CallData) {
|
|
30
|
-
const lastExtFrame = (0, transformers_1.topExtFrame)(state);
|
|
31
|
-
let abiType;
|
|
32
|
-
try {
|
|
33
|
-
abiType = infer.toABIEncodedType(typ, abi_1.ABIEncoderVersion.V2);
|
|
3
|
+
exports.decodeView = decodeView;
|
|
4
|
+
const misc_1 = require("../../utils/misc");
|
|
5
|
+
const ext_stack_1 = require("../tracers/transformers/ext_stack");
|
|
6
|
+
const view_1 = require("./view");
|
|
7
|
+
const view_2 = require("./stack/view");
|
|
8
|
+
const view_3 = require("./memory/view");
|
|
9
|
+
const view_4 = require("./calldata/view");
|
|
10
|
+
const view_5 = require("./storage/view");
|
|
11
|
+
function decodeView(v, state, mapKeys) {
|
|
12
|
+
if (v instanceof view_2.BaseStackView) {
|
|
13
|
+
const res = v.decode(state.evmStack);
|
|
14
|
+
if (res instanceof view_1.View) {
|
|
15
|
+
return decodeView(res, state, mapKeys);
|
|
34
16
|
}
|
|
35
|
-
|
|
36
|
-
return undefined;
|
|
37
|
-
}
|
|
38
|
-
const res = (0, calldata_1.cd_decodeValue)(abiType, typ, loc, lastExtFrame.msgData, BigInt(4), infer);
|
|
39
|
-
return res === undefined ? res : res[0];
|
|
17
|
+
return res;
|
|
40
18
|
}
|
|
41
|
-
if (
|
|
42
|
-
return
|
|
19
|
+
if (v instanceof view_3.BaseMemoryView) {
|
|
20
|
+
return v.decode(state.memory);
|
|
43
21
|
}
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
typ.to instanceof solc_typed_ast_1.ArrayType &&
|
|
50
|
-
typ.location === solc_typed_ast_1.DataLocation.CallData &&
|
|
51
|
-
typ.to.size === undefined);
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Decode a generic value expressed as a `DataView` (i.e. a tuple of type and location) given
|
|
55
|
-
* the dbg state `state` at some step.
|
|
56
|
-
*/
|
|
57
|
-
function decodeValue(view, state, infer, mapKeys) {
|
|
58
|
-
const typ = view.type;
|
|
59
|
-
const loc = view.loc;
|
|
60
|
-
/**
|
|
61
|
-
* The only case where a pointer from one area of the state crosses into another
|
|
62
|
-
* area of the state are pointers in the stack. All other pointers stay in their
|
|
63
|
-
* own memory region
|
|
64
|
-
*/
|
|
65
|
-
if (typ instanceof solc_typed_ast_1.PointerType && loc.kind === __1.DataLocationKind.Stack) {
|
|
66
|
-
const off = (0, stack_1.st_decodeInt)(__2.uint256, loc, state.evmStack);
|
|
67
|
-
if (off === undefined) {
|
|
68
|
-
return undefined;
|
|
69
|
-
}
|
|
70
|
-
const kind = solLocToDataKind(typ.location);
|
|
71
|
-
let pointedToLoc;
|
|
72
|
-
if (isCalldataType2Slots(typ)) {
|
|
73
|
-
const lastExtFrame = (0, transformers_1.topExtFrame)(state);
|
|
74
|
-
let abiType;
|
|
75
|
-
try {
|
|
76
|
-
abiType = infer.toABIEncodedType(typ, abi_1.ABIEncoderVersion.V2);
|
|
77
|
-
}
|
|
78
|
-
catch (e) {
|
|
79
|
-
return undefined;
|
|
80
|
-
}
|
|
81
|
-
(0, solc_typed_ast_1.assert)(abiType instanceof solc_typed_ast_1.PointerType && abiType.to instanceof solc_typed_ast_1.ArrayType, `InternalError`);
|
|
82
|
-
const len = (0, stack_1.st_decodeInt)(__2.uint256, { kind: loc.kind, offsetFromTop: loc.offsetFromTop - 1 }, state.evmStack);
|
|
83
|
-
if (len === undefined) {
|
|
84
|
-
return undefined;
|
|
85
|
-
}
|
|
86
|
-
if (len > __2.MAX_ARR_DECODE_LIMIT) {
|
|
87
|
-
return undefined;
|
|
88
|
-
}
|
|
89
|
-
const res = (0, calldata_1.cd_decodeArrayContents)(abiType.to, typ.to, off, Number(len), lastExtFrame.msgData, infer);
|
|
90
|
-
return res === undefined ? res : res[0];
|
|
91
|
-
}
|
|
92
|
-
if (kind === __1.DataLocationKind.Storage) {
|
|
93
|
-
pointedToLoc = {
|
|
94
|
-
kind,
|
|
95
|
-
address: off,
|
|
96
|
-
endOffsetInWord: 32
|
|
97
|
-
};
|
|
22
|
+
if (v instanceof view_4.BaseCalldataView) {
|
|
23
|
+
const lastExtFrame = (0, ext_stack_1.topExtFrame)(state);
|
|
24
|
+
const res = v.decode(lastExtFrame.msgData);
|
|
25
|
+
if (res instanceof view_1.View) {
|
|
26
|
+
return decodeView(res, state, mapKeys);
|
|
98
27
|
}
|
|
99
|
-
else {
|
|
100
|
-
pointedToLoc = {
|
|
101
|
-
kind,
|
|
102
|
-
address: off
|
|
103
|
-
};
|
|
104
|
-
}
|
|
105
|
-
const res = decodeValInt(typ.to, pointedToLoc, state, infer, mapKeys);
|
|
106
|
-
//console.error(`decodeValue: res ${res}`);
|
|
107
28
|
return res;
|
|
108
29
|
}
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
30
|
+
if (v instanceof view_5.BaseStorageView) {
|
|
31
|
+
return v.decode(state.storage, mapKeys);
|
|
32
|
+
}
|
|
33
|
+
(0, misc_1.nyi)(`View ${v.pp()}`);
|
|
112
34
|
}
|
|
113
35
|
//# sourceMappingURL=general.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"general.js","sourceRoot":"","sources":["../../../src/debug/decoding/general.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"general.js","sourceRoot":"","sources":["../../../src/debug/decoding/general.ts"],"names":[],"mappings":";;AAWA,gCA+BC;AA1CD,2CAAuC;AACvC,iEAAgE;AAGhE,iCAA8B;AAE9B,uCAA6C;AAC7C,wCAA+C;AAC/C,0CAAmD;AACnD,yCAAiD;AAEjD,SAAgB,UAAU,CAAC,CAAO,EAAE,KAAgB,EAAE,OAAiB;IACnE,IAAI,CAAC,YAAY,oBAAa,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAErC,IAAI,GAAG,YAAY,WAAI,EAAE,CAAC;YACtB,OAAO,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAED,IAAI,CAAC,YAAY,qBAAc,EAAE,CAAC;QAC9B,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,CAAC,YAAY,uBAAgB,EAAE,CAAC;QAChC,MAAM,YAAY,GAAG,IAAA,uBAAW,EAAC,KAAK,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QAE3C,IAAI,GAAG,YAAY,WAAI,EAAE,CAAC;YACtB,OAAO,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,GAAG,CAAC;IACf,CAAC;IAED,IAAI,CAAC,YAAY,sBAAe,EAAE,CAAC;QAC/B,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAED,IAAA,UAAG,EAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -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"}
|
|
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"}
|
|
@@ -19,4 +19,5 @@ __exportStar(require("./general"), exports);
|
|
|
19
19
|
__exportStar(require("./memory"), exports);
|
|
20
20
|
__exportStar(require("./stack"), exports);
|
|
21
21
|
__exportStar(require("./storage"), exports);
|
|
22
|
+
__exportStar(require("./exp_types"), exports);
|
|
22
23
|
//# 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"}
|
|
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"}
|
|
@@ -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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/debug/decoding/memory/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeMemoryView = void 0;
|
|
4
|
+
var view_1 = require("./view");
|
|
5
|
+
Object.defineProperty(exports, "makeMemoryView", { enumerable: true, get: function () { return view_1.makeMemoryView; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/debug/decoding/memory/index.ts"],"names":[],"mappings":";;;AAAA,+BAAwC;AAA/B,sGAAA,cAAc,OAAA"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { AddressType, ArrayType, BoolType, BytesType, FixedBytesType, IntType, PointerType, StringType, TypeNode } from "solc-typed-ast";
|
|
2
|
+
import { Memory } from "../../types";
|
|
3
|
+
import { View } from "../view";
|
|
4
|
+
import { DecodingFailure, Struct, Value } from "../value";
|
|
5
|
+
import { Address } from "@ethereumjs/util";
|
|
6
|
+
import { ExpStructType, MissingType } from "../exp_types";
|
|
7
|
+
import { Allocator } from "./allocator";
|
|
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;
|
|
10
|
+
protected readMemAt(off: bigint, calldata: Memory, len: bigint | number): Uint8Array | DecodingFailure;
|
|
11
|
+
protected decodeIntAt(off: bigint, type: IntType, state: Memory): bigint | DecodingFailure;
|
|
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;
|
|
16
|
+
}
|
|
17
|
+
export declare class IntMemView extends BaseMemoryView<bigint, IntType> {
|
|
18
|
+
decode(state: Memory): bigint | DecodingFailure;
|
|
19
|
+
encode(value: bigint, state: Memory): void;
|
|
20
|
+
}
|
|
21
|
+
export declare class AddressMemView extends BaseMemoryView<Address, AddressType> {
|
|
22
|
+
decode(state: Memory): Address | DecodingFailure;
|
|
23
|
+
encode(value: Address, state: Memory): void;
|
|
24
|
+
}
|
|
25
|
+
export declare class BoolMemView extends BaseMemoryView<boolean, BoolType> {
|
|
26
|
+
decode(state: Memory): boolean | DecodingFailure;
|
|
27
|
+
encode(value: boolean, state: Memory): void;
|
|
28
|
+
}
|
|
29
|
+
export declare class FixedBytesMemView extends BaseMemoryView<Uint8Array, FixedBytesType> {
|
|
30
|
+
decode(state: Memory): Uint8Array | DecodingFailure;
|
|
31
|
+
encode(value: Uint8Array<ArrayBufferLike>, state: Memory): void;
|
|
32
|
+
}
|
|
33
|
+
export declare abstract class PackedArrayMemView<V extends Value, T extends TypeNode> extends BaseMemoryView<V, T> {
|
|
34
|
+
protected decodeBytesAt(loc: bigint, state: Memory): Uint8Array | DecodingFailure;
|
|
35
|
+
protected encodeBytesAt(value: Uint8Array, off: bigint, state: Memory): void;
|
|
36
|
+
}
|
|
37
|
+
export declare class BytesMemView extends PackedArrayMemView<Uint8Array, BytesType> {
|
|
38
|
+
decode(state: Memory): Uint8Array | DecodingFailure;
|
|
39
|
+
encode(value: Uint8Array, state: Memory): void;
|
|
40
|
+
}
|
|
41
|
+
export declare class StringMemView extends PackedArrayMemView<string, StringType> {
|
|
42
|
+
decode(state: Memory): string | DecodingFailure;
|
|
43
|
+
encode(value: string, state: Memory): void;
|
|
44
|
+
}
|
|
45
|
+
export declare class ArrayMemView extends BaseMemoryView<Value[], ArrayType> {
|
|
46
|
+
decode(state: Memory): Value[] | DecodingFailure;
|
|
47
|
+
encode(value: Value[], state: Memory, alloc: Allocator): void;
|
|
48
|
+
}
|
|
49
|
+
export declare class StructMemView extends BaseMemoryView<Struct, ExpStructType> {
|
|
50
|
+
decode(state: Memory): Struct;
|
|
51
|
+
encode(value: Struct, state: Memory, alloc: Allocator): void;
|
|
52
|
+
}
|
|
53
|
+
export declare class PointerMemView extends BaseMemoryView<Value, PointerType> {
|
|
54
|
+
decode(state: Memory): Value | DecodingFailure;
|
|
55
|
+
/**
|
|
56
|
+
* Helper to compute how much memory we need to allocate for a pointed-to value of type t
|
|
57
|
+
*/
|
|
58
|
+
static allocSize(v: Value | undefined, t: TypeNode): number;
|
|
59
|
+
encode(value: Value, state: Memory, alloc: Allocator): void;
|
|
60
|
+
}
|
|
61
|
+
export declare class MissingMemView extends BaseMemoryView<Value, MissingType> {
|
|
62
|
+
decode(): DecodingFailure;
|
|
63
|
+
encode(): void;
|
|
64
|
+
}
|
|
65
|
+
export declare function makeMemoryView(type: TypeNode, loc: bigint): BaseMemoryView<Value, TypeNode>;
|
|
66
|
+
//# sourceMappingURL=view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../../src/debug/decoding/memory/view.ts"],"names":[],"mappings":"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"}
|