Skip to content

feat: resolve issues #690 #691 #692 #693 - #797

Merged
Kingsman-99 merged 1 commit into
Stellar-split:mainfrom
ahmadadebayo78-boop:feat/issues-690-691-692-693
Aug 31, 2026
Merged

feat: resolve issues #690 #691 #692 #693#797
Kingsman-99 merged 1 commit into
Stellar-split:mainfrom
ahmadadebayo78-boop:feat/issues-690-691-692-693

Conversation

@ahmadadebayo78-boop

Copy link
Copy Markdown
Contributor

#693 tokenGateController: add time-bounded gate windows

  • Define TokenGatePolicy interface in src/types.ts with validFrom/validUntil fields
  • Evaluate time window in verify() before balance check; gate returns false (or warns in non-strict mode) outside the active window
  • Add 6 time-window unit tests to test/tokenGateController.test.ts

#692 horizonPaginator: automatic page-size negotiation

  • Add HorizonPaginator class with effectivePageSize read-only property
  • On first page response, detect server-capped page size via observeFirstPage()
  • Use effectivePageSize in isLastPage() to prevent premature termination
  • Add pageSize option to HorizonPaginatorOptions in src/types.ts
  • Add page-size negotiation integration tests to test/horizonPaginator.test.ts

#691 invoiceBatchProcessor: partial-failure handling tests

  • Add processAll() method returning { succeeded, failed } arrays
  • Create src/tests/invoiceBatchProcessor.test.ts with 3 required tests: one-invoice-throws continues batch, succeeded/failed arrays are correct, all-fail returns empty succeeded array

#690 feeSurgeDetector: moving-average baseline

  • Add windowSize config option (default 20) for sliding fee sample window
  • addFeeSample() maintains a circular buffer of recent observations
  • movingAverageBaseline() returns null (static fallback) until window is full
  • Export resetFeeSurgeWindow() and getFeeSampleWindow() for testability
  • Create test/feeSurgeDetector.test.ts with 8 unit tests

misc: clean up .gitignore (dist trailing slash, vitest-cache, junit.xml)
closes #690
closes #691
closes #692
closes #693

…t#692 Stellar-split#693

Stellar-split#693 tokenGateController: add time-bounded gate windows
- Define TokenGatePolicy interface in src/types.ts with validFrom/validUntil fields
- Evaluate time window in verify() before balance check; gate returns false
  (or warns in non-strict mode) outside the active window
- Add 6 time-window unit tests to test/tokenGateController.test.ts

Stellar-split#692 horizonPaginator: automatic page-size negotiation
- Add HorizonPaginator class with effectivePageSize read-only property
- On first page response, detect server-capped page size via observeFirstPage()
- Use effectivePageSize in isLastPage() to prevent premature termination
- Add pageSize option to HorizonPaginatorOptions in src/types.ts
- Add page-size negotiation integration tests to test/horizonPaginator.test.ts

Stellar-split#691 invoiceBatchProcessor: partial-failure handling tests
- Add processAll() method returning { succeeded, failed } arrays
- Create src/__tests__/invoiceBatchProcessor.test.ts with 3 required tests:
  one-invoice-throws continues batch, succeeded/failed arrays are correct,
  all-fail returns empty succeeded array

Stellar-split#690 feeSurgeDetector: moving-average baseline
- Add windowSize config option (default 20) for sliding fee sample window
- addFeeSample() maintains a circular buffer of recent observations
- movingAverageBaseline() returns null (static fallback) until window is full
- Export resetFeeSurgeWindow() and getFeeSampleWindow() for testability
- Create test/feeSurgeDetector.test.ts with 8 unit tests

misc: clean up .gitignore (dist trailing slash, vitest-cache, junit.xml)
@drips-wave

drips-wave Bot commented Aug 31, 2026

Copy link
Copy Markdown

@ahmadadebayo78-boop 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

@Kingsman-99
Kingsman-99 merged commit f496ac8 into Stellar-split:main Aug 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants