sol-dbg 0.7.1 → 0.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/artifacts/helpers.js +3 -3
- package/dist/artifacts/helpers.js.map +1 -1
- package/dist/artifacts/solc.d.ts +1 -1
- package/dist/artifacts/solc.d.ts.map +1 -1
- package/dist/debug/artifact_manager/artifact_manager.d.ts +2 -2
- package/dist/debug/artifact_manager/artifact_manager.d.ts.map +1 -1
- package/dist/debug/artifact_manager/artifact_manager.js +2 -3
- package/dist/debug/artifact_manager/artifact_manager.js.map +1 -1
- package/dist/debug/artifact_manager/bytecode_templates.js +1 -1
- package/dist/debug/artifact_manager/bytecode_templates.js.map +1 -1
- package/dist/debug/decoding/calldata/index.d.ts +1 -1
- package/dist/debug/decoding/calldata/index.d.ts.map +1 -1
- package/dist/debug/decoding/calldata/index.js +15 -3
- package/dist/debug/decoding/calldata/index.js.map +1 -1
- package/dist/debug/decoding/calldata/view.d.ts +25 -7
- package/dist/debug/decoding/calldata/view.d.ts.map +1 -1
- package/dist/debug/decoding/calldata/view.js +107 -12
- package/dist/debug/decoding/calldata/view.js.map +1 -1
- package/dist/debug/decoding/index.d.ts +1 -0
- package/dist/debug/decoding/index.d.ts.map +1 -1
- package/dist/debug/decoding/index.js +1 -0
- package/dist/debug/decoding/index.js.map +1 -1
- package/dist/debug/decoding/memory/allocator.d.ts +22 -0
- package/dist/debug/decoding/memory/allocator.d.ts.map +1 -0
- package/dist/debug/decoding/memory/allocator.js +47 -0
- package/dist/debug/decoding/memory/allocator.js.map +1 -0
- package/dist/debug/decoding/memory/index.d.ts +2 -1
- package/dist/debug/decoding/memory/index.d.ts.map +1 -1
- package/dist/debug/decoding/memory/index.js +16 -3
- package/dist/debug/decoding/memory/index.js.map +1 -1
- package/dist/debug/decoding/memory/view.d.ts +45 -8
- package/dist/debug/decoding/memory/view.d.ts.map +1 -1
- package/dist/debug/decoding/memory/view.js +185 -15
- package/dist/debug/decoding/memory/view.js.map +1 -1
- package/dist/debug/decoding/stack/index.d.ts +1 -1
- package/dist/debug/decoding/stack/index.d.ts.map +1 -1
- package/dist/debug/decoding/stack/index.js +15 -3
- package/dist/debug/decoding/stack/index.js.map +1 -1
- package/dist/debug/decoding/stack/view.d.ts +7 -0
- package/dist/debug/decoding/stack/view.d.ts.map +1 -1
- package/dist/debug/decoding/stack/view.js +41 -1
- package/dist/debug/decoding/stack/view.js.map +1 -1
- package/dist/debug/decoding/storage/index.d.ts +1 -1
- package/dist/debug/decoding/storage/index.d.ts.map +1 -1
- package/dist/debug/decoding/storage/index.js +15 -3
- package/dist/debug/decoding/storage/index.js.map +1 -1
- package/dist/debug/decoding/storage/view.d.ts +45 -7
- package/dist/debug/decoding/storage/view.d.ts.map +1 -1
- package/dist/debug/decoding/storage/view.js +279 -16
- package/dist/debug/decoding/storage/view.js.map +1 -1
- package/dist/debug/decoding/view.d.ts +14 -1
- package/dist/debug/decoding/view.d.ts.map +1 -1
- package/dist/debug/decoding/view.js +8 -1
- package/dist/debug/decoding/view.js.map +1 -1
- package/dist/debug/foundry_cheatcodes.d.ts +15 -15
- package/dist/debug/foundry_cheatcodes.d.ts.map +1 -1
- package/dist/debug/foundry_cheatcodes.js +11 -10
- package/dist/debug/foundry_cheatcodes.js.map +1 -1
- package/dist/debug/layout.d.ts +2 -2
- package/dist/debug/layout.d.ts.map +1 -1
- package/dist/debug/layout.js +1 -1
- package/dist/debug/layout.js.map +1 -1
- package/dist/debug/opcode_interposing.js +2 -2
- package/dist/debug/opcode_interposing.js.map +1 -1
- package/dist/debug/tracers/base_tracer.d.ts +4 -4
- package/dist/debug/tracers/base_tracer.d.ts.map +1 -1
- package/dist/debug/tracers/base_tracer.js +7 -7
- package/dist/debug/tracers/base_tracer.js.map +1 -1
- package/dist/debug/tracers/storage_decode_tracer.js +1 -1
- package/dist/debug/tracers/storage_decode_tracer.js.map +1 -1
- package/dist/debug/tracers/transformers/basic_info.d.ts +2 -2
- package/dist/debug/tracers/transformers/basic_info.d.ts.map +1 -1
- package/dist/debug/tracers/transformers/basic_info.js.map +1 -1
- package/dist/debug/tracers/transformers/ext_stack.d.ts.map +1 -1
- package/dist/debug/tracers/transformers/ext_stack.js +3 -5
- package/dist/debug/tracers/transformers/ext_stack.js.map +1 -1
- package/dist/debug/types.d.ts +2 -38
- package/dist/debug/types.d.ts.map +1 -1
- package/dist/debug/types.js +1 -8
- package/dist/debug/types.js.map +1 -1
- package/dist/utils/ethereumjs_internal/exceptions.d.ts +2 -2
- package/dist/utils/ethereumjs_internal/opcodes.js +1 -1
- package/dist/utils/immutable_map.d.ts +2 -0
- package/dist/utils/immutable_map.d.ts.map +1 -1
- package/dist/utils/immutable_map.js +21 -0
- package/dist/utils/immutable_map.js.map +1 -1
- package/dist/utils/misc.d.ts +4 -3
- package/dist/utils/misc.d.ts.map +1 -1
- package/dist/utils/misc.js +25 -20
- package/dist/utils/misc.js.map +1 -1
- package/dist/utils/solidity.d.ts.map +1 -1
- package/dist/utils/solidity.js +23 -7
- package/dist/utils/solidity.js.map +1 -1
- package/dist/utils/test_runner.d.ts +5 -5
- package/dist/utils/test_runner.d.ts.map +1 -1
- package/dist/utils/test_runner.js +15 -14
- package/dist/utils/test_runner.js.map +1 -1
- package/package.json +13 -12
- package/dist/utils/types.d.ts +0 -9
- package/dist/utils/types.d.ts.map +0 -1
- package/dist/utils/types.js +0 -3
- package/dist/utils/types.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MissingStorageView = exports.StringStorageView = exports.BytesStorageView = exports.PackedArrayStorageView = exports.MapStorageView = exports.StructStorageView = exports.ArrayStorageView = exports.PointerStorageView = exports.FixedBytesStorageView = exports.AddressStorageView = exports.BoolStorageView = exports.IntStorageView = exports.BaseStorageView = void 0;
|
|
3
|
+
exports.MissingStorageView = exports.StringStorageView = exports.BytesStorageView = exports.PackedArrayStorageView = exports.MapStorageView = exports.StructStorageView = exports.ArrayStorageView = exports.PointerStorageView = exports.FixedBytesStorageView = exports.SingleByteStorageView = exports.AddressStorageView = exports.BoolStorageView = exports.IntStorageView = exports.BaseStorageView = void 0;
|
|
4
4
|
exports.nextWord = nextWord;
|
|
5
5
|
exports.makeStorageView = makeStorageView;
|
|
6
6
|
const solc_typed_ast_1 = require("solc-typed-ast");
|
|
@@ -12,6 +12,7 @@ const util_1 = require("@ethereumjs/util");
|
|
|
12
12
|
const exp_types_1 = require("../exp_types");
|
|
13
13
|
const memory_1 = require("../memory");
|
|
14
14
|
const utils_2 = require("../utils");
|
|
15
|
+
const view_2 = require("../memory/view");
|
|
15
16
|
const utils_3 = require("ethereum-cryptography/utils");
|
|
16
17
|
function move(loc, byBytes) {
|
|
17
18
|
const [key, endOffsetInWord] = loc;
|
|
@@ -34,6 +35,13 @@ class BaseStorageView extends view_1.View {
|
|
|
34
35
|
}
|
|
35
36
|
return res;
|
|
36
37
|
}
|
|
38
|
+
setWord(key, value, storage) {
|
|
39
|
+
const keyHash = (0, utils_1.bigEndianBufToBigint)((0, keccak_1.keccak256)((0, utils_1.bigIntToBuf)(key, 32, "big")));
|
|
40
|
+
if ((0, utils_3.equalsBytes)(value, utils_1.ZERO_BYTES32)) {
|
|
41
|
+
return storage.delete(keyHash);
|
|
42
|
+
}
|
|
43
|
+
return storage.set(keyHash, value);
|
|
44
|
+
}
|
|
37
45
|
/**
|
|
38
46
|
* Helper to fetch `numBytes` bytes from `storage` starting at offset `off`.
|
|
39
47
|
*/
|
|
@@ -75,6 +83,18 @@ class BaseStorageView extends view_1.View {
|
|
|
75
83
|
}
|
|
76
84
|
return res;
|
|
77
85
|
}
|
|
86
|
+
encodeIntAt(val, key, endOffsetInWord, type, state) {
|
|
87
|
+
const size = type.nBits / 8;
|
|
88
|
+
if (endOffsetInWord < size) {
|
|
89
|
+
throw new view_1.EncodingError(`Internal Error: Can't decode ${type.pp()} starting at offset ${endOffsetInWord} in word ${key}`);
|
|
90
|
+
}
|
|
91
|
+
if (!(0, utils_1.fits)(val, type)) {
|
|
92
|
+
throw new view_1.EncodingError(`Decoded value ${val} from ${[key, endOffsetInWord]} doesn't fit in expected typee ${type.pp()}`);
|
|
93
|
+
}
|
|
94
|
+
const word = this.fetchWord(key, state);
|
|
95
|
+
(0, utils_1.encodeBigintInBigEndianBuf)(val, word, type.nBits / 8, endOffsetInWord);
|
|
96
|
+
return this.setWord(key, word, state);
|
|
97
|
+
}
|
|
78
98
|
pp() {
|
|
79
99
|
return `<${this.type.pp()}@${this.loc} in storage>`;
|
|
80
100
|
}
|
|
@@ -87,6 +107,9 @@ class IntStorageView extends BaseStorageView {
|
|
|
87
107
|
nextLoc() {
|
|
88
108
|
return move(this.loc, this.type.nBits / 8);
|
|
89
109
|
}
|
|
110
|
+
encode(value, state) {
|
|
111
|
+
return this.encodeIntAt(value, this.key, this.endOffsetInWord, this.type, state);
|
|
112
|
+
}
|
|
90
113
|
}
|
|
91
114
|
exports.IntStorageView = IntStorageView;
|
|
92
115
|
class BoolStorageView extends BaseStorageView {
|
|
@@ -97,6 +120,9 @@ class BoolStorageView extends BaseStorageView {
|
|
|
97
120
|
}
|
|
98
121
|
return byte !== BigInt(0);
|
|
99
122
|
}
|
|
123
|
+
encode(value, state) {
|
|
124
|
+
return this.encodeIntAt(value ? 1n : 0n, this.key, this.endOffsetInWord, utils_1.uint8, state);
|
|
125
|
+
}
|
|
100
126
|
nextLoc() {
|
|
101
127
|
return move(this.loc, 1);
|
|
102
128
|
}
|
|
@@ -110,11 +136,43 @@ class AddressStorageView extends BaseStorageView {
|
|
|
110
136
|
const bytes = this.fetchBytes(this.key, this.endOffsetInWord - 20, 20, state);
|
|
111
137
|
return new util_1.Address(bytes);
|
|
112
138
|
}
|
|
139
|
+
encode(value, state) {
|
|
140
|
+
if (this.endOffsetInWord < 20) {
|
|
141
|
+
throw new view_1.EncodingError(`Unalighed read: Can't decode ${this.type.pp()} starting at offset ${this.endOffsetInWord} in word ${this.key}`);
|
|
142
|
+
}
|
|
143
|
+
const word = this.fetchWord(this.key, state);
|
|
144
|
+
word.set(value.bytes, this.endOffsetInWord - 20);
|
|
145
|
+
return this.setWord(this.key, word, state);
|
|
146
|
+
}
|
|
113
147
|
nextLoc() {
|
|
114
148
|
return move(this.loc, 20);
|
|
115
149
|
}
|
|
116
150
|
}
|
|
117
151
|
exports.AddressStorageView = AddressStorageView;
|
|
152
|
+
/**
|
|
153
|
+
* For consisntency with Memory views, add a SingleByteStorage view that returns a number
|
|
154
|
+
*/
|
|
155
|
+
class SingleByteStorageView extends BaseStorageView {
|
|
156
|
+
constructor(loc) {
|
|
157
|
+
super(solc_typed_ast_1.types.byte, loc);
|
|
158
|
+
}
|
|
159
|
+
decode(state) {
|
|
160
|
+
if (this.endOffsetInWord < this.type.size) {
|
|
161
|
+
return new value_1.DecodingFailure(`Unalighed Read: Can't decode ${this.type.pp()} starting at offset ${this.endOffsetInWord} in word ${this.key}`);
|
|
162
|
+
}
|
|
163
|
+
const byte = this.fetchBytes(this.key, this.endOffsetInWord - this.type.size, this.type.size, state);
|
|
164
|
+
return Number(byte[0]);
|
|
165
|
+
}
|
|
166
|
+
encode(value, state) {
|
|
167
|
+
const word = this.fetchWord(this.key, state);
|
|
168
|
+
word[this.endOffsetInWord - this.type.size] = value;
|
|
169
|
+
return this.setWord(this.key, word, state);
|
|
170
|
+
}
|
|
171
|
+
nextLoc() {
|
|
172
|
+
return move(this.loc, this.type.size);
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
exports.SingleByteStorageView = SingleByteStorageView;
|
|
118
176
|
class FixedBytesStorageView extends BaseStorageView {
|
|
119
177
|
decode(state) {
|
|
120
178
|
if (this.endOffsetInWord < this.type.size) {
|
|
@@ -122,6 +180,23 @@ class FixedBytesStorageView extends BaseStorageView {
|
|
|
122
180
|
}
|
|
123
181
|
return this.fetchBytes(this.key, this.endOffsetInWord - this.type.size, this.type.size, state);
|
|
124
182
|
}
|
|
183
|
+
encode(value, state) {
|
|
184
|
+
if (this.endOffsetInWord < this.type.size) {
|
|
185
|
+
throw new view_1.EncodingError(`Unalighed read: Can't decode ${this.type.pp()} starting at offset ${this.endOffsetInWord} in word ${this.key}`);
|
|
186
|
+
}
|
|
187
|
+
const word = this.fetchWord(this.key, state);
|
|
188
|
+
word.set(value, this.endOffsetInWord - this.type.size);
|
|
189
|
+
return this.setWord(this.key, word, state);
|
|
190
|
+
}
|
|
191
|
+
indexView(key) {
|
|
192
|
+
if (key >= this.type.size || key < 0n) {
|
|
193
|
+
return new value_1.DecodingFailure(`Invalid index ${key} in ${this.type.pp()}`);
|
|
194
|
+
}
|
|
195
|
+
return new SingleByteStorageView([
|
|
196
|
+
this.key,
|
|
197
|
+
this.endOffsetInWord - this.type.size + Number(key) + 1
|
|
198
|
+
]);
|
|
199
|
+
}
|
|
125
200
|
nextLoc() {
|
|
126
201
|
return move(this.loc, this.type.size);
|
|
127
202
|
}
|
|
@@ -135,9 +210,15 @@ class PointerStorageView extends BaseStorageView {
|
|
|
135
210
|
decode(state, mapKeys) {
|
|
136
211
|
return this.innerView.decode(state, mapKeys);
|
|
137
212
|
}
|
|
213
|
+
encode(value, state) {
|
|
214
|
+
return this.innerView.encode(value, state);
|
|
215
|
+
}
|
|
138
216
|
nextLoc() {
|
|
139
217
|
return this.innerView.nextLoc();
|
|
140
218
|
}
|
|
219
|
+
toView() {
|
|
220
|
+
return this.innerView;
|
|
221
|
+
}
|
|
141
222
|
}
|
|
142
223
|
exports.PointerStorageView = PointerStorageView;
|
|
143
224
|
function keccakOfAddr(addr) {
|
|
@@ -146,6 +227,30 @@ function keccakOfAddr(addr) {
|
|
|
146
227
|
return (0, utils_1.bigEndianBufToBigint)(hashBuf);
|
|
147
228
|
}
|
|
148
229
|
class ArrayStorageView extends BaseStorageView {
|
|
230
|
+
/**
|
|
231
|
+
* Helper to compute how many words elements "take". This is not straightforward, as we may pack multiple
|
|
232
|
+
* elements per word, or one element may take multiple words. So we return two values - nEls nad nWords.
|
|
233
|
+
* I.e. we state that we can fit `nEls` elements in `nWords`, where this is the smalles "package" possible.
|
|
234
|
+
* @param elT
|
|
235
|
+
*/
|
|
236
|
+
static computeElmentSize(elT) {
|
|
237
|
+
let tmpL = [0n, 32];
|
|
238
|
+
let nEls = 0n;
|
|
239
|
+
while (typeFitsInLoc(elT, tmpL) && tmpL[0] === 0n) {
|
|
240
|
+
nEls++;
|
|
241
|
+
const elView = makeStorageView(elT, tmpL);
|
|
242
|
+
tmpL = elView.nextLoc();
|
|
243
|
+
if (tmpL === undefined) {
|
|
244
|
+
break;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
if (tmpL === undefined) {
|
|
248
|
+
return undefined;
|
|
249
|
+
}
|
|
250
|
+
// Number of words needed for nEls elements
|
|
251
|
+
const nWords = tmpL[0] + (tmpL[1] === 32 ? 0n : 1n);
|
|
252
|
+
return [nEls, nWords];
|
|
253
|
+
}
|
|
149
254
|
constructor(type, loc) {
|
|
150
255
|
super(type, loc);
|
|
151
256
|
if (type.size === undefined) {
|
|
@@ -153,22 +258,12 @@ class ArrayStorageView extends BaseStorageView {
|
|
|
153
258
|
}
|
|
154
259
|
else {
|
|
155
260
|
// Dirty way to compute how many elements fit in how many words
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
while (typeFitsInLoc(type.elementT, tmpL) && tmpL[0] === 0n) {
|
|
159
|
-
nEls++;
|
|
160
|
-
const elView = makeStorageView(type.elementT, tmpL);
|
|
161
|
-
tmpL = elView.nextLoc();
|
|
162
|
-
if (tmpL === undefined) {
|
|
163
|
-
break;
|
|
164
|
-
}
|
|
165
|
-
}
|
|
166
|
-
if (tmpL === undefined) {
|
|
261
|
+
const elSizeDesc = ArrayStorageView.computeElmentSize(this.type.elementT);
|
|
262
|
+
if (elSizeDesc === undefined) {
|
|
167
263
|
this._nextLoc = undefined;
|
|
168
264
|
}
|
|
169
265
|
else {
|
|
170
|
-
|
|
171
|
-
const nWords = tmpL[0] + (tmpL[1] === 32 ? 0n : 1n);
|
|
266
|
+
const [nEls, nWords] = elSizeDesc;
|
|
172
267
|
// Number of groups of "nEls" needed to fit in size
|
|
173
268
|
const nGroups = type.size / nEls + (type.size % nEls === 0n ? 0n : 1n);
|
|
174
269
|
// Number of words for the entire fixed sized array.
|
|
@@ -186,7 +281,6 @@ class ArrayStorageView extends BaseStorageView {
|
|
|
186
281
|
decode(state, mapKeys) {
|
|
187
282
|
let sizeBigint;
|
|
188
283
|
let contentsKey;
|
|
189
|
-
const contentsOff = 32;
|
|
190
284
|
if (this.type.size) {
|
|
191
285
|
sizeBigint = this.type.size;
|
|
192
286
|
contentsKey = this.key;
|
|
@@ -203,7 +297,7 @@ class ArrayStorageView extends BaseStorageView {
|
|
|
203
297
|
}
|
|
204
298
|
const size = Number(sizeBigint);
|
|
205
299
|
const res = [];
|
|
206
|
-
let elLoc = [contentsKey,
|
|
300
|
+
let elLoc = [contentsKey, 32];
|
|
207
301
|
const elT = this.type.elementT;
|
|
208
302
|
for (let i = 0; i < size; i++) {
|
|
209
303
|
if (elLoc === undefined) {
|
|
@@ -217,6 +311,55 @@ class ArrayStorageView extends BaseStorageView {
|
|
|
217
311
|
}
|
|
218
312
|
return res;
|
|
219
313
|
}
|
|
314
|
+
encode(value, state) {
|
|
315
|
+
let s = state;
|
|
316
|
+
if (this.type.size !== undefined && BigInt(value.length) !== this.type.size) {
|
|
317
|
+
throw new view_1.EncodingError(`Invalid length ${value.length} for encoding an array of type ${this.type.pp()}`);
|
|
318
|
+
}
|
|
319
|
+
const size = BigInt(value.length);
|
|
320
|
+
let baseKey = this.key;
|
|
321
|
+
if (this.type.size === undefined) {
|
|
322
|
+
s = this.encodeIntAt(size, this.key, this.endOffsetInWord, utils_1.uint256, s);
|
|
323
|
+
baseKey = keccakOfAddr(baseKey);
|
|
324
|
+
}
|
|
325
|
+
let elLoc = [baseKey, 32];
|
|
326
|
+
for (let i = 0; i < size; i++) {
|
|
327
|
+
const view = makeStorageView(this.type.elementT, elLoc);
|
|
328
|
+
s = view.encode(value[i], s);
|
|
329
|
+
elLoc = view.nextLoc();
|
|
330
|
+
(0, solc_typed_ast_1.assert)(elLoc !== undefined, `Internal error: elLoc shouldnt be undefined in ArrayStorageView.encode`);
|
|
331
|
+
}
|
|
332
|
+
return s.collapseUntil(state);
|
|
333
|
+
}
|
|
334
|
+
indexView(key, state) {
|
|
335
|
+
let size;
|
|
336
|
+
let addr;
|
|
337
|
+
if (this.type.size) {
|
|
338
|
+
size = this.type.size;
|
|
339
|
+
addr = this.key;
|
|
340
|
+
}
|
|
341
|
+
else {
|
|
342
|
+
size = this.decodeIntAt(this.key, this.endOffsetInWord, utils_1.uint256, state);
|
|
343
|
+
if ((0, utils_2.isFailure)(size)) {
|
|
344
|
+
return size;
|
|
345
|
+
}
|
|
346
|
+
addr = keccakOfAddr(this.key);
|
|
347
|
+
}
|
|
348
|
+
if (key >= size || key < 0n) {
|
|
349
|
+
return new value_1.DecodingFailure(`Invalid index ${key} in array of size ${size}`);
|
|
350
|
+
}
|
|
351
|
+
// @todo I should cache this
|
|
352
|
+
const elSizeDesc = ArrayStorageView.computeElmentSize(this.type.elementT);
|
|
353
|
+
if (elSizeDesc === undefined) {
|
|
354
|
+
return new value_1.DecodingFailure(`Couldnt determine element size`);
|
|
355
|
+
}
|
|
356
|
+
const [nEls, nWords] = elSizeDesc;
|
|
357
|
+
const word = addr + (key / nEls) * nWords;
|
|
358
|
+
const endOffsetInWord = typeStartsInNewWord(this.type.elementT)
|
|
359
|
+
? 32
|
|
360
|
+
: 32 - Number(key % nEls) * staticSize(this.type.elementT);
|
|
361
|
+
return makeStorageView(this.type.elementT, [word, endOffsetInWord]);
|
|
362
|
+
}
|
|
220
363
|
}
|
|
221
364
|
exports.ArrayStorageView = ArrayStorageView;
|
|
222
365
|
class StructStorageView extends BaseStorageView {
|
|
@@ -245,6 +388,24 @@ class StructStorageView extends BaseStorageView {
|
|
|
245
388
|
]);
|
|
246
389
|
return new value_1.Struct(entries);
|
|
247
390
|
}
|
|
391
|
+
encode(value, state) {
|
|
392
|
+
if (value.entries.length !== this.fieldViews.length) {
|
|
393
|
+
throw new view_1.EncodingError(`Mismatch in number of fields in encoding of ${value} to ${this.type.pp()}`);
|
|
394
|
+
}
|
|
395
|
+
let s = state;
|
|
396
|
+
for (let i = 0; i < value.entries.length; i++) {
|
|
397
|
+
s = this.fieldViews[i][1].encode(value.entries[i][1], s);
|
|
398
|
+
}
|
|
399
|
+
return s.collapseUntil(state);
|
|
400
|
+
}
|
|
401
|
+
fieldView(name) {
|
|
402
|
+
for (const [fieldName, fieldView] of this.fieldViews) {
|
|
403
|
+
if (name === fieldName) {
|
|
404
|
+
return fieldView;
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
return new value_1.DecodingFailure(`No field ${name} on type ${this.type.pp()}`);
|
|
408
|
+
}
|
|
248
409
|
}
|
|
249
410
|
exports.StructStorageView = StructStorageView;
|
|
250
411
|
function decodeMapRefKey(type, data) {
|
|
@@ -253,6 +414,18 @@ function decodeMapRefKey(type, data) {
|
|
|
253
414
|
}
|
|
254
415
|
return type instanceof solc_typed_ast_1.StringType ? (0, util_1.bytesToUtf8)(data) : (0, utils_3.bytesToHex)(data);
|
|
255
416
|
}
|
|
417
|
+
function encodeMapKey(keyT, value) {
|
|
418
|
+
if (keyT instanceof solc_typed_ast_1.PointerType) {
|
|
419
|
+
if (!(keyT.to instanceof solc_typed_ast_1.StringType || keyT.to instanceof solc_typed_ast_1.BytesType)) {
|
|
420
|
+
throw new Error(`Invalid map reference key type ${keyT.pp()}`);
|
|
421
|
+
}
|
|
422
|
+
return keyT.to instanceof solc_typed_ast_1.StringType ? (0, utils_3.utf8ToBytes)(value) : value;
|
|
423
|
+
}
|
|
424
|
+
const buf = new Uint8Array(32);
|
|
425
|
+
const keyV = (0, memory_1.makeMemoryView)(keyT, 0n);
|
|
426
|
+
keyV.encode(value, buf, undefined);
|
|
427
|
+
return buf;
|
|
428
|
+
}
|
|
256
429
|
class MapStorageView extends BaseStorageView {
|
|
257
430
|
constructor(type, loc) {
|
|
258
431
|
super(type, loc);
|
|
@@ -290,12 +463,51 @@ class MapStorageView extends BaseStorageView {
|
|
|
290
463
|
}
|
|
291
464
|
return res;
|
|
292
465
|
}
|
|
466
|
+
encode(value, state) {
|
|
467
|
+
// Encode the current slot in the buffer `slot`
|
|
468
|
+
const valueT = this.type.valueType;
|
|
469
|
+
const slotBuf = new Uint8Array(32);
|
|
470
|
+
const memView = new view_2.IntMemView(utils_1.uint256, 0n);
|
|
471
|
+
memView.encode(this.loc[0], slotBuf);
|
|
472
|
+
for (const [k, v] of value) {
|
|
473
|
+
// Compute the concatenation h(k) . p as per
|
|
474
|
+
// https://docs.soliditylang.org/en/latest/internals/layout_in_storage.html#mappings-and-dynamic-arrays
|
|
475
|
+
const keyBuf = encodeMapKey(this.type.keyType, k);
|
|
476
|
+
const combinedBuf = (0, util_1.concatBytes)(keyBuf, slotBuf);
|
|
477
|
+
const keySlot = (0, utils_1.bigEndianBufToBigint)((0, keccak_1.keccak256)(combinedBuf));
|
|
478
|
+
const valueView = makeStorageView(valueT, [keySlot, 32]);
|
|
479
|
+
state = valueView.encode(v, state);
|
|
480
|
+
}
|
|
481
|
+
return state;
|
|
482
|
+
}
|
|
483
|
+
indexView(key) {
|
|
484
|
+
const slotBuf = new Uint8Array(32);
|
|
485
|
+
const memView = new view_2.IntMemView(utils_1.uint256, 0n);
|
|
486
|
+
memView.encode(this.loc[0], slotBuf);
|
|
487
|
+
const keyBuf = encodeMapKey(this.type.keyType, key);
|
|
488
|
+
const combinedBuf = (0, util_1.concatBytes)(keyBuf, slotBuf);
|
|
489
|
+
const keySlot = (0, utils_1.bigEndianBufToBigint)((0, keccak_1.keccak256)(combinedBuf));
|
|
490
|
+
return makeStorageView(this.type.valueType, [keySlot, 32]);
|
|
491
|
+
}
|
|
293
492
|
}
|
|
294
493
|
exports.MapStorageView = MapStorageView;
|
|
295
494
|
class PackedArrayStorageView extends BaseStorageView {
|
|
296
495
|
nextLoc() {
|
|
297
496
|
return nextWord(this.loc);
|
|
298
497
|
}
|
|
498
|
+
getSize(state) {
|
|
499
|
+
const word = this.fetchWord(this.key, state);
|
|
500
|
+
const lByte = word[31];
|
|
501
|
+
if (lByte % 2 === 0) {
|
|
502
|
+
/// Less than 31 bytes - length * 2 stored in lowest byte
|
|
503
|
+
return BigInt(lByte / 2);
|
|
504
|
+
}
|
|
505
|
+
const len = this.decodeIntAt(this.key, this.endOffsetInWord, utils_1.uint256, state);
|
|
506
|
+
if ((0, utils_2.isFailure)(len)) {
|
|
507
|
+
return len;
|
|
508
|
+
}
|
|
509
|
+
return (len - 1n) / 2n;
|
|
510
|
+
}
|
|
299
511
|
decodeBytes(state) {
|
|
300
512
|
const word = this.fetchWord(this.key, state);
|
|
301
513
|
const lByte = word[31];
|
|
@@ -317,12 +529,57 @@ class PackedArrayStorageView extends BaseStorageView {
|
|
|
317
529
|
const addr = keccakOfAddr(this.key);
|
|
318
530
|
return this.fetchBytes(addr, 0, numLen, state);
|
|
319
531
|
}
|
|
532
|
+
encodeBytesAt(bytes, slot, state) {
|
|
533
|
+
if (bytes.length < 32) {
|
|
534
|
+
const w = this.fetchWord(slot, state);
|
|
535
|
+
w[31] = 2 * bytes.length;
|
|
536
|
+
w.set(bytes, 0);
|
|
537
|
+
return this.setWord(slot, w, state);
|
|
538
|
+
}
|
|
539
|
+
let s = this.encodeIntAt(BigInt(2 * bytes.length + 1), slot, 32, utils_1.uint256, state);
|
|
540
|
+
let addr = keccakOfAddr(this.key);
|
|
541
|
+
let srcOff = 0;
|
|
542
|
+
while (srcOff < bytes.length) {
|
|
543
|
+
const end = (0, utils_1.min)(srcOff + 32, bytes.length);
|
|
544
|
+
let w;
|
|
545
|
+
if (end - srcOff === 32) {
|
|
546
|
+
w = bytes.slice(srcOff, end);
|
|
547
|
+
}
|
|
548
|
+
else {
|
|
549
|
+
w = this.fetchWord(addr, s);
|
|
550
|
+
w.set(bytes.slice(srcOff, end));
|
|
551
|
+
}
|
|
552
|
+
s = this.setWord(addr, w, s);
|
|
553
|
+
addr++;
|
|
554
|
+
srcOff += 32;
|
|
555
|
+
}
|
|
556
|
+
return s.collapseUntil(state);
|
|
557
|
+
}
|
|
320
558
|
}
|
|
321
559
|
exports.PackedArrayStorageView = PackedArrayStorageView;
|
|
322
560
|
class BytesStorageView extends PackedArrayStorageView {
|
|
323
561
|
decode(state) {
|
|
324
562
|
return this.decodeBytes(state);
|
|
325
563
|
}
|
|
564
|
+
encode(value, state) {
|
|
565
|
+
return this.encodeBytesAt(value, this.key, state);
|
|
566
|
+
}
|
|
567
|
+
indexView(key, state) {
|
|
568
|
+
const size = this.getSize(state);
|
|
569
|
+
if ((0, utils_2.isFailure)(size)) {
|
|
570
|
+
return size;
|
|
571
|
+
}
|
|
572
|
+
if (key < 0n || key >= size) {
|
|
573
|
+
return new value_1.DecodingFailure(`Invalid index ${key} in bytes of size ${size}`);
|
|
574
|
+
}
|
|
575
|
+
if (size < 32) {
|
|
576
|
+
return new SingleByteStorageView([this.key, Number(key) + 1]);
|
|
577
|
+
}
|
|
578
|
+
const base = keccakOfAddr(this.key);
|
|
579
|
+
const word = base + key / 32n;
|
|
580
|
+
const endOffsetInWord = Number(key % 32n) + 1;
|
|
581
|
+
return new SingleByteStorageView([word, endOffsetInWord]);
|
|
582
|
+
}
|
|
326
583
|
}
|
|
327
584
|
exports.BytesStorageView = BytesStorageView;
|
|
328
585
|
class StringStorageView extends PackedArrayStorageView {
|
|
@@ -333,6 +590,9 @@ class StringStorageView extends PackedArrayStorageView {
|
|
|
333
590
|
}
|
|
334
591
|
return (0, util_1.bytesToUtf8)(bytes);
|
|
335
592
|
}
|
|
593
|
+
encode(value, state) {
|
|
594
|
+
return this.encodeBytesAt((0, solc_typed_ast_1.stringToBytes)(value), this.key, state);
|
|
595
|
+
}
|
|
336
596
|
}
|
|
337
597
|
exports.StringStorageView = StringStorageView;
|
|
338
598
|
class MissingStorageView extends BaseStorageView {
|
|
@@ -348,6 +608,9 @@ class MissingStorageView extends BaseStorageView {
|
|
|
348
608
|
decode() {
|
|
349
609
|
return new value_1.DecodingFailure(`missing ${this.type.rawTypeName ? this.type.rawTypeName.type : "<unknown>"}`);
|
|
350
610
|
}
|
|
611
|
+
encode() {
|
|
612
|
+
throw new view_1.EncodingError(`Cannot encode a missing value`);
|
|
613
|
+
}
|
|
351
614
|
nextLoc() {
|
|
352
615
|
if (this.type.rawTypeName === undefined) {
|
|
353
616
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../../../src/debug/decoding/storage/view.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../../../src/debug/decoding/storage/view.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { TypeNode } from "solc-typed-ast";
|
|
2
2
|
import { DecodingFailure, Value } from "./value";
|
|
3
|
-
import { Memory, Stack } from "../types";
|
|
3
|
+
import { Memory, Stack, Storage } from "../types";
|
|
4
4
|
export type StateArea = Memory | Stack | Storage;
|
|
5
|
+
export declare class EncodingError extends Error {
|
|
6
|
+
readonly reason: string;
|
|
7
|
+
constructor(reason: string);
|
|
8
|
+
}
|
|
5
9
|
/**
|
|
6
10
|
* Base class for all data {@link View}s. Views are parametrized by the {@link State} they project from (e.g. Memory, Storage, Calldata),
|
|
7
11
|
* the Solidity {@link Type} of the element they are decoding as well as Typescript type of the {@link Value} they decode.
|
|
@@ -17,4 +21,13 @@ export declare abstract class View<State = StateArea, Val extends Value = Value,
|
|
|
17
21
|
abstract decode(state: State): Val | DecodingFailure;
|
|
18
22
|
abstract pp(): string;
|
|
19
23
|
}
|
|
24
|
+
export interface IndexableView<IdxType extends Value, State extends StateArea, KeyViewT extends View<State>> {
|
|
25
|
+
indexView(key: IdxType, state: State): KeyViewT | DecodingFailure;
|
|
26
|
+
}
|
|
27
|
+
export interface StructView<State, FieldViewT extends View<State>> {
|
|
28
|
+
fieldView(name: string): FieldViewT | DecodingFailure;
|
|
29
|
+
}
|
|
30
|
+
export interface PointerView<State, ToViewT extends View<State>> {
|
|
31
|
+
toView(state: State): ToViewT | DecodingFailure;
|
|
32
|
+
}
|
|
20
33
|
//# sourceMappingURL=view.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/debug/decoding/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/debug/decoding/view.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAElD,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,CAAC;AAEjD,qBAAa,aAAc,SAAQ,KAAK;aACR,MAAM,EAAE,MAAM;gBAAd,MAAM,EAAE,MAAM;CAG7C;AAED;;;GAGG;AACH,8BAAsB,IAAI,CACtB,KAAK,GAAG,SAAS,EACjB,GAAG,SAAS,KAAK,GAAG,KAAK,EACzB,GAAG,GAAG,GAAG,EACT,IAAI,SAAS,QAAQ,GAAG,QAAQ;aAGZ,IAAI,EAAE,IAAI;IAC1B,SAAS,CAAC,GAAG,EAAE,GAAG;gBADF,IAAI,EAAE,IAAI,EAChB,GAAG,EAAE,GAAG;IAGtB;;;OAGG;IACH,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,GAAG,GAAG,eAAe;IACpD,QAAQ,CAAC,EAAE,IAAI,MAAM;CACxB;AAED,MAAM,WAAW,aAAa,CAC1B,OAAO,SAAS,KAAK,EACrB,KAAK,SAAS,SAAS,EACvB,QAAQ,SAAS,IAAI,CAAC,KAAK,CAAC;IAE5B,SAAS,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,QAAQ,GAAG,eAAe,CAAC;CACrE;AAED,MAAM,WAAW,UAAU,CAAC,KAAK,EAAE,UAAU,SAAS,IAAI,CAAC,KAAK,CAAC;IAC7D,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,eAAe,CAAC;CACzD;AAED,MAAM,WAAW,WAAW,CAAC,KAAK,EAAE,OAAO,SAAS,IAAI,CAAC,KAAK,CAAC;IAC3D,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,GAAG,eAAe,CAAC;CACnD"}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.View = void 0;
|
|
3
|
+
exports.View = exports.EncodingError = void 0;
|
|
4
|
+
class EncodingError extends Error {
|
|
5
|
+
constructor(reason) {
|
|
6
|
+
super();
|
|
7
|
+
this.reason = reason;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.EncodingError = EncodingError;
|
|
4
11
|
/**
|
|
5
12
|
* Base class for all data {@link View}s. Views are parametrized by the {@link State} they project from (e.g. Memory, Storage, Calldata),
|
|
6
13
|
* the Solidity {@link Type} of the element they are decoding as well as Typescript type of the {@link Value} they decode.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/debug/decoding/view.ts"],"names":[],"mappings":";;;AAMA;;;GAGG;AACH,MAAsB,IAAI;IAMtB,YACoB,IAAU,EAChB,GAAQ;QADF,SAAI,GAAJ,IAAI,CAAM;QAChB,QAAG,GAAH,GAAG,CAAK;IACnB,CAAC;
|
|
1
|
+
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/debug/decoding/view.ts"],"names":[],"mappings":";;;AAMA,MAAa,aAAc,SAAQ,KAAK;IACpC,YAA4B,MAAc;QACtC,KAAK,EAAE,CAAC;QADgB,WAAM,GAAN,MAAM,CAAQ;IAE1C,CAAC;CACJ;AAJD,sCAIC;AAED;;;GAGG;AACH,MAAsB,IAAI;IAMtB,YACoB,IAAU,EAChB,GAAQ;QADF,SAAI,GAAJ,IAAI,CAAM;QAChB,QAAG,GAAH,GAAG,CAAK;IACnB,CAAC;CAQP;AAjBD,oBAiBC"}
|
|
@@ -11,21 +11,21 @@ type RunState = any;
|
|
|
11
11
|
export declare const foundryCtxMap: Map<EVM, FoundryContext>;
|
|
12
12
|
export declare function getFoundryCtx(evm: EVMInterface): FoundryContext | undefined;
|
|
13
13
|
export declare const FoundryCheatcodesAddress: Address;
|
|
14
|
-
export declare const WARP_SELECTOR: Uint8Array
|
|
15
|
-
export declare const ROLL_SELECTOR: Uint8Array
|
|
16
|
-
export declare const LOAD_SELECTOR: Uint8Array
|
|
17
|
-
export declare const STORE_SELECTOR: Uint8Array
|
|
18
|
-
export declare const SIGN_SELECTOR: Uint8Array
|
|
19
|
-
export declare const ADDR_SELECTOR: Uint8Array
|
|
20
|
-
export declare const DEAL_SELECTOR: Uint8Array
|
|
21
|
-
export declare const PRANK_SELECTOR01: Uint8Array
|
|
22
|
-
export declare const PRANK_SELECTOR02: Uint8Array
|
|
23
|
-
export declare const START_PRANK_SELECTOR01: Uint8Array
|
|
24
|
-
export declare const START_PRANK_SELECTOR02: Uint8Array
|
|
25
|
-
export declare const STOP_PRANK_SELECTOR: Uint8Array
|
|
26
|
-
export declare const EXPECT_REVERT_SELECTOR01: Uint8Array
|
|
27
|
-
export declare const EXPECT_REVERT_SELECTOR02: Uint8Array
|
|
28
|
-
export declare const EXPECT_REVERT_SELECTOR03: Uint8Array
|
|
14
|
+
export declare const WARP_SELECTOR: Uint8Array<ArrayBufferLike>;
|
|
15
|
+
export declare const ROLL_SELECTOR: Uint8Array<ArrayBufferLike>;
|
|
16
|
+
export declare const LOAD_SELECTOR: Uint8Array<ArrayBufferLike>;
|
|
17
|
+
export declare const STORE_SELECTOR: Uint8Array<ArrayBufferLike>;
|
|
18
|
+
export declare const SIGN_SELECTOR: Uint8Array<ArrayBufferLike>;
|
|
19
|
+
export declare const ADDR_SELECTOR: Uint8Array<ArrayBufferLike>;
|
|
20
|
+
export declare const DEAL_SELECTOR: Uint8Array<ArrayBufferLike>;
|
|
21
|
+
export declare const PRANK_SELECTOR01: Uint8Array<ArrayBufferLike>;
|
|
22
|
+
export declare const PRANK_SELECTOR02: Uint8Array<ArrayBufferLike>;
|
|
23
|
+
export declare const START_PRANK_SELECTOR01: Uint8Array<ArrayBufferLike>;
|
|
24
|
+
export declare const START_PRANK_SELECTOR02: Uint8Array<ArrayBufferLike>;
|
|
25
|
+
export declare const STOP_PRANK_SELECTOR: Uint8Array<ArrayBufferLike>;
|
|
26
|
+
export declare const EXPECT_REVERT_SELECTOR01: Uint8Array<ArrayBufferLike>;
|
|
27
|
+
export declare const EXPECT_REVERT_SELECTOR02: Uint8Array<ArrayBufferLike>;
|
|
28
|
+
export declare const EXPECT_REVERT_SELECTOR03: Uint8Array<ArrayBufferLike>;
|
|
29
29
|
export declare const FAIL_LOC: string;
|
|
30
30
|
export declare const FAIL_MSG_DATA: string;
|
|
31
31
|
interface PrankCallFrame extends Message {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foundry_cheatcodes.d.ts","sourceRoot":"","sources":["../../src/debug/foundry_cheatcodes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAY,YAAY,EAAc,OAAO,EAAmB,MAAM,iBAAiB,CAAC;AACpG,OAAO,EAEH,OAAO,EAIV,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"foundry_cheatcodes.d.ts","sourceRoot":"","sources":["../../src/debug/foundry_cheatcodes.ts"],"names":[],"mappings":"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"}
|