@openzeppelin/upgrades-core 1.12.0 → 1.14.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.
Files changed (131) hide show
  1. package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.dbg.json +1 -1
  2. package/artifacts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol/BeaconProxy.dbg.json +1 -1
  3. package/artifacts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.dbg.json +1 -1
  4. package/dist/add-proxy-to-manifest.d.ts +3 -0
  5. package/dist/add-proxy-to-manifest.d.ts.map +1 -0
  6. package/dist/add-proxy-to-manifest.js +15 -0
  7. package/dist/add-proxy-to-manifest.js.map +1 -0
  8. package/dist/deployment.d.ts +21 -1
  9. package/dist/deployment.d.ts.map +1 -1
  10. package/dist/deployment.js +65 -15
  11. package/dist/deployment.js.map +1 -1
  12. package/dist/eip-1967-type.d.ts +1 -0
  13. package/dist/eip-1967-type.d.ts.map +1 -1
  14. package/dist/eip-1967-type.js +6 -1
  15. package/dist/eip-1967-type.js.map +1 -1
  16. package/dist/eip-1967.d.ts +1 -0
  17. package/dist/eip-1967.d.ts.map +1 -1
  18. package/dist/eip-1967.js +3 -2
  19. package/dist/eip-1967.js.map +1 -1
  20. package/dist/impl-address.js +1 -1
  21. package/dist/impl-address.js.map +1 -1
  22. package/dist/impl-store.d.ts +22 -2
  23. package/dist/impl-store.d.ts.map +1 -1
  24. package/dist/impl-store.js +59 -15
  25. package/dist/impl-store.js.map +1 -1
  26. package/dist/impl-store.test.js +24 -0
  27. package/dist/impl-store.test.js.map +1 -1
  28. package/dist/index.d.ts +6 -5
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +20 -4
  31. package/dist/index.js.map +1 -1
  32. package/dist/manifest-storage-layout.d.ts.map +1 -1
  33. package/dist/manifest-storage-layout.js +3 -2
  34. package/dist/manifest-storage-layout.js.map +1 -1
  35. package/dist/manifest-storage-layout.test.js.map +1 -1
  36. package/dist/manifest.d.ts +2 -0
  37. package/dist/manifest.d.ts.map +1 -1
  38. package/dist/manifest.js +6 -4
  39. package/dist/manifest.js.map +1 -1
  40. package/dist/manifest.test.js +32 -0
  41. package/dist/manifest.test.js.map +1 -1
  42. package/dist/provider.d.ts +1 -0
  43. package/dist/provider.d.ts.map +1 -1
  44. package/dist/provider.js +6 -2
  45. package/dist/provider.js.map +1 -1
  46. package/dist/proxy-kind.d.ts +9 -0
  47. package/dist/proxy-kind.d.ts.map +1 -1
  48. package/dist/proxy-kind.js +27 -1
  49. package/dist/proxy-kind.js.map +1 -1
  50. package/dist/scripts/migrate-oz-cli-project.test.js +1 -1
  51. package/dist/scripts/migrate-oz-cli-project.test.js.map +1 -1
  52. package/dist/solc-api.d.ts +5 -0
  53. package/dist/solc-api.d.ts.map +1 -1
  54. package/dist/standalone.test.js.map +1 -1
  55. package/dist/storage/compare.d.ts +15 -4
  56. package/dist/storage/compare.d.ts.map +1 -1
  57. package/dist/storage/compare.js +46 -4
  58. package/dist/storage/compare.js.map +1 -1
  59. package/dist/storage/extract.d.ts +1 -1
  60. package/dist/storage/extract.d.ts.map +1 -1
  61. package/dist/storage/extract.js +96 -38
  62. package/dist/storage/extract.js.map +1 -1
  63. package/dist/storage/layout.d.ts +18 -0
  64. package/dist/storage/layout.d.ts.map +1 -1
  65. package/dist/storage/layout.js +6 -2
  66. package/dist/storage/layout.js.map +1 -1
  67. package/dist/storage/report-rename-retype.test.d.ts +2 -0
  68. package/dist/storage/report-rename-retype.test.d.ts.map +1 -0
  69. package/dist/storage/report-rename-retype.test.js +93 -0
  70. package/dist/storage/report-rename-retype.test.js.map +1 -0
  71. package/dist/storage/report.d.ts.map +1 -1
  72. package/dist/storage/report.js +32 -2
  73. package/dist/storage/report.js.map +1 -1
  74. package/dist/storage/report.test.js +6 -0
  75. package/dist/storage/report.test.js.map +1 -1
  76. package/dist/storage.test.js +11 -3
  77. package/dist/storage.test.js.map +1 -1
  78. package/dist/usage-error.d.ts +3 -0
  79. package/dist/usage-error.d.ts.map +1 -1
  80. package/dist/usage-error.js +7 -1
  81. package/dist/usage-error.js.map +1 -1
  82. package/dist/utils/execall.d.ts +2 -0
  83. package/dist/utils/execall.d.ts.map +1 -0
  84. package/dist/utils/execall.js +17 -0
  85. package/dist/utils/execall.js.map +1 -0
  86. package/dist/validate/query.d.ts.map +1 -1
  87. package/dist/validate/query.js +10 -5
  88. package/dist/validate/query.js.map +1 -1
  89. package/dist/validate/run.d.ts.map +1 -1
  90. package/dist/validate/run.js +1 -1
  91. package/dist/validate/run.js.map +1 -1
  92. package/dist/validate.test.js.map +1 -1
  93. package/package.json +4 -4
  94. package/src/add-proxy-to-manifest.ts +12 -0
  95. package/src/deployment.ts +81 -14
  96. package/src/eip-1967-type.ts +7 -0
  97. package/src/eip-1967.ts +4 -3
  98. package/src/impl-address.ts +1 -1
  99. package/src/impl-store.test.ts +33 -1
  100. package/src/impl-store.ts +69 -12
  101. package/src/index.ts +22 -4
  102. package/src/manifest-storage-layout.test.ts +3 -2
  103. package/src/manifest-storage-layout.ts +8 -3
  104. package/src/manifest.test.ts +34 -1
  105. package/src/manifest.ts +9 -4
  106. package/src/provider.ts +5 -1
  107. package/src/proxy-kind.ts +24 -1
  108. package/src/scripts/migrate-oz-cli-project.test.ts +1 -1
  109. package/src/scripts/migrate-oz-cli-project.test.ts.snap +0 -0
  110. package/src/solc-api.ts +5 -0
  111. package/src/standalone.test.ts +2 -2
  112. package/src/storage/compare.ts +57 -8
  113. package/src/storage/extract.ts +111 -52
  114. package/src/storage/layout.ts +21 -2
  115. package/src/storage/report-rename-retype.test.ts +106 -0
  116. package/src/storage/report-rename-retype.test.ts.md +44 -0
  117. package/src/storage/report-rename-retype.test.ts.snap +0 -0
  118. package/src/storage/report.test.ts +9 -2
  119. package/src/storage/report.test.ts.md +11 -0
  120. package/src/storage/report.test.ts.snap +0 -0
  121. package/src/storage/report.ts +39 -4
  122. package/src/storage.test.ts +15 -5
  123. package/src/storage.test.ts.md +348 -109
  124. package/src/storage.test.ts.snap +0 -0
  125. package/src/usage-error.ts +9 -0
  126. package/src/utils/execall.ts +11 -0
  127. package/src/utils/parse-type-id.test.ts.md +106 -106
  128. package/src/utils/parse-type-id.test.ts.snap +0 -0
  129. package/src/validate/query.ts +9 -5
  130. package/src/validate/run.ts +6 -1
  131. package/src/validate.test.ts +2 -2
@@ -13,41 +13,59 @@ Generated by [AVA](https://avajs.dev).
13
13
  {
14
14
  contract: 'Storage1',
15
15
  label: 'u1',
16
+ offset: 0,
17
+ renamedFrom: undefined,
18
+ retypedFrom: undefined,
19
+ slot: '0',
16
20
  src: 'file.sol:1',
17
21
  type: 't_uint256',
18
22
  },
19
23
  {
20
24
  contract: 'Storage1',
21
25
  label: 'a1',
26
+ offset: 0,
27
+ renamedFrom: undefined,
28
+ retypedFrom: undefined,
29
+ slot: '1',
22
30
  src: 'file.sol:1',
23
31
  type: 't_address',
24
32
  },
25
33
  {
26
34
  contract: 'Storage1',
27
35
  label: 'm1',
36
+ offset: 0,
37
+ renamedFrom: undefined,
38
+ retypedFrom: undefined,
39
+ slot: '2',
28
40
  src: 'file.sol:1',
29
41
  type: 't_mapping(t_uint256,t_uint256)',
30
42
  },
31
43
  {
32
44
  contract: 'Storage1',
33
45
  label: 'us1',
46
+ offset: 0,
47
+ renamedFrom: undefined,
48
+ retypedFrom: undefined,
49
+ slot: '3',
34
50
  src: 'file.sol:1',
35
51
  type: 't_array(t_uint256)3_storage',
36
52
  },
37
53
  ],
38
54
  types: [
39
55
  [
40
- 't_uint256',
56
+ 't_address',
41
57
  {
42
- label: 'uint256',
58
+ label: 'address',
43
59
  members: undefined,
60
+ numberOfBytes: '20',
44
61
  },
45
62
  ],
46
63
  [
47
- 't_address',
64
+ 't_array(t_uint256)3_storage',
48
65
  {
49
- label: 'address',
66
+ label: 'uint256[3]',
50
67
  members: undefined,
68
+ numberOfBytes: '96',
51
69
  },
52
70
  ],
53
71
  [
@@ -55,13 +73,15 @@ Generated by [AVA](https://avajs.dev).
55
73
  {
56
74
  label: 'mapping(uint256 => uint256)',
57
75
  members: undefined,
76
+ numberOfBytes: '32',
58
77
  },
59
78
  ],
60
79
  [
61
- 't_array(t_uint256)3_storage',
80
+ 't_uint256',
62
81
  {
63
- label: 'uint256[3]',
82
+ label: 'uint256',
64
83
  members: undefined,
84
+ numberOfBytes: '32',
65
85
  },
66
86
  ],
67
87
  ],
@@ -76,335 +96,505 @@ Generated by [AVA](https://avajs.dev).
76
96
  {
77
97
  contract: 'Storage2',
78
98
  label: 'my_public_uint256',
99
+ offset: 0,
100
+ renamedFrom: undefined,
101
+ retypedFrom: undefined,
102
+ slot: '0',
79
103
  src: 'file.sol:1',
80
104
  type: 't_uint256',
81
105
  },
82
106
  {
83
107
  contract: 'Storage2',
84
108
  label: 'my_internal_string',
109
+ offset: 0,
110
+ renamedFrom: undefined,
111
+ retypedFrom: undefined,
112
+ slot: '1',
85
113
  src: 'file.sol:1',
86
114
  type: 't_string_storage',
87
115
  },
88
116
  {
89
117
  contract: 'Storage2',
90
118
  label: 'my_private_uint8',
119
+ offset: 0,
120
+ renamedFrom: undefined,
121
+ retypedFrom: undefined,
122
+ slot: '2',
91
123
  src: 'file.sol:1',
92
124
  type: 't_uint8',
93
125
  },
94
126
  {
95
127
  contract: 'Storage2',
96
128
  label: 'my_private_uint16',
129
+ offset: 1,
130
+ renamedFrom: undefined,
131
+ retypedFrom: undefined,
132
+ slot: '2',
97
133
  src: 'file.sol:1',
98
134
  type: 't_int8',
99
135
  },
100
136
  {
101
137
  contract: 'Storage2',
102
138
  label: 'my_private_bool',
139
+ offset: 2,
140
+ renamedFrom: undefined,
141
+ retypedFrom: undefined,
142
+ slot: '2',
103
143
  src: 'file.sol:1',
104
144
  type: 't_bool',
105
145
  },
106
146
  {
107
147
  contract: 'Storage2',
108
148
  label: 'my_private_uint',
149
+ offset: 0,
150
+ renamedFrom: undefined,
151
+ retypedFrom: undefined,
152
+ slot: '3',
109
153
  src: 'file.sol:1',
110
154
  type: 't_uint256',
111
155
  },
112
156
  {
113
157
  contract: 'Storage2',
114
158
  label: 'my_private_address',
159
+ offset: 0,
160
+ renamedFrom: undefined,
161
+ retypedFrom: undefined,
162
+ slot: '4',
115
163
  src: 'file.sol:1',
116
164
  type: 't_address',
117
165
  },
118
166
  {
119
167
  contract: 'Storage2',
120
168
  label: 'my_bytes',
169
+ offset: 0,
170
+ renamedFrom: undefined,
171
+ retypedFrom: undefined,
172
+ slot: '5',
121
173
  src: 'file.sol:1',
122
174
  type: 't_bytes_storage',
123
175
  },
124
176
  {
125
177
  contract: 'Storage2',
126
178
  label: 'my_bytes8',
179
+ offset: 0,
180
+ renamedFrom: undefined,
181
+ retypedFrom: undefined,
182
+ slot: '6',
127
183
  src: 'file.sol:1',
128
184
  type: 't_bytes8',
129
185
  },
130
186
  {
131
187
  contract: 'Storage2',
132
188
  label: 'my_bytes32',
189
+ offset: 0,
190
+ renamedFrom: undefined,
191
+ retypedFrom: undefined,
192
+ slot: '7',
133
193
  src: 'file.sol:1',
134
194
  type: 't_bytes32',
135
195
  },
136
196
  {
137
197
  contract: 'Storage2',
138
198
  label: 'my_public_uint256_dynarray',
199
+ offset: 0,
200
+ renamedFrom: undefined,
201
+ retypedFrom: undefined,
202
+ slot: '8',
139
203
  src: 'file.sol:1',
140
204
  type: 't_array(t_uint256)dyn_storage',
141
205
  },
142
206
  {
143
207
  contract: 'Storage2',
144
208
  label: 'my_internal_string_dynarray',
209
+ offset: 0,
210
+ renamedFrom: undefined,
211
+ retypedFrom: undefined,
212
+ slot: '9',
145
213
  src: 'file.sol:1',
146
214
  type: 't_array(t_string_storage)dyn_storage',
147
215
  },
148
216
  {
149
217
  contract: 'Storage2',
150
218
  label: 'my_private_address_dynarray',
219
+ offset: 0,
220
+ renamedFrom: undefined,
221
+ retypedFrom: undefined,
222
+ slot: '10',
151
223
  src: 'file.sol:1',
152
224
  type: 't_array(t_address)dyn_storage',
153
225
  },
154
226
  {
155
227
  contract: 'Storage2',
156
228
  label: 'my_public_int8_staticarray',
229
+ offset: 0,
230
+ renamedFrom: undefined,
231
+ retypedFrom: undefined,
232
+ slot: '11',
157
233
  src: 'file.sol:1',
158
234
  type: 't_array(t_int8)10_storage',
159
235
  },
160
236
  {
161
237
  contract: 'Storage2',
162
238
  label: 'my_internal_bool_staticarray',
239
+ offset: 0,
240
+ renamedFrom: undefined,
241
+ retypedFrom: undefined,
242
+ slot: '12',
163
243
  src: 'file.sol:1',
164
244
  type: 't_array(t_bool)20_storage',
165
245
  },
166
246
  {
167
247
  contract: 'Storage2',
168
248
  label: 'my_private_uint_staticarray',
249
+ offset: 0,
250
+ renamedFrom: undefined,
251
+ retypedFrom: undefined,
252
+ slot: '13',
169
253
  src: 'file.sol:1',
170
254
  type: 't_array(t_uint256)30_storage',
171
255
  },
172
256
  {
173
257
  contract: 'Storage2',
174
258
  label: 'my_mapping',
259
+ offset: 0,
260
+ renamedFrom: undefined,
261
+ retypedFrom: undefined,
262
+ slot: '43',
175
263
  src: 'file.sol:1',
176
264
  type: 't_mapping(t_uint256,t_string_storage)',
177
265
  },
178
266
  {
179
267
  contract: 'Storage2',
180
268
  label: 'my_nested_mapping',
269
+ offset: 0,
270
+ renamedFrom: undefined,
271
+ retypedFrom: undefined,
272
+ slot: '44',
181
273
  src: 'file.sol:1',
182
274
  type: 't_mapping(t_uint256,t_mapping(t_string_memory_ptr,t_address))',
183
275
  },
184
276
  {
185
277
  contract: 'Storage2',
186
278
  label: 'my_mapping_with_arrays',
279
+ offset: 0,
280
+ renamedFrom: undefined,
281
+ retypedFrom: undefined,
282
+ slot: '45',
187
283
  src: 'file.sol:1',
188
284
  type: 't_mapping(t_uint256,t_array(t_bool)dyn_storage)',
189
285
  },
190
286
  {
191
287
  contract: 'Storage2',
192
288
  label: 'my_fun',
289
+ offset: 0,
290
+ renamedFrom: undefined,
291
+ retypedFrom: undefined,
292
+ slot: '46',
193
293
  src: 'file.sol:1',
194
294
  type: 't_function_internal_nonpayable(t_uint256)returns()',
195
295
  },
196
296
  {
197
297
  contract: 'Storage2',
198
298
  label: 'my_fun_dynarray',
299
+ offset: 0,
300
+ renamedFrom: undefined,
301
+ retypedFrom: undefined,
302
+ slot: '47',
199
303
  src: 'file.sol:1',
200
304
  type: 't_array(t_function_internal_nonpayable(t_string_memory_ptr,t_string_memory_ptr)returns())dyn_storage',
201
305
  },
202
306
  {
203
307
  contract: 'Storage2',
204
308
  label: 'my_fun_staticarray',
309
+ offset: 0,
310
+ renamedFrom: undefined,
311
+ retypedFrom: undefined,
312
+ slot: '48',
205
313
  src: 'file.sol:1',
206
314
  type: 't_array(t_function_internal_nonpayable(t_uint256)returns(t_address))10_storage',
207
315
  },
208
316
  {
209
317
  contract: 'Storage2',
210
318
  label: 'my_fun_mapping',
319
+ offset: 0,
320
+ renamedFrom: undefined,
321
+ retypedFrom: undefined,
322
+ slot: '51',
211
323
  src: 'file.sol:1',
212
324
  type: 't_mapping(t_uint256,t_function_internal_nonpayable(t_bool)returns())',
213
325
  },
214
326
  {
215
327
  contract: 'Storage2',
216
328
  label: 'my_contract',
329
+ offset: 0,
330
+ renamedFrom: undefined,
331
+ retypedFrom: undefined,
332
+ slot: '52',
217
333
  src: 'file.sol:1',
218
334
  type: 't_contract(Storage2)',
219
335
  },
220
336
  {
221
337
  contract: 'Storage2',
222
338
  label: 'my_contract_dynarray',
339
+ offset: 0,
340
+ renamedFrom: undefined,
341
+ retypedFrom: undefined,
342
+ slot: '53',
223
343
  src: 'file.sol:1',
224
344
  type: 't_array(t_contract(Storage2))dyn_storage',
225
345
  },
226
346
  {
227
347
  contract: 'Storage2',
228
348
  label: 'my_contract_staticarray',
349
+ offset: 0,
350
+ renamedFrom: undefined,
351
+ retypedFrom: undefined,
352
+ slot: '54',
229
353
  src: 'file.sol:1',
230
354
  type: 't_array(t_contract(Storage2))10_storage',
231
355
  },
232
356
  {
233
357
  contract: 'Storage2',
234
358
  label: 'my_contract_mapping',
359
+ offset: 0,
360
+ renamedFrom: undefined,
361
+ retypedFrom: undefined,
362
+ slot: '64',
235
363
  src: 'file.sol:1',
236
364
  type: 't_mapping(t_uint256,t_contract(Storage2))',
237
365
  },
238
366
  {
239
367
  contract: 'Storage2',
240
368
  label: 'my_contract_dynarray_mapping',
369
+ offset: 0,
370
+ renamedFrom: undefined,
371
+ retypedFrom: undefined,
372
+ slot: '65',
241
373
  src: 'file.sol:1',
242
374
  type: 't_mapping(t_uint256,t_array(t_contract(Storage2))dyn_storage)',
243
375
  },
244
376
  {
245
377
  contract: 'Storage2',
246
378
  label: 'my_contract_staticarray_mapping',
379
+ offset: 0,
380
+ renamedFrom: undefined,
381
+ retypedFrom: undefined,
382
+ slot: '66',
247
383
  src: 'file.sol:1',
248
384
  type: 't_mapping(t_uint256,t_array(t_contract(Storage2))10_storage)',
249
385
  },
250
386
  {
251
387
  contract: 'Storage2',
252
388
  label: 'my_struct',
389
+ offset: 0,
390
+ renamedFrom: undefined,
391
+ retypedFrom: undefined,
392
+ slot: '67',
253
393
  src: 'file.sol:1',
254
394
  type: 't_struct(MyStruct)storage',
255
395
  },
256
396
  {
257
397
  contract: 'Storage2',
258
398
  label: 'my_struct_dynarray',
399
+ offset: 0,
400
+ renamedFrom: undefined,
401
+ retypedFrom: undefined,
402
+ slot: '70',
259
403
  src: 'file.sol:1',
260
404
  type: 't_array(t_struct(MyStruct)storage)dyn_storage',
261
405
  },
262
406
  {
263
407
  contract: 'Storage2',
264
408
  label: 'my_struct_staticarray',
409
+ offset: 0,
410
+ renamedFrom: undefined,
411
+ retypedFrom: undefined,
412
+ slot: '71',
265
413
  src: 'file.sol:1',
266
414
  type: 't_array(t_struct(MyStruct)storage)10_storage',
267
415
  },
268
416
  {
269
417
  contract: 'Storage2',
270
418
  label: 'my_struct_mapping',
419
+ offset: 0,
420
+ renamedFrom: undefined,
421
+ retypedFrom: undefined,
422
+ slot: '101',
271
423
  src: 'file.sol:1',
272
424
  type: 't_mapping(t_uint256,t_struct(MyStruct)storage)',
273
425
  },
274
426
  {
275
427
  contract: 'Storage2',
276
428
  label: 'my_enum',
429
+ offset: 0,
430
+ renamedFrom: undefined,
431
+ retypedFrom: undefined,
432
+ slot: '102',
277
433
  src: 'file.sol:1',
278
434
  type: 't_enum(MyEnum)',
279
435
  },
280
436
  {
281
437
  contract: 'Storage2',
282
438
  label: 'my_enum_dynarray',
439
+ offset: 0,
440
+ renamedFrom: undefined,
441
+ retypedFrom: undefined,
442
+ slot: '103',
283
443
  src: 'file.sol:1',
284
444
  type: 't_array(t_enum(MyEnum))dyn_storage',
285
445
  },
286
446
  {
287
447
  contract: 'Storage2',
288
448
  label: 'my_enum_staticarray',
449
+ offset: 0,
450
+ renamedFrom: undefined,
451
+ retypedFrom: undefined,
452
+ slot: '104',
289
453
  src: 'file.sol:1',
290
454
  type: 't_array(t_enum(MyEnum))10_storage',
291
455
  },
292
456
  {
293
457
  contract: 'Storage2',
294
458
  label: 'my_enum_mapping',
459
+ offset: 0,
460
+ renamedFrom: undefined,
461
+ retypedFrom: undefined,
462
+ slot: '105',
295
463
  src: 'file.sol:1',
296
464
  type: 't_mapping(t_uint256,t_enum(MyEnum))',
297
465
  },
298
466
  {
299
467
  contract: 'Storage2',
300
468
  label: 'my_complex_struct',
469
+ offset: 0,
470
+ renamedFrom: undefined,
471
+ retypedFrom: undefined,
472
+ slot: '106',
301
473
  src: 'file.sol:1',
302
474
  type: 't_struct(MyComplexStruct)storage',
303
475
  },
304
476
  {
305
477
  contract: 'Storage2',
306
478
  label: 'my_other_struct',
479
+ offset: 0,
480
+ renamedFrom: undefined,
481
+ retypedFrom: undefined,
482
+ slot: '111',
307
483
  src: 'file.sol:1',
308
484
  type: 't_struct(MyStruct)storage',
309
485
  },
310
486
  ],
311
487
  types: [
312
488
  [
313
- 't_uint256',
489
+ 't_address',
314
490
  {
315
- label: 'uint256',
491
+ label: 'address',
316
492
  members: undefined,
493
+ numberOfBytes: '20',
317
494
  },
318
495
  ],
319
496
  [
320
- 't_string_storage',
497
+ 't_array(t_address)dyn_storage',
321
498
  {
322
- label: 'string',
499
+ label: 'address[]',
323
500
  members: undefined,
501
+ numberOfBytes: '32',
324
502
  },
325
503
  ],
326
504
  [
327
- 't_uint8',
505
+ 't_array(t_bool)20_storage',
328
506
  {
329
- label: 'uint8',
507
+ label: 'bool[20]',
330
508
  members: undefined,
509
+ numberOfBytes: '32',
331
510
  },
332
511
  ],
333
512
  [
334
- 't_int8',
513
+ 't_array(t_bool)dyn_storage',
335
514
  {
336
- label: 'int8',
515
+ label: 'bool[]',
337
516
  members: undefined,
517
+ numberOfBytes: '32',
338
518
  },
339
519
  ],
340
520
  [
341
- 't_bool',
521
+ 't_array(t_contract(Storage2))10_storage',
342
522
  {
343
- label: 'bool',
523
+ label: 'contract Storage2[10]',
344
524
  members: undefined,
525
+ numberOfBytes: '320',
345
526
  },
346
527
  ],
347
528
  [
348
- 't_address',
529
+ 't_array(t_contract(Storage2))dyn_storage',
349
530
  {
350
- label: 'address',
531
+ label: 'contract Storage2[]',
351
532
  members: undefined,
533
+ numberOfBytes: '32',
352
534
  },
353
535
  ],
354
536
  [
355
- 't_bytes_storage',
537
+ 't_array(t_enum(MyEnum))10_storage',
356
538
  {
357
- label: 'bytes',
539
+ label: 'enum Storage2.MyEnum[10]',
358
540
  members: undefined,
541
+ numberOfBytes: '32',
359
542
  },
360
543
  ],
361
544
  [
362
- 't_bytes8',
545
+ 't_array(t_enum(MyEnum))dyn_storage',
363
546
  {
364
- label: 'bytes8',
547
+ label: 'enum Storage2.MyEnum[]',
365
548
  members: undefined,
549
+ numberOfBytes: '32',
366
550
  },
367
551
  ],
368
552
  [
369
- 't_bytes32',
553
+ 't_array(t_function_internal_nonpayable(t_string_memory_ptr,t_string_memory_ptr)returns())dyn_storage',
370
554
  {
371
- label: 'bytes32',
555
+ label: 'function (string,string)[]',
372
556
  members: undefined,
557
+ numberOfBytes: '32',
373
558
  },
374
559
  ],
375
560
  [
376
- 't_array(t_uint256)dyn_storage',
561
+ 't_array(t_function_internal_nonpayable(t_uint256)returns(t_address))10_storage',
377
562
  {
378
- label: 'uint256[]',
563
+ label: 'function (uint256) returns (address)[10]',
379
564
  members: undefined,
565
+ numberOfBytes: '96',
380
566
  },
381
567
  ],
382
568
  [
383
- 't_array(t_string_storage)dyn_storage',
569
+ 't_array(t_int8)10_storage',
384
570
  {
385
- label: 'string[]',
571
+ label: 'int8[10]',
386
572
  members: undefined,
573
+ numberOfBytes: '32',
387
574
  },
388
575
  ],
389
576
  [
390
- 't_array(t_address)dyn_storage',
577
+ 't_array(t_string_storage)dyn_storage',
391
578
  {
392
- label: 'address[]',
579
+ label: 'string[]',
393
580
  members: undefined,
581
+ numberOfBytes: '32',
394
582
  },
395
583
  ],
396
584
  [
397
- 't_array(t_int8)10_storage',
585
+ 't_array(t_struct(MyStruct)storage)10_storage',
398
586
  {
399
- label: 'int8[10]',
587
+ label: 'struct Storage2.MyStruct[10]',
400
588
  members: undefined,
589
+ numberOfBytes: '960',
401
590
  },
402
591
  ],
403
592
  [
404
- 't_array(t_bool)20_storage',
593
+ 't_array(t_struct(MyStruct)storage)dyn_storage',
405
594
  {
406
- label: 'bool[20]',
595
+ label: 'struct Storage2.MyStruct[]',
407
596
  members: undefined,
597
+ numberOfBytes: '32',
408
598
  },
409
599
  ],
410
600
  [
@@ -412,118 +602,138 @@ Generated by [AVA](https://avajs.dev).
412
602
  {
413
603
  label: 'uint256[30]',
414
604
  members: undefined,
605
+ numberOfBytes: '960',
415
606
  },
416
607
  ],
417
608
  [
418
- 't_mapping(t_uint256,t_string_storage)',
609
+ 't_array(t_uint256)dyn_storage',
419
610
  {
420
- label: 'mapping(uint256 => string)',
611
+ label: 'uint256[]',
421
612
  members: undefined,
613
+ numberOfBytes: '32',
422
614
  },
423
615
  ],
424
616
  [
425
- 't_mapping(t_uint256,t_mapping(t_string_memory_ptr,t_address))',
617
+ 't_bool',
426
618
  {
427
- label: 'mapping(uint256 => mapping(string => address))',
619
+ label: 'bool',
428
620
  members: undefined,
621
+ numberOfBytes: '1',
429
622
  },
430
623
  ],
431
624
  [
432
- 't_mapping(t_string_memory_ptr,t_address)',
625
+ 't_bytes32',
433
626
  {
434
- label: 'mapping(string => address)',
627
+ label: 'bytes32',
435
628
  members: undefined,
629
+ numberOfBytes: '32',
436
630
  },
437
631
  ],
438
632
  [
439
- 't_mapping(t_uint256,t_array(t_bool)dyn_storage)',
633
+ 't_bytes8',
440
634
  {
441
- label: 'mapping(uint256 => bool[])',
635
+ label: 'bytes8',
442
636
  members: undefined,
637
+ numberOfBytes: '8',
443
638
  },
444
639
  ],
445
640
  [
446
- 't_array(t_bool)dyn_storage',
641
+ 't_bytes_storage',
447
642
  {
448
- label: 'bool[]',
643
+ label: 'bytes',
449
644
  members: undefined,
645
+ numberOfBytes: '32',
450
646
  },
451
647
  ],
452
648
  [
453
- 't_function_internal_nonpayable(t_uint256)returns()',
649
+ 't_contract(Storage2)',
454
650
  {
455
- label: 'function (uint256)',
651
+ label: 'contract Storage2',
456
652
  members: undefined,
653
+ numberOfBytes: '20',
457
654
  },
458
655
  ],
459
656
  [
460
- 't_array(t_function_internal_nonpayable(t_string_memory_ptr,t_string_memory_ptr)returns())dyn_storage',
657
+ 't_enum(MyEnum)',
461
658
  {
462
- label: 'function (string,string)[]',
463
- members: undefined,
659
+ label: 'enum Storage2.MyEnum',
660
+ members: [
661
+ 'State1',
662
+ 'State2',
663
+ ],
664
+ numberOfBytes: '1',
464
665
  },
465
666
  ],
466
667
  [
467
- 't_function_internal_nonpayable(t_string_memory_ptr,t_string_memory_ptr)returns()',
668
+ 't_function_internal_nonpayable(t_bool)returns()',
468
669
  {
469
- label: 'function (string,string)',
670
+ label: 'function (bool)',
470
671
  members: undefined,
672
+ numberOfBytes: '8',
471
673
  },
472
674
  ],
473
675
  [
474
- 't_array(t_function_internal_nonpayable(t_uint256)returns(t_address))10_storage',
676
+ 't_function_internal_nonpayable(t_string_memory_ptr,t_string_memory_ptr)returns()',
475
677
  {
476
- label: 'function (uint256) returns (address)[10]',
678
+ label: 'function (string,string)',
477
679
  members: undefined,
680
+ numberOfBytes: '8',
478
681
  },
479
682
  ],
480
683
  [
481
- 't_function_internal_nonpayable(t_uint256)returns(t_address)',
684
+ 't_function_internal_nonpayable(t_uint256)returns()',
482
685
  {
483
- label: 'function (uint256) returns (address)',
686
+ label: 'function (uint256)',
484
687
  members: undefined,
688
+ numberOfBytes: '8',
485
689
  },
486
690
  ],
487
691
  [
488
- 't_mapping(t_uint256,t_function_internal_nonpayable(t_bool)returns())',
692
+ 't_function_internal_nonpayable(t_uint256)returns(t_address)',
489
693
  {
490
- label: 'mapping(uint256 => function (bool))',
694
+ label: 'function (uint256) returns (address)',
491
695
  members: undefined,
696
+ numberOfBytes: '8',
492
697
  },
493
698
  ],
494
699
  [
495
- 't_function_internal_nonpayable(t_bool)returns()',
700
+ 't_int8',
496
701
  {
497
- label: 'function (bool)',
702
+ label: 'int8',
498
703
  members: undefined,
704
+ numberOfBytes: '1',
499
705
  },
500
706
  ],
501
707
  [
502
- 't_contract(Storage2)',
708
+ 't_mapping(t_string_memory_ptr,t_address)',
503
709
  {
504
- label: 'contract Storage2',
710
+ label: 'mapping(string => address)',
505
711
  members: undefined,
712
+ numberOfBytes: '32',
506
713
  },
507
714
  ],
508
715
  [
509
- 't_array(t_contract(Storage2))dyn_storage',
716
+ 't_mapping(t_string_memory_ptr,t_enum(MyEnum))',
510
717
  {
511
- label: 'contract Storage2[]',
718
+ label: 'mapping(string => enum Storage2.MyEnum)',
512
719
  members: undefined,
720
+ numberOfBytes: '32',
513
721
  },
514
722
  ],
515
723
  [
516
- 't_array(t_contract(Storage2))10_storage',
724
+ 't_mapping(t_uint256,t_array(t_bool)dyn_storage)',
517
725
  {
518
- label: 'contract Storage2[10]',
726
+ label: 'mapping(uint256 => bool[])',
519
727
  members: undefined,
728
+ numberOfBytes: '32',
520
729
  },
521
730
  ],
522
731
  [
523
- 't_mapping(t_uint256,t_contract(Storage2))',
732
+ 't_mapping(t_uint256,t_array(t_contract(Storage2))10_storage)',
524
733
  {
525
- label: 'mapping(uint256 => contract Storage2)',
734
+ label: 'mapping(uint256 => contract Storage2[10])',
526
735
  members: undefined,
736
+ numberOfBytes: '32',
527
737
  },
528
738
  ],
529
739
  [
@@ -531,85 +741,71 @@ Generated by [AVA](https://avajs.dev).
531
741
  {
532
742
  label: 'mapping(uint256 => contract Storage2[])',
533
743
  members: undefined,
744
+ numberOfBytes: '32',
534
745
  },
535
746
  ],
536
747
  [
537
- 't_mapping(t_uint256,t_array(t_contract(Storage2))10_storage)',
748
+ 't_mapping(t_uint256,t_contract(Storage2))',
538
749
  {
539
- label: 'mapping(uint256 => contract Storage2[10])',
750
+ label: 'mapping(uint256 => contract Storage2)',
540
751
  members: undefined,
752
+ numberOfBytes: '32',
541
753
  },
542
754
  ],
543
755
  [
544
- 't_struct(MyStruct)storage',
545
- {
546
- label: 'struct Storage2.MyStruct',
547
- members: [
548
- {
549
- label: 'struct_uint256',
550
- type: 't_uint256',
551
- },
552
- {
553
- label: 'struct_string',
554
- type: 't_string_storage',
555
- },
556
- {
557
- label: 'struct_address',
558
- type: 't_address',
559
- },
560
- ],
561
- },
562
- ],
563
- [
564
- 't_array(t_struct(MyStruct)storage)dyn_storage',
756
+ 't_mapping(t_uint256,t_enum(MyEnum))',
565
757
  {
566
- label: 'struct Storage2.MyStruct[]',
758
+ label: 'mapping(uint256 => enum Storage2.MyEnum)',
567
759
  members: undefined,
760
+ numberOfBytes: '32',
568
761
  },
569
762
  ],
570
763
  [
571
- 't_array(t_struct(MyStruct)storage)10_storage',
764
+ 't_mapping(t_uint256,t_function_internal_nonpayable(t_bool)returns())',
572
765
  {
573
- label: 'struct Storage2.MyStruct[10]',
766
+ label: 'mapping(uint256 => function (bool))',
574
767
  members: undefined,
768
+ numberOfBytes: '32',
575
769
  },
576
770
  ],
577
771
  [
578
- 't_mapping(t_uint256,t_struct(MyStruct)storage)',
772
+ 't_mapping(t_uint256,t_mapping(t_string_memory_ptr,t_address))',
579
773
  {
580
- label: 'mapping(uint256 => struct Storage2.MyStruct)',
774
+ label: 'mapping(uint256 => mapping(string => address))',
581
775
  members: undefined,
776
+ numberOfBytes: '32',
582
777
  },
583
778
  ],
584
779
  [
585
- 't_enum(MyEnum)',
780
+ 't_mapping(t_uint256,t_string_storage)',
586
781
  {
587
- label: 'enum Storage2.MyEnum',
588
- members: [
589
- 'State1',
590
- 'State2',
591
- ],
782
+ label: 'mapping(uint256 => string)',
783
+ members: undefined,
784
+ numberOfBytes: '32',
592
785
  },
593
786
  ],
594
787
  [
595
- 't_array(t_enum(MyEnum))dyn_storage',
788
+ 't_mapping(t_uint256,t_struct(MyStruct)storage)',
596
789
  {
597
- label: 'enum Storage2.MyEnum[]',
790
+ label: 'mapping(uint256 => struct Storage2.MyStruct)',
598
791
  members: undefined,
792
+ numberOfBytes: '32',
599
793
  },
600
794
  ],
601
795
  [
602
- 't_array(t_enum(MyEnum))10_storage',
796
+ 't_string_memory_ptr',
603
797
  {
604
- label: 'enum Storage2.MyEnum[10]',
798
+ label: 'string',
605
799
  members: undefined,
800
+ numberOfBytes: '32',
606
801
  },
607
802
  ],
608
803
  [
609
- 't_mapping(t_uint256,t_enum(MyEnum))',
804
+ 't_string_storage',
610
805
  {
611
- label: 'mapping(uint256 => enum Storage2.MyEnum)',
806
+ label: 'string',
612
807
  members: undefined,
808
+ numberOfBytes: '32',
613
809
  },
614
810
  ],
615
811
  [
@@ -619,24 +815,67 @@ Generated by [AVA](https://avajs.dev).
619
815
  members: [
620
816
  {
621
817
  label: 'uint256_dynarray',
818
+ offset: 0,
819
+ slot: '0',
622
820
  type: 't_array(t_uint256)dyn_storage',
623
821
  },
624
822
  {
625
823
  label: 'mapping_enums',
824
+ offset: 0,
825
+ slot: '1',
626
826
  type: 't_mapping(t_string_memory_ptr,t_enum(MyEnum))',
627
827
  },
628
828
  {
629
829
  label: 'other_struct',
830
+ offset: 0,
831
+ slot: '2',
630
832
  type: 't_struct(MyStruct)storage',
631
833
  },
632
834
  ],
835
+ numberOfBytes: '160',
633
836
  },
634
837
  ],
635
838
  [
636
- 't_mapping(t_string_memory_ptr,t_enum(MyEnum))',
839
+ 't_struct(MyStruct)storage',
637
840
  {
638
- label: 'mapping(string => enum Storage2.MyEnum)',
841
+ label: 'struct Storage2.MyStruct',
842
+ members: [
843
+ {
844
+ label: 'struct_uint256',
845
+ offset: 0,
846
+ slot: '0',
847
+ type: 't_uint256',
848
+ },
849
+ {
850
+ label: 'struct_string',
851
+ offset: 0,
852
+ slot: '1',
853
+ type: 't_string_storage',
854
+ },
855
+ {
856
+ label: 'struct_address',
857
+ offset: 0,
858
+ slot: '2',
859
+ type: 't_address',
860
+ },
861
+ ],
862
+ numberOfBytes: '96',
863
+ },
864
+ ],
865
+ [
866
+ 't_uint256',
867
+ {
868
+ label: 'uint256',
869
+ members: undefined,
870
+ numberOfBytes: '32',
871
+ },
872
+ ],
873
+ [
874
+ 't_uint8',
875
+ {
876
+ label: 'uint8',
639
877
  members: undefined,
878
+ numberOfBytes: '1',
640
879
  },
641
880
  ],
642
881
  ],