Generate release artifact catalog#94
Conversation
There was a problem hiding this comment.
Claude Code Review
This repository is configured for manual code reviews. Comment @claude review to trigger a review and subscribe this PR to future pushes, or @claude review once for a one-time review.
Tip: disable this comment in your organization's Code Review settings.
|
@coderabbitai review |
|
Caution Review failedPull request was closed or merged during review 📝 WalkthroughWalkthroughThis PR implements a deterministic release artifact generator that produces ABI checksums, event topic catalogs, and interface IDs from Foundry build outputs. The generator reads a contract manifest, resolves artifacts in the Foundry ChangesRelease Artifact Generation and Integration
Sequence DiagramsequenceDiagram
participant Contracts as release-artifacts/contracts.json
participant Generator as generate_release_artifacts.py
participant Foundry as Foundry out/ artifacts
participant Cast as cast (sig-event)
participant Output as release-artifacts/latest/
Contracts->>Generator: load config
Foundry->>Generator: resolve contract JSON files
Generator->>Generator: compute ABI SHA-256
Generator->>Generator: extract bytecode hashes
Generator->>Cast: sig-event for each event
Cast->>Generator: topic0 values
Generator->>Generator: XOR function selectors for interface IDs
Generator->>Output: write abi-checksums.json
Generator->>Output: write event-topic-catalog.json
Generator->>Output: write interface-ids.json
Generator->>Output: write release-artifact-manifest.json
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~22 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
✅ Action performedReview finished.
|
|
@coderabbitai review |
✅ Action performedReview finished.
|
Summary
Closes #93.
This PR adds the first deterministic Gate G release-artifact baseline for 6529Stream:
scripts/generate_release_artifacts.pyto generate ABI checksums, bytecode checksums, interface IDs, and event topic catalog JSON from Foundry artifactsrelease-artifacts/latest/unlinked_artifact_objectuntil broadcast/verification artifacts provide final deployed bytecodemake check, Linux/Windows wrappers, and CIValidation
python scripts\test_release_artifacts.pypython scripts\generate_release_artifacts.py --checkpython -m py_compile scripts\generate_release_artifacts.py scripts\test_release_artifacts.pydeployments/examples/anvil-6529stream-v0.1.0-001.jsonbash -n scripts/check.shscripts\check.ps1make checkpowershell -ExecutionPolicy Bypass -File scripts\check.ps1git diff --checkNotes
The release catalog is generated from the production
forge build --sizes --via-ir --skip test --skip script --forceprofile, not the default build profile. Live fork/testnet manifests, signed checksums, ABI diffing, release tags, address books, and verified deployed bytecode hashes remain follow-up Gate E/G work.Summary by CodeRabbit
New Features
Documentation
Tests
Chores