chore(sidecar): pin world-id-core to 0.10.1 release#233
Conversation
Switch from a git dependency to the published 0.10.1 crate (aligned with walletkit-core 0.16.0) and migrate to its updated proof API: use the combined `generate_proof` flow, the new `requests`/`CredentialInput` types, and `embed-zkeys` + `zstd-compress-zkeys` features. Also expand the example identity seed to 32 bytes. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Warning Review the following alerts detected in dependencies. According to your organization's Security Policy, it is recommended to resolve "Warn" alerts. Learn more about Socket for GitHub.
|
Sidecar previously returned 500 for any AuthenticatorError, including
request-level failures like invalid_rp_signature / rp_signature_expired
that originate from the RP, not the sidecar. Map these to 400 with a
structured `{error_code, error}` body, walking the source chain to
extract the WorldIdRequestAuthError snake_case code when present.
Request-validation errors (malformed proof_request, endpoint/type
mismatch) likewise become 400.
In the simulator UI, any 4xx response carrying an `error_code` is now
forwarded to the bridge via `rejectRequestV4` and the drawer closes
silently. The error modal is reserved for 5xx and network failures.
This lets IDKit surface the real error to the dapp instead of the
simulator showing its own generic failure state.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Add /target/, sidecar/target-docker/, and .claude/ to .gitignore so local Rust build outputs and tool state don't pollute git status. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…rors The live sidecar populates both fields and the precise snake_case code ends up in `error` (e.g. `error: "invalid_rp_signature"`) while `error_code` may be a generic bucket like `proof_generation_failed`. Forward the more specific value to the bridge so IDKit sees the real failure code instead of the generic one. Also tighten the sidecar's error_code extraction so future builds stop emitting the generic bucket whenever Display already surfaces the code: walking source() never reaches the inner WorldIdRequestAuthError because thiserror's `#[error(transparent)]` forwards source through it. Use the AuthenticatorError's own Display when it looks like a snake_case identifier (which it does for transparent request-auth errors). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Replace the regex heuristic with a direct pattern match on `AuthenticatorError::ProofError(ProofError::RequestAuthError(_))` so the sidecar always emits the right snake_case code in `error_code` (e.g. `invalid_rp_signature`). Adds `world-id-proof` as a direct dep, pinned to the same 0.10.1 already pulled in transitively. With the sidecar fixed, drop the simulator's `error` vs `error_code` preference dance — `error_code` is now authoritative. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Summary
world-id-coregit dependency with the published 0.10.1 release (aligned with walletkit-core 0.16.0) and switch features toembed-zkeys+zstd-compress-zkeys.requests::ProofRequest/ProofResponse,CredentialInput, and the consolidatedAuthenticator::generate_proofinstead of orchestrating nullifier / session-id / per-credential proofs by hand.identities.example.jsonto 32 bytes to match the new validation.Test plan
cargo build -p sidecarcargo clippy -p sidecar --all-targets/v1/proofand/v1/session-proofagainst a sample identity and confirm the response matches a known-good IDKit verification🤖 Generated with Claude Code