@resvary/sdk 0.5.0-alpha.2 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist/billing/meter.d.ts.map +1 -1
  2. package/dist/billing/meter.js +1 -3
  3. package/dist/billing/meter.js.map +1 -1
  4. package/dist/billing/plans.d.ts.map +1 -1
  5. package/dist/billing/plans.js.map +1 -1
  6. package/dist/client/buyer.d.ts.map +1 -1
  7. package/dist/client/buyer.js +4 -4
  8. package/dist/client/buyer.js.map +1 -1
  9. package/dist/credits/ledger.d.ts.map +1 -1
  10. package/dist/credits/ledger.js +11 -2
  11. package/dist/credits/ledger.js.map +1 -1
  12. package/dist/credits/store.d.ts +3 -2
  13. package/dist/credits/store.d.ts.map +1 -1
  14. package/dist/credits/store.js +7 -4
  15. package/dist/credits/store.js.map +1 -1
  16. package/dist/middleware/next.d.ts.map +1 -1
  17. package/dist/middleware/next.js.map +1 -1
  18. package/dist/middleware/paywall.d.ts.map +1 -1
  19. package/dist/middleware/paywall.js.map +1 -1
  20. package/dist/receipts/amount.d.ts.map +1 -1
  21. package/dist/receipts/amount.js +1 -2
  22. package/dist/receipts/amount.js.map +1 -1
  23. package/dist/receipts/index.d.ts +2 -2
  24. package/dist/receipts/index.d.ts.map +1 -1
  25. package/dist/receipts/index.js +1 -1
  26. package/dist/receipts/index.js.map +1 -1
  27. package/dist/receipts/invoice.js +3 -3
  28. package/dist/receipts/invoice.js.map +1 -1
  29. package/dist/receipts/ledger.d.ts.map +1 -1
  30. package/dist/receipts/ledger.js +22 -7
  31. package/dist/receipts/ledger.js.map +1 -1
  32. package/dist/receipts/memo-payment.d.ts.map +1 -1
  33. package/dist/receipts/memo-payment.js +1 -1
  34. package/dist/receipts/memo-payment.js.map +1 -1
  35. package/dist/receipts/memo.d.ts.map +1 -1
  36. package/dist/receipts/memo.js +1 -5
  37. package/dist/receipts/memo.js.map +1 -1
  38. package/dist/receipts/persistent-ledger.d.ts +5 -3
  39. package/dist/receipts/persistent-ledger.d.ts.map +1 -1
  40. package/dist/receipts/persistent-ledger.js +89 -49
  41. package/dist/receipts/persistent-ledger.js.map +1 -1
  42. package/dist/receipts/persistent-webhook-inbox.d.ts.map +1 -1
  43. package/dist/receipts/persistent-webhook-inbox.js +5 -7
  44. package/dist/receipts/persistent-webhook-inbox.js.map +1 -1
  45. package/dist/receipts/proof.d.ts.map +1 -1
  46. package/dist/receipts/proof.js +10 -8
  47. package/dist/receipts/proof.js.map +1 -1
  48. package/dist/receipts/serialization.js +4 -4
  49. package/dist/receipts/serialization.js.map +1 -1
  50. package/dist/receipts/store.d.ts +6 -1
  51. package/dist/receipts/store.d.ts.map +1 -1
  52. package/dist/receipts/store.js +39 -7
  53. package/dist/receipts/store.js.map +1 -1
  54. package/dist/receipts/webhook-inbox.d.ts.map +1 -1
  55. package/dist/receipts/webhook-inbox.js +5 -7
  56. package/dist/receipts/webhook-inbox.js.map +1 -1
  57. package/dist/receipts/webhook-route.d.ts.map +1 -1
  58. package/dist/receipts/webhook-route.js +2 -2
  59. package/dist/receipts/webhook-route.js.map +1 -1
  60. package/dist/receipts/webhooks.d.ts.map +1 -1
  61. package/dist/receipts/webhooks.js +2 -6
  62. package/dist/receipts/webhooks.js.map +1 -1
  63. package/package.json +2 -3
@@ -9,8 +9,8 @@ export { createWebhookEvent, serializeWebhookPayload, signWebhookEvent, verifyWe
9
9
  export { WebhookInbox, type ReceiveWebhookInput, type ReplayWebhookInput, type WebhookDeliveryFilter, } from './webhook-inbox.js';
10
10
  export { PersistentReceiptLedger, type PersistentReceiptLedgerConfig, } from './persistent-ledger.js';
11
11
  export { PersistentWebhookInbox, type PersistentReceiveWebhookInput, type PersistentReplayWebhookInput, type PersistentWebhookInboxConfig, } from './persistent-webhook-inbox.js';
12
- export { InMemoryReceiptStore, createWatcherCursorKey, type ReceiptStore, type ReceiptStoreDeliveryFilter, type ReceiptStoreEventFilter, type ReceiptStoreInvoiceFilter, type WatcherCursor, type WatcherCursorKeyInput, } from './store.js';
13
- export { parseReceiptStoreValue, serializeReceiptStoreValue, } from './serialization.js';
12
+ export { InMemoryReceiptStore, type TransactionalReceiptStore, createWatcherCursorKey, type ReceiptStore, type ReceiptStoreDeliveryFilter, type ReceiptStoreEventFilter, type ReceiptStoreInvoiceFilter, type WatcherCursor, type WatcherCursorKeyInput, } from './store.js';
13
+ export { parseReceiptStoreValue, serializeReceiptStoreValue } from './serialization.js';
14
14
  export { createWebhookRouteHandler, type WebhookRouteHandlerConfig, type WebhookRouteResult, } from './webhook-route.js';
15
15
  export type { PaymentInvoice, PaymentReceipt, ReceiptOnchainProof, CreateInvoiceInput, InvoiceStatus, MemoPaymentRequest, ObservedPayment, PaymentMatchResult, ReceiptStatus, StablecoinSymbol, WebhookDeliveryAttempt, WebhookDeliveryStatus, WebhookEvent, WebhookEventType, } from './types.js';
16
16
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/receipts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,wBAAwB,EACxB,KAAK,yBAAyB,GAC/B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,4BAA4B,EACjC,KAAK,oBAAoB,GAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,mCAAmC,EACxC,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,GAClC,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,EAChB,sBAAsB,EACtB,KAAK,gBAAgB,GACtB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,YAAY,EACZ,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,uBAAuB,EACvB,KAAK,6BAA6B,GACnC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,sBAAsB,EACtB,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,GAClC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,aAAa,EAClB,KAAK,qBAAqB,GAC3B,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,yBAAyB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/receipts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,KAAK,iBAAiB,EACtB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,wBAAwB,EACxB,KAAK,yBAAyB,GAC/B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,cAAc,EACd,KAAK,oBAAoB,EACzB,KAAK,4BAA4B,EACjC,KAAK,oBAAoB,GAC1B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,EAC/B,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,mCAAmC,EACxC,KAAK,2BAA2B,EAChC,KAAK,4BAA4B,GAClC,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,EAChB,sBAAsB,EACtB,KAAK,gBAAgB,GACtB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,YAAY,EACZ,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,qBAAqB,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,uBAAuB,EACvB,KAAK,6BAA6B,GACnC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,sBAAsB,EACtB,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,4BAA4B,GAClC,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,oBAAoB,EACpB,KAAK,yBAAyB,EAC9B,sBAAsB,EACtB,KAAK,YAAY,EACjB,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,yBAAyB,EAC9B,KAAK,aAAa,EAClB,KAAK,qBAAqB,GAC3B,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EACL,yBAAyB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,GACxB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EACV,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,sBAAsB,EACtB,qBAAqB,EACrB,YAAY,EACZ,gBAAgB,GACjB,MAAM,YAAY,CAAC"}
@@ -10,6 +10,6 @@ export { WebhookInbox, } from './webhook-inbox.js';
10
10
  export { PersistentReceiptLedger, } from './persistent-ledger.js';
11
11
  export { PersistentWebhookInbox, } from './persistent-webhook-inbox.js';
12
12
  export { InMemoryReceiptStore, createWatcherCursorKey, } from './store.js';
13
- export { parseReceiptStoreValue, serializeReceiptStoreValue, } from './serialization.js';
13
+ export { parseReceiptStoreValue, serializeReceiptStoreValue } from './serialization.js';
14
14
  export { createWebhookRouteHandler, } from './webhook-route.js';
15
15
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/receipts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAqB,MAAM,aAAa,CAAC;AAC/D,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAEhB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,wBAAwB,GAEzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,cAAc,GAIf,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,GAUvB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,EAChB,sBAAsB,GAEvB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,YAAY,GAIb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,uBAAuB,GAExB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,sBAAsB,GAIvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,oBAAoB,EACpB,sBAAsB,GAOvB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,yBAAyB,GAG1B,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/receipts/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,eAAe,EACf,uBAAuB,EACvB,iBAAiB,GAClB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAqB,MAAM,aAAa,CAAC;AAC/D,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAEhB,qBAAqB,EACrB,mBAAmB,GACpB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,YAAY,EACZ,kBAAkB,EAClB,wBAAwB,GAEzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,cAAc,GAIf,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,GAUvB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EACvB,gBAAgB,EAChB,sBAAsB,GAEvB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,YAAY,GAIb,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,uBAAuB,GAExB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,sBAAsB,GAIvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,oBAAoB,EAEpB,sBAAsB,GAOvB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,oBAAoB,CAAC;AACxF,OAAO,EACL,yBAAyB,GAG1B,MAAM,oBAAoB,CAAC"}
@@ -69,9 +69,9 @@ export function matchPaymentToInvoice(invoice, payment, now = Date.now()) {
69
69
  if (payment.memo !== undefined && payment.memo !== invoice.memo) {
70
70
  return { success: false, reason: 'wrong_memo' };
71
71
  }
72
- if (payment.memoId !== undefined
73
- && invoice.memoId !== undefined
74
- && payment.memoId.toLowerCase() !== invoice.memoId.toLowerCase()) {
72
+ if (payment.memoId !== undefined &&
73
+ invoice.memoId !== undefined &&
74
+ payment.memoId.toLowerCase() !== invoice.memoId.toLowerCase()) {
75
75
  return { success: false, reason: 'wrong_memo_id' };
76
76
  }
77
77
  if (!isAmountAtLeast(payment.amount, invoice.amount)) {
@@ -1 +1 @@
1
- {"version":3,"file":"invoice.js","sourceRoot":"","sources":["../../src/receipts/invoice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"invoice.js","sourceRoot":"","sources":["../../src/receipts/invoice.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ledger.d.ts","sourceRoot":"","sources":["../../src/receipts/ledger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,YAAY,EACb,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqC;IAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqC;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAE7C,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,cAAc;IAOxD,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAQzC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAIlD,YAAY,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,cAAc,EAAE;IAcrD,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,cAAc;IAmB1E,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,cAAc;IAYhE,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,GAAE;QAAE,MAAM,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,cAAc;IAyB7G,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAIlD,kBAAkB,CAAC,MAAM,EAAE,KAAK,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAOzF,YAAY,IAAI,cAAc,EAAE;IAIhC,iBAAiB,IAAI,YAAY,EAAE;IAInC,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,aAAa;CAMtB"}
1
+ {"version":3,"file":"ledger.d.ts","sourceRoot":"","sources":["../../src/receipts/ledger.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,YAAY,EACb,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqC;IAC9D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAqC;IAC9D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAE7C,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,cAAc;IAOxD,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAQzC,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAIlD,YAAY,CAAC,MAAM,CAAC,EAAE,YAAY,GAAG,cAAc,EAAE;IAcrD,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,cAAc;IAsB1E,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,cAAc;IAYhE,YAAY,CACV,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE;QAAE,MAAM,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO,GAC3D,cAAc;IA8CjB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAIlD,kBAAkB,CAAC,MAAM,EAAE,KAAK,MAAM,EAAE,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAQzF,YAAY,IAAI,cAAc,EAAE;IAIhC,iBAAiB,IAAI,YAAY,EAAE;IAInC,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,aAAa;CAMtB"}
@@ -34,10 +34,11 @@ export class ReceiptLedger {
34
34
  });
35
35
  }
36
36
  recordPayment(invoiceId, payment) {
37
- const existingReceipt = payment.txHash
38
- ? this.getReceiptByTxHash(payment.txHash, invoiceId)
39
- : undefined;
37
+ const existingReceipt = payment.txHash ? this.getReceiptByTxHash(payment.txHash) : undefined;
40
38
  if (existingReceipt) {
39
+ if (existingReceipt.invoiceId !== invoiceId) {
40
+ throw new Error(`Payment transaction ${payment.txHash} is already assigned to invoice ${existingReceipt.invoiceId}`);
41
+ }
41
42
  return existingReceipt;
42
43
  }
43
44
  const invoice = this.requireInvoice(invoiceId);
@@ -60,7 +61,21 @@ export class ReceiptLedger {
60
61
  }
61
62
  markRefunded(invoiceId, refund = {}) {
62
63
  const invoice = this.requireInvoice(invoiceId);
63
- const receipt = [...this.receipts.values()].find((item) => item.invoiceId === invoiceId);
64
+ const invoiceReceipts = [...this.receipts.values()].filter((item) => item.invoiceId === invoiceId);
65
+ const existingRefund = invoiceReceipts.find((item) => item.status === 'refunded');
66
+ if (invoice.status === 'refunded' && existingRefund)
67
+ return existingRefund;
68
+ if (refund.txHash) {
69
+ const transactionReceipt = this.getReceiptByTxHash(refund.txHash);
70
+ if (transactionReceipt) {
71
+ if (transactionReceipt.invoiceId === invoiceId &&
72
+ transactionReceipt.status === 'refunded') {
73
+ return transactionReceipt;
74
+ }
75
+ throw new Error(`Refund transaction ${refund.txHash} is already assigned to receipt ${transactionReceipt.id}`);
76
+ }
77
+ }
78
+ const receipt = invoiceReceipts.find((item) => item.status === 'paid');
64
79
  if (!receipt) {
65
80
  throw new Error(`Cannot refund invoice without a paid receipt: ${invoiceId}`);
66
81
  }
@@ -68,7 +83,7 @@ export class ReceiptLedger {
68
83
  ...receipt,
69
84
  id: `rfnd_${receipt.id}`,
70
85
  status: 'refunded',
71
- txHash: refund.txHash ?? receipt.txHash,
86
+ txHash: refund.txHash,
72
87
  createdAt: refund.refundedAt ?? Date.now(),
73
88
  };
74
89
  this.receipts.set(refundedReceipt.id, refundedReceipt);
@@ -83,8 +98,8 @@ export class ReceiptLedger {
83
98
  return this.receipts.get(id);
84
99
  }
85
100
  getReceiptByTxHash(txHash, invoiceId) {
86
- return [...this.receipts.values()].find((receipt) => (receipt.txHash?.toLowerCase() === txHash.toLowerCase()
87
- && (invoiceId === undefined || receipt.invoiceId === invoiceId)));
101
+ return [...this.receipts.values()].find((receipt) => receipt.txHash?.toLowerCase() === txHash.toLowerCase() &&
102
+ (invoiceId === undefined || receipt.invoiceId === invoiceId));
88
103
  }
89
104
  listReceipts() {
90
105
  return [...this.receipts.values()];
@@ -1 +1 @@
1
- {"version":3,"file":"ledger.js","sourceRoot":"","sources":["../../src/receipts/ledger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ledger.js","sourceRoot":"","sources":["../../src/receipts/ledger.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"memo-payment.d.ts","sourceRoot":"","sources":["../../src/receipts/memo-payment.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBP,CAAC;AAEzB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCD,CAAC;AAEzB,MAAM,WAAW,yBAAyB;IACxC,WAAW,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC5B,YAAY,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;CAC9B;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,cAAc,EACvB,OAAO,GAAE,yBAA8B,GACtC,kBAAkB,CA8BpB"}
1
+ {"version":3,"file":"memo-payment.d.ts","sourceRoot":"","sources":["../../src/receipts/memo-payment.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBP,CAAC;AAEzB,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCD,CAAC;AAEzB,MAAM,WAAW,yBAAyB;IACxC,WAAW,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;IAC5B,YAAY,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;CAC9B;AAED,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,cAAc,EACvB,OAAO,GAAE,yBAA8B,GACtC,kBAAkB,CA8BpB"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Helpers for Arc Memo-wrapped USDC invoice payments.
3
3
  */
4
- import { encodeFunctionData, keccak256, } from 'viem';
4
+ import { encodeFunctionData, keccak256 } from 'viem';
5
5
  import { ARC_TESTNET_CONTRACTS } from '../constants.js';
6
6
  import { createInvoiceMemoData, createInvoiceMemoId } from './memo.js';
7
7
  export const ERC20_TRANSFER_ABI = [
@@ -1 +1 @@
1
- {"version":3,"file":"memo-payment.js","sourceRoot":"","sources":["../../src/receipts/memo-payment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memo-payment.js","sourceRoot":"","sources":["../../src/receipts/memo-payment.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"memo.d.ts","sourceRoot":"","sources":["../../src/receipts/memo.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAID,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,SAAY,GAAG,MAAM,CAalF;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAEpE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAEjE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAmBvE"}
1
+ {"version":3,"file":"memo.d.ts","sourceRoot":"","sources":["../../src/receipts/memo.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,SAAS,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAID,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,SAAY,GAAG,MAAM,CAalF;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAEpE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAEjE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAavE"}
@@ -22,11 +22,7 @@ export function createInvoiceMemoData(memo) {
22
22
  }
23
23
  export function parseInvoiceMemo(memo) {
24
24
  const [namespace, kind, version, invoiceId, ...extra] = memo.split(':');
25
- if (!namespace
26
- || kind !== 'invoice'
27
- || version !== 'v1'
28
- || !invoiceId
29
- || extra.length > 0) {
25
+ if (!namespace || kind !== 'invoice' || version !== 'v1' || !invoiceId || extra.length > 0) {
30
26
  return null;
31
27
  }
32
28
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"memo.js","sourceRoot":"","sources":["../../src/receipts/memo.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAS9C,MAAM,OAAO,GAAG,kBAAkB,CAAC;AAEnC,MAAM,UAAU,iBAAiB,CAAC,SAAiB,EAAE,SAAS,GAAG,SAAS;IACxE,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IACxC,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IAExC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;IAC/F,CAAC;IAED,OAAO,GAAG,cAAc,eAAe,cAAc,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,OAAO,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAExE,IACE,CAAC,SAAS;WACP,IAAI,KAAK,SAAS;WAClB,OAAO,KAAK,IAAI;WAChB,CAAC,SAAS;WACV,KAAK,CAAC,MAAM,GAAG,CAAC,EACnB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,SAAS;QACT,IAAI;QACJ,OAAO;QACP,SAAS;KACV,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"memo.js","sourceRoot":"","sources":["../../src/receipts/memo.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAS9C,MAAM,OAAO,GAAG,kBAAkB,CAAC;AAEnC,MAAM,UAAU,iBAAiB,CAAC,SAAiB,EAAE,SAAS,GAAG,SAAS;IACxE,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IACxC,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC;IAExC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,uEAAuE,CAAC,CAAC;IAC3F,CAAC;IAED,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;IAC/F,CAAC;IAED,OAAO,GAAG,cAAc,eAAe,cAAc,EAAE,CAAC;AAC1D,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,SAAiB;IACnD,OAAO,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAChD,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAExE,IAAI,CAAC,SAAS,IAAI,IAAI,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3F,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,SAAS;QACT,IAAI;QACJ,OAAO;QACP,SAAS;KACV,CAAC;AACJ,CAAC"}
@@ -11,6 +11,7 @@ export declare class PersistentReceiptLedger {
11
11
  getInvoice(id: string): Promise<PaymentInvoice | undefined>;
12
12
  listInvoices(filter?: ReceiptStoreInvoiceFilter): Promise<PaymentInvoice[]>;
13
13
  recordPayment(invoiceId: string, payment: ObservedPayment): Promise<PaymentReceipt>;
14
+ private recordPaymentInStore;
14
15
  markExpired(invoiceId: string, now?: number): Promise<PaymentInvoice>;
15
16
  markRefunded(invoiceId: string, refund?: {
16
17
  txHash?: `0x${string}`;
@@ -20,8 +21,9 @@ export declare class PersistentReceiptLedger {
20
21
  getReceiptByTxHash(txHash: `0x${string}`, invoiceId?: string): Promise<PaymentReceipt | undefined>;
21
22
  listReceipts(): Promise<PaymentReceipt[]>;
22
23
  listWebhookEvents(): Promise<WebhookEvent[]>;
23
- private saveWebhookEvent;
24
- private requireInvoice;
25
- private updateInvoice;
24
+ private addInvoiceToStore;
25
+ private requireInvoiceFromStore;
26
+ private updateInvoiceInStore;
27
+ private withTransaction;
26
28
  }
27
29
  //# sourceMappingURL=persistent-ledger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"persistent-ledger.d.ts","sourceRoot":"","sources":["../../src/receipts/persistent-ledger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,YAAY,EACb,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAG1E,MAAM,WAAW,6BAA6B;IAC5C,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;gBAEzB,MAAM,EAAE,6BAA6B;IAI3C,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC;IAOjE,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IASlD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAI3D,YAAY,CAAC,MAAM,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAI3E,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAgCnF,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAYzE,YAAY,CAChB,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE;QAAE,MAAM,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO,GAC3D,OAAO,CAAC,cAAc,CAAC;IA2BpB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAI3D,kBAAkB,CACtB,MAAM,EAAE,KAAK,MAAM,EAAE,EACrB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAIhC,YAAY,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAIzC,iBAAiB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAIpC,gBAAgB;YAIhB,cAAc;YASd,aAAa;CAM5B"}
1
+ {"version":3,"file":"persistent-ledger.d.ts","sourceRoot":"","sources":["../../src/receipts/persistent-ledger.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,cAAc,EACd,cAAc,EACd,kBAAkB,EAClB,eAAe,EACf,YAAY,EACb,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EACV,YAAY,EACZ,yBAAyB,EAE1B,MAAM,YAAY,CAAC;AAGpB,MAAM,WAAW,6BAA6B;IAC5C,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,qBAAa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;gBAEzB,MAAM,EAAE,6BAA6B;IAI3C,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC;IASjE,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlD,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAI3D,YAAY,CAAC,MAAM,CAAC,EAAE,yBAAyB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAI3E,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;YAI3E,oBAAoB;IAgD5B,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,OAAO,CAAC,cAAc,CAAC;IAgBzE,YAAY,CAChB,SAAS,EAAE,MAAM,EACjB,MAAM,GAAE;QAAE,MAAM,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAO,GAC3D,OAAO,CAAC,cAAc,CAAC;IA+CpB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAI3D,kBAAkB,CACtB,MAAM,EAAE,KAAK,MAAM,EAAE,EACrB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,GAAG,SAAS,CAAC;IAIhC,YAAY,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;IAIzC,iBAAiB,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;YAIpC,iBAAiB;YAMjB,uBAAuB;YASvB,oBAAoB;IAWlC,OAAO,CAAC,eAAe;CAMxB"}
@@ -7,16 +7,14 @@ export class PersistentReceiptLedger {
7
7
  }
8
8
  async createInvoice(input) {
9
9
  const invoice = createInvoice(input);
10
- await this.addInvoice(invoice);
11
- await this.saveWebhookEvent(createWebhookEvent('invoice.created', { invoice }));
12
- return invoice;
10
+ return this.withTransaction(async (store) => {
11
+ await this.addInvoiceToStore(store, invoice);
12
+ await store.saveWebhookEvent(createWebhookEvent('invoice.created', { invoice }));
13
+ return invoice;
14
+ });
13
15
  }
14
16
  async addInvoice(invoice) {
15
- const existing = await this.store.getInvoice(invoice.id);
16
- if (existing) {
17
- throw new Error(`Invoice already exists: ${invoice.id}`);
18
- }
19
- await this.store.saveInvoice(invoice);
17
+ await this.withTransaction((store) => this.addInvoiceToStore(store, invoice));
20
18
  }
21
19
  async getInvoice(id) {
22
20
  return this.store.getInvoice(id);
@@ -25,59 +23,92 @@ export class PersistentReceiptLedger {
25
23
  return this.store.listInvoices(filter);
26
24
  }
27
25
  async recordPayment(invoiceId, payment) {
26
+ return this.withTransaction((store) => this.recordPaymentInStore(store, invoiceId, payment));
27
+ }
28
+ async recordPaymentInStore(store, invoiceId, payment) {
28
29
  const existingReceipt = payment.txHash
29
- ? await this.getReceiptByTxHash(payment.txHash, invoiceId)
30
+ ? await store.getReceiptByTxHash(payment.txHash)
30
31
  : undefined;
31
32
  if (existingReceipt) {
33
+ if (existingReceipt.invoiceId !== invoiceId) {
34
+ throw new Error(`Payment transaction ${payment.txHash} is already assigned to invoice ${existingReceipt.invoiceId}`);
35
+ }
32
36
  return existingReceipt;
33
37
  }
34
- const invoice = await this.requireInvoice(invoiceId);
35
- const observedInvoice = await this.updateInvoice(invoice.id, { status: 'observed' });
36
- await this.saveWebhookEvent(createWebhookEvent('invoice.observed', {
38
+ const invoice = await this.requireInvoiceFromStore(store, invoiceId);
39
+ const observedInvoice = await this.updateInvoiceInStore(store, invoice.id, {
40
+ status: 'observed',
41
+ });
42
+ await store.saveWebhookEvent(createWebhookEvent('invoice.observed', {
37
43
  invoice: observedInvoice,
38
44
  payment,
39
45
  }));
40
46
  const receipt = createReceipt(observedInvoice, payment);
41
- await this.store.saveReceipt(receipt);
47
+ await store.saveReceipt(receipt);
42
48
  const persistedReceipt = payment.txHash
43
- ? ((await this.store.getReceiptByTxHash(payment.txHash, invoice.id)) ?? receipt)
49
+ ? ((await store.getReceiptByTxHash(payment.txHash)) ?? receipt)
44
50
  : receipt;
45
- const paidInvoice = await this.updateInvoice(invoice.id, { status: 'paid' });
46
- await this.saveWebhookEvent(createWebhookEvent('invoice.paid', {
51
+ if (persistedReceipt.invoiceId !== invoice.id) {
52
+ throw new Error(`Payment transaction ${payment.txHash} is already assigned to invoice ${persistedReceipt.invoiceId}`);
53
+ }
54
+ const paidInvoice = await this.updateInvoiceInStore(store, invoice.id, { status: 'paid' });
55
+ await store.saveWebhookEvent(createWebhookEvent('invoice.paid', {
47
56
  invoice: paidInvoice,
48
57
  receipt: persistedReceipt,
49
58
  }));
50
59
  return persistedReceipt;
51
60
  }
52
61
  async markExpired(invoiceId, now = Date.now()) {
53
- const invoice = await this.requireInvoice(invoiceId);
54
- if (!isInvoiceExpired(invoice, now)) {
55
- throw new Error(`Invoice is not expired: ${invoiceId}`);
56
- }
57
- const expiredInvoice = await this.updateInvoice(invoiceId, { status: 'expired' });
58
- await this.saveWebhookEvent(createWebhookEvent('invoice.expired', { invoice: expiredInvoice }));
59
- return expiredInvoice;
62
+ return this.withTransaction(async (store) => {
63
+ const invoice = await this.requireInvoiceFromStore(store, invoiceId);
64
+ if (!isInvoiceExpired(invoice, now)) {
65
+ throw new Error(`Invoice is not expired: ${invoiceId}`);
66
+ }
67
+ const expiredInvoice = await this.updateInvoiceInStore(store, invoiceId, {
68
+ status: 'expired',
69
+ });
70
+ await store.saveWebhookEvent(createWebhookEvent('invoice.expired', { invoice: expiredInvoice }));
71
+ return expiredInvoice;
72
+ });
60
73
  }
61
74
  async markRefunded(invoiceId, refund = {}) {
62
- const invoice = await this.requireInvoice(invoiceId);
63
- const receipt = (await this.store.listReceipts()).find((item) => item.invoiceId === invoiceId);
64
- if (!receipt) {
65
- throw new Error(`Cannot refund invoice without a paid receipt: ${invoiceId}`);
66
- }
67
- const refundedReceipt = {
68
- ...receipt,
69
- id: `rfnd_${receipt.id}`,
70
- status: 'refunded',
71
- txHash: refund.txHash ?? receipt.txHash,
72
- createdAt: refund.refundedAt ?? Date.now(),
73
- };
74
- await this.store.saveReceipt(refundedReceipt);
75
- const refundedInvoice = await this.updateInvoice(invoice.id, { status: 'refunded' });
76
- await this.saveWebhookEvent(createWebhookEvent('invoice.refunded', {
77
- invoice: refundedInvoice,
78
- receipt: refundedReceipt,
79
- }));
80
- return refundedReceipt;
75
+ return this.withTransaction(async (store) => {
76
+ const invoice = await this.requireInvoiceFromStore(store, invoiceId);
77
+ const invoiceReceipts = (await store.listReceipts()).filter((item) => item.invoiceId === invoiceId);
78
+ const existingRefund = invoiceReceipts.find((item) => item.status === 'refunded');
79
+ if (invoice.status === 'refunded' && existingRefund)
80
+ return existingRefund;
81
+ if (refund.txHash) {
82
+ const transactionReceipt = await store.getReceiptByTxHash(refund.txHash);
83
+ if (transactionReceipt) {
84
+ if (transactionReceipt.invoiceId === invoiceId &&
85
+ transactionReceipt.status === 'refunded') {
86
+ return transactionReceipt;
87
+ }
88
+ throw new Error(`Refund transaction ${refund.txHash} is already assigned to receipt ${transactionReceipt.id}`);
89
+ }
90
+ }
91
+ const receipt = invoiceReceipts.find((item) => item.status === 'paid');
92
+ if (!receipt) {
93
+ throw new Error(`Cannot refund invoice without a paid receipt: ${invoiceId}`);
94
+ }
95
+ const refundedReceipt = {
96
+ ...receipt,
97
+ id: `rfnd_${receipt.id}`,
98
+ status: 'refunded',
99
+ txHash: refund.txHash,
100
+ createdAt: refund.refundedAt ?? Date.now(),
101
+ };
102
+ await store.saveReceipt(refundedReceipt);
103
+ const refundedInvoice = await this.updateInvoiceInStore(store, invoice.id, {
104
+ status: 'refunded',
105
+ });
106
+ await store.saveWebhookEvent(createWebhookEvent('invoice.refunded', {
107
+ invoice: refundedInvoice,
108
+ receipt: refundedReceipt,
109
+ }));
110
+ return refundedReceipt;
111
+ });
81
112
  }
82
113
  async getReceipt(id) {
83
114
  return this.store.getReceipt(id);
@@ -91,21 +122,30 @@ export class PersistentReceiptLedger {
91
122
  async listWebhookEvents() {
92
123
  return this.store.listWebhookEvents();
93
124
  }
94
- async saveWebhookEvent(event) {
95
- await this.store.saveWebhookEvent(event);
125
+ async addInvoiceToStore(store, invoice) {
126
+ const existing = await store.getInvoice(invoice.id);
127
+ if (existing)
128
+ throw new Error(`Invoice already exists: ${invoice.id}`);
129
+ await store.saveInvoice(invoice);
96
130
  }
97
- async requireInvoice(id) {
98
- const invoice = await this.store.getInvoice(id);
131
+ async requireInvoiceFromStore(store, id) {
132
+ const invoice = await store.getInvoice(id);
99
133
  if (!invoice) {
100
134
  throw new Error(`Invoice not found: ${id}`);
101
135
  }
102
136
  return invoice;
103
137
  }
104
- async updateInvoice(id, patch) {
105
- const invoice = await this.requireInvoice(id);
138
+ async updateInvoiceInStore(store, id, patch) {
139
+ const invoice = await this.requireInvoiceFromStore(store, id);
106
140
  const next = { ...invoice, ...patch };
107
- await this.store.saveInvoice(next);
141
+ await store.saveInvoice(next);
108
142
  return next;
109
143
  }
144
+ withTransaction(handler) {
145
+ const store = this.store;
146
+ return typeof store.transaction === 'function'
147
+ ? store.transaction(handler)
148
+ : handler(this.store);
149
+ }
110
150
  }
111
151
  //# sourceMappingURL=persistent-ledger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"persistent-ledger.js","sourceRoot":"","sources":["../../src/receipts/persistent-ledger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persistent-ledger.js","sourceRoot":"","sources":["../../src/receipts/persistent-ledger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAa9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAMnD,MAAM,OAAO,uBAAuB;IACjB,KAAK,CAAe;IAErC,YAAY,MAAqC;QAC/C,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,KAAyB;QAC3C,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC1C,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;YAC7C,MAAM,KAAK,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;YACjF,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAAuB;QACtC,MAAM,IAAI,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAkC;QACnD,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAiB,EAAE,OAAwB;QAC7D,OAAO,IAAI,CAAC,eAAe,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/F,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,KAAmB,EACnB,SAAiB,EACjB,OAAwB;QAExB,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM;YACpC,CAAC,CAAC,MAAM,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC;YAChD,CAAC,CAAC,SAAS,CAAC;QACd,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,eAAe,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5C,MAAM,IAAI,KAAK,CACb,uBAAuB,OAAO,CAAC,MAAM,mCAAmC,eAAe,CAAC,SAAS,EAAE,CACpG,CAAC;YACJ,CAAC;YACD,OAAO,eAAe,CAAC;QACzB,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QACrE,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE;YACzE,MAAM,EAAE,UAAU;SACnB,CAAC,CAAC;QACH,MAAM,KAAK,CAAC,gBAAgB,CAC1B,kBAAkB,CAAC,kBAAkB,EAAE;YACrC,OAAO,EAAE,eAAe;YACxB,OAAO;SACR,CAAC,CACH,CAAC;QAEF,MAAM,OAAO,GAAG,aAAa,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;QACxD,MAAM,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACjC,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM;YACrC,CAAC,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,OAAO,CAAC;YAC/D,CAAC,CAAC,OAAO,CAAC;QACZ,IAAI,gBAAgB,CAAC,SAAS,KAAK,OAAO,CAAC,EAAE,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CACb,uBAAuB,OAAO,CAAC,MAAM,mCAAmC,gBAAgB,CAAC,SAAS,EAAE,CACrG,CAAC;QACJ,CAAC;QACD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC3F,MAAM,KAAK,CAAC,gBAAgB,CAC1B,kBAAkB,CAAC,cAAc,EAAE;YACjC,OAAO,EAAE,WAAW;YACpB,OAAO,EAAE,gBAAgB;SAC1B,CAAC,CACH,CAAC;QACF,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAiB,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;QACnD,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC1C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACrE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,IAAI,KAAK,CAAC,2BAA2B,SAAS,EAAE,CAAC,CAAC;YAC1D,CAAC;YACD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE;gBACvE,MAAM,EAAE,SAAS;aAClB,CAAC,CAAC;YACH,MAAM,KAAK,CAAC,gBAAgB,CAC1B,kBAAkB,CAAC,iBAAiB,EAAE,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CACnE,CAAC;YACF,OAAO,cAAc,CAAC;QACxB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,SAAiB,EACjB,SAA0D,EAAE;QAE5D,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC1C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;YACrE,MAAM,eAAe,GAAG,CAAC,MAAM,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,MAAM,CACzD,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CACvC,CAAC;YACF,MAAM,cAAc,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;YAClF,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU,IAAI,cAAc;gBAAE,OAAO,cAAc,CAAC;YAC3E,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,MAAM,kBAAkB,GAAG,MAAM,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACzE,IAAI,kBAAkB,EAAE,CAAC;oBACvB,IACE,kBAAkB,CAAC,SAAS,KAAK,SAAS;wBAC1C,kBAAkB,CAAC,MAAM,KAAK,UAAU,EACxC,CAAC;wBACD,OAAO,kBAAkB,CAAC;oBAC5B,CAAC;oBACD,MAAM,IAAI,KAAK,CACb,sBAAsB,MAAM,CAAC,MAAM,mCAAmC,kBAAkB,CAAC,EAAE,EAAE,CAC9F,CAAC;gBACJ,CAAC;YACH,CAAC;YACD,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;YACvE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,iDAAiD,SAAS,EAAE,CAAC,CAAC;YAChF,CAAC;YACD,MAAM,eAAe,GAAmB;gBACtC,GAAG,OAAO;gBACV,EAAE,EAAE,QAAQ,OAAO,CAAC,EAAE,EAAE;gBACxB,MAAM,EAAE,UAAU;gBAClB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,SAAS,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,GAAG,EAAE;aAC3C,CAAC;YACF,MAAM,KAAK,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC;YACzC,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,EAAE;gBACzE,MAAM,EAAE,UAAU;aACnB,CAAC,CAAC;YACH,MAAM,KAAK,CAAC,gBAAgB,CAC1B,kBAAkB,CAAC,kBAAkB,EAAE;gBACrC,OAAO,EAAE,eAAe;gBACxB,OAAO,EAAE,eAAe;aACzB,CAAC,CACH,CAAC;YACF,OAAO,eAAe,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU;QACzB,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,MAAqB,EACrB,SAAkB;QAElB,OAAO,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC;IACxC,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,KAAmB,EAAE,OAAuB;QAC1E,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACpD,IAAI,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QACvE,MAAM,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,KAAmB,EAAE,EAAU;QACnE,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,sBAAsB,EAAE,EAAE,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,oBAAoB,CAChC,KAAmB,EACnB,EAAU,EACV,KAA8B;QAE9B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC9D,MAAM,IAAI,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,EAAE,CAAC;QACtC,MAAM,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,eAAe,CAAI,OAA4C;QACrE,MAAM,KAAK,GAAG,IAAI,CAAC,KAA0D,CAAC;QAC9E,OAAO,OAAO,KAAK,CAAC,WAAW,KAAK,UAAU;YAC5C,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC;YAC5B,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"persistent-webhook-inbox.d.ts","sourceRoot":"","sources":["../../src/receipts/persistent-webhook-inbox.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,sBAAsB,EACtB,YAAY,EAEb,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAG3E,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,YAAY,GAAG,MAAM,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;gBAEzB,MAAM,EAAE,4BAA4B;IAI1C,OAAO,CAAC,KAAK,EAAE,6BAA6B,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAyB9E,MAAM,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAkB5E,cAAc,CAAC,MAAM,GAAE,0BAA+B,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAI1F,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC;YAI5D,cAAc;CAW7B"}
1
+ {"version":3,"file":"persistent-webhook-inbox.d.ts","sourceRoot":"","sources":["../../src/receipts/persistent-webhook-inbox.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,YAAY,EAAoB,MAAM,YAAY,CAAC;AACzF,OAAO,KAAK,EAAE,YAAY,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAC;AAG3E,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,YAAY,CAAC;CACrB;AAED,MAAM,WAAW,6BAA6B;IAC5C,OAAO,EAAE,YAAY,GAAG,MAAM,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;gBAEzB,MAAM,EAAE,4BAA4B;IAI1C,OAAO,CAAC,KAAK,EAAE,6BAA6B,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAyB9E,MAAM,CAAC,KAAK,EAAE,4BAA4B,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAkB5E,cAAc,CAAC,MAAM,GAAE,0BAA+B,GAAG,OAAO,CAAC,sBAAsB,EAAE,CAAC;IAI1F,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,GAAG,SAAS,CAAC;YAI5D,cAAc;CAW7B"}
@@ -58,9 +58,7 @@ export class PersistentWebhookInbox {
58
58
  }
59
59
  }
60
60
  function parseWebhookPayload(payload) {
61
- const event = typeof payload === 'string'
62
- ? parseJson(payload)
63
- : payload;
61
+ const event = typeof payload === 'string' ? parseJson(payload) : payload;
64
62
  if (!isWebhookEventLike(event)) {
65
63
  return {
66
64
  eventId: 'unknown',
@@ -85,9 +83,9 @@ function isWebhookEventLike(value) {
85
83
  return false;
86
84
  }
87
85
  const event = value;
88
- return typeof event.id === 'string'
89
- && typeof event.type === 'string'
90
- && typeof event.createdAt === 'number'
91
- && 'data' in event;
86
+ return (typeof event.id === 'string' &&
87
+ typeof event.type === 'string' &&
88
+ typeof event.createdAt === 'number' &&
89
+ 'data' in event);
92
90
  }
93
91
  //# sourceMappingURL=persistent-webhook-inbox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"persistent-webhook-inbox.js","sourceRoot":"","sources":["../../src/receipts/persistent-webhook-inbox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persistent-webhook-inbox.js","sourceRoot":"","sources":["../../src/receipts/persistent-webhook-inbox.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"proof.d.ts","sourceRoot":"","sources":["../../src/receipts/proof.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAML,KAAK,GAAG,EACT,MAAM,MAAM,CAAC;AAGd,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAE1E,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,IAAI,EAAE,SAAS,GAAG,EAAE,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,eAAe,CAAC,EAAE,KAAK,MAAM,EAAE,GAAG,IAAI,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,qBAAqB,EAAE,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,KAAK,MAAM,EAAE,CAAA;KAAE,KAAK,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC,CAAC;CACrG,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG;IAC7C,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAC;IACtC,OAAO,EAAE,CAAC,MAAM,EAAE;QAChB,OAAO,EAAE,KAAK,MAAM,EAAE,CAAC;QACvB,KAAK,EAAE,OAAO,CAAC;QACf,IAAI,EAAE;YAAE,MAAM,EAAE,KAAK,MAAM,EAAE,CAAA;SAAE,CAAC;QAChC,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,KAAK,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC,CAAC;CACxC,CAAC;AAQF,MAAM,MAAM,mCAAmC,GAC3C,cAAc,GACd,aAAa,GACb,qBAAqB,GACrB,oBAAoB,GACpB,kBAAkB,GAClB,iBAAiB,GACjB,yBAAyB,GACzB,kBAAkB,GAClB,oBAAoB,GACpB,iBAAiB,CAAC;AAEtB,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,MAAM,EAAE,mCAAmC,CAAC;gBAEzC,MAAM,EAAE,mCAAmC,EAAE,OAAO,EAAE,MAAM;CAKzE;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;IACtB,cAAc,EAAE,kBAAkB,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,4BAA4B;IAC3C,KAAK,EAAE,mBAAmB,CAAC;CAC5B;AAED,MAAM,WAAW,yBAAyB;IACxC,cAAc,EAAE,kBAAkB,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,0BAA0B,GAClC;IACE,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,mBAAmB,CAAC;IAC3B,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;CACzB,GACD;IACE,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAkBN,wBAAsB,sBAAsB,CAC1C,KAAK,EAAE,2BAA2B,GACjC,OAAO,CAAC,mBAAmB,CAAC,CA4B9B;AAED,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,yBAAyB,GAC/B,OAAO,CAAC,0BAA0B,CAAC,CA0CrC;AAoFD,wBAAgB,iCAAiC,CAAC,MAAM,EAAE;IACxD,MAAM,EAAE,KAAK,MAAM,EAAE,CAAC;IACtB,cAAc,EAAE,kBAAkB,CAAC;IACnC,SAAS,EAAE,uBAAuB,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,mBAAmB,CAsJtB"}
1
+ {"version":3,"file":"proof.d.ts","sourceRoot":"","sources":["../../src/receipts/proof.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Read-only Arc Testnet proof verification for Memo-wrapped receipt payments.
3
3
  */
4
- import { createPublicClient, getAddress, http, parseAbiItem, parseEventLogs, } from 'viem';
4
+ import { createPublicClient, getAddress, http, parseAbiItem, parseEventLogs } from 'viem';
5
5
  import { ARC_TESTNET } from '../constants.js';
6
6
  import { ARC_MEMO_ABI, ERC20_TRANSFER_ABI } from './memo-payment.js';
7
7
  const MEMO_EVENT = parseAbiItem('event Memo(address indexed sender,address indexed target,bytes32 callDataHash,bytes32 indexed memoId,bytes memo,uint256 memoIndex)');
@@ -15,9 +15,10 @@ export class MemoPaymentProofError extends Error {
15
15
  }
16
16
  }
17
17
  export async function verifyMemoPaymentProof(input) {
18
- const client = input.publicClient ?? createPublicClient({
19
- transport: http(input.rpcUrl ?? ARC_TESTNET.rpcUrl),
20
- });
18
+ const client = input.publicClient ??
19
+ createPublicClient({
20
+ transport: http(input.rpcUrl ?? ARC_TESTNET.rpcUrl),
21
+ });
21
22
  let txReceipt;
22
23
  try {
23
24
  txReceipt = await client.getTransactionReceipt({ hash: input.txHash });
@@ -36,9 +37,10 @@ export async function verifyMemoPaymentProof(input) {
36
37
  });
37
38
  }
38
39
  export async function findMemoPaymentProof(input) {
39
- const client = (input.publicClient ?? createPublicClient({
40
- transport: http(input.rpcUrl ?? ARC_TESTNET.rpcUrl),
41
- }));
40
+ const client = (input.publicClient ??
41
+ createPublicClient({
42
+ transport: http(input.rpcUrl ?? ARC_TESTNET.rpcUrl),
43
+ }));
42
44
  const { fromBlock, toBlock } = await resolveProofSearchRange(input, client);
43
45
  if (fromBlock > toBlock) {
44
46
  return {
@@ -75,7 +77,7 @@ export async function findMemoPaymentProof(input) {
75
77
  }
76
78
  async function resolveProofSearchRange(input, client) {
77
79
  const confirmations = BigInt(input.confirmations ?? 1);
78
- const latestBlock = input.toBlock ?? await client.getBlockNumber();
80
+ const latestBlock = input.toBlock ?? (await client.getBlockNumber());
79
81
  const toBlock = latestBlock > confirmations ? latestBlock - confirmations : 0n;
80
82
  const lookbackBlocks = input.lookbackBlocks === undefined
81
83
  ? DEFAULT_PROOF_LOOKBACK_BLOCKS