Skip to content

feat: implement issues #212-#215 (reputation, idempotency, payload gu…#259

Merged
Kingsman-99 merged 2 commits into
Stellar-split:mainfrom
cybermax4200:feat/issues-212-215
Jun 26, 2026
Merged

feat: implement issues #212-#215 (reputation, idempotency, payload gu…#259
Kingsman-99 merged 2 commits into
Stellar-split:mainfrom
cybermax4200:feat/issues-212-215

Conversation

@cybermax4200

@cybermax4200 cybermax4200 commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

Closes #212 - Invoice Creator Reputation Aggregator

  • New `src/reputation.ts` with `computeCreatorReputation()`
  • Computes completion rate, average funding time, dispute rate, and overall score
  • Configurable weights for each component

Closes #213 - Payload Size Guard

  • New `src/payloadGuard.ts` with `validateInvoicePayload()`
  • Pre-flight check for oversized invoice metadata
  • Configurable limits for recipients, memo length, and serialized size
  • Hooked into `StellarSplitClient.createInvoice()` via `payloadGuard` config

Closes #214 - Idempotency Key Manager

  • New `src/idempotency.ts` with `IdempotencyManager` class
  • SHA-256 based deterministic keys from source address + operation XDR
  • Configurable TTL and max entries
  • Hooked into `StellarSplitClient._submitTx()` to short-circuit duplicate submissions via `idempotency` config

Closes #215 - Invoice Payment Forecast Model

  • New `src/forecast.ts` with `computePaymentForecast()`
  • Blends current invoice prediction with historical data from similar invoices (same creator, similar amount range)
  • Configurable amount tolerance and minimum sample size
  • Extends existing `computePrediction()` from predictor.ts

All features include full test coverage and are exported from the public API."

…n, idempotency, payload guard, forecast)
@drips-wave

drips-wave Bot commented Jun 26, 2026

Copy link
Copy Markdown

@cybermax4200 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 94d48f4 into Stellar-split:main Jun 26, 2026
1 check passed
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