Skip to content

Instantly share code, notes, and snippets.

@andrekorol
Created December 26, 2020 06:29
Show Gist options
  • Save andrekorol/e4ea040dd74644c47d1095f53cc113c6 to your computer and use it in GitHub Desktop.
Save andrekorol/e4ea040dd74644c47d1095f53cc113c6 to your computer and use it in GitHub Desktop.
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.8.0+commit.c7dfd78e.js&optimize=true&runs=200&gist=
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.0;
contract InterfaceId {
function getInterface(string[] memory signatures) public pure returns (bytes4 interfaceId) {
for (uint256 i = 0; i < signatures.length; i++) {
interfaceId ^= bytes4(keccak256(bytes(signatures[i])));
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment