Skip to content

Fix duplicate logger binding, unpaginated issue labeling, fake SEP-10 challenge, and hardcoded e2e secret - #350

Merged
Idaonoli merged 1 commit into
stellar-compliance-kit:mainfrom
kanengchik:fix/issues-224-227
Aug 26, 2026
Merged

Fix duplicate logger binding, unpaginated issue labeling, fake SEP-10 challenge, and hardcoded e2e secret#350
Idaonoli merged 1 commit into
stellar-compliance-kit:mainfrom
kanengchik:fix/issues-224-227

Conversation

@kanengchik

@kanengchik kanengchik commented Aug 25, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes four issues:

Test plan

  • npm run build --workspaces --if-present — all packages, including sanctions-oracle and e2e-tests, build/typecheck cleanly
  • node --check on both modified .js files
  • npm run test --workspaces --if-present -- --testPathIgnorePatterns=e2e-tests — no new failures (pre-existing, unrelated failures in horizon-listener's metrics.test.ts/eventSource.test.ts and sanctions-oracle's test suite confirmed present on main before this branch's changes)
  • npx eslint sep10-auth/src sanctions-oracle/src horizon-listener/src --ext .ts — clean
  • Manually ran examples/full-stack-demo/server.js and confirmed GET /challenge returns a real signed SEP-10 challenge XDR instead of the placeholder string

… challenge, and hardcoded e2e secret key

Closes stellar-compliance-kit#224, stellar-compliance-kit#225, stellar-compliance-kit#226, stellar-compliance-kit#227.

- sanctions-oracle: confirm the duplicate `logger` destructuring key in
  syncSanctionsToDenylist's SyncOptions (issue stellar-compliance-kit#224) was already removed by
  bcb0a05; the package now builds cleanly via `npm run build`. Closing out
  the tracking issue since it wasn't marked resolved.

- scripts/apply-package-labels.js: applyLabelToOpenIssues now uses
  octokit.paginate instead of a single per_page:100 request, so labeling
  covers every open issue instead of silently stopping after the first page.

- examples/full-stack-demo: GET /challenge now calls sep10-auth's
  generateChallenge with a real server keypair instead of returning a
  hardcoded, unsigned placeholder string. The server keypair is loaded from
  a new SERVER_SECRET_KEY env var, falling back to an ephemeral in-memory
  keypair (with a console warning) for local dev; SERVER_ACCOUNT_ID now
  defaults to that keypair's public key so /challenge and /private stay
  consistent out of the box. README updated to document the new variable.

- e2e-tests/test/setup.ts: TEST_CONFIG.issuer no longer hardcodes a Stellar
  secret key literal. It's generated fresh via Keypair.random() at setup
  time (funded via friendbot in the existing test flow), with an optional
  E2E_ISSUER_SECRET env var to pin a stable identity for CI/docker-compose.
@drips-wave

drips-wave Bot commented Aug 25, 2026

Copy link
Copy Markdown

@kanengchik Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@Idaonoli
Idaonoli merged commit 162393b into stellar-compliance-kit:main Aug 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment