sol-dbg 0.0.1 → 0.0.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/README.md +3 -0
- package/dist/debug/abi.d.ts +3 -3
- package/dist/debug/abi.d.ts.map +1 -1
- package/dist/debug/abi.js +14 -12
- package/dist/debug/abi.js.map +1 -1
- package/dist/debug/artifact_manager.d.ts +10 -1
- package/dist/debug/artifact_manager.d.ts.map +1 -1
- package/dist/debug/artifact_manager.js +21 -1
- package/dist/debug/artifact_manager.js.map +1 -1
- package/dist/debug/decoding/calldata.d.ts +4 -3
- package/dist/debug/decoding/calldata.d.ts.map +1 -1
- package/dist/debug/decoding/calldata.js +55 -15
- package/dist/debug/decoding/calldata.js.map +1 -1
- package/dist/debug/decoding/general.d.ts +2 -2
- package/dist/debug/decoding/general.d.ts.map +1 -1
- package/dist/debug/decoding/general.js +11 -12
- package/dist/debug/decoding/general.js.map +1 -1
- package/dist/debug/decoding/memory.d.ts +2 -2
- package/dist/debug/decoding/memory.d.ts.map +1 -1
- package/dist/debug/decoding/memory.js +17 -16
- package/dist/debug/decoding/memory.js.map +1 -1
- package/dist/debug/decoding/stack.d.ts +2 -2
- package/dist/debug/decoding/stack.d.ts.map +1 -1
- package/dist/debug/decoding/stack.js +3 -3
- package/dist/debug/decoding/stack.js.map +1 -1
- package/dist/debug/decoding/storage.d.ts +2 -2
- package/dist/debug/decoding/storage.d.ts.map +1 -1
- package/dist/debug/decoding/storage.js +22 -22
- package/dist/debug/decoding/storage.js.map +1 -1
- package/dist/debug/sol_debugger.d.ts +1 -1
- package/dist/debug/sol_debugger.d.ts.map +1 -1
- package/dist/debug/sol_debugger.js +12 -9
- package/dist/debug/sol_debugger.js.map +1 -1
- package/dist/utils/misc.d.ts +2 -3
- package/dist/utils/misc.d.ts.map +1 -1
- package/dist/utils/misc.js +2 -3
- package/dist/utils/misc.js.map +1 -1
- package/dist/utils/srcmap.d.ts +1 -0
- package/dist/utils/srcmap.d.ts.map +1 -1
- package/dist/utils/srcmap.js +61 -1
- package/dist/utils/srcmap.js.map +1 -1
- package/package.json +14 -20
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"general.js","sourceRoot":"","sources":["../../../src/debug/decoding/general.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"general.js","sourceRoot":"","sources":["../../../src/debug/decoding/general.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TypeNode } from "solc-typed-ast";
|
|
1
|
+
import { InferType, TypeNode } from "solc-typed-ast";
|
|
2
2
|
import { LinearMemoryLocation, Memory } from "..";
|
|
3
|
-
export declare function mem_decodeValue(typ: TypeNode, loc: LinearMemoryLocation, memory: Memory): undefined | [any, number];
|
|
3
|
+
export declare function mem_decodeValue(typ: TypeNode, loc: LinearMemoryLocation, memory: Memory, infer: InferType): undefined | [any, number];
|
|
4
4
|
//# sourceMappingURL=memory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/debug/decoding/memory.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/debug/decoding/memory.ts"],"names":[],"mappings":"AACA,OAAO,EAWH,SAAS,EAQT,QAAQ,EAGX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAkC,oBAAoB,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAqSlF,wBAAgB,eAAe,CAC3B,GAAG,EAAE,QAAQ,EACb,GAAG,EAAE,oBAAoB,EACzB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,SAAS,GACjB,SAAS,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CA+D3B"}
|
|
@@ -79,7 +79,7 @@ function mem_decodeString(loc, memory) {
|
|
|
79
79
|
const str = bytes[0].toString("utf-8");
|
|
80
80
|
return [str, bytes[1]];
|
|
81
81
|
}
|
|
82
|
-
function mem_decodeArray(typ, loc, memory) {
|
|
82
|
+
function mem_decodeArray(typ, loc, memory, infer) {
|
|
83
83
|
let arrOffset = loc.address;
|
|
84
84
|
let arrBytesSize = 0;
|
|
85
85
|
let numLen;
|
|
@@ -103,7 +103,7 @@ function mem_decodeArray(typ, loc, memory) {
|
|
|
103
103
|
}
|
|
104
104
|
const res = [];
|
|
105
105
|
for (let i = 0; i < numLen; i++) {
|
|
106
|
-
const elementTuple = mem_decodeValue(typ.elementT, { kind: loc.kind, address: arrOffset }, memory);
|
|
106
|
+
const elementTuple = mem_decodeValue(typ.elementT, { kind: loc.kind, address: arrOffset }, memory, infer);
|
|
107
107
|
if (elementTuple === undefined) {
|
|
108
108
|
return undefined;
|
|
109
109
|
}
|
|
@@ -114,12 +114,13 @@ function mem_decodeArray(typ, loc, memory) {
|
|
|
114
114
|
}
|
|
115
115
|
return [res, arrBytesSize];
|
|
116
116
|
}
|
|
117
|
-
function mem_decodeTuple(typ, loc, memory) {
|
|
117
|
+
function mem_decodeTuple(typ, loc, memory, infer) {
|
|
118
118
|
let tupleOffset = loc.address;
|
|
119
119
|
let size = 0;
|
|
120
120
|
const res = [];
|
|
121
121
|
for (const field of typ.elements) {
|
|
122
|
-
|
|
122
|
+
(0, solc_typed_ast_1.assert)(field !== null, ``);
|
|
123
|
+
const decodeRes = mem_decodeValue(field, { kind: loc.kind, address: tupleOffset }, memory, infer);
|
|
123
124
|
if (decodeRes === undefined) {
|
|
124
125
|
return undefined;
|
|
125
126
|
}
|
|
@@ -130,14 +131,14 @@ function mem_decodeTuple(typ, loc, memory) {
|
|
|
130
131
|
}
|
|
131
132
|
return [res, size];
|
|
132
133
|
}
|
|
133
|
-
function mem_decodeStruct(def, loc, memory) {
|
|
134
|
+
function mem_decodeStruct(def, loc, memory, infer) {
|
|
134
135
|
const res = {};
|
|
135
136
|
let size = 0;
|
|
136
137
|
let offset = loc.address;
|
|
137
138
|
for (let i = 0; i < def.vMembers.length; i++) {
|
|
138
139
|
const field = def.vMembers[i];
|
|
139
|
-
const fieldT = (0, solc_typed_ast_1.specializeType)(
|
|
140
|
-
const fieldRes = mem_decodeValue(fieldT, { kind: loc.kind, address: offset }, memory);
|
|
140
|
+
const fieldT = (0, solc_typed_ast_1.specializeType)(infer.typeNameToTypeNode(field.vType), solc_typed_ast_1.DataLocation.Memory);
|
|
141
|
+
const fieldRes = mem_decodeValue(fieldT, { kind: loc.kind, address: offset }, memory, infer);
|
|
141
142
|
if (fieldRes === undefined) {
|
|
142
143
|
return undefined;
|
|
143
144
|
}
|
|
@@ -147,7 +148,7 @@ function mem_decodeStruct(def, loc, memory) {
|
|
|
147
148
|
}
|
|
148
149
|
return [res, size];
|
|
149
150
|
}
|
|
150
|
-
function mem_decodePointer(typ, loc, memory) {
|
|
151
|
+
function mem_decodePointer(typ, loc, memory, infer) {
|
|
151
152
|
(0, solc_typed_ast_1.assert)(typ.location === solc_typed_ast_1.DataLocation.Memory, `Unexpected pointer to ${typ.location} in memory`);
|
|
152
153
|
const offRes = mem_decodeInt(__2.uint256, loc, memory);
|
|
153
154
|
if (offRes === undefined) {
|
|
@@ -158,13 +159,13 @@ function mem_decodePointer(typ, loc, memory) {
|
|
|
158
159
|
kind: __1.DataLocationKind.Memory,
|
|
159
160
|
address: offRes[0]
|
|
160
161
|
};
|
|
161
|
-
const pointedToValue = mem_decodeValue(typ.to, pointedToLoc, memory);
|
|
162
|
+
const pointedToValue = mem_decodeValue(typ.to, pointedToLoc, memory, infer);
|
|
162
163
|
if (pointedToValue === undefined) {
|
|
163
164
|
return undefined;
|
|
164
165
|
}
|
|
165
166
|
return [pointedToValue[0], size];
|
|
166
167
|
}
|
|
167
|
-
function mem_decodeValue(typ, loc, memory) {
|
|
168
|
+
function mem_decodeValue(typ, loc, memory, infer) {
|
|
168
169
|
//console.error(`mem_decodeValue(${typ.pp()}, ${ppLoc(loc)})`);
|
|
169
170
|
if (typ instanceof solc_typed_ast_1.IntType) {
|
|
170
171
|
return mem_decodeInt(typ, loc, memory);
|
|
@@ -187,16 +188,16 @@ function mem_decodeValue(typ, loc, memory) {
|
|
|
187
188
|
return mem_decodeAddress(loc, memory);
|
|
188
189
|
}
|
|
189
190
|
if (def instanceof solc_typed_ast_1.UserDefinedValueTypeDefinition) {
|
|
190
|
-
const underlyingType =
|
|
191
|
-
return mem_decodeValue(underlyingType, loc, memory);
|
|
191
|
+
const underlyingType = infer.typeNameToTypeNode(def.underlyingType);
|
|
192
|
+
return mem_decodeValue(underlyingType, loc, memory, infer);
|
|
192
193
|
}
|
|
193
194
|
if (def instanceof solc_typed_ast_1.StructDefinition) {
|
|
194
|
-
return mem_decodeStruct(def, loc, memory);
|
|
195
|
+
return mem_decodeStruct(def, loc, memory, infer);
|
|
195
196
|
}
|
|
196
197
|
throw new Error(`NYI decoding user defined type ${typ.pp()}`);
|
|
197
198
|
}
|
|
198
199
|
if (typ instanceof solc_typed_ast_1.ArrayType) {
|
|
199
|
-
return mem_decodeArray(typ, loc, memory);
|
|
200
|
+
return mem_decodeArray(typ, loc, memory, infer);
|
|
200
201
|
}
|
|
201
202
|
if (typ instanceof solc_typed_ast_1.BytesType) {
|
|
202
203
|
return mem_decodeBytes(loc, memory);
|
|
@@ -205,10 +206,10 @@ function mem_decodeValue(typ, loc, memory) {
|
|
|
205
206
|
return mem_decodeString(loc, memory);
|
|
206
207
|
}
|
|
207
208
|
if (typ instanceof solc_typed_ast_1.TupleType) {
|
|
208
|
-
return mem_decodeTuple(typ, loc, memory);
|
|
209
|
+
return mem_decodeTuple(typ, loc, memory, infer);
|
|
209
210
|
}
|
|
210
211
|
if (typ instanceof solc_typed_ast_1.PointerType) {
|
|
211
|
-
return mem_decodePointer(typ, loc, memory);
|
|
212
|
+
return mem_decodePointer(typ, loc, memory, infer);
|
|
212
213
|
}
|
|
213
214
|
throw new Error(`NYI decoding ${typ.pp()}`);
|
|
214
215
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/debug/decoding/memory.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/debug/decoding/memory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { IntType, TypeNode } from "solc-typed-ast";
|
|
1
|
+
import { InferType, IntType, TypeNode } from "solc-typed-ast";
|
|
2
2
|
import { Stack, StackLocation } from "..";
|
|
3
3
|
export declare function st_decodeInt(typ: IntType, loc: StackLocation, stack: Stack): undefined | bigint;
|
|
4
4
|
/**
|
|
5
5
|
* Decode a single value from a stack location. All values in the stack span exactly
|
|
6
6
|
* one slot (32 bytes). Returns the decoded value or undefined (if it failed decoding for some reason)
|
|
7
7
|
*/
|
|
8
|
-
export declare function st_decodeValue(typ: TypeNode, loc: StackLocation, stack: Stack): any;
|
|
8
|
+
export declare function st_decodeValue(typ: TypeNode, loc: StackLocation, stack: Stack, infer: InferType): any;
|
|
9
9
|
//# sourceMappingURL=stack.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../../src/debug/decoding/stack.ts"],"names":[],"mappings":"AACA,OAAO,EAQH,OAAO,
|
|
1
|
+
{"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../../src/debug/decoding/stack.ts"],"names":[],"mappings":"AACA,OAAO,EAQH,SAAS,EACT,OAAO,EACP,QAAQ,EAGX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAO1C,wBAAgB,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,GAAG,SAAS,GAAG,MAAM,CAqB/F;AA0CD;;;GAGG;AACH,wBAAgB,cAAc,CAC1B,GAAG,EAAE,QAAQ,EACb,GAAG,EAAE,aAAa,EAClB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,SAAS,GACjB,GAAG,CAuCL"}
|
|
@@ -51,7 +51,7 @@ function st_decodeEnum(def, loc, stack) {
|
|
|
51
51
|
* Decode a single value from a stack location. All values in the stack span exactly
|
|
52
52
|
* one slot (32 bytes). Returns the decoded value or undefined (if it failed decoding for some reason)
|
|
53
53
|
*/
|
|
54
|
-
function st_decodeValue(typ, loc, stack) {
|
|
54
|
+
function st_decodeValue(typ, loc, stack, infer) {
|
|
55
55
|
//console.error(`st_decodeValue(${typ.pp()}, ${ppLoc(loc)})`);
|
|
56
56
|
if (typ instanceof solc_typed_ast_1.IntType) {
|
|
57
57
|
return st_decodeInt(typ, loc, stack);
|
|
@@ -74,8 +74,8 @@ function st_decodeValue(typ, loc, stack) {
|
|
|
74
74
|
return st_decodeAddress(loc, stack);
|
|
75
75
|
}
|
|
76
76
|
if (def instanceof solc_typed_ast_1.UserDefinedValueTypeDefinition) {
|
|
77
|
-
const underlyingType =
|
|
78
|
-
return st_decodeValue(underlyingType, loc, stack);
|
|
77
|
+
const underlyingType = infer.typeNameToTypeNode(def.underlyingType);
|
|
78
|
+
return st_decodeValue(underlyingType, loc, stack, infer);
|
|
79
79
|
}
|
|
80
80
|
throw new Error(`NYI decoding user defined type ${typ.pp()} from the stack`);
|
|
81
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stack.js","sourceRoot":"","sources":["../../../src/debug/decoding/stack.ts"],"names":[],"mappings":";;;AACA,mDAawB;AAExB,uCAAwE;AAExE,SAAS,cAAc,CAAC,aAAqB,EAAE,KAAY;IACvD,OAAO,KAAK,CAAC,MAAM,IAAI,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,aAAa,GAAG,CAAC,CAAC,CAAC;AAC/F,CAAC;AAED,SAAgB,YAAY,CAAC,GAAY,EAAE,GAAkB,EAAE,KAAY;IACvE,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAEtD,IAAI,IAAI,KAAK,SAAS,EAAE;QACpB,OAAO,SAAS,CAAC;KACpB;IAED,IAAI,GAAG,GAAG,IAAA,4BAAoB,EAAC,IAAI,CAAC,CAAC;IACrC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE;QAC1E,2CAA2C;QAC3C,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3D,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;KACnD;IAED,gDAAgD;IAChD,IAAA,uBAAM,EACF,IAAA,YAAI,EAAC,GAAG,EAAE,GAAG,CAAC,EACd,iBAAiB,GAAG,SAAS,GAAG,iCAAiC,GAAG,CAAC,EAAE,EAAE,EAAE,CAC9E,CAAC;IAEF,OAAO,GAAG,CAAC;AACf,CAAC;AArBD,oCAqBC;AAED,SAAS,gBAAgB,CAAC,GAAkB,EAAE,KAAY;IACtD,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAE1D,IAAI,QAAQ,KAAK,SAAS,EAAE;QACxB,OAAO,SAAS,CAAC;KACpB;IAED,OAAO,IAAA,qBAAa,EAAC,QAAQ,CAAC,CAAC;AACnC,CAAC;AAED,SAAS,mBAAmB,CACxB,GAAmB,EACnB,GAAkB,EAClB,KAAY;IAEZ,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAE1D,IAAI,QAAQ,KAAK,SAAS,EAAE;QACxB,OAAO,SAAS,CAAC;KACpB;IAED,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,aAAa,CAAC,GAAkB,EAAE,KAAY;IACnD,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;IAE1D,IAAI,QAAQ,KAAK,SAAS,EAAE;QACxB,OAAO,SAAS,CAAC;KACpB;IAED,OAAO,IAAA,4BAAoB,EAAC,QAAQ,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,aAAa,CAAC,GAAmB,EAAE,GAAkB,EAAE,KAAY;IACxE,MAAM,OAAO,GAAG,IAAA,8BAAa,EAAC,GAAG,CAAC,CAAC;IAEnC,OAAO,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED;;;GAGG;AACH,SAAgB,cAAc,
|
|
1
|
+
{"version":3,"file":"stack.js","sourceRoot":"","sources":["../../../src/debug/decoding/stack.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TypeNode } from "solc-typed-ast";
|
|
1
|
+
import { InferType, TypeNode } from "solc-typed-ast";
|
|
2
2
|
import { Storage, StorageLocation } from "..";
|
|
3
|
-
export declare function stor_decodeValue(typ: TypeNode, loc: StorageLocation, storage: Storage): undefined | [any, StorageLocation];
|
|
3
|
+
export declare function stor_decodeValue(typ: TypeNode, loc: StorageLocation, storage: Storage, infer: InferType): undefined | [any, StorageLocation];
|
|
4
4
|
//# sourceMappingURL=storage.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/debug/decoding/storage.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/debug/decoding/storage.ts"],"names":[],"mappings":"AACA,OAAO,EAWH,SAAS,EAMT,QAAQ,EAGX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAoB,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAqchE,wBAAgB,gBAAgB,CAC5B,GAAG,EAAE,QAAQ,EACb,GAAG,EAAE,eAAe,EACpB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,SAAS,GACjB,SAAS,GAAG,CAAC,GAAG,EAAE,eAAe,CAAC,CAsDpC"}
|
|
@@ -109,7 +109,7 @@ function stor_decodeAddress(loc, storage) {
|
|
|
109
109
|
/**
|
|
110
110
|
* Compute the 'static' size that a variable of type `typ` would take up in storage
|
|
111
111
|
*/
|
|
112
|
-
function typeStaticStorSize(typ) {
|
|
112
|
+
function typeStaticStorSize(typ, infer) {
|
|
113
113
|
if (typ instanceof solc_typed_ast_1.IntType) {
|
|
114
114
|
return typ.nBits / 8;
|
|
115
115
|
}
|
|
@@ -127,12 +127,12 @@ function typeStaticStorSize(typ) {
|
|
|
127
127
|
return (0, solc_typed_ast_1.enumToIntType)(typ.definition).nBits / 8;
|
|
128
128
|
}
|
|
129
129
|
if (typ.definition instanceof solc_typed_ast_1.UserDefinedValueTypeDefinition) {
|
|
130
|
-
return typeStaticStorSize(
|
|
130
|
+
return typeStaticStorSize(infer.typeNameToTypeNode(typ.definition.underlyingType), infer);
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
133
|
throw new Error(`NYI typStaticStorSize(${typ.pp()})`);
|
|
134
134
|
}
|
|
135
|
-
function typeFitsInLoc(typ, loc) {
|
|
135
|
+
function typeFitsInLoc(typ, loc, infer) {
|
|
136
136
|
if (typ instanceof solc_typed_ast_1.PointerType) {
|
|
137
137
|
if (typ.to instanceof solc_typed_ast_1.ArrayType ||
|
|
138
138
|
typ.to instanceof solc_typed_ast_1.BytesType ||
|
|
@@ -143,7 +143,7 @@ function typeFitsInLoc(typ, loc) {
|
|
|
143
143
|
}
|
|
144
144
|
throw new Error(`NYI firstLocationOfTypeAfter(${typ.pp()},...)`);
|
|
145
145
|
}
|
|
146
|
-
const size = typeStaticStorSize(typ);
|
|
146
|
+
const size = typeStaticStorSize(typ, infer);
|
|
147
147
|
(0, solc_typed_ast_1.assert)(size <= 32, `Unexpected type ${typ.pp()} spanning more than a single word`);
|
|
148
148
|
return size <= loc.endOffsetInWord;
|
|
149
149
|
}
|
|
@@ -154,8 +154,8 @@ function nextWord(loc) {
|
|
|
154
154
|
address: loc.address + BigInt(1)
|
|
155
155
|
};
|
|
156
156
|
}
|
|
157
|
-
function roundLocToType(loc, typ) {
|
|
158
|
-
if (typeFitsInLoc(typ, loc)) {
|
|
157
|
+
function roundLocToType(loc, typ, infer) {
|
|
158
|
+
if (typeFitsInLoc(typ, loc, infer)) {
|
|
159
159
|
return loc;
|
|
160
160
|
}
|
|
161
161
|
return nextWord(loc);
|
|
@@ -165,7 +165,7 @@ function roundLocToType(loc, typ) {
|
|
|
165
165
|
* Returns undefined when it fails decoding, otherwise a pair `[any, number]`
|
|
166
166
|
* containing an object with the decoded fields and its size in bytes in storage.
|
|
167
167
|
*/
|
|
168
|
-
function stor_decodeStruct(typ, loc, storage) {
|
|
168
|
+
function stor_decodeStruct(typ, loc, storage, infer) {
|
|
169
169
|
const def = typ.definition;
|
|
170
170
|
(0, solc_typed_ast_1.assert)(def instanceof solc_typed_ast_1.StructDefinition, `stor_decodeStruct expects a struct, not {0}`, typ);
|
|
171
171
|
(0, solc_typed_ast_1.assert)(loc.endOffsetInWord === 32, `Internal Error: Location of struct of type {0} doesn't start at the end of word {1} - instead at off {2}`, typ, loc.address, loc.endOffsetInWord);
|
|
@@ -173,14 +173,14 @@ function stor_decodeStruct(typ, loc, storage) {
|
|
|
173
173
|
for (const field of def.vMembers) {
|
|
174
174
|
let fieldGenT;
|
|
175
175
|
try {
|
|
176
|
-
fieldGenT =
|
|
176
|
+
fieldGenT = infer.variableDeclarationToTypeNode(field);
|
|
177
177
|
}
|
|
178
178
|
catch (e) {
|
|
179
179
|
return undefined;
|
|
180
180
|
}
|
|
181
181
|
const fieldT = (0, __1.changeToLocation)(fieldGenT, solc_typed_ast_1.DataLocation.Storage);
|
|
182
|
-
loc = roundLocToType(loc, fieldT);
|
|
183
|
-
const fieldVal = stor_decodeValue(fieldT, loc, storage);
|
|
182
|
+
loc = roundLocToType(loc, fieldT, infer);
|
|
183
|
+
const fieldVal = stor_decodeValue(fieldT, loc, storage, infer);
|
|
184
184
|
if (fieldVal === undefined) {
|
|
185
185
|
return undefined;
|
|
186
186
|
}
|
|
@@ -221,7 +221,7 @@ function stor_decodeString(loc, storage) {
|
|
|
221
221
|
const str = res[0].toString("utf-8");
|
|
222
222
|
return [str, res[1]];
|
|
223
223
|
}
|
|
224
|
-
function stor_decodeArray(typ, loc, storage) {
|
|
224
|
+
function stor_decodeArray(typ, loc, storage, infer) {
|
|
225
225
|
let numLen;
|
|
226
226
|
let contentsLoc;
|
|
227
227
|
const res = [];
|
|
@@ -246,12 +246,12 @@ function stor_decodeArray(typ, loc, storage) {
|
|
|
246
246
|
contentsLoc = loc;
|
|
247
247
|
}
|
|
248
248
|
for (let i = 0; i < numLen; i++) {
|
|
249
|
-
const elRes = stor_decodeValue(typ.elementT, contentsLoc, storage);
|
|
249
|
+
const elRes = stor_decodeValue(typ.elementT, contentsLoc, storage, infer);
|
|
250
250
|
if (elRes === undefined) {
|
|
251
251
|
return undefined;
|
|
252
252
|
}
|
|
253
253
|
res.push(elRes[0]);
|
|
254
|
-
contentsLoc = roundLocToType(elRes[1], typ.elementT);
|
|
254
|
+
contentsLoc = roundLocToType(elRes[1], typ.elementT, infer);
|
|
255
255
|
}
|
|
256
256
|
return [res, nextWord(loc)];
|
|
257
257
|
}
|
|
@@ -270,7 +270,7 @@ function stor_decodeArray(typ, loc, storage) {
|
|
|
270
270
|
* Otherwise 2*len+1 is stored at loc.address (TODO little endian? big endian encoded?) and the contents are at keccak256(loc.address)
|
|
271
271
|
* 3. Pointer to struct - the struct fields themselves directly starts at the loc.address
|
|
272
272
|
*/
|
|
273
|
-
function stor_decodePointer(typ, loc, storage) {
|
|
273
|
+
function stor_decodePointer(typ, loc, storage, infer) {
|
|
274
274
|
if (typ.to instanceof solc_typed_ast_1.BytesType) {
|
|
275
275
|
return stor_decodeBytes(loc, storage);
|
|
276
276
|
}
|
|
@@ -279,15 +279,15 @@ function stor_decodePointer(typ, loc, storage) {
|
|
|
279
279
|
}
|
|
280
280
|
if (typ.to instanceof solc_typed_ast_1.UserDefinedType) {
|
|
281
281
|
if (typ.to.definition instanceof solc_typed_ast_1.StructDefinition) {
|
|
282
|
-
return stor_decodeStruct(typ.to, loc, storage);
|
|
282
|
+
return stor_decodeStruct(typ.to, loc, storage, infer);
|
|
283
283
|
}
|
|
284
284
|
}
|
|
285
285
|
if (typ.to instanceof solc_typed_ast_1.ArrayType) {
|
|
286
|
-
return stor_decodeArray(typ.to, loc, storage);
|
|
286
|
+
return stor_decodeArray(typ.to, loc, storage, infer);
|
|
287
287
|
}
|
|
288
288
|
throw new Error(`NYI stor_decodePointer(${typ.pp()},...)`);
|
|
289
289
|
}
|
|
290
|
-
function stor_decodeValue(typ, loc, storage) {
|
|
290
|
+
function stor_decodeValue(typ, loc, storage, infer) {
|
|
291
291
|
if (typ instanceof solc_typed_ast_1.IntType) {
|
|
292
292
|
return stor_decodeInt(typ, loc, storage);
|
|
293
293
|
}
|
|
@@ -301,7 +301,7 @@ function stor_decodeValue(typ, loc, storage) {
|
|
|
301
301
|
return stor_decodeAddress(loc, storage);
|
|
302
302
|
}
|
|
303
303
|
if (typ instanceof solc_typed_ast_1.PointerType) {
|
|
304
|
-
return stor_decodePointer(typ, loc, storage);
|
|
304
|
+
return stor_decodePointer(typ, loc, storage, infer);
|
|
305
305
|
}
|
|
306
306
|
if (typ instanceof solc_typed_ast_1.BytesType) {
|
|
307
307
|
return stor_decodeBytes(loc, storage);
|
|
@@ -310,11 +310,11 @@ function stor_decodeValue(typ, loc, storage) {
|
|
|
310
310
|
return stor_decodeString(loc, storage);
|
|
311
311
|
}
|
|
312
312
|
if (typ instanceof solc_typed_ast_1.ArrayType) {
|
|
313
|
-
return stor_decodeArray(typ, loc, storage);
|
|
313
|
+
return stor_decodeArray(typ, loc, storage, infer);
|
|
314
314
|
}
|
|
315
315
|
if (typ instanceof solc_typed_ast_1.UserDefinedType) {
|
|
316
316
|
if (typ.definition instanceof solc_typed_ast_1.StructDefinition) {
|
|
317
|
-
return stor_decodeStruct(typ, loc, storage);
|
|
317
|
+
return stor_decodeStruct(typ, loc, storage, infer);
|
|
318
318
|
}
|
|
319
319
|
if (typ.definition instanceof solc_typed_ast_1.ContractDefinition) {
|
|
320
320
|
return stor_decodeAddress(loc, storage);
|
|
@@ -323,8 +323,8 @@ function stor_decodeValue(typ, loc, storage) {
|
|
|
323
323
|
return stor_decodeEnum(typ.definition, loc, storage);
|
|
324
324
|
}
|
|
325
325
|
if (typ.definition instanceof solc_typed_ast_1.UserDefinedValueTypeDefinition) {
|
|
326
|
-
const underlyingType =
|
|
327
|
-
return stor_decodeValue(underlyingType, loc, storage);
|
|
326
|
+
const underlyingType = infer.typeNameToTypeNode(typ.definition.underlyingType);
|
|
327
|
+
return stor_decodeValue(underlyingType, loc, storage, infer);
|
|
328
328
|
}
|
|
329
329
|
}
|
|
330
330
|
throw new Error(`NYI storage decode for type ${typ.pp()}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/debug/decoding/storage.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/debug/decoding/storage.ts"],"names":[],"mappings":"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"}
|
|
@@ -189,7 +189,7 @@ export declare function getContractInfo(arg: Frame | DbgStack): ContractInfo | u
|
|
|
189
189
|
* All the above information is held for each step in the `DbgState` struct.
|
|
190
190
|
*/
|
|
191
191
|
export declare class SolTxDebugger {
|
|
192
|
-
|
|
192
|
+
readonly artifactManager: IArtifactManager;
|
|
193
193
|
constructor(artifactManager: IArtifactManager);
|
|
194
194
|
/**
|
|
195
195
|
* Given the VM state of a trace step adjust the stack trace accordingly. This handles the following cases:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sol_debugger.d.ts","sourceRoot":"","sources":["../../src/debug/sol_debugger.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAChC,OAAO,EAAE,eAAe,EAAE,MAAM,qCAAqC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,OAAO,EAAO,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAEH,OAAO,EAGP,QAAQ,
|
|
1
|
+
{"version":3,"file":"sol_debugger.d.ts","sourceRoot":"","sources":["../../src/debug/sol_debugger.ts"],"names":[],"mappings":"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"}
|
|
@@ -148,7 +148,8 @@ class SolTxDebugger {
|
|
|
148
148
|
let args;
|
|
149
149
|
if (ast instanceof solc_typed_ast_1.FunctionDefinition ||
|
|
150
150
|
(ast instanceof solc_typed_ast_1.VariableDeclaration && ast.stateVariable)) {
|
|
151
|
-
|
|
151
|
+
(0, solc_typed_ast_1.assert)(curExtFrame.info !== undefined, ``);
|
|
152
|
+
args = this.decodeFunArgs(ast, state.evmStack, curExtFrame.info);
|
|
152
153
|
}
|
|
153
154
|
const newFrame = {
|
|
154
155
|
kind: FrameKind.InternalCall,
|
|
@@ -250,8 +251,8 @@ class SolTxDebugger {
|
|
|
250
251
|
let emittedEvent = undefined;
|
|
251
252
|
// Finally check if an event is being emitted for this step
|
|
252
253
|
if (step.opcode.name.startsWith("LOG")) {
|
|
253
|
-
const off =
|
|
254
|
-
const size =
|
|
254
|
+
const off = (0, utils_1.bigEndianBufToNumber)(evmStack[evmStack.length - 1]);
|
|
255
|
+
const size = (0, utils_1.bigEndianBufToNumber)(evmStack[evmStack.length - 2]);
|
|
255
256
|
const nTopics = step.opcode.name[3] - "0";
|
|
256
257
|
const payload = memory.slice(off, off + size);
|
|
257
258
|
emittedEvent = {
|
|
@@ -339,7 +340,8 @@ class SolTxDebugger {
|
|
|
339
340
|
if (contractInfo && contractInfo.ast) {
|
|
340
341
|
const contract = contractInfo.ast;
|
|
341
342
|
const abiVersion = contractInfo.artifact.abiEncoderVersion;
|
|
342
|
-
const
|
|
343
|
+
const infer = this.artifactManager.infer(contractInfo.artifact.compilerVersion);
|
|
344
|
+
const matchingFuns = contract.vFunctions.filter((fun) => (0, __1.getFunctionSelector)(fun, infer) === selector);
|
|
343
345
|
if (matchingFuns.length === 1) {
|
|
344
346
|
callee = matchingFuns[0];
|
|
345
347
|
}
|
|
@@ -347,7 +349,7 @@ class SolTxDebugger {
|
|
|
347
349
|
const matchingGetters = contract.vStateVariables.filter((vDef) => {
|
|
348
350
|
try {
|
|
349
351
|
return (vDef.visibility === solc_typed_ast_1.StateVariableVisibility.Public &&
|
|
350
|
-
|
|
352
|
+
infer.signatureHash(vDef));
|
|
351
353
|
}
|
|
352
354
|
catch (e) {
|
|
353
355
|
return false;
|
|
@@ -359,7 +361,7 @@ class SolTxDebugger {
|
|
|
359
361
|
}
|
|
360
362
|
if (callee !== undefined) {
|
|
361
363
|
try {
|
|
362
|
-
args = (0, abi_1.decodeMsgData)(callee, data, DataLocationKind.CallData, abiVersion);
|
|
364
|
+
args = (0, abi_1.decodeMsgData)(callee, data, DataLocationKind.CallData, infer, abiVersion);
|
|
363
365
|
}
|
|
364
366
|
catch (e) {
|
|
365
367
|
args = undefined;
|
|
@@ -403,17 +405,18 @@ class SolTxDebugger {
|
|
|
403
405
|
* TODO: Rename - this function doesn't do any actual decoding - just building up DataView for the arguments
|
|
404
406
|
* of a function
|
|
405
407
|
*/
|
|
406
|
-
decodeFunArgs(callee, stack) {
|
|
408
|
+
decodeFunArgs(callee, stack, contractInfo) {
|
|
407
409
|
const res = [];
|
|
408
410
|
let formals;
|
|
411
|
+
const infer = this.artifactManager.infer(contractInfo.artifact.compilerVersion);
|
|
409
412
|
try {
|
|
410
413
|
formals =
|
|
411
414
|
callee instanceof solc_typed_ast_1.FunctionDefinition
|
|
412
415
|
? callee.vParameters.vParameters.map((argDef) => [
|
|
413
416
|
argDef.name,
|
|
414
|
-
|
|
417
|
+
infer.variableDeclarationToTypeNode(argDef)
|
|
415
418
|
])
|
|
416
|
-
:
|
|
419
|
+
: infer.getterArgsAndReturn(callee)[0].map((typ, i) => [`ARG_${i}`, typ]);
|
|
417
420
|
}
|
|
418
421
|
catch (e) {
|
|
419
422
|
// `variableDeclarationToTypeNode` may fail when referencing structs/contracts that are defined
|