0.32.10 — take the two Polymarket SDK majors, on one verified baseline#78
Open
VickyXAI wants to merge 1 commit into
Open
0.32.10 — take the two Polymarket SDK majors, on one verified baseline#78VickyXAI wants to merge 1 commit into
VickyXAI wants to merge 1 commit into
Conversation
Both had been sitting unreviewed. Franklin's port of this module just took them (3.38.0), so landing them here puts the two repos back on a single baseline — the source is byte-faithful between them and only the pins had diverged. clob-client-v2 1.0.8 -> 1.1.0: postOrder gained waitForResolvedTrades, so a matched order gets its settlement hashes back-filled and the return type tightens from Promise<any> to Promise<OrderResponse>. orders.ts already read transactionsHashes/tradeIDs, so this makes an existing display path more often correct rather than changing it. No test here places an order, so this was verified against the shipped bundle: unmatched orders return untouched with zero polls (the resting-limit path is unaffected), responses that already carry hashes short-circuit, FAILED trades are filtered so a failed fill is never reported as a settlement hash, and the worst case — getTrades failing persistently — measured 30.1s before degrading and returning the placed order rather than throwing. builder-signing-sdk 0.0.8 -> 1.0.0 plus an override: 1.0.0 is a pure CJS->ESM port with the signing logic untouched. The override is needed because builder-relayer-client still pins ^0.0.8 (patch-only under npm semver for 0.0.x), and both BuilderConfig declarations carry a private ensureValid, which TS compares nominally. Collapsing to one copy is safe because relayer-client never requires the SDK at runtime — type-only, duck-typed, no instanceof anywhere in its bundle. The CJS/ESM seam was exercised for real and produced correct POLY_BUILDER_* headers across the boundary. Neither upgrade adds a transitive dependency. 250 tests, typecheck and build green, plus a CLI load smoke since a broken module graph is the class of failure 0.32.3 shipped.
VickyXAI
force-pushed
the
chore/polymarket-sdk-bump
branch
from
July 26, 2026 05:39
0c47bcd to
d79699d
Compare
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.
Both Polymarket SDK majors had been sitting unreviewed. Franklin's port of this
module just took them in 3.38.0, so landing them here puts the two repos back on
a single baseline — the source is byte-faithful between them, and only the pins
had diverged.
Neither upgrade adds a transitive dependency: clob-client-v2's dependency set is
identical between the two versions, and builder-signing-sdk's is strictly smaller
(it drops
tsliband a stale@types/node ^18that should never have been aruntime dependency).
@polymarket/clob-client-v21.0.8 → 1.1.0postOrdergainedwaitForResolvedTrades: a matched order now gets thesettlement transaction hashes of its fills back-filled, and the return type
tightens from
Promise<any>toPromise<OrderResponse>.orders.tsalreadyread
transactionsHashesandtradeIDsoff the response, so this makes anexisting display path more often correct rather than changing it —
filledandthe
tx:line now resolve on matched orders instead of only when the serverhappened to include them.
This is the order path and no test here places an order, so it was verified
against the shipped bundle rather than the release notes:
tradeIDsempty)transactionsHashesfilled from the resolved tradeFAILEDtradegetTradesfailing persistently (worst case)The added latency lands only on matched orders and is bounded by
RESOLVE_TRADES_TIMEOUT_MS(30 s, 250 ms poll).@polymarket/builder-signing-sdk0.0.8 → 1.0.0, with an override1.0.0 is a pure CJS→ESM port: every non-import change in the bundle is
exports.X→exportboilerplate, and the HMAC signing logic is untouched.It needs an
overridesentry because@polymarket/builder-relayer-clientstillpins
^0.0.8, and a caret on0.0.xis patch-only under npm semver — so withoutit npm installs a second copy, and both
BuilderConfigdeclarations carry aprivate
ensureValid, which TypeScript compares nominally.Collapsing to one copy is safe for a specific reason worth recording:
builder-relayer-clientnever requires the signing SDK at runtime. It is atype-only dependency, consumed by duck-typing
(
builderConfig.generateBuilderHeaders(),.isValid()), with noinstanceofcheck anywhere in its bundle — and nothing else in the tree requires it either.
The CJS/ESM seam was then exercised for real: a 1.0.0
BuilderConfighanded tothe CJS
RelayClientproduced correctPOLY_BUILDER_*headers across theboundary.
One caveat recorded in the CHANGELOG: npm
overridesdo not propagate toconsumers, so an installed
@blockrun/mcpgets both copies on disk. Harmless forthe same reason — nothing loads the nested one.
Verification
npm run typecheck— cleannpm run build— cleannpm test— 250/250node dist/index.js --version→0.32.10, exit 0 (a broken module graph isexactly the class of failure 0.32.3 shipped)
transaction sent