Skip to content

Instantly share code, notes, and snippets.

@PaulRBerg
Last active May 25, 2023 17:46
Show Gist options
  • Star 12 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save PaulRBerg/9099825b7523acd8d5d0149f88f58de3 to your computer and use it in GitHub Desktop.
Save PaulRBerg/9099825b7523acd8d5d0149f88f58de3 to your computer and use it in GitHub Desktop.
// 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();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment