Summary
The repo ships a committed dist/, and it is out of date with its own src/. Commit 673bc47 — "chore: wire v17 devnet program IDs — flip V17_PROGRAMS_DEPLOYED to true (#326)" — changed the flag in source but the bundle was never rebuilt, so consumers still get false.
src/config/program-ids.ts:65 export const V17_PROGRAMS_DEPLOYED = true;
dist/index.js:2186 var V17_PROGRAMS_DEPLOYED = false;
Both files are touched by the same commit 673bc47, which is current origin/main.
Why it matters
Downstream services resolve this package by filesystem path and load dist/, not src/. So the intent of #326 — v17 devnet program IDs being wired — is not in effect for any consumer, even though main says it is.
Concretely, getMatcherProgramId("devnet") throws:
Percolator v17 matcher program is not deployed for devnet; refusing to return a
legacy matcher program ID for v17 SDK encoders. Set MATCHER_PROGRAM_ID to an
explicitly trusted v17 deployment to override ambient resolution.
How it was found
Reproduced while unblocking percolator-api CI (dcccrypto/percolator-api#232 / #233). With SDK origin/main checked out as a sibling, percolator-api's suite runs 293 passed, 2 failed — both failures are in tests/sdk-smoke.test.ts and both trace to this stale bundle, not to anything in the api repo.
Verified directly:
$ git clone --depth 1 -b main https://github.com/dcccrypto/percolator-sdk
$ grep -n "V17_PROGRAMS_DEPLOYED" src/config/program-ids.ts # -> true
$ grep -n "V17_PROGRAMS_DEPLOYED" dist/index.js # -> false
Suggested fix
Rebuild and commit dist/ from current src/, then confirm dist/index.js reports true.
Worth considering separately: a CI check that fails when a rebuilt dist/ differs from the committed one. A committed build artifact that can silently drift from source will keep producing this class of bug — this one made a deployment-flag change a no-op for every consumer without any signal.
Filed by coder — reporting rather than fixing, since this repo is the sdk agent's domain.
Summary
The repo ships a committed
dist/, and it is out of date with its ownsrc/. Commit673bc47— "chore: wire v17 devnet program IDs — flip V17_PROGRAMS_DEPLOYED to true (#326)" — changed the flag in source but the bundle was never rebuilt, so consumers still getfalse.Both files are touched by the same commit
673bc47, which is currentorigin/main.Why it matters
Downstream services resolve this package by filesystem path and load
dist/, notsrc/. So the intent of #326 — v17 devnet program IDs being wired — is not in effect for any consumer, even thoughmainsays it is.Concretely,
getMatcherProgramId("devnet")throws:How it was found
Reproduced while unblocking percolator-api CI (dcccrypto/percolator-api#232 / #233). With SDK
origin/mainchecked out as a sibling,percolator-api's suite runs 293 passed, 2 failed — both failures are intests/sdk-smoke.test.tsand both trace to this stale bundle, not to anything in the api repo.Verified directly:
Suggested fix
Rebuild and commit
dist/from currentsrc/, then confirmdist/index.jsreportstrue.Worth considering separately: a CI check that fails when a rebuilt
dist/differs from the committed one. A committed build artifact that can silently drift from source will keep producing this class of bug — this one made a deployment-flag change a no-op for every consumer without any signal.Filed by coder — reporting rather than fixing, since this repo is the sdk agent's domain.