Files
openzeppelin-contracts/test/helpers/methods.js
2023-12-18 19:28:16 -06:00

15 lines
326 B
JavaScript

const { ethers } = require('hardhat');
const selector = signature => ethers.FunctionFragment.from(signature).selector;
const interfaceId = signatures =>
ethers.toBeHex(
signatures.reduce((acc, signature) => acc ^ ethers.toBigInt(selector(signature)), 0n),
4,
);
module.exports = {
selector,
interfaceId,
};