@openora/core 0.4.1-canary.92 → 0.4.1-canary.93

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 (157) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/admin-console/contract/index.d.ts +12 -0
  3. package/dist/admin-console/contract/index.d.ts.map +1 -1
  4. package/dist/admin-console/plugin.d.ts +18 -1
  5. package/dist/admin-console/plugin.d.ts.map +1 -1
  6. package/dist/admin-console/router/index.d.ts +6 -0
  7. package/dist/admin-console/router/index.d.ts.map +1 -1
  8. package/dist/analytics/plugin.d.ts +18 -1
  9. package/dist/analytics/plugin.d.ts.map +1 -1
  10. package/dist/audit/plugin.d.ts +18 -1
  11. package/dist/audit/plugin.d.ts.map +1 -1
  12. package/dist/casino/gaming/plugin.d.ts +18 -1
  13. package/dist/casino/gaming/plugin.d.ts.map +1 -1
  14. package/dist/casino/lobby/plugin.d.ts +18 -1
  15. package/dist/casino/lobby/plugin.d.ts.map +1 -1
  16. package/dist/cms/plugin.d.ts +18 -1
  17. package/dist/cms/plugin.d.ts.map +1 -1
  18. package/dist/compliance/plugin.d.ts +18 -1
  19. package/dist/compliance/plugin.d.ts.map +1 -1
  20. package/dist/contracts/adapters/audit.d.ts +1 -1
  21. package/dist/contracts/adapters/audit.d.ts.map +1 -1
  22. package/dist/contracts/adapters/audit.js.map +1 -1
  23. package/dist/contracts/adapters/index.d.ts +4 -2
  24. package/dist/contracts/adapters/index.d.ts.map +1 -1
  25. package/dist/contracts/adapters/index.js +2 -1
  26. package/dist/contracts/adapters/index.js.map +1 -1
  27. package/dist/contracts/adapters/payment.d.ts +99 -0
  28. package/dist/contracts/adapters/payment.d.ts.map +1 -1
  29. package/dist/contracts/adapters/payment.js +6 -0
  30. package/dist/contracts/adapters/payment.js.map +1 -1
  31. package/dist/contracts/adapters/rate-limit.d.ts +1 -0
  32. package/dist/contracts/adapters/rate-limit.d.ts.map +1 -1
  33. package/dist/contracts/adapters/rate-limit.js +1 -0
  34. package/dist/contracts/adapters/rate-limit.js.map +1 -1
  35. package/dist/contracts/adapters/wallet-asset-catalog.d.ts +34 -0
  36. package/dist/contracts/adapters/wallet-asset-catalog.d.ts.map +1 -0
  37. package/dist/contracts/adapters/wallet-asset-catalog.js +3 -0
  38. package/dist/contracts/adapters/wallet-asset-catalog.js.map +1 -0
  39. package/dist/contracts/schemas/__tests__/common-schemas.test.js +2 -1
  40. package/dist/contracts/schemas/__tests__/common-schemas.test.js.map +1 -1
  41. package/dist/contracts/schemas/common.d.ts.map +1 -1
  42. package/dist/contracts/schemas/common.js +7 -4
  43. package/dist/contracts/schemas/common.js.map +1 -1
  44. package/dist/contracts/schemas/events.d.ts +15 -0
  45. package/dist/contracts/schemas/events.d.ts.map +1 -1
  46. package/dist/contracts/schemas/events.js +16 -2
  47. package/dist/contracts/schemas/events.js.map +1 -1
  48. package/dist/contracts/schemas/platform-config.d.ts +45 -0
  49. package/dist/contracts/schemas/platform-config.d.ts.map +1 -1
  50. package/dist/contracts/schemas/platform-config.js +47 -0
  51. package/dist/contracts/schemas/platform-config.js.map +1 -1
  52. package/dist/contracts/schemas/wallet-tx.d.ts +38 -1
  53. package/dist/contracts/schemas/wallet-tx.d.ts.map +1 -1
  54. package/dist/contracts/schemas/wallet-tx.js +32 -3
  55. package/dist/contracts/schemas/wallet-tx.js.map +1 -1
  56. package/dist/engagement/chat/plugin.d.ts +18 -1
  57. package/dist/engagement/chat/plugin.d.ts.map +1 -1
  58. package/dist/engagement/chat-commands/plugin.d.ts +18 -1
  59. package/dist/engagement/chat-commands/plugin.d.ts.map +1 -1
  60. package/dist/engagement/notifications/plugin.d.ts +18 -1
  61. package/dist/engagement/notifications/plugin.d.ts.map +1 -1
  62. package/dist/engagement/social/plugin.d.ts +18 -1
  63. package/dist/engagement/social/plugin.d.ts.map +1 -1
  64. package/dist/engagement/social-transfers/plugin.d.ts +18 -1
  65. package/dist/engagement/social-transfers/plugin.d.ts.map +1 -1
  66. package/dist/iam/plugin.d.ts +18 -1
  67. package/dist/iam/plugin.d.ts.map +1 -1
  68. package/dist/iam/service/iam.service.d.ts +1 -1
  69. package/dist/pam/identity/plugin.d.ts +18 -1
  70. package/dist/pam/identity/plugin.d.ts.map +1 -1
  71. package/dist/pam/player-management/plugin.d.ts +18 -1
  72. package/dist/pam/player-management/plugin.d.ts.map +1 -1
  73. package/dist/pam/player-note/plugin.d.ts +18 -1
  74. package/dist/pam/player-note/plugin.d.ts.map +1 -1
  75. package/dist/pam/profile/plugin.d.ts +18 -1
  76. package/dist/pam/profile/plugin.d.ts.map +1 -1
  77. package/dist/pam/tag/plugin.d.ts +18 -1
  78. package/dist/pam/tag/plugin.d.ts.map +1 -1
  79. package/dist/server/auth/permissions.d.ts +36 -0
  80. package/dist/server/auth/permissions.d.ts.map +1 -1
  81. package/dist/server/auth/permissions.js +6 -0
  82. package/dist/server/auth/permissions.js.map +1 -1
  83. package/dist/server/db/__tests__/query-helpers.test.js +38 -1
  84. package/dist/server/db/__tests__/query-helpers.test.js.map +1 -1
  85. package/dist/server/db/index.d.ts +1 -1
  86. package/dist/server/db/index.d.ts.map +1 -1
  87. package/dist/server/db/index.js +1 -1
  88. package/dist/server/db/index.js.map +1 -1
  89. package/dist/server/db/query-helpers.d.ts +4 -0
  90. package/dist/server/db/query-helpers.d.ts.map +1 -1
  91. package/dist/server/db/query-helpers.js +31 -0
  92. package/dist/server/db/query-helpers.js.map +1 -1
  93. package/dist/server/runtime/core-token-catalog.d.ts +18 -1
  94. package/dist/server/runtime/core-token-catalog.d.ts.map +1 -1
  95. package/dist/server/runtime/core-token-catalog.js +3 -1
  96. package/dist/server/runtime/core-token-catalog.js.map +1 -1
  97. package/dist/testing/mock.d.ts +12 -1
  98. package/dist/testing/mock.d.ts.map +1 -1
  99. package/dist/testing/mock.js +16 -0
  100. package/dist/testing/mock.js.map +1 -1
  101. package/dist/wallet/__tests__/settlement-network.test.d.ts +2 -0
  102. package/dist/wallet/__tests__/settlement-network.test.d.ts.map +1 -0
  103. package/dist/wallet/__tests__/settlement-network.test.js +54 -0
  104. package/dist/wallet/__tests__/settlement-network.test.js.map +1 -0
  105. package/dist/wallet/__tests__/wallet-asset.router.int.test.d.ts +2 -0
  106. package/dist/wallet/__tests__/wallet-asset.router.int.test.d.ts.map +1 -0
  107. package/dist/wallet/__tests__/wallet-asset.router.int.test.js +234 -0
  108. package/dist/wallet/__tests__/wallet-asset.router.int.test.js.map +1 -0
  109. package/dist/wallet/__tests__/wallet-auto-rule.router.int.test.js +5 -3
  110. package/dist/wallet/__tests__/wallet-auto-rule.router.int.test.js.map +1 -1
  111. package/dist/wallet/__tests__/wallet-auto-withdrawal-config.router.int.test.js +4 -2
  112. package/dist/wallet/__tests__/wallet-auto-withdrawal-config.router.int.test.js.map +1 -1
  113. package/dist/wallet/__tests__/wallet-auto-withdrawal.int.test.js +6 -3
  114. package/dist/wallet/__tests__/wallet-auto-withdrawal.int.test.js.map +1 -1
  115. package/dist/wallet/__tests__/wallet-custody-stubs.router.test.d.ts +2 -0
  116. package/dist/wallet/__tests__/wallet-custody-stubs.router.test.d.ts.map +1 -0
  117. package/dist/wallet/__tests__/wallet-custody-stubs.router.test.js +80 -0
  118. package/dist/wallet/__tests__/wallet-custody-stubs.router.test.js.map +1 -0
  119. package/dist/wallet/__tests__/wallet-kyc-gate.int.test.js +2 -1
  120. package/dist/wallet/__tests__/wallet-kyc-gate.int.test.js.map +1 -1
  121. package/dist/wallet/__tests__/wallet-webhook.router.int.test.js +119 -4
  122. package/dist/wallet/__tests__/wallet-webhook.router.int.test.js.map +1 -1
  123. package/dist/wallet/__tests__/wallet.rate-limit.int.test.js +2 -1
  124. package/dist/wallet/__tests__/wallet.rate-limit.int.test.js.map +1 -1
  125. package/dist/wallet/__tests__/wallet.router.int.test.js +23 -3
  126. package/dist/wallet/__tests__/wallet.router.int.test.js.map +1 -1
  127. package/dist/wallet/__tests__/wallet.service.int.test.js +265 -12
  128. package/dist/wallet/__tests__/wallet.service.int.test.js.map +1 -1
  129. package/dist/wallet/adapters/wallet-asset-catalog.service.d.ts +14 -0
  130. package/dist/wallet/adapters/wallet-asset-catalog.service.d.ts.map +1 -0
  131. package/dist/wallet/adapters/wallet-asset-catalog.service.js +37 -0
  132. package/dist/wallet/adapters/wallet-asset-catalog.service.js.map +1 -0
  133. package/dist/wallet/admin-reporting.d.ts +2 -2
  134. package/dist/wallet/contract/index.d.ts +428 -4
  135. package/dist/wallet/contract/index.d.ts.map +1 -1
  136. package/dist/wallet/contract/index.js +203 -5
  137. package/dist/wallet/contract/index.js.map +1 -1
  138. package/dist/wallet/drizzle/migrations/0010_worthless_quasimodo.sql +84 -0
  139. package/dist/wallet/drizzle/migrations/meta/0010_snapshot.json +1565 -0
  140. package/dist/wallet/drizzle/migrations/meta/_journal.json +7 -0
  141. package/dist/wallet/plugin.d.ts +18 -1
  142. package/dist/wallet/plugin.d.ts.map +1 -1
  143. package/dist/wallet/plugin.js +19 -2
  144. package/dist/wallet/plugin.js.map +1 -1
  145. package/dist/wallet/router/index.d.ts +235 -3
  146. package/dist/wallet/router/index.d.ts.map +1 -1
  147. package/dist/wallet/router/index.js +117 -20
  148. package/dist/wallet/router/index.js.map +1 -1
  149. package/dist/wallet/schema/index.d.ts +984 -3
  150. package/dist/wallet/schema/index.d.ts.map +1 -1
  151. package/dist/wallet/schema/index.js +141 -2
  152. package/dist/wallet/schema/index.js.map +1 -1
  153. package/dist/wallet/service/wallet.service.d.ts +70 -6
  154. package/dist/wallet/service/wallet.service.d.ts.map +1 -1
  155. package/dist/wallet/service/wallet.service.js +379 -16
  156. package/dist/wallet/service/wallet.service.js.map +1 -1
  157. package/package.json +1 -1
@@ -32,6 +32,46 @@ export type PaymentWebhookEvent = {
32
32
  status: 'processing' | 'completed' | 'failed';
33
33
  txHash?: string;
34
34
  };
35
+ /**
36
+ * A balance sitting in a per-player custody container that is not yet in the pooled
37
+ * account withdrawals are paid from. Produced by `PaymentAdapter.listSweepableBalances`
38
+ * and handed back to `sweepToPool` unchanged.
39
+ */
40
+ export type CustodyBalance = {
41
+ userId: string;
42
+ currency: string;
43
+ network: string;
44
+ amount: string;
45
+ /** Current network cost to move it, same units as `amount`. */
46
+ estimatedFee: string;
47
+ };
48
+ /**
49
+ * Name of the single default `PaymentAdapter`/`PaymentWebhookVerifier` binding, wrapped
50
+ * as one `PaymentProviderRegistry` entry so an operator with one vendor changes nothing.
51
+ */
52
+ export declare const DEFAULT_PAYMENT_PROVIDER = "default";
53
+ /** One named vendor binding: the adapter it settles through and the verifier for its webhooks. */
54
+ export type PaymentProvider = {
55
+ adapter: PaymentAdapter;
56
+ webhookVerifier: PaymentWebhookVerifier;
57
+ };
58
+ /**
59
+ * Looks up a named vendor's adapter/verifier pair. `wallet_asset.providerName` is the
60
+ * key; a webhook route resolves both the verifier AND the adapter from the SAME entry so
61
+ * a request can never be verified against one vendor's key and parsed by another's
62
+ * format (signature confusion).
63
+ *
64
+ * Core only looks a name up here - it never discovers or enumerates vendors itself. The
65
+ * operator composes this map in their own plugin because `Container.register` is
66
+ * last-wins: two overlays each binding the single `PAYMENT_ADAPTER`/`PAYMENT_WEBHOOK_VERIFIER`
67
+ * tokens would clobber each other, so running a fiat PSP and a crypto custodian at once
68
+ * needs an operator-owned map from provider name to pair, not a second core-discovered
69
+ * binding slot.
70
+ */
71
+ export type PaymentProviderRegistry = {
72
+ get(providerName: string): PaymentProvider | null;
73
+ names(): readonly string[];
74
+ };
35
75
  export type PaymentAdapter = {
36
76
  processDeposit(amount: string, currency: string, metadata: Record<string, unknown>): Promise<{
37
77
  externalId: string;
@@ -67,6 +107,64 @@ export type PaymentAdapter = {
67
107
  * `MockPaymentAdapter` omits it; an address-based/async vendor overlay implements it.
68
108
  */
69
109
  parseWebhook?(rawBody: string, headers: Record<string, string | string[] | undefined>): PaymentWebhookEvent | null;
110
+ /**
111
+ * Whether this adapter can actually serve the given asset. The asset catalog is
112
+ * operator-editable at runtime, so an admin can name a (currency, network) pair the
113
+ * bound vendor has never heard of; the catalog's write path calls this first and
114
+ * rejects rather than letting the pair reach a player's deposit screen. Optional -
115
+ * an adapter that omits it is assumed to accept anything the operator configures.
116
+ */
117
+ supportsAsset?(currency: string, network: string): boolean;
118
+ /**
119
+ * Per-player balances the vendor holds that are not yet in the pooled account.
120
+ * Only meaningful for a custody vendor whose per-player deposit containers are
121
+ * distinct from the account withdrawals are paid out of - a synchronous PSP, which
122
+ * never holds a per-player balance, omits it.
123
+ */
124
+ listSweepableBalances?(): Promise<CustodyBalance[]>;
125
+ /**
126
+ * Move one player's balance into the pooled account. Implemented alongside
127
+ * `listSweepableBalances`; the caller owns the policy (dust floor, fee thresholds)
128
+ * and this only performs the transfer it is handed.
129
+ *
130
+ * `idempotencyKey` exists because a thrown call cannot be distinguished from a lost
131
+ * response - the vendor must dedupe the retry on this key rather than double-move
132
+ * funds. `poolRef` is an opaque vendor-side identifier for the destination pool,
133
+ * recorded so the ledger can evidence that player funds landed in the player pool and
134
+ * not an operator account - a regulator asks this.
135
+ */
136
+ sweepToPool?(balance: CustodyBalance, opts: {
137
+ idempotencyKey: string;
138
+ }): Promise<{
139
+ externalId: string;
140
+ poolRef?: string;
141
+ }>;
142
+ /**
143
+ * Balance currently in the pooled account for this asset. Consulted only when a sweep
144
+ * is blocked by the fee ceiling, to decide whether paying a high fee beats running the
145
+ * pool dry. Omit it and the ceiling is absolute.
146
+ */
147
+ getPoolBalance?(currency: string, network: string): Promise<string>;
148
+ /**
149
+ * Vendor transactions in a window, normalized into the same events `parseWebhook`
150
+ * produces - reconciliation is that same normalization, polled instead of pushed.
151
+ * Implemented by a vendor whose ledger can be listed after the fact; a PSP that only
152
+ * pushes webhooks omits it.
153
+ */
154
+ listTransactions?(range: {
155
+ since: Date;
156
+ until: Date;
157
+ }): Promise<PaymentWebhookEvent[]>;
158
+ /**
159
+ * Targeted status lookup for a single withdrawal, or null when the vendor has no
160
+ * record of it. Not redundant with `listTransactions`: a withdrawal stuck in
161
+ * `processing` for days falls outside any sane reconciliation window, so finalizing
162
+ * it needs a direct lookup by `externalId`.
163
+ */
164
+ getWithdrawalStatus?(externalId: string): Promise<{
165
+ status: 'processing' | 'completed' | 'failed';
166
+ txHash?: string;
167
+ } | null>;
70
168
  };
71
169
  export declare const PAYMENT_ADAPTER: Token<PaymentAdapter>;
72
170
  /**
@@ -80,4 +178,5 @@ export type PaymentWebhookVerifier = {
80
178
  verify(rawBody: string, headers: Record<string, string | string[] | undefined>): boolean | Promise<boolean>;
81
179
  };
82
180
  export declare const PAYMENT_WEBHOOK_VERIFIER: Token<PaymentWebhookVerifier>;
181
+ export declare const PAYMENT_PROVIDERS: Token<PaymentProviderRegistry>;
83
182
  //# sourceMappingURL=payment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/payment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,mBAAmB,GAC3B;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB,GACD;IACE,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEN,MAAM,MAAM,cAAc,GAAG;IAC3B,cAAc,CACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEnD;;;;;;;;OAQG;IACH,iBAAiB,CACf,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEnD;;;;;;OAMG;IACH,mBAAmB,CAAC,CAClB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE9C;;;;OAIG;IACH,YAAY,CAAC,CACX,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GACrD,mBAAmB,GAAG,IAAI,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,cAAc,CAAkC,CAAC;AAErF;;;;;;GAMG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,CACJ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GACrD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,sBAAsB,CAElE,CAAC"}
1
+ {"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/payment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,mBAAmB,GAC3B;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB,GACD;IACE,IAAI,EAAE,YAAY,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEN;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,YAAY,CAAC;AAElD,kGAAkG;AAClG,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,cAAc,CAAC;IACxB,eAAe,EAAE,sBAAsB,CAAC;CACzC,CAAC;AAEF;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,uBAAuB,GAAG;IACpC,GAAG,CAAC,YAAY,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAAC;IAClD,KAAK,IAAI,SAAS,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,cAAc,CACZ,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEnD;;;;;;;;OAQG;IACH,iBAAiB,CACf,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAEnD;;;;;;OAMG;IACH,mBAAmB,CAAC,CAClB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAE9C;;;;OAIG;IACH,YAAY,CAAC,CACX,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GACrD,mBAAmB,GAAG,IAAI,CAAC;IAE9B;;;;;;OAMG;IACH,aAAa,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC;IAE3D;;;;;OAKG;IACH,qBAAqB,CAAC,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAEpD;;;;;;;;;;OAUG;IACH,WAAW,CAAC,CACV,OAAO,EAAE,cAAc,EACvB,IAAI,EAAE;QAAE,cAAc,EAAE,MAAM,CAAA;KAAE,GAC/B,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAErD;;;;OAIG;IACH,cAAc,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEpE;;;;;OAKG;IACH,gBAAgB,CAAC,CAAC,KAAK,EAAE;QAAE,KAAK,EAAE,IAAI,CAAC;QAAC,KAAK,EAAE,IAAI,CAAA;KAAE,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAEvF;;;;;OAKG;IACH,mBAAmB,CAAC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;QAChD,MAAM,EAAE,YAAY,GAAG,WAAW,GAAG,QAAQ,CAAC;QAC9C,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,IAAI,CAAC,CAAC;CACX,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,cAAc,CAAkC,CAAC;AAErF;;;;;;GAMG;AACH,MAAM,MAAM,sBAAsB,GAAG;IACnC,MAAM,CACJ,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GACrD,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,sBAAsB,CAElE,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,uBAAuB,CAAoC,CAAC"}
@@ -4,6 +4,12 @@
4
4
  * module's plugin.ts. See docs/adapters/payment.md for the full binding guide.
5
5
  */
6
6
  import { createToken } from './token.js';
7
+ /**
8
+ * Name of the single default `PaymentAdapter`/`PaymentWebhookVerifier` binding, wrapped
9
+ * as one `PaymentProviderRegistry` entry so an operator with one vendor changes nothing.
10
+ */
11
+ export const DEFAULT_PAYMENT_PROVIDER = 'default';
7
12
  export const PAYMENT_ADAPTER = createToken('PAYMENT_ADAPTER');
8
13
  export const PAYMENT_WEBHOOK_VERIFIER = createToken('PAYMENT_WEBHOOK_VERIFIER');
14
+ export const PAYMENT_PROVIDERS = createToken('PAYMENT_PROVIDERS');
9
15
  //# sourceMappingURL=payment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"payment.js","sourceRoot":"","sources":["../../../src/contracts/adapters/payment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AA+ErD,MAAM,CAAC,MAAM,eAAe,GAA0B,WAAW,CAAC,iBAAiB,CAAC,CAAC;AAgBrF,MAAM,CAAC,MAAM,wBAAwB,GAAkC,WAAW,CAChF,0BAA0B,CAC3B,CAAC"}
1
+ {"version":3,"file":"payment.js","sourceRoot":"","sources":["../../../src/contracts/adapters/payment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AA+CrD;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAC;AAmIlD,MAAM,CAAC,MAAM,eAAe,GAA0B,WAAW,CAAC,iBAAiB,CAAC,CAAC;AAgBrF,MAAM,CAAC,MAAM,wBAAwB,GAAkC,WAAW,CAChF,0BAA0B,CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAmC,WAAW,CAAC,mBAAmB,CAAC,CAAC"}
@@ -20,6 +20,7 @@ export declare const RATE_LIMIT_KEYS: {
20
20
  readonly EMAIL_VERIFICATION: "email-verify";
21
21
  readonly VERIFY_EMAIL: "verify-email";
22
22
  readonly WALLET_MUTATION: "wallet-mutation";
23
+ readonly WALLET_WEBHOOK: "wallet-webhook";
23
24
  readonly CHAT_ROOM_JOIN: "chat-room-join";
24
25
  readonly CHAT_SEND: "chat-send";
25
26
  readonly REPORT_ACCESS_DENIED: "report-access-denied";
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/rate-limit.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;CAgBlB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAExF,MAAM,MAAM,YAAY,GAAG,GAAG,kBAAkB,IAAI,MAAM,EAAE,CAAC;AAE7D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,GAAG,YAAY,CAErF;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,4DAA4D;IAC5D,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM,IAAI;IAC5D,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACpE,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAA+B,CAAC"}
1
+ {"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/rate-limit.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;CAiBlB,CAAC;AAEX,MAAM,MAAM,kBAAkB,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAExF,MAAM,MAAM,YAAY,GAAG,GAAG,kBAAkB,IAAI,MAAM,EAAE,CAAC;AAE7D,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,kBAAkB,EAAE,EAAE,EAAE,MAAM,GAAG,YAAY,CAErF;AAED,MAAM,MAAM,gBAAgB,GAAG;IAC7B,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,4DAA4D;IAC5D,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,GAAG,SAAS,MAAM,GAAG,MAAM,IAAI;IAC5D,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IACpE,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAA+B,CAAC"}
@@ -20,6 +20,7 @@ export const RATE_LIMIT_KEYS = {
20
20
  EMAIL_VERIFICATION: 'email-verify',
21
21
  VERIFY_EMAIL: 'verify-email',
22
22
  WALLET_MUTATION: 'wallet-mutation',
23
+ WALLET_WEBHOOK: 'wallet-webhook',
23
24
  CHAT_ROOM_JOIN: 'chat-room-join',
24
25
  CHAT_SEND: 'chat-send',
25
26
  REPORT_ACCESS_DENIED: 'report-access-denied',
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limit.js","sourceRoot":"","sources":["../../../src/contracts/adapters/rate-limit.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAErD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,WAAW;IACvB,UAAU,EAAE,WAAW;IACvB,WAAW,EAAE,YAAY;IACzB,sBAAsB,EAAE,aAAa;IACrC,qBAAqB,EAAE,gBAAgB;IACvC,cAAc,EAAE,SAAS;IACzB,eAAe,EAAE,iBAAiB;IAClC,kBAAkB,EAAE,cAAc;IAClC,YAAY,EAAE,cAAc;IAC5B,eAAe,EAAE,iBAAiB;IAClC,cAAc,EAAE,gBAAgB;IAChC,SAAS,EAAE,WAAW;IACtB,oBAAoB,EAAE,sBAAsB;CACpC,CAAC;AAMX,MAAM,UAAU,gBAAgB,CAAC,MAA0B,EAAE,EAAU;IACrE,OAAO,GAAG,MAAM,IAAI,EAAE,EAAE,CAAC;AAC3B,CAAC;AA0BD,MAAM,CAAC,MAAM,YAAY,GAA4C,WAAW,CAAC,cAAc,CAAC,CAAC"}
1
+ {"version":3,"file":"rate-limit.js","sourceRoot":"","sources":["../../../src/contracts/adapters/rate-limit.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAErD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,QAAQ,EAAE,UAAU;IACpB,KAAK,EAAE,OAAO;IACd,UAAU,EAAE,WAAW;IACvB,UAAU,EAAE,WAAW;IACvB,WAAW,EAAE,YAAY;IACzB,sBAAsB,EAAE,aAAa;IACrC,qBAAqB,EAAE,gBAAgB;IACvC,cAAc,EAAE,SAAS;IACzB,eAAe,EAAE,iBAAiB;IAClC,kBAAkB,EAAE,cAAc;IAClC,YAAY,EAAE,cAAc;IAC5B,eAAe,EAAE,iBAAiB;IAClC,cAAc,EAAE,gBAAgB;IAChC,cAAc,EAAE,gBAAgB;IAChC,SAAS,EAAE,WAAW;IACtB,oBAAoB,EAAE,sBAAsB;CACpC,CAAC;AAMX,MAAM,UAAU,gBAAgB,CAAC,MAA0B,EAAE,EAAU;IACrE,OAAO,GAAG,MAAM,IAAI,EAAE,EAAE,CAAC;AAC3B,CAAC;AA0BD,MAAM,CAAC,MAAM,YAAY,GAA4C,WAAW,CAAC,cAAc,CAAC,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * One operator-configured (currency, network) pair the platform accepts deposits for or
3
+ * pays withdrawals out of. Rows are editable at runtime from the admin surface, so this
4
+ * is config rather than code: adding a currency is not a deploy.
5
+ */
6
+ export type WalletAsset = {
7
+ currency: string;
8
+ network: string;
9
+ /**
10
+ * The bound payment vendor's own identifier for this asset (eg a custody vendor's
11
+ * `USDT_ERC20`). Opaque - the wallet module stores and returns it, never parses it,
12
+ * so a different vendor's identifier scheme needs no core change.
13
+ */
14
+ providerAssetId: string;
15
+ minDeposit: string;
16
+ minWithdrawal: string;
17
+ withdrawalFee: string;
18
+ depositEnabled: boolean;
19
+ withdrawalEnabled: boolean;
20
+ };
21
+ /**
22
+ * Read side of the asset catalog, for an adapter that needs the operator's asset table
23
+ * without importing wallet internals.
24
+ *
25
+ * Unlike most ports here, the wallet module binds a DB-backed default implementation to
26
+ * this token itself (as with `CACHE`/`RATE_LIMITER`), so an operator gets a working
27
+ * catalog with no wiring; rebinding it is possible but not required.
28
+ */
29
+ export type WalletAssetCatalog = {
30
+ list(): Promise<WalletAsset[]>;
31
+ get(currency: string, network: string): Promise<WalletAsset | null>;
32
+ };
33
+ export declare const WALLET_ASSET_CATALOG: import("./token.js").Token<WalletAssetCatalog, string>;
34
+ //# sourceMappingURL=wallet-asset-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-asset-catalog.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/wallet-asset-catalog.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,eAAe,EAAE,MAAM,CAAC;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,OAAO,CAAC;IACxB,iBAAiB,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,IAAI,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/B,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CACrE,CAAC;AAEF,eAAO,MAAM,oBAAoB,wDAA0D,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { createToken } from './token.js';
2
+ export const WALLET_ASSET_CATALOG = createToken('WALLET_ASSET_CATALOG');
3
+ //# sourceMappingURL=wallet-asset-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-asset-catalog.js","sourceRoot":"","sources":["../../../src/contracts/adapters/wallet-asset-catalog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAoCzC,MAAM,CAAC,MAAM,oBAAoB,GAAG,WAAW,CAAqB,sBAAsB,CAAC,CAAC"}
@@ -12,8 +12,9 @@ describe('MoneyAmountSchema', () => {
12
12
  expect(MoneyAmountSchema.parse('19.99')).toBe('19.99');
13
13
  expect(MoneyAmountSchema.parse('0')).toBe('0');
14
14
  });
15
- it('rejects more than 18 decimal places and a negative amount', () => {
15
+ it('rejects amounts outside numeric(38, 18)', () => {
16
16
  expect(MoneyAmountSchema.safeParse('0.0000000000000000001').success).toBe(false);
17
+ expect(MoneyAmountSchema.safeParse('100000000000000000000').success).toBe(false);
17
18
  expect(MoneyAmountSchema.safeParse('-1').success).toBe(false);
18
19
  });
19
20
  });
@@ -1 +1 @@
1
- {"version":3,"file":"common-schemas.test.js","sourceRoot":"","sources":["../../../../src/contracts/schemas/__tests__/common-schemas.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACrF,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC,IAAI,CACjE,6BAA6B,CAC9B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,GAAG,EAAE;QACnE,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjF,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"common-schemas.test.js","sourceRoot":"","sources":["../../../../src/contracts/schemas/__tests__/common-schemas.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACrF,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC,IAAI,CACjE,6BAA6B,CAC9B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACrD,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvD,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACjD,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjF,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjF,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/contracts/schemas/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,UAAU,WAAW,CAAC;AACnC,eAAO,MAAM,eAAe,kBAAmB,CAAC;AAEhD,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAE9C,eAAO,MAAM,aAAa;;iBAA+B,CAAC;AAC1D,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,eAAO,MAAM,iBAAiB;;iBAAmC,CAAC;AAClE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,gBAAgB;;;iBAG3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAM1D,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC,eAAO,MAAM,iBAAiB,aAK3B,CAAC;AACJ,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,kBAAkB,wGAKrB,CAAC;AACX,eAAO,MAAM,qBAAqB;;;;;EAA6B,CAAC;AAChE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAKpE,eAAO,MAAM,uBAAuB,aAKjC,CAAC;AACJ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
1
+ {"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../../src/contracts/schemas/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,UAAU,WAAW,CAAC;AACnC,eAAO,MAAM,eAAe,kBAAmB,CAAC;AAEhD,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAE9C,eAAO,MAAM,aAAa;;iBAA+B,CAAC;AAC1D,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAEpD,eAAO,MAAM,iBAAiB;;iBAAmC,CAAC;AAClE,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,gBAAgB;;;iBAG3B,CAAC;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAM1D,eAAO,MAAM,WAAW,KAAK,CAAC;AAC9B,eAAO,MAAM,eAAe,KAAK,CAAC;AAGlC,eAAO,MAAM,iBAAiB,aAM7B,CAAC;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AAE5D,eAAO,MAAM,kBAAkB,wGAKrB,CAAC;AACX,eAAO,MAAM,qBAAqB;;;;;EAA6B,CAAC;AAChE,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAKpE,eAAO,MAAM,uBAAuB,aAKjC,CAAC;AACJ,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
@@ -13,9 +13,12 @@ export const ClientMetaSchema = z.object({
13
13
  // and the contract can never drift into truncating each other.
14
14
  export const MONEY_SCALE = 18;
15
15
  export const MONEY_PRECISION = 38;
16
- export const MoneyAmountSchema = z
17
- .string()
18
- .regex(new RegExp(`^\\d+(\\.\\d{1,${MONEY_SCALE}})?$`), `must be a non-negative decimal string with at most ${MONEY_SCALE} decimal places`);
16
+ const MONEY_INTEGER_DIGITS = MONEY_PRECISION - MONEY_SCALE;
17
+ export const MoneyAmountSchema = z.string().regex(
18
+ // `0*` first so the bound is on the VALUE, not the string. Postgres accepts
19
+ // `000000000000000000001` into numeric(38,18) - it is the number 1 - and a contract
20
+ // that counts characters would reject a deposit the database would have stored.
21
+ new RegExp(`^0*\\d{1,${MONEY_INTEGER_DIGITS}}(\\.\\d{1,${MONEY_SCALE}})?$`), `must be a non-negative decimal string below 10^${MONEY_INTEGER_DIGITS} with at most ${MONEY_SCALE} decimal places`);
19
22
  export const AUTH_GUARD_REASONS = [
20
23
  'missing_request_context',
21
24
  'authentication_required',
@@ -28,5 +31,5 @@ export const AuthGuardReasonSchema = z.enum(AUTH_GUARD_REASONS);
28
31
  // for a balance/threshold/ledger amount, which stay non-negative (MoneyAmountSchema).
29
32
  export const SignedMoneyAmountSchema = z
30
33
  .string()
31
- .regex(new RegExp(`^-?\\d+(\\.\\d{1,${MONEY_SCALE}})?$`), `must be a decimal string (optionally negative) with at most ${MONEY_SCALE} decimal places`);
34
+ .regex(new RegExp(`^-?\\d{1,${MONEY_INTEGER_DIGITS}}(\\.\\d{1,${MONEY_SCALE}})?$`), `must be a decimal string (optionally negative) with at most ${MONEY_INTEGER_DIGITS} integer and ${MONEY_SCALE} decimal places`);
32
35
  //# sourceMappingURL=common.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/contracts/schemas/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACnC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAIhD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;AAG1D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;AAGlE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAGH,yFAAyF;AACzF,sFAAsF;AACtF,uFAAuF;AACvF,+DAA+D;AAC/D,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC;AAC9B,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAElC,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,EAAE;KACR,KAAK,CACJ,IAAI,MAAM,CAAC,kBAAkB,WAAW,MAAM,CAAC,EAC/C,sDAAsD,WAAW,iBAAiB,CACnF,CAAC;AAGJ,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,yBAAyB;IACzB,yBAAyB;IACzB,gBAAgB;IAChB,mBAAmB;CACX,CAAC;AACX,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAGhE,wFAAwF;AACxF,yFAAyF;AACzF,sFAAsF;AACtF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC;KACrC,MAAM,EAAE;KACR,KAAK,CACJ,IAAI,MAAM,CAAC,oBAAoB,WAAW,MAAM,CAAC,EACjD,+DAA+D,WAAW,iBAAiB,CAC5F,CAAC"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/contracts/schemas/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACnC,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;AAIhD,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,UAAU,EAAE,CAAC,CAAC;AAG1D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC;AAGlE,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACzB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAGH,yFAAyF;AACzF,sFAAsF;AACtF,uFAAuF;AACvF,+DAA+D;AAC/D,MAAM,CAAC,MAAM,WAAW,GAAG,EAAE,CAAC;AAC9B,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAClC,MAAM,oBAAoB,GAAG,eAAe,GAAG,WAAW,CAAC;AAE3D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK;AAC/C,4EAA4E;AAC5E,oFAAoF;AACpF,gFAAgF;AAChF,IAAI,MAAM,CAAC,YAAY,oBAAoB,cAAc,WAAW,MAAM,CAAC,EAC3E,kDAAkD,oBAAoB,iBAAiB,WAAW,iBAAiB,CACpH,CAAC;AAGF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,yBAAyB;IACzB,yBAAyB;IACzB,gBAAgB;IAChB,mBAAmB;CACX,CAAC;AACX,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAGhE,wFAAwF;AACxF,yFAAyF;AACzF,sFAAsF;AACtF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC;KACrC,MAAM,EAAE;KACR,KAAK,CACJ,IAAI,MAAM,CAAC,YAAY,oBAAoB,cAAc,WAAW,MAAM,CAAC,EAC3E,+DAA+D,oBAAoB,gBAAgB,WAAW,iBAAiB,CAChI,CAAC"}
@@ -215,6 +215,21 @@ export declare const domainEventSchemas: {
215
215
  transactionId: z.ZodUUID;
216
216
  adminId: z.ZodUUID;
217
217
  }, z.core.$strip>;
218
+ readonly 'wallet.manual_adjustment.created': z.ZodObject<{
219
+ userId: z.ZodUUID;
220
+ amount: z.ZodString;
221
+ currency: z.ZodString;
222
+ transactionId: z.ZodUUID;
223
+ playerId: z.ZodNullable<z.ZodUUID>;
224
+ adminId: z.ZodUUID;
225
+ direction: z.ZodEnum<{
226
+ credit: "credit";
227
+ debit: "debit";
228
+ }>;
229
+ reason: z.ZodString;
230
+ ip: z.ZodOptional<z.ZodNullable<z.ZodString>>;
231
+ userAgent: z.ZodOptional<z.ZodNullable<z.ZodString>>;
232
+ }, z.core.$strip>;
218
233
  readonly 'gaming.round.started': z.ZodObject<{
219
234
  roundId: z.ZodUUID;
220
235
  gameId: z.ZodUUID;
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/contracts/schemas/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAyCzB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQjC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsdrB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,kBAAkB,CAAC;AAC9D,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,eAAe,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAIpG,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CA4BxE,CAAC;AAEF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,eAAO,MAAM,oBAAoB,EAAsC,eAAe,EAAE,CAAC;AAEzF,sIAAsI;AACtI,wBAAgB,YAAY,IAAI,aAAa,CAAC;IAAE,KAAK,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAKzF"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../../src/contracts/schemas/events.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAyCzB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQjC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmerB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,kBAAkB,CAAC;AAC9D,MAAM,MAAM,kBAAkB,CAAC,CAAC,SAAS,eAAe,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAIpG,eAAO,MAAM,mBAAmB,EAAE,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CA6BxE,CAAC;AAEF,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAErD;AAED,eAAO,MAAM,oBAAoB,EAAsC,eAAe,EAAE,CAAC;AAEzF,sIAAsI;AACtI,wBAAgB,YAAY,IAAI,aAAa,CAAC;IAAE,KAAK,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAKzF"}
@@ -136,7 +136,7 @@ export const domainEventSchemas = {
136
136
  .extend({ playerId: UuidSchema.nullable() })
137
137
  .extend(authContextBase.shape),
138
138
  // A payments admin approved a pending withdrawal; it moves to `processing` and
139
- // is sent to the PSP/Fireblocks rail. `adminId` is the acting reviewer.
139
+ // is sent to the PSP/custody rail. `adminId` is the acting reviewer.
140
140
  'wallet.withdrawal.approved': walletTxnBase
141
141
  .extend({ adminId: UuidSchema })
142
142
  .extend(authContextBase.shape),
@@ -145,9 +145,22 @@ export const domainEventSchemas = {
145
145
  'wallet.withdrawal.rejected': walletTxnBase
146
146
  .extend({ adminId: UuidSchema, reason: z.string() })
147
147
  .extend(authContextBase.shape),
148
- // An approved withdrawal failed at the PSP/Fireblocks rail; the held funds were
148
+ // An approved withdrawal failed at the PSP/custody rail; the held funds were
149
149
  // returned to the player balance and the transaction moved to `failed`.
150
150
  'wallet.withdrawal.failed': walletTxnBase.extend({ adminId: UuidSchema }),
151
+ // A super admin credited or debited a balance directly, outside the deposit and
152
+ // withdrawal rails. Its own topic rather than a reuse of `wallet.deposit.completed`:
153
+ // a correction is not a deposit, and reporting it as one would overstate deposits and
154
+ // GGR. Subscribers that track balance movement must handle it or they see a balance
155
+ // change with no event behind it.
156
+ 'wallet.manual_adjustment.created': walletTxnBase
157
+ .extend({
158
+ playerId: UuidSchema.nullable(),
159
+ adminId: UuidSchema,
160
+ direction: z.enum(['credit', 'debit']),
161
+ reason: z.string(),
162
+ })
163
+ .extend(authContextBase.shape),
151
164
  'gaming.round.started': z.object({
152
165
  roundId: UuidSchema,
153
166
  gameId: UuidSchema,
@@ -512,6 +525,7 @@ export const domainEventVersions = {
512
525
  'wallet.withdrawal.approved': 2,
513
526
  'wallet.withdrawal.rejected': 2,
514
527
  'wallet.withdrawal.failed': 2,
528
+ 'wallet.manual_adjustment.created': 2,
515
529
  // v2: amount/previousAmount (decimal string) + minutes/previousMinutes polymorphic
516
530
  // pair (money limit vs session-time limit), never a JS number.
517
531
  'rg.limit.set': 2,
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/contracts/schemas/events.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/contracts/schemas/events.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,21 @@ export declare const AutoWithdrawalConfigSchema: z.ZodObject<{
33
33
  export type AutoWithdrawalConfig = z.infer<typeof AutoWithdrawalConfigSchema>;
34
34
  export declare const WalletConfigSchema: z.ZodObject<{
35
35
  cryptoCurrencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
36
+ sweep: z.ZodOptional<z.ZodObject<{
37
+ cron: z.ZodDefault<z.ZodString>;
38
+ feeMultiple: z.ZodDefault<z.ZodString>;
39
+ batchSize: z.ZodDefault<z.ZodNumber>;
40
+ concurrency: z.ZodDefault<z.ZodNumber>;
41
+ unknownAfterMinutes: z.ZodDefault<z.ZodNumber>;
42
+ staleRunAfterMinutes: z.ZodDefault<z.ZodNumber>;
43
+ }, z.core.$strict>>;
44
+ reconciliation: z.ZodOptional<z.ZodObject<{
45
+ cron: z.ZodDefault<z.ZodString>;
46
+ lookbackHours: z.ZodDefault<z.ZodNumber>;
47
+ stuckAfterMinutes: z.ZodDefault<z.ZodNumber>;
48
+ staleRunAfterMinutes: z.ZodDefault<z.ZodNumber>;
49
+ alertThreshold: z.ZodDefault<z.ZodNumber>;
50
+ }, z.core.$strict>>;
36
51
  }, z.core.$strict>;
37
52
  export type WalletConfig = z.infer<typeof WalletConfigSchema>;
38
53
  export declare const RegistrationConfigSchema: z.ZodObject<{
@@ -68,6 +83,21 @@ export declare const PlatformConfigSchema: z.ZodObject<{
68
83
  }, z.core.$strict>>;
69
84
  wallet: z.ZodOptional<z.ZodObject<{
70
85
  cryptoCurrencies: z.ZodOptional<z.ZodArray<z.ZodString>>;
86
+ sweep: z.ZodOptional<z.ZodObject<{
87
+ cron: z.ZodDefault<z.ZodString>;
88
+ feeMultiple: z.ZodDefault<z.ZodString>;
89
+ batchSize: z.ZodDefault<z.ZodNumber>;
90
+ concurrency: z.ZodDefault<z.ZodNumber>;
91
+ unknownAfterMinutes: z.ZodDefault<z.ZodNumber>;
92
+ staleRunAfterMinutes: z.ZodDefault<z.ZodNumber>;
93
+ }, z.core.$strict>>;
94
+ reconciliation: z.ZodOptional<z.ZodObject<{
95
+ cron: z.ZodDefault<z.ZodString>;
96
+ lookbackHours: z.ZodDefault<z.ZodNumber>;
97
+ stuckAfterMinutes: z.ZodDefault<z.ZodNumber>;
98
+ staleRunAfterMinutes: z.ZodDefault<z.ZodNumber>;
99
+ alertThreshold: z.ZodDefault<z.ZodNumber>;
100
+ }, z.core.$strict>>;
71
101
  }, z.core.$strict>>;
72
102
  registration: z.ZodOptional<z.ZodObject<{
73
103
  termsVersion: z.ZodString;
@@ -114,6 +144,21 @@ export declare const PLATFORM_CONFIG: import("../adapters/token.js").Token<{
114
144
  } | undefined;
115
145
  wallet?: {
116
146
  cryptoCurrencies?: string[] | undefined;
147
+ sweep?: {
148
+ cron: string;
149
+ feeMultiple: string;
150
+ batchSize: number;
151
+ concurrency: number;
152
+ unknownAfterMinutes: number;
153
+ staleRunAfterMinutes: number;
154
+ } | undefined;
155
+ reconciliation?: {
156
+ cron: string;
157
+ lookbackHours: number;
158
+ stuckAfterMinutes: number;
159
+ staleRunAfterMinutes: number;
160
+ alertThreshold: number;
161
+ } | undefined;
117
162
  } | undefined;
118
163
  registration?: {
119
164
  termsVersion: string;
@@ -1 +1 @@
1
- {"version":3,"file":"platform-config.d.ts","sourceRoot":"","sources":["../../../src/contracts/schemas/platform-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,kBAAkB,wCAAoC,CAAC;AAEpE,eAAO,MAAM,WAAW;;;;;kBAUb,CAAC;AAEZ,eAAO,MAAM,eAAe;;;;;kBAcjB,CAAC;AAEZ,eAAO,MAAM,0BAA0B;;;;kBAQ5B,CAAC;AAEZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,kBAAkB;;kBAUpB,CAAC;AAEZ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,wBAAwB;;;kBAO1B,CAAC;AAEZ,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAkD7B,CAAC;AAEL,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEvE;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,GAAG,cAAc,CAShF;AAED,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,EAAE,cAAyC,CAAC;AAE9E,+EAA+E;AAC/E,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAAiD,CAAC"}
1
+ {"version":3,"file":"platform-config.d.ts","sourceRoot":"","sources":["../../../src/contracts/schemas/platform-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,kBAAkB,wCAAoC,CAAC;AAEpE,eAAO,MAAM,WAAW;;;;;kBAUb,CAAC;AAEZ,eAAO,MAAM,eAAe;;;;;kBAcjB,CAAC;AAEZ,eAAO,MAAM,0BAA0B;;;;kBAQ5B,CAAC;AAEZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;kBAyDpB,CAAC;AAEZ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D,eAAO,MAAM,wBAAwB;;;kBAO1B,CAAC;AAEZ,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAkD7B,CAAC;AAEL,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEvE;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,GAAG,cAAc,CAShF;AAED,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,EAAE,cAAyC,CAAC;AAE9E,+EAA+E;AAC/E,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAAiD,CAAC"}
@@ -60,6 +60,53 @@ export const WalletConfigSchema = z
60
60
  * core code change.
61
61
  */
62
62
  cryptoCurrencies: z.array(z.string().min(1)).optional(),
63
+ /**
64
+ * Custody sweep cron knobs. Static config, not a DB row - nothing here is edited
65
+ * during an incident. Absent means the sweep job no-ops.
66
+ */
67
+ sweep: z
68
+ .object({
69
+ cron: z.string().default('*/15 * * * *'),
70
+ /**
71
+ * Decimal string, compared exactly (see `moneyCompare`/`moneyScaleBy`). A
72
+ * balance must be worth at least this many times the fee to be worth sweeping.
73
+ */
74
+ feeMultiple: MoneyAmountSchema.default('5'),
75
+ /** Balances considered per cycle; listSweepableBalances is unbounded. */
76
+ batchSize: z.number().int().positive().default(200),
77
+ /** Vendor API parallelism. Tune to the vendor's rate limit. */
78
+ concurrency: z.number().int().positive().default(4),
79
+ /**
80
+ * How long a sweep may sit in `unknown` before reconciliation reports it for a
81
+ * human. `unknown` means the vendor call threw and we cannot tell whether it
82
+ * was received, so the in-flight guard stays held and nobody releases it
83
+ * automatically.
84
+ */
85
+ unknownAfterMinutes: z.number().int().positive().default(60),
86
+ /**
87
+ * How long a claimed run may sit unfinished before another cycle treats it as
88
+ * abandoned and takes over. Distinct from `unknownAfterMinutes`: this one is
89
+ * about a crashed worker, that one is about an ambiguous vendor call.
90
+ */
91
+ staleRunAfterMinutes: z.number().int().positive().default(30),
92
+ })
93
+ .strict()
94
+ .optional(),
95
+ /**
96
+ * Reconciliation cron knobs. Static config, not a DB row - nothing here is edited
97
+ * during an incident. Absent means the reconciliation job no-ops.
98
+ */
99
+ reconciliation: z
100
+ .object({
101
+ cron: z.string().default('0 * * * *'),
102
+ lookbackHours: z.number().int().positive().default(24),
103
+ stuckAfterMinutes: z.number().int().positive().default(60),
104
+ /** Run-claim takeover threshold, as in `sweep.staleRunAfterMinutes`. */
105
+ staleRunAfterMinutes: z.number().int().positive().default(30),
106
+ alertThreshold: z.number().int().positive().default(10),
107
+ })
108
+ .strict()
109
+ .optional(),
63
110
  })
64
111
  .strict();
65
112
  export const RegistrationConfigSchema = z
@@ -1 +1 @@
1
- {"version":3,"file":"platform-config.js","sourceRoot":"","sources":["../../../src/contracts/schemas/platform-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"platform-config.js","sourceRoot":"","sources":["../../../src/contracts/schemas/platform-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD;;;;;;;;;;;;GAYG;AAEH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;AAEpE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC;KACzB,MAAM,CAAC;IACN,4DAA4D;IAC5D,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACrB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,yDAAyD;IACzD,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,kEAAkE;IAClE,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC5D,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC7B,MAAM,CAAC;IACN,iFAAiF;IACjF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,wFAAwF;IACxF,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACvC,0FAA0F;IAC1F,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAC3C;;;OAGG;IACH,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,iBAAiB,CAAC,CAAC,QAAQ,EAAE;CACvE,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,MAAM,CAAC;IACN,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IACnC,wFAAwF;IACxF,cAAc,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IAC5C,uFAAuF;IACvF,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;CACtD,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,CAAC;IACN;;;;;OAKG;IACH,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IACvD;;;OAGG;IACH,KAAK,EAAE,CAAC;SACL,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC;QACxC;;;WAGG;QACH,WAAW,EAAE,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC;QAC3C,yEAAyE;QACzE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;QACnD,+DAA+D;QAC/D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QACnD;;;;;WAKG;QACH,mBAAmB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5D;;;;WAIG;QACH,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;KAC9D,CAAC;SACD,MAAM,EAAE;SACR,QAAQ,EAAE;IACb;;;OAGG;IACH,cAAc,EAAE,CAAC;SACd,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC;QACrC,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;QACtD,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;QAC1D,wEAAwE;QACxE,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7D,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;KACxD,CAAC;SACD,MAAM,EAAE;SACR,QAAQ,EAAE;CACd,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,MAAM,CAAC;IACN,yEAAyE;IACzE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC/B,+DAA+D;IAC/D,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE;CAChB,CAAC;KACD,MAAM,EAAE,CAAC;AAEZ,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC;KAClC,MAAM,CAAC;IACN;;;OAGG;IACH,QAAQ,EAAE,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;IACxC;;;;OAIG;IACH,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACxC;;;;OAIG;IACH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC;;;OAGG;IACH,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAClE;;;OAGG;IACH,GAAG,EAAE,eAAe,CAAC,QAAQ,EAAE;IAC/B,6HAA6H;IAC7H,cAAc,EAAE,0BAA0B,CAAC,QAAQ,EAAE;IACrD,iGAAiG;IACjG,MAAM,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IACrC,sDAAsD;IACtD,YAAY,EAAE,wBAAwB,CAAC,QAAQ,EAAE;IACjD;;;OAGG;IACH,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CAC1D,CAAC;KACD,MAAM,EAAE;KACR,WAAW,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACxB,IAAI,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC;QACzE,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,gBAAgB,GAAG,CAAC,WAAW,mCAAmC;YAC3E,IAAI,EAAE,CAAC,aAAa,CAAC;SACtB,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAKL;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAA2B;IAC9D,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACtD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM;aAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,QAAQ,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;aAC/D,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,8EAA8E;AAC9E,MAAM,CAAC,MAAM,qBAAqB,GAAmB,oBAAoB,CAAC,EAAE,CAAC,CAAC;AAE9E,+EAA+E;AAC/E,MAAM,CAAC,MAAM,eAAe,GAAG,WAAW,CAAiB,iBAAiB,CAAC,CAAC"}