30 lines
904 B
Solidity
30 lines
904 B
Solidity
// SPDX-License-Identifier: MIT
|
|
pragma solidity >=0.8.19;
|
|
|
|
import { Script } from "forge-std/Script.sol";
|
|
|
|
abstract contract BaseScript is Script {
|
|
/// @dev Included to enable compilation of the script without a $MNEMONIC environment variable.
|
|
string internal constant TEST_MNEMONIC = "test test test test test test test test test test test junk";
|
|
|
|
/// @dev Needed for the deterministic deployments.
|
|
bytes32 internal constant ZERO_SALT = bytes32(0);
|
|
|
|
/// @dev The address of the contract deployer.
|
|
address internal deployer;
|
|
|
|
/// @dev Used to derive the deployer's address.
|
|
string internal mnemonic;
|
|
|
|
constructor() {
|
|
mnemonic = vm.envOr("MNEMONIC", TEST_MNEMONIC);
|
|
(deployer,) = deriveRememberKey({ mnemonic: mnemonic, index: 0 });
|
|
}
|
|
|
|
modifier broadcaster() {
|
|
vm.startBroadcast(deployer);
|
|
_;
|
|
vm.stopBroadcast();
|
|
}
|
|
}
|