@openzeppelin/upgrades-core 1.19.1 → 1.20.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.
Files changed (69) hide show
  1. package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.dbg.json +1 -1
  2. package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.json +2 -2
  3. package/artifacts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol/BeaconProxy.dbg.json +1 -1
  4. package/artifacts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol/BeaconProxy.json +2 -2
  5. package/artifacts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.dbg.json +1 -1
  6. package/artifacts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.json +2 -2
  7. package/artifacts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.json +2 -2
  8. package/artifacts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +2 -2
  9. package/artifacts/AdminUpgradeabilityProxy.json +2 -2
  10. package/artifacts/ProxyAdmin.json +2 -2
  11. package/artifacts/build-info.json +1 -1
  12. package/artifacts/contracts/proxy/AdminUpgradeabilityProxy.sol/AdminUpgradeabilityProxy.json +2 -2
  13. package/artifacts/contracts/proxy/ProxyAdmin.sol/ProxyAdmin.json +2 -2
  14. package/dist/manifest.test.js +1 -1
  15. package/dist/manifest.test.js.map +1 -1
  16. package/dist/storage/compare.d.ts +1 -1
  17. package/dist/storage/compare.d.ts.map +1 -1
  18. package/dist/storage/compare.js +12 -1
  19. package/dist/storage/compare.js.map +1 -1
  20. package/dist/storage/extract.js +6 -4
  21. package/dist/storage/extract.js.map +1 -1
  22. package/dist/storage/layout.d.ts +1 -0
  23. package/dist/storage/layout.d.ts.map +1 -1
  24. package/dist/storage/layout.js.map +1 -1
  25. package/dist/storage/report.js +2 -2
  26. package/dist/storage-0.8.test.d.ts +2 -0
  27. package/dist/storage-0.8.test.d.ts.map +1 -0
  28. package/dist/storage-0.8.test.js +105 -0
  29. package/dist/storage-0.8.test.js.map +1 -0
  30. package/dist/storage.test.js +4 -16
  31. package/dist/storage.test.js.map +1 -1
  32. package/dist/utils/function.d.ts.map +1 -1
  33. package/dist/utils/function.js +11 -4
  34. package/dist/utils/function.js.map +1 -1
  35. package/dist/utils/stabilize-layout.d.ts +27 -0
  36. package/dist/utils/stabilize-layout.d.ts.map +1 -0
  37. package/dist/utils/stabilize-layout.js +19 -0
  38. package/dist/utils/stabilize-layout.js.map +1 -0
  39. package/dist/utils/type-id.js +1 -1
  40. package/dist/utils/type-id.js.map +1 -1
  41. package/dist/validate/data.d.ts +1 -1
  42. package/dist/validate/data.d.ts.map +1 -1
  43. package/dist/validate/data.js +1 -1
  44. package/dist/validate/query.d.ts.map +1 -1
  45. package/dist/validate/query.js +9 -4
  46. package/dist/validate/query.js.map +1 -1
  47. package/dist/validate/run.d.ts +2 -1
  48. package/dist/validate/run.d.ts.map +1 -1
  49. package/dist/validate/run.js +2 -1
  50. package/dist/validate/run.js.map +1 -1
  51. package/dist/validate.test.js +1 -0
  52. package/dist/validate.test.js.map +1 -1
  53. package/package.json +2 -2
  54. package/src/manifest.test.ts +1 -1
  55. package/src/storage/compare.ts +13 -2
  56. package/src/storage/extract.ts +7 -4
  57. package/src/storage/layout.ts +1 -0
  58. package/src/storage/report.ts +2 -2
  59. package/src/storage-0.8.test.ts +117 -0
  60. package/src/storage-0.8.test.ts.md +177 -0
  61. package/src/storage-0.8.test.ts.snap +0 -0
  62. package/src/storage.test.ts +3 -16
  63. package/src/utils/function.ts +14 -5
  64. package/src/utils/stabilize-layout.ts +17 -0
  65. package/src/utils/type-id.ts +1 -1
  66. package/src/validate/data.ts +2 -2
  67. package/src/validate/query.ts +9 -4
  68. package/src/validate/run.ts +3 -1
  69. package/src/validate.test.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"compare.js","sourceRoot":"","sources":["../../src/storage/compare.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compare.js","sourceRoot":"","sources":["../../src/storage/compare.ts"],"names":[],"mappings":"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"}
@@ -98,7 +98,7 @@ function getOriginContract(contract, astId, deref) {
98
98
  function loadLayoutType(varDecl, layout, deref) {
99
99
  var _a, _b;
100
100
  // Note: A UserDefinedTypeName can also refer to a ContractDefinition but we won't care about those.
101
- const derefUserDefinedType = deref(['StructDefinition', 'EnumDefinition']);
101
+ const derefUserDefinedType = deref(['StructDefinition', 'EnumDefinition', 'UserDefinedValueTypeDefinition']);
102
102
  (0, assert_1.default)(varDecl.typeName != null);
103
103
  // We will recursively look for all types involved in this variable declaration in order to store their type
104
104
  // information. We iterate over a Map that is indexed by typeIdentifier to ensure we visit each type only once.
@@ -110,7 +110,9 @@ function loadLayoutType(varDecl, layout, deref) {
110
110
  (_a = layout.types)[type] ?? (_a[type] = { label });
111
111
  if ('referencedDeclaration' in typeName && !/^t_contract\b/.test(type)) {
112
112
  const typeDef = derefUserDefinedType(typeName.referencedDeclaration);
113
- (_b = layout.types[type]).members ?? (_b.members = getTypeMembers(typeDef));
113
+ if (typeDef.nodeType !== 'UserDefinedValueTypeDefinition') {
114
+ (_b = layout.types[type]).members ?? (_b.members = getTypeMembers(typeDef));
115
+ }
114
116
  // Recursively look for the types referenced in this definition and add them to the queue.
115
117
  for (const typeName of findTypeNames(typeDef)) {
116
118
  const { typeIdentifier } = typeDescriptions(typeName);
@@ -128,10 +130,10 @@ function getRetypedRenamed(varDecl) {
128
130
  for (const { groups } of (0, execall_1.execall)(/^\s*(?:@(?<title>\w+)(?::(?<tag>[a-z][a-z-]*))? )?(?<args>(?:(?!^\s@\w+)[^])*)/m, docs)) {
129
131
  if (groups?.title === 'custom') {
130
132
  if (groups.tag === 'oz-retyped-from') {
131
- retypedFrom = groups.args;
133
+ retypedFrom = groups.args.trim();
132
134
  }
133
135
  else if (groups.tag === 'oz-renamed-from') {
134
- renamedFrom = groups.args;
136
+ renamedFrom = groups.args.trim();
135
137
  }
136
138
  }
137
139
  }
@@ -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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"}
@@ -1,6 +1,7 @@
1
1
  import { ParsedTypeId } from '../utils/parse-type-id';
2
2
  export interface StorageLayout {
3
3
  layoutVersion?: string;
4
+ solcVersion?: string;
4
5
  storage: StorageItem[];
5
6
  types: Record<string, TypeItem>;
6
7
  flat?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/storage/layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAOnE,MAAM,WAAW,aAAa;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,oBAAY,YAAY,CAAC,IAAI,GAAG,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;AAEjF,MAAM,WAAW,WAAW,CAAC,IAAI,GAAG,MAAM;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,QAAQ,CAAC,IAAI,GAAG,MAAM;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,oBAAY,eAAe,CAAC,IAAI,GAAG,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC;AAEjF,MAAM,WAAW,YAAY,CAAC,IAAI,GAAG,MAAM;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,oBAAY,UAAU,GAAG,MAAM,CAAC;AAEhC,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD,IAAI,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAC7B;AAID,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,WAAW,CAAC,kBAAkB,CAAC,EAAE,CAoC1F;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,UAAU,EAAE,CAErF;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAE5F;AAED,oBAAY,sBAAsB,GAAG,YAAY,CAAC,kBAAkB,CAAC,GACnE,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAC,GAAG;IAAE,IAAI,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAA;KAAE,CAAA;CAAE,CAAC;AAElH,wBAAgB,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC,kBAAkB,CAAC,GAAG,KAAK,IAAI,sBAAsB,CAElG"}
1
+ {"version":3,"file":"layout.d.ts","sourceRoot":"","sources":["../../src/storage/layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAOnE,MAAM,WAAW,aAAa;IAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,oBAAY,YAAY,CAAC,IAAI,GAAG,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;AAEjF,MAAM,WAAW,WAAW,CAAC,IAAI,GAAG,MAAM;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,QAAQ,CAAC,IAAI,GAAG,MAAM;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,oBAAY,eAAe,CAAC,IAAI,GAAG,MAAM,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,GAAG,UAAU,EAAE,CAAC;AAEjF,MAAM,WAAW,YAAY,CAAC,IAAI,GAAG,MAAM;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,IAAI,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,oBAAY,UAAU,GAAG,MAAM,CAAC;AAEhC,MAAM,WAAW,kBAAmB,SAAQ,YAAY;IACtD,IAAI,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC5B,IAAI,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAC7B;AAID,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,GAAG,WAAW,CAAC,kBAAkB,CAAC,EAAE,CAoC1F;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,UAAU,EAAE,CAErF;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAE5F;AAED,oBAAY,sBAAsB,GAAG,YAAY,CAAC,kBAAkB,CAAC,GACnE,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAC,GAAG;IAAE,IAAI,EAAE;QAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC,CAAA;KAAE,CAAA;CAAE,CAAC;AAElH,wBAAgB,SAAS,CAAC,KAAK,EAAE,YAAY,CAAC,kBAAkB,CAAC,GAAG,KAAK,IAAI,sBAAsB,CAElG"}
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/storage/layout.ts"],"names":[],"mappings":";;;AAAA,0DAAmE;AAuDnE,SAAgB,iBAAiB,CAAC,MAAqB;IACrD,MAAM,KAAK,GAAuC,EAAE,CAAC;IACrD,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAE5C,SAAS,gBAAgB,CAA6B,IAAO;QAC3D,MAAM,MAAM,GAAG,IAAA,2BAAW,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,WAAW,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACnD,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACxC,CAAC;IAED,SAAS,sBAAsB,CAAC,MAAoB;QAClD,IAAI,MAAM,CAAC,EAAE,IAAI,KAAK,EAAE;YACtB,OAAO,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SACzB;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAuB;YACnC,GAAG,MAAM;YACT,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,IAAI,EAAE;gBACJ,GAAG,IAAI;gBACP,OAAO,EAAE,SAAS;aACnB;SACF,CAAC;QAEF,wCAAwC;QACxC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;QAE5B,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACzD,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACzD,QAAQ,CAAC,IAAI,CAAC,OAAO;YACnB,IAAI,EAAE,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEzG,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AApCD,8CAoCC;AAED,SAAgB,aAAa,CAAI,OAA2B;IAC1D,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;AAChE,CAAC;AAFD,sCAEC;AAED,SAAgB,eAAe,CAAI,OAA2B;IAC5D,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;AAChE,CAAC;AAFD,0CAEC;AAKD,SAAgB,SAAS,CAAC,KAAuC;IAC/D,OAAO,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC;AAC/G,CAAC;AAFD,8BAEC"}
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/storage/layout.ts"],"names":[],"mappings":";;;AAAA,0DAAmE;AAwDnE,SAAgB,iBAAiB,CAAC,MAAqB;IACrD,MAAM,KAAK,GAAuC,EAAE,CAAC;IACrD,OAAO,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAE5C,SAAS,gBAAgB,CAA6B,IAAO;QAC3D,MAAM,MAAM,GAAG,IAAA,2BAAW,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,WAAW,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;QACnD,OAAO,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;IACxC,CAAC;IAED,SAAS,sBAAsB,CAAC,MAAoB;QAClD,IAAI,MAAM,CAAC,EAAE,IAAI,KAAK,EAAE;YACtB,OAAO,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;SACzB;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAuB;YACnC,GAAG,MAAM;YACT,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,IAAI,EAAE;gBACJ,GAAG,IAAI;gBACP,OAAO,EAAE,SAAS;aACnB;SACF,CAAC;QAEF,wCAAwC;QACxC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;QAE5B,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACzD,QAAQ,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACzD,QAAQ,CAAC,IAAI,CAAC,OAAO;YACnB,IAAI,EAAE,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAEzG,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC;AApCD,8CAoCC;AAED,SAAgB,aAAa,CAAI,OAA2B;IAC1D,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;AAChE,CAAC;AAFD,sCAEC;AAED,SAAgB,eAAe,CAAI,OAA2B;IAC5D,OAAO,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC;AAChE,CAAC;AAFD,0CAEC;AAKD,SAAgB,SAAS,CAAC,KAAuC;IAC/D,OAAO,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC;AAC/G,CAAC;AAFD,8BAEC"}
@@ -129,7 +129,7 @@ function explainTypeChange(ch, original, updated) {
129
129
  case 'struct members':
130
130
  case 'enum members':
131
131
  return `Bad upgrade ${describeTransition(ch.original, ch.updated)}`;
132
- case 'enum resize':
132
+ case 'type resize':
133
133
  return `Bad upgrade ${describeTransition(ch.original, ch.updated)}\nDifferent representation sizes`;
134
134
  case 'mapping key':
135
135
  return `In key of ${ch.updated.item.label}\n` + (0, itemize_1.itemize)(explainTypeChange(ch.inner, original, updated));
@@ -184,7 +184,7 @@ function getAllTypeChanges(root) {
184
184
  // We mention all other kinds explicitly to review any future new kinds
185
185
  case 'obvious mismatch':
186
186
  case 'enum members':
187
- case 'enum resize':
187
+ case 'type resize':
188
188
  case 'mapping key':
189
189
  case 'array shrink':
190
190
  case 'array grow':
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=storage-0.8.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage-0.8.test.d.ts","sourceRoot":"","sources":["../src/storage-0.8.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const ava_1 = __importDefault(require("ava"));
7
+ const utils_1 = require("solidity-ast/utils");
8
+ const hardhat_1 = require("hardhat");
9
+ const ast_dereferencer_1 = require("./ast-dereferencer");
10
+ const storage_1 = require("./storage");
11
+ const extract_1 = require("./storage/extract");
12
+ const stabilize_layout_1 = require("./utils/stabilize-layout");
13
+ const test = ava_1.default;
14
+ test.before(async (t) => {
15
+ const buildInfoCache = {};
16
+ t.context.extractStorageLayout = async (contract, withLayout = true) => {
17
+ const [file] = contract.split('_');
18
+ const source = `contracts/test/${file}.sol`;
19
+ const buildInfo = (buildInfoCache[source] ?? (buildInfoCache[source] = await hardhat_1.artifacts.getBuildInfo(`${source}:${contract}`)));
20
+ if (buildInfo === undefined) {
21
+ throw new Error(`Build info for ${source} not found`);
22
+ }
23
+ const solcOutput = buildInfo.output;
24
+ for (const def of (0, utils_1.findAll)('ContractDefinition', solcOutput.sources[source].ast)) {
25
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
26
+ const layout = solcOutput.contracts[source][def.name].storageLayout;
27
+ if (def.name === contract) {
28
+ return (0, extract_1.extractStorageLayout)(def, dummyDecodeSrc, (0, ast_dereferencer_1.astDereferencer)(solcOutput), withLayout ? layout : undefined);
29
+ }
30
+ }
31
+ throw new Error(`Contract ${contract} not found in ${source}`);
32
+ };
33
+ });
34
+ const dummyDecodeSrc = () => 'file.sol:1';
35
+ test('user defined value types - extraction - 0.8.8', async (t) => {
36
+ const layout = await t.context.extractStorageLayout('Storage088');
37
+ t.snapshot((0, stabilize_layout_1.stabilizeStorageLayout)(layout));
38
+ });
39
+ test('user defined value types - extraction - 0.8.9', async (t) => {
40
+ const layout = await t.context.extractStorageLayout('Storage089');
41
+ t.snapshot((0, stabilize_layout_1.stabilizeStorageLayout)(layout));
42
+ });
43
+ test('user defined value types - bad upgrade from 0.8.8 to 0.8.9', async (t) => {
44
+ const v1 = await t.context.extractStorageLayout('Storage088');
45
+ const v2 = await t.context.extractStorageLayout('Storage089');
46
+ const comparison = (0, storage_1.getStorageUpgradeErrors)(v1, v2);
47
+ t.like(comparison, {
48
+ length: 1,
49
+ 0: {
50
+ kind: 'typechange',
51
+ change: {
52
+ kind: 'type resize',
53
+ },
54
+ original: { label: 'my_user_value' },
55
+ updated: { label: 'my_user_value' },
56
+ },
57
+ });
58
+ });
59
+ test('user defined value types - valid upgrade', async (t) => {
60
+ const v1 = await t.context.extractStorageLayout('Storage089');
61
+ const v2 = await t.context.extractStorageLayout('Storage089_V2');
62
+ const comparison = (0, storage_1.getStorageUpgradeErrors)(v1, v2);
63
+ t.deepEqual(comparison, []);
64
+ });
65
+ test('user defined value types - no layout info', async (t) => {
66
+ const layout = await t.context.extractStorageLayout('Storage089', false);
67
+ t.snapshot((0, stabilize_layout_1.stabilizeStorageLayout)(layout));
68
+ });
69
+ test('user defined value types - no layout info - bad upgrade from 0.8.8 to 0.8.9', async (t) => {
70
+ const v1 = await t.context.extractStorageLayout('Storage088', false);
71
+ const v2 = await t.context.extractStorageLayout('Storage089', false);
72
+ const comparison = (0, storage_1.getStorageUpgradeErrors)(v1, v2);
73
+ t.like(comparison, {
74
+ length: 1,
75
+ 0: {
76
+ kind: 'typechange',
77
+ change: {
78
+ kind: 'unknown',
79
+ },
80
+ original: { label: 'my_user_value' },
81
+ updated: { label: 'my_user_value' },
82
+ },
83
+ });
84
+ });
85
+ test('user defined value types - no layout info - bad upgrade', async (t) => {
86
+ const v1 = await t.context.extractStorageLayout('Storage089', false);
87
+ const v2 = await t.context.extractStorageLayout('Storage089_V2', false);
88
+ const comparison = (0, storage_1.getStorageUpgradeErrors)(v1, v2);
89
+ t.like(comparison, {
90
+ length: 1,
91
+ 0: {
92
+ kind: 'typechange',
93
+ change: {
94
+ kind: 'unknown',
95
+ },
96
+ original: { label: 'my_user_value' },
97
+ updated: { label: 'my_user_value' },
98
+ },
99
+ });
100
+ });
101
+ test('renamed retyped - extraction', async (t) => {
102
+ const layout = await t.context.extractStorageLayout('StorageRenamedRetyped');
103
+ t.snapshot((0, stabilize_layout_1.stabilizeStorageLayout)(layout));
104
+ });
105
+ //# sourceMappingURL=storage-0.8.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"storage-0.8.test.js","sourceRoot":"","sources":["../src/storage-0.8.test.ts"],"names":[],"mappings":"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"}
@@ -8,9 +8,9 @@ const utils_1 = require("solidity-ast/utils");
8
8
  const hardhat_1 = require("hardhat");
9
9
  const ast_dereferencer_1 = require("./ast-dereferencer");
10
10
  const storage_1 = require("./storage");
11
- const layout_1 = require("./storage/layout");
12
11
  const extract_1 = require("./storage/extract");
13
12
  const type_id_1 = require("./utils/type-id");
13
+ const stabilize_layout_1 = require("./utils/stabilize-layout");
14
14
  const test = ava_1.default;
15
15
  test.before(async (t) => {
16
16
  const buildInfo = await hardhat_1.artifacts.getBuildInfo('contracts/test/Storage.sol:Storage1');
@@ -31,11 +31,11 @@ test.before(async (t) => {
31
31
  const dummyDecodeSrc = () => 'file.sol:1';
32
32
  test('Storage1', t => {
33
33
  const layout = t.context.extractStorageLayout('Storage1');
34
- t.snapshot(stabilizeStorageLayout(layout));
34
+ t.snapshot((0, stabilize_layout_1.stabilizeStorageLayout)(layout));
35
35
  });
36
36
  test('Storage2', t => {
37
37
  const layout = t.context.extractStorageLayout('Storage2');
38
- t.snapshot(stabilizeStorageLayout(layout));
38
+ t.snapshot((0, stabilize_layout_1.stabilizeStorageLayout)(layout));
39
39
  });
40
40
  test('storage upgrade equal', t => {
41
41
  const v1 = t.context.extractStorageLayout('StorageUpgrade_Equal_V1');
@@ -303,7 +303,7 @@ test('storage upgrade with enums', t => {
303
303
  },
304
304
  3: {
305
305
  kind: 'typechange',
306
- change: { kind: 'enum resize' },
306
+ change: { kind: 'type resize' },
307
307
  original: { label: 'data4' },
308
308
  updated: { label: 'data4' },
309
309
  },
@@ -848,16 +848,4 @@ test('storage upgrade with struct gap', t => {
848
848
  },
849
849
  });
850
850
  });
851
- function stabilizeStorageLayout(layout) {
852
- return {
853
- storage: layout.storage.map(s => ({ ...s, type: (0, type_id_1.stabilizeTypeIdentifier)(s.type) })),
854
- types: Object.entries(layout.types).map(([type, item]) => {
855
- const members = item.members &&
856
- ((0, layout_1.isEnumMembers)(item.members)
857
- ? item.members
858
- : item.members.map(m => ({ ...m, type: (0, type_id_1.stabilizeTypeIdentifier)(m.type) })));
859
- return [(0, type_id_1.stabilizeTypeIdentifier)(type), { ...item, members }];
860
- }),
861
- };
862
- }
863
851
  //# sourceMappingURL=storage.test.js.map
@@ -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":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../src/utils/function.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAuB,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAiDtD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,eAAe,GAAG,MAAM,CAE9F"}
1
+ {"version":3,"file":"function.d.ts","sourceRoot":"","sources":["../../src/utils/function.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAiC,MAAM,cAAc,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAwDtD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,eAAe,GAAG,MAAM,CAI9F"}
@@ -2,13 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getFunctionSignature = void 0;
4
4
  const assert_1 = require("./assert");
5
- function serializeTypeName(parameter, deref) {
5
+ function serializeParameterType(parameter, deref) {
6
6
  const { typeName, storageLocation } = parameter;
7
7
  (0, assert_1.assert)(!!typeName);
8
8
  if (storageLocation === 'storage') {
9
9
  (0, assert_1.assert)(typeof typeName.typeDescriptions.typeString === 'string');
10
10
  return typeName.typeDescriptions.typeString.replace(/^struct /, '') + ' storage';
11
11
  }
12
+ return serializeTypeName(typeName, deref);
13
+ }
14
+ function serializeTypeName(typeName, deref) {
12
15
  switch (typeName.nodeType) {
13
16
  case 'ArrayTypeName':
14
17
  case 'ElementaryTypeName': {
@@ -16,15 +19,17 @@ function serializeTypeName(parameter, deref) {
16
19
  return typeName.typeDescriptions.typeString;
17
20
  }
18
21
  case 'UserDefinedTypeName': {
19
- const userDefinedType = deref(['StructDefinition', 'EnumDefinition', 'ContractDefinition'], typeName.referencedDeclaration);
22
+ const userDefinedType = deref(['StructDefinition', 'EnumDefinition', 'ContractDefinition', 'UserDefinedValueTypeDefinition'], typeName.referencedDeclaration);
20
23
  switch (userDefinedType.nodeType) {
21
24
  case 'StructDefinition':
22
- return '(' + userDefinedType.members.map(member => serializeTypeName(member, deref)) + ')';
25
+ return '(' + userDefinedType.members.map(member => serializeParameterType(member, deref)) + ')';
23
26
  case 'EnumDefinition':
24
27
  (0, assert_1.assert)(userDefinedType.members.length < 256);
25
28
  return 'uint8';
26
29
  case 'ContractDefinition':
27
30
  return 'address';
31
+ case 'UserDefinedValueTypeDefinition':
32
+ return serializeTypeName(userDefinedType.underlyingType, deref);
28
33
  default:
29
34
  return (0, assert_1.assertUnreachable)(userDefinedType);
30
35
  }
@@ -37,7 +42,9 @@ function serializeTypeName(parameter, deref) {
37
42
  }
38
43
  }
39
44
  function getFunctionSignature(fnDef, deref) {
40
- return `${fnDef.name}(${fnDef.parameters.parameters.map(parameter => serializeTypeName(parameter, deref)).join()})`;
45
+ return `${fnDef.name}(${fnDef.parameters.parameters
46
+ .map(parameter => serializeParameterType(parameter, deref))
47
+ .join()})`;
41
48
  }
42
49
  exports.getFunctionSignature = getFunctionSignature;
43
50
  //# sourceMappingURL=function.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"function.js","sourceRoot":"","sources":["../../src/utils/function.ts"],"names":[],"mappings":";;;AAEA,qCAAqD;AAErD,SAAS,iBAAiB,CAAC,SAA8B,EAAE,KAAsB;IAC/E,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,SAAS,CAAC;IAChD,IAAA,eAAM,EAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAEnB,IAAI,eAAe,KAAK,SAAS,EAAE;QACjC,IAAA,eAAM,EAAC,OAAO,QAAQ,CAAC,gBAAgB,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC;QACjE,OAAO,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC;KAClF;IAED,QAAQ,QAAQ,CAAC,QAAQ,EAAE;QACzB,KAAK,eAAe,CAAC;QACrB,KAAK,oBAAoB,CAAC,CAAC;YACzB,IAAA,eAAM,EAAC,OAAO,QAAQ,CAAC,gBAAgB,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC;YACjE,OAAO,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC;SAC7C;QAED,KAAK,qBAAqB,CAAC,CAAC;YAC1B,MAAM,eAAe,GAAG,KAAK,CAC3B,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,oBAAoB,CAAC,EAC5D,QAAQ,CAAC,qBAAqB,CAC/B,CAAC;YACF,QAAQ,eAAe,CAAC,QAAQ,EAAE;gBAChC,KAAK,kBAAkB;oBACrB,OAAO,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC;gBAE7F,KAAK,gBAAgB;oBACnB,IAAA,eAAM,EAAC,eAAe,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;oBAC7C,OAAO,OAAO,CAAC;gBAEjB,KAAK,oBAAoB;oBACvB,OAAO,SAAS,CAAC;gBAEnB;oBACE,OAAO,IAAA,0BAAiB,EAAC,eAAe,CAAC,CAAC;aAC7C;SACF;QAED,KAAK,kBAAkB,CAAC,CAAC;YACvB,OAAO,UAAU,CAAC;SACnB;QAED;YACE,MAAM,IAAI,KAAK,CAAC,kCAAkC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;KAC1E;AACH,CAAC;AAED,SAAgB,oBAAoB,CAAC,KAAyB,EAAE,KAAsB;IACpF,OAAO,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC;AACtH,CAAC;AAFD,oDAEC"}
1
+ {"version":3,"file":"function.js","sourceRoot":"","sources":["../../src/utils/function.ts"],"names":[],"mappings":";;;AAEA,qCAAqD;AAErD,SAAS,sBAAsB,CAAC,SAA8B,EAAE,KAAsB;IACpF,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,GAAG,SAAS,CAAC;IAChD,IAAA,eAAM,EAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAEnB,IAAI,eAAe,KAAK,SAAS,EAAE;QACjC,IAAA,eAAM,EAAC,OAAO,QAAQ,CAAC,gBAAgB,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC;QACjE,OAAO,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,GAAG,UAAU,CAAC;KAClF;IAED,OAAO,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAkB,EAAE,KAAsB;IACnE,QAAQ,QAAQ,CAAC,QAAQ,EAAE;QACzB,KAAK,eAAe,CAAC;QACrB,KAAK,oBAAoB,CAAC,CAAC;YACzB,IAAA,eAAM,EAAC,OAAO,QAAQ,CAAC,gBAAgB,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC;YACjE,OAAO,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC;SAC7C;QAED,KAAK,qBAAqB,CAAC,CAAC;YAC1B,MAAM,eAAe,GAAG,KAAK,CAC3B,CAAC,kBAAkB,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,gCAAgC,CAAC,EAC9F,QAAQ,CAAC,qBAAqB,CAC/B,CAAC;YACF,QAAQ,eAAe,CAAC,QAAQ,EAAE;gBAChC,KAAK,kBAAkB;oBACrB,OAAO,GAAG,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,sBAAsB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC;gBAElG,KAAK,gBAAgB;oBACnB,IAAA,eAAM,EAAC,eAAe,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;oBAC7C,OAAO,OAAO,CAAC;gBAEjB,KAAK,oBAAoB;oBACvB,OAAO,SAAS,CAAC;gBAEnB,KAAK,gCAAgC;oBACnC,OAAO,iBAAiB,CAAC,eAAe,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;gBAElE;oBACE,OAAO,IAAA,0BAAiB,EAAC,eAAe,CAAC,CAAC;aAC7C;SACF;QAED,KAAK,kBAAkB,CAAC,CAAC;YACvB,OAAO,UAAU,CAAC;SACnB;QAED;YACE,MAAM,IAAI,KAAK,CAAC,kCAAkC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;KAC1E;AACH,CAAC;AAED,SAAgB,oBAAoB,CAAC,KAAyB,EAAE,KAAsB;IACpF,OAAO,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,UAAU;SAChD,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,sBAAsB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;SAC1D,IAAI,EAAE,GAAG,CAAC;AACf,CAAC;AAJD,oDAIC"}
@@ -0,0 +1,27 @@
1
+ import { StorageLayout } from '../storage';
2
+ export declare function stabilizeStorageLayout(layout: StorageLayout): {
3
+ storage: {
4
+ type: string;
5
+ astId?: number | undefined;
6
+ contract: string;
7
+ label: string;
8
+ src: string;
9
+ offset?: number | undefined;
10
+ slot?: string | undefined;
11
+ retypedFrom?: string | undefined;
12
+ renamedFrom?: string | undefined;
13
+ }[];
14
+ types: (string | {
15
+ members: string[] | {
16
+ type: string;
17
+ label: string;
18
+ retypedFrom?: string | undefined;
19
+ renamedFrom?: string | undefined;
20
+ offset?: number | undefined;
21
+ slot?: string | undefined;
22
+ }[] | undefined;
23
+ label: string;
24
+ numberOfBytes?: string | undefined;
25
+ })[][];
26
+ };
27
+ //# sourceMappingURL=stabilize-layout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stabilize-layout.d.ts","sourceRoot":"","sources":["../../src/utils/stabilize-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAI3C,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,aAAa;;;;;;;;;;;;;;;;;;;;;;;;EAY3D"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stabilizeStorageLayout = void 0;
4
+ const layout_1 = require("../storage/layout");
5
+ const type_id_1 = require("./type-id");
6
+ function stabilizeStorageLayout(layout) {
7
+ return {
8
+ storage: layout.storage.map(s => ({ ...s, type: (0, type_id_1.stabilizeTypeIdentifier)(s.type) })),
9
+ types: Object.entries(layout.types).map(([type, item]) => {
10
+ const members = item.members &&
11
+ ((0, layout_1.isEnumMembers)(item.members)
12
+ ? item.members
13
+ : item.members.map(m => ({ ...m, type: (0, type_id_1.stabilizeTypeIdentifier)(m.type) })));
14
+ return [(0, type_id_1.stabilizeTypeIdentifier)(type), { ...item, members }];
15
+ }),
16
+ };
17
+ }
18
+ exports.stabilizeStorageLayout = stabilizeStorageLayout;
19
+ //# sourceMappingURL=stabilize-layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stabilize-layout.js","sourceRoot":"","sources":["../../src/utils/stabilize-layout.ts"],"names":[],"mappings":";;;AACA,8CAAkD;AAClD,uCAAoD;AAEpD,SAAgB,sBAAsB,CAAC,MAAqB;IAC1D,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;AAZD,wDAYC"}
@@ -40,7 +40,7 @@ exports.normalizeTypeIdentifier = normalizeTypeIdentifier;
40
40
  // identifier by removing all AST ids.
41
41
  function stabilizeTypeIdentifier(typeIdentifier) {
42
42
  let decoded = decodeTypeIdentifier(typeIdentifier);
43
- const re = /(t_struct|t_enum|t_contract)\(/g;
43
+ const re = /(t_struct|t_enum|t_contract|t_userDefinedValueType)\(/g;
44
44
  let match;
45
45
  while ((match = re.exec(decoded))) {
46
46
  let i;
@@ -1 +1 @@
1
- {"version":3,"file":"type-id.js","sourceRoot":"","sources":["../../src/utils/type-id.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAE5B,6EAA6E;AAC7E,yEAAyE;AACzE,eAAe;AACf,eAAe;AACf,gBAAgB;AAChB,4EAA4E;AAC5E,4EAA4E;AAC5E,0BAA0B;AAC1B,SAAgB,oBAAoB,CAAC,cAAsB;IACzD,OAAO,cAAc,CAAC,OAAO,CAAC,6CAA6C,EAAE,CAAC,CAAC,EAAE;QAC/E,QAAQ,CAAC,EAAE;YACT,KAAK,IAAI;gBACP,OAAO,GAAG,CAAC;YACb,KAAK,IAAI;gBACP,OAAO,GAAG,CAAC;YACb,KAAK,KAAK;gBACR,OAAO,GAAG,CAAC;YACb;gBACE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;SAClC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAbD,oDAaC;AAED,yEAAyE;AACzE,6EAA6E;AAC7E,4CAA4C;AAC5C,SAAgB,uBAAuB,CAAC,cAAsB;IAC5D,OAAO,oBAAoB,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;AACrF,CAAC;AAFD,0DAEC;AAED,yEAAyE;AACzE,wEAAwE;AACxE,sCAAsC;AACtC,SAAgB,uBAAuB,CAAC,cAAsB;IAC5D,IAAI,OAAO,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;IACnD,MAAM,EAAE,GAAG,iCAAiC,CAAC;IAC7C,IAAI,KAAK,CAAC;IACV,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE;QACjC,IAAI,CAAC,CAAC;QACN,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE;YACpD,IAAA,gBAAM,EAAC,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;YAClD,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,KAAK,GAAG,EAAE;gBACb,CAAC,IAAI,CAAC,CAAC;aACR;iBAAM,IAAI,CAAC,KAAK,GAAG,EAAE;gBACpB,CAAC,IAAI,CAAC,CAAC;aACR;SACF;QACD,MAAM,GAAG,GAAG,QAAQ,CAAC;QACrB,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;QAClB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;KACpC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AArBD,0DAqBC"}
1
+ {"version":3,"file":"type-id.js","sourceRoot":"","sources":["../../src/utils/type-id.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAE5B,6EAA6E;AAC7E,yEAAyE;AACzE,eAAe;AACf,eAAe;AACf,gBAAgB;AAChB,4EAA4E;AAC5E,4EAA4E;AAC5E,0BAA0B;AAC1B,SAAgB,oBAAoB,CAAC,cAAsB;IACzD,OAAO,cAAc,CAAC,OAAO,CAAC,6CAA6C,EAAE,CAAC,CAAC,EAAE;QAC/E,QAAQ,CAAC,EAAE;YACT,KAAK,IAAI;gBACP,OAAO,GAAG,CAAC;YACb,KAAK,IAAI;gBACP,OAAO,GAAG,CAAC;YACb,KAAK,KAAK;gBACR,OAAO,GAAG,CAAC;YACb;gBACE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;SAClC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAbD,oDAaC;AAED,yEAAyE;AACzE,6EAA6E;AAC7E,4CAA4C;AAC5C,SAAgB,uBAAuB,CAAC,cAAsB;IAC5D,OAAO,oBAAoB,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;AACrF,CAAC;AAFD,0DAEC;AAED,yEAAyE;AACzE,wEAAwE;AACxE,sCAAsC;AACtC,SAAgB,uBAAuB,CAAC,cAAsB;IAC5D,IAAI,OAAO,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;IACnD,MAAM,EAAE,GAAG,wDAAwD,CAAC;IACpE,IAAI,KAAK,CAAC;IACV,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE;QACjC,IAAI,CAAC,CAAC;QACN,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE;YACpD,IAAA,gBAAM,EAAC,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;YAClD,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,KAAK,GAAG,EAAE;gBACb,CAAC,IAAI,CAAC,CAAC;aACR;iBAAM,IAAI,CAAC,KAAK,GAAG,EAAE;gBACpB,CAAC,IAAI,CAAC,CAAC;aACR;SACF;QACD,MAAM,GAAG,GAAG,QAAQ,CAAC;QACrB,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;QAClB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;KACpC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AArBD,0DAqBC"}