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
|
@@ -1,20 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ArtifactManager =
|
|
3
|
+
exports.ArtifactManager = void 0;
|
|
4
4
|
exports.getOffsetSrc = getOffsetSrc;
|
|
5
5
|
const util_1 = require("@ethereumjs/util");
|
|
6
6
|
const keccak_1 = require("ethereum-cryptography/keccak");
|
|
7
7
|
const utils_1 = require("ethereum-cryptography/utils");
|
|
8
8
|
const solc_typed_ast_1 = require("solc-typed-ast");
|
|
9
9
|
const abi_1 = require("solc-typed-ast/dist/types/abi");
|
|
10
|
-
const
|
|
10
|
+
const helpers_1 = require("../../artifacts/helpers");
|
|
11
|
+
const misc_1 = require("../../utils/misc");
|
|
12
|
+
const solidity_1 = require("../../utils/solidity");
|
|
13
|
+
const srcmap_1 = require("../../utils/srcmap");
|
|
11
14
|
const opcodes_1 = require("../opcodes");
|
|
12
15
|
const bytecode_templates_1 = require("./bytecode_templates");
|
|
13
|
-
|
|
14
|
-
(function (SourceFileType) {
|
|
15
|
-
SourceFileType["Solidity"] = "solidity";
|
|
16
|
-
SourceFileType["InternalYul"] = "internal_yul";
|
|
17
|
-
})(SourceFileType || (exports.SourceFileType = SourceFileType = {}));
|
|
16
|
+
const types_1 = require("./types");
|
|
18
17
|
/**
|
|
19
18
|
* Build an offset-to-instruction index map for the given bytecode. Note
|
|
20
19
|
* that since its not easy to tell exactly where the instruction section ends, we
|
|
@@ -75,7 +74,7 @@ class ArtifactManager {
|
|
|
75
74
|
}
|
|
76
75
|
else {
|
|
77
76
|
artifact = arg;
|
|
78
|
-
const maybeCompilerVersion = (0,
|
|
77
|
+
const maybeCompilerVersion = (0, helpers_1.detectArtifactCompilerVersion)(artifact);
|
|
79
78
|
(0, solc_typed_ast_1.assert)(maybeCompilerVersion !== undefined, `Couldn't find compiler version for artifact`);
|
|
80
79
|
compilerVersion = maybeCompilerVersion;
|
|
81
80
|
}
|
|
@@ -93,7 +92,7 @@ class ArtifactManager {
|
|
|
93
92
|
ast: unitMap.get(sourceInfo.ast.id),
|
|
94
93
|
name: fileName,
|
|
95
94
|
fileIndex: fileIdx,
|
|
96
|
-
type: SourceFileType.Solidity
|
|
95
|
+
type: types_1.SourceFileType.Solidity
|
|
97
96
|
});
|
|
98
97
|
}
|
|
99
98
|
const srcMap = new Map();
|
|
@@ -119,7 +118,7 @@ class ArtifactManager {
|
|
|
119
118
|
// @todo support anonymous events as well
|
|
120
119
|
if (definition instanceof solc_typed_ast_1.EventDefinition && !definition.anonymous) {
|
|
121
120
|
const evtType = infer.eventDefToType(definition);
|
|
122
|
-
const args = (0,
|
|
121
|
+
const args = (0, misc_1.zip3)(definition.vParameters.vParameters.map((d) => d.name), evtType.parameters.map((rawTyp) => infer.toABIEncodedType(rawTyp, artifactInfo.abiEncoderVersion)), definition.vParameters.vParameters.map((d) => d.indexed));
|
|
123
122
|
const topic = (0, util_1.bytesToBigInt)((0, keccak_1.keccak256)((0, utils_1.utf8ToBytes)(`${definition.name}(${args.map((x) => (0, abi_1.abiTypeToCanonicalName)(x[1])).join(",")})`)));
|
|
124
123
|
const info = {
|
|
125
124
|
definition,
|
|
@@ -132,7 +131,7 @@ class ArtifactManager {
|
|
|
132
131
|
}
|
|
133
132
|
for (const fileName in artifact.contracts) {
|
|
134
133
|
for (const contractName in artifact.contracts[fileName]) {
|
|
135
|
-
const contractDef = (0,
|
|
134
|
+
const contractDef = (0, solidity_1.findContractDef)(artifactInfo.units, fileName, contractName);
|
|
136
135
|
const contractArtifact = artifact.contracts[fileName][contractName];
|
|
137
136
|
const generatedFileMap = new Map();
|
|
138
137
|
const deployedGeneratedFileMap = new Map();
|
|
@@ -152,12 +151,12 @@ class ArtifactManager {
|
|
|
152
151
|
ast: undefined,
|
|
153
152
|
name: src.name ? src.name : "",
|
|
154
153
|
contents: src.contents ? src.contents : undefined,
|
|
155
|
-
type: SourceFileType.InternalYul,
|
|
154
|
+
type: types_1.SourceFileType.InternalYul,
|
|
156
155
|
fileIndex: src.id
|
|
157
156
|
});
|
|
158
157
|
}
|
|
159
158
|
}
|
|
160
|
-
const hash = (0,
|
|
159
|
+
const hash = (0, helpers_1.getCodeHash)(contractArtifact.evm.deployedBytecode.object);
|
|
161
160
|
const contractInfo = {
|
|
162
161
|
artifact: artifactInfo,
|
|
163
162
|
contractArtifact: contractArtifact,
|
|
@@ -166,12 +165,12 @@ class ArtifactManager {
|
|
|
166
165
|
ast: contractDef,
|
|
167
166
|
bytecode: {
|
|
168
167
|
generatedFileMap,
|
|
169
|
-
srcMap: (0,
|
|
168
|
+
srcMap: (0, srcmap_1.fastParseBytecodeSourceMapping)(contractArtifact.evm.bytecode.sourceMap),
|
|
170
169
|
offsetToIndexMap: buildOffsetToIndexMap(contractArtifact.evm.bytecode.object)
|
|
171
170
|
},
|
|
172
171
|
deployedBytecode: {
|
|
173
172
|
generatedFileMap: deployedGeneratedFileMap,
|
|
174
|
-
srcMap: (0,
|
|
173
|
+
srcMap: (0, srcmap_1.fastParseBytecodeSourceMapping)(contractArtifact.evm.deployedBytecode.sourceMap),
|
|
175
174
|
offsetToIndexMap: buildOffsetToIndexMap(contractArtifact.evm.deployedBytecode.object)
|
|
176
175
|
},
|
|
177
176
|
mdHash: hash
|
|
@@ -189,30 +188,38 @@ class ArtifactManager {
|
|
|
189
188
|
artifacts() {
|
|
190
189
|
return this._artifacts;
|
|
191
190
|
}
|
|
191
|
+
getContractInfo(contract) {
|
|
192
|
+
for (const info of this._contracts) {
|
|
193
|
+
if (info.ast === contract) {
|
|
194
|
+
return info;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
return undefined;
|
|
198
|
+
}
|
|
192
199
|
getContractFromMDHash(hash) {
|
|
193
200
|
return this._mdHashToContractInfo.get(hash);
|
|
194
201
|
}
|
|
195
202
|
getContractFromDeployedBytecode(bytecode) {
|
|
196
|
-
const hash = (0,
|
|
203
|
+
const hash = (0, helpers_1.getCodeHash)(bytecode);
|
|
197
204
|
if (hash) {
|
|
198
205
|
return this._mdHashToContractInfo.get(hash);
|
|
199
206
|
}
|
|
200
207
|
for (let i = 0; i < this._deployedBytecodeTemplates.length; i++) {
|
|
201
208
|
const templ = this._deployedBytecodeTemplates[i];
|
|
202
|
-
if ((0, bytecode_templates_1.matchesTemplate)(bytecode, templ)) {
|
|
209
|
+
if ((0, bytecode_templates_1.matchesTemplate)(bytecode, templ, false)) {
|
|
203
210
|
return this._contracts[i];
|
|
204
211
|
}
|
|
205
212
|
}
|
|
206
213
|
return undefined;
|
|
207
214
|
}
|
|
208
215
|
getContractFromCreationBytecode(creationBytecode) {
|
|
209
|
-
const hash = (0,
|
|
216
|
+
const hash = (0, helpers_1.getCreationCodeHash)(creationBytecode);
|
|
210
217
|
if (hash) {
|
|
211
218
|
return this._mdHashToContractInfo.get(hash);
|
|
212
219
|
}
|
|
213
220
|
for (let i = 0; i < this._creationBytecodeTemplates.length; i++) {
|
|
214
221
|
const templ = this._creationBytecodeTemplates[i];
|
|
215
|
-
if ((0, bytecode_templates_1.matchesTemplate)(creationBytecode, templ)) {
|
|
222
|
+
if ((0, bytecode_templates_1.matchesTemplate)(creationBytecode, templ, true)) {
|
|
216
223
|
return this._contracts[i];
|
|
217
224
|
}
|
|
218
225
|
}
|
|
@@ -249,11 +256,11 @@ class ArtifactManager {
|
|
|
249
256
|
}
|
|
250
257
|
return this._inferCache.get(version);
|
|
251
258
|
}
|
|
252
|
-
findMethod(selector) {
|
|
259
|
+
findMethod(selector, info) {
|
|
253
260
|
if (selector instanceof Uint8Array) {
|
|
254
|
-
selector = (0, utils_1.bytesToHex)(selector)
|
|
261
|
+
selector = `0x${(0, utils_1.bytesToHex)(selector)}`;
|
|
255
262
|
}
|
|
256
|
-
for (const contract of this._contracts) {
|
|
263
|
+
for (const contract of info ? [info] : this._contracts) {
|
|
257
264
|
if (!contract.ast) {
|
|
258
265
|
continue;
|
|
259
266
|
}
|
|
@@ -272,6 +279,59 @@ class ArtifactManager {
|
|
|
272
279
|
}
|
|
273
280
|
return undefined;
|
|
274
281
|
}
|
|
282
|
+
/**
|
|
283
|
+
* Given a msg.data and a target contract, compute the intended AST entry point. If any.
|
|
284
|
+
* This handles the following cases:
|
|
285
|
+
* - receive functions
|
|
286
|
+
* - fallback functions
|
|
287
|
+
* - normal function match
|
|
288
|
+
*/
|
|
289
|
+
findEntryPoint(data, info) {
|
|
290
|
+
const contract = info.ast;
|
|
291
|
+
if (!contract) {
|
|
292
|
+
return undefined;
|
|
293
|
+
}
|
|
294
|
+
// Not enough data for a signature
|
|
295
|
+
if (data.length < 4) {
|
|
296
|
+
// First check if receive function is specified
|
|
297
|
+
const recvF = (0, solidity_1.findReceiveFun)(contract);
|
|
298
|
+
if (recvF) {
|
|
299
|
+
return recvF;
|
|
300
|
+
}
|
|
301
|
+
// Otherwise we fall back to the fallback fun
|
|
302
|
+
return (0, solidity_1.findFallbackFun)(contract);
|
|
303
|
+
}
|
|
304
|
+
const strSelector = (0, utils_1.bytesToHex)(data.slice(0, 4));
|
|
305
|
+
const infer = this.infer(info.artifact.compilerVersion);
|
|
306
|
+
for (const base of contract.vLinearizedBaseContracts) {
|
|
307
|
+
if (!base) {
|
|
308
|
+
continue;
|
|
309
|
+
}
|
|
310
|
+
for (const fun of base.vFunctions) {
|
|
311
|
+
const funSel = (0, misc_1.getFunctionSelector)(fun, infer);
|
|
312
|
+
if (funSel == strSelector) {
|
|
313
|
+
return fun;
|
|
314
|
+
}
|
|
315
|
+
}
|
|
316
|
+
for (const v of base.vStateVariables) {
|
|
317
|
+
if (v.visibility !== solc_typed_ast_1.StateVariableVisibility.Public) {
|
|
318
|
+
continue;
|
|
319
|
+
}
|
|
320
|
+
let hash;
|
|
321
|
+
try {
|
|
322
|
+
hash = infer.signatureHash(v);
|
|
323
|
+
}
|
|
324
|
+
catch (e) {
|
|
325
|
+
continue;
|
|
326
|
+
}
|
|
327
|
+
if (hash == strSelector) {
|
|
328
|
+
return v;
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
// the fallback fun if there is one
|
|
333
|
+
return (0, solidity_1.findFallbackFun)(contract);
|
|
334
|
+
}
|
|
275
335
|
getEventDefInfo(arg) {
|
|
276
336
|
let topic;
|
|
277
337
|
if (typeof arg === "bigint") {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact_manager.js","sourceRoot":"","sources":["../../../src/debug/artifact_manager/artifact_manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"artifact_manager.js","sourceRoot":"","sources":["../../../src/debug/artifact_manager/artifact_manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,5 +4,5 @@ export interface BytecodeTemplate {
|
|
|
4
4
|
skipRanges: Array<[number, number]>;
|
|
5
5
|
}
|
|
6
6
|
export declare function makeTemplate(artifact: PartialBytecodeDescription): BytecodeTemplate;
|
|
7
|
-
export declare function matchesTemplate(bytecode: Uint8Array, template: BytecodeTemplate): boolean;
|
|
7
|
+
export declare function matchesTemplate(bytecode: Uint8Array, template: BytecodeTemplate, isCreation: boolean): boolean;
|
|
8
8
|
//# sourceMappingURL=bytecode_templates.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bytecode_templates.d.ts","sourceRoot":"","sources":["../../../src/debug/artifact_manager/bytecode_templates.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAa,MAAM,iBAAiB,CAAC;AAExE,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACvC;AAMD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,0BAA0B,GAAG,gBAAgB,CAuBnF;AAED,wBAAgB,eAAe,
|
|
1
|
+
{"version":3,"file":"bytecode_templates.d.ts","sourceRoot":"","sources":["../../../src/debug/artifact_manager/bytecode_templates.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAa,MAAM,iBAAiB,CAAC;AAExE,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,UAAU,CAAC;IACnB,UAAU,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CACvC;AAMD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,0BAA0B,GAAG,gBAAgB,CAuBnF;AAED,wBAAgB,eAAe,CAC3B,QAAQ,EAAE,UAAU,EACpB,QAAQ,EAAE,gBAAgB,EAC1B,UAAU,EAAE,OAAO,GACpB,OAAO,CA8BT"}
|
|
@@ -22,12 +22,13 @@ function makeTemplate(artifact) {
|
|
|
22
22
|
}
|
|
23
23
|
skipRanges.sort();
|
|
24
24
|
return {
|
|
25
|
-
object: (0, util_1.hexToBytes)(
|
|
25
|
+
object: (0, util_1.hexToBytes)(`0x${artifact.object}`),
|
|
26
26
|
skipRanges
|
|
27
27
|
};
|
|
28
28
|
}
|
|
29
|
-
function matchesTemplate(bytecode, template) {
|
|
30
|
-
if (bytecode.length
|
|
29
|
+
function matchesTemplate(bytecode, template, isCreation) {
|
|
30
|
+
if ((isCreation && bytecode.length < template.object.length) ||
|
|
31
|
+
(!isCreation && bytecode.length !== template.object.length)) {
|
|
31
32
|
return false;
|
|
32
33
|
}
|
|
33
34
|
let curIdx = 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bytecode_templates.js","sourceRoot":"","sources":["../../../src/debug/artifact_manager/bytecode_templates.ts"],"names":[],"mappings":";;AAYA,oCAuBC;AAED,
|
|
1
|
+
{"version":3,"file":"bytecode_templates.js","sourceRoot":"","sources":["../../../src/debug/artifact_manager/bytecode_templates.ts"],"names":[],"mappings":";;AAYA,oCAuBC;AAED,0CAkCC;AAvED,2CAA2D;AAQ3D,SAAS,cAAc,CAAC,OAAkB;IACtC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;AACrE,CAAC;AAED,SAAgB,YAAY,CAAC,QAAoC;IAC7D,MAAM,UAAU,GAA4B,EAAE,CAAC;IAE/C,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC1B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACvD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtC,UAAU,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC;IACL,CAAC;IAED,IAAI,QAAQ,CAAC,mBAAmB,EAAE,CAAC;QAC/B,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC/D,UAAU,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/C,CAAC;IACL,CAAC;IAED,UAAU,CAAC,IAAI,EAAE,CAAC;IAElB,OAAO;QACH,MAAM,EAAE,IAAA,iBAAU,EAAC,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;QAC1C,UAAU;KACb,CAAC;AACN,CAAC;AAED,SAAgB,eAAe,CAC3B,QAAoB,EACpB,QAA0B,EAC1B,UAAmB;IAEnB,IACI,CAAC,UAAU,IAAI,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QACxD,CAAC,CAAC,UAAU,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,EAC7D,CAAC;QACC,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,OAAO,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;QACrC,IAAI,OAAe,CAAC;QACpB,IAAI,OAAe,CAAC;QAEpB,IAAI,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACxC,CAAC,OAAO,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QACvD,CAAC;aAAM,CAAC;YACJ,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QAC/C,CAAC;QAED,IAAI,CAAC,IAAA,kBAAW,EAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAAE,CAAC;YACxF,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,GAAG,OAAO,CAAC;QACjB,QAAQ,EAAE,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/debug/artifact_manager/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/debug/artifact_manager/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC"}
|
|
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./artifact_manager"), exports);
|
|
18
|
+
__exportStar(require("./types"), exports);
|
|
18
19
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/debug/artifact_manager/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/debug/artifact_manager/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qDAAmC;AACnC,0CAAwB"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { PrefixedHexString } from "@ethereumjs/util";
|
|
2
|
+
import { ABIEncoderVersion, ASTContext, ASTNode, ContractDefinition, SourceUnit } from "solc-typed-ast";
|
|
3
|
+
import { PartialCompiledContract, PartialSolcOutput, RawAST } from "../../artifacts/solc";
|
|
4
|
+
import { DecodedBytecodeSourceMapEntry } from "../../utils/srcmap";
|
|
5
|
+
/**
|
|
6
|
+
* Bytecode info kept by the artifact manager, for each bytecode array.
|
|
7
|
+
*/
|
|
8
|
+
export interface BytecodeInfo {
|
|
9
|
+
/**
|
|
10
|
+
* Map from the file-id (used in source maps in this artifact) to the compiler-generated Yul sources for this contract's creation bytecode.
|
|
11
|
+
* Note that multiple contracts have overlapping generated units ids, so we need a mapping per-contract
|
|
12
|
+
*/
|
|
13
|
+
generatedFileMap: Map<number, SourceFileInfo>;
|
|
14
|
+
/**
|
|
15
|
+
* Source map for the bytecode. An array of {@link DecodedBytecodeSourceMapEntry}
|
|
16
|
+
*/
|
|
17
|
+
srcMap: DecodedBytecodeSourceMapEntry[];
|
|
18
|
+
/**
|
|
19
|
+
* Map from bytecode offsets to instruction indices. (since some instructions are multi-byte, offset != instruction index).
|
|
20
|
+
*/
|
|
21
|
+
offsetToIndexMap: Map<number, number>;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Contract info kept by the artifact manager for each compiled contract.
|
|
25
|
+
*/
|
|
26
|
+
export interface ContractInfo {
|
|
27
|
+
/**
|
|
28
|
+
* Reference to the compiler artifact in which we found the contract
|
|
29
|
+
*/
|
|
30
|
+
artifact: ArtifactInfo;
|
|
31
|
+
/**
|
|
32
|
+
* Reference to the compiled bytecode info for this contract. (inside the {@link ContractInfo.artifact})
|
|
33
|
+
*/
|
|
34
|
+
contractArtifact: PartialCompiledContract;
|
|
35
|
+
/**
|
|
36
|
+
* Contract name
|
|
37
|
+
*/
|
|
38
|
+
contractName: string;
|
|
39
|
+
/**
|
|
40
|
+
* File name where the contract is defined
|
|
41
|
+
*/
|
|
42
|
+
fileName: string;
|
|
43
|
+
/**
|
|
44
|
+
* A solc-typed-ast built {@link https://consensysdiligence.github.io/solc-typed-ast/classes/ContractDefinition.html ContractDefinition} for this contract (if any)
|
|
45
|
+
*/
|
|
46
|
+
ast: ContractDefinition | undefined;
|
|
47
|
+
/**
|
|
48
|
+
* Creation bytecode info
|
|
49
|
+
*/
|
|
50
|
+
bytecode: BytecodeInfo;
|
|
51
|
+
/**
|
|
52
|
+
* Deployed bytecode info
|
|
53
|
+
*/
|
|
54
|
+
deployedBytecode: BytecodeInfo;
|
|
55
|
+
/**
|
|
56
|
+
* Metadata hash found in either the deployed or creation bytecode (if any).
|
|
57
|
+
*/
|
|
58
|
+
mdHash: PrefixedHexString | undefined;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Information about a complete solc compilation artifact (that may include several contracts).
|
|
62
|
+
*/
|
|
63
|
+
export interface ArtifactInfo {
|
|
64
|
+
/**
|
|
65
|
+
* Raw solc JSON
|
|
66
|
+
*/
|
|
67
|
+
artifact: PartialSolcOutput;
|
|
68
|
+
/**
|
|
69
|
+
* List of solc-typed-ast decoded {@link https://consensysdiligence.github.io/solc-typed-ast/classes/SourceUnit.html SourceUnit}s
|
|
70
|
+
*/
|
|
71
|
+
units: SourceUnit[];
|
|
72
|
+
/**
|
|
73
|
+
* solc-typed-ast {@link https://consensysdiligence.github.io/solc-typed-ast/classes/ASTContext.html ASTContext} that owns all the decoded {@link https://consensysdiligence.github.io/solc-typed-ast/classes/SourceUnit.html SourceUnit}s
|
|
74
|
+
*/
|
|
75
|
+
ctx: ASTContext;
|
|
76
|
+
/**
|
|
77
|
+
* solc compiler version that produced this artifact
|
|
78
|
+
*/
|
|
79
|
+
compilerVersion: string;
|
|
80
|
+
/**
|
|
81
|
+
* abi encoder version for files in this artifact.
|
|
82
|
+
*/
|
|
83
|
+
abiEncoderVersion: ABIEncoderVersion;
|
|
84
|
+
/**
|
|
85
|
+
* Map from the file-id (used in source maps in this artifact) to the actual sources entry (and some additional info)
|
|
86
|
+
*/
|
|
87
|
+
fileMap: Map<number, SourceFileInfo>;
|
|
88
|
+
/**
|
|
89
|
+
* Map from src triples to AST nodes with that source range
|
|
90
|
+
*/
|
|
91
|
+
srcMap: Map<string, ASTNode>;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Solidity file type. Either source file, or compiler-generated Yul.
|
|
95
|
+
*/
|
|
96
|
+
export declare enum SourceFileType {
|
|
97
|
+
Solidity = "solidity",
|
|
98
|
+
InternalYul = "internal_yul"
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Source-file info
|
|
102
|
+
*/
|
|
103
|
+
export interface SourceFileInfo {
|
|
104
|
+
/**
|
|
105
|
+
* File contents (if any). If we got a compiler JSON artifact with no sources this may be undefined.
|
|
106
|
+
*/
|
|
107
|
+
contents: string | undefined;
|
|
108
|
+
/**
|
|
109
|
+
* Raw JSON ast.
|
|
110
|
+
*/
|
|
111
|
+
rawAst: RawAST;
|
|
112
|
+
/**
|
|
113
|
+
* solc-typed-ast decoded AST (may be undefined)
|
|
114
|
+
*/
|
|
115
|
+
ast: SourceUnit | undefined;
|
|
116
|
+
/**
|
|
117
|
+
* File name
|
|
118
|
+
*/
|
|
119
|
+
name: string;
|
|
120
|
+
/**
|
|
121
|
+
* File index (used in the import statements in ASTs to refer to files I think)
|
|
122
|
+
*/
|
|
123
|
+
fileIndex: number;
|
|
124
|
+
/**
|
|
125
|
+
* Type of the source file (normal or internal Yul)
|
|
126
|
+
*/
|
|
127
|
+
type: SourceFileType;
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/debug/artifact_manager/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EACH,iBAAiB,EACjB,UAAU,EACV,OAAO,EACP,kBAAkB,EAClB,UAAU,EACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;;OAGG;IACH,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC9C;;OAEG;IACH,MAAM,EAAE,6BAA6B,EAAE,CAAC;IACxC;;OAEG;IACH,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,QAAQ,EAAE,YAAY,CAAC;IACvB;;OAEG;IACH,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IACjB;;OAEG;IACH,GAAG,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACpC;;OAEG;IACH,QAAQ,EAAE,YAAY,CAAC;IACvB;;OAEG;IACH,gBAAgB,EAAE,YAAY,CAAC;IAC/B;;OAEG;IACH,MAAM,EAAE,iBAAiB,GAAG,SAAS,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB;;OAEG;IACH,QAAQ,EAAE,iBAAiB,CAAC;IAC5B;;OAEG;IACH,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB;;OAEG;IACH,GAAG,EAAE,UAAU,CAAC;IAChB;;OAEG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,iBAAiB,EAAE,iBAAiB,CAAC;IACrC;;OAEG;IACH,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IACrC;;OAEG;IACH,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED;;GAEG;AACH,oBAAY,cAAc;IACtB,QAAQ,aAAa;IACrB,WAAW,iBAAiB;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B;;OAEG;IACH,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,GAAG,EAAE,UAAU,GAAG,SAAS,CAAC;IAC5B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,IAAI,EAAE,cAAc,CAAC;CACxB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SourceFileType = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Solidity file type. Either source file, or compiler-generated Yul.
|
|
6
|
+
*/
|
|
7
|
+
var SourceFileType;
|
|
8
|
+
(function (SourceFileType) {
|
|
9
|
+
SourceFileType["Solidity"] = "solidity";
|
|
10
|
+
SourceFileType["InternalYul"] = "internal_yul";
|
|
11
|
+
})(SourceFileType || (exports.SourceFileType = SourceFileType = {}));
|
|
12
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/debug/artifact_manager/types.ts"],"names":[],"mappings":";;;AAsGA;;GAEG;AACH,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,uCAAqB,CAAA;IACrB,8CAA4B,CAAA;AAChC,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/debug/decoding/calldata/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeCalldataViews = void 0;
|
|
4
|
+
var view_1 = require("./view");
|
|
5
|
+
Object.defineProperty(exports, "makeCalldataViews", { enumerable: true, get: function () { return view_1.makeCalldataViews; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/debug/decoding/calldata/index.ts"],"names":[],"mappings":";;;AAAA,+BAA2C;AAAlC,yGAAA,iBAAiB,OAAA"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { AddressType, ArrayType, BoolType, BytesType, FixedBytesType, IntType, PointerType, TupleType, TypeNode } from "solc-typed-ast";
|
|
2
|
+
import { Memory } from "../../types";
|
|
3
|
+
import { DecodingFailure, Struct, Value } from "../value";
|
|
4
|
+
import { View } from "../view";
|
|
5
|
+
import { Address } from "@ethereumjs/util";
|
|
6
|
+
import { ExpStructType, MissingType } from "../exp_types";
|
|
7
|
+
export declare abstract class BaseCalldataView<Val extends Value, Type extends TypeNode = TypeNode> extends View<Memory, Val, bigint, Type> {
|
|
8
|
+
protected base: bigint;
|
|
9
|
+
constructor(type: Type, loc: bigint, base: bigint);
|
|
10
|
+
protected readMemAt(off: number | bigint, calldata: Memory, len: bigint | number): Uint8Array | DecodingFailure;
|
|
11
|
+
protected decodeIntAt(offset: bigint, typ: IntType, calldata: Memory): bigint | DecodingFailure;
|
|
12
|
+
decodeBytesAt(loc: bigint, state: Memory): Uint8Array | DecodingFailure;
|
|
13
|
+
decodeTupleAt(loc: bigint, curBase: bigint, type: TupleType, state: Memory): Value[];
|
|
14
|
+
pp(): string;
|
|
15
|
+
get offset(): bigint;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* View to an IntType in calldata
|
|
19
|
+
*/
|
|
20
|
+
export declare class IntCalldataView extends BaseCalldataView<bigint, IntType> {
|
|
21
|
+
decode(state: Memory): bigint | DecodingFailure;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* View to a BoolType in calldata
|
|
25
|
+
*/
|
|
26
|
+
export declare class BoolCalldataView extends BaseCalldataView<boolean, BoolType> {
|
|
27
|
+
decode(state: Memory): boolean | DecodingFailure;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* View to an Address in calldata
|
|
31
|
+
*/
|
|
32
|
+
export declare class AddressCalldataView extends BaseCalldataView<Address, AddressType> {
|
|
33
|
+
decode(state: Memory): Address | DecodingFailure;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* View to an FixedBytes in calldata
|
|
37
|
+
*/
|
|
38
|
+
export declare class FixedBytesCalldataView extends BaseCalldataView<Uint8Array, FixedBytesType> {
|
|
39
|
+
decode(state: Memory): Uint8Array | DecodingFailure;
|
|
40
|
+
}
|
|
41
|
+
export declare class BytesCalldataView extends BaseCalldataView<Uint8Array, BytesType> {
|
|
42
|
+
decode(state: Memory): Uint8Array | DecodingFailure;
|
|
43
|
+
}
|
|
44
|
+
export declare class StringCalldataView extends BaseCalldataView<string, BytesType> {
|
|
45
|
+
decode(state: Memory): string | DecodingFailure;
|
|
46
|
+
}
|
|
47
|
+
export declare class TupleCalldataView extends BaseCalldataView<Value[], TupleType> {
|
|
48
|
+
decode(state: Memory): Value[] | DecodingFailure;
|
|
49
|
+
}
|
|
50
|
+
export declare abstract class BaseArrayCalldataView extends BaseCalldataView<Value[], ArrayType> {
|
|
51
|
+
decodeArray(baseOff: bigint, bigIntSize: bigint, state: Memory): Value[] | DecodingFailure;
|
|
52
|
+
}
|
|
53
|
+
export declare class ArrayCalldataView extends BaseArrayCalldataView {
|
|
54
|
+
decode(state: Memory): Value[] | DecodingFailure;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* An ArraySliceView is only created from stack locations. It should not be created in makeCalldataView.
|
|
58
|
+
*/
|
|
59
|
+
export declare class ArraySliceCalldataView extends BaseArrayCalldataView {
|
|
60
|
+
protected len: bigint;
|
|
61
|
+
constructor(type: ArrayType, loc: bigint, len: bigint);
|
|
62
|
+
decode(state: Memory): Value[] | DecodingFailure;
|
|
63
|
+
}
|
|
64
|
+
export declare class StructCalldataView extends BaseCalldataView<Struct, ExpStructType> {
|
|
65
|
+
decode(state: Memory): Struct;
|
|
66
|
+
}
|
|
67
|
+
export declare class PointerCalldataView extends BaseCalldataView<Value, PointerType> {
|
|
68
|
+
decode(state: Memory): Value | DecodingFailure;
|
|
69
|
+
}
|
|
70
|
+
export declare class MissingCalldataView extends BaseCalldataView<DecodingFailure, MissingType> {
|
|
71
|
+
decode(): DecodingFailure;
|
|
72
|
+
}
|
|
73
|
+
export declare function makeCalldataView(type: TypeNode, loc: bigint, base: bigint): BaseCalldataView<Value, TypeNode>;
|
|
74
|
+
export declare function makeCalldataViews(types: TypeNode[], base: bigint): Array<BaseCalldataView<Value, TypeNode>>;
|
|
75
|
+
//# sourceMappingURL=view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../../src/debug/decoding/calldata/view.ts"],"names":[],"mappings":"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"}
|