Conversation
This was referenced Sep 30, 2026
Wondertan
added this pull request to stack #68
September 30, 2026 20:04
An error occurred while trying to automatically change base from
feat/ceremony-rebuild-plan
to
main
October 1, 2026 10:59
Wondertan
force-pushed
the
feat/ledger-catalog
branch
from
October 2, 2026 20:12
e2f118c to
93f3dc7
Compare
Wondertan
removed this pull request from stack #68
October 2, 2026 20:13
Wondertan
added this pull request to stack #107
October 2, 2026 20:13
🚀 Deploying Preview to Cloudflare 🚀Preview URL: https://feat-ledger-catalog.previews.lib.id, https://feat-ledger-catalog-libid.grounded-systems.workers.dev (commit 5c9d301)This URL reflects your latest Preview deploymentPreview Deployments by commit
|
LedgerId gains a CAIP-2 `chain`. `defineLedger` builds a `Ledger` with its name, testnet flag, native currency and uninterpreted named deployments, and derives the eip155 Chain Profile hash as keccak256(abi.encode(chainId)). The catalog starts with Eden testnet, whose hash matches its deployed verifier. BREAKING CHANGE: LedgerId implementations must provide `chain`. Assisted-by: Claude Opus 5.5 Signed-off-by: Wondertan <hlibwondertan@gmail.com>
Wondertan
force-pushed
the
feat/ledger-catalog
branch
from
October 2, 2026 20:14
93f3dc7 to
5c9d301
Compare
This branch has not been deployed
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.
Summary
Moves the supported-ledger catalog into
@libid/ledger, so@libid/identityand other consumers share one definition of each chain and its libID deployments.LedgerIdgainschain, a CAIP-2 identifier such aseip155:3735928814. Consumers use it to key wallet sessions and look up networks; ceremony behavior is unchanged.LedgerextendsLedgerIdwith a name, testnet flag, native currency, andaddresses: named deployments the package stores uninterpreted. Consumers give each name its meaning and can require the names they need in their own types.defineLedgervalidates a definition and derives the Chain Profile hash from the chain id. Foreip155that iskeccak256(abi.encode(uint256 chainId)), matchingCeremonyAuthorization.chainId(). Onlyeip155is implemented.ledgers['eden-testnet']is the first catalog entry. The catalog holds no RPC or indexer endpoints; consumers supply those.test:chain ids, and the dev app's synthetic ledger gainschain: 'test:local'. One ceremony test that builds aLedgerIdby hand gainschain.Breaking:
@libid/ledger0.1.0 is published, andLedgerIdgains a requiredchain, so every implementation must add one.defineLedgerdoes not re-validate the notary origin: the ceremony already checks it when a run snapshots the ledger, and doing it here would pull a DOM or Node lib into this package.The RPC and wallet access layer (namespace-keyed queries and commands, the eip155 driver) is planned as a separate follow-up.
Verification
pnpm --filter @libid/ledger build,typecheck,test: 8 tests pass, including a type-level check that catalog literals are preserved; it was confirmed to fail when the expected type is wrong.CeremonyProofVerifier.chainId()read from the deployed verifier (0x76BD…9275,0x70c2…e41c) on 2026-09-30.eip155:1andeip155:31337vectors were computed independently with viem.pnpm build,typecheck,test(ledger 8, popup 154, ceremony 996),lint,fmt:checkandtest:packagespass onmainatcbe7f35.Not run: ceremony Playwright e2e suites (no ceremony runtime changes).