chore(deps): bump @effectstream/* 0.200.2 -> 0.200.6 on ledger-v9 (carries the trustProxy fix) - #75
Merged
Conversation
0.200.6 is the first 0.200.x release that carries the runtime trust-proxy fix (EFFECTSTREAM_TRUST_PROXY, effectstream PR #925) -- verified against the published tarballs: 0.200.4 and 0.200.5 still build Fastify without `trustProxy`, 0.200.6 has `parseTrustProxy(ENV.EFFECTSTREAM_TRUST_PROXY)` in `@effectstream/runtime/src/api/http-server.ts` and the config entry in `@effectstream/utils`. Until the runtime this line pins can read X-Forwarded-For, every client behind nginx lands in one shared rate-limit bucket, so the ledger-v9 side of the 600/min default (kernel PR #74) only raises the ceiling for the proxy itself. This bump carries that fix onto the ledger-v9 line. Bumps the 16 @effectstream packages pinned at 0.200.2 across the 11 manifests that reference them. @effectstream/mip-zswap-offer stays at 0.4.0-v9.0 (ledger-v9 contract artifact, versioned independently). @effectstream/midnight-contracts@0.200.6 declares the identical midnight wallet-sdk / ledger-v9 / compact-runtime set as 0.200.2, so no midnight version moves with it. The one third-party move the bump drags in is ntp-time-sync: transitive @effectstream/sync tightened `^0.5.0` to an exact `0.6.0`, so the pin guard in the E1 NTP responder suite is updated to match. The suite's behavioural assertions (eight-sample two-round exchange, per-request permit/sent pairing, harness counters) pass unchanged against 0.6.0 -- 12/12.
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.
Bumps every
@effectstream/*dependency pinned at0.200.2to0.200.6across theledger-v9line, and regeneratesbun.lock. Base:ledger-v9@bd0cde7(the merge of #74).Why 0.200.6
0.200.6is the first0.200.xrelease that carries the runtime trust-proxy fix —EFFECTSTREAM_TRUST_PROXY/parseTrustProxy(), effectstream #925. Verified against the published tarballs rather than assumed: the published0.200.xruntimes are0.200.1, 0.200.2, 0.200.4, 0.200.5, 0.200.6(there is no.3);0.200.4and0.200.5still build Fastify with notrustProxy, and only0.200.6has@effectstream/runtime/src/api/http-server.ts:203—trustProxy: parseTrustProxy(ENV.EFFECTSTREAM_TRUST_PROXY)@effectstream/utils/src/config.ts:210— theEFFECTSTREAM_TRUST_PROXYconfig entryWithout it,
request.ipis nginx for every caller, so all clients behind the proxy share one rate-limit bucket and #74'sAPI_RATE_LIMIT_MAXdefault of 600/min only raises the ceiling for the proxy itself. This bump is what makes theledger-v9half of that fix actually per-client.Pins
16
@effectstreampackages, 11 manifests, 30 dependency lines, all0.200.2→0.200.6:wallets(docs) ·celestia·midnight-contracts·orchestrator(root) ·batcher-sdk·utils·runtime·db·config·sm·concise·coroutine·log·npm-midnight-indexer·npm-midnight-node·npm-midnight-proof-serverEach was confirmed to exist at
0.200.6withnpm view @effectstream/<name>@0.200.6 versionbefore the bump — all 16 resolve, none missing.@effectstream/mip-zswap-offerstays at0.4.0-v9.0(ledger-v9 contract artifact, versioned independently) — 6 lines deliberately untouched.Lockfile assertions
grep -c ledger-v8 bun.lock@effectstream/*@0.103inbun.lock0.103substring anywhere@effectstream/*@0.200.2inbun.lock0.200.2substring anywhere.0.200.6: 50 occurrences, exactly the 50 that were0.200.2@effectstream; the other 6 are the single third-party move belowbun install --frozen-lockfileon a fresh clone of this commitResolved midnight wallet-sdk set matches
@effectstream/midnight-contracts@0.200.6's requirements and is unchanged from0.200.2—npm view ... dependenciesfor the two versions is identical except the contracts package's own@effectstream/utilspin:wallet-sdk-facade5.0.0-beta.2 ·wallet-sdk-dust-wallet5.0.0-beta.2 ·wallet-sdk-shielded4.0.0-beta.2 ·wallet-sdk-unshielded-wallet4.0.0-beta.2 ·wallet-sdk-capabilities4.0.0-beta.2 ·wallet-sdk-address-format4.0.0-beta.2 ·wallet-sdk-hd3.1.0-beta.1 ·wallet-sdk-abstractions3.0.0-beta.0 ·@midnightntwrk/ledger-v91.0.0-rc.3 ·onchain-runtime-v44.0.0-rc.3 · midnight-js 5.0.0-beta.6No midnight version moves with this bump.
The one third-party move:
ntp-time-sync0.5.0 → 0.6.0Transitive
@effectstream/synctightenedntp-time-syncfrom^0.5.0to an exact0.6.0between the two releases, which also pullsntp-packet-parser0.5.0 → 0.6.1. That trips the deliberate pin guard inpackages/tests/grand-e2e/lib/solver-offerfiles-real-ntp-responder.test.ts(expect(ntpPackageManifest.version).toBe("0.5.0")) — which is exactly what that guard is for.The guard is re-pinned to
0.6.0after checking the new version behaves the same, not instead of checking: the suite passes 12/12 (177 expect) against0.6.0, including the eight-sample two-round exchange, per-request permit/sent pairing and every harness counter. Sontp-time-sync@0.6.0is wire-compatible with the E1 responder. Two lines: the assertion and the test title.Gates
Run in a space-free copy (this workspace's path contains a space — Offer Files issue 00009), host Bun 1.3.11-canary.1; CI pins 1.3.3.
bun run typecheck(backend + solver + price-feed)bun run check:pgtypesbun run check:compact-runtimecompact-runtime invariant OK: @midnight-ntwrk/compact-runtime@0.19.0ci.yml)solver-offerfiles-real-ntp-responder.test.tsThe single failure is
solver-offerfiles-real-image-secret-scan→ "handles a large physical inventory and internal-link fanout without process amplification": scanner exit 70, stderrimage-secret-scan: fail (link-broken-or-loop-truncated)after ~6 s — a truncated inventory over the 16 000-hardlink fixture, not the 25 s timeout the case guards.It is not caused by this bump. Run head-to-head against an unmodified
ledger-v9@bd0cde7clone with the original lockfile, the same case passed on the first run and failed on the second. Non-deterministic on this macOS host on both trees; CI's Linux runner does not hit it.trade-data.test.ts"Connection terminated" (the known PGlite flake) did not occur in either full run.Not a breaking change
Pin-only. No source change outside the two-line test guard, no API, schema or config surface moves.
EFFECTSTREAM_TRUST_PROXYdefaults totruein the runtime this now pins, which is a behaviour change in the runtime (already flagged on effectstream #925): behind a proxyrequest.ipbecomes the client address instead of the proxy's, which is the entire point. A deployment that wants the old shared-bucket behaviour setsEFFECTSTREAM_TRUST_PROXY=false.Out of scope, noted
Prose/provenance references to
0.200.2remain inLEDGER-V9-MIGRATION.md(4),deploy/images/{midnight-node,proof-server,indexer}/Dockerfile(4) anddeploy/scripts/lib/pinned-wallet.ts(2). They are historical provenance comments, not pins. The threenpm-midnight-*packages have identical dependency sets at both versions, so those comments are not wrong about the binaries — only about which source version was read.Project
00043-rate-limit-shared-bucket, task P6a. Related: #73 (main), #74 (ledger-v9, merged — this PR completes it), effectstream #925 (v-next, the runtime fix) and #926 (midnight-1port, blocked on the OIDC release port). Draft until the owner wants it merged.