Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions .claude/CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,20 +18,20 @@ 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` |
| Regenerate pointers | `nix develop github:rainlanguage/rainix#sol-shell -c forge script script/BuildPointers.sol` |
| Format | `nix develop github:rainlanguage/rainix#sol-shell -c forge fmt` |
| 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` |

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
```
Expand All @@ -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
Expand Down
11 changes: 6 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,15 +86,15 @@ 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
```

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
Expand Down Expand Up @@ -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`).
2 changes: 1 addition & 1 deletion script/BuildPointers.sol → script/Build.sol
Original file line number Diff line number Diff line change
Expand Up @@ -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();

Expand Down
Loading