@openzeppelin/upgrades-core 1.13.0 → 1.13.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../src/storage/extract.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAKnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,aAAa,EAAY,MAAM,UAAU,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAMtD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAErE;AAED,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,kBAAkB,EAC/B,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,eAAe,EACtB,aAAa,CAAC,EAAE,aAAa,GAAG,SAAS,GACxC,aAAa,CA0Cf"}
1
+ {"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../src/storage/extract.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAKnB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,aAAa,EAAY,MAAM,UAAU,CAAC;AAEnD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAMtD,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAErE;AAED,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,kBAAkB,EAC/B,SAAS,EAAE,UAAU,EACrB,KAAK,EAAE,eAAe,EACtB,aAAa,CAAC,EAAE,aAAa,GAAG,SAAS,GACxC,aAAa,CAwCf"}
@@ -26,15 +26,14 @@ function extractStorageLayout(contractDef, decodeSrc, deref, storageLayout) {
26
26
  });
27
27
  for (const storage of storageLayout.storage) {
28
28
  const origin = getOriginContract(contractDef, storage.astId, deref);
29
- if (origin) {
30
- const [varDecl, contract] = origin;
31
- // Solc layout doesn't bring members for enums so we get them using the ast method
32
- loadLayoutType(varDecl, layout, deref);
33
- const { label, offset, slot, type } = storage;
34
- const src = decodeSrc(varDecl);
35
- layout.storage.push({ label, offset, slot, type, contract, src });
36
- layout.flat = true;
37
- }
29
+ (0, assert_1.default)(origin, `Did not find variable declaration node for '${storage.label}'`);
30
+ const { varDecl, contract } = origin;
31
+ // Solc layout doesn't bring members for enums so we get them using the ast method
32
+ loadLayoutType(varDecl, layout, deref);
33
+ const { label, offset, slot, type } = storage;
34
+ const src = decodeSrc(varDecl);
35
+ layout.storage.push({ label, offset, slot, type, contract, src });
36
+ layout.flat = true;
38
37
  }
39
38
  }
40
39
  else {
@@ -87,11 +86,13 @@ function getOriginContract(contract, astId, deref) {
87
86
  const parentContract = deref(['ContractDefinition'], id);
88
87
  const varDecl = parentContract.nodes.find(n => n.id == astId);
89
88
  if (varDecl && (0, utils_1.isNodeType)('VariableDeclaration', varDecl)) {
90
- return [varDecl, parentContract.name];
89
+ return { varDecl, contract: parentContract.name };
91
90
  }
92
91
  }
93
92
  }
94
93
  function loadLayoutType(varDecl, layout, deref) {
94
+ var _a, _b;
95
+ var _c, _d;
95
96
  // Note: A UserDefinedTypeName can also refer to a ContractDefinition but we won't care about those.
96
97
  const derefUserDefinedType = deref(['StructDefinition', 'EnumDefinition']);
97
98
  (0, assert_1.default)(varDecl.typeName != null);
@@ -102,14 +103,10 @@ function loadLayoutType(varDecl, layout, deref) {
102
103
  for (const typeName of typeNames.values()) {
103
104
  const { typeIdentifier, typeString: label } = typeDescriptions(typeName);
104
105
  const type = (0, type_id_1.normalizeTypeIdentifier)(typeIdentifier);
105
- const hasMembers = /^t_(enum|struct)\b/.test(type);
106
- if (type in layout.types && (!hasMembers || layout.types[type].members !== undefined)) {
107
- continue;
108
- }
109
- let members;
106
+ (_a = (_c = layout.types)[type]) !== null && _a !== void 0 ? _a : (_c[type] = { label });
110
107
  if ('referencedDeclaration' in typeName && !/^t_contract\b/.test(type)) {
111
108
  const typeDef = derefUserDefinedType(typeName.referencedDeclaration);
112
- members = getTypeMembers(typeDef);
109
+ (_b = (_d = layout.types[type]).members) !== null && _b !== void 0 ? _b : (_d.members = getTypeMembers(typeDef));
113
110
  // Recursively look for the types referenced in this definition and add them to the queue.
114
111
  for (const typeName of findTypeNames(typeDef)) {
115
112
  const { typeIdentifier } = typeDescriptions(typeName);
@@ -118,7 +115,6 @@ function loadLayoutType(varDecl, layout, deref) {
118
115
  }
119
116
  }
120
117
  }
121
- layout.types[type] = { label, members };
122
118
  }
123
119
  }
124
120
  //# sourceMappingURL=extract.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../src/storage/extract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extract.js","sourceRoot":"","sources":["../../src/storage/extract.ts"],"names":[],"mappings":"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"}
@@ -19,11 +19,14 @@ test.before(async (t) => {
19
19
  }
20
20
  const solcOutput = buildInfo.output;
21
21
  const contracts = {};
22
+ const storageLayouts = {};
22
23
  for (const def of (0, utils_1.findAll)('ContractDefinition', solcOutput.sources['contracts/test/Storage.sol'].ast)) {
23
24
  contracts[def.name] = def;
25
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
26
+ storageLayouts[def.name] = solcOutput.contracts['contracts/test/Storage.sol'][def.name].storageLayout;
24
27
  }
25
28
  const deref = (0, ast_dereferencer_1.astDereferencer)(solcOutput);
26
- t.context.extractStorageLayout = name => (0, extract_1.extractStorageLayout)(contracts[name], dummyDecodeSrc, deref);
29
+ t.context.extractStorageLayout = name => (0, extract_1.extractStorageLayout)(contracts[name], dummyDecodeSrc, deref, storageLayouts[name]);
27
30
  });
28
31
  const dummyDecodeSrc = () => 'file.sol:1';
29
32
  test('Storage1', t => {
@@ -421,6 +424,11 @@ test('storage upgrade with enum key in mapping', t => {
421
424
  },
422
425
  });
423
426
  });
427
+ test('storage upgrade with embedded enum inside struct type', t => {
428
+ const v1 = t.context.extractStorageLayout('StorageUpgrade_StructEnum_V2');
429
+ const v2 = t.context.extractStorageLayout('StorageUpgrade_StructEnum_V2');
430
+ t.deepEqual((0, storage_1.getStorageUpgradeErrors)(v1, v2), []);
431
+ });
424
432
  function stabilizeStorageLayout(layout) {
425
433
  return {
426
434
  storage: layout.storage.map(s => ({ ...s, type: (0, type_id_1.stabilizeTypeIdentifier)(s.type) })),
@@ -1 +1 @@
1
- {"version":3,"file":"storage.test.js","sourceRoot":"","sources":["../src/storage.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.test.js","sourceRoot":"","sources":["../src/storage.test.ts"],"names":[],"mappings":";;;;;AAAA,8CAAoC;AAEpC,8CAA6C;AAC7C,qCAAoC;AAGpC,yDAAqD;AACrD,uCAAoD;AACpD,6CAAgE;AAChE,+CAAyD;AACzD,6CAA0D;AAM1D,MAAM,IAAI,GAAG,aAAwB,CAAC;AAEtC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;IACpB,MAAM,SAAS,GAAG,MAAM,mBAAS,CAAC,YAAY,CAAC,qCAAqC,CAAC,CAAC;IACtF,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;KACzC;IACD,MAAM,UAAU,GAAe,SAAS,CAAC,MAAM,CAAC;IAChD,MAAM,SAAS,GAAuC,EAAE,CAAC;IACzD,MAAM,cAAc,GAAkC,EAAE,CAAC;IACzD,KAAK,MAAM,GAAG,IAAI,IAAA,eAAO,EAAC,oBAAoB,EAAE,UAAU,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAAC,EAAE;QACrG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC;QAC1B,oEAAoE;QACpE,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,aAAc,CAAC;KACxG;IACD,MAAM,KAAK,GAAG,IAAA,kCAAe,EAAC,UAAU,CAAC,CAAC;IAC1C,CAAC,CAAC,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC,EAAE,CACtC,IAAA,8BAAoB,EAAC,SAAS,CAAC,IAAI,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;AACvF,CAAC,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC;AAE1C,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE;IACnB,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAC1D,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE;IACnB,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;IAC1D,CAAC,CAAC,QAAQ,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC,EAAE;IAChC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,yBAAyB,CAAC,CAAC;IACrE,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,yBAAyB,CAAC,CAAC;IACrE,MAAM,UAAU,GAAG,IAAA,iCAAuB,EAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC,EAAE;IACjC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,0BAA0B,CAAC,CAAC;IACtE,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,0BAA0B,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,IAAA,iCAAuB,EAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC,EAAE;IACjC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,0BAA0B,CAAC,CAAC;IACtE,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,0BAA0B,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,IAAA,iCAAuB,EAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE;QACjB,MAAM,EAAE,CAAC;QACT,CAAC,EAAE;YACD,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE;gBACR,QAAQ,EAAE,0BAA0B;gBACpC,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE;oBACJ,EAAE,EAAE,WAAW;iBAChB;aACF;SACF;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC,EAAE;IAClC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,2BAA2B,CAAC,CAAC;IACvE,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,2BAA2B,CAAC,CAAC;IACvE,MAAM,UAAU,GAAG,IAAA,iCAAuB,EAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE;QACjB,MAAM,EAAE,CAAC;QACT,CAAC,EAAE;YACD,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE;gBACR,QAAQ,EAAE,2BAA2B;gBACrC,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE;oBACJ,EAAE,EAAE,WAAW;iBAChB;aACF;YACD,OAAO,EAAE;gBACP,QAAQ,EAAE,2BAA2B;gBACrC,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE;oBACJ,EAAE,EAAE,kBAAkB;iBACvB;aACF;SACF;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wBAAwB,EAAE,CAAC,CAAC,EAAE;IACjC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,0BAA0B,CAAC,CAAC;IACtE,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,0BAA0B,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,IAAA,iCAAuB,EAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE;QACjB,MAAM,EAAE,CAAC;QACT,CAAC,EAAE;YACD,IAAI,EAAE,QAAQ;YACd,QAAQ,EAAE;gBACR,QAAQ,EAAE,0BAA0B;gBACpC,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE;oBACJ,EAAE,EAAE,WAAW;iBAChB;aACF;YACD,OAAO,EAAE;gBACP,QAAQ,EAAE,0BAA0B;gBACpC,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE;oBACJ,EAAE,EAAE,WAAW;iBAChB;aACF;SACF;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gCAAgC,EAAE,CAAC,CAAC,EAAE;IACzC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,0BAA0B,CAAC,CAAC;IACtE,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,0BAA0B,CAAC,CAAC;IACtE,MAAM,UAAU,GAAG,IAAA,iCAAuB,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC;IACjF,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uCAAuC,EAAE,CAAC,CAAC,EAAE;IAChD,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,mCAAmC,CAAC,CAAC;IAE/E,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,uCAAuC,CAAC,CAAC;IACvF,CAAC,CAAC,IAAI,CAAC,IAAA,iCAAuB,EAAC,EAAE,EAAE,MAAM,CAAC,EAAE;QAC1C,MAAM,EAAE,CAAC;QACT,CAAC,EAAE;YACD,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE;YACpC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;YACzB,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;SACzB;QACD,CAAC,EAAE;YACD,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE;YACpC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;YACzB,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;SACzB;QACD,CAAC,EAAE;YACD,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE;YACpC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;YACzB,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;SACzB;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8BAA8B,EAAE,CAAC,CAAC,EAAE;IACvC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,0BAA0B,CAAC,CAAC;IAEtE,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,6BAA6B,CAAC,CAAC;IAC5E,CAAC,CAAC,SAAS,CAAC,IAAA,iCAAuB,EAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAEpD,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,8BAA8B,CAAC,CAAC;IAC9E,CAAC,CAAC,IAAI,CAAC,IAAA,iCAAuB,EAAC,EAAE,EAAE,MAAM,CAAC,EAAE;QAC1C,MAAM,EAAE,CAAC;QACT,CAAC,EAAE;YACD,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE;gBACN,IAAI,EAAE,gBAAgB;gBACtB,GAAG,EAAE;oBACH,MAAM,EAAE,CAAC;oBACT,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACtB;aACF;YACD,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;YAC5B,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;SAC5B;QACD,CAAC,EAAE;YACD,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE;gBACN,IAAI,EAAE,gBAAgB;gBACtB,GAAG,EAAE;oBACH,MAAM,EAAE,CAAC;oBACT,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACtB;aACF;YACD,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;YAC5B,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;SAC5B;QACD,CAAC,EAAE;YACD,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE;gBACN,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE;aAClC;YACD,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;YACxB,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;SACxB;QACD,CAAC,EAAE;YACD,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE;gBACN,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE;aAClC;YACD,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;YACzB,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;SACzB;QACD,CAAC,EAAE;YACD,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE;gBACN,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE;aAClC;YACD,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;YACzB,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;SACzB;QACD,CAAC,EAAE;YACD,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE;gBACN,IAAI,EAAE,gBAAgB;gBACtB,GAAG,EAAE;oBACH,MAAM,EAAE,CAAC;oBACT,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;oBACzB,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;oBACzB,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;iBAC1B;aACF;YACD,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;YAC5B,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;SAC5B;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6CAA6C,EAAE,CAAC,CAAC,EAAE;IACtD,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,0BAA0B,CAAC,CAAC;IACtE,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,6BAA6B,CAAC,CAAC;IAEzE,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,iCAAuB,EAAC,CAAC,CAAC,KAAK,0BAA0B,CAAC,CAAC;IAC5G,IAAI,QAAQ,KAAK,SAAS,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC;KAC1C;IAED,kCAAkC;IAClC,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,GAAG,SAAS,CAAC;IAEvC,CAAC,CAAC,IAAI,CAAC,IAAA,iCAAuB,EAAC,EAAE,EAAE,EAAE,CAAC,EAAE;QACtC,CAAC,EAAE;YACD,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE;YACnC,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;YAC5B,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;SAC5B;KACF,CAAC,CAAC;IAEH,CAAC,CAAC,SAAS,CAAC,IAAA,iCAAuB,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACrF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4BAA4B,EAAE,CAAC,CAAC,EAAE;IACrC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;IAEpE,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,2BAA2B,CAAC,CAAC;IAC1E,CAAC,CAAC,SAAS,CAAC,IAAA,iCAAuB,EAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAEpD,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,4BAA4B,CAAC,CAAC;IAC5E,CAAC,CAAC,IAAI,CAAC,IAAA,iCAAuB,EAAC,EAAE,EAAE,MAAM,CAAC,EAAE;QAC1C,MAAM,EAAE,CAAC;QACT,CAAC,EAAE;YACD,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE;gBACN,IAAI,EAAE,cAAc;gBACpB,GAAG,EAAE;oBACH,MAAM,EAAE,CAAC;oBACT,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;iBACtB;aACF;YACD,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;YAC5B,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;SAC5B;QACD,CAAC,EAAE;YACD,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE;gBACN,IAAI,EAAE,cAAc;gBACpB,GAAG,EAAE;oBACH,MAAM,EAAE,CAAC;oBACT,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE;iBACpD;aACF;YACD,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;YAC5B,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;SAC5B;QACD,CAAC,EAAE;YACD,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE;gBACN,IAAI,EAAE,cAAc;gBACpB,GAAG,EAAE;oBACH,MAAM,EAAE,CAAC;oBACT,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE;iBACpC;aACF;YACD,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;YAC5B,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;SAC5B;QACD,CAAC,EAAE;YACD,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;YAC/B,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;YAC5B,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;SAC5B;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2CAA2C,EAAE,CAAC,CAAC,EAAE;IACpD,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;IACpE,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,2BAA2B,CAAC,CAAC;IAEvE,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,iCAAuB,EAAC,CAAC,CAAC,KAAK,eAAe,CAAC,CAAC;IAC/F,IAAI,MAAM,KAAK,SAAS,EAAE;QACxB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;KACxC;IAED,gCAAgC;IAChC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,OAAO,GAAG,SAAS,CAAC;IAErC,CAAC,CAAC,IAAI,CAAC,IAAA,iCAAuB,EAAC,EAAE,EAAE,EAAE,CAAC,EAAE;QACtC,CAAC,EAAE;YACD,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE;YACnC,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;YAC5B,OAAO,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;SAC5B;KACF,CAAC,CAAC;IAEH,CAAC,CAAC,SAAS,CAAC,IAAA,iCAAuB,EAAC,EAAE,EAAE,EAAE,EAAE,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACrF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qCAAqC,EAAE,CAAC,CAAC,EAAE;IAC9C,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,6BAA6B,CAAC,CAAC;IACzE,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,6BAA6B,CAAC,CAAC;IACzE,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAA,iCAAuB,EAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC,IAAI,CAAC,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oCAAoC,EAAE,CAAC,CAAC,EAAE;IAC7C,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,4BAA4B,CAAC,CAAC;IACxE,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,4BAA4B,CAAC,CAAC;IACxE,CAAC,CAAC,SAAS,CAAC,IAAA,iCAAuB,EAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6BAA6B,EAAE,CAAC,CAAC,EAAE;IACtC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,yBAAyB,CAAC,CAAC;IAErE,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,4BAA4B,CAAC,CAAC;IAC3E,CAAC,CAAC,SAAS,CAAC,IAAA,iCAAuB,EAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAEpD,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,6BAA6B,CAAC,CAAC;IAC7E,CAAC,CAAC,IAAI,CAAC,IAAA,iCAAuB,EAAC,EAAE,EAAE,MAAM,CAAC,EAAE;QAC1C,MAAM,EAAE,CAAC;QACT,CAAC,EAAE;YACD,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE;YAChC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;YACzB,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;SACzB;QACD,CAAC,EAAE;YACD,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE;YAC9B,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;YACzB,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;SACzB;QACD,CAAC,EAAE;YACD,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE;YACjC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;YACzB,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;SACzB;QACD,CAAC,EAAE;YACD,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE;YACjC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;YACzB,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;SACzB;QACD,CAAC,EAAE;YACD,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE;gBACN,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE;aAChC;YACD,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;YACxB,OAAO,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE;SACxB;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+BAA+B,EAAE,CAAC,CAAC,EAAE;IACxC,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,2BAA2B,CAAC,CAAC;IAEvE,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,8BAA8B,CAAC,CAAC;IAC7E,CAAC,CAAC,SAAS,CAAC,IAAA,iCAAuB,EAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAEpD,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,+BAA+B,CAAC,CAAC;IAC/E,CAAC,CAAC,IAAI,CAAC,IAAA,iCAAuB,EAAC,EAAE,EAAE,MAAM,CAAC,EAAE;QAC1C,MAAM,EAAE,CAAC;QACT,CAAC,EAAE;YACD,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE;gBACN,IAAI,EAAE,eAAe;gBACrB,KAAK,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE;aACpC;YACD,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;YACzB,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;SACzB;QACD,CAAC,EAAE;YACD,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE;YAC/B,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;YACzB,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;SACzB;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0CAA0C,EAAE,CAAC,CAAC,EAAE;IACnD,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,kCAAkC,CAAC,CAAC;IAE9E,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,qCAAqC,CAAC,CAAC;IACpF,CAAC,CAAC,SAAS,CAAC,IAAA,iCAAuB,EAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC;IAEpD,MAAM,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,sCAAsC,CAAC,CAAC;IACtF,CAAC,CAAC,IAAI,CAAC,IAAA,iCAAuB,EAAC,EAAE,EAAE,MAAM,CAAC,EAAE;QAC1C,MAAM,EAAE,CAAC;QACT,CAAC,EAAE;YACD,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE;gBACN,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE;aAChC;YACD,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;YACzB,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;SACzB;QACD,CAAC,EAAE;YACD,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE;gBACN,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE;aACpC;YACD,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;YACzB,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;SACzB;QACD,CAAC,EAAE;YACD,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE;gBACN,IAAI,EAAE,aAAa;gBACnB,KAAK,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE;aACpC;YACD,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;YACzB,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE;SACzB;KACF,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uDAAuD,EAAE,CAAC,CAAC,EAAE;IAChE,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,8BAA8B,CAAC,CAAC;IAC1E,MAAM,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,8BAA8B,CAAC,CAAC;IAC1E,CAAC,CAAC,SAAS,CAAC,IAAA,iCAAuB,EAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC;AAEH,SAAS,sBAAsB,CAAC,MAAqB;IACnD,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,IAAA,iCAAuB,EAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnF,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;YACvD,MAAM,OAAO,GACX,IAAI,CAAC,OAAO;gBACZ,CAAC,IAAA,sBAAa,EAAC,IAAI,CAAC,OAAO,CAAC;oBAC1B,CAAC,CAAC,IAAI,CAAC,OAAO;oBACd,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,IAAI,EAAE,IAAA,iCAAuB,EAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAChF,OAAO,CAAC,IAAA,iCAAuB,EAAC,IAAI,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC,CAAC;KACH,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openzeppelin/upgrades-core",
3
- "version": "1.13.0",
3
+ "version": "1.13.1",
4
4
  "description": "",
5
5
  "repository": "https://github.com/OpenZeppelin/openzeppelin-upgrades/tree/master/packages/core",
6
6
  "license": "MIT",
@@ -59,5 +59,5 @@
59
59
  "proper-lockfile": "^4.1.1",
60
60
  "solidity-ast": "^0.4.15"
61
61
  },
62
- "gitHead": "bcd0adfa11625e732a0b904cb8d0fb7e29c24495"
62
+ "gitHead": "986cfff65ecbe4706ff62391ddc22ba31c547eb8"
63
63
  }
@@ -37,16 +37,14 @@ export function extractStorageLayout(
37
37
 
38
38
  for (const storage of storageLayout.storage) {
39
39
  const origin = getOriginContract(contractDef, storage.astId, deref);
40
-
41
- if (origin) {
42
- const [varDecl, contract] = origin;
43
- // Solc layout doesn't bring members for enums so we get them using the ast method
44
- loadLayoutType(varDecl, layout, deref);
45
- const { label, offset, slot, type } = storage;
46
- const src = decodeSrc(varDecl);
47
- layout.storage.push({ label, offset, slot, type, contract, src });
48
- layout.flat = true;
49
- }
40
+ assert(origin, `Did not find variable declaration node for '${storage.label}'`);
41
+ const { varDecl, contract } = origin;
42
+ // Solc layout doesn't bring members for enums so we get them using the ast method
43
+ loadLayoutType(varDecl, layout, deref);
44
+ const { label, offset, slot, type } = storage;
45
+ const src = decodeSrc(varDecl);
46
+ layout.storage.push({ label, offset, slot, type, contract, src });
47
+ layout.flat = true;
50
48
  }
51
49
  } else {
52
50
  for (const varDecl of contractDef.nodes) {
@@ -102,17 +100,13 @@ function getTypeMembers(typeDef: StructDefinition | EnumDefinition): TypeItem['m
102
100
  }
103
101
  }
104
102
 
105
- function getOriginContract(
106
- contract: ContractDefinition,
107
- astId: number | undefined,
108
- deref: ASTDereferencer,
109
- ): undefined | [VariableDeclaration, string] {
103
+ function getOriginContract(contract: ContractDefinition, astId: number | undefined, deref: ASTDereferencer) {
110
104
  for (const id of contract.linearizedBaseContracts.reverse()) {
111
105
  const parentContract = deref(['ContractDefinition'], id);
112
106
 
113
107
  const varDecl = parentContract.nodes.find(n => n.id == astId);
114
108
  if (varDecl && isNodeType('VariableDeclaration', varDecl)) {
115
- return [varDecl, parentContract.name];
109
+ return { varDecl, contract: parentContract.name };
116
110
  }
117
111
  }
118
112
  }
@@ -130,18 +124,13 @@ function loadLayoutType(varDecl: VariableDeclaration, layout: StorageLayout, der
130
124
 
131
125
  for (const typeName of typeNames.values()) {
132
126
  const { typeIdentifier, typeString: label } = typeDescriptions(typeName);
133
-
134
127
  const type = normalizeTypeIdentifier(typeIdentifier);
135
- const hasMembers = /^t_(enum|struct)\b/.test(type);
136
- if (type in layout.types && (!hasMembers || layout.types[type].members !== undefined)) {
137
- continue;
138
- }
139
-
140
- let members;
128
+ layout.types[type] ??= { label };
141
129
 
142
130
  if ('referencedDeclaration' in typeName && !/^t_contract\b/.test(type)) {
143
131
  const typeDef = derefUserDefinedType(typeName.referencedDeclaration);
144
- members = getTypeMembers(typeDef);
132
+ layout.types[type].members ??= getTypeMembers(typeDef);
133
+
145
134
  // Recursively look for the types referenced in this definition and add them to the queue.
146
135
  for (const typeName of findTypeNames(typeDef)) {
147
136
  const { typeIdentifier } = typeDescriptions(typeName);
@@ -150,7 +139,5 @@ function loadLayoutType(varDecl: VariableDeclaration, layout: StorageLayout, der
150
139
  }
151
140
  }
152
141
  }
153
-
154
- layout.types[type] = { label, members };
155
142
  }
156
143
  }
@@ -23,11 +23,15 @@ test.before(async t => {
23
23
  }
24
24
  const solcOutput: SolcOutput = buildInfo.output;
25
25
  const contracts: Record<string, ContractDefinition> = {};
26
+ const storageLayouts: Record<string, StorageLayout> = {};
26
27
  for (const def of findAll('ContractDefinition', solcOutput.sources['contracts/test/Storage.sol'].ast)) {
27
28
  contracts[def.name] = def;
29
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
30
+ storageLayouts[def.name] = solcOutput.contracts['contracts/test/Storage.sol'][def.name].storageLayout!;
28
31
  }
29
32
  const deref = astDereferencer(solcOutput);
30
- t.context.extractStorageLayout = name => extractStorageLayout(contracts[name], dummyDecodeSrc, deref);
33
+ t.context.extractStorageLayout = name =>
34
+ extractStorageLayout(contracts[name], dummyDecodeSrc, deref, storageLayouts[name]);
31
35
  });
32
36
 
33
37
  const dummyDecodeSrc = () => 'file.sol:1';
@@ -464,6 +468,12 @@ test('storage upgrade with enum key in mapping', t => {
464
468
  });
465
469
  });
466
470
 
471
+ test('storage upgrade with embedded enum inside struct type', t => {
472
+ const v1 = t.context.extractStorageLayout('StorageUpgrade_StructEnum_V2');
473
+ const v2 = t.context.extractStorageLayout('StorageUpgrade_StructEnum_V2');
474
+ t.deepEqual(getStorageUpgradeErrors(v1, v2), []);
475
+ });
476
+
467
477
  function stabilizeStorageLayout(layout: StorageLayout) {
468
478
  return {
469
479
  storage: layout.storage.map(s => ({ ...s, type: stabilizeTypeIdentifier(s.type) })),
@@ -13,40 +13,48 @@ Generated by [AVA](https://avajs.dev).
13
13
  {
14
14
  contract: 'Storage1',
15
15
  label: 'u1',
16
+ offset: 0,
17
+ slot: '0',
16
18
  src: 'file.sol:1',
17
19
  type: 't_uint256',
18
20
  },
19
21
  {
20
22
  contract: 'Storage1',
21
23
  label: 'a1',
24
+ offset: 0,
25
+ slot: '1',
22
26
  src: 'file.sol:1',
23
27
  type: 't_address',
24
28
  },
25
29
  {
26
30
  contract: 'Storage1',
27
31
  label: 'm1',
32
+ offset: 0,
33
+ slot: '2',
28
34
  src: 'file.sol:1',
29
35
  type: 't_mapping(t_uint256,t_uint256)',
30
36
  },
31
37
  {
32
38
  contract: 'Storage1',
33
39
  label: 'us1',
40
+ offset: 0,
41
+ slot: '3',
34
42
  src: 'file.sol:1',
35
43
  type: 't_array(t_uint256)3_storage',
36
44
  },
37
45
  ],
38
46
  types: [
39
47
  [
40
- 't_uint256',
48
+ 't_address',
41
49
  {
42
- label: 'uint256',
50
+ label: 'address',
43
51
  members: undefined,
44
52
  },
45
53
  ],
46
54
  [
47
- 't_address',
55
+ 't_array(t_uint256)3_storage',
48
56
  {
49
- label: 'address',
57
+ label: 'uint256[3]',
50
58
  members: undefined,
51
59
  },
52
60
  ],
@@ -58,9 +66,9 @@ Generated by [AVA](https://avajs.dev).
58
66
  },
59
67
  ],
60
68
  [
61
- 't_array(t_uint256)3_storage',
69
+ 't_uint256',
62
70
  {
63
- label: 'uint256[3]',
71
+ label: 'uint256',
64
72
  members: undefined,
65
73
  },
66
74
  ],
@@ -76,334 +84,412 @@ Generated by [AVA](https://avajs.dev).
76
84
  {
77
85
  contract: 'Storage2',
78
86
  label: 'my_public_uint256',
87
+ offset: 0,
88
+ slot: '0',
79
89
  src: 'file.sol:1',
80
90
  type: 't_uint256',
81
91
  },
82
92
  {
83
93
  contract: 'Storage2',
84
94
  label: 'my_internal_string',
95
+ offset: 0,
96
+ slot: '1',
85
97
  src: 'file.sol:1',
86
98
  type: 't_string_storage',
87
99
  },
88
100
  {
89
101
  contract: 'Storage2',
90
102
  label: 'my_private_uint8',
103
+ offset: 0,
104
+ slot: '2',
91
105
  src: 'file.sol:1',
92
106
  type: 't_uint8',
93
107
  },
94
108
  {
95
109
  contract: 'Storage2',
96
110
  label: 'my_private_uint16',
111
+ offset: 1,
112
+ slot: '2',
97
113
  src: 'file.sol:1',
98
114
  type: 't_int8',
99
115
  },
100
116
  {
101
117
  contract: 'Storage2',
102
118
  label: 'my_private_bool',
119
+ offset: 2,
120
+ slot: '2',
103
121
  src: 'file.sol:1',
104
122
  type: 't_bool',
105
123
  },
106
124
  {
107
125
  contract: 'Storage2',
108
126
  label: 'my_private_uint',
127
+ offset: 0,
128
+ slot: '3',
109
129
  src: 'file.sol:1',
110
130
  type: 't_uint256',
111
131
  },
112
132
  {
113
133
  contract: 'Storage2',
114
134
  label: 'my_private_address',
135
+ offset: 0,
136
+ slot: '4',
115
137
  src: 'file.sol:1',
116
138
  type: 't_address',
117
139
  },
118
140
  {
119
141
  contract: 'Storage2',
120
142
  label: 'my_bytes',
143
+ offset: 0,
144
+ slot: '5',
121
145
  src: 'file.sol:1',
122
146
  type: 't_bytes_storage',
123
147
  },
124
148
  {
125
149
  contract: 'Storage2',
126
150
  label: 'my_bytes8',
151
+ offset: 0,
152
+ slot: '6',
127
153
  src: 'file.sol:1',
128
154
  type: 't_bytes8',
129
155
  },
130
156
  {
131
157
  contract: 'Storage2',
132
158
  label: 'my_bytes32',
159
+ offset: 0,
160
+ slot: '7',
133
161
  src: 'file.sol:1',
134
162
  type: 't_bytes32',
135
163
  },
136
164
  {
137
165
  contract: 'Storage2',
138
166
  label: 'my_public_uint256_dynarray',
167
+ offset: 0,
168
+ slot: '8',
139
169
  src: 'file.sol:1',
140
170
  type: 't_array(t_uint256)dyn_storage',
141
171
  },
142
172
  {
143
173
  contract: 'Storage2',
144
174
  label: 'my_internal_string_dynarray',
175
+ offset: 0,
176
+ slot: '9',
145
177
  src: 'file.sol:1',
146
178
  type: 't_array(t_string_storage)dyn_storage',
147
179
  },
148
180
  {
149
181
  contract: 'Storage2',
150
182
  label: 'my_private_address_dynarray',
183
+ offset: 0,
184
+ slot: '10',
151
185
  src: 'file.sol:1',
152
186
  type: 't_array(t_address)dyn_storage',
153
187
  },
154
188
  {
155
189
  contract: 'Storage2',
156
190
  label: 'my_public_int8_staticarray',
191
+ offset: 0,
192
+ slot: '11',
157
193
  src: 'file.sol:1',
158
194
  type: 't_array(t_int8)10_storage',
159
195
  },
160
196
  {
161
197
  contract: 'Storage2',
162
198
  label: 'my_internal_bool_staticarray',
199
+ offset: 0,
200
+ slot: '12',
163
201
  src: 'file.sol:1',
164
202
  type: 't_array(t_bool)20_storage',
165
203
  },
166
204
  {
167
205
  contract: 'Storage2',
168
206
  label: 'my_private_uint_staticarray',
207
+ offset: 0,
208
+ slot: '13',
169
209
  src: 'file.sol:1',
170
210
  type: 't_array(t_uint256)30_storage',
171
211
  },
172
212
  {
173
213
  contract: 'Storage2',
174
214
  label: 'my_mapping',
215
+ offset: 0,
216
+ slot: '43',
175
217
  src: 'file.sol:1',
176
218
  type: 't_mapping(t_uint256,t_string_storage)',
177
219
  },
178
220
  {
179
221
  contract: 'Storage2',
180
222
  label: 'my_nested_mapping',
223
+ offset: 0,
224
+ slot: '44',
181
225
  src: 'file.sol:1',
182
226
  type: 't_mapping(t_uint256,t_mapping(t_string_memory_ptr,t_address))',
183
227
  },
184
228
  {
185
229
  contract: 'Storage2',
186
230
  label: 'my_mapping_with_arrays',
231
+ offset: 0,
232
+ slot: '45',
187
233
  src: 'file.sol:1',
188
234
  type: 't_mapping(t_uint256,t_array(t_bool)dyn_storage)',
189
235
  },
190
236
  {
191
237
  contract: 'Storage2',
192
238
  label: 'my_fun',
239
+ offset: 0,
240
+ slot: '46',
193
241
  src: 'file.sol:1',
194
242
  type: 't_function_internal_nonpayable(t_uint256)returns()',
195
243
  },
196
244
  {
197
245
  contract: 'Storage2',
198
246
  label: 'my_fun_dynarray',
247
+ offset: 0,
248
+ slot: '47',
199
249
  src: 'file.sol:1',
200
250
  type: 't_array(t_function_internal_nonpayable(t_string_memory_ptr,t_string_memory_ptr)returns())dyn_storage',
201
251
  },
202
252
  {
203
253
  contract: 'Storage2',
204
254
  label: 'my_fun_staticarray',
255
+ offset: 0,
256
+ slot: '48',
205
257
  src: 'file.sol:1',
206
258
  type: 't_array(t_function_internal_nonpayable(t_uint256)returns(t_address))10_storage',
207
259
  },
208
260
  {
209
261
  contract: 'Storage2',
210
262
  label: 'my_fun_mapping',
263
+ offset: 0,
264
+ slot: '51',
211
265
  src: 'file.sol:1',
212
266
  type: 't_mapping(t_uint256,t_function_internal_nonpayable(t_bool)returns())',
213
267
  },
214
268
  {
215
269
  contract: 'Storage2',
216
270
  label: 'my_contract',
271
+ offset: 0,
272
+ slot: '52',
217
273
  src: 'file.sol:1',
218
274
  type: 't_contract(Storage2)',
219
275
  },
220
276
  {
221
277
  contract: 'Storage2',
222
278
  label: 'my_contract_dynarray',
279
+ offset: 0,
280
+ slot: '53',
223
281
  src: 'file.sol:1',
224
282
  type: 't_array(t_contract(Storage2))dyn_storage',
225
283
  },
226
284
  {
227
285
  contract: 'Storage2',
228
286
  label: 'my_contract_staticarray',
287
+ offset: 0,
288
+ slot: '54',
229
289
  src: 'file.sol:1',
230
290
  type: 't_array(t_contract(Storage2))10_storage',
231
291
  },
232
292
  {
233
293
  contract: 'Storage2',
234
294
  label: 'my_contract_mapping',
295
+ offset: 0,
296
+ slot: '64',
235
297
  src: 'file.sol:1',
236
298
  type: 't_mapping(t_uint256,t_contract(Storage2))',
237
299
  },
238
300
  {
239
301
  contract: 'Storage2',
240
302
  label: 'my_contract_dynarray_mapping',
303
+ offset: 0,
304
+ slot: '65',
241
305
  src: 'file.sol:1',
242
306
  type: 't_mapping(t_uint256,t_array(t_contract(Storage2))dyn_storage)',
243
307
  },
244
308
  {
245
309
  contract: 'Storage2',
246
310
  label: 'my_contract_staticarray_mapping',
311
+ offset: 0,
312
+ slot: '66',
247
313
  src: 'file.sol:1',
248
314
  type: 't_mapping(t_uint256,t_array(t_contract(Storage2))10_storage)',
249
315
  },
250
316
  {
251
317
  contract: 'Storage2',
252
318
  label: 'my_struct',
319
+ offset: 0,
320
+ slot: '67',
253
321
  src: 'file.sol:1',
254
322
  type: 't_struct(MyStruct)storage',
255
323
  },
256
324
  {
257
325
  contract: 'Storage2',
258
326
  label: 'my_struct_dynarray',
327
+ offset: 0,
328
+ slot: '70',
259
329
  src: 'file.sol:1',
260
330
  type: 't_array(t_struct(MyStruct)storage)dyn_storage',
261
331
  },
262
332
  {
263
333
  contract: 'Storage2',
264
334
  label: 'my_struct_staticarray',
335
+ offset: 0,
336
+ slot: '71',
265
337
  src: 'file.sol:1',
266
338
  type: 't_array(t_struct(MyStruct)storage)10_storage',
267
339
  },
268
340
  {
269
341
  contract: 'Storage2',
270
342
  label: 'my_struct_mapping',
343
+ offset: 0,
344
+ slot: '101',
271
345
  src: 'file.sol:1',
272
346
  type: 't_mapping(t_uint256,t_struct(MyStruct)storage)',
273
347
  },
274
348
  {
275
349
  contract: 'Storage2',
276
350
  label: 'my_enum',
351
+ offset: 0,
352
+ slot: '102',
277
353
  src: 'file.sol:1',
278
354
  type: 't_enum(MyEnum)',
279
355
  },
280
356
  {
281
357
  contract: 'Storage2',
282
358
  label: 'my_enum_dynarray',
359
+ offset: 0,
360
+ slot: '103',
283
361
  src: 'file.sol:1',
284
362
  type: 't_array(t_enum(MyEnum))dyn_storage',
285
363
  },
286
364
  {
287
365
  contract: 'Storage2',
288
366
  label: 'my_enum_staticarray',
367
+ offset: 0,
368
+ slot: '104',
289
369
  src: 'file.sol:1',
290
370
  type: 't_array(t_enum(MyEnum))10_storage',
291
371
  },
292
372
  {
293
373
  contract: 'Storage2',
294
374
  label: 'my_enum_mapping',
375
+ offset: 0,
376
+ slot: '105',
295
377
  src: 'file.sol:1',
296
378
  type: 't_mapping(t_uint256,t_enum(MyEnum))',
297
379
  },
298
380
  {
299
381
  contract: 'Storage2',
300
382
  label: 'my_complex_struct',
383
+ offset: 0,
384
+ slot: '106',
301
385
  src: 'file.sol:1',
302
386
  type: 't_struct(MyComplexStruct)storage',
303
387
  },
304
388
  {
305
389
  contract: 'Storage2',
306
390
  label: 'my_other_struct',
391
+ offset: 0,
392
+ slot: '111',
307
393
  src: 'file.sol:1',
308
394
  type: 't_struct(MyStruct)storage',
309
395
  },
310
396
  ],
311
397
  types: [
312
398
  [
313
- 't_uint256',
399
+ 't_address',
314
400
  {
315
- label: 'uint256',
401
+ label: 'address',
316
402
  members: undefined,
317
403
  },
318
404
  ],
319
405
  [
320
- 't_string_storage',
406
+ 't_array(t_address)dyn_storage',
321
407
  {
322
- label: 'string',
408
+ label: 'address[]',
323
409
  members: undefined,
324
410
  },
325
411
  ],
326
412
  [
327
- 't_uint8',
413
+ 't_array(t_bool)20_storage',
328
414
  {
329
- label: 'uint8',
415
+ label: 'bool[20]',
330
416
  members: undefined,
331
417
  },
332
418
  ],
333
419
  [
334
- 't_int8',
420
+ 't_array(t_bool)dyn_storage',
335
421
  {
336
- label: 'int8',
422
+ label: 'bool[]',
337
423
  members: undefined,
338
424
  },
339
425
  ],
340
426
  [
341
- 't_bool',
427
+ 't_array(t_contract(Storage2))10_storage',
342
428
  {
343
- label: 'bool',
429
+ label: 'contract Storage2[10]',
344
430
  members: undefined,
345
431
  },
346
432
  ],
347
433
  [
348
- 't_address',
434
+ 't_array(t_contract(Storage2))dyn_storage',
349
435
  {
350
- label: 'address',
436
+ label: 'contract Storage2[]',
351
437
  members: undefined,
352
438
  },
353
439
  ],
354
440
  [
355
- 't_bytes_storage',
441
+ 't_array(t_enum(MyEnum))10_storage',
356
442
  {
357
- label: 'bytes',
443
+ label: 'enum Storage2.MyEnum[10]',
358
444
  members: undefined,
359
445
  },
360
446
  ],
361
447
  [
362
- 't_bytes8',
448
+ 't_array(t_enum(MyEnum))dyn_storage',
363
449
  {
364
- label: 'bytes8',
450
+ label: 'enum Storage2.MyEnum[]',
365
451
  members: undefined,
366
452
  },
367
453
  ],
368
454
  [
369
- 't_bytes32',
455
+ 't_array(t_function_internal_nonpayable(t_string_memory_ptr,t_string_memory_ptr)returns())dyn_storage',
370
456
  {
371
- label: 'bytes32',
457
+ label: 'function (string,string)[]',
372
458
  members: undefined,
373
459
  },
374
460
  ],
375
461
  [
376
- 't_array(t_uint256)dyn_storage',
462
+ 't_array(t_function_internal_nonpayable(t_uint256)returns(t_address))10_storage',
377
463
  {
378
- label: 'uint256[]',
464
+ label: 'function (uint256) returns (address)[10]',
379
465
  members: undefined,
380
466
  },
381
467
  ],
382
468
  [
383
- 't_array(t_string_storage)dyn_storage',
469
+ 't_array(t_int8)10_storage',
384
470
  {
385
- label: 'string[]',
471
+ label: 'int8[10]',
386
472
  members: undefined,
387
473
  },
388
474
  ],
389
475
  [
390
- 't_array(t_address)dyn_storage',
476
+ 't_array(t_string_storage)dyn_storage',
391
477
  {
392
- label: 'address[]',
478
+ label: 'string[]',
393
479
  members: undefined,
394
480
  },
395
481
  ],
396
482
  [
397
- 't_array(t_int8)10_storage',
483
+ 't_array(t_struct(MyStruct)storage)10_storage',
398
484
  {
399
- label: 'int8[10]',
485
+ label: 'struct Storage2.MyStruct[10]',
400
486
  members: undefined,
401
487
  },
402
488
  ],
403
489
  [
404
- 't_array(t_bool)20_storage',
490
+ 't_array(t_struct(MyStruct)storage)dyn_storage',
405
491
  {
406
- label: 'bool[20]',
492
+ label: 'struct Storage2.MyStruct[]',
407
493
  members: undefined,
408
494
  },
409
495
  ],
@@ -415,114 +501,117 @@ Generated by [AVA](https://avajs.dev).
415
501
  },
416
502
  ],
417
503
  [
418
- 't_mapping(t_uint256,t_string_storage)',
504
+ 't_array(t_uint256)dyn_storage',
419
505
  {
420
- label: 'mapping(uint256 => string)',
506
+ label: 'uint256[]',
421
507
  members: undefined,
422
508
  },
423
509
  ],
424
510
  [
425
- 't_mapping(t_uint256,t_mapping(t_string_memory_ptr,t_address))',
511
+ 't_bool',
426
512
  {
427
- label: 'mapping(uint256 => mapping(string => address))',
513
+ label: 'bool',
428
514
  members: undefined,
429
515
  },
430
516
  ],
431
517
  [
432
- 't_mapping(t_string_memory_ptr,t_address)',
518
+ 't_bytes32',
433
519
  {
434
- label: 'mapping(string => address)',
520
+ label: 'bytes32',
435
521
  members: undefined,
436
522
  },
437
523
  ],
438
524
  [
439
- 't_mapping(t_uint256,t_array(t_bool)dyn_storage)',
525
+ 't_bytes8',
440
526
  {
441
- label: 'mapping(uint256 => bool[])',
527
+ label: 'bytes8',
442
528
  members: undefined,
443
529
  },
444
530
  ],
445
531
  [
446
- 't_array(t_bool)dyn_storage',
532
+ 't_bytes_storage',
447
533
  {
448
- label: 'bool[]',
534
+ label: 'bytes',
449
535
  members: undefined,
450
536
  },
451
537
  ],
452
538
  [
453
- 't_function_internal_nonpayable(t_uint256)returns()',
539
+ 't_contract(Storage2)',
454
540
  {
455
- label: 'function (uint256)',
541
+ label: 'contract Storage2',
456
542
  members: undefined,
457
543
  },
458
544
  ],
459
545
  [
460
- 't_array(t_function_internal_nonpayable(t_string_memory_ptr,t_string_memory_ptr)returns())dyn_storage',
546
+ 't_enum(MyEnum)',
461
547
  {
462
- label: 'function (string,string)[]',
463
- members: undefined,
548
+ label: 'enum Storage2.MyEnum',
549
+ members: [
550
+ 'State1',
551
+ 'State2',
552
+ ],
464
553
  },
465
554
  ],
466
555
  [
467
- 't_function_internal_nonpayable(t_string_memory_ptr,t_string_memory_ptr)returns()',
556
+ 't_function_internal_nonpayable(t_bool)returns()',
468
557
  {
469
- label: 'function (string,string)',
558
+ label: 'function (bool)',
470
559
  members: undefined,
471
560
  },
472
561
  ],
473
562
  [
474
- 't_array(t_function_internal_nonpayable(t_uint256)returns(t_address))10_storage',
563
+ 't_function_internal_nonpayable(t_string_memory_ptr,t_string_memory_ptr)returns()',
475
564
  {
476
- label: 'function (uint256) returns (address)[10]',
565
+ label: 'function (string,string)',
477
566
  members: undefined,
478
567
  },
479
568
  ],
480
569
  [
481
- 't_function_internal_nonpayable(t_uint256)returns(t_address)',
570
+ 't_function_internal_nonpayable(t_uint256)returns()',
482
571
  {
483
- label: 'function (uint256) returns (address)',
572
+ label: 'function (uint256)',
484
573
  members: undefined,
485
574
  },
486
575
  ],
487
576
  [
488
- 't_mapping(t_uint256,t_function_internal_nonpayable(t_bool)returns())',
577
+ 't_function_internal_nonpayable(t_uint256)returns(t_address)',
489
578
  {
490
- label: 'mapping(uint256 => function (bool))',
579
+ label: 'function (uint256) returns (address)',
491
580
  members: undefined,
492
581
  },
493
582
  ],
494
583
  [
495
- 't_function_internal_nonpayable(t_bool)returns()',
584
+ 't_int8',
496
585
  {
497
- label: 'function (bool)',
586
+ label: 'int8',
498
587
  members: undefined,
499
588
  },
500
589
  ],
501
590
  [
502
- 't_contract(Storage2)',
591
+ 't_mapping(t_string_memory_ptr,t_address)',
503
592
  {
504
- label: 'contract Storage2',
593
+ label: 'mapping(string => address)',
505
594
  members: undefined,
506
595
  },
507
596
  ],
508
597
  [
509
- 't_array(t_contract(Storage2))dyn_storage',
598
+ 't_mapping(t_string_memory_ptr,t_enum(MyEnum))',
510
599
  {
511
- label: 'contract Storage2[]',
600
+ label: 'mapping(string => enum Storage2.MyEnum)',
512
601
  members: undefined,
513
602
  },
514
603
  ],
515
604
  [
516
- 't_array(t_contract(Storage2))10_storage',
605
+ 't_mapping(t_uint256,t_array(t_bool)dyn_storage)',
517
606
  {
518
- label: 'contract Storage2[10]',
607
+ label: 'mapping(uint256 => bool[])',
519
608
  members: undefined,
520
609
  },
521
610
  ],
522
611
  [
523
- 't_mapping(t_uint256,t_contract(Storage2))',
612
+ 't_mapping(t_uint256,t_array(t_contract(Storage2))10_storage)',
524
613
  {
525
- label: 'mapping(uint256 => contract Storage2)',
614
+ label: 'mapping(uint256 => contract Storage2[10])',
526
615
  members: undefined,
527
616
  },
528
617
  ],
@@ -534,81 +623,58 @@ Generated by [AVA](https://avajs.dev).
534
623
  },
535
624
  ],
536
625
  [
537
- 't_mapping(t_uint256,t_array(t_contract(Storage2))10_storage)',
626
+ 't_mapping(t_uint256,t_contract(Storage2))',
538
627
  {
539
- label: 'mapping(uint256 => contract Storage2[10])',
628
+ label: 'mapping(uint256 => contract Storage2)',
540
629
  members: undefined,
541
630
  },
542
631
  ],
543
632
  [
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',
633
+ 't_mapping(t_uint256,t_enum(MyEnum))',
565
634
  {
566
- label: 'struct Storage2.MyStruct[]',
635
+ label: 'mapping(uint256 => enum Storage2.MyEnum)',
567
636
  members: undefined,
568
637
  },
569
638
  ],
570
639
  [
571
- 't_array(t_struct(MyStruct)storage)10_storage',
640
+ 't_mapping(t_uint256,t_function_internal_nonpayable(t_bool)returns())',
572
641
  {
573
- label: 'struct Storage2.MyStruct[10]',
642
+ label: 'mapping(uint256 => function (bool))',
574
643
  members: undefined,
575
644
  },
576
645
  ],
577
646
  [
578
- 't_mapping(t_uint256,t_struct(MyStruct)storage)',
647
+ 't_mapping(t_uint256,t_mapping(t_string_memory_ptr,t_address))',
579
648
  {
580
- label: 'mapping(uint256 => struct Storage2.MyStruct)',
649
+ label: 'mapping(uint256 => mapping(string => address))',
581
650
  members: undefined,
582
651
  },
583
652
  ],
584
653
  [
585
- 't_enum(MyEnum)',
654
+ 't_mapping(t_uint256,t_string_storage)',
586
655
  {
587
- label: 'enum Storage2.MyEnum',
588
- members: [
589
- 'State1',
590
- 'State2',
591
- ],
656
+ label: 'mapping(uint256 => string)',
657
+ members: undefined,
592
658
  },
593
659
  ],
594
660
  [
595
- 't_array(t_enum(MyEnum))dyn_storage',
661
+ 't_mapping(t_uint256,t_struct(MyStruct)storage)',
596
662
  {
597
- label: 'enum Storage2.MyEnum[]',
663
+ label: 'mapping(uint256 => struct Storage2.MyStruct)',
598
664
  members: undefined,
599
665
  },
600
666
  ],
601
667
  [
602
- 't_array(t_enum(MyEnum))10_storage',
668
+ 't_string_memory_ptr',
603
669
  {
604
- label: 'enum Storage2.MyEnum[10]',
670
+ label: 'string',
605
671
  members: undefined,
606
672
  },
607
673
  ],
608
674
  [
609
- 't_mapping(t_uint256,t_enum(MyEnum))',
675
+ 't_string_storage',
610
676
  {
611
- label: 'mapping(uint256 => enum Storage2.MyEnum)',
677
+ label: 'string',
612
678
  members: undefined,
613
679
  },
614
680
  ],
@@ -633,9 +699,36 @@ Generated by [AVA](https://avajs.dev).
633
699
  },
634
700
  ],
635
701
  [
636
- 't_mapping(t_string_memory_ptr,t_enum(MyEnum))',
702
+ 't_struct(MyStruct)storage',
637
703
  {
638
- label: 'mapping(string => enum Storage2.MyEnum)',
704
+ label: 'struct Storage2.MyStruct',
705
+ members: [
706
+ {
707
+ label: 'struct_uint256',
708
+ type: 't_uint256',
709
+ },
710
+ {
711
+ label: 'struct_string',
712
+ type: 't_string_storage',
713
+ },
714
+ {
715
+ label: 'struct_address',
716
+ type: 't_address',
717
+ },
718
+ ],
719
+ },
720
+ ],
721
+ [
722
+ 't_uint256',
723
+ {
724
+ label: 'uint256',
725
+ members: undefined,
726
+ },
727
+ ],
728
+ [
729
+ 't_uint8',
730
+ {
731
+ label: 'uint8',
639
732
  members: undefined,
640
733
  },
641
734
  ],
Binary file