From b333cbaf871f35f424835f372197a13a89c3e0bd Mon Sep 17 00:00:00 2001 From: David Meister Date: Wed, 15 Jul 2026 13:59:38 +0000 Subject: [PATCH 1/2] fix: rename the codegen script to script/Build.sol rainix#272 requires the codegen script to be script/Build.sol, matched exactly, so that a missing or renamed script fails loudly instead of silently skipping regeneration and reporting green over an unchecked tree. Co-Authored-By: Claude Opus 4.8 --- .claude/CLAUDE.md | 6 +++--- README.md | 4 ++-- script/{BuildPointers.sol => Build.sol} | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) rename script/{BuildPointers.sol => Build.sol} (97%) diff --git a/.claude/CLAUDE.md b/.claude/CLAUDE.md index 64db6f6..64df0c0 100644 --- a/.claude/CLAUDE.md +++ b/.claude/CLAUDE.md @@ -24,14 +24,14 @@ Use `nix develop github:rainlanguage/rainix#sol-shell` for forge/soldeer, or | Build | `nix develop github:rainlanguage/rainix#sol-shell -c forge build` | | Test | `nix develop github:rainlanguage/rainix#sol-shell -c forge test` | | Regenerate meta + CBOR | `./script/build.sh` or `nix develop -c erc4626-words-prelude` | -| Regenerate pointers | `nix develop github:rainlanguage/rainix#sol-shell -c forge script script/BuildPointers.sol` | +| Regenerate pointers | `nix develop github:rainlanguage/rainix#sol-shell -c forge script script/Build.sol` | | Format | `nix develop github:rainlanguage/rainix#sol-shell -c forge fmt` | Regenerate artifacts the way **Git is clean** CI does: ```sh ./script/build.sh -nix develop github:rainlanguage/rainix#sol-shell -c forge script script/BuildPointers.sol +nix develop github:rainlanguage/rainix#sol-shell -c forge script script/Build.sol nix develop github:rainlanguage/rainix#sol-shell -c forge fmt git diff --exit-code ``` @@ -47,7 +47,7 @@ Commit `meta/ERC4626Words.rain.meta` and - `src/generated/ERC4626Words.pointers.sol` — Generated; do not edit by hand - `script/BuildAuthoringMeta.sol` — Emits authoring meta - `script/build.sh` — Meta CBOR wrap via `rain meta build` (CI hook) -- `script/BuildPointers.sol` — Regenerates pointer constants +- `script/Build.sol` — Regenerates pointer constants - `flake.nix` — Defines `erc4626-words-prelude` nix task ## Key Configuration diff --git a/README.md b/README.md index 2e0e6c0..a26482a 100644 --- a/README.md +++ b/README.md @@ -86,7 +86,7 @@ then regenerate the pointer constants (which read the meta): ```sh ./script/build.sh -nix develop github:rainlanguage/rainix#sol-shell -c forge script script/BuildPointers.sol +nix develop github:rainlanguage/rainix#sol-shell -c forge script script/Build.sol nix develop github:rainlanguage/rainix#sol-shell -c forge fmt ``` @@ -94,7 +94,7 @@ Equivalent via flake prelude + pointer script: ```sh nix run .#erc4626-words-prelude -nix develop github:rainlanguage/rainix#sol-shell -c forge script script/BuildPointers.sol +nix develop github:rainlanguage/rainix#sol-shell -c forge script script/Build.sol ``` The generated files `src/generated/ERC4626Words.pointers.sol` and diff --git a/script/BuildPointers.sol b/script/Build.sol similarity index 97% rename from script/BuildPointers.sol rename to script/Build.sol index 0600039..3c3b019 100644 --- a/script/BuildPointers.sol +++ b/script/Build.sol @@ -10,7 +10,7 @@ import {LibGenParseMeta} from "rain-interpreter-interface-0.1.0/src/lib/codegen/ import {LibERC4626SubParser} from "src/lib/parse/LibERC4626SubParser.sol"; import {PARSE_META_BUILD_DEPTH} from "src/abstract/ERC4626SubParser.sol"; -contract BuildPointers is Script { +contract Build is Script { function buildERC4626WordsPointers() internal { ERC4626Words erc4626Words = new ERC4626Words(); From f9f7117920ae0ead94ea4d4c3bc021f9649d2098 Mon Sep 17 00:00:00 2001 From: David Meister Date: Wed, 15 Jul 2026 14:06:27 +0000 Subject: [PATCH 2/2] style: prettier reflow after the script rename Co-Authored-By: Claude Opus 4.8 --- .claude/CLAUDE.md | 14 +++++++------- README.md | 7 ++++--- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/.claude/CLAUDE.md b/.claude/CLAUDE.md index 64df0c0..8ce18e3 100644 --- a/.claude/CLAUDE.md +++ b/.claude/CLAUDE.md @@ -18,14 +18,14 @@ dependencies are managed with **soldeer** (`foundry.toml` `[dependencies]`, Use `nix develop github:rainlanguage/rainix#sol-shell` for forge/soldeer, or `nix develop` for the repo devshell (`rain`, `erc4626-words-prelude`). -| Task | Command | -| ---------------------- | ------------------------------------------------------------------------------------------- | -| Install deps | `nix develop github:rainlanguage/rainix#sol-shell -c forge soldeer install` | -| Build | `nix develop github:rainlanguage/rainix#sol-shell -c forge build` | -| Test | `nix develop github:rainlanguage/rainix#sol-shell -c forge test` | -| Regenerate meta + CBOR | `./script/build.sh` or `nix develop -c erc4626-words-prelude` | +| Task | Command | +| ---------------------- | ----------------------------------------------------------------------------------- | +| Install deps | `nix develop github:rainlanguage/rainix#sol-shell -c forge soldeer install` | +| Build | `nix develop github:rainlanguage/rainix#sol-shell -c forge build` | +| Test | `nix develop github:rainlanguage/rainix#sol-shell -c forge test` | +| Regenerate meta + CBOR | `./script/build.sh` or `nix develop -c erc4626-words-prelude` | | Regenerate pointers | `nix develop github:rainlanguage/rainix#sol-shell -c forge script script/Build.sol` | -| Format | `nix develop github:rainlanguage/rainix#sol-shell -c forge fmt` | +| Format | `nix develop github:rainlanguage/rainix#sol-shell -c forge fmt` | Regenerate artifacts the way **Git is clean** CI does: diff --git a/README.md b/README.md index a26482a..6cc1cfb 100644 --- a/README.md +++ b/README.md @@ -124,6 +124,7 @@ tab, selecting the target network. Required secrets (for the Manual sol artifacts deploy workflow, network=base): `PRIVATE_KEY`, `CI_DEPLOY_BASE_RPC_URL`, `CI_DEPLOY_BASE_ETHERSCAN_API_KEY`, -`CI_DEPLOY_BASE_VERIFY`, `CI_DEPLOY_BASE_VERIFIER`, `CI_DEPLOY_BASE_VERIFIER_URL`. -For other networks substitute `BASE` with the network name in uppercase. -The CI workflows also use `CACHIX_AUTH_TOKEN` (org-level, passed via `secrets: inherit`). +`CI_DEPLOY_BASE_VERIFY`, `CI_DEPLOY_BASE_VERIFIER`, +`CI_DEPLOY_BASE_VERIFIER_URL`. For other networks substitute `BASE` with the +network name in uppercase. The CI workflows also use `CACHIX_AUTH_TOKEN` +(org-level, passed via `secrets: inherit`).