@openora/core 0.4.1-canary.11 → 0.4.1-canary.13

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 (85) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/compliance/__tests__/hmac-kyc-webhook-verifier.test.js +9 -5
  3. package/dist/compliance/__tests__/hmac-kyc-webhook-verifier.test.js.map +1 -1
  4. package/dist/compliance/__tests__/kyc.service.test.js +23 -0
  5. package/dist/compliance/__tests__/kyc.service.test.js.map +1 -1
  6. package/dist/compliance/adapters/hmac-kyc-webhook-verifier.d.ts +3 -3
  7. package/dist/compliance/adapters/hmac-kyc-webhook-verifier.d.ts.map +1 -1
  8. package/dist/compliance/adapters/hmac-kyc-webhook-verifier.js +12 -3
  9. package/dist/compliance/adapters/hmac-kyc-webhook-verifier.js.map +1 -1
  10. package/dist/compliance/contract/index.d.ts +32 -0
  11. package/dist/compliance/contract/index.d.ts.map +1 -1
  12. package/dist/compliance/contract/index.js +5 -2
  13. package/dist/compliance/contract/index.js.map +1 -1
  14. package/dist/compliance/router/index.d.ts +1 -0
  15. package/dist/compliance/router/index.d.ts.map +1 -1
  16. package/dist/compliance/router/index.js +1 -9
  17. package/dist/compliance/router/index.js.map +1 -1
  18. package/dist/compliance/service/kyc.service.d.ts +7 -6
  19. package/dist/compliance/service/kyc.service.d.ts.map +1 -1
  20. package/dist/compliance/service/kyc.service.js +1 -1
  21. package/dist/compliance/service/kyc.service.js.map +1 -1
  22. package/dist/contracts/adapters/index.d.ts +2 -2
  23. package/dist/contracts/adapters/index.d.ts.map +1 -1
  24. package/dist/contracts/adapters/index.js +1 -1
  25. package/dist/contracts/adapters/index.js.map +1 -1
  26. package/dist/contracts/adapters/kyc.d.ts +33 -1
  27. package/dist/contracts/adapters/kyc.d.ts.map +1 -1
  28. package/dist/contracts/adapters/kyc.js +7 -5
  29. package/dist/contracts/adapters/kyc.js.map +1 -1
  30. package/dist/contracts/adapters/payment.d.ts +57 -0
  31. package/dist/contracts/adapters/payment.d.ts.map +1 -1
  32. package/dist/contracts/adapters/payment.js +4 -2
  33. package/dist/contracts/adapters/payment.js.map +1 -1
  34. package/dist/contracts/schemas/__tests__/common-schemas.test.d.ts +2 -0
  35. package/dist/contracts/schemas/__tests__/common-schemas.test.d.ts.map +1 -0
  36. package/dist/contracts/schemas/__tests__/common-schemas.test.js +17 -0
  37. package/dist/contracts/schemas/__tests__/common-schemas.test.js.map +1 -0
  38. package/dist/contracts/schemas/common.js +1 -1
  39. package/dist/contracts/schemas/platform-config.d.ts +3 -0
  40. package/dist/contracts/schemas/platform-config.d.ts.map +1 -1
  41. package/dist/contracts/schemas/platform-config.js +2 -1
  42. package/dist/contracts/schemas/platform-config.js.map +1 -1
  43. package/dist/wallet/__tests__/hmac-payment-webhook-verifier.test.d.ts +2 -0
  44. package/dist/wallet/__tests__/hmac-payment-webhook-verifier.test.d.ts.map +1 -0
  45. package/dist/wallet/__tests__/hmac-payment-webhook-verifier.test.js +25 -0
  46. package/dist/wallet/__tests__/hmac-payment-webhook-verifier.test.js.map +1 -0
  47. package/dist/wallet/__tests__/wallet-auto-rule.router.test.js +8 -6
  48. package/dist/wallet/__tests__/wallet-auto-rule.router.test.js.map +1 -1
  49. package/dist/wallet/__tests__/wallet-auto-withdrawal.test.js +102 -4
  50. package/dist/wallet/__tests__/wallet-auto-withdrawal.test.js.map +1 -1
  51. package/dist/wallet/__tests__/wallet-webhook.router.test.d.ts +2 -0
  52. package/dist/wallet/__tests__/wallet-webhook.router.test.d.ts.map +1 -0
  53. package/dist/wallet/__tests__/wallet-webhook.router.test.js +78 -0
  54. package/dist/wallet/__tests__/wallet-webhook.router.test.js.map +1 -0
  55. package/dist/wallet/__tests__/wallet.router.test.js +4 -2
  56. package/dist/wallet/__tests__/wallet.router.test.js.map +1 -1
  57. package/dist/wallet/__tests__/wallet.service.test.js +248 -3
  58. package/dist/wallet/__tests__/wallet.service.test.js.map +1 -1
  59. package/dist/wallet/adapters/hmac-payment-webhook-verifier.d.ts +7 -0
  60. package/dist/wallet/adapters/hmac-payment-webhook-verifier.d.ts.map +1 -0
  61. package/dist/wallet/adapters/hmac-payment-webhook-verifier.js +30 -0
  62. package/dist/wallet/adapters/hmac-payment-webhook-verifier.js.map +1 -0
  63. package/dist/wallet/contract/index.d.ts +28 -0
  64. package/dist/wallet/contract/index.d.ts.map +1 -1
  65. package/dist/wallet/contract/index.js +28 -7
  66. package/dist/wallet/contract/index.js.map +1 -1
  67. package/dist/wallet/drizzle/migrations/0002_aromatic_archangel.sql +20 -0
  68. package/dist/wallet/drizzle/migrations/meta/0002_snapshot.json +513 -0
  69. package/dist/wallet/drizzle/migrations/meta/_journal.json +7 -0
  70. package/dist/wallet/plugin.d.ts.map +1 -1
  71. package/dist/wallet/plugin.js +12 -2
  72. package/dist/wallet/plugin.js.map +1 -1
  73. package/dist/wallet/router/index.d.ts +16 -2
  74. package/dist/wallet/router/index.d.ts.map +1 -1
  75. package/dist/wallet/router/index.js +24 -4
  76. package/dist/wallet/router/index.js.map +1 -1
  77. package/dist/wallet/schema/index.d.ts +144 -0
  78. package/dist/wallet/schema/index.d.ts.map +1 -1
  79. package/dist/wallet/schema/index.js +20 -4
  80. package/dist/wallet/schema/index.js.map +1 -1
  81. package/dist/wallet/service/wallet.service.d.ts +20 -2
  82. package/dist/wallet/service/wallet.service.d.ts.map +1 -1
  83. package/dist/wallet/service/wallet.service.js +196 -31
  84. package/dist/wallet/service/wallet.service.js.map +1 -1
  85. package/package.json +1 -1
@@ -1,8 +1,8 @@
1
- import { implement } from '@orpc/server';
1
+ import { implement, ORPCError } from '@orpc/server';
2
2
  import { getUserId, mapErrors } from '@openora/core/server';
3
3
  import { walletContract } from '../contract/index.js';
4
- import { WalletNotFoundError, WithdrawalNotFoundError, WithdrawalNotPendingError, InsufficientBalanceError, CurrencyMismatchError, KycRequiredError, IdempotencyKeyReuseError, } from '../service/wallet.service.js';
5
- export function createWalletRouter(wallet, adminGuard, audit) {
4
+ import { WalletNotFoundError, WithdrawalNotFoundError, WithdrawalNotPendingError, InsufficientBalanceError, CurrencyMismatchError, KycRequiredError, IdempotencyKeyReuseError, DepositAddressUnsupportedError, DestinationAddressRequiredError, } from '../service/wallet.service.js';
5
+ export function createWalletRouter(wallet, adminGuard, audit, paymentAdapter, webhookVerifier) {
6
6
  const os = implement(walletContract).$context();
7
7
  return os.router({
8
8
  getBalance: os.getBalance.handler(({ context }) => wallet.getBalance(getUserId(context))),
@@ -16,12 +16,13 @@ export function createWalletRouter(wallet, adminGuard, audit) {
16
16
  withdraw: os.withdraw.handler(({ input, context }) => mapErrors({
17
17
  NOT_FOUND: WalletNotFoundError,
18
18
  BAD_REQUEST: [InsufficientBalanceError, CurrencyMismatchError],
19
- CONFLICT: [KycRequiredError, IdempotencyKeyReuseError],
19
+ CONFLICT: [KycRequiredError, IdempotencyKeyReuseError, DestinationAddressRequiredError],
20
20
  }, () => wallet.withdraw({
21
21
  userId: getUserId(context),
22
22
  amount: input.amount,
23
23
  currency: input.currency,
24
24
  idempotencyKey: input.idempotencyKey,
25
+ destinationAddress: input.destinationAddress,
25
26
  }))),
26
27
  listTransactions: os.listTransactions.handler(({ context, input }) => wallet.getTransactions(getUserId(context), input.page, input.limit)),
27
28
  listPlayerTransactions: os.listPlayerTransactions.handler(async ({ input, context }) => {
@@ -85,6 +86,25 @@ export function createWalletRouter(wallet, adminGuard, audit) {
85
86
  return deleted;
86
87
  }),
87
88
  },
89
+ deposits: {
90
+ getAddress: os.deposits.getAddress.handler(({ input, context }) => mapErrors({ CONFLICT: DepositAddressUnsupportedError }, () => wallet.getOrCreateDepositAddress(getUserId(context), input.currency))),
91
+ },
92
+ webhook: os.webhook.handler(async ({ context }) => {
93
+ const rawBody = context.rawBody;
94
+ if (rawBody === undefined || !webhookVerifier.verify(rawBody, context.request.headers)) {
95
+ throw new ORPCError('UNAUTHORIZED', { message: 'Invalid payment webhook signature' });
96
+ }
97
+ const event = paymentAdapter.parseWebhook?.(rawBody, context.request.headers);
98
+ if (event) {
99
+ if (event.kind === 'deposit') {
100
+ await wallet.creditDepositByAddress(event);
101
+ }
102
+ else {
103
+ await wallet.reconcileWithdrawalStatus(event);
104
+ }
105
+ }
106
+ return { ok: true };
107
+ }),
88
108
  });
89
109
  }
90
110
  //# 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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"}
@@ -305,6 +305,40 @@ export declare const walletTransaction: import("drizzle-orm/pg-core").PgTableWit
305
305
  identity: undefined;
306
306
  generated: undefined;
307
307
  }, {}, {}>;
308
+ destinationAddress: import("drizzle-orm/pg-core").PgColumn<{
309
+ name: "destinationAddress";
310
+ tableName: "wallet_transaction";
311
+ dataType: "string";
312
+ columnType: "PgText";
313
+ data: string;
314
+ driverParam: string;
315
+ notNull: false;
316
+ hasDefault: false;
317
+ isPrimaryKey: false;
318
+ isAutoincrement: false;
319
+ hasRuntimeDefault: false;
320
+ enumValues: [string, ...string[]];
321
+ baseColumn: never;
322
+ identity: undefined;
323
+ generated: undefined;
324
+ }, {}, {}>;
325
+ txHash: import("drizzle-orm/pg-core").PgColumn<{
326
+ name: "txHash";
327
+ tableName: "wallet_transaction";
328
+ dataType: "string";
329
+ columnType: "PgText";
330
+ data: string;
331
+ driverParam: string;
332
+ notNull: false;
333
+ hasDefault: false;
334
+ isPrimaryKey: false;
335
+ isAutoincrement: false;
336
+ hasRuntimeDefault: false;
337
+ enumValues: [string, ...string[]];
338
+ baseColumn: never;
339
+ identity: undefined;
340
+ generated: undefined;
341
+ }, {}, {}>;
308
342
  metadata: import("drizzle-orm/pg-core").PgColumn<{
309
343
  name: "metadata";
310
344
  tableName: "wallet_transaction";
@@ -485,7 +519,117 @@ export declare const autoWithdrawalRule: import("drizzle-orm/pg-core").PgTableWi
485
519
  };
486
520
  dialect: "pg";
487
521
  }>;
522
+ export declare const walletDepositAddress: import("drizzle-orm/pg-core").PgTableWithColumns<{
523
+ name: "wallet_deposit_address";
524
+ schema: undefined;
525
+ columns: {
526
+ id: import("drizzle-orm/pg-core").PgColumn<{
527
+ name: "id";
528
+ tableName: "wallet_deposit_address";
529
+ dataType: "string";
530
+ columnType: "PgUUID";
531
+ data: string;
532
+ driverParam: string;
533
+ notNull: true;
534
+ hasDefault: true;
535
+ isPrimaryKey: true;
536
+ isAutoincrement: false;
537
+ hasRuntimeDefault: false;
538
+ enumValues: undefined;
539
+ baseColumn: never;
540
+ identity: undefined;
541
+ generated: undefined;
542
+ }, {}, {}>;
543
+ userId: import("drizzle-orm/pg-core").PgColumn<{
544
+ name: "userId";
545
+ tableName: "wallet_deposit_address";
546
+ dataType: "string";
547
+ columnType: "PgUUID";
548
+ data: string;
549
+ driverParam: string;
550
+ notNull: true;
551
+ hasDefault: false;
552
+ isPrimaryKey: false;
553
+ isAutoincrement: false;
554
+ hasRuntimeDefault: false;
555
+ enumValues: undefined;
556
+ baseColumn: never;
557
+ identity: undefined;
558
+ generated: undefined;
559
+ }, {}, {}>;
560
+ currency: import("drizzle-orm/pg-core").PgColumn<{
561
+ name: "currency";
562
+ tableName: "wallet_deposit_address";
563
+ dataType: "string";
564
+ columnType: "PgText";
565
+ data: string;
566
+ driverParam: string;
567
+ notNull: true;
568
+ hasDefault: false;
569
+ isPrimaryKey: false;
570
+ isAutoincrement: false;
571
+ hasRuntimeDefault: false;
572
+ enumValues: [string, ...string[]];
573
+ baseColumn: never;
574
+ identity: undefined;
575
+ generated: undefined;
576
+ }, {}, {}>;
577
+ address: import("drizzle-orm/pg-core").PgColumn<{
578
+ name: "address";
579
+ tableName: "wallet_deposit_address";
580
+ dataType: "string";
581
+ columnType: "PgText";
582
+ data: string;
583
+ driverParam: string;
584
+ notNull: true;
585
+ hasDefault: false;
586
+ isPrimaryKey: false;
587
+ isAutoincrement: false;
588
+ hasRuntimeDefault: false;
589
+ enumValues: [string, ...string[]];
590
+ baseColumn: never;
591
+ identity: undefined;
592
+ generated: undefined;
593
+ }, {}, {}>;
594
+ providerName: import("drizzle-orm/pg-core").PgColumn<{
595
+ name: "providerName";
596
+ tableName: "wallet_deposit_address";
597
+ dataType: "string";
598
+ columnType: "PgText";
599
+ data: string;
600
+ driverParam: string;
601
+ notNull: true;
602
+ hasDefault: false;
603
+ isPrimaryKey: false;
604
+ isAutoincrement: false;
605
+ hasRuntimeDefault: false;
606
+ enumValues: [string, ...string[]];
607
+ baseColumn: never;
608
+ identity: undefined;
609
+ generated: undefined;
610
+ }, {}, {}>;
611
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
612
+ name: "createdAt";
613
+ tableName: "wallet_deposit_address";
614
+ dataType: "date";
615
+ columnType: "PgTimestamp";
616
+ data: Date;
617
+ driverParam: string;
618
+ notNull: true;
619
+ hasDefault: true;
620
+ isPrimaryKey: false;
621
+ isAutoincrement: false;
622
+ hasRuntimeDefault: false;
623
+ enumValues: undefined;
624
+ baseColumn: never;
625
+ identity: undefined;
626
+ generated: undefined;
627
+ }, {}, {}>;
628
+ };
629
+ dialect: "pg";
630
+ }>;
488
631
  export type Wallet = typeof wallet.$inferSelect;
489
632
  export type WalletTransaction = typeof walletTransaction.$inferSelect;
490
633
  export type AutoWithdrawalRule = typeof autoWithdrawalRule.$inferSelect;
634
+ export type WalletDepositAddress = typeof walletDepositAddress.$inferSelect;
491
635
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/wallet/schema/index.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,yBAAyB,uGAGrC,CAAC;AAEF,eAAO,MAAM,2BAA2B,4HAGvC,CAAC;AAEF,eAAO,MAAM,cAAc,0DAAsC,CAAC;AAElE,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQjB,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6C7B,CAAC;AAGF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU7B,CAAC;AAEH,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,YAAY,CAAC;AAChD,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,YAAY,CAAC;AACtE,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/wallet/schema/index.ts"],"names":[],"mappings":"AAqBA,eAAO,MAAM,yBAAyB,uGAGrC,CAAC;AAEF,eAAO,MAAM,2BAA2B,4HAGvC,CAAC;AAEF,eAAO,MAAM,cAAc,0DAAsC,CAAC;AAElE,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQjB,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkD7B,CAAC;AAGF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU7B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAchC,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,YAAY,CAAC;AAChD,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,YAAY,CAAC;AACtE,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC,YAAY,CAAC;AACxE,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAC,YAAY,CAAC"}
@@ -9,7 +9,7 @@ export const walletRailEnum = pgEnum('wallet_rail', WALLET_RAILS);
9
9
  export const wallet = pgTable('wallet', {
10
10
  id: uuid().primaryKey().defaultRandom(),
11
11
  userId: uuid().notNull().unique('wallet_user_id_unique'),
12
- balance: decimal({ precision: 18, scale: 2 }).notNull().default('0'),
12
+ balance: decimal({ precision: 18, scale: 8 }).notNull().default('0'),
13
13
  currency: text().notNull().default('USD'),
14
14
  updatedAt: timestamp({ withTimezone: true })
15
15
  .notNull()
@@ -21,7 +21,7 @@ export const walletTransaction = pgTable('wallet_transaction', {
21
21
  .notNull()
22
22
  .references(() => wallet.id),
23
23
  type: walletTransactionTypeEnum().notNull(),
24
- amount: decimal({ precision: 18, scale: 2 }).notNull(),
24
+ amount: decimal({ precision: 18, scale: 8 }).notNull(),
25
25
  currency: text().notNull(),
26
26
  status: walletTransactionStatusEnum()
27
27
  .$type()
@@ -38,6 +38,8 @@ export const walletTransaction = pgTable('wallet_transaction', {
38
38
  // reconciliation rather than buried in free-form JSON.
39
39
  providerName: text(),
40
40
  providerRefId: text(),
41
+ destinationAddress: text(),
42
+ txHash: text(),
41
43
  // Reserved escape hatch for genuinely free-form, non-queryable extras. Provider
42
44
  // identity now lives in the typed columns above, not here.
43
45
  metadata: text(),
@@ -52,7 +54,10 @@ export const walletTransaction = pgTable('wallet_transaction', {
52
54
  index('wallet_transaction_status_idx').on(t.status),
53
55
  index('wallet_transaction_rail_idx').on(t.rail),
54
56
  index('wallet_transaction_currency_idx').on(t.currency),
55
- index('wallet_transaction_provider_ref_id_idx').on(t.providerRefId),
57
+ index('wallet_transaction_tx_hash_idx').on(t.txHash),
58
+ uniqueIndex('wallet_transaction_provider_ref_id_idx')
59
+ .on(t.providerRefId)
60
+ .where(sql `${t.providerRefId} IS NOT NULL`),
56
61
  uniqueIndex('wallet_transaction_wallet_id_idempotency_key_idx')
57
62
  .on(t.walletId, t.idempotencyKey)
58
63
  .where(sql `${t.idempotencyKey} IS NOT NULL`),
@@ -61,7 +66,7 @@ export const walletTransaction = pgTable('wallet_transaction', {
61
66
  export const autoWithdrawalRule = pgTable('auto_withdrawal_rule', {
62
67
  id: uuid().primaryKey().defaultRandom(),
63
68
  userId: uuid().notNull().unique('auto_withdrawal_rule_user_id_unique'),
64
- threshold: decimal({ precision: 18, scale: 2 }).notNull(),
69
+ threshold: decimal({ precision: 18, scale: 8 }).notNull(),
65
70
  reason: text().notNull(),
66
71
  createdBy: uuid().notNull(),
67
72
  createdAt: timestamp({ withTimezone: true }).notNull().defaultNow(),
@@ -69,4 +74,15 @@ export const autoWithdrawalRule = pgTable('auto_withdrawal_rule', {
69
74
  .notNull()
70
75
  .$onUpdateFn(() => new Date()),
71
76
  });
77
+ export const walletDepositAddress = pgTable('wallet_deposit_address', {
78
+ id: uuid().primaryKey().defaultRandom(),
79
+ userId: uuid().notNull(),
80
+ currency: text().notNull(),
81
+ address: text().notNull(),
82
+ providerName: text().notNull(),
83
+ createdAt: timestamp({ withTimezone: true }).notNull().defaultNow(),
84
+ }, (t) => [
85
+ uniqueIndex('wallet_deposit_address_user_id_currency_idx').on(t.userId, t.currency),
86
+ index('wallet_deposit_address_address_idx').on(t.address),
87
+ ]);
72
88
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/wallet/schema/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/wallet/schema/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { type EventBus, DrizzleService } from '@openora/core/server';
2
- import { type PaymentAdapter, type AdminUserDirectory, type PlatformConfig, type RateLimiterAdapter, type WalletRail, type PlayerTags, type AuditWritePort, type User } from '@openora/core/contracts';
2
+ import { type PaymentAdapter, type PaymentWebhookEvent, type AdminUserDirectory, type PlatformConfig, type RateLimiterAdapter, type WalletRail, type PlayerTags, type AuditWritePort, type User } from '@openora/core/contracts';
3
3
  import { type WalletTransaction } from '../schema/index.js';
4
4
  import type { TransactionResult, WithdrawalQueueFilter, AutoWithdrawalRule } from '../contract/index.js';
5
5
  export declare const WalletNotFoundError: new (id: string) => Error;
@@ -8,6 +8,8 @@ export declare const InsufficientBalanceError: new (available: string, requested
8
8
  export declare const WithdrawalNotPendingError: new () => Error;
9
9
  export declare const KycRequiredError: new () => Error;
10
10
  export declare const IdempotencyKeyReuseError: new () => Error;
11
+ export declare const DepositAddressUnsupportedError: new () => Error;
12
+ export declare const DestinationAddressRequiredError: new () => Error;
11
13
  export declare const CurrencyMismatchError: new (requested: unknown, walletCurrency: unknown) => Error;
12
14
  export declare function railFor(currency: string): WalletRail;
13
15
  export type WalletServiceDeps = {
@@ -75,11 +77,12 @@ export declare class WalletService {
75
77
  * return an already-`completed`/`processing` result if the request
76
78
  * qualifies for (and passes) auto-approval - see `maybeAutoApprove`.
77
79
  */
78
- withdraw({ userId, amount, currency, idempotencyKey, }: {
80
+ withdraw({ userId, amount, currency, idempotencyKey, destinationAddress, }: {
79
81
  userId: User['id'];
80
82
  amount: string;
81
83
  currency: string;
82
84
  idempotencyKey?: string;
85
+ destinationAddress?: string;
83
86
  }): Promise<TransactionResult>;
84
87
  listWithdrawals(filters: WithdrawalQueueFilter): Promise<{
85
88
  items: {
@@ -93,6 +96,8 @@ export declare class WalletService {
93
96
  kycStatus: "pending" | "not_started" | "verified" | "rejected" | "resubmission_requested" | "manually_overridden" | null;
94
97
  riskTags: string[];
95
98
  requestedAt: string;
99
+ destinationAddress: string | null;
100
+ txHash: string | null;
96
101
  }[];
97
102
  total: number;
98
103
  page: number;
@@ -106,6 +111,10 @@ export declare class WalletService {
106
111
  approveWithdrawal(adminId: User['id'], withdrawalId: WalletTransaction['id']): Promise<TransactionResult>;
107
112
  private flipToProcessing;
108
113
  private settleApproved;
114
+ private finalizeFailedWithdrawal;
115
+ reconcileWithdrawalStatus(event: Extract<PaymentWebhookEvent, {
116
+ kind: 'withdrawal';
117
+ }>): Promise<void>;
109
118
  private maybeAutoApprove;
110
119
  private evaluateAutoApproval;
111
120
  private resolveAutoThreshold;
@@ -136,7 +145,16 @@ export declare class WalletService {
136
145
  page: number;
137
146
  limit: number;
138
147
  }>;
148
+ getOrCreateDepositAddress(userId: User['id'], currency: string): Promise<{
149
+ address: string;
150
+ currency: string;
151
+ }>;
152
+ creditDepositByAddress(event: Extract<PaymentWebhookEvent, {
153
+ kind: 'deposit';
154
+ }>): Promise<void>;
139
155
  private userIdForWallet;
140
156
  private findByIdempotencyKey;
157
+ private findDepositAddress;
158
+ private findDepositAddressByAddress;
141
159
  }
142
160
  //# sourceMappingURL=wallet.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wallet.service.d.ts","sourceRoot":"","sources":["../../../src/wallet/service/wallet.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet.service.d.ts","sourceRoot":"","sources":["../../../src/wallet/service/wallet.service.ts"],"names":[],"mappings":"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"}