methods.js 326 B

1234567891011121314
  1. const { ethers } = require('hardhat');
  2. const selector = signature => ethers.FunctionFragment.from(signature).selector;
  3. const interfaceId = signatures =>
  4. ethers.toBeHex(
  5. signatures.reduce((acc, signature) => acc ^ ethers.toBigInt(selector(signature)), 0n),
  6. 4,
  7. );
  8. module.exports = {
  9. selector,
  10. interfaceId,
  11. };