Skip to content

Commit

Permalink
Upgrade forge-std to latest release and fix solc warnings that happen…
Browse files Browse the repository at this point in the history
… after that (#41)
  • Loading branch information
sunbreak1211 authored Apr 24, 2024
1 parent 36ff4ad commit 6d4029d
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 33 deletions.
36 changes: 18 additions & 18 deletions src/ScriptTools.sol
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ library ScriptTools {
* @param name The default config file to load if no environment variables are set.
* @return config The raw json text of the config.
*/
function loadConfig(string memory name) internal returns (string memory config) {
function loadConfig(string memory name) internal view returns (string memory config) {
config = vm.envOr("FOUNDRY_SCRIPT_CONFIG_TEXT", string(""));
if (eq(config, "")) {
config = readInput(vm.envOr("FOUNDRY_SCRIPT_CONFIG", name));
Expand All @@ -80,7 +80,7 @@ library ScriptTools {
* Finally will revert if no environment variables are set.
* @return config The raw json text of the config.
*/
function loadConfig() internal returns (string memory config) {
function loadConfig() internal view returns (string memory config) {
config = vm.envOr("FOUNDRY_SCRIPT_CONFIG_TEXT", string(""));
if (eq(config, "")) {
config = readInput(vm.envString("FOUNDRY_SCRIPT_CONFIG"));
Expand All @@ -95,7 +95,7 @@ library ScriptTools {
* @param name The default dependency file to load if no environment variables are set.
* @return dependencies The raw json text of the dependencies.
*/
function loadDependencies(string memory name) internal returns (string memory dependencies) {
function loadDependencies(string memory name) internal view returns (string memory dependencies) {
dependencies = vm.envOr("FOUNDRY_SCRIPT_DEPS_TEXT", string(""));
if (eq(dependencies, "")) {
dependencies = readOutput(vm.envOr("FOUNDRY_SCRIPT_DEPS", name));
Expand All @@ -109,7 +109,7 @@ library ScriptTools {
* Finally will revert if no environment variables are set.
* @return dependencies The raw json text of the dependencies.
*/
function loadDependencies() internal returns (string memory dependencies) {
function loadDependencies() internal view returns (string memory dependencies) {
dependencies = vm.envOr("FOUNDRY_SCRIPT_DEPS_TEXT", string(""));
if (eq(dependencies, "")) {
dependencies = readOutput(vm.envString("FOUNDRY_SCRIPT_DEPS"));
Expand Down Expand Up @@ -250,59 +250,59 @@ library ScriptTools {

// Read config variable, but allow for an environment variable override

function readUint(string memory json, string memory key, string memory envKey) internal returns (uint256) {
function readUint(string memory json, string memory key, string memory envKey) internal view returns (uint256) {
return vm.envOr(envKey, stdJson.readUint(json, key));
}

function readUintArray(string memory json, string memory key, string memory envKey) internal returns (uint256[] memory) {
function readUintArray(string memory json, string memory key, string memory envKey) internal view returns (uint256[] memory) {
return vm.envOr(envKey, vm.envOr(DELIMITER_OVERRIDE, DEFAULT_DELIMITER), stdJson.readUintArray(json, key));
}

function readInt(string memory json, string memory key, string memory envKey) internal returns (int256) {
function readInt(string memory json, string memory key, string memory envKey) internal view returns (int256) {
return vm.envOr(envKey, stdJson.readInt(json, key));
}

function readIntArray(string memory json, string memory key, string memory envKey) internal returns (int256[] memory) {
function readIntArray(string memory json, string memory key, string memory envKey) internal view returns (int256[] memory) {
return vm.envOr(envKey, vm.envOr(DELIMITER_OVERRIDE, DEFAULT_DELIMITER), stdJson.readIntArray(json, key));
}

function readBytes32(string memory json, string memory key, string memory envKey) internal returns (bytes32) {
function readBytes32(string memory json, string memory key, string memory envKey) internal view returns (bytes32) {
return vm.envOr(envKey, stdJson.readBytes32(json, key));
}

function readBytes32Array(string memory json, string memory key, string memory envKey) internal returns (bytes32[] memory) {
function readBytes32Array(string memory json, string memory key, string memory envKey) internal view returns (bytes32[] memory) {
return vm.envOr(envKey, vm.envOr(DELIMITER_OVERRIDE, DEFAULT_DELIMITER), stdJson.readBytes32Array(json, key));
}

function readString(string memory json, string memory key, string memory envKey) internal returns (string memory) {
function readString(string memory json, string memory key, string memory envKey) internal view returns (string memory) {
return vm.envOr(envKey, stdJson.readString(json, key));
}

function readStringArray(string memory json, string memory key, string memory envKey) internal returns (string[] memory) {
function readStringArray(string memory json, string memory key, string memory envKey) internal view returns (string[] memory) {
return vm.envOr(envKey, vm.envOr(DELIMITER_OVERRIDE, DEFAULT_DELIMITER), stdJson.readStringArray(json, key));
}

function readAddress(string memory json, string memory key, string memory envKey) internal returns (address) {
function readAddress(string memory json, string memory key, string memory envKey) internal view returns (address) {
return vm.envOr(envKey, stdJson.readAddress(json, key));
}

function readAddressArray(string memory json, string memory key, string memory envKey) internal returns (address[] memory) {
function readAddressArray(string memory json, string memory key, string memory envKey) internal view returns (address[] memory) {
return vm.envOr(envKey, vm.envOr(DELIMITER_OVERRIDE, DEFAULT_DELIMITER), stdJson.readAddressArray(json, key));
}

function readBool(string memory json, string memory key, string memory envKey) internal returns (bool) {
function readBool(string memory json, string memory key, string memory envKey) internal view returns (bool) {
return vm.envOr(envKey, stdJson.readBool(json, key));
}

function readBoolArray(string memory json, string memory key, string memory envKey) internal returns (bool[] memory) {
function readBoolArray(string memory json, string memory key, string memory envKey) internal view returns (bool[] memory) {
return vm.envOr(envKey, vm.envOr(DELIMITER_OVERRIDE, DEFAULT_DELIMITER), stdJson.readBoolArray(json, key));
}

function readBytes(string memory json, string memory key, string memory envKey) internal returns (bytes memory) {
function readBytes(string memory json, string memory key, string memory envKey) internal view returns (bytes memory) {
return vm.envOr(envKey, stdJson.readBytes(json, key));
}

function readBytesArray(string memory json, string memory key, string memory envKey) internal returns (bytes[] memory) {
function readBytesArray(string memory json, string memory key, string memory envKey) internal view returns (bytes[] memory) {
return vm.envOr(envKey, vm.envOr(DELIMITER_OVERRIDE, DEFAULT_DELIMITER), stdJson.readBytesArray(json, key));
}

Expand Down
26 changes: 12 additions & 14 deletions src/tests/ScriptToolsTest.t.sol
Original file line number Diff line number Diff line change
Expand Up @@ -22,46 +22,44 @@ contract ScriptToolTest is DssTest {

string loadedExports;

function test_stringToBytes32() public {
function test_stringToBytes32() public pure {
assertEq(ScriptTools.stringToBytes32("test"), bytes32("test"));
}

function test_stringToBytes32_empty() public {
function test_stringToBytes32_empty() public pure {
assertEq(ScriptTools.stringToBytes32(""), bytes32(""));
}

function test_ilkToChainlogFormat() public {
function test_ilkToChainlogFormat() public pure {
assertEq(ScriptTools.ilkToChainlogFormat(bytes32("ETH-A")), "ETH_A");
}

function test_ilkToChainlogFormat_empty() public {
function test_ilkToChainlogFormat_empty() public pure {
assertEq(ScriptTools.ilkToChainlogFormat(bytes32("")), "");
}

function test_ilkToChainlogFormat_multiple() public {
function test_ilkToChainlogFormat_multiple() public pure {
assertEq(ScriptTools.ilkToChainlogFormat(bytes32("DIRECT-AAVEV2-DAI")), "DIRECT_AAVEV2_DAI");
}

function test_eq() public {
function test_eq() public pure {
assertTrue(ScriptTools.eq("A", "A"));
}

function test_not_eq() public {
function test_not_eq() public pure {
assertTrue(!ScriptTools.eq("A", "B"));
}

function test_export_contracts() public {
function test_export() public {
// Export some contracts and write to output
ScriptTools.exportContract("myExports", "label1", address(1));
ScriptTools.exportContract("myExports", "label2", address(2));
ScriptTools.exportContract("myExports", "addr1", address(0x1));
ScriptTools.exportContract("myExports", "addr2", address(0x2));

// Simulate a subsequent run loading a previously written file (use latest deploy)
loadedExports = ScriptTools.readOutput("myExports", 1);
assertEq(stdJson.readAddress(loadedExports, ".label1"), address(1));
assertEq(stdJson.readAddress(loadedExports, ".label2"), address(2));
}
assertEq(stdJson.readAddress(loadedExports, ".addr1"), address(0x1));
assertEq(stdJson.readAddress(loadedExports, ".addr2"), address(0x2));

function test_export_values() public {
// Export some values and write to output
ScriptTools.exportValue("myExports", "label1", 1);
ScriptTools.exportValue("myExports", "label2", 2);
Expand Down

0 comments on commit 6d4029d

Please sign in to comment.