The framework uses Solidity's CREATE2 opcode to ensure deterministic deployment. This allows contracts to be deployed at the same address across different networks, provided the salt, bytecode, and deployer address remain identical.
The deployment scripts use a predefined salt value: "GATOR".
Salt Processing Logic:
- The string
"GATOR" is retrieved. - It is processed using
abi.encodePacked to create a dynamic-length byte array. - The result is cast to
bytes32 to ensure a fixed-length representation.
Solidity Implementation:
bytes32 salt = bytes32(abi.encodePacked("GATOR"));