fix(addresses): regenerate 40204 book from citrate-chain 0aab474b (post-reroll) - #15
Open
SaulBuilds wants to merge 1 commit into
Open
SaulBuilds wants to merge 1 commit into
SaulBuilds wants to merge 1 commit into
Conversation
…st-reroll) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Vv2gVzy5XLFKg48yckN9YQ
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
citrate_sdk/_generated/federation_contract.jsonships the pre-reroll chain-40204 address book (e.g.CitrateMemberSBT 0xf0badd9e…,MembershipStakeVault 0x53fb4bad…,CitrateWalletFactory 0x86486d1d…— the factory no longer has code on-chain). Downstream deployers usingcitrate-labs-sdkget retired addresses.Source
CitrateNetwork/citrate-chain
main@0aab474b—contracts/addresses/40204.json(fresh-keys reroll 2026-09-29), via the federation intermediate regenerated in CitrateNetwork/citrate-federation#304.Generator
citrate-federation/scripts/gen-contract.mjs→python scripts/sync_contract.py. No hand edits; the vendored file is byte-identical to the regenerated intermediate (and to the sdk-js copy).Diff: 71 addresses changed, 31 contracts added, 7 removed (the retired cooperative entries, which are no longer in the book). Membership: SBT
0xa24aa35f…, vault0x4c0f8b27…. AA: factory0x24e2a41E…, paymaster0x8E65bff9….Verification
python scripts/sync_contract.py --check→ matches canonical (needs #304 merged for the CIcontract-driftjob, which reads federationmain).uv sync --frozen --all-extras, Python 3.11):ruff check .clean;mypy .clean (86 files);pytest -q→ 855 pass / 49 skipped / 0 fail. The first full run had 3 failures, all old-address pins, which are fixed below. The affected modules were re-run green, and one test was added.test_federation_contract.py: AA factory/paymaster + membership SBT/vault pins; newtest_no_pre_reroll_addresses_leak.test_identity_wallet.py/test_cli.py: thepredictAddress(0x4242…)vector is now0x79A945921aF5152b97D726E5B584640fb1f80d0c, read from the live factory0x24e2a41E…withcast callon rpc.citrate.ai on 2026-10-04. It matches the SDK's local computation and the JS SDK.Version
0.6.3→0.6.4(pyproject.toml,__version__, uv.lock self-entry). CHANGELOG entry added.Release (after merge — not done here)
Publishing happens after merge, through
.github/workflows/publish.yml(PyPI Trusted Publishing/OIDC). Either publish a GitHub Release, or dispatch the workflow withpublish_version=0.6.4. Nothing has been published to PyPI.🤖 Generated with Claude Code
https://claude.ai/code/session_01Vv2gVzy5XLFKg48yckN9YQ