Files
contract/lib_openzeppelin_contracts/test/helpers/methods.js
dexorder 25def69c66 dexorder
2024-10-17 02:42:28 -04: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,
};