Add utilities for CrossChain messaging (#3183)

Co-authored-by: Francisco Giordano <frangio.1@gmail.com>
This commit is contained in:
Hadrien Croubois
2022-03-30 16:41:04 +02:00
committed by GitHub
parent 02fcc75bb7
commit 668a648bc6
36 changed files with 1477 additions and 73 deletions

View File

@ -0,0 +1,24 @@
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,
};