123456789101112131415161718192021222324 |
- const { config } = require('hardhat');
- const optimizationsEnabled = config.solidity.compilers.some(c => c.settings.optimizer.enabled);
- /** Revert handler that supports custom errors. */
- async function expectRevertCustomError (promise, reason) {
- try {
- await promise;
- expect.fail('Expected promise to throw but it didn\'t');
- } catch (revert) {
- if (reason) {
- if (optimizationsEnabled) {
- // Optimizations currently mess with Hardhat's decoding of custom errors
- expect(revert.message).to.include.oneOf([reason, 'unrecognized return data or custom error']);
- } else {
- expect(revert.message).to.include(reason);
- }
- }
- }
- };
- module.exports = {
- expectRevertCustomError,
- };
|