@openzeppelin/upgrades-core 1.32.0-alpha.0 → 1.32.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.
@@ -197,4 +197,18 @@ async function getTempDir(t) {
197
197
  const output = (await execAsync(`${CLI} validate ${temp} --contract Annotation`)).stdout;
198
198
  t.snapshot(output);
199
199
  });
200
+ (0, ava_1.default)('validate - fully qualified version of ambiguous contract name', async (t) => {
201
+ const temp = await getTempDir(t);
202
+ const buildInfo = await hardhat_1.artifacts.getBuildInfo(`contracts/test/ValidationsSameNameSafe.sol:SameName`);
203
+ await fs_1.promises.writeFile(path_1.default.join(temp, 'validate.json'), JSON.stringify(buildInfo));
204
+ const output = (await execAsync(`${CLI} validate ${temp} --contract contracts/test/ValidationsSameNameSafe.sol:SameName`)).stdout;
205
+ t.snapshot(output);
206
+ });
207
+ (0, ava_1.default)('validate - references fully qualified version of ambiguous contract name', async (t) => {
208
+ const temp = await getTempDir(t);
209
+ const buildInfo = await hardhat_1.artifacts.getBuildInfo(`contracts/test/ValidationsSameNameSafe.sol:SameName`);
210
+ await fs_1.promises.writeFile(path_1.default.join(temp, 'validate.json'), JSON.stringify(buildInfo));
211
+ const output = (await execAsync(`${CLI} validate ${temp} --contract contracts/test/ValidationsSameNameSafe.sol:SameName --reference contracts/test/ValidationsSameNameUnsafe.sol:SameName`)).stdout;
212
+ t.snapshot(output);
213
+ });
200
214
  //# sourceMappingURL=cli.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli.test.js","sourceRoot":"","sources":["../../src/cli/cli.test.ts"],"names":[],"mappings":";;;;;AAAA,8CAA6C;AAC7C,+BAAiC;AACjC,iDAAqC;AACrC,2BAAoC;AACpC,gDAAwB;AACxB,4CAAoB;AACpB,mCAAgC;AAChC,qCAAoC;AAEpC,MAAM,SAAS,GAAG,IAAA,gBAAS,EAAC,oBAAI,CAAC,CAAC;AAElC,MAAM,GAAG,GAAG,sBAAsB,CAAC;AAEnC,KAAK,UAAU,UAAU,CAAC,CAAmB;IAC3C,MAAM,IAAI,GAAG,MAAM,aAAE,CAAC,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,MAAM,EAAE,EAAE,qBAAqB,CAAC,CAAC,CAAC;IAC7E,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,IAAA,eAAM,EAAC,IAAI,CAAC,CAAC,CAAC;IAC/B,OAAO,IAAI,CAAC;AACd,CAAC;AAED,IAAA,aAAI,EAAC,MAAM,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACrB,MAAM,MAAM,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,GAAG,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC;IAClE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,SAAS,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACxB,MAAM,MAAM,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7C,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,mBAAmB,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAClC,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,mBAAS,CAAC,YAAY,CAAC,sCAAsC,CAAC,CAAC;IACvF,MAAM,aAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,GAAG,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC;IACxE,MAAM,WAAW,GAAa,CAAC,WAAY,KAAa,CAAC,MAAM,EAAE,EAAE,WAAY,KAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IACvG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,4BAA4B,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC3C,mHAAmH;IACnH,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,mBAAS,CAAC,YAAY,CAAC,gDAAgD,CAAC,CAAC;IACjG,MAAM,aAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,GAAG,aAAa,IAAI,4BAA4B,CAAC,CAAC,CAAC;IAClG,MAAM,WAAW,GAAa,CAAC,WAAY,KAAa,CAAC,MAAM,EAAE,EAAE,WAAY,KAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IACvG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,+CAA+C,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC9D,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,mBAAS,CAAC,YAAY,CAAC,8DAA8D,CAAC,CAAC;IAC/G,MAAM,aAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,GAAG,aAAa,IAAI,0CAA0C,CAAC,CAAC,CAAC;IAChH,MAAM,WAAW,GAAa,CAAC,WAAY,KAAa,CAAC,MAAM,EAAE,EAAE,WAAY,KAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IACvG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,+DAA+D,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC9E,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,mBAAS,CAAC,YAAY,CAAC,8DAA8D,CAAC,CAAC;IAC/G,MAAM,aAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,WAAW,CAC/B,SAAS,CAAC,GAAG,GAAG,aAAa,IAAI,2DAA2D,CAAC,CAC9F,CAAC;IACF,MAAM,WAAW,GAAa,CAAC,WAAY,KAAa,CAAC,MAAM,EAAE,EAAE,WAAY,KAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IACvG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,wEAAwE,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACvF,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,mBAAS,CAAC,YAAY,CAAC,8DAA8D,CAAC,CAAC;IAC/G,MAAM,aAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,WAAW,CAC/B,SAAS,CAAC,GAAG,GAAG,aAAa,IAAI,uDAAuD,CAAC,CAC1F,CAAC;IACF,MAAM,WAAW,GAAa,CAAC,WAAY,KAAa,CAAC,MAAM,EAAE,EAAE,WAAY,KAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IACvG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,uCAAuC,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACtD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,mBAAS,CAAC,YAAY,CAAC,kDAAkD,CAAC,CAAC;IACnG,MAAM,aAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,WAAW,CAC/B,SAAS,CAAC,GAAG,GAAG,aAAa,IAAI,oDAAoD,CAAC,CACvF,CAAC;IACF,MAAM,WAAW,GAAa,CAAC,WAAY,KAAa,CAAC,MAAM,EAAE,EAAE,WAAY,KAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IACvG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,8DAA8D,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC7E,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,mBAAS,CAAC,YAAY,CAAC,kDAAkD,CAAC,CAAC;IACnG,MAAM,aAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,WAAW,CAC/B,SAAS,CACP,GAAG,GAAG,aAAa,IAAI,oHAAoH,CAC5I,CACF,CAAC;IACF,MAAM,WAAW,GAAa,CAAC,WAAY,KAAa,CAAC,MAAM,EAAE,EAAE,WAAY,KAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IACvG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,8CAA8C,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC7D,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,mBAAS,CAAC,YAAY,CAAC,2CAA2C,CAAC,CAAC;IAC5F,MAAM,aAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,GAAG,aAAa,IAAI,wBAAwB,CAAC,CAAC,CAAC;IAC9F,CAAC,CAAC,IAAI,CACJ,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,2EAA2E,CAAC,EACpG,KAAK,EAAE,OAAO,CACf,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,kCAAkC,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACjD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,mBAAS,CAAC,YAAY,CAAC,2CAA2C,CAAC,CAAC;IAC5F,MAAM,aAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,GAAG,aAAa,IAAI,mCAAmC,CAAC,CAAC,CAAC;IACzG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,4CAA4C,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAChG,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,kCAAkC,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACjD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,mBAAS,CAAC,YAAY,CAAC,2CAA2C,CAAC,CAAC;IAC5F,MAAM,aAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,GAAG,aAAa,IAAI,0CAA0C,CAAC,CAAC,CAAC;IAChH,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,4CAA4C,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAChG,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,mCAAmC,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAClD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,mBAAS,CAAC,YAAY,CAAC,2CAA2C,CAAC,CAAC;IAC5F,MAAM,aAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,GAAG,aAAa,IAAI,mCAAmC,CAAC,CAAC,CAAC;IACzG,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,6CAA6C,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACjG,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,sCAAsC,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACrD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,mBAAS,CAAC,YAAY,CAAC,kDAAkD,CAAC,CAAC;IACnG,MAAM,aAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,GAAG,aAAa,IAAI,yBAAyB,CAAC,CAAC,CAAC;IAC/F,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,sCAAsC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAC1F,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,gCAAgC,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC/C,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,mBAAS,CAAC,YAAY,CAAC,kDAAkD,CAAC,CAAC;IACnG,MAAM,aAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,WAAW,CAC/B,SAAS,CAAC,GAAG,GAAG,aAAa,IAAI,sDAAsD,CAAC,CACzF,CAAC;IACF,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,sCAAsC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAC1F,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,kDAAkD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACjE,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,mBAAS,CAAC,YAAY,CAAC,2CAA2C,CAAC,CAAC;IAC5F,MAAM,aAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,GAAG,aAAa,IAAI,qBAAqB,CAAC,CAAC,CAAC;IAC3F,CAAC,CAAC,IAAI,CACJ,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,kFAAkF,CAAC,EAC3G,KAAK,EAAE,OAAO,CACf,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,6DAA6D,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC5E,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,mBAAS,CAAC,YAAY,CAAC,2CAA2C,CAAC,CAAC;IAC5F,MAAM,aAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,GAAG,aAAa,IAAI,0CAA0C,CAAC,CAAC,CAAC;IAChH,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,iDAAiD,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AACrG,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,wDAAwD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACvE,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,mBAAS,CAAC,YAAY,CAAC,2CAA2C,CAAC,CAAC;IAC5F,MAAM,aAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,WAAW,CAC/B,SAAS,CAAC,GAAG,GAAG,aAAa,IAAI,mEAAmE,CAAC,CACtG,CAAC;IACF,CAAC,CAAC,IAAI,CACJ,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,0FAA0F,CAAC,EACnH,KAAK,EAAE,OAAO,CACf,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,qEAAqE,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACpF,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,mBAAS,CAAC,YAAY,CAAC,6CAA6C,CAAC,CAAC;IAC9F,MAAM,aAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhF,MAAM,MAAM,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,GAAG,aAAa,IAAI,4CAA4C,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7G,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,uEAAuE,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACtF,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,mBAAS,CAAC,YAAY,CAAC,kDAAkD,CAAC,CAAC;IACnG,MAAM,aAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,WAAW,CAC/B,SAAS,CAAC,GAAG,GAAG,aAAa,IAAI,iDAAiD,CAAC,CACpF,CAAC;IACF,MAAM,WAAW,GAAa,CAAC,WAAY,KAAa,CAAC,MAAM,EAAE,EAAE,WAAY,KAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IACvG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,sDAAsD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACrE,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,mBAAS,CAAC,YAAY,CAAC,4DAA4D,CAAC,CAAC;IAC7G,MAAM,aAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhF,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,WAAW,CAC/B,SAAS,CAAC,GAAG,GAAG,aAAa,IAAI,iFAAiF,CAAC,CACpH,CAAC;IACF,MAAM,WAAW,GAAa,CAAC,WAAY,KAAa,CAAC,MAAM,EAAE,EAAE,WAAY,KAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IACvG,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACrC,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,oDAAoD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACnE,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,mBAAS,CAAC,YAAY,CAAC,2DAA2D,CAAC,CAAC;IAC5G,MAAM,aAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhF,MAAM,MAAM,GAAG,CACb,MAAM,SAAS,CACb,GAAG,GAAG,aAAa,IAAI,gFAAgF,CACxG,CACF,CAAC,MAAM,CAAC;IACT,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,2BAA2B,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC1C,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,mBAAS,CAAC,YAAY,CAAC,8CAA8C,CAAC,CAAC;IAC/F,MAAM,aAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhF,MAAM,MAAM,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,GAAG,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IACnE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,eAAe,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC9B,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,mBAAS,CAAC,YAAY,CAAC,8CAA8C,CAAC,CAAC;IAC/F,MAAM,aAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhF,MAAM,MAAM,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,GAAG,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IACnE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAA,aAAI,EAAC,iCAAiC,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAChD,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,SAAS,GAAG,MAAM,mBAAS,CAAC,YAAY,CAAC,8CAA8C,CAAC,CAAC;IAC/F,MAAM,aAAE,CAAC,SAAS,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhF,MAAM,MAAM,GAAG,CAAC,MAAM,SAAS,CAAC,GAAG,GAAG,aAAa,IAAI,wBAAwB,CAAC,CAAC,CAAC,MAAM,CAAC;IACzF,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.test.js","sourceRoot":"","sources":["../../src/cli/cli.test.ts"],"names":[],"mappings":"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"}
@@ -79,7 +79,7 @@ exports.getContractReports = getContractReports;
79
79
  function getUpgradeableContractReport(contract, referenceContract, opts) {
80
80
  let version;
81
81
  try {
82
- version = (0, __1.getContractVersion)(contract.validationData, contract.name);
82
+ version = (0, __1.getContractVersion)(contract.validationData, contract.fullyQualifiedName);
83
83
  }
84
84
  catch (e) {
85
85
  if (e.message.endsWith('is abstract')) {
@@ -97,7 +97,7 @@ function getUpgradeableContractReport(contract, referenceContract, opts) {
97
97
  let storageLayoutReport;
98
98
  if (opts.unsafeSkipStorageCheck !== true && referenceContract !== undefined) {
99
99
  const layout = (0, __1.getStorageLayout)(contract.validationData, version);
100
- const referenceVersion = (0, __1.getContractVersion)(referenceContract.validationData, referenceContract.name);
100
+ const referenceVersion = (0, __1.getContractVersion)(referenceContract.validationData, referenceContract.fullyQualifiedName);
101
101
  const referenceLayout = (0, __1.getStorageLayout)(referenceContract.validationData, referenceVersion);
102
102
  reference = referenceContract.fullyQualifiedName;
103
103
  storageLayoutReport = (0, __1.getStorageUpgradeReport)(referenceLayout, layout, (0, __1.withValidationDefaults)(opts));
@@ -1 +1 @@
1
- {"version":3,"file":"contract-report.js","sourceRoot":"","sources":["../../../src/cli/validate/contract-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract-report.js","sourceRoot":"","sources":["../../../src/cli/validate/contract-report.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"impl-store.d.ts","sourceRoot":"","sources":["../src/impl-store.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,cAAc,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAwB,MAAM,YAAY,CAAC;AACpE,OAAO,EACL,UAAU,EAEV,gBAAgB,EAIjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC;AAQ/B,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IACrB,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;CACpC;AAqFD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,QAErE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,EACrC,IAAI,CAAC,EAAE,UAAU,EACjB,KAAK,CAAC,EAAE,OAAO,GACd,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,0BAA0B,CAAC,CAAC,SAAS,cAAc,EACvE,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACxB,IAAI,CAAC,EAAE,UAAU,EACjB,KAAK,CAAC,EAAE,OAAO,EACf,mBAAmB,CAAC,EAAE,CAAC,kBAAkB,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,GAC1F,OAAO,CAAC,CAAC,GAAG,UAAU,CAAC,CASzB;AAiBD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc;;;EAU7E;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,EACjC,IAAI,CAAC,EAAE,UAAU,GAChB,OAAO,CAAC,MAAM,CAAC,CAEjB"}
1
+ {"version":3,"file":"impl-store.d.ts","sourceRoot":"","sources":["../src/impl-store.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,cAAc,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAwB,MAAM,YAAY,CAAC;AACpE,OAAO,EACL,UAAU,EAEV,gBAAgB,EAIjB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC;AAQ/B,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IACrB,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;CACpC;AAmFD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,QAErE;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,EACrC,IAAI,CAAC,EAAE,UAAU,EACjB,KAAK,CAAC,EAAE,OAAO,GACd,OAAO,CAAC,MAAM,CAAC,CAEjB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,0BAA0B,CAAC,CAAC,SAAS,cAAc,EACvE,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACxB,IAAI,CAAC,EAAE,UAAU,EACjB,KAAK,CAAC,EAAE,OAAO,EACf,mBAAmB,CAAC,EAAE,CAAC,kBAAkB,EAAE,MAAM,KAAK,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC,GAC1F,OAAO,CAAC,CAAC,GAAG,UAAU,CAAC,CASzB;AAsBD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc;;;EAU7E;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,EACjC,IAAI,CAAC,EAAE,UAAU,GAChB,OAAO,CAAC,MAAM,CAAC,CAEjB"}
@@ -36,13 +36,11 @@ async function fetchOrDeployGeneric(lens, provider, deploy, opts, merge, getRemo
36
36
  const updated = await (0, deployment_1.resumeOrDeploy)(provider, stored, deploy, lens.type, opts, deployment, merge, getRemoteDeployment);
37
37
  if (updated !== stored) {
38
38
  if (merge && deployment.merge) {
39
- // only check primary addresses for clashes, since the address could already exist in an allAddresses field
40
- // but the above updated and stored objects are different instances representing the same entry
41
- await checkForAddressClash(provider, data, updated, false);
39
+ await checkForAddressClash(provider, data, updated, true);
42
40
  deployment.merge(updated);
43
41
  }
44
42
  else {
45
- await checkForAddressClash(provider, data, updated, true);
43
+ await checkForAddressClash(provider, data, updated, false);
46
44
  deployment.set(updated);
47
45
  }
48
46
  await manifest.write(data);
@@ -118,7 +116,12 @@ const implLens = (versionWithoutMetadata) => lens(`implementation ${versionWitho
118
116
  const existing = data.impls[versionWithoutMetadata];
119
117
  if (existing !== undefined && value !== undefined) {
120
118
  const { address, allAddresses } = mergeAddresses(existing, value);
121
- data.impls[versionWithoutMetadata] = { ...existing, address, allAddresses };
119
+ data.impls[versionWithoutMetadata] = {
120
+ ...existing,
121
+ address,
122
+ allAddresses,
123
+ remoteDeploymentId: value.remoteDeploymentId,
124
+ };
122
125
  }
123
126
  else {
124
127
  data.impls[versionWithoutMetadata] = value;
@@ -151,24 +154,31 @@ const adminLens = lens('proxy admin', 'proxy admin', data => ({
151
154
  function lens(description, type, fn) {
152
155
  return Object.assign(fn, { description, type });
153
156
  }
154
- async function checkForAddressClash(provider, data, updated, checkAllAddresses) {
155
- const clash = lookupDeployment(data, updated.address, checkAllAddresses);
156
- if (clash !== undefined) {
157
- if (await (0, provider_1.isDevelopmentNetwork)(provider)) {
157
+ async function checkForAddressClash(provider, data, updated, merge) {
158
+ let clash;
159
+ const findClash = () => lookupDeployment(data, updated.address, !merge);
160
+ if (await (0, provider_1.isDevelopmentNetwork)(provider)) {
161
+ // Look for clashes so that we can delete deployments from older runs.
162
+ // `merge` only checks primary addresses for clashes, since the address could already exist in an allAddresses field
163
+ // but the updated and stored objects are different instances representing the same entry.
164
+ clash = findClash();
165
+ if (clash !== undefined) {
158
166
  (0, debug_1.default)('deleting a previous deployment at address', updated.address);
159
167
  clash.set(undefined);
160
168
  }
161
- else {
169
+ }
170
+ else if (!merge) {
171
+ clash = findClash();
172
+ if (clash !== undefined) {
162
173
  const existing = clash.get();
163
174
  // it's a clash if there is no deployment id or if deployment ids don't match
164
175
  if (existing !== undefined &&
165
176
  (existing.remoteDeploymentId === undefined || existing.remoteDeploymentId !== updated.remoteDeploymentId)) {
166
- throw new Error(`The following deployment clashes with an existing one at ${updated.address}\n\n` +
167
- JSON.stringify(updated, null, 2) +
168
- `\n\n`);
177
+ throw new Error(`The deployment clashes with an existing one at ${updated.address}.\n\n` +
178
+ `Deployments: ${JSON.stringify({ existing, updated }, null, 2)}\n\n`);
169
179
  }
170
180
  }
171
- }
181
+ } // else, merge indicates that the user is force-importing or redeploying an implementation, so we simply allow merging the entries
172
182
  }
173
183
  function lookupDeployment(data, address, checkAllAddresses) {
174
184
  if (data.admin?.address === address) {
@@ -1 +1 @@
1
- {"version":3,"file":"impl-store.js","sourceRoot":"","sources":["../src/impl-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"impl-store.js","sourceRoot":"","sources":["../src/impl-store.ts"],"names":[],"mappings":"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"}
@@ -54,28 +54,28 @@ const version2 = (0, version_1.getVersion)('02', '02');
54
54
  (0, ava_1.default)('merge addresses', async (t) => {
55
55
  const depl1 = { address: '0x1' };
56
56
  const depl2 = { address: '0x2' };
57
- const { address, allAddresses } = await (0, impl_store_1.mergeAddresses)(depl1, depl2);
57
+ const { address, allAddresses } = (0, impl_store_1.mergeAddresses)(depl1, depl2);
58
58
  t.is(address, '0x1');
59
59
  t.true(unorderedEqual(allAddresses, ['0x1', '0x2']), allAddresses.toString());
60
60
  });
61
61
  (0, ava_1.default)('merge multiple existing addresses', async (t) => {
62
62
  const depl1 = { address: '0x1', allAddresses: ['0x1a', '0x1b'] };
63
63
  const depl2 = { address: '0x2' };
64
- const { address, allAddresses } = await (0, impl_store_1.mergeAddresses)(depl1, depl2);
64
+ const { address, allAddresses } = (0, impl_store_1.mergeAddresses)(depl1, depl2);
65
65
  t.is(address, '0x1');
66
66
  t.true(unorderedEqual(allAddresses, ['0x1', '0x1a', '0x1b', '0x2']), allAddresses.toString());
67
67
  });
68
68
  (0, ava_1.default)('merge all addresses', async (t) => {
69
69
  const depl1 = { address: '0x1', allAddresses: ['0x1a', '0x1b'] };
70
70
  const depl2 = { address: '0x2', allAddresses: ['0x2a', '0x2b'] };
71
- const { address, allAddresses } = await (0, impl_store_1.mergeAddresses)(depl1, depl2);
71
+ const { address, allAddresses } = (0, impl_store_1.mergeAddresses)(depl1, depl2);
72
72
  t.is(address, '0x1');
73
73
  t.true(unorderedEqual(allAddresses, ['0x1', '0x1a', '0x1b', '0x2', '0x2a', '0x2b']), allAddresses.toString());
74
74
  });
75
75
  function unorderedEqual(arr1, arr2) {
76
76
  return arr1.every(i => arr2.includes(i)) && arr2.every(i => arr1.includes(i));
77
77
  }
78
- (0, ava_1.default)('platform - replace tx hash for deployment', async (t) => {
78
+ (0, ava_1.default)('defender - replace tx hash for deployment', async (t) => {
79
79
  const provider = (0, stub_provider_1.stubProvider)();
80
80
  // create a pending deployment with id
81
81
  const fakeDeploy = await provider.deployPending();
@@ -104,4 +104,73 @@ function unorderedEqual(arr1, arr2) {
104
104
  t.is(deployment.address, fakeDeploy.address);
105
105
  t.is(deployment.txHash, '0x2');
106
106
  });
107
+ (0, ava_1.default)('defender - address clash', async (t) => {
108
+ const provider = (0, stub_provider_1.stubProvider)();
109
+ // create a pending deployment with id
110
+ const fakeDeploy = await provider.deployPending();
111
+ provider.removeContract(fakeDeploy.address);
112
+ async function deployment1() {
113
+ return {
114
+ ...fakeDeploy,
115
+ txHash: '0x1',
116
+ remoteDeploymentId: 'abc',
117
+ };
118
+ }
119
+ const mockPendingDeployment = sinon_1.default.stub().returns({
120
+ status: 'submitted',
121
+ txHash: '0x1',
122
+ });
123
+ // let it timeout
124
+ await t.throwsAsync((0, impl_store_1.fetchOrDeployGetDeployment)(version1, provider, deployment1, { timeout: 1, pollingInterval: 0 }, undefined, mockPendingDeployment));
125
+ // simulate a new deployment with the same address, but different tx hash and deployment id
126
+ async function deployment2() {
127
+ return {
128
+ ...fakeDeploy,
129
+ txHash: '0x2',
130
+ remoteDeploymentId: 'def',
131
+ };
132
+ }
133
+ // deploy with a different version hash
134
+ const error = await t.throwsAsync((0, impl_store_1.fetchOrDeployGetDeployment)(version2, provider, deployment2, { timeout: 1, pollingInterval: 0 }, undefined, mockPendingDeployment));
135
+ t.true(error?.message.startsWith(`The deployment clashes with an existing one at ${fakeDeploy.address}`), error?.message);
136
+ });
137
+ (0, ava_1.default)('defender - merge avoids address clash, replaces deployment id', async (t) => {
138
+ const provider = (0, stub_provider_1.stubProvider)();
139
+ const MERGE = true;
140
+ // create a pending deployment with id
141
+ const fakeDeploy = await provider.deployPending();
142
+ provider.removeContract(fakeDeploy.address);
143
+ async function deployment1() {
144
+ return {
145
+ ...fakeDeploy,
146
+ txHash: '0x1',
147
+ remoteDeploymentId: 'abc',
148
+ };
149
+ }
150
+ const getDeploymentResponse1 = sinon_1.default.stub().returns({
151
+ status: 'submitted',
152
+ txHash: '0x1',
153
+ });
154
+ // let it timeout
155
+ await t.throwsAsync((0, impl_store_1.fetchOrDeployGetDeployment)(version1, provider, deployment1, { timeout: 1, pollingInterval: 0 }, MERGE, getDeploymentResponse1));
156
+ // simulate a failed previous deployment
157
+ const getDeploymentResponse2 = sinon_1.default.stub().returns({
158
+ status: 'failed',
159
+ txHash: '0x1',
160
+ });
161
+ // redeploy with a new deployment id
162
+ async function deployment2() {
163
+ return {
164
+ ...fakeDeploy,
165
+ txHash: '0x2',
166
+ remoteDeploymentId: 'def',
167
+ };
168
+ }
169
+ // make the contract code exist
170
+ provider.addContract(fakeDeploy.address);
171
+ const deployment = await (0, impl_store_1.fetchOrDeployGetDeployment)(version1, provider, deployment2, { timeout: 1, pollingInterval: 0 }, MERGE, getDeploymentResponse2);
172
+ t.is(deployment.address, fakeDeploy.address);
173
+ t.is(deployment.txHash, '0x2');
174
+ t.is(deployment.remoteDeploymentId, 'def');
175
+ });
107
176
  //# sourceMappingURL=impl-store.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"impl-store.test.js","sourceRoot":"","sources":["../src/impl-store.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"impl-store.test.js","sourceRoot":"","sources":["../src/impl-store.test.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openzeppelin/upgrades-core",
3
- "version": "1.32.0-alpha.0",
3
+ "version": "1.32.1",
4
4
  "description": "",
5
5
  "repository": "https://github.com/OpenZeppelin/openzeppelin-upgrades/tree/master/packages/core",
6
6
  "license": "MIT",
@@ -45,7 +45,7 @@
45
45
  "devDependencies": {
46
46
  "@ava/typescript": "^4.0.0",
47
47
  "@nomicfoundation/hardhat-ethers": "^3.0.5",
48
- "@openzeppelin/contracts": "5.0.0",
48
+ "@openzeppelin/contracts": "5.0.1",
49
49
  "@openzeppelin/upgrades-core-legacy": "npm:@openzeppelin/upgrades-core@1.31.3",
50
50
  "@types/cbor": "^5.0.0",
51
51
  "@types/debug": "^4.1.5",
@@ -71,5 +71,5 @@
71
71
  "proper-lockfile": "^4.1.1",
72
72
  "solidity-ast": "^0.4.51"
73
73
  },
74
- "gitHead": "7fd74e339fe760d23aea5cc0bbf6bac525323ab4"
74
+ "gitHead": "0f692819cabdca702358ec9ce4909dd27dbd3b8c"
75
75
  }
@@ -274,3 +274,27 @@ test('validate - single contract - ok', async t => {
274
274
  const output = (await execAsync(`${CLI} validate ${temp} --contract Annotation`)).stdout;
275
275
  t.snapshot(output);
276
276
  });
277
+
278
+ test('validate - fully qualified version of ambiguous contract name', async t => {
279
+ const temp = await getTempDir(t);
280
+ const buildInfo = await artifacts.getBuildInfo(`contracts/test/ValidationsSameNameSafe.sol:SameName`);
281
+ await fs.writeFile(path.join(temp, 'validate.json'), JSON.stringify(buildInfo));
282
+
283
+ const output = (
284
+ await execAsync(`${CLI} validate ${temp} --contract contracts/test/ValidationsSameNameSafe.sol:SameName`)
285
+ ).stdout;
286
+ t.snapshot(output);
287
+ });
288
+
289
+ test('validate - references fully qualified version of ambiguous contract name', async t => {
290
+ const temp = await getTempDir(t);
291
+ const buildInfo = await artifacts.getBuildInfo(`contracts/test/ValidationsSameNameSafe.sol:SameName`);
292
+ await fs.writeFile(path.join(temp, 'validate.json'), JSON.stringify(buildInfo));
293
+
294
+ const output = (
295
+ await execAsync(
296
+ `${CLI} validate ${temp} --contract contracts/test/ValidationsSameNameSafe.sol:SameName --reference contracts/test/ValidationsSameNameUnsafe.sol:SameName`,
297
+ )
298
+ ).stdout;
299
+ t.snapshot(output);
300
+ });
@@ -286,3 +286,21 @@ Generated by [AVA](https://avajs.dev).
286
286
  ␊
287
287
  SUCCESS␊
288
288
  `
289
+
290
+ ## validate - fully qualified version of ambiguous contract name
291
+
292
+ > Snapshot 1
293
+
294
+ ` ✔ contracts/test/ValidationsSameNameSafe.sol:SameName␊
295
+ ␊
296
+ SUCCESS␊
297
+ `
298
+
299
+ ## validate - references fully qualified version of ambiguous contract name
300
+
301
+ > Snapshot 1
302
+
303
+ ` ✔ contracts/test/ValidationsSameNameSafe.sol:SameName (upgrades from contracts/test/ValidationsSameNameUnsafe.sol:SameName)␊
304
+ ␊
305
+ SUCCESS␊
306
+ `
Binary file
@@ -106,7 +106,7 @@ function getUpgradeableContractReport(
106
106
  ): UpgradeableContractReport | undefined {
107
107
  let version;
108
108
  try {
109
- version = getContractVersion(contract.validationData, contract.name);
109
+ version = getContractVersion(contract.validationData, contract.fullyQualifiedName);
110
110
  } catch (e: any) {
111
111
  if (e.message.endsWith('is abstract')) {
112
112
  // Skip abstract upgradeable contracts - they will be validated as part of their caller contracts
@@ -126,7 +126,7 @@ function getUpgradeableContractReport(
126
126
  if (opts.unsafeSkipStorageCheck !== true && referenceContract !== undefined) {
127
127
  const layout = getStorageLayout(contract.validationData, version);
128
128
 
129
- const referenceVersion = getContractVersion(referenceContract.validationData, referenceContract.name);
129
+ const referenceVersion = getContractVersion(referenceContract.validationData, referenceContract.fullyQualifiedName);
130
130
  const referenceLayout = getStorageLayout(referenceContract.validationData, referenceVersion);
131
131
 
132
132
  reference = referenceContract.fullyQualifiedName;
@@ -10,6 +10,7 @@ import { fetchOrDeploy, fetchOrDeployGetDeployment, mergeAddresses } from './imp
10
10
  import { getVersion } from './version';
11
11
  import { stubProvider } from './stub-provider';
12
12
  import { ImplDeployment } from './manifest';
13
+ import { RemoteDeploymentId } from './deployment';
13
14
 
14
15
  test.before(async () => {
15
16
  process.chdir(await fs.mkdtemp(path.join(os.tmpdir(), 'upgrades-core-test-')));
@@ -61,7 +62,7 @@ test('merge addresses', async t => {
61
62
  const depl1 = { address: '0x1' } as ImplDeployment;
62
63
  const depl2 = { address: '0x2' } as ImplDeployment;
63
64
 
64
- const { address, allAddresses } = await mergeAddresses(depl1, depl2);
65
+ const { address, allAddresses } = mergeAddresses(depl1, depl2);
65
66
  t.is(address, '0x1');
66
67
  t.true(unorderedEqual(allAddresses, ['0x1', '0x2']), allAddresses.toString());
67
68
  });
@@ -70,7 +71,7 @@ test('merge multiple existing addresses', async t => {
70
71
  const depl1 = { address: '0x1', allAddresses: ['0x1a', '0x1b'] } as ImplDeployment;
71
72
  const depl2 = { address: '0x2' } as ImplDeployment;
72
73
 
73
- const { address, allAddresses } = await mergeAddresses(depl1, depl2);
74
+ const { address, allAddresses } = mergeAddresses(depl1, depl2);
74
75
  t.is(address, '0x1');
75
76
  t.true(unorderedEqual(allAddresses, ['0x1', '0x1a', '0x1b', '0x2']), allAddresses.toString());
76
77
  });
@@ -79,7 +80,7 @@ test('merge all addresses', async t => {
79
80
  const depl1 = { address: '0x1', allAddresses: ['0x1a', '0x1b'] } as ImplDeployment;
80
81
  const depl2 = { address: '0x2', allAddresses: ['0x2a', '0x2b'] } as ImplDeployment;
81
82
 
82
- const { address, allAddresses } = await mergeAddresses(depl1, depl2);
83
+ const { address, allAddresses } = mergeAddresses(depl1, depl2);
83
84
  t.is(address, '0x1');
84
85
  t.true(unorderedEqual(allAddresses, ['0x1', '0x1a', '0x1b', '0x2', '0x2a', '0x2b']), allAddresses.toString());
85
86
  });
@@ -88,7 +89,7 @@ function unorderedEqual(arr1: string[], arr2: string[]) {
88
89
  return arr1.every(i => arr2.includes(i)) && arr2.every(i => arr1.includes(i));
89
90
  }
90
91
 
91
- test('platform - replace tx hash for deployment', async t => {
92
+ test('defender - replace tx hash for deployment', async t => {
92
93
  const provider = stubProvider();
93
94
 
94
95
  // create a pending deployment with id
@@ -137,3 +138,126 @@ test('platform - replace tx hash for deployment', async t => {
137
138
  t.is(deployment.address, fakeDeploy.address);
138
139
  t.is(deployment.txHash, '0x2');
139
140
  });
141
+
142
+ test('defender - address clash', async t => {
143
+ const provider = stubProvider();
144
+
145
+ // create a pending deployment with id
146
+ const fakeDeploy = await provider.deployPending();
147
+ provider.removeContract(fakeDeploy.address);
148
+
149
+ async function deployment1() {
150
+ return {
151
+ ...fakeDeploy,
152
+ txHash: '0x1',
153
+ remoteDeploymentId: 'abc',
154
+ };
155
+ }
156
+
157
+ const mockPendingDeployment = sinon.stub().returns({
158
+ status: 'submitted',
159
+ txHash: '0x1',
160
+ });
161
+ // let it timeout
162
+ await t.throwsAsync(
163
+ fetchOrDeployGetDeployment(
164
+ version1,
165
+ provider,
166
+ deployment1,
167
+ { timeout: 1, pollingInterval: 0 },
168
+ undefined,
169
+ mockPendingDeployment,
170
+ ),
171
+ );
172
+
173
+ // simulate a new deployment with the same address, but different tx hash and deployment id
174
+ async function deployment2() {
175
+ return {
176
+ ...fakeDeploy,
177
+ txHash: '0x2',
178
+ remoteDeploymentId: 'def',
179
+ };
180
+ }
181
+
182
+ // deploy with a different version hash
183
+ const error = await t.throwsAsync(
184
+ fetchOrDeployGetDeployment(
185
+ version2,
186
+ provider,
187
+ deployment2,
188
+ { timeout: 1, pollingInterval: 0 },
189
+ undefined,
190
+ mockPendingDeployment,
191
+ ),
192
+ );
193
+
194
+ t.true(
195
+ error?.message.startsWith(`The deployment clashes with an existing one at ${fakeDeploy.address}`),
196
+ error?.message,
197
+ );
198
+ });
199
+
200
+ test('defender - merge avoids address clash, replaces deployment id', async t => {
201
+ const provider = stubProvider();
202
+
203
+ const MERGE = true;
204
+
205
+ // create a pending deployment with id
206
+ const fakeDeploy = await provider.deployPending();
207
+ provider.removeContract(fakeDeploy.address);
208
+
209
+ async function deployment1() {
210
+ return {
211
+ ...fakeDeploy,
212
+ txHash: '0x1',
213
+ remoteDeploymentId: 'abc',
214
+ };
215
+ }
216
+
217
+ const getDeploymentResponse1 = sinon.stub().returns({
218
+ status: 'submitted',
219
+ txHash: '0x1',
220
+ });
221
+ // let it timeout
222
+ await t.throwsAsync(
223
+ fetchOrDeployGetDeployment(
224
+ version1,
225
+ provider,
226
+ deployment1,
227
+ { timeout: 1, pollingInterval: 0 },
228
+ MERGE,
229
+ getDeploymentResponse1,
230
+ ),
231
+ );
232
+
233
+ // simulate a failed previous deployment
234
+ const getDeploymentResponse2 = sinon.stub().returns({
235
+ status: 'failed',
236
+ txHash: '0x1',
237
+ });
238
+
239
+ // redeploy with a new deployment id
240
+ async function deployment2() {
241
+ return {
242
+ ...fakeDeploy,
243
+ txHash: '0x2',
244
+ remoteDeploymentId: 'def',
245
+ };
246
+ }
247
+
248
+ // make the contract code exist
249
+ provider.addContract(fakeDeploy.address);
250
+
251
+ const deployment = await fetchOrDeployGetDeployment(
252
+ version1,
253
+ provider,
254
+ deployment2,
255
+ { timeout: 1, pollingInterval: 0 },
256
+ MERGE,
257
+ getDeploymentResponse2,
258
+ );
259
+
260
+ t.is(deployment.address, fakeDeploy.address);
261
+ t.is(deployment.txHash, '0x2');
262
+ t.is((deployment as RemoteDeploymentId).remoteDeploymentId, 'def');
263
+ });