-
Notifications
You must be signed in to change notification settings - Fork 0
/
Example7.sol
14 lines (11 loc) · 764 Bytes
/
Example7.sol
1
2
3
4
5
6
7
8
9
10
11
12
13
14
pragma solidity 0.8.25; // Specify the version of Solidity to be used
// Define the CollisionExample contract
contract CollisionExample {
// Function collate_propagate_storage with a parameter of type bytes16
function collate_propagate_storage(bytes16 x) external {} // has selector "0x42966c68"
// Function burn with a parameter of type uint256
function burn(uint256 amount) external {} // also has selector "0x42966c68" --> clash with "collate_propagate_storage"!
// This contract will not compile due to a hash collision between the function selectors.
// The function selectors for both collate_propagate_storage and burn result in the same hash,
// causing a collision and preventing the contract from being compiled.
}