sol-dbg 0.3.7 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/artifacts/helpers.d.ts +2 -3
- package/dist/artifacts/helpers.d.ts.map +1 -1
- package/dist/artifacts/helpers.js +45 -14
- package/dist/artifacts/helpers.js.map +1 -1
- package/dist/debug/abi.d.ts +10 -4
- package/dist/debug/abi.d.ts.map +1 -1
- package/dist/debug/abi.js +41 -11
- package/dist/debug/abi.js.map +1 -1
- package/dist/debug/artifact_manager.d.ts +9 -10
- package/dist/debug/artifact_manager.d.ts.map +1 -1
- package/dist/debug/artifact_manager.js +7 -6
- package/dist/debug/artifact_manager.js.map +1 -1
- package/dist/debug/decoding/calldata.d.ts.map +1 -1
- package/dist/debug/decoding/calldata.js +5 -6
- package/dist/debug/decoding/calldata.js.map +1 -1
- package/dist/debug/decoding/general.js +2 -3
- package/dist/debug/decoding/general.js.map +1 -1
- package/dist/debug/decoding/memory.d.ts.map +1 -1
- package/dist/debug/decoding/memory.js +4 -5
- package/dist/debug/decoding/memory.js.map +1 -1
- package/dist/debug/decoding/stack.js +2 -3
- package/dist/debug/decoding/stack.js.map +1 -1
- package/dist/debug/decoding/storage.d.ts.map +1 -1
- package/dist/debug/decoding/storage.js +9 -9
- package/dist/debug/decoding/storage.js.map +1 -1
- package/dist/debug/foundry_cheatcodes.d.ts +26 -25
- package/dist/debug/foundry_cheatcodes.d.ts.map +1 -1
- package/dist/debug/foundry_cheatcodes.js +114 -113
- package/dist/debug/foundry_cheatcodes.js.map +1 -1
- package/dist/debug/opcode_interposing.d.ts +2 -1
- package/dist/debug/opcode_interposing.d.ts.map +1 -1
- package/dist/debug/opcode_interposing.js +32 -30
- package/dist/debug/opcode_interposing.js.map +1 -1
- package/dist/debug/opcodes.js +6 -6
- package/dist/debug/opcodes.js.map +1 -1
- package/dist/debug/sol_debugger.d.ts +10 -165
- package/dist/debug/sol_debugger.d.ts.map +1 -1
- package/dist/debug/sol_debugger.js +73 -96
- package/dist/debug/sol_debugger.js.map +1 -1
- package/dist/debug/types.d.ts +157 -0
- package/dist/debug/types.d.ts.map +1 -1
- package/dist/debug/types.js +14 -0
- package/dist/debug/types.js.map +1 -1
- package/dist/utils/index.d.ts +2 -2
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -2
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/misc.d.ts +12 -20
- package/dist/utils/misc.d.ts.map +1 -1
- package/dist/utils/misc.js +39 -83
- package/dist/utils/misc.js.map +1 -1
- package/dist/utils/pp.d.ts.map +1 -1
- package/dist/utils/pp.js +10 -10
- package/dist/utils/pp.js.map +1 -1
- package/dist/utils/srcmap.js +2 -3
- package/dist/utils/srcmap.js.map +1 -1
- package/dist/utils/test_runner.d.ts +6 -6
- package/dist/utils/test_runner.d.ts.map +1 -1
- package/dist/utils/test_runner.js +11 -9
- package/dist/utils/test_runner.js.map +1 -1
- package/package.json +14 -12
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
1
|
import { HexString, PartialSolcOutput, UnprefixedHexString } from "./solc";
|
|
3
|
-
export declare function getCodeHash(deplBytecode: UnprefixedHexString |
|
|
4
|
-
export declare function getCreationCodeHash(creationBytecode: UnprefixedHexString |
|
|
2
|
+
export declare function getCodeHash(deplBytecode: UnprefixedHexString | Uint8Array): HexString | undefined;
|
|
3
|
+
export declare function getCreationCodeHash(creationBytecode: UnprefixedHexString | Uint8Array): HexString | undefined;
|
|
5
4
|
/**
|
|
6
5
|
* Given a standard solc JSON output `artifact` find the compiler version used
|
|
7
6
|
* to compute the contracts. We do this by walking over all of the bytecodes in
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/artifacts/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/artifacts/helpers.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAuM3E,wBAAgB,WAAW,CAAC,YAAY,EAAE,mBAAmB,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAiBjG;AAED,wBAAgB,mBAAmB,CAC/B,gBAAgB,EAAE,mBAAmB,GAAG,UAAU,GACnD,SAAS,GAAG,SAAS,CAiBvB;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CAAC,QAAQ,EAAE,iBAAiB,GAAG,MAAM,GAAG,SAAS,CAmB1F;AAED,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,iBAAiB,CAEtE"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.getCodeHash = getCodeHash;
|
|
4
|
+
exports.getCreationCodeHash = getCreationCodeHash;
|
|
5
|
+
exports.getArtifactCompilerVersion = getArtifactCompilerVersion;
|
|
6
|
+
exports.isPartialSolcOutput = isPartialSolcOutput;
|
|
4
7
|
const cbor_1 = require("cbor");
|
|
8
|
+
const utils_1 = require("ethereum-cryptography/utils");
|
|
5
9
|
const solc_typed_ast_1 = require("solc-typed-ast");
|
|
6
10
|
const __1 = require("..");
|
|
7
11
|
function getAllStringsAfterPrefix(hay, prefix, expLen) {
|
|
@@ -18,12 +22,43 @@ function getAllStringsAfterPrefix(hay, prefix, expLen) {
|
|
|
18
22
|
res.push(hay.slice(off + prefix.length, off + prefix.length + expLen));
|
|
19
23
|
}
|
|
20
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Find the last (right-most) index in hay where `needle` appears. If `off` is specified, search before `off` (`off` inclusive).
|
|
27
|
+
* If `needle` is not found, return -1;
|
|
28
|
+
*/
|
|
29
|
+
function lastIndexOfArr(hay, needle, off) {
|
|
30
|
+
(0, solc_typed_ast_1.assert)(needle.length > 0, ``);
|
|
31
|
+
let res = hay.length - 1;
|
|
32
|
+
res = off != undefined ? Math.min(off, res) : res;
|
|
33
|
+
while (res >= 0) {
|
|
34
|
+
res = hay.lastIndexOf(needle[0], res);
|
|
35
|
+
if (res < 0) {
|
|
36
|
+
break;
|
|
37
|
+
}
|
|
38
|
+
if (res + needle.length > hay.length) {
|
|
39
|
+
res--;
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
let match = true;
|
|
43
|
+
for (let i = 1; i < needle.length; i++) {
|
|
44
|
+
if (hay[res + i] !== needle[i]) {
|
|
45
|
+
match = false;
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
if (match) {
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
res--;
|
|
53
|
+
}
|
|
54
|
+
return res;
|
|
55
|
+
}
|
|
21
56
|
function getAllBuffersAfterPrefix(hay, prefix, expLen) {
|
|
22
57
|
const res = [];
|
|
23
58
|
let off = hay.length;
|
|
24
59
|
while (true) {
|
|
25
|
-
off = hay
|
|
26
|
-
if (off
|
|
60
|
+
off = lastIndexOfArr(hay, prefix, off - 1);
|
|
61
|
+
if (off < 0) {
|
|
27
62
|
return res;
|
|
28
63
|
}
|
|
29
64
|
if (off + prefix.length + expLen >= hay.length) {
|
|
@@ -33,11 +68,11 @@ function getAllBuffersAfterPrefix(hay, prefix, expLen) {
|
|
|
33
68
|
}
|
|
34
69
|
}
|
|
35
70
|
const ipfsStrPrefix = "64697066735822";
|
|
36
|
-
const ipfsBufPrefix =
|
|
71
|
+
const ipfsBufPrefix = (0, utils_1.hexToBytes)(ipfsStrPrefix);
|
|
37
72
|
const bzzr0 = "65627a7a72305820";
|
|
38
|
-
const bzzr0BufPrefix =
|
|
73
|
+
const bzzr0BufPrefix = (0, utils_1.hexToBytes)(bzzr0);
|
|
39
74
|
const bzzr1 = "65627a7a72315820";
|
|
40
|
-
const bzzr1BufPrefix =
|
|
75
|
+
const bzzr1BufPrefix = (0, utils_1.hexToBytes)(bzzr1);
|
|
41
76
|
function getBytecodeHashHacky(bytecode) {
|
|
42
77
|
if (typeof bytecode === "string") {
|
|
43
78
|
const ipfsCandidates = new Set(getAllStringsAfterPrefix(bytecode, ipfsStrPrefix, 34));
|
|
@@ -62,12 +97,12 @@ function getBytecodeHashHacky(bytecode) {
|
|
|
62
97
|
return undefined;
|
|
63
98
|
}
|
|
64
99
|
if (ipfsCandidates.size === 1) {
|
|
65
|
-
return { ipfs: "0x" + [...ipfsCandidates][0]
|
|
100
|
+
return { ipfs: "0x" + (0, utils_1.bytesToHex)([...ipfsCandidates][0]) };
|
|
66
101
|
}
|
|
67
102
|
if (bzzr0Candidates.size === 1) {
|
|
68
|
-
return { bzzr0: "0x" + [...bzzr0Candidates][0]
|
|
103
|
+
return { bzzr0: "0x" + (0, utils_1.bytesToHex)([...bzzr0Candidates][0]) };
|
|
69
104
|
}
|
|
70
|
-
return { bzzr1: "0x" + [...bzzr1Candidates][0]
|
|
105
|
+
return { bzzr1: "0x" + (0, utils_1.bytesToHex)([...bzzr1Candidates][0]) };
|
|
71
106
|
}
|
|
72
107
|
}
|
|
73
108
|
function getDeployedBytecodeMdInfo(deployedBytecode) {
|
|
@@ -80,7 +115,7 @@ function getDeployedBytecodeMdInfo(deployedBytecode) {
|
|
|
80
115
|
rawMd = cbor_1.Decoder.decodeAllSync(mdHex, { encoding: "hex" })[0];
|
|
81
116
|
}
|
|
82
117
|
else {
|
|
83
|
-
const off =
|
|
118
|
+
const off = (0, __1.readInt16Be)(deployedBytecode, deployedBytecode.length - 2);
|
|
84
119
|
rawMd = cbor_1.Decoder.decodeAllSync(deployedBytecode.slice(deployedBytecode.length - 2 - off, deployedBytecode.length - 2), {})[0];
|
|
85
120
|
}
|
|
86
121
|
}
|
|
@@ -120,7 +155,6 @@ function getCodeHash(deplBytecode) {
|
|
|
120
155
|
}
|
|
121
156
|
return undefined;
|
|
122
157
|
}
|
|
123
|
-
exports.getCodeHash = getCodeHash;
|
|
124
158
|
function getCreationCodeHash(creationBytecode) {
|
|
125
159
|
const md = getBytecodeHashHacky(creationBytecode);
|
|
126
160
|
if (md === undefined) {
|
|
@@ -135,7 +169,6 @@ function getCreationCodeHash(creationBytecode) {
|
|
|
135
169
|
}
|
|
136
170
|
return undefined;
|
|
137
171
|
}
|
|
138
|
-
exports.getCreationCodeHash = getCreationCodeHash;
|
|
139
172
|
/**
|
|
140
173
|
* Given a standard solc JSON output `artifact` find the compiler version used
|
|
141
174
|
* to compute the contracts. We do this by walking over all of the bytecodes in
|
|
@@ -154,9 +187,7 @@ function getArtifactCompilerVersion(artifact) {
|
|
|
154
187
|
}
|
|
155
188
|
return res;
|
|
156
189
|
}
|
|
157
|
-
exports.getArtifactCompilerVersion = getArtifactCompilerVersion;
|
|
158
190
|
function isPartialSolcOutput(arg) {
|
|
159
191
|
return arg.hasOwnProperty("contracts") && arg.hasOwnProperty("sources");
|
|
160
192
|
}
|
|
161
|
-
exports.isPartialSolcOutput = isPartialSolcOutput;
|
|
162
193
|
//# sourceMappingURL=helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/artifacts/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/artifacts/helpers.ts"],"names":[],"mappings":";;AA2MA,kCAiBC;AAED,kDAmBC;AASD,gEAmBC;AAED,kDAEC;AAjRD,+BAA+B;AAC/B,uDAAqE;AACrE,mDAAwC;AACxC,0BAA8C;AAgB9C,SAAS,wBAAwB,CAAC,GAAW,EAAE,MAAc,EAAE,MAAc;IACzE,MAAM,GAAG,GAAa,EAAE,CAAC;IAEzB,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;IAErB,OAAO,IAAI,EAAE,CAAC;QACV,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;QAEvC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;YACb,OAAO,GAAG,CAAC;QACf,CAAC;QAED,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAC7C,SAAS;QACb,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;IAC3E,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,GAAe,EAAE,MAAkB,EAAE,GAAuB;IAChF,IAAA,uBAAM,EAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IAC9B,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;IACzB,GAAG,GAAG,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;IAElD,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;QACd,GAAG,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAEtC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YACV,MAAM;QACV,CAAC;QAED,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;YACnC,GAAG,EAAE,CAAC;YACN,SAAS;QACb,CAAC;QAED,IAAI,KAAK,GAAG,IAAI,CAAC;QACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7B,KAAK,GAAG,KAAK,CAAC;gBACd,MAAM;YACV,CAAC;QACL,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACR,MAAM;QACV,CAAC;QAED,GAAG,EAAE,CAAC;IACV,CAAC;IAED,OAAO,GAAG,CAAC;AACf,CAAC;AAED,SAAS,wBAAwB,CAC7B,GAAe,EACf,MAAkB,EAClB,MAAc;IAEd,MAAM,GAAG,GAAiB,EAAE,CAAC;IAE7B,IAAI,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC;IAErB,OAAO,IAAI,EAAE,CAAC;QACV,GAAG,GAAG,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;QAE3C,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YACV,OAAO,GAAG,CAAC;QACf,CAAC;QAED,IAAI,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YAC7C,SAAS;QACb,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;IAC3E,CAAC;AACL,CAAC;AAED,MAAM,aAAa,GAAG,gBAAgB,CAAC;AACvC,MAAM,aAAa,GAAG,IAAA,kBAAU,EAAC,aAAa,CAAC,CAAC;AAChD,MAAM,KAAK,GAAG,kBAAkB,CAAC;AACjC,MAAM,cAAc,GAAG,IAAA,kBAAU,EAAC,KAAK,CAAC,CAAC;AACzC,MAAM,KAAK,GAAG,kBAAkB,CAAC;AACjC,MAAM,cAAc,GAAG,IAAA,kBAAU,EAAC,KAAK,CAAC,CAAC;AAEzC,SAAS,oBAAoB,CAAC,QAA6B;IACvD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,wBAAwB,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;QACtF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,wBAAwB,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/E,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,wBAAwB,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QAE/E,IAAI,cAAc,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC1E,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,cAAc,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,IAAI,EAAE,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5C,CAAC;QAED,IAAI,eAAe,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9C,CAAC;SAAM,CAAC;QACJ,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,wBAAwB,CAAC,QAAQ,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;QACtF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,wBAAwB,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC;QACxF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,wBAAwB,CAAC,QAAQ,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC;QAExF,IAAI,cAAc,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,GAAG,eAAe,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC1E,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,cAAc,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,IAAA,kBAAU,EAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,CAAC;QAED,IAAI,eAAe,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,KAAK,EAAE,IAAI,GAAG,IAAA,kBAAU,EAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,GAAG,IAAA,kBAAU,EAAC,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,CAAC;AACL,CAAC;AAED,SAAS,yBAAyB,CAC9B,gBAAkD;IAElD,MAAM,GAAG,GAAG,gBAAgB,CAAC,MAAM,CAAC;IAEpC,IAAI,KAAK,GAAQ,EAAE,CAAC;IAEpB,IAAI,CAAC;QACD,IAAI,OAAO,gBAAgB,KAAK,QAAQ,EAAE,CAAC;YACvC,MAAM,GAAG,GAAG,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC9D,MAAM,KAAK,GAAG,gBAAgB,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;YAErE,KAAK,GAAG,cAAO,CAAC,aAAa,CAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjE,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,GAAG,IAAA,eAAW,EAAC,gBAAgB,EAAE,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAEvE,KAAK,GAAG,cAAO,CAAC,aAAa,CACzB,gBAAgB,CAAC,KAAK,CAClB,gBAAgB,CAAC,MAAM,GAAG,CAAC,GAAG,GAAG,EACjC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAC9B,EACD,EAAE,CACL,CAAC,CAAC,CAAC,CAAC;QACT,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACL,oGAAoG;QACpG,sEAAsE;IAC1E,CAAC;IAED,MAAM,GAAG,GAAqB,EAAE,CAAC;IAEjC,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,GAAG,CAAC,IAAI,GAAG,IAAA,eAAW,EAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,GAAG,CAAC,KAAK,GAAG,IAAA,eAAW,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;QAChC,GAAG,CAAC,KAAK,GAAG,IAAA,eAAW,EAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;IAC1C,CAAC;IAED,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,GAAG,CAAC,IAAI,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IACpE,CAAC;IAED,OAAO,GAAG,CAAC;AACf,CAAC;AAED,SAAgB,WAAW,CAAC,YAA8C;IACtE,MAAM,EAAE,GAAG,yBAAyB,CAAC,YAAY,CAAC,CAAC;IAEnD,iEAAiE;IACjE,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED,SAAgB,mBAAmB,CAC/B,gBAAkD;IAElD,MAAM,EAAE,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IAElD,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,iEAAiE;IACjE,IAAI,EAAE,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,EAAE,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,0BAA0B,CAAC,QAA2B;IAClE,IAAI,GAAuB,CAAC;IAE5B,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACxC,KAAK,MAAM,YAAY,IAAI,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtD,MAAM,OAAO,GAAG,yBAAyB,CACrC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,CACzE,CAAC,IAAI,CAAC;YAEP,IAAA,uBAAM,EACF,CAAC,CAAC,OAAO,KAAK,SAAS,IAAI,GAAG,KAAK,SAAS,IAAI,OAAO,KAAK,GAAG,CAAC,EAChE,gEAAgE,OAAO,QAAQ,GAAG,EAAE,CACvF,CAAC;YAEF,GAAG,GAAG,OAAO,CAAC;QAClB,CAAC;IACL,CAAC;IAED,OAAO,GAAG,CAAC;AACf,CAAC;AAED,SAAgB,mBAAmB,CAAC,GAAQ;IACxC,OAAO,GAAG,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;AAC5E,CAAC"}
|
package/dist/debug/abi.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
import { FunctionDefinition, InferType, DataLocation as SolDataLocation, TypeName, TypeNode, VariableDeclaration } from "solc-typed-ast";
|
|
1
|
+
import { ContractDefinition, FunctionDefinition, InferType, DataLocation as SolDataLocation, TypeName, TypeNode, VariableDeclaration } from "solc-typed-ast";
|
|
3
2
|
import { ABIEncoderVersion } from "solc-typed-ast/dist/types/abi";
|
|
4
3
|
import { DataLocationKind, DataView } from ".";
|
|
5
4
|
export declare function changeToLocation(typ: TypeNode, newLoc: SolDataLocation): TypeNode;
|
|
@@ -10,14 +9,14 @@ export declare function changeToLocation(typ: TypeNode, newLoc: SolDataLocation)
|
|
|
10
9
|
* try and decode the function arguments for that particular callee from the
|
|
11
10
|
* data.
|
|
12
11
|
*/
|
|
13
|
-
export declare function decodeMethodArgs(callee: FunctionDefinition | VariableDeclaration, data:
|
|
12
|
+
export declare function decodeMethodArgs(callee: FunctionDefinition | VariableDeclaration, data: Uint8Array, kind: DataLocationKind.Memory | DataLocationKind.CallData, infer: InferType, encoderVersion: ABIEncoderVersion): Array<[string, any]>;
|
|
14
13
|
export declare function isTypeUnknownContract(t: TypeName | undefined): boolean;
|
|
15
14
|
/**
|
|
16
15
|
* An ABI-decoder implementation that is resilient to failures in some arguments decoding.
|
|
17
16
|
* This function will return partial decoding results. This is needed since the fuzzer may not
|
|
18
17
|
* always produce inputs that decode in their entirety.
|
|
19
18
|
*/
|
|
20
|
-
export declare function buildMsgDataViews(callee: FunctionDefinition | VariableDeclaration, data:
|
|
19
|
+
export declare function buildMsgDataViews(callee: FunctionDefinition | VariableDeclaration, data: Uint8Array, kind: DataLocationKind.Memory | DataLocationKind.CallData, infer: InferType, encoderVersion: ABIEncoderVersion): Array<[string, DataView | undefined]>;
|
|
21
20
|
/**
|
|
22
21
|
* Convert an internal TypeNode to the external TypeNode that would correspond to it
|
|
23
22
|
* after ABI-encoding with encoder version `encoderVersion`. Follows the following rules:
|
|
@@ -33,4 +32,11 @@ export declare function buildMsgDataViews(callee: FunctionDefinition | VariableD
|
|
|
33
32
|
*/
|
|
34
33
|
export declare function toABIEncodedType(type: TypeNode, infer: InferType, encoderVersion: ABIEncoderVersion): TypeNode;
|
|
35
34
|
export declare function isABITypeStaticSized(type: TypeNode): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Given a 4-byte selector, a target contract and an `InferType` object return
|
|
37
|
+
* the ASTNode that corresponds to the target callee. Must be either a
|
|
38
|
+
* `FunctionDefinition`, a `VariableDeclaration` (for public state var getters),
|
|
39
|
+
* or undefined (if we cannot identify it)
|
|
40
|
+
*/
|
|
41
|
+
export declare function findMethodBySelector(selector: Uint8Array | string, contract: ContractDefinition, infer: InferType): FunctionDefinition | VariableDeclaration | undefined;
|
|
36
42
|
//# sourceMappingURL=abi.d.ts.map
|
package/dist/debug/abi.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../../src/debug/abi.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"abi.d.ts","sourceRoot":"","sources":["../../src/debug/abi.ts"],"names":[],"mappings":"AACA,OAAO,EAKH,kBAAkB,EAGlB,kBAAkB,EAClB,SAAS,EAIT,YAAY,IAAI,eAAe,EAK/B,QAAQ,EACR,QAAQ,EAIR,mBAAmB,EAItB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAkB,MAAM,GAAG,CAAC;AAG/D,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,GAAG,QAAQ,CAqCjF;AA6CD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC5B,MAAM,EAAE,kBAAkB,GAAG,mBAAmB,EAChD,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,gBAAgB,CAAC,MAAM,GAAG,gBAAgB,CAAC,QAAQ,EACzD,KAAK,EAAE,SAAS,EAChB,cAAc,EAAE,iBAAiB,GAClC,KAAK,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAsBtB;AAGD,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,OAAO,CAQtE;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC7B,MAAM,EAAE,kBAAkB,GAAG,mBAAmB,EAChD,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,gBAAgB,CAAC,MAAM,GAAG,gBAAgB,CAAC,QAAQ,EACzD,KAAK,EAAE,SAAS,EAChB,cAAc,EAAE,iBAAiB,GAClC,KAAK,CAAC,CAAC,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC,CAAC,CA2CvC;AA6CD;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC5B,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,SAAS,EAChB,cAAc,EAAE,iBAAiB,GAClC,QAAQ,CAyDV;AAED,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAkC5D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAChC,QAAQ,EAAE,UAAU,GAAG,MAAM,EAC7B,QAAQ,EAAE,kBAAkB,EAC5B,KAAK,EAAE,SAAS,GACjB,kBAAkB,GAAG,mBAAmB,GAAG,SAAS,CAyBtD"}
|
package/dist/debug/abi.js
CHANGED
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.changeToLocation = changeToLocation;
|
|
4
|
+
exports.decodeMethodArgs = decodeMethodArgs;
|
|
5
|
+
exports.isTypeUnknownContract = isTypeUnknownContract;
|
|
6
|
+
exports.buildMsgDataViews = buildMsgDataViews;
|
|
7
|
+
exports.toABIEncodedType = toABIEncodedType;
|
|
8
|
+
exports.isABITypeStaticSized = isABITypeStaticSized;
|
|
9
|
+
exports.findMethodBySelector = findMethodBySelector;
|
|
10
|
+
const utils_1 = require("ethereum-cryptography/utils");
|
|
4
11
|
const solc_typed_ast_1 = require("solc-typed-ast");
|
|
5
12
|
const abi_1 = require("solc-typed-ast/dist/types/abi");
|
|
6
13
|
const _1 = require(".");
|
|
7
|
-
const
|
|
14
|
+
const utils_2 = require("../utils");
|
|
8
15
|
function changeToLocation(typ, newLoc) {
|
|
9
16
|
if (typ instanceof solc_typed_ast_1.PointerType) {
|
|
10
17
|
return new solc_typed_ast_1.PointerType(changeToLocation(typ.to, newLoc), newLoc, typ.kind);
|
|
@@ -30,7 +37,6 @@ function changeToLocation(typ, newLoc) {
|
|
|
30
37
|
}
|
|
31
38
|
throw new Error(`Cannot change location of type ${typ.pp()}`);
|
|
32
39
|
}
|
|
33
|
-
exports.changeToLocation = changeToLocation;
|
|
34
40
|
/**
|
|
35
41
|
* Return the static size that the type `typ` will take in the standard ABI encoding of
|
|
36
42
|
* arguments.
|
|
@@ -85,7 +91,6 @@ function decodeMethodArgs(callee, data, kind, infer, encoderVersion) {
|
|
|
85
91
|
}
|
|
86
92
|
return res;
|
|
87
93
|
}
|
|
88
|
-
exports.decodeMethodArgs = decodeMethodArgs;
|
|
89
94
|
// @todo migrate to solc-typed-ast
|
|
90
95
|
function isTypeUnknownContract(t) {
|
|
91
96
|
return (t instanceof solc_typed_ast_1.UserDefinedTypeName &&
|
|
@@ -94,7 +99,6 @@ function isTypeUnknownContract(t) {
|
|
|
94
99
|
t.typeString.startsWith("interface ") ||
|
|
95
100
|
t.typeString.startsWith("library ")));
|
|
96
101
|
}
|
|
97
|
-
exports.isTypeUnknownContract = isTypeUnknownContract;
|
|
98
102
|
/**
|
|
99
103
|
* An ABI-decoder implementation that is resilient to failures in some arguments decoding.
|
|
100
104
|
* This function will return partial decoding results. This is needed since the fuzzer may not
|
|
@@ -103,9 +107,9 @@ exports.isTypeUnknownContract = isTypeUnknownContract;
|
|
|
103
107
|
function buildMsgDataViews(callee, data, kind, infer, encoderVersion) {
|
|
104
108
|
const res = [];
|
|
105
109
|
const selector = callee instanceof solc_typed_ast_1.FunctionDefinition
|
|
106
|
-
? (0,
|
|
110
|
+
? (0, utils_2.getFunctionSelector)(callee, infer)
|
|
107
111
|
: infer.signatureHash(callee);
|
|
108
|
-
(0, solc_typed_ast_1.assert)(selector === data.slice(0, 4)
|
|
112
|
+
(0, solc_typed_ast_1.assert)(selector === (0, utils_1.bytesToHex)(data.slice(0, 4)), `Expected selector ${selector} instead got ${data.slice(0, 4)}`);
|
|
109
113
|
const formals = callee instanceof solc_typed_ast_1.FunctionDefinition
|
|
110
114
|
? callee.vParameters.vParameters.map((argDef) => [
|
|
111
115
|
argDef.name,
|
|
@@ -113,7 +117,9 @@ function buildMsgDataViews(callee, data, kind, infer, encoderVersion) {
|
|
|
113
117
|
? solc_typed_ast_1.types.address
|
|
114
118
|
: infer.variableDeclarationToTypeNode(argDef)
|
|
115
119
|
])
|
|
116
|
-
: infer
|
|
120
|
+
: infer
|
|
121
|
+
.getterArgsAndReturn(callee)[0]
|
|
122
|
+
.map((typ, i) => [`ARG_${i}`, typ]);
|
|
117
123
|
let staticOff = 4;
|
|
118
124
|
const len = data.length;
|
|
119
125
|
for (const [name, originalType] of formals) {
|
|
@@ -126,7 +132,6 @@ function buildMsgDataViews(callee, data, kind, infer, encoderVersion) {
|
|
|
126
132
|
}
|
|
127
133
|
return res;
|
|
128
134
|
}
|
|
129
|
-
exports.buildMsgDataViews = buildMsgDataViews;
|
|
130
135
|
/**
|
|
131
136
|
* Determine if the specified type `typ` is dynamic or not. Dynamic means
|
|
132
137
|
* that if we are trying to read `typ` at location `loc`, in `loc` there should be just a
|
|
@@ -213,7 +218,6 @@ function toABIEncodedType(type, infer, encoderVersion) {
|
|
|
213
218
|
}
|
|
214
219
|
return type;
|
|
215
220
|
}
|
|
216
|
-
exports.toABIEncodedType = toABIEncodedType;
|
|
217
221
|
function isABITypeStaticSized(type) {
|
|
218
222
|
if (type instanceof solc_typed_ast_1.ArrayType) {
|
|
219
223
|
return type.size !== undefined && isABITypeStaticSized(type.elementT);
|
|
@@ -241,5 +245,31 @@ function isABITypeStaticSized(type) {
|
|
|
241
245
|
}
|
|
242
246
|
throw new Error(`NYI isABITypeStaticSized(${type.pp()})`);
|
|
243
247
|
}
|
|
244
|
-
|
|
248
|
+
/**
|
|
249
|
+
* Given a 4-byte selector, a target contract and an `InferType` object return
|
|
250
|
+
* the ASTNode that corresponds to the target callee. Must be either a
|
|
251
|
+
* `FunctionDefinition`, a `VariableDeclaration` (for public state var getters),
|
|
252
|
+
* or undefined (if we cannot identify it)
|
|
253
|
+
*/
|
|
254
|
+
function findMethodBySelector(selector, contract, infer) {
|
|
255
|
+
const strSelector = typeof selector === "string" ? selector : (0, utils_1.bytesToHex)(selector);
|
|
256
|
+
for (const base of contract.vLinearizedBaseContracts) {
|
|
257
|
+
if (!base) {
|
|
258
|
+
continue;
|
|
259
|
+
}
|
|
260
|
+
for (const fun of base.vFunctions) {
|
|
261
|
+
const funSel = (0, utils_2.getFunctionSelector)(fun, infer);
|
|
262
|
+
if (funSel == strSelector) {
|
|
263
|
+
return fun;
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
for (const v of base.vStateVariables) {
|
|
267
|
+
if (v.visibility === solc_typed_ast_1.StateVariableVisibility.Public &&
|
|
268
|
+
infer.signatureHash(v) == strSelector) {
|
|
269
|
+
return v;
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
return undefined;
|
|
274
|
+
}
|
|
245
275
|
//# sourceMappingURL=abi.js.map
|
package/dist/debug/abi.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"abi.js","sourceRoot":"","sources":["../../src/debug/abi.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"abi.js","sourceRoot":"","sources":["../../src/debug/abi.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
import { PrefixedHexString } from "ethereumjs-util";
|
|
1
|
+
import { PrefixedHexString } from "@ethereumjs/util";
|
|
3
2
|
import { ASTContext, ASTNode, ContractDefinition, FunctionDefinition, InferType, SourceUnit, VariableDeclaration } from "solc-typed-ast";
|
|
4
3
|
import { ABIEncoderVersion } from "solc-typed-ast/dist/types/abi";
|
|
5
4
|
import { DecodedBytecodeSourceMapEntry, PartialCompiledContract, PartialSolcOutput, RawAST } from "..";
|
|
6
5
|
import { HexString } from "../artifacts";
|
|
7
6
|
export interface IArtifactManager {
|
|
8
|
-
getContractFromDeployedBytecode(code: string |
|
|
9
|
-
getContractFromCreationBytecode(code: string |
|
|
7
|
+
getContractFromDeployedBytecode(code: string | Uint8Array): ContractInfo | undefined;
|
|
8
|
+
getContractFromCreationBytecode(code: string | Uint8Array): ContractInfo | undefined;
|
|
10
9
|
getContractFromMDHash(hash: HexString): ContractInfo | undefined;
|
|
11
10
|
artifacts(): ArtifactInfo[];
|
|
12
11
|
contracts(): ContractInfo[];
|
|
13
|
-
getFileById(id: number, code: string |
|
|
12
|
+
getFileById(id: number, code: string | Uint8Array, isCreation: boolean): SourceFileInfo | undefined;
|
|
14
13
|
infer(version: string): InferType;
|
|
15
|
-
findMethod(selector: HexString |
|
|
14
|
+
findMethod(selector: HexString | Uint8Array): [ContractInfo, FunctionDefinition | VariableDeclaration] | undefined;
|
|
16
15
|
}
|
|
17
16
|
export interface BytecodeInfo {
|
|
18
17
|
generatedFileMap: Map<number, SourceFileInfo>;
|
|
@@ -69,11 +68,11 @@ export declare class ArtifactManager implements IArtifactManager {
|
|
|
69
68
|
constructor(artifacts: PartialSolcOutput[]);
|
|
70
69
|
artifacts(): ArtifactInfo[];
|
|
71
70
|
getContractFromMDHash(hash: HexString): ContractInfo | undefined;
|
|
72
|
-
getContractFromDeployedBytecode(bytecode: string |
|
|
73
|
-
getContractFromCreationBytecode(creationBytecode: string |
|
|
74
|
-
getFileById(id: number, arg: string |
|
|
71
|
+
getContractFromDeployedBytecode(bytecode: string | Uint8Array): ContractInfo | undefined;
|
|
72
|
+
getContractFromCreationBytecode(creationBytecode: string | Uint8Array): ContractInfo | undefined;
|
|
73
|
+
getFileById(id: number, arg: string | Uint8Array | ContractInfo, isCreation: boolean): SourceFileInfo | undefined;
|
|
75
74
|
contracts(): ContractInfo[];
|
|
76
75
|
infer(version: string): InferType;
|
|
77
|
-
findMethod(selector: HexString |
|
|
76
|
+
findMethod(selector: HexString | Uint8Array): [ContractInfo, FunctionDefinition | VariableDeclaration] | undefined;
|
|
78
77
|
}
|
|
79
78
|
//# sourceMappingURL=artifact_manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact_manager.d.ts","sourceRoot":"","sources":["../../src/debug/artifact_manager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"artifact_manager.d.ts","sourceRoot":"","sources":["../../src/debug/artifact_manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EACH,UAAU,EACV,OAAO,EAEP,kBAAkB,EAClB,kBAAkB,EAElB,SAAS,EACT,UAAU,EAEV,mBAAmB,EAGtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EACH,6BAA6B,EAE7B,uBAAuB,EACvB,iBAAiB,EACjB,MAAM,EAOT,MAAM,IAAI,CAAC;AACZ,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAGzC,MAAM,WAAW,gBAAgB;IAC7B,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS,CAAC;IACrF,+BAA+B,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS,CAAC;IACrF,qBAAqB,CAAC,IAAI,EAAE,SAAS,GAAG,YAAY,GAAG,SAAS,CAAC;IACjE,SAAS,IAAI,YAAY,EAAE,CAAC;IAC5B,SAAS,IAAI,YAAY,EAAE,CAAC;IAE5B,WAAW,CACP,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,GAAG,UAAU,EACzB,UAAU,EAAE,OAAO,GACpB,cAAc,GAAG,SAAS,CAAC;IAC9B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,UAAU,CACN,QAAQ,EAAE,SAAS,GAAG,UAAU,GACjC,CAAC,YAAY,EAAE,kBAAkB,GAAG,mBAAmB,CAAC,GAAG,SAAS,CAAC;CAC3E;AAED,MAAM,WAAW,YAAY;IAGzB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC9C,MAAM,EAAE,6BAA6B,EAAE,CAAC;IACxC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACzC;AAED,MAAM,WAAW,YAAY;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACpC,QAAQ,EAAE,YAAY,CAAC;IACvB,gBAAgB,EAAE,YAAY,CAAC;IAC/B,MAAM,EAAE,iBAAiB,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IACzB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,KAAK,EAAE,UAAU,EAAE,CAAC;IACpB,GAAG,EAAE,UAAU,CAAC;IAChB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,iBAAiB,CAAC;IAErC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAErC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,oBAAY,cAAc;IACtB,QAAQ,aAAa;IACrB,WAAW,iBAAiB;CAC/B;AAED,MAAM,WAAW,cAAc;IAC3B,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,UAAU,GAAG,SAAS,CAAC;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,cAAc,CAAC;CACxB;AA4BD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,YAAY,GAAG,6BAA6B,CAU/F;AAED;;;GAGG;AACH,qBAAa,eAAgB,YAAW,gBAAgB;IACpD,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,qBAAqB,CAA4B;IACzD,OAAO,CAAC,WAAW,CAAgC;IAEnD;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;gBAYjB,SAAS,EAAE,iBAAiB,EAAE;IAyH1C,SAAS,IAAI,YAAY,EAAE;IAI3B,qBAAqB,CAAC,IAAI,EAAE,SAAS,GAAG,YAAY,GAAG,SAAS;IAIhE,+BAA+B,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS;IAUxF,+BAA+B,CAC3B,gBAAgB,EAAE,MAAM,GAAG,UAAU,GACtC,YAAY,GAAG,SAAS;IAU3B,WAAW,CACP,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,YAAY,EACvC,UAAU,EAAE,OAAO,GACpB,cAAc,GAAG,SAAS;IA4B7B,SAAS,IAAI,YAAY,EAAE;IAI3B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS;IAQjC,UAAU,CACN,QAAQ,EAAE,SAAS,GAAG,UAAU,GACjC,CAAC,YAAY,EAAE,kBAAkB,GAAG,mBAAmB,CAAC,GAAG,SAAS;CAiC1E"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ArtifactManager = exports.
|
|
3
|
+
exports.ArtifactManager = exports.SourceFileType = void 0;
|
|
4
|
+
exports.getOffsetSrc = getOffsetSrc;
|
|
5
|
+
const utils_1 = require("ethereum-cryptography/utils");
|
|
4
6
|
const solc_typed_ast_1 = require("solc-typed-ast");
|
|
5
7
|
const abi_1 = require("solc-typed-ast/dist/types/abi");
|
|
6
8
|
const __1 = require("..");
|
|
@@ -20,7 +22,7 @@ var SourceFileType;
|
|
|
20
22
|
*/
|
|
21
23
|
function buildOffsetToIndexMap(bytecode) {
|
|
22
24
|
if (typeof bytecode === "string") {
|
|
23
|
-
bytecode =
|
|
25
|
+
bytecode = (0, utils_1.hexToBytes)(bytecode);
|
|
24
26
|
}
|
|
25
27
|
const res = new Map();
|
|
26
28
|
for (let i = 0, off = 0; off < bytecode.length; i++) {
|
|
@@ -36,7 +38,6 @@ function getOffsetSrc(off, bytecode) {
|
|
|
36
38
|
(0, solc_typed_ast_1.assert)(idx >= 0 && idx < bytecode.srcMap.length, `Instruction index ${idx} outside of source map (0-${bytecode.srcMap.length})`);
|
|
37
39
|
return bytecode.srcMap[idx];
|
|
38
40
|
}
|
|
39
|
-
exports.getOffsetSrc = getOffsetSrc;
|
|
40
41
|
/**
|
|
41
42
|
* ArtifactManager contains a set of solc standard JSON compiler artifacts, and allows for quick
|
|
42
43
|
* lookup from creation or deployed bytecode to the actual compiler artifact.
|
|
@@ -168,7 +169,7 @@ class ArtifactManager {
|
|
|
168
169
|
}
|
|
169
170
|
getFileById(id, arg, isCreation) {
|
|
170
171
|
let contractInfo;
|
|
171
|
-
if (typeof arg === "string" || arg instanceof
|
|
172
|
+
if (typeof arg === "string" || arg instanceof Uint8Array) {
|
|
172
173
|
contractInfo = isCreation
|
|
173
174
|
? this.getContractFromCreationBytecode(arg)
|
|
174
175
|
: this.getContractFromDeployedBytecode(arg);
|
|
@@ -198,8 +199,8 @@ class ArtifactManager {
|
|
|
198
199
|
return this._inferCache.get(version);
|
|
199
200
|
}
|
|
200
201
|
findMethod(selector) {
|
|
201
|
-
if (selector instanceof
|
|
202
|
-
selector =
|
|
202
|
+
if (selector instanceof Uint8Array) {
|
|
203
|
+
selector = (0, utils_1.bytesToHex)(selector);
|
|
203
204
|
}
|
|
204
205
|
for (const contract of this._contracts) {
|
|
205
206
|
if (!contract.ast) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"artifact_manager.js","sourceRoot":"","sources":["../../src/debug/artifact_manager.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"artifact_manager.js","sourceRoot":"","sources":["../../src/debug/artifact_manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calldata.d.ts","sourceRoot":"","sources":["../../../src/debug/decoding/calldata.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,SAAS,
|
|
1
|
+
{"version":3,"file":"calldata.d.ts","sourceRoot":"","sources":["../../../src/debug/decoding/calldata.ts"],"names":[],"mappings":"AACA,OAAO,EAEH,SAAS,EAIT,SAAS,EAOT,QAAQ,EAGX,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACH,gBAAgB,EAKnB,MAAM,IAAI,CAAC;AACZ,OAAO,EAEH,MAAM,EAKT,MAAM,OAAO,CAAC;AAwHf,wBAAgB,sBAAsB,CAClC,OAAO,EAAE,SAAS,EAClB,QAAQ,EAAE,SAAS,GAAG,SAAS,EAC/B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,SAAS,GACjB,SAAS,GAAG,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CA+B7B;AA4LD,wBAAgB,cAAc,CAC1B,OAAO,EAAE,QAAQ,EACjB,QAAQ,EAAE,QAAQ,GAAG,SAAS,EAC9B,GAAG,EAAE,gBAAgB,EACrB,QAAQ,EAAE,MAAM,EAChB,eAAe,oBAAY,EAC3B,KAAK,EAAE,SAAS,GACjB,SAAS,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAsE3B"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
|
|
3
|
+
exports.cd_decodeArrayContents = cd_decodeArrayContents;
|
|
4
|
+
exports.cd_decodeValue = cd_decodeValue;
|
|
5
|
+
const util_1 = require("@ethereumjs/util");
|
|
5
6
|
const solc_typed_ast_1 = require("solc-typed-ast");
|
|
6
7
|
const __1 = require("..");
|
|
7
8
|
const __2 = require("../..");
|
|
@@ -26,7 +27,7 @@ function cd_decodeAddress(loc, calldata) {
|
|
|
26
27
|
if (numAddr === undefined) {
|
|
27
28
|
return undefined;
|
|
28
29
|
}
|
|
29
|
-
const res = new
|
|
30
|
+
const res = new util_1.Address(calldata.slice(numAddr + 12, numAddr + 32));
|
|
30
31
|
return [res, 32];
|
|
31
32
|
}
|
|
32
33
|
function cd_decodeFixedBytes(typ, loc, calldata) {
|
|
@@ -76,7 +77,7 @@ function cd_decodeString(loc, calldata) {
|
|
|
76
77
|
if (bytes === undefined) {
|
|
77
78
|
return undefined;
|
|
78
79
|
}
|
|
79
|
-
const str = bytes[0]
|
|
80
|
+
const str = (0, util_1.bytesToUtf8)(bytes[0]);
|
|
80
81
|
return [str, bytes[1]];
|
|
81
82
|
}
|
|
82
83
|
function cd_decodeArrayContents(abiType, origType, arrOffset, numLen, calldata, infer) {
|
|
@@ -96,7 +97,6 @@ function cd_decodeArrayContents(abiType, origType, arrOffset, numLen, calldata,
|
|
|
96
97
|
}
|
|
97
98
|
return [res, arrBytesSize];
|
|
98
99
|
}
|
|
99
|
-
exports.cd_decodeArrayContents = cd_decodeArrayContents;
|
|
100
100
|
function cd_decodeArray(abiType, origType, loc, calldata, infer) {
|
|
101
101
|
let arrOffset = loc.address;
|
|
102
102
|
let arrBytesSize = 0;
|
|
@@ -236,5 +236,4 @@ function cd_decodeValue(abiType, origType, loc, calldata, callDataBaseOff = BigI
|
|
|
236
236
|
}
|
|
237
237
|
throw new Error(`NYI decoding ${abiType.pp()}`);
|
|
238
238
|
}
|
|
239
|
-
exports.cd_decodeValue = cd_decodeValue;
|
|
240
239
|
//# sourceMappingURL=calldata.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calldata.js","sourceRoot":"","sources":["../../../src/debug/decoding/calldata.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"calldata.js","sourceRoot":"","sources":["../../../src/debug/decoding/calldata.ts"],"names":[],"mappings":";;AAwJA,wDAsCC;AA4LD,wCA6EC;AAvcD,2CAAwD;AACxD,mDAgBwB;AACxB,0BAMY;AACZ,6BAOe;AAEf,SAAS,YAAY,CACjB,GAAY,EACZ,GAAqB,EACrB,QAAoB;IAEpB,MAAM,OAAO,GAAG,IAAA,gBAAY,EAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAEpD,aAAa;IACb,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAI,GAAG,GAAG,IAAA,wBAAoB,EAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;IAEtE,gDAAgD;IAChD,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,CAAC;QAC3E,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;IACpD,CAAC;IAED,IAAA,uBAAM,EACF,IAAA,QAAI,EAAC,GAAG,EAAE,GAAG,CAAC,EACd,iBAAiB,GAAG,SAAS,GAAG,iCAAiC,GAAG,CAAC,EAAE,EAAE,EAAE,CAC9E,CAAC;IAEF,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAqB,EAAE,QAAgB;IAC7D,MAAM,OAAO,GAAG,IAAA,gBAAY,EAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAEpD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,cAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,EAAE,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC;IACpE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,mBAAmB,CACxB,GAAmB,EACnB,GAAqB,EACrB,QAAgB;IAEhB,MAAM,OAAO,GAAG,IAAA,gBAAY,EAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAEpD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;IAExD,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,aAAa,CAAC,GAAqB,EAAE,QAAgB;IAC1D,MAAM,OAAO,GAAG,IAAA,gBAAY,EAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAEpD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,GAAG,GAAG,IAAA,wBAAoB,EAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,EAAE,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC;IAEtF,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,cAAc,CAAC,GAAqB,EAAE,QAAgB;IAC3D,IAAI,GAAG,GAA2B,SAAS,CAAC;IAE5C,IAAI,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC;IAC9B,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,CAAC;IAE1B,MAAM,GAAG,GAAG,YAAY,CAAC,WAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAC;IAEtF,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,wBAAoB,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9B,WAAW,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9B,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;IACpB,SAAS,IAAI,MAAM,GAAG,CAAC,MAAM,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;IAElE,MAAM,mBAAmB,GAAG,IAAA,gBAAY,EAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAEhE,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAI,mBAAmB,GAAG,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QACjD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,mBAAmB,EAAE,mBAAmB,GAAG,MAAM,CAAC,CAAC;IAExE,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;AAC5B,CAAC;AAED,SAAS,eAAe,CAAC,GAAqB,EAAE,QAAgB;IAC5D,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAE5C,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,GAAG,GAAG,IAAA,kBAAW,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAElC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED,SAAgB,sBAAsB,CAClC,OAAkB,EAClB,QAA+B,EAC/B,SAAiB,EACjB,MAAc,EACd,QAAgB,EAChB,KAAgB;IAEhB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,MAAM,aAAa,GAAG,SAAS,CAAC;IAEhC,MAAM,GAAG,GAAU,EAAE,CAAC;IAEtB,MAAM,GAAG,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IAEnE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,YAAY,GAAG,cAAc,CAC/B,OAAO,CAAC,QAAQ,EAChB,GAAG,EACH,EAAE,IAAI,EAAE,oBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,EACvD,QAAQ,EACR,aAAa,EACb,KAAK,CACR,CAAC;QAEF,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,GAAG,YAAY,CAAC;QAE/C,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAErB,SAAS,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;QACjC,YAAY,IAAI,WAAW,CAAC;IAChC,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,cAAc,CACnB,OAAkB,EAClB,QAA+B,EAC/B,GAAqB,EACrB,QAAgB,EAChB,KAAgB;IAEhB,IAAI,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC;IAC5B,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,IAAI,GAAiC,CAAC;IAEtC,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5B,CAAC;SAAM,CAAC;QACJ,GAAG,GAAG,YAAY,CAAC,WAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,wBAAoB,EAAE,CAAC;QACjC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9B,SAAS,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,YAAY,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;IAEvB,MAAM,WAAW,GAAG,sBAAsB,CACtC,OAAO,EACP,QAAQ,EACR,SAAS,EACT,MAAM,EACN,QAAQ,EACR,KAAK,CACR,CAAC;IAEF,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,YAAY,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED,SAAS,cAAc,CACnB,OAAkB,EAClB,QAA8B,EAC9B,GAAqB,EACrB,QAAgB,EAChB,KAAgB;IAEhB,IAAI,WAAW,GAAW,GAAG,CAAC,OAAO,CAAC;IACtC,IAAI,IAAI,GAAG,CAAC,CAAC;IAEb,MAAM,QAAQ,GAAU,EAAE,CAAC;IAC3B,MAAM,SAAS,GAAG,WAAW,CAAC;IAE9B,IAAI,aAAa,GAAsC,SAAS,CAAC;IAEjE,IAAI,QAAQ,YAAY,4BAAW,EAAE,CAAC;QAClC,QAAQ,GAAG,QAAQ,CAAC,EAAE,CAAC;IAC3B,CAAC;IAED,IAAI,QAAQ,YAAY,0BAAS,EAAE,CAAC;QAChC,IAAA,uBAAM,EACF,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,MAAM,EAChF,2DAA2D,OAAO,CAAC,QAAQ,CAAC,MAAM,UAAU,EAC5F,QAAQ,CACX,CAAC;QAEF,aAAa,GAAG,QAAQ,CAAC,QAAQ,CAAC;IACtC,CAAC;SAAM,IAAI,QAAQ,YAAY,gCAAe,EAAE,CAAC;QAC7C,MAAM,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC;QAEhC,IAAA,uBAAM,EACF,GAAG,YAAY,iCAAgB,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,MAAM,EAClF,wBAAwB,OAAO,CAAC,QAAQ,CAAC,MAAM,iBAAiB,EAChE,QAAQ,CACX,CAAC;QAEF,IAAI,CAAC;YACD,aAAa,GAAG,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAC1C,IAAA,oBAAgB,EACZ,KAAK,CAAC,6BAA6B,CAAC,QAAQ,CAAC,EAC7C,6BAAe,CAAC,QAAQ,CAC3B,CACJ,CAAC;QACN,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;SAAM,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,IAAI,KAAK,CACX,4BAA4B,QAAQ,CAAC,EAAE,EAAE,uBAAuB,OAAO,CAAC,EAAE,EAAE,EAAE,CACjF,CAAC;IACN,CAAC;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QAC/C,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAEnC,MAAM,YAAY,GACd,aAAa,KAAK,SAAS;YACvB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,aAAa,YAAY,yBAAQ;gBACjC,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAE7B,IAAA,uBAAM,EAAC,MAAM,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC;QAC5B,MAAM,SAAS,GAAG,cAAc,CAC5B,MAAM,EACN,YAAY,EACZ,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,EACxC,QAAQ,EACR,SAAS,EACT,KAAK,CACR,CAAC;QAEF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC1B,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,GAAG,SAAS,CAAC;QAEvC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC;QACnC,IAAI,IAAI,WAAW,CAAC;QAEpB,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAED,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,YAAY,0BAAS,EAAE,CAAC;QAC1D,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,MAAM,MAAM,GAAI,QAAQ,CAAC,UAA+B,CAAC,QAAQ,CAAC;IAClE,MAAM,SAAS,GAAQ,EAAE,CAAC;IAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,gBAAgB,CACrB,OAAoB,EACpB,QAAiC,EACjC,GAAqB,EACrB,QAAgB,EAChB,eAAuB,EACvB,KAAgB;IAEhB,MAAM,MAAM,GAAG,YAAY,CAAC,WAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAEpD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,6EAA6E;IAC7E,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC;IACxC,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;IAEvB,MAAM,YAAY,GAAiB;QAC/B,IAAI,EAAE,oBAAgB,CAAC,QAAQ;QAC/B,OAAO,EAAE,GAAG;KACf,CAAC;IAEF,MAAM,iBAAiB,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;IAE3E,MAAM,cAAc,GAAG,cAAc,CACjC,OAAO,CAAC,EAAE,EACV,iBAAiB,EACjB,YAAY,EACZ,QAAQ,EACR,eAAe,EACf,KAAK,CACR,CAAC;IAEF,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AACrC,CAAC;AAED,SAAgB,cAAc,CAC1B,OAAiB,EACjB,QAA8B,EAC9B,GAAqB,EACrB,QAAgB,EAChB,eAAe,GAAG,MAAM,CAAC,CAAC,CAAC,EAC3B,KAAgB;IAEhB;;;;MAIE;IAEF,IAAI,OAAO,YAAY,wBAAO,EAAE,CAAC;QAC7B,OAAO,YAAY,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,OAAO,YAAY,4BAAW,EAAE,CAAC;QACjC,OAAO,gBAAgB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,OAAO,YAAY,+BAAc,EAAE,CAAC;QACpC,OAAO,mBAAmB,CAAC,OAAO,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,IAAI,OAAO,YAAY,yBAAQ,EAAE,CAAC;QAC9B,OAAO,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED,IAAI,OAAO,YAAY,0BAAS,EAAE,CAAC;QAC/B,IAAA,uBAAM,EACF,QAAQ,KAAK,SAAS,IAAI,QAAQ,YAAY,0BAAS,EACvD,8BAA8B,EAC9B,QAAQ,CACX,CAAC;QAEF,OAAO,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,OAAO,YAAY,0BAAS,EAAE,CAAC;QAC/B,OAAO,cAAc,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,OAAO,YAAY,2BAAU,EAAE,CAAC;QAChC,OAAO,eAAe,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,OAAO,YAAY,0BAAS,EAAE,CAAC;QAC/B,OAAO,cAAc,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,OAAO,YAAY,4BAAW,EAAE,CAAC;QACjC,IAAA,uBAAM,EACF,QAAQ,KAAK,SAAS,IAAI,QAAQ,YAAY,4BAAW,EACzD,8BAA8B,EAC9B,QAAQ,CACX,CAAC;QAEF,uEAAuE;QACvE,IAAI,IAAA,wBAAoB,EAAC,OAAO,CAAC,EAAE,CAAC;YAChC,MAAM,iBAAiB,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;YAE3E,OAAO,cAAc,CACjB,OAAO,CAAC,EAAE,EACV,iBAAiB,EACjB,GAAG,EACH,QAAQ,EACR,eAAe,EACf,KAAK,CACR,CAAC;QACN,CAAC;QAED,OAAO,gBAAgB,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;IACtF,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,gBAAgB,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AACpD,CAAC"}
|