@openora/core 0.4.1-canary.184 → 0.4.1-canary.186

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.
@@ -3,7 +3,7 @@ import { call, ORPCError } from '@orpc/server';
3
3
  import { mock, adminCaller, testContext } from '../../testing/mock.js';
4
4
  import { createAnalyticsRouter } from '../router/index.js';
5
5
  const CTX = testContext();
6
- const SUMMARY = { deposits: [], withdrawals: [], netRevenue: [], bonusCost: [] };
6
+ const SUMMARY = { deposits: [], withdrawals: [], netDeposits: [], ggr: [], bonusCost: [], ngr: [] };
7
7
  const GGR = [];
8
8
  const FUNNEL = [{ stage: 'registered', count: 0, dropOffRate: 0 }];
9
9
  function fakeFinancial() {
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.router.test.js","sourceRoot":"","sources":["../../../src/analytics/__tests__/analytics.router.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analytics.router.test.js","sourceRoot":"","sources":["../../../src/analytics/__tests__/analytics.router.test.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ function fakeCache(get = undefined) {
9
9
  });
10
10
  }
11
11
  describe('FinancialAnalyticsService.summary', () => {
12
- it('splits deposits and withdrawals by currency and rail and computes net revenue and bonus cost', async () => {
12
+ it('splits deposits and withdrawals by currency and rail and computes net deposits, GGR, bonus cost and NGR', async () => {
13
13
  const drizzle = makeDrizzle({
14
14
  select: [
15
15
  [
@@ -18,8 +18,14 @@ describe('FinancialAnalyticsService.summary', () => {
18
18
  ],
19
19
  [{ currency: 'USD', rail: 'crypto', total: '120.00' }],
20
20
  [
21
- { currency: 'USD', netRevenue: '350.00', bonusCost: '30.00' },
22
- { currency: 'EUR', netRevenue: '75.00', bonusCost: '0' },
21
+ {
22
+ currency: 'USD',
23
+ netDeposits: '350.00',
24
+ ggr: '90.00',
25
+ bonusCost: '30.00',
26
+ ngr: '60.00',
27
+ },
28
+ { currency: 'EUR', netDeposits: '75.00', ggr: '0', bonusCost: '0', ngr: '0' },
23
29
  ],
24
30
  ],
25
31
  });
@@ -30,17 +36,28 @@ describe('FinancialAnalyticsService.summary', () => {
30
36
  { currency: 'EUR', rail: null, total: '75.00' },
31
37
  ]);
32
38
  expect(result.withdrawals).toEqual([{ currency: 'USD', rail: 'crypto', total: '120.00' }]);
33
- expect(result.netRevenue).toEqual([
39
+ expect(result.netDeposits).toEqual([
34
40
  { currency: 'USD', total: '350.00' },
35
41
  { currency: 'EUR', total: '75.00' },
36
42
  ]);
43
+ expect(result.ngr).toEqual([
44
+ { currency: 'USD', total: '60.00' },
45
+ { currency: 'EUR', total: '0' },
46
+ ]);
37
47
  expect(result.bonusCost).toEqual([
38
48
  { currency: 'USD', total: '30.00' },
39
49
  { currency: 'EUR', total: '0' },
40
50
  ]);
41
51
  });
42
52
  it('serves a repeat query from cache without touching the database', async () => {
43
- const cached = { deposits: [], withdrawals: [], netRevenue: [], bonusCost: [] };
53
+ const cached = {
54
+ deposits: [],
55
+ withdrawals: [],
56
+ netDeposits: [],
57
+ ggr: [],
58
+ bonusCost: [],
59
+ ngr: [],
60
+ };
44
61
  const cache = fakeCache(cached);
45
62
  const drizzle = makeDrizzle();
46
63
  const service = new FinancialAnalyticsService(drizzle, cache);
@@ -1 +1 @@
1
- {"version":3,"file":"financial-analytics.service.test.js","sourceRoot":"","sources":["../../../src/analytics/__tests__/financial-analytics.service.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAElD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AAEtF,SAAS,SAAS,CAAC,MAAe,SAAS;IACzC,OAAO,IAAI,CAAe;QACxB,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,GAAG,CAAC;QACnC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;QACzC,MAAM,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,SAAS,CAAC;KAC7C,CAAC,CAAC;AACL,CAAC;AAED,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,EAAE,CAAC,8FAA8F,EAAE,KAAK,IAAI,EAAE;QAC5G,MAAM,OAAO,GAAG,WAAW,CAAC;YAC1B,MAAM,EAAE;gBACN;oBACE,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE;oBAClD,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE;iBAChD;gBACD,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;gBACtD;oBACE,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE;oBAC7D,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE;iBACzD;aACF;SACF,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,yBAAyB,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;QAEpE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC,CAAC;QAE9D,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;YAC9B,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE;YAClD,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE;SAChD,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC;QAC3F,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC;YAChC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE;YACpC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE;SACpC,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC;YAC/B,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE;YACnC,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE;SAChC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,MAAM,MAAM,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QAChF,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;QAChC,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,yBAAyB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAE9D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAEzC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;YACxC,IAAI,EAAE;gBACJ,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE;gBAC/E,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE;gBAC3E,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE;aAChF;SACF,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;QAE/F,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC/B,QAAQ,EAAE,0BAA0B;YACpC,MAAM,EAAE,0BAA0B;YAClC,WAAW,EAAE,KAAK;SACnB,CAAC,CAAC;QAEH,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC;YACrB;gBACE,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE;oBACN,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,EAAE;oBACtC,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,GAAG,EAAE;iBACnC;aACF;YACD,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE;SACtE,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;YACxC,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,wBAAwB,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC;SAC5E,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,yBAAyB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;QAE/F,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC;QAEzD,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClG,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"financial-analytics.service.test.js","sourceRoot":"","sources":["../../../src/analytics/__tests__/financial-analytics.service.test.ts"],"names":[],"mappings":"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"}
@@ -31,7 +31,11 @@ export declare const FinancialSummarySchema: z.ZodObject<{
31
31
  }>>;
32
32
  total: z.ZodString;
33
33
  }, z.core.$strip>>;
34
- netRevenue: z.ZodArray<z.ZodObject<{
34
+ netDeposits: z.ZodArray<z.ZodObject<{
35
+ currency: z.ZodString;
36
+ total: z.ZodString;
37
+ }, z.core.$strip>>;
38
+ ggr: z.ZodArray<z.ZodObject<{
35
39
  currency: z.ZodString;
36
40
  total: z.ZodString;
37
41
  }, z.core.$strip>>;
@@ -39,6 +43,10 @@ export declare const FinancialSummarySchema: z.ZodObject<{
39
43
  currency: z.ZodString;
40
44
  total: z.ZodString;
41
45
  }, z.core.$strip>>;
46
+ ngr: z.ZodArray<z.ZodObject<{
47
+ currency: z.ZodString;
48
+ total: z.ZodString;
49
+ }, z.core.$strip>>;
42
50
  }, z.core.$strip>;
43
51
  export type FinancialSummary = z.infer<typeof FinancialSummarySchema>;
44
52
  export declare const FinancialSummaryQuerySchema: z.ZodObject<{
@@ -92,7 +100,11 @@ export declare const financialContract: {
92
100
  }>>;
93
101
  total: z.ZodString;
94
102
  }, z.core.$strip>>;
95
- netRevenue: z.ZodArray<z.ZodObject<{
103
+ netDeposits: z.ZodArray<z.ZodObject<{
104
+ currency: z.ZodString;
105
+ total: z.ZodString;
106
+ }, z.core.$strip>>;
107
+ ggr: z.ZodArray<z.ZodObject<{
96
108
  currency: z.ZodString;
97
109
  total: z.ZodString;
98
110
  }, z.core.$strip>>;
@@ -100,6 +112,10 @@ export declare const financialContract: {
100
112
  currency: z.ZodString;
101
113
  total: z.ZodString;
102
114
  }, z.core.$strip>>;
115
+ ngr: z.ZodArray<z.ZodObject<{
116
+ currency: z.ZodString;
117
+ total: z.ZodString;
118
+ }, z.core.$strip>>;
103
119
  }, z.core.$strip>, Record<never, never>, Record<never, never>>;
104
120
  ggr: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
105
121
  dateFrom: z.ZodOptional<z.ZodISODateTime>;
@@ -1 +1 @@
1
- {"version":3,"file":"financial.d.ts","sourceRoot":"","sources":["../../../src/analytics/contract/financial.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAUzB,OAAO,EAAE,uBAAuB,EAAE,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE1F,eAAO,MAAM,yBAAyB;;;;;;;iBAIpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,qBAAqB;;;iBAGhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;iBAKjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,2BAA2B;;;;iBAEtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,cAAc;;;iBAGzB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;iBAG1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,uBAAuB;;;;;;;;;iBAGlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAU7B,CAAC"}
1
+ {"version":3,"file":"financial.d.ts","sourceRoot":"","sources":["../../../src/analytics/contract/financial.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAUzB,OAAO,EAAE,uBAAuB,EAAE,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE1F,eAAO,MAAM,yBAAyB;;;;;;;iBAIpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,qBAAqB;;;iBAGhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOjC,CAAC;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,eAAO,MAAM,2BAA2B;;;;iBAEtC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,cAAc;;;iBAGzB,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;iBAG1B,CAAC;AACH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,uBAAuB;;;;;;;;;iBAGlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAU7B,CAAC"}
@@ -14,8 +14,10 @@ export const MoneyByCurrencySchema = z.object({
14
14
  export const FinancialSummarySchema = z.object({
15
15
  deposits: z.array(MoneyByCurrencyRailSchema),
16
16
  withdrawals: z.array(MoneyByCurrencyRailSchema),
17
- netRevenue: z.array(MoneyByCurrencySchema),
17
+ netDeposits: z.array(MoneyByCurrencySchema),
18
+ ggr: z.array(MoneyByCurrencySchema),
18
19
  bonusCost: z.array(MoneyByCurrencySchema),
20
+ ngr: z.array(MoneyByCurrencySchema),
19
21
  });
20
22
  export const FinancialSummaryQuerySchema = DateRangeSchema.extend({
21
23
  currency: CurrencyCodeSchema.optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"financial.js","sourceRoot":"","sources":["../../../src/analytics/contract/financial.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,uBAAuB,EAA0B,MAAM,yBAAyB,CAAC;AAE1F,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,QAAQ,EAAE,kBAAkB;IAC5B,IAAI,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACjC,KAAK,EAAE,iBAAiB;CACzB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,QAAQ,EAAE,kBAAkB;IAC5B,KAAK,EAAE,uBAAuB;CAC/B,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC;IAC5C,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC;IAC/C,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;IAC1C,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;CAC1C,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,2BAA2B,GAAG,eAAe,CAAC,MAAM,CAAC;IAChE,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,GAAG,EAAE,uBAAuB;CAC7B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,QAAQ,EAAE,kBAAkB;IAC5B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;CAChC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,uBAAuB,GAAG,eAAe,CAAC,MAAM,CAAC;IAC5D,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IACvC,WAAW,EAAE,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC;CAC9C,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,OAAO,EAAE,EAAE;SACR,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC;SAC9D,KAAK,CAAC,2BAA2B,CAAC;SAClC,MAAM,CAAC,sBAAsB,CAAC;IAEjC,GAAG,EAAE,EAAE;SACJ,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC;SAC1D,KAAK,CAAC,uBAAuB,CAAC;SAC9B,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;CACpC,CAAC"}
1
+ {"version":3,"file":"financial.js","sourceRoot":"","sources":["../../../src/analytics/contract/financial.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EACL,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,gBAAgB,GACjB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,uBAAuB,EAA0B,MAAM,yBAAyB,CAAC;AAE1F,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,QAAQ,EAAE,kBAAkB;IAC5B,IAAI,EAAE,gBAAgB,CAAC,QAAQ,EAAE;IACjC,KAAK,EAAE,iBAAiB;CACzB,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,QAAQ,EAAE,kBAAkB;IAC5B,KAAK,EAAE,uBAAuB;CAC/B,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC;IAC5C,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC;IAC/C,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;IAC3C,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;IACnC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;IACzC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,qBAAqB,CAAC;CACpC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,2BAA2B,GAAG,eAAe,CAAC,MAAM,CAAC;IAChE,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;IAClB,GAAG,EAAE,uBAAuB;CAC7B,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,QAAQ,EAAE,kBAAkB;IAC5B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;CAChC,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,uBAAuB,GAAG,eAAe,CAAC,MAAM,CAAC;IAC5D,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,EAAE;IACvC,WAAW,EAAE,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC;CAC9C,CAAC,CAAC;AAGH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,OAAO,EAAE,EAAE;SACR,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC;SAC9D,KAAK,CAAC,2BAA2B,CAAC;SAClC,MAAM,CAAC,sBAAsB,CAAC;IAEjC,GAAG,EAAE,EAAE;SACJ,KAAK,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,0BAA0B,EAAE,CAAC;SAC1D,KAAK,CAAC,uBAAuB,CAAC;SAC9B,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;CACpC,CAAC"}
@@ -23,7 +23,11 @@ export declare const analyticsContract: {
23
23
  }>>;
24
24
  total: import("zod").ZodString;
25
25
  }, import("zod/v4/core").$strip>>;
26
- netRevenue: import("zod").ZodArray<import("zod").ZodObject<{
26
+ netDeposits: import("zod").ZodArray<import("zod").ZodObject<{
27
+ currency: import("zod").ZodString;
28
+ total: import("zod").ZodString;
29
+ }, import("zod/v4/core").$strip>>;
30
+ ggr: import("zod").ZodArray<import("zod").ZodObject<{
27
31
  currency: import("zod").ZodString;
28
32
  total: import("zod").ZodString;
29
33
  }, import("zod/v4/core").$strip>>;
@@ -31,6 +35,10 @@ export declare const analyticsContract: {
31
35
  currency: import("zod").ZodString;
32
36
  total: import("zod").ZodString;
33
37
  }, import("zod/v4/core").$strip>>;
38
+ ngr: import("zod").ZodArray<import("zod").ZodObject<{
39
+ currency: import("zod").ZodString;
40
+ total: import("zod").ZodString;
41
+ }, import("zod/v4/core").$strip>>;
34
42
  }, import("zod/v4/core").$strip>, Record<never, never>, Record<never, never>>;
35
43
  ggr: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<import("zod").ZodObject<{
36
44
  dateFrom: import("zod").ZodOptional<import("zod").ZodISODateTime>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/analytics/contract/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAK5B,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAG7B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/analytics/contract/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAK5B,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAG7B,CAAC"}
@@ -24,7 +24,11 @@ export declare function createAnalyticsRouter(financial: FinancialAnalyticsServi
24
24
  }>>;
25
25
  total: import("zod").ZodString;
26
26
  }, import("zod/v4/core").$strip>>;
27
- netRevenue: import("zod").ZodArray<import("zod").ZodObject<{
27
+ netDeposits: import("zod").ZodArray<import("zod").ZodObject<{
28
+ currency: import("zod").ZodString;
29
+ total: import("zod").ZodString;
30
+ }, import("zod/v4/core").$strip>>;
31
+ ggr: import("zod").ZodArray<import("zod").ZodObject<{
28
32
  currency: import("zod").ZodString;
29
33
  total: import("zod").ZodString;
30
34
  }, import("zod/v4/core").$strip>>;
@@ -32,6 +36,10 @@ export declare function createAnalyticsRouter(financial: FinancialAnalyticsServi
32
36
  currency: import("zod").ZodString;
33
37
  total: import("zod").ZodString;
34
38
  }, import("zod/v4/core").$strip>>;
39
+ ngr: import("zod").ZodArray<import("zod").ZodObject<{
40
+ currency: import("zod").ZodString;
41
+ total: import("zod").ZodString;
42
+ }, import("zod/v4/core").$strip>>;
35
43
  }, import("zod/v4/core").$strip>, import("@orpc/server").MergedErrorMap<Record<never, never>, Record<never, never>>, Record<never, never>>;
36
44
  ggr: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("zod").ZodObject<{
37
45
  dateFrom: import("zod").ZodOptional<import("zod").ZodISODateTime>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/analytics/router/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAEhF,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,yBAAyB,EACpC,MAAM,EAAE,sBAAsB,EAC9B,UAAU,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBvB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/analytics/router/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,KAAK,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EAAE,yBAAyB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAEhF,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,yBAAyB,EACpC,MAAM,EAAE,sBAAsB,EAC9B,UAAU,EAAE,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"financial-analytics.service.d.ts","sourceRoot":"","sources":["../../../src/analytics/service/financial-analytics.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,SAAS,EACV,MAAM,sBAAsB,CAAC;AAmC9B,qBAAa,yBAAyB;IAElC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBADL,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,YAAY;IAGhC,OAAO,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIhE,GAAG,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YAI3C,MAAM;YAWN,cAAc;YA4Dd,UAAU;CA+DzB"}
1
+ {"version":3,"file":"financial-analytics.service.d.ts","sourceRoot":"","sources":["../../../src/analytics/service/financial-analytics.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,KAAK,EACV,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,SAAS,EACV,MAAM,sBAAsB,CAAC;AAuC9B,qBAAa,yBAAyB;IAElC,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,KAAK;gBADL,OAAO,EAAE,cAAc,EACvB,KAAK,EAAE,YAAY;IAGhC,OAAO,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAIhE,GAAG,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;YAI3C,MAAM;YAWN,cAAc;YAgEd,UAAU;CA+DzB"}
@@ -3,6 +3,8 @@ import { walletTransaction } from '@openora/core/wallet/schema';
3
3
  const ANALYTICS_CACHE_TTL_MS = 60_000;
4
4
  const DEFAULT_GGR_RANGE_DAYS = 30;
5
5
  const COMPLETED_STATUS = 'completed';
6
+ const SUMMARY_TYPES = ['deposit', 'withdrawal', 'bonus', 'bet', 'bet_reversal', 'win'];
7
+ const sumOf = (type) => sql `coalesce(sum(${walletTransaction.amount}) filter (where ${walletTransaction.type} = ${type}), 0)`;
6
8
  const GRANULARITY_INTERVALS = {
7
9
  day: '1 day',
8
10
  week: '1 week',
@@ -72,22 +74,26 @@ export class FinancialAnalyticsService {
72
74
  db
73
75
  .select({
74
76
  currency: walletTransaction.currency,
75
- netRevenue: sql `
76
- coalesce(sum(${walletTransaction.amount}) filter (where ${walletTransaction.type} = 'deposit'), 0)
77
- - coalesce(sum(${walletTransaction.amount}) filter (where ${walletTransaction.type} = 'withdrawal'), 0)
78
- - coalesce(sum(${walletTransaction.amount}) filter (where ${walletTransaction.type} = 'bonus'), 0)
77
+ netDeposits: sql `
78
+ ${sumOf('deposit')} - ${sumOf('withdrawal')} - ${sumOf('bonus')}
79
+ `,
80
+ ggr: sql `${sumOf('bet')} - ${sumOf('bet_reversal')} - ${sumOf('win')}`,
81
+ bonusCost: sql `${sumOf('bonus')}`,
82
+ ngr: sql `
83
+ ${sumOf('bet')} - ${sumOf('bet_reversal')} - ${sumOf('win')} - ${sumOf('bonus')}
79
84
  `,
80
- bonusCost: sql `coalesce(sum(${walletTransaction.amount}) filter (where ${walletTransaction.type} = 'bonus'), 0)`,
81
85
  })
82
86
  .from(walletTransaction)
83
- .where(and(eq(walletTransaction.status, COMPLETED_STATUS), inArray(walletTransaction.type, ['deposit', 'withdrawal', 'bonus']), ...baseConditions))
87
+ .where(and(eq(walletTransaction.status, COMPLETED_STATUS), inArray(walletTransaction.type, SUMMARY_TYPES), ...baseConditions))
84
88
  .groupBy(walletTransaction.currency),
85
89
  ]);
86
90
  return {
87
91
  deposits,
88
92
  withdrawals,
89
- netRevenue: byCurrency.map((r) => ({ currency: r.currency, total: r.netRevenue })),
93
+ netDeposits: byCurrency.map((r) => ({ currency: r.currency, total: r.netDeposits })),
94
+ ggr: byCurrency.map((r) => ({ currency: r.currency, total: r.ggr })),
90
95
  bonusCost: byCurrency.map((r) => ({ currency: r.currency, total: r.bonusCost })),
96
+ ngr: byCurrency.map((r) => ({ currency: r.currency, total: r.ngr })),
91
97
  };
92
98
  }
93
99
  async computeGgr({ dateFrom, dateTo, currency, granularity, }) {
@@ -1 +1 @@
1
- {"version":3,"file":"financial-analytics.service.js","sourceRoot":"","sources":["../../../src/analytics/service/financial-analytics.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"financial-analytics.service.js","sourceRoot":"","sources":["../../../src/analytics/service/financial-analytics.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mail-schemas.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mail-schemas.test.d.ts","sourceRoot":"","sources":["../../../../src/contracts/schemas/__tests__/mail-schemas.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,20 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { MailTemplateSchema } from '../mail.js';
3
+ const depositIn = (currency) => MailTemplateSchema.safeParse({
4
+ key: 'depositCompleted',
5
+ data: {
6
+ amount: '25.00',
7
+ currency,
8
+ transactionId: '3f1a6d2e-27cc-4a4b-9f0a-1d4a5b6c7d8e',
9
+ occurredAt: new Date('2026-01-01T00:00:00.000Z').toISOString(),
10
+ },
11
+ });
12
+ describe('MailTemplateSchema currency', () => {
13
+ it('accepts a four-letter crypto ticker', () => {
14
+ expect(depositIn('USDT').success).toBe(true);
15
+ });
16
+ it('still accepts a three-letter fiat code', () => {
17
+ expect(depositIn('USD').success).toBe(true);
18
+ });
19
+ });
20
+ //# sourceMappingURL=mail-schemas.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mail-schemas.test.js","sourceRoot":"","sources":["../../../../src/contracts/schemas/__tests__/mail-schemas.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,SAAS,GAAG,CAAC,QAAgB,EAAE,EAAE,CACrC,kBAAkB,CAAC,SAAS,CAAC;IAC3B,GAAG,EAAE,kBAAkB;IACvB,IAAI,EAAE;QACJ,MAAM,EAAE,OAAO;QACf,QAAQ;QACR,aAAa,EAAE,sCAAsC;QACrD,UAAU,EAAE,IAAI,IAAI,CAAC,0BAA0B,CAAC,CAAC,WAAW,EAAE;KAC/D;CACF,CAAC,CAAC;AAEL,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;QAC7C,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAChD,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mail.d.ts","sourceRoot":"","sources":["../../../src/contracts/schemas/mail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAKzB,eAAO,MAAM,kBAAkB,8gBAwBrB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AASnE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDmB,CAAC;AAEzD,MAAM,MAAM,iBAAiB,GAAG;KAC7B,CAAC,IAAI,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;CACvE,CAAC;AAKF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAwB7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG;KACxB,CAAC,IAAI,gBAAgB,GAAG;QAAE,GAAG,EAAE,CAAC,CAAC;QAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAA;KAAE;CAChE,CAAC,gBAAgB,CAAC,CAAC"}
1
+ {"version":3,"file":"mail.d.ts","sourceRoot":"","sources":["../../../src/contracts/schemas/mail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAIzB,eAAO,MAAM,kBAAkB,8gBAwBrB,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;AAanE,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiDmB,CAAC;AAEzD,MAAM,MAAM,iBAAiB,GAAG;KAC7B,CAAC,IAAI,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;CACvE,CAAC;AAKF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAwB7B,CAAC;AAEH,MAAM,MAAM,YAAY,GAAG;KACxB,CAAC,IAAI,gBAAgB,GAAG;QAAE,GAAG,EAAE,CAAC,CAAC;QAAC,IAAI,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAA;KAAE;CAChE,CAAC,gBAAgB,CAAC,CAAC"}
@@ -1,6 +1,5 @@
1
1
  import * as z from 'zod';
2
- import { MoneyAmountSchema, TimestampSchema, UuidSchema } from './common.js';
3
- import { CurrencyCodeSchema } from './igaming-config.js';
2
+ import { CurrencyTickerSchema, MoneyAmountSchema, TimestampSchema, UuidSchema } from './common.js';
4
3
  import { RgInitiatorSchema } from './compliance.js';
5
4
  export const MAIL_TEMPLATE_KEYS = [
6
5
  'verifyEmail',
@@ -27,9 +26,13 @@ export const MAIL_TEMPLATE_KEYS = [
27
26
  'emailChanged',
28
27
  'securityAntiPhishingCodeChanged',
29
28
  ];
29
+ // Ticker, not the ISO-4217 code: a wallet holds crypto as well as fiat, and a four-letter
30
+ // ticker (USDT, USDC, DOGE) failed the three-character rule - the mail job then failed its
31
+ // retries in the queue and the player was never told their money moved. This is the string
32
+ // the mail prints; the money path validates the amount and the wallet's currency itself.
30
33
  const WithdrawalDetailsShape = {
31
34
  amount: MoneyAmountSchema,
32
- currency: CurrencyCodeSchema,
35
+ currency: CurrencyTickerSchema,
33
36
  transactionId: UuidSchema,
34
37
  occurredAt: TimestampSchema,
35
38
  };
@@ -43,7 +46,7 @@ export const EmailTemplateDataSchemas = {
43
46
  period: z.string(),
44
47
  type: z.string(),
45
48
  amount: MoneyAmountSchema.nullable(),
46
- currency: CurrencyCodeSchema.nullable(),
49
+ currency: CurrencyTickerSchema.nullable(),
47
50
  minutes: z.number().int().nullable(),
48
51
  initiatedBy: RgInitiatorSchema,
49
52
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"mail.js","sourceRoot":"","sources":["../../../src/contracts/schemas/mail.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,aAAa;IACb,cAAc;IACd,kBAAkB;IAClB,uBAAuB;IACvB,uBAAuB;IACvB,gBAAgB;IAChB,uBAAuB;IACvB,oBAAoB;IACpB,0BAA0B;IAC1B,uBAAuB;IACvB,kBAAkB;IAClB,oBAAoB;IACpB,oBAAoB;IACpB,qBAAqB;IACrB,kBAAkB;IAClB,0BAA0B;IAC1B,iBAAiB;IACjB,oBAAoB;IACpB,6BAA6B;IAC7B,SAAS;IACT,yBAAyB;IACzB,cAAc;IACd,iCAAiC;CACzB,CAAC;AAIX,MAAM,sBAAsB,GAAG;IAC7B,MAAM,EAAE,iBAAiB;IACzB,QAAQ,EAAE,kBAAkB;IAC5B,aAAa,EAAE,UAAU;IACzB,UAAU,EAAE,eAAe;CACnB,CAAC;AAEX,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IAC1C,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;IAC3C,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;IACjE,qBAAqB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;IACtE,qBAAqB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;IACtE,cAAc,EAAE,CAAC,CAAC,MAAM,CAAC;QACvB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;QAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,MAAM,EAAE,iBAAiB,CAAC,QAAQ,EAAE;QACpC,QAAQ,EAAE,kBAAkB,CAAC,QAAQ,EAAE;QACvC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QACpC,WAAW,EAAE,iBAAiB;KAC/B,CAAC;IACF,qBAAqB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;IAC/F,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;IAChE,wBAAwB,EAAE,CAAC,CAAC,MAAM,CAAC;QACjC,SAAS,EAAE,eAAe,CAAC,QAAQ,EAAE;QACrC,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;QACxB,WAAW,EAAE,iBAAiB;KAC/B,CAAC;IACF,qBAAqB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC;IACnE,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,sBAAsB,EAAE,CAAC;IACzD,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,sBAAsB,EAAE,CAAC;IAC3D,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC;QAC3B,GAAG,sBAAsB;QACzB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC9B,CAAC;IACF,mBAAmB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,sBAAsB,EAAE,CAAC;IAC5D,gBAAgB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,sBAAsB,EAAE,CAAC;IACzD,wBAAwB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;IACrE,eAAe,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;IAC5E,kBAAkB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,eAAe,EAAE,CAAC;IAC7D,2BAA2B,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,sBAAsB,EAAE,CAAC;IACpE,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACrB,uBAAuB,EAAE,CAAC,CAAC,MAAM,CAAC;QAChC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;QACf,gFAAgF;QAChF,gFAAgF;QAChF,6BAA6B;QAC7B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;QACpB,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE;KACpB,CAAC;IACF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;QACrB,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE;QACnB,UAAU,EAAE,eAAe;QAC3B,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE;KAC1B,CAAC;IACF,+BAA+B,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,wBAAwB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;CACxC,CAAC;AAMzD,MAAM,eAAe,GAAG,CAA6B,GAAM,EAAE,EAAE,CAC7D,CAAC,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,wBAAwB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAEzE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE;IAC5D,eAAe,CAAC,aAAa,CAAC;IAC9B,eAAe,CAAC,cAAc,CAAC;IAC/B,eAAe,CAAC,kBAAkB,CAAC;IACnC,eAAe,CAAC,uBAAuB,CAAC;IACxC,eAAe,CAAC,uBAAuB,CAAC;IACxC,eAAe,CAAC,gBAAgB,CAAC;IACjC,eAAe,CAAC,uBAAuB,CAAC;IACxC,eAAe,CAAC,oBAAoB,CAAC;IACrC,eAAe,CAAC,0BAA0B,CAAC;IAC3C,eAAe,CAAC,uBAAuB,CAAC;IACxC,eAAe,CAAC,kBAAkB,CAAC;IACnC,eAAe,CAAC,oBAAoB,CAAC;IACrC,eAAe,CAAC,oBAAoB,CAAC;IACrC,eAAe,CAAC,qBAAqB,CAAC;IACtC,eAAe,CAAC,kBAAkB,CAAC;IACnC,eAAe,CAAC,0BAA0B,CAAC;IAC3C,eAAe,CAAC,iBAAiB,CAAC;IAClC,eAAe,CAAC,oBAAoB,CAAC;IACrC,eAAe,CAAC,6BAA6B,CAAC;IAC9C,eAAe,CAAC,SAAS,CAAC;IAC1B,eAAe,CAAC,yBAAyB,CAAC;IAC1C,eAAe,CAAC,cAAc,CAAC;IAC/B,eAAe,CAAC,iCAAiC,CAAC;CACnD,CAAC,CAAC"}
1
+ {"version":3,"file":"mail.js","sourceRoot":"","sources":["../../../src/contracts/schemas/mail.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openora/core",
3
- "version": "0.4.1-canary.184",
3
+ "version": "0.4.1-canary.186",
4
4
  "description": "Open-source, headless, plugin-based, AI-native iGaming framework - domain modules, plugin engine, Zod-first contracts, typed React SDK",
5
5
  "keywords": [
6
6
  "ai-native",