@openora/core 0.4.1-canary.12 → 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 (61) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/contracts/adapters/index.d.ts +2 -2
  3. package/dist/contracts/adapters/index.d.ts.map +1 -1
  4. package/dist/contracts/adapters/index.js +1 -1
  5. package/dist/contracts/adapters/index.js.map +1 -1
  6. package/dist/contracts/adapters/payment.d.ts +57 -0
  7. package/dist/contracts/adapters/payment.d.ts.map +1 -1
  8. package/dist/contracts/adapters/payment.js +4 -2
  9. package/dist/contracts/adapters/payment.js.map +1 -1
  10. package/dist/contracts/schemas/__tests__/common-schemas.test.d.ts +2 -0
  11. package/dist/contracts/schemas/__tests__/common-schemas.test.d.ts.map +1 -0
  12. package/dist/contracts/schemas/__tests__/common-schemas.test.js +17 -0
  13. package/dist/contracts/schemas/__tests__/common-schemas.test.js.map +1 -0
  14. package/dist/contracts/schemas/common.js +1 -1
  15. package/dist/contracts/schemas/platform-config.d.ts +3 -0
  16. package/dist/contracts/schemas/platform-config.d.ts.map +1 -1
  17. package/dist/contracts/schemas/platform-config.js +2 -1
  18. package/dist/contracts/schemas/platform-config.js.map +1 -1
  19. package/dist/wallet/__tests__/hmac-payment-webhook-verifier.test.d.ts +2 -0
  20. package/dist/wallet/__tests__/hmac-payment-webhook-verifier.test.d.ts.map +1 -0
  21. package/dist/wallet/__tests__/hmac-payment-webhook-verifier.test.js +25 -0
  22. package/dist/wallet/__tests__/hmac-payment-webhook-verifier.test.js.map +1 -0
  23. package/dist/wallet/__tests__/wallet-auto-rule.router.test.js +8 -6
  24. package/dist/wallet/__tests__/wallet-auto-rule.router.test.js.map +1 -1
  25. package/dist/wallet/__tests__/wallet-auto-withdrawal.test.js +102 -4
  26. package/dist/wallet/__tests__/wallet-auto-withdrawal.test.js.map +1 -1
  27. package/dist/wallet/__tests__/wallet-webhook.router.test.d.ts +2 -0
  28. package/dist/wallet/__tests__/wallet-webhook.router.test.d.ts.map +1 -0
  29. package/dist/wallet/__tests__/wallet-webhook.router.test.js +78 -0
  30. package/dist/wallet/__tests__/wallet-webhook.router.test.js.map +1 -0
  31. package/dist/wallet/__tests__/wallet.router.test.js +4 -2
  32. package/dist/wallet/__tests__/wallet.router.test.js.map +1 -1
  33. package/dist/wallet/__tests__/wallet.service.test.js +248 -3
  34. package/dist/wallet/__tests__/wallet.service.test.js.map +1 -1
  35. package/dist/wallet/adapters/hmac-payment-webhook-verifier.d.ts +7 -0
  36. package/dist/wallet/adapters/hmac-payment-webhook-verifier.d.ts.map +1 -0
  37. package/dist/wallet/adapters/hmac-payment-webhook-verifier.js +30 -0
  38. package/dist/wallet/adapters/hmac-payment-webhook-verifier.js.map +1 -0
  39. package/dist/wallet/contract/index.d.ts +28 -0
  40. package/dist/wallet/contract/index.d.ts.map +1 -1
  41. package/dist/wallet/contract/index.js +28 -7
  42. package/dist/wallet/contract/index.js.map +1 -1
  43. package/dist/wallet/drizzle/migrations/0002_aromatic_archangel.sql +20 -0
  44. package/dist/wallet/drizzle/migrations/meta/0002_snapshot.json +513 -0
  45. package/dist/wallet/drizzle/migrations/meta/_journal.json +7 -0
  46. package/dist/wallet/plugin.d.ts.map +1 -1
  47. package/dist/wallet/plugin.js +12 -2
  48. package/dist/wallet/plugin.js.map +1 -1
  49. package/dist/wallet/router/index.d.ts +16 -2
  50. package/dist/wallet/router/index.d.ts.map +1 -1
  51. package/dist/wallet/router/index.js +24 -4
  52. package/dist/wallet/router/index.js.map +1 -1
  53. package/dist/wallet/schema/index.d.ts +144 -0
  54. package/dist/wallet/schema/index.d.ts.map +1 -1
  55. package/dist/wallet/schema/index.js +20 -4
  56. package/dist/wallet/schema/index.js.map +1 -1
  57. package/dist/wallet/service/wallet.service.d.ts +20 -2
  58. package/dist/wallet/service/wallet.service.d.ts.map +1 -1
  59. package/dist/wallet/service/wallet.service.js +196 -31
  60. package/dist/wallet/service/wallet.service.js.map +1 -1
  61. package/package.json +1 -1
@@ -22,8 +22,8 @@ export type { GameAdapter } from './game.js';
22
22
  export { GAME_ADAPTER } from './game.js';
23
23
  export type { KycAdapter, KycVendorStatus, KycDocument, KycResult, KycStatusWriter, KycStatusSource, KycWebhookVerifier, } from './kyc.js';
24
24
  export { KYC_ADAPTER, KYC_STATUS_WRITER, KYC_WEBHOOK_VERIFIER } from './kyc.js';
25
- export type { PaymentAdapter } from './payment.js';
26
- export { PAYMENT_ADAPTER } from './payment.js';
25
+ export type { PaymentAdapter, PaymentWebhookEvent, PaymentWebhookVerifier } from './payment.js';
26
+ export { PAYMENT_ADAPTER, PAYMENT_WEBHOOK_VERIFIER } from './payment.js';
27
27
  export type { GeoIpAdapter } from './geo-ip.js';
28
28
  export { GEO_IP_ADAPTER } from './geo-ip.js';
29
29
  export type { NotificationDeliveryAdapter } from './notification.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/index.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export { CACHE } from './cache.js';
14
14
  export { REALTIME_TRANSPORT, REALTIME_CLIENT_AUTHORIZER } from './realtime.js';
15
15
  export { GAME_ADAPTER } from './game.js';
16
16
  export { KYC_ADAPTER, KYC_STATUS_WRITER, KYC_WEBHOOK_VERIFIER } from './kyc.js';
17
- export { PAYMENT_ADAPTER } from './payment.js';
17
+ export { PAYMENT_ADAPTER, PAYMENT_WEBHOOK_VERIFIER } from './payment.js';
18
18
  export { GEO_IP_ADAPTER } from './geo-ip.js';
19
19
  export { NOTIFICATION_DELIVERY_ADAPTER } from './notification.js';
20
20
  export { AGGREGATOR_ADAPTER, AGGREGATOR_WEBHOOK_VERIFIER } from './aggregator.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contracts/adapters/index.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,gFAAgF;AAChF,gFAAgF;AAChF,sFAAsF;AAGtF,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAQnF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AASrC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAcvD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAGlD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AASnC,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAG/E,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAWzC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAGhF,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAGlE,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAGlF,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGxC,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAGlE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAQ/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAQjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAOrE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contracts/adapters/index.ts"],"names":[],"mappings":"AAAA,oFAAoF;AACpF,gFAAgF;AAChF,gFAAgF;AAChF,sFAAsF;AAGtF,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAQnF,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AASrC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGvD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAcvD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAGlD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAG/C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AASnC,OAAO,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAG/E,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAWzC,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAGhF,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAGzE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,6BAA6B,EAAE,MAAM,mBAAmB,CAAC;AAGlE,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAGlF,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAGvC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAGxC,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAGlE,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAQ/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAQjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAOrE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC"}
@@ -1,13 +1,70 @@
1
1
  import { type Token } from './token.js';
2
+ /**
3
+ * Normalized shape of an inbound payment-vendor webhook, produced by a
4
+ * `PaymentAdapter.parseWebhook` implementation. A `deposit` event reports funds that
5
+ * arrived at a previously-issued address (see `issueDepositAddress`); a `withdrawal`
6
+ * event reports a status transition for a withdrawal already sent to the vendor via
7
+ * `processWithdrawal`. `externalId` is the vendor's reference id for the underlying
8
+ * settlement - the dedup key the wallet module reconciles against.
9
+ */
10
+ export type PaymentWebhookEvent = {
11
+ kind: 'deposit';
12
+ address: string;
13
+ amount: string;
14
+ currency: string;
15
+ txHash: string;
16
+ externalId: string;
17
+ } | {
18
+ kind: 'withdrawal';
19
+ externalId: string;
20
+ status: 'processing' | 'completed' | 'failed';
21
+ txHash?: string;
22
+ };
2
23
  export type PaymentAdapter = {
3
24
  processDeposit(amount: string, currency: string, metadata: Record<string, unknown>): Promise<{
4
25
  externalId: string;
5
26
  status: string;
6
27
  }>;
28
+ /**
29
+ * Send a withdrawal to the vendor. For a synchronous PSP the returned `status` is
30
+ * already terminal (`'completed'`/`'failed'`) and the caller finalizes the
31
+ * transaction immediately. For an async vendor (eg a custody/MPC rail that
32
+ * broadcasts on-chain) the returned `status` may be anything else (eg
33
+ * `'processing'`/`'submitted'`) - the caller then leaves the transaction in
34
+ * `processing` and relies on the webhook path (`parseWebhook` -> reconciliation)
35
+ * for the eventual terminal transition.
36
+ */
7
37
  processWithdrawal(amount: string, currency: string, metadata: Record<string, unknown>): Promise<{
8
38
  externalId: string;
9
39
  status: string;
10
40
  }>;
41
+ /**
42
+ * Issue (or return) a deposit address for this user/asset. Only implemented by
43
+ * address-based deposit vendors (eg a custody/MPC crypto rail) - a synchronous PSP
44
+ * or `MockPaymentAdapter` omits it. The wallet module persists the returned address
45
+ * so re-requesting the same (userId, currency) is idempotent without a second
46
+ * vendor call.
47
+ */
48
+ issueDepositAddress?(userId: string, currency: string): Promise<{
49
+ address: string;
50
+ }>;
51
+ /**
52
+ * Vendor-specific normalization of a raw webhook into a reconcilable event, or
53
+ * null when the body is not one (eg an unrecognized event type). Optional -
54
+ * `MockPaymentAdapter` omits it; an address-based/async vendor overlay implements it.
55
+ */
56
+ parseWebhook?(rawBody: string, headers: Record<string, string | string[] | undefined>): PaymentWebhookEvent | null;
11
57
  };
12
58
  export declare const PAYMENT_ADAPTER: Token<PaymentAdapter>;
59
+ /**
60
+ * Verifies the public payment-vendor webhook is genuine. The default impl
61
+ * (`HmacPaymentWebhookVerifier`) recomputes an HMAC-SHA256 over the raw request body
62
+ * and constant-time compares it against the `x-payment-signature` header; a vendor
63
+ * overlay rebinds it. Fails closed when the secret is unset, the signature header is
64
+ * absent, or the raw body was not captured.
65
+ */
66
+ export type PaymentWebhookVerifier = {
67
+ verify(rawBody: string, headers: Record<string, string | string[] | undefined>): boolean;
68
+ };
69
+ export declare const PAYMENT_WEBHOOK_VERIFIER: Token<PaymentWebhookVerifier>;
13
70
  //# sourceMappingURL=payment.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/payment.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD,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,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;CACpD,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,cAAc,CAAkC,CAAC"}
1
+ {"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/payment.ts"],"names":[],"mappings":"AAGA,OAAO,EAAe,KAAK,KAAK,EAAE,MAAM,YAAY,CAAC;AAErD;;;;;;;GAOG;AACH,MAAM,MAAM,mBAAmB,GAC3B;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,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,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAErF;;;;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,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC;CAC1F,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,KAAK,CAAC,sBAAsB,CAElE,CAAC"}
@@ -1,5 +1,7 @@
1
- // Payment seam. A PSP (card/bank/e-wallet) implements PaymentAdapter; bind a
2
- // concrete adapter to PAYMENT_ADAPTER in the wallet module's plugin.ts.
1
+ // Payment seam. A PSP (card/bank/e-wallet) or a custody/address-issuing crypto vendor
2
+ // implements PaymentAdapter; bind a concrete adapter to PAYMENT_ADAPTER in the wallet
3
+ // module's plugin.ts. See docs/adapters/payment.md for the full binding guide.
3
4
  import { createToken } from './token.js';
4
5
  export const PAYMENT_ADAPTER = createToken('PAYMENT_ADAPTER');
6
+ export const PAYMENT_WEBHOOK_VERIFIER = createToken('PAYMENT_WEBHOOK_VERIFIER');
5
7
  //# sourceMappingURL=payment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"payment.js","sourceRoot":"","sources":["../../../src/contracts/adapters/payment.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,wEAAwE;AACxE,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAgBrD,MAAM,CAAC,MAAM,eAAe,GAA0B,WAAW,CAAC,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"payment.js","sourceRoot":"","sources":["../../../src/contracts/adapters/payment.ts"],"names":[],"mappings":"AAAA,sFAAsF;AACtF,sFAAsF;AACtF,+EAA+E;AAC/E,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAoErD,MAAM,CAAC,MAAM,eAAe,GAA0B,WAAW,CAAC,iBAAiB,CAAC,CAAC;AAarF,MAAM,CAAC,MAAM,wBAAwB,GAAkC,WAAW,CAChF,0BAA0B,CAC3B,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=common-schemas.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common-schemas.test.d.ts","sourceRoot":"","sources":["../../../../src/contracts/schemas/__tests__/common-schemas.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { MoneyAmountSchema } from '../common.js';
3
+ describe('MoneyAmountSchema', () => {
4
+ it('round-trips an 8-decimal-place crypto amount (BTC-level precision)', () => {
5
+ expect(MoneyAmountSchema.parse('0.00000001')).toBe('0.00000001');
6
+ expect(MoneyAmountSchema.parse('21000000.12345678')).toBe('21000000.12345678');
7
+ });
8
+ it('still accepts a plain 2-decimal fiat amount', () => {
9
+ expect(MoneyAmountSchema.parse('19.99')).toBe('19.99');
10
+ expect(MoneyAmountSchema.parse('0')).toBe('0');
11
+ });
12
+ it('rejects more than 8 decimal places and a negative amount', () => {
13
+ expect(MoneyAmountSchema.safeParse('0.123456789').success).toBe(false);
14
+ expect(MoneyAmountSchema.safeParse('-1').success).toBe(false);
15
+ });
16
+ });
17
+ //# sourceMappingURL=common-schemas.test.js.map
@@ -0,0 +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,oEAAoE,EAAE,GAAG,EAAE;QAC5E,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjE,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACjF,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,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,CAAC,iBAAiB,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvE,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"}
@@ -5,5 +5,5 @@ export const IdInputSchema = z.object({ id: UuidSchema });
5
5
  export const UserIdInputSchema = z.object({ userId: UuidSchema });
6
6
  export const MoneyAmountSchema = z
7
7
  .string()
8
- .regex(/^\d+(\.\d{1,2})?$/, 'must be a non-negative decimal string with at most 2 decimal places');
8
+ .regex(/^\d+(\.\d{1,8})?$/, 'must be a non-negative decimal string with at most 8 decimal places');
9
9
  //# sourceMappingURL=common.js.map
@@ -28,6 +28,7 @@ export declare const KycConfigSchema: z.ZodObject<{
28
28
  export declare const AutoWithdrawalConfigSchema: z.ZodObject<{
29
29
  enabled: z.ZodDefault<z.ZodBoolean>;
30
30
  fiatThreshold: z.ZodOptional<z.ZodString>;
31
+ cryptoThreshold: z.ZodOptional<z.ZodString>;
31
32
  excludeRiskFlags: z.ZodDefault<z.ZodArray<z.ZodEnum<{
32
33
  high_roller: "high_roller";
33
34
  vip: "vip";
@@ -69,6 +70,7 @@ export declare const PlatformConfigSchema: z.ZodObject<{
69
70
  autoWithdrawal: z.ZodOptional<z.ZodObject<{
70
71
  enabled: z.ZodDefault<z.ZodBoolean>;
71
72
  fiatThreshold: z.ZodOptional<z.ZodString>;
73
+ cryptoThreshold: z.ZodOptional<z.ZodString>;
72
74
  excludeRiskFlags: z.ZodDefault<z.ZodArray<z.ZodEnum<{
73
75
  high_roller: "high_roller";
74
76
  vip: "vip";
@@ -122,6 +124,7 @@ export declare const PLATFORM_CONFIG: import("../adapters/token.js").Token<{
122
124
  enabled: boolean;
123
125
  excludeRiskFlags: ("high_roller" | "vip" | "bonus_abuser" | "high_risk" | "inactive" | "large_depositor" | "self_excluded" | "kyc_pending" | "kyc_rejected" | "test_account")[];
124
126
  fiatThreshold?: string | undefined;
127
+ cryptoThreshold?: string | undefined;
125
128
  dailyCapAmount?: string | undefined;
126
129
  dailyCapCount?: number | undefined;
127
130
  } | undefined;
@@ -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;AAMxB;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,kBAAkB,wCAAoC,CAAC;AAEpE,eAAO,MAAM,WAAW;;;;;kBAUb,CAAC;AAEZ,eAAO,MAAM,eAAe;;;;;kBAcjB,CAAC;AAEZ,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;kBAY5B,CAAC;AAEZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA8C7B,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAiD,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;AAMxB;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,kBAAkB,wCAAoC,CAAC;AAEpE,eAAO,MAAM,WAAW;;;;;kBAUb,CAAC;AAEZ,eAAO,MAAM,eAAe;;;;;kBAcjB,CAAC;AAEZ,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;kBAa5B,CAAC;AAEZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA8C7B,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAiD,CAAC"}
@@ -46,8 +46,9 @@ export const KycConfigSchema = z
46
46
  export const AutoWithdrawalConfigSchema = z
47
47
  .object({
48
48
  enabled: z.boolean().default(false),
49
- /** Fiat-rail auto-approval ceiling; a per-player rule overrides it. Crypto is hard-stopped in the evaluator, never here. */
49
+ /** Fiat-rail auto-approval ceiling; a per-player rule overrides it. */
50
50
  fiatThreshold: MoneyAmountSchema.optional(),
51
+ cryptoThreshold: MoneyAmountSchema.optional(),
51
52
  /** Active tag keys that veto auto-approval and force manual review. */
52
53
  excludeRiskFlags: z.array(TagKeySchema).default([]),
53
54
  /** Amount cap on auto-approved payouts per player per trailing 24h. Absent = no cap. */
@@ -1 +1 @@
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,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,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,4HAA4H;IAC5H,aAAa,EAAE,iBAAiB,CAAC,QAAQ,EAAE;IAC3C,uEAAuE;IACvE,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACnD,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,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;;;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"}
1
+ {"version":3,"file":"platform-config.js","sourceRoot":"","sources":["../../../src/contracts/schemas/platform-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=hmac-payment-webhook-verifier.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hmac-payment-webhook-verifier.test.d.ts","sourceRoot":"","sources":["../../../src/wallet/__tests__/hmac-payment-webhook-verifier.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,25 @@
1
+ import { createHmac } from 'node:crypto';
2
+ import { describe, it, expect } from 'vitest';
3
+ import { HmacPaymentWebhookVerifier } from '../adapters/hmac-payment-webhook-verifier.js';
4
+ const SECRET = 'shh';
5
+ const BODY = '{"event":"deposit"}';
6
+ function sign(body, secret = SECRET) {
7
+ return createHmac('sha256', secret).update(body, 'utf8').digest('hex');
8
+ }
9
+ describe('HmacPaymentWebhookVerifier (fail closed)', () => {
10
+ it('accepts a correct signature via a case-insensitive x-payment-signature lookup (with and without sha256= prefix)', () => {
11
+ const v = new HmacPaymentWebhookVerifier(SECRET);
12
+ expect(v.verify(BODY, { 'x-payment-signature': sign(BODY) })).toBe(true);
13
+ expect(v.verify(BODY, { 'X-Payment-Signature': `sha256=${sign(BODY)}` })).toBe(true);
14
+ });
15
+ it('rejects a wrong signature, a missing signature header, and an unset secret', () => {
16
+ expect(new HmacPaymentWebhookVerifier(SECRET).verify(BODY, {
17
+ 'x-payment-signature': sign('tampered'),
18
+ })).toBe(false);
19
+ expect(new HmacPaymentWebhookVerifier(SECRET).verify(BODY, {})).toBe(false);
20
+ expect(new HmacPaymentWebhookVerifier(undefined).verify(BODY, {
21
+ 'x-payment-signature': sign(BODY),
22
+ })).toBe(false);
23
+ });
24
+ });
25
+ //# sourceMappingURL=hmac-payment-webhook-verifier.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hmac-payment-webhook-verifier.test.js","sourceRoot":"","sources":["../../../src/wallet/__tests__/hmac-payment-webhook-verifier.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAE1F,MAAM,MAAM,GAAG,KAAK,CAAC;AACrB,MAAM,IAAI,GAAG,qBAAqB,CAAC;AAEnC,SAAS,IAAI,CAAC,IAAY,EAAE,MAAM,GAAG,MAAM;IACzC,OAAO,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzE,CAAC;AAED,QAAQ,CAAC,0CAA0C,EAAE,GAAG,EAAE;IACxD,EAAE,CAAC,iHAAiH,EAAE,GAAG,EAAE;QACzH,MAAM,CAAC,GAAG,IAAI,0BAA0B,CAAC,MAAM,CAAC,CAAC;QACjD,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,qBAAqB,EAAE,UAAU,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;QACpF,MAAM,CACJ,IAAI,0BAA0B,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;YAClD,qBAAqB,EAAE,IAAI,CAAC,UAAU,CAAC;SACxC,CAAC,CACH,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACd,MAAM,CAAC,IAAI,0BAA0B,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,CACJ,IAAI,0BAA0B,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE;YACrD,qBAAqB,EAAE,IAAI,CAAC,IAAI,CAAC;SAClC,CAAC,CACH,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -36,11 +36,13 @@ function autoRuleDenyingGuard() {
36
36
  });
37
37
  }
38
38
  const fakeAudit = () => mock({ record: vi.fn() });
39
+ const fakePayment = () => mock({});
40
+ const fakeWebhookVerifier = () => mock({ verify: vi.fn().mockReturnValue(false) });
39
41
  describe('wallet auto-withdrawal-rule routes', () => {
40
42
  it('set: creates the rule and writes an admin audit entry', async () => {
41
43
  const wallet = fakeWallet();
42
44
  const audit = fakeAudit();
43
- const router = createWalletRouter(wallet, allowingGuard(), audit);
45
+ const router = createWalletRouter(wallet, allowingGuard(), audit, fakePayment(), fakeWebhookVerifier());
44
46
  const result = await call(router.autoWithdrawalRules.set, { userId: USER_ID, threshold: '500', reason: 'trusted' }, { context: CTX });
45
47
  expect(result).toEqual(RULE);
46
48
  expect(wallet.setAutoWithdrawalRule).toHaveBeenCalledWith({
@@ -60,7 +62,7 @@ describe('wallet auto-withdrawal-rule routes', () => {
60
62
  it('set: rejects a caller lacking withdrawal:auto-rule', async () => {
61
63
  const wallet = fakeWallet();
62
64
  const audit = fakeAudit();
63
- const router = createWalletRouter(wallet, autoRuleDenyingGuard(), audit);
65
+ const router = createWalletRouter(wallet, autoRuleDenyingGuard(), audit, fakePayment(), fakeWebhookVerifier());
64
66
  await expect(call(router.autoWithdrawalRules.set, { userId: USER_ID, threshold: '500', reason: 'trusted' }, { context: CTX })).rejects.toBeInstanceOf(ORPCError);
65
67
  expect(wallet.setAutoWithdrawalRule).not.toHaveBeenCalled();
66
68
  expect(audit.record).not.toHaveBeenCalled();
@@ -68,7 +70,7 @@ describe('wallet auto-withdrawal-rule routes', () => {
68
70
  it('delete: removes the rule and writes an admin audit entry', async () => {
69
71
  const wallet = fakeWallet();
70
72
  const audit = fakeAudit();
71
- const router = createWalletRouter(wallet, allowingGuard(), audit);
73
+ const router = createWalletRouter(wallet, allowingGuard(), audit, fakePayment(), fakeWebhookVerifier());
72
74
  const result = await call(router.autoWithdrawalRules.delete, { userId: USER_ID }, { context: CTX });
73
75
  expect(result).toBe(true);
74
76
  expect(audit.record).toHaveBeenCalledWith(expect.objectContaining({
@@ -78,19 +80,19 @@ describe('wallet auto-withdrawal-rule routes', () => {
78
80
  });
79
81
  it('delete: rejects a caller lacking withdrawal:auto-rule', async () => {
80
82
  const wallet = fakeWallet();
81
- const router = createWalletRouter(wallet, autoRuleDenyingGuard(), fakeAudit());
83
+ const router = createWalletRouter(wallet, autoRuleDenyingGuard(), fakeAudit(), fakePayment(), fakeWebhookVerifier());
82
84
  await expect(call(router.autoWithdrawalRules.delete, { userId: USER_ID }, { context: CTX })).rejects.toBeInstanceOf(ORPCError);
83
85
  expect(wallet.deleteAutoWithdrawalRule).not.toHaveBeenCalled();
84
86
  });
85
87
  it('get: returns the rule for an authorized caller', async () => {
86
88
  const wallet = fakeWallet();
87
- const router = createWalletRouter(wallet, allowingGuard(), fakeAudit());
89
+ const router = createWalletRouter(wallet, allowingGuard(), fakeAudit(), fakePayment(), fakeWebhookVerifier());
88
90
  const result = await call(router.autoWithdrawalRules.get, { userId: USER_ID }, { context: CTX });
89
91
  expect(result).toEqual(RULE);
90
92
  });
91
93
  it('get: rejects a caller lacking withdrawal:auto-rule', async () => {
92
94
  const wallet = fakeWallet();
93
- const router = createWalletRouter(wallet, autoRuleDenyingGuard(), fakeAudit());
95
+ const router = createWalletRouter(wallet, autoRuleDenyingGuard(), fakeAudit(), fakePayment(), fakeWebhookVerifier());
94
96
  await expect(call(router.autoWithdrawalRules.get, { userId: USER_ID }, { context: CTX })).rejects.toBeInstanceOf(ORPCError);
95
97
  expect(wallet.getAutoWithdrawalRule).not.toHaveBeenCalled();
96
98
  });
@@ -1 +1 @@
1
- {"version":3,"file":"wallet-auto-rule.router.test.js","sourceRoot":"","sources":["../../../src/wallet/__tests__/wallet-auto-rule.router.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet-auto-rule.router.test.js","sourceRoot":"","sources":["../../../src/wallet/__tests__/wallet-auto-rule.router.test.ts"],"names":[],"mappings":"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"}
@@ -294,9 +294,9 @@ describe('WalletService.withdraw auto-approval', () => {
294
294
  expect(result.status).toBe('pending');
295
295
  expect(payment.processWithdrawal).not.toHaveBeenCalled();
296
296
  });
297
- it('never auto-approves the crypto rail regardless of config', async () => {
297
+ it('stays pending for crypto when no cryptoThreshold is configured (opt-in required, never silently active)', async () => {
298
298
  const dz = makeDrizzle({
299
- select: [[{ id: 'w-1', userId: 'u-1', balance: '100', currency: 'BTC' }]],
299
+ select: [[{ id: 'w-1', userId: 'u-1', balance: '100', currency: 'BTC' }], []],
300
300
  returning: [
301
301
  [{ id: 'tx-1', walletId: 'w-1', amount: '1', currency: 'BTC', status: 'pending' }],
302
302
  [{ id: 'w-1' }],
@@ -308,12 +308,110 @@ describe('WalletService.withdraw auto-approval', () => {
308
308
  directory,
309
309
  autoWithdrawal: { fiatThreshold: '1000000' },
310
310
  });
311
- const result = await svc.withdraw({ userId: 'u-1', amount: '1', currency: 'BTC' });
311
+ const result = await svc.withdraw({
312
+ userId: 'u-1',
313
+ amount: '1',
314
+ currency: 'BTC',
315
+ destinationAddress: 'bc1qtest',
316
+ });
312
317
  expect(result.status).toBe('pending');
313
318
  expect(payment.processWithdrawal).not.toHaveBeenCalled();
314
- // Crypto is hard-stopped before any KYC/risk resolution.
315
319
  expect(directory.lookupPlayers).not.toHaveBeenCalled();
316
320
  });
321
+ it('auto-approves a crypto withdrawal once an operator configures a positive cryptoThreshold', async () => {
322
+ const btcWallet = { id: 'w-1', userId: 'u-1', balance: '10', currency: 'BTC' };
323
+ const dz = makeDrizzle({
324
+ select: [
325
+ ...holdSelect(btcWallet).map((r) => [r]),
326
+ [],
327
+ [{ walletId: 'w-1', n: 1 }],
328
+ [{ total: '0', n: 0 }],
329
+ [
330
+ {
331
+ id: 'tx-1',
332
+ walletId: 'w-1',
333
+ type: 'withdrawal',
334
+ status: 'pending',
335
+ amount: '0.5',
336
+ currency: 'BTC',
337
+ },
338
+ ],
339
+ [{ userId: 'u-1' }],
340
+ [],
341
+ ],
342
+ returning: [
343
+ ...holdReturning(insertRow({ currency: 'BTC', rail: 'crypto', amount: '0.5' })),
344
+ [
345
+ {
346
+ id: 'tx-1',
347
+ walletId: 'w-1',
348
+ status: 'processing',
349
+ amount: '0.5',
350
+ currency: 'BTC',
351
+ rail: 'crypto',
352
+ },
353
+ ],
354
+ ],
355
+ });
356
+ const { svc, payment, audit } = makeSvc({
357
+ drizzle: dz,
358
+ directory: verifiedDirectory(),
359
+ autoWithdrawal: { cryptoThreshold: '1' },
360
+ });
361
+ const result = await svc.withdraw({
362
+ userId: 'u-1',
363
+ amount: '0.5',
364
+ currency: 'BTC',
365
+ destinationAddress: 'bc1qtest',
366
+ });
367
+ expect(result).toEqual({ transactionId: 'tx-1', status: 'completed' });
368
+ expect(payment.processWithdrawal).toHaveBeenCalledTimes(1);
369
+ expect(audit.record).toHaveBeenCalledWith(expect.objectContaining({
370
+ after: expect.objectContaining({ threshold: '1', thresholdSource: 'global' }),
371
+ }));
372
+ });
373
+ it('stays pending when the crypto amount exceeds the configured cryptoThreshold', async () => {
374
+ const btcWallet = { id: 'w-1', userId: 'u-1', balance: '10', currency: 'BTC' };
375
+ const dz = makeDrizzle({
376
+ select: [...holdSelect(btcWallet).map((r) => [r]), []],
377
+ returning: [...holdReturning(insertRow({ currency: 'BTC', rail: 'crypto', amount: '5' }))],
378
+ });
379
+ const { svc, payment } = makeSvc({
380
+ drizzle: dz,
381
+ directory: verifiedDirectory(),
382
+ autoWithdrawal: { cryptoThreshold: '1' },
383
+ });
384
+ const result = await svc.withdraw({
385
+ userId: 'u-1',
386
+ amount: '5',
387
+ currency: 'BTC',
388
+ destinationAddress: 'bc1qtest',
389
+ });
390
+ expect(result.status).toBe('pending');
391
+ expect(payment.processWithdrawal).not.toHaveBeenCalled();
392
+ });
393
+ it('stays pending for a crypto withdrawal below cryptoThreshold when KYC is not passing (same guard as fiat)', async () => {
394
+ const btcWallet = { id: 'w-1', userId: 'u-1', balance: '10', currency: 'BTC' };
395
+ const dz = makeDrizzle({
396
+ select: [...holdSelect(btcWallet).map((r) => [r]), []],
397
+ returning: [...holdReturning(insertRow({ currency: 'BTC', rail: 'crypto', amount: '0.5' }))],
398
+ });
399
+ const { svc, payment } = makeSvc({
400
+ drizzle: dz,
401
+ directory: {
402
+ lookupPlayers: vi.fn().mockResolvedValue([{ userId: 'u-1', kycStatus: 'pending' }]),
403
+ },
404
+ autoWithdrawal: { cryptoThreshold: '1' },
405
+ });
406
+ const result = await svc.withdraw({
407
+ userId: 'u-1',
408
+ amount: '0.5',
409
+ currency: 'BTC',
410
+ destinationAddress: 'bc1qtest',
411
+ });
412
+ expect(result.status).toBe('pending');
413
+ expect(payment.processWithdrawal).not.toHaveBeenCalled();
414
+ });
317
415
  it('stays pending when no threshold is configured (no per-player rule, no global)', async () => {
318
416
  const dz = makeDrizzle({
319
417
  select: [...holdSelect().map((r) => [r]), []],
@@ -1 +1 @@
1
- {"version":3,"file":"wallet-auto-withdrawal.test.js","sourceRoot":"","sources":["../../../src/wallet/__tests__/wallet-auto-withdrawal.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"wallet-auto-withdrawal.test.js","sourceRoot":"","sources":["../../../src/wallet/__tests__/wallet-auto-withdrawal.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC9D,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEhG,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAI7D,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AAE3E,MAAM,UAAU,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACpF,MAAM,SAAS,GAAG,CAAC,OAAY,EAAE,EAAE,EAAE,CAAC,CAAC;IACrC,EAAE,EAAE,MAAM;IACV,QAAQ,EAAE,KAAK;IACf,MAAM,EAAE,IAAI;IACZ,QAAQ,EAAE,KAAK;IACf,MAAM,EAAE,SAAS;IACjB,IAAI,EAAE,MAAM;IACZ,GAAG,IAAI;CACR,CAAC,CAAC;AAEH,2FAA2F;AAC3F,MAAM,UAAU,GAAG,CAAC,SAAc,UAAU,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;AAC1D,MAAM,aAAa,GAAG,CAAC,KAAU,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAEzE,oGAAoG;AACpG,MAAM,cAAc,GAAG,GAAG,EAAE,CAAC;IAC3B;QACE;YACE,EAAE,EAAE,MAAM;YACV,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,KAAK;SAChB;KACF;IACD,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACnB,EAAE;CACH,CAAC;AACF,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC;IAC9B;QACE;YACE,EAAE,EAAE,MAAM;YACV,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,KAAK;YACf,IAAI,EAAE,MAAM;SACb;KACF;CACF,CAAC;AAUF,SAAS,OAAO,CAAC,IAAU;IACzB,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;IAC9B,MAAM,KAAK,GAAG,SAAS,EAAE,CAAC;IAC1B,MAAM,cAAc,GAAG;QACrB,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtC,GAAG,CAAC,IAAI,CAAC,cAAc;YACrB,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,EAAE;YACrF,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IACF,MAAM,GAAG,GAAG,IAAI,aAAa,CAC3B,IAAI,CAAiD;QACnD,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,MAAM;QACN,OAAO;QACP,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,KAAK;QACL,cAAc;KACf,CAAC,CACH,CAAC;IACF,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;AACzC,CAAC;AAED,MAAM,iBAAiB,GAAG,GAAG,EAAE,CAAC,CAAC;IAC/B,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;CACrF,CAAC,CAAC;AAEH,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC;IAErC,EAAE,CAAC,yFAAyF,EAAE,KAAK,IAAI,EAAE;QACvG,MAAM,EAAE,GAAG,WAAW,CAAC;YACrB,MAAM,EAAE;gBACN,GAAG,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/B,EAAE,EAAE,8EAA8E;gBAClF,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,yCAAyC;gBACtE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,iCAAiC;gBACzD,GAAG,cAAc,EAAE;aACpB;YACD,SAAS,EAAE,CAAC,GAAG,aAAa,EAAE,EAAE,GAAG,iBAAiB,EAAE,CAAC;SACxD,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,WAAW,CAA2B,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACnE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;YACtC,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,iBAAiB,EAAE;YAC9B,cAAc,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE;SAC1C,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAEpF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QACvE,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC3D,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CACjC,MAAM,CAAC,gBAAgB,CAAC,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAC7E,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CACjC,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CACzE,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,oBAAoB,CACvC,MAAM,CAAC,gBAAgB,CAAC;YACtB,SAAS,EAAE,QAAQ;YACnB,MAAM,EAAE,iCAAiC;YACzC,YAAY,EAAE,oBAAoB;YAClC,UAAU,EAAE,MAAM;YAClB,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC;gBAC7B,SAAS,EAAE,MAAM;gBACjB,eAAe,EAAE,QAAQ;gBACzB,SAAS,EAAE,UAAU;gBACrB,iBAAiB,EAAE,EAAE;aACtB,CAAC;SACH,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,qGAAqG;QACrG,8GAA8G;QAC9G,MAAM,EAAE,GAAG,WAAW,CAAC;YACrB,MAAM,EAAE;gBACN,GAAG,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/B,EAAE,EAAE,0CAA0C;gBAC9C,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW;gBACvB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO;gBAC/B,GAAG,cAAc,EAAE;aACpB;YACD,SAAS,EAAE,CAAC,GAAG,aAAa,EAAE,EAAE,GAAG,iBAAiB,EAAE,CAAC;SACxD,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,WAAW,CAA2B,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACnE,MAAM,UAAU,GAAG,WAAW,CAA2B,EAAE,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAC3E,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC;YACtB,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,iBAAiB,EAAE;YAC9B,cAAc,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE;SAC5D,CAAC,CAAC;QAEH,MAAM,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAErE,MAAM,CAAC,UAAU,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5D,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QACD,gHAAgH;QAChH,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAC/C,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAE,GAAiC,EAAE,YAAY,KAAK,eAAe,CAChF,CAAC;QACF,MAAM,CAAC,aAAa,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;QACpE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gGAAgG,EAAE,KAAK,IAAI,EAAE;QAC9G,MAAM,EAAE,GAAG,WAAW,CAAC;YACrB,MAAM,EAAE;gBACN,GAAG,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/B,EAAE,EAAE,0CAA0C;gBAC9C,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,WAAW;gBACvB,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO;gBAC/B;oBACE;wBACE,EAAE,EAAE,MAAM;wBACV,QAAQ,EAAE,KAAK;wBACf,IAAI,EAAE,YAAY;wBAClB,MAAM,EAAE,SAAS;wBACjB,MAAM,EAAE,IAAI;wBACZ,QAAQ,EAAE,KAAK;qBAChB;iBACF,EAAE,uCAAuC;aAC3C;YACD,SAAS,EAAE;gBACT,GAAG,aAAa,EAAE;gBAClB;oBACE;wBACE,EAAE,EAAE,MAAM;wBACV,QAAQ,EAAE,KAAK;wBACf,MAAM,EAAE,YAAY;wBACpB,MAAM,EAAE,IAAI;wBACZ,QAAQ,EAAE,KAAK;wBACf,IAAI,EAAE,MAAM;qBACb;iBACF,EAAE,wCAAwC;aAC5C;SACF,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,WAAW,CAA2B,EAAE,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QACnE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YACtC,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,iBAAiB,EAAE;YAC9B,cAAc,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE;SAC1C,CAAC,CAAC;QACH,KAAK,CAAC,MAAM,CAAC,qBAAqB,CAAC,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;QAE5D,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAEpF,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QACrE,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACzD,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CACjC,MAAM,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC,CACjF,CAAC;QACF,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CACjC,MAAM,CAAC,gBAAgB,CAAC;YACtB,MAAM,EAAE,SAAS;YACjB,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,IAAI;YAChB,YAAY,EAAE,IAAI;SACnB,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;QAC9F,MAAM,EAAE,GAAG,WAAW,CAAC;YACrB,MAAM,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC7C,SAAS,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC;SAChC,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YAC/B,OAAO,EAAE,EAAE;YACX,SAAS,EAAE;gBACT,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;aACpF;YACD,GAAG,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE;YAC/B,cAAc,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE;SAC1C,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAEpF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,EAAE,GAAG,WAAW,CAAC;YACrB,MAAM,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC7C,SAAS,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC;SAChC,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YAC/B,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,iBAAiB,EAAE;YAC9B,QAAQ,EAAE;gBACR,gBAAgB,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;aAC/E;YACD,cAAc,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,WAAW,CAAC,EAAE;SAC3E,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAEpF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,EAAE,GAAG,WAAW,CAAC;YACrB,gFAAgF;YAChF,MAAM,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAC1E,SAAS,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC;SAChC,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YAC/B,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,iBAAiB,EAAE;YAC9B,cAAc,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE;SAC1C,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAEpF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,EAAE,GAAG,WAAW,CAAC;YACrB,MAAM,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACjF,SAAS,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC;SAChC,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YAC/B,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,iBAAiB,EAAE;YAC9B,cAAc,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,EAAE;SAC5D,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAEpF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;QAClF,MAAM,EAAE,GAAG,WAAW,CAAC;YACrB,MAAM,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YAClF,SAAS,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC;SAChC,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YAC/B,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,iBAAiB,EAAE;YAC9B,cAAc,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE;SACjE,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAEpF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mFAAmF,EAAE,KAAK,IAAI,EAAE;QACjG,MAAM,EAAE,GAAG,WAAW,CAAC;YACrB,MAAM,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC7C,SAAS,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC;SAChC,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YAC/B,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,iBAAiB,EAAE;YAC9B,cAAc,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,WAAW,CAAC,EAAE;SAC3E,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAEpF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;QACtF,MAAM,EAAE,GAAG,WAAW,CAAC;YACrB,MAAM,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC7C,SAAS,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC;SAChC,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YAC/B,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC,EAAE;YACpF,cAAc,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE;SAC1C,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAEpF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yGAAyG,EAAE,KAAK,IAAI,EAAE;QACvH,MAAM,EAAE,GAAG,WAAW,CAAC;YACrB,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7E,SAAS,EAAE;gBACT,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;gBAClF,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;aAChB;SACF,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;QACtC,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YAC/B,OAAO,EAAE,EAAE;YACX,SAAS;YACT,cAAc,EAAE,EAAE,aAAa,EAAE,SAAS,EAAE;SAC7C,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC;YAChC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,GAAG;YACX,QAAQ,EAAE,KAAK;YACf,kBAAkB,EAAE,UAAU;SAC/B,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACzD,MAAM,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0FAA0F,EAAE,KAAK,IAAI,EAAE;QACxG,MAAM,SAAS,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC/E,MAAM,EAAE,GAAG,WAAW,CAAC;YACrB,MAAM,EAAE;gBACN,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxC,EAAE;gBACF,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC3B,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gBACtB;oBACE;wBACE,EAAE,EAAE,MAAM;wBACV,QAAQ,EAAE,KAAK;wBACf,IAAI,EAAE,YAAY;wBAClB,MAAM,EAAE,SAAS;wBACjB,MAAM,EAAE,KAAK;wBACb,QAAQ,EAAE,KAAK;qBAChB;iBACF;gBACD,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;gBACnB,EAAE;aACH;YACD,SAAS,EAAE;gBACT,GAAG,aAAa,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;gBAC/E;oBACE;wBACE,EAAE,EAAE,MAAM;wBACV,QAAQ,EAAE,KAAK;wBACf,MAAM,EAAE,YAAY;wBACpB,MAAM,EAAE,KAAK;wBACb,QAAQ,EAAE,KAAK;wBACf,IAAI,EAAE,QAAQ;qBACf;iBACF;aACF;SACF,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;YACtC,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,iBAAiB,EAAE;YAC9B,cAAc,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE;SACzC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC;YAChC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,KAAK;YACf,kBAAkB,EAAE,UAAU;SAC/B,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;QACvE,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC3D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,oBAAoB,CACvC,MAAM,CAAC,gBAAgB,CAAC;YACtB,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,EAAE,QAAQ,EAAE,CAAC;SAC9E,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;QAC3F,MAAM,SAAS,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC/E,MAAM,EAAE,GAAG,WAAW,CAAC;YACrB,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACtD,SAAS,EAAE,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;SAC3F,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YAC/B,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,iBAAiB,EAAE;YAC9B,cAAc,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE;SACzC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC;YAChC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,GAAG;YACX,QAAQ,EAAE,KAAK;YACf,kBAAkB,EAAE,UAAU;SAC/B,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0GAA0G,EAAE,KAAK,IAAI,EAAE;QACxH,MAAM,SAAS,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;QAC/E,MAAM,EAAE,GAAG,WAAW,CAAC;YACrB,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACtD,SAAS,EAAE,CAAC,GAAG,aAAa,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;SAC7F,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YAC/B,OAAO,EAAE,EAAE;YACX,SAAS,EAAE;gBACT,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;aACpF;YACD,cAAc,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE;SACzC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC;YAChC,MAAM,EAAE,KAAK;YACb,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,KAAK;YACf,kBAAkB,EAAE,UAAU;SAC/B,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;QAC7F,MAAM,EAAE,GAAG,WAAW,CAAC;YACrB,MAAM,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YAC7C,SAAS,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC;SAChC,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YAC/B,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,iBAAiB,EAAE;YAC9B,cAAc,EAAE,EAAE,EAAE,gCAAgC;SACrD,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAEpF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;QACzF,MAAM,EAAE,GAAG,WAAW,CAAC;YACrB,MAAM,EAAE;gBACN,GAAG,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/B,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;aACnF;YACD,SAAS,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC;SAChC,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;YAC/B,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,iBAAiB,EAAE;YAC9B,cAAc,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE;SAC1C,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAEpF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2EAA2E,EAAE,KAAK,IAAI,EAAE;QACzF,MAAM,EAAE,GAAG,WAAW,CAAC;YACrB,MAAM,EAAE;gBACN,GAAG,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC/B,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;gBACtF,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gBACV,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;gBACtB,GAAG,cAAc,EAAE;aACpB;YACD,SAAS,EAAE,CAAC,GAAG,aAAa,EAAE,EAAE,GAAG,iBAAiB,EAAE,CAAC;SACxD,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;YACtC,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,iBAAiB,EAAE;YAC9B,cAAc,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;SACxC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAEpF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACxC,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC3D,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,oBAAoB,CACvC,MAAM,CAAC,gBAAgB,CAAC;YACtB,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;SACrF,CAAC,CACH,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,4CAA4C,EAAE,GAAG,EAAE;IAC1D,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC;IAErC,EAAE,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;QAC3F,MAAM,EAAE,GAAG,WAAW,CAAC;YACrB,SAAS,EAAE;gBACT;oBACE;wBACE,EAAE,EAAE,KAAK;wBACT,MAAM,EAAE,KAAK;wBACb,SAAS,EAAE,KAAK;wBAChB,MAAM,EAAE,SAAS;wBACjB,SAAS,EAAE,KAAK;wBAChB,SAAS,EAAE,IAAI,IAAI,CAAC,sBAAsB,CAAC;wBAC3C,SAAS,EAAE,IAAI,IAAI,CAAC,sBAAsB,CAAC;qBAC5C;iBACF;aACF;SACF,CAAC,CAAC;QACH,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QAEzC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,qBAAqB,CAAC;YAC3C,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,SAAS;YACjB,SAAS,EAAE,KAAK;SACjB,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC;YACzB,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,KAAK;YACb,SAAS,EAAE,KAAK;YAChB,MAAM,EAAE,SAAS;SAClB,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,EAAE,GAAG,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,GAAG,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4DAA4D,EAAE,KAAK,IAAI,EAAE;QAC1E,MAAM,EAAE,GAAG,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QACzD,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC;QACzC,MAAM,CAAC,MAAM,GAAG,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7D,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/C,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,MAAM,CAAC,MAAM,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=wallet-webhook.router.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet-webhook.router.test.d.ts","sourceRoot":"","sources":["../../../src/wallet/__tests__/wallet-webhook.router.test.ts"],"names":[],"mappings":""}