123456789101112131415161718192021222324 |
- const { HardhatError } = require('hardhat/internal/core/errors');
- // Modifies `artifacts.require(X)` so that instead of X it loads the XUpgradeable contract.
- // This allows us to run the same test suite on both the original and the transpiled and renamed Upgradeable contracts.
- extendEnvironment(env => {
- const artifactsRequire = env.artifacts.require;
- env.artifacts.require = name => {
- for (const suffix of ['UpgradeableWithInit', 'Upgradeable', '']) {
- try {
- return artifactsRequire(name + suffix);
- } catch (e) {
- // HH700: Artifact not found - from https://hardhat.org/hardhat-runner/docs/errors#HH700
- if (HardhatError.isHardhatError(e) && e.number === 700 && suffix !== '') {
- continue;
- } else {
- throw e;
- }
- }
- }
- throw new Error('Unreachable');
- };
- });
|