diff --git a/README.md b/README.md index 04039cc8..2299a060 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ Over time, Vulcan will grow to include more functionality and utilities, eventua ## Installation ``` -$ forge install nomoixyz/vulcan@v0.4.0 +$ forge install nomoixyz/vulcan@v0.4.1 ``` ## Usage diff --git a/docs/src/guide/installation.md b/docs/src/guide/installation.md index f38b8042..572a08e2 100644 --- a/docs/src/guide/installation.md +++ b/docs/src/guide/installation.md @@ -2,5 +2,5 @@ In an existing Foundry project, use `forge install`: ``` -$ forge install nomoixyz/vulcan@0.4.0 +$ forge install nomoixyz/vulcan@0.4.1 ``` diff --git a/lib/forge-std b/lib/forge-std index 705263c9..1d9650e9 160000 --- a/lib/forge-std +++ b/lib/forge-std @@ -1 +1 @@ -Subproject commit 705263c95892a906d7af65f0f73ce8a4a0c80b80 +Subproject commit 1d9650e951204a0ddce9ff89c32f1997984cef4d diff --git a/src/_modules/Json.sol b/src/_modules/Json.sol index 848c4f76..6a23b55a 100644 --- a/src/_modules/Json.sol +++ b/src/_modules/Json.sol @@ -7,6 +7,12 @@ import {LibError, Error} from "./Error.sol"; import "./Accounts.sol"; import "./Vulcan.sol"; +/// Hacky interface to use the `serializeJson` vm cheatcode +/// TODO: remove +interface SerializeJson { + function serializeJson(string memory, string memory) external returns (string memory); +} + struct JsonObject { string id; string serialized; @@ -251,8 +257,10 @@ library json { return JsonError.Invalid().toJsonResult(); } + // TODO: remove hack to use the unreleased `serializeJson` Vm cheatcode + SerializeJson vm = SerializeJson(address(vulcan.hevm)); JsonObject memory jsonObj = create(); - jsonObj.serialized = vulcan.hevm.serializeJson(jsonObj.id, obj); + jsonObj.serialized = vm.serializeJson(jsonObj.id, obj); return Ok(jsonObj); }