@openora/core 0.4.1-canary.91 → 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
@@ -1,9 +1,44 @@
1
1
  import { implement, ORPCError } from '@orpc/server';
2
- import { getUserId, mapErrors } from '@openora/core/server';
2
+ import { getUserId, mapErrors, assertRateLimit, } from '@openora/core/server';
3
+ import { DEFAULT_PAYMENT_PROVIDER, RATE_LIMIT_KEYS, makeRateLimitKey, } from '@openora/core/contracts';
3
4
  import { walletContract } from '../contract/index.js';
4
- import { WalletNotFoundError, WithdrawalNotFoundError, WithdrawalNotPendingError, InsufficientBalanceError, CurrencyMismatchError, KycRequiredError, IdempotencyKeyReuseError, DepositAddressUnsupportedError, DestinationAddressRequiredError, AutoWithdrawalConfigNotFoundError, } from '../service/wallet.service.js';
5
- export function createWalletRouter(wallet, adminGuard, audit, paymentAdapter, webhookVerifier) {
5
+ import { WalletNotFoundError, WithdrawalNotFoundError, WithdrawalNotPendingError, InsufficientBalanceError, CurrencyMismatchError, KycRequiredError, IdempotencyKeyReuseError, DepositAddressUnsupportedError, DestinationAddressRequiredError, AutoWithdrawalConfigNotFoundError, WalletAssetNotFoundError, WalletAssetAlreadyExistsError, WalletAssetUnsupportedError, WalletAssetUnknownProviderError, WalletAssetInUseError, WalletAssetHasInFlightTransactionsError, AmbiguousNetworkError, UnsupportedNetworkError, WithdrawalDisabledError, BelowMinimumWithdrawalError, PlayerNotFoundError, } from '../service/wallet.service.js';
6
+ // One helper so `grep notImplemented` finds every remaining stub; the count reaching
7
+ // zero is the definition of done for the custody sweep / reconciliation feature set.
8
+ const notImplemented = () => {
9
+ throw new ORPCError('NOT_IMPLEMENTED');
10
+ };
11
+ // Unauthenticated route: it costs a signature verification (and, for a custody vendor,
12
+ // a DB lookup) per request with nothing else gating it. Keyed on client IP, not a
13
+ // vendor/account identity, since an attacker chooses neither. A request with no IP
14
+ // signal (proxy misconfiguration) still shares one bucket rather than skipping the
15
+ // limiter outright - "no signal" must never mean "no limit".
16
+ const WALLET_WEBHOOK_RATE_LIMIT = { limit: 120, windowMs: 60 * 1000 };
17
+ async function dispatchWebhook(wallet, paymentProviders, providerName, rawBody, headers) {
18
+ const provider = paymentProviders.get(providerName);
19
+ // A missing provider fails the exact same shape as a bad signature - the path segment
20
+ // must never let an attacker enumerate which vendors are bound.
21
+ if (rawBody === undefined ||
22
+ !provider ||
23
+ !(await provider.webhookVerifier.verify(rawBody, headers))) {
24
+ throw new ORPCError('UNAUTHORIZED', { message: 'Invalid payment webhook signature' });
25
+ }
26
+ // Always the SAME provider's adapter that verified the signature - never verify with
27
+ // one vendor's key and parse with another's format (signature confusion).
28
+ const event = provider.adapter.parseWebhook?.(rawBody, headers);
29
+ if (event) {
30
+ if (event.kind === 'deposit') {
31
+ await wallet.creditDepositByAddress(event);
32
+ }
33
+ else {
34
+ await wallet.reconcileWithdrawalStatus(event);
35
+ }
36
+ }
37
+ return { ok: true };
38
+ }
39
+ export function createWalletRouter(wallet, adminGuard, audit, paymentProviders, limiter) {
6
40
  const os = implement(walletContract).$context();
41
+ const throttleWebhook = (context) => assertRateLimit(limiter, makeRateLimitKey(RATE_LIMIT_KEYS.WALLET_WEBHOOK, context.clientMeta.ip ?? 'unknown'), WALLET_WEBHOOK_RATE_LIMIT);
7
42
  return os.router({
8
43
  getBalance: os.getBalance.handler(({ context }) => wallet.getBalance(getUserId(context))),
9
44
  getBalances: os.getBalances.handler(({ context }) => wallet.getBalances(getUserId(context))),
@@ -18,17 +53,37 @@ export function createWalletRouter(wallet, adminGuard, audit, paymentAdapter, we
18
53
  withdraw: os.withdraw.handler(({ input, context }) => {
19
54
  return mapErrors({
20
55
  NOT_FOUND: WalletNotFoundError,
21
- BAD_REQUEST: [InsufficientBalanceError, CurrencyMismatchError],
22
- CONFLICT: [KycRequiredError, IdempotencyKeyReuseError, DestinationAddressRequiredError],
56
+ BAD_REQUEST: [
57
+ InsufficientBalanceError,
58
+ CurrencyMismatchError,
59
+ AmbiguousNetworkError,
60
+ UnsupportedNetworkError,
61
+ BelowMinimumWithdrawalError,
62
+ ],
63
+ CONFLICT: [
64
+ KycRequiredError,
65
+ IdempotencyKeyReuseError,
66
+ DestinationAddressRequiredError,
67
+ WithdrawalDisabledError,
68
+ ],
23
69
  }, () => wallet.withdraw({
24
70
  userId: getUserId(context),
25
71
  amount: input.amount,
26
72
  currency: input.currency,
73
+ network: input.network,
27
74
  idempotencyKey: input.idempotencyKey,
28
75
  destinationAddress: input.destinationAddress,
29
76
  ...context.clientMeta,
30
77
  }));
31
78
  }),
79
+ manualAdjustment: os.manualAdjustment.handler(async ({ input, context }) => {
80
+ const { userId: adminId, ip, userAgent, } = await adminGuard.assert(context, 'player', 'adjust-balance');
81
+ return mapErrors({
82
+ NOT_FOUND: PlayerNotFoundError,
83
+ BAD_REQUEST: InsufficientBalanceError,
84
+ CONFLICT: IdempotencyKeyReuseError,
85
+ }, () => wallet.manualAdjust({ ...input, adminId, ip, userAgent }));
86
+ }),
32
87
  listTransactions: os.listTransactions.handler(({ context, input }) => wallet.getTransactions({
33
88
  userId: getUserId(context),
34
89
  page: input.page,
@@ -44,6 +99,7 @@ export function createWalletRouter(wallet, adminGuard, audit, paymentAdapter, we
44
99
  limit: input.limit,
45
100
  sortBy: input.sortBy,
46
101
  sortOrder: input.sortOrder,
102
+ includeInternal: true,
47
103
  });
48
104
  }),
49
105
  withdrawals: {
@@ -119,26 +175,67 @@ export function createWalletRouter(wallet, adminGuard, audit, paymentAdapter, we
119
175
  return mapErrors({ NOT_FOUND: AutoWithdrawalConfigNotFoundError }, () => wallet.getAutoWithdrawalConfig());
120
176
  }),
121
177
  },
178
+ listAssets: os.listAssets.handler(() => wallet.listEnabledWalletAssets()),
179
+ assets: {
180
+ list: os.assets.list.handler(async ({ context }) => {
181
+ await adminGuard.assert(context, 'wallet-asset', 'view');
182
+ return wallet.listWalletAssets();
183
+ }),
184
+ create: os.assets.create.handler(async ({ input, context }) => {
185
+ const { userId: adminId, ip, userAgent, } = await adminGuard.assert(context, 'wallet-asset', 'create');
186
+ return mapErrors({
187
+ CONFLICT: [
188
+ WalletAssetAlreadyExistsError,
189
+ WalletAssetUnsupportedError,
190
+ WalletAssetUnknownProviderError,
191
+ ],
192
+ }, () => wallet.createWalletAsset(adminId, input, { ip, userAgent }));
193
+ }),
194
+ update: os.assets.update.handler(async ({ input, context }) => {
195
+ const { userId: adminId, ip, userAgent, } = await adminGuard.assert(context, 'wallet-asset', 'update');
196
+ return mapErrors({
197
+ NOT_FOUND: WalletAssetNotFoundError,
198
+ CONFLICT: WalletAssetUnsupportedError,
199
+ }, () => wallet.updateWalletAsset(adminId, input, { ip, userAgent }));
200
+ }),
201
+ delete: os.assets.delete.handler(async ({ input, context }) => {
202
+ const { userId: adminId, ip, userAgent, } = await adminGuard.assert(context, 'wallet-asset', 'delete');
203
+ return mapErrors({ CONFLICT: [WalletAssetInUseError, WalletAssetHasInFlightTransactionsError] }, () => wallet.deleteWalletAsset(adminId, input.currency, input.network, { ip, userAgent }));
204
+ }),
205
+ },
122
206
  deposits: {
123
207
  getAddress: os.deposits.getAddress.handler(({ input, context }) => mapErrors({ CONFLICT: DepositAddressUnsupportedError }, () => wallet.getOrCreateDepositAddress(getUserId(context), input.currency, input.network))),
124
208
  },
125
209
  webhook: os.webhook.handler(async ({ context }) => {
126
- const rawBody = context.rawBody;
127
- if (rawBody === undefined ||
128
- !(await webhookVerifier.verify(rawBody, context.request.headers))) {
129
- throw new ORPCError('UNAUTHORIZED', { message: 'Invalid payment webhook signature' });
130
- }
131
- const event = paymentAdapter.parseWebhook?.(rawBody, context.request.headers);
132
- if (event) {
133
- if (event.kind === 'deposit') {
134
- await wallet.creditDepositByAddress(event);
135
- }
136
- else {
137
- await wallet.reconcileWithdrawalStatus(event);
138
- }
139
- }
140
- return { ok: true };
210
+ await throttleWebhook(context);
211
+ return dispatchWebhook(wallet, paymentProviders, DEFAULT_PAYMENT_PROVIDER, context.rawBody, context.request.headers);
141
212
  }),
213
+ webhookForProvider: os.webhookForProvider.handler(async ({ input, context }) => {
214
+ await throttleWebhook(context);
215
+ return dispatchWebhook(wallet, paymentProviders, input.provider, context.rawBody, context.request.headers);
216
+ }),
217
+ custody: {
218
+ sweep: {
219
+ run: os.custody.sweep.run.handler(async ({ context }) => {
220
+ await adminGuard.assert(context, 'wallet-custody', 'run');
221
+ return notImplemented();
222
+ }),
223
+ },
224
+ },
225
+ reconciliation: {
226
+ list: os.reconciliation.list.handler(async ({ context }) => {
227
+ await adminGuard.assert(context, 'wallet-reconciliation', 'view');
228
+ return notImplemented();
229
+ }),
230
+ resolve: os.reconciliation.resolve.handler(async ({ context }) => {
231
+ await adminGuard.assert(context, 'wallet-reconciliation', 'resolve');
232
+ return notImplemented();
233
+ }),
234
+ run: os.reconciliation.run.handler(async ({ context }) => {
235
+ await adminGuard.assert(context, 'wallet-reconciliation', 'run');
236
+ return notImplemented();
237
+ }),
238
+ },
142
239
  });
143
240
  }
144
241
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/wallet/router/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/wallet/router/index.ts"],"names":[],"mappings":"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"}