Add finalized did:ethr event-history caching - #128
Conversation
|
Reviewed the diff ( Overall: solid, well-defended change. Notes below, no blocking objections. What's good
Minor comments, non-blocking
Test coverage for the cache (default-off, stale-watermark rejection, corrupt-cache fail-closed, unregistered-identity non-caching, size caps, read/write failure fallback) looks appropriately adversarial. Nothing here should block merge once it's out of draft. Generated by Claude Code |
|
Revalidated head Generated by Claude Code |
Fixes #118
Summary
finalizedblock tag and fall back to the full walk when unsupportedchanged(identity)and all post-watermark events live while eliminating repeateth_getLogscalls for immutable historypreviousChangechecksWhy
did:ethr resolution previously replayed every historical change block on every request. Long-lived resolvers therefore paid one sequential
eth_getLogsround trip per history block even after those blocks were finalized and immutable.Validation
dotnet build netdid.sln -c Release --no-restore --tl:off --disable-build-servers -m:1— 0 warnings, 0 errorsdotnet test netdid.sln -c Release --no-build— 1,653 passed, 7 environment-gated real-registry tests skipped, 0 failedgit diff --check— cleanCompatibility and impact
Caching remains disabled by default. Existing
DidEthrMethodconstruction and one-argumentAddDidEthroverloads preserve the full uncached walk. Write/deactivate behavior and package versions are unchanged.