diff --git a/CLAUDE.md b/CLAUDE.md index 45eb5ba9..4fea5cb1 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -105,7 +105,7 @@ they're regenerated and committed. Network RPC URLs are configured in - **`Deploy.sol`** — Production deployment script using Zoltu deterministic proxy. Deploys log tables and DecimalFloat contract to all supported networks. -- **`BuildPointers.sol`** — Generates `src/generated/LogTables.pointers.sol` +- **`Build.sol`** — Generates `src/generated/LogTables.pointers.sol` (committed to repo; must be regenerated if log table data changes). ### Rust Layer (`crates/float/`) diff --git a/script/BuildPointers.sol b/script/Build.sol similarity index 98% rename from script/BuildPointers.sol rename to script/Build.sol index 3e0d9339..001d14a6 100644 --- a/script/BuildPointers.sol +++ b/script/Build.sol @@ -7,7 +7,7 @@ import {LibCodeGen} from "rain-sol-codegen-0.1.0/src/lib/LibCodeGen.sol"; import {LibFs} from "rain-sol-codegen-0.1.0/src/lib/LibFs.sol"; import {LibLogTable} from "../src/lib/table/LibLogTable.sol"; -contract BuildPointers is Script { +contract Build is Script { function run() external { LibFs.buildFileForContract( vm, diff --git a/src/lib/deploy/LibDecimalFloatDeploy.sol b/src/lib/deploy/LibDecimalFloatDeploy.sol index acd22d0e..cdd7c109 100644 --- a/src/lib/deploy/LibDecimalFloatDeploy.sol +++ b/src/lib/deploy/LibDecimalFloatDeploy.sol @@ -54,6 +54,20 @@ library LibDecimalFloatDeploy { bytes32 constant DECIMAL_FLOAT_CONTRACT_HASH_0_1_1 = 0x7a93d0311f7782b44157ba40e94ec936085ebe001c7893bdd74911c8351d3def; + /// @dev Log tables address at the published `0.1.7` soldeer tag. + address constant ZOLTU_DEPLOYED_LOG_TABLES_ADDRESS_0_1_7 = address(0xc51a14251b0dcF0ae24A96b7153991378938f5F5); + + /// @dev Log tables codehash at the published `0.1.7` soldeer tag. + bytes32 constant LOG_TABLES_DATA_CONTRACT_HASH_0_1_7 = + 0x2573004ac3a9ee7fc8d73654d76386f1b6b99e34cdf86a689c4691e47143420f; + + /// @dev DecimalFloat address at the published `0.1.7` soldeer tag. + address constant ZOLTU_DEPLOYED_DECIMAL_FLOAT_ADDRESS_0_1_7 = address(0x799632d282178e770C7465cad54aDA1021A913D6); + + /// @dev DecimalFloat codehash at the published `0.1.7` soldeer tag. + bytes32 constant DECIMAL_FLOAT_CONTRACT_HASH_0_1_7 = + 0xdc468883c345d41c0abd98ef2fd933c370bd1682522d37e6f6b729793301f55e; + /// Combines all log and anti-log tables into a single bytes array for /// deployment. These are using packed encoding to minimize size and remove /// the complexity of full ABI encoding. diff --git a/test/src/lib/deploy/LibDecimalFloatDeployTaggedConstants.t.sol b/test/src/lib/deploy/LibDecimalFloatDeployTaggedConstants.t.sol index f1b24877..52dbed5e 100644 --- a/test/src/lib/deploy/LibDecimalFloatDeployTaggedConstants.t.sol +++ b/test/src/lib/deploy/LibDecimalFloatDeployTaggedConstants.t.sol @@ -10,8 +10,8 @@ import {Test} from "forge-std-1.16.1/src/Test.sol"; /// a log-tables address + codehash and a DecimalFloat address + codehash for /// each published version. `script/check-published-deploy-constants.sh` queries /// the live registry (via FFI) and lists any missing constants, so publishing a -/// new tag without pinning its constants fails this test. Skips if the registry -/// is unreachable rather than failing on network flakiness. +/// new tag without pinning its constants fails this test. An unreachable +/// registry is a vacuous pass rather than a failure on network flakiness. contract LibDecimalFloatDeployTaggedConstantsTest is Test { function testAllPublishedSoldeerTagsHaveAFullConstantSuite() external { string[] memory cmd = new string[](2); @@ -21,7 +21,6 @@ contract LibDecimalFloatDeployTaggedConstantsTest is Test { // The registry could not be reached; there is nothing to verify. if (_startsWith(out, bytes("SKIP"))) { - vm.skip(true); return; }