@openora/core 0.4.1-canary.143 → 0.4.1-canary.146
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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/contracts/schemas/iam.d.ts +1 -0
- package/dist/contracts/schemas/iam.d.ts.map +1 -1
- package/dist/contracts/schemas/iam.js +1 -0
- package/dist/contracts/schemas/iam.js.map +1 -1
- package/dist/contracts/schemas/platform-config.d.ts +2 -0
- package/dist/contracts/schemas/platform-config.d.ts.map +1 -1
- package/dist/contracts/schemas/platform-config.js +6 -1
- package/dist/contracts/schemas/platform-config.js.map +1 -1
- package/dist/fx/exchange-rate/plugin.d.ts.map +1 -1
- package/dist/fx/exchange-rate/plugin.js +3 -7
- package/dist/fx/exchange-rate/plugin.js.map +1 -1
- package/dist/iam/seed/data/default-admin-roles.d.ts.map +1 -1
- package/dist/iam/seed/data/default-admin-roles.js +1 -0
- package/dist/iam/seed/data/default-admin-roles.js.map +1 -1
- package/dist/iam/service/iam.service.d.ts +1 -1
- package/dist/server/auth/permissions.d.ts +12 -0
- package/dist/server/auth/permissions.d.ts.map +1 -1
- package/dist/server/auth/permissions.js +1 -0
- package/dist/server/auth/permissions.js.map +1 -1
- package/dist/wallet/__tests__/wallet-auto-withdrawal.int.test.js +132 -7
- package/dist/wallet/__tests__/wallet-auto-withdrawal.int.test.js.map +1 -1
- package/dist/wallet/drizzle/migrations/0020_salty_infant_terrible.sql +1 -0
- package/dist/wallet/drizzle/migrations/meta/0020_snapshot.json +1979 -0
- package/dist/wallet/drizzle/migrations/meta/_journal.json +7 -0
- package/dist/wallet/plugin.d.ts.map +1 -1
- package/dist/wallet/plugin.js +2 -1
- package/dist/wallet/plugin.js.map +1 -1
- package/dist/wallet/schema/index.d.ts +17 -0
- package/dist/wallet/schema/index.d.ts.map +1 -1
- package/dist/wallet/schema/index.js +4 -0
- package/dist/wallet/schema/index.js.map +1 -1
- package/dist/wallet/service/wallet.service.d.ts +5 -2
- package/dist/wallet/service/wallet.service.d.ts.map +1 -1
- package/dist/wallet/service/wallet.service.js +49 -21
- package/dist/wallet/service/wallet.service.js.map +1 -1
- package/package.json +1 -1
|
@@ -44,6 +44,7 @@ export declare const adminStatement: {
|
|
|
44
44
|
readonly 'wallet-asset': readonly ["view", "create", "update", "delete"];
|
|
45
45
|
readonly 'wallet-custody': readonly ["view", "run"];
|
|
46
46
|
readonly 'wallet-reconciliation': readonly ["view", "resolve", "run"];
|
|
47
|
+
readonly 'swap-config': readonly ["view", "update"];
|
|
47
48
|
readonly 'chat-command': readonly ["view", "update"];
|
|
48
49
|
readonly 'chat-moderation': readonly ["view", "moderate"];
|
|
49
50
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iam.d.ts","sourceRoot":"","sources":["../../../src/contracts/schemas/iam.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,eAAO,MAAM,gBAAgB,8CAA+C,CAAC;AAC7E,eAAO,MAAM,qBAAqB;;;;EAA2B,CAAC;AAC9D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,kBAAkB,6CAA8C,CAAC;AAC9E,eAAO,MAAM,sBAAsB;;;;EAA6B,CAAC;AACjE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAItE,eAAO,MAAM,SAAS,8BAA+B,CAAC;AACtD,eAAO,MAAM,cAAc;;;EAAoB,CAAC;AAChD,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAOtD,eAAO,MAAM,cAAc
|
|
1
|
+
{"version":3,"file":"iam.d.ts","sourceRoot":"","sources":["../../../src/contracts/schemas/iam.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,eAAO,MAAM,gBAAgB,8CAA+C,CAAC;AAC7E,eAAO,MAAM,qBAAqB;;;;EAA2B,CAAC;AAC9D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE,eAAO,MAAM,kBAAkB,6CAA8C,CAAC;AAC9E,eAAO,MAAM,sBAAsB;;;;EAA6B,CAAC;AACjE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAItE,eAAO,MAAM,SAAS,8BAA+B,CAAC;AACtD,eAAO,MAAM,cAAc;;;EAAoB,CAAC;AAChD,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAOtD,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BjB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,cAAc,CAAC;AACxD,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,aAAa,IAAI,CAAC,OAAO,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -37,6 +37,7 @@ export const adminStatement = {
|
|
|
37
37
|
'wallet-asset': ['view', 'create', 'update', 'delete'],
|
|
38
38
|
'wallet-custody': ['view', 'run'],
|
|
39
39
|
'wallet-reconciliation': ['view', 'resolve', 'run'],
|
|
40
|
+
'swap-config': ['view', 'update'],
|
|
40
41
|
'chat-command': ['view', 'update'],
|
|
41
42
|
'chat-moderation': ['view', 'moderate'],
|
|
42
43
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"iam.js","sourceRoot":"","sources":["../../../src/contracts/schemas/iam.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,CAAU,CAAC;AAC7E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAG9D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAU,CAAC;AAC9E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAGjE,8EAA8E;AAC9E,yFAAyF;AACzF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAU,CAAC;AACtD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAGhD,+EAA+E;AAC/E,8EAA8E;AAC9E,6EAA6E;AAC7E,gFAAgF;AAChF,uEAAuE;AACvE,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAU;IAC1C,WAAW,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAU;IACxC,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAU;IAC5C,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAU;IAC3D,UAAU,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,WAAW,CAAU;IAC5D,MAAM,EAAE,CAAC,MAAM,CAAU;IACzB,UAAU,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAU;IACvE,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAU;IAC/D,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAU;IAClC,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAU;IACjE,aAAa,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAU;IACtD,SAAS,EAAE,CAAC,MAAM,CAAU;IAC5B,UAAU,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,CAAU;IACrD,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAU;IACtC,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAU;IACrC,aAAa,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAU;IAC1C,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAU;IACvC,GAAG,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAU;IAC1C,WAAW,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU;IAC5D,wBAAwB,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAU;IACrD,uBAAuB,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAU;IACpD,cAAc,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU;IAC/D,gBAAgB,EAAE,CAAC,MAAM,EAAE,KAAK,CAAU;IAC1C,uBAAuB,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAU;IAC5D,cAAc,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAU;IAC3C,iBAAiB,EAAE,CAAC,MAAM,EAAE,UAAU,CAAU;CACxC,CAAC"}
|
|
1
|
+
{"version":3,"file":"iam.js","sourceRoot":"","sources":["../../../src/contracts/schemas/iam.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAEzB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,CAAU,CAAC;AAC7E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;AAG9D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,CAAU,CAAC;AAC9E,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;AAGjE,8EAA8E;AAC9E,yFAAyF;AACzF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAU,CAAC;AACtD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAGhD,+EAA+E;AAC/E,8EAA8E;AAC9E,6EAA6E;AAC7E,gFAAgF;AAChF,uEAAuE;AACvE,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAU;IAC1C,WAAW,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAU;IACxC,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAU;IAC5C,OAAO,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,CAAU;IAC3D,UAAU,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,WAAW,CAAU;IAC5D,MAAM,EAAE,CAAC,MAAM,CAAU;IACzB,UAAU,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,CAAU;IACvE,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAU;IAC/D,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAU;IAClC,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,CAAU;IACjE,aAAa,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAU;IACtD,SAAS,EAAE,CAAC,MAAM,CAAU;IAC5B,UAAU,EAAE,CAAC,MAAM,EAAE,WAAW,EAAE,SAAS,CAAU;IACrD,SAAS,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAU;IACtC,QAAQ,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAU;IACrC,aAAa,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAU;IAC1C,UAAU,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAU;IACvC,GAAG,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAU;IAC1C,WAAW,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU;IAC5D,wBAAwB,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAU;IACrD,uBAAuB,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAU;IACpD,cAAc,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAU;IAC/D,gBAAgB,EAAE,CAAC,MAAM,EAAE,KAAK,CAAU;IAC1C,uBAAuB,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAU;IAC5D,aAAa,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAU;IAC1C,cAAc,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAU;IAC3C,iBAAiB,EAAE,CAAC,MAAM,EAAE,UAAU,CAAU;CACxC,CAAC"}
|
|
@@ -59,6 +59,8 @@ export declare const ExchangeRateConfigSchema: z.ZodObject<{
|
|
|
59
59
|
providerTimeoutMs: z.ZodDefault<z.ZodNumber>;
|
|
60
60
|
}, z.core.$strict>;
|
|
61
61
|
export type ExchangeRateConfig = z.infer<typeof ExchangeRateConfigSchema>;
|
|
62
|
+
/** The pivot every fx conversion targets. One resolver, so no module converts against another. */
|
|
63
|
+
export declare function resolveExchangeRatePivot(config: ExchangeRateConfig | undefined): string;
|
|
62
64
|
export declare const NotificationsConfigSchema: z.ZodObject<{
|
|
63
65
|
retention: z.ZodOptional<z.ZodObject<{
|
|
64
66
|
days: z.ZodDefault<z.ZodNumber>;
|
|
@@ -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;AAUxB;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,kBAAkB,wCAAoC,CAAC;AAEpE,eAAO,MAAM,WAAW;;;;;kBAUb,CAAC;AAEZ,eAAO,MAAM,eAAe;;;;;kBAcjB,CAAC;AAEZ,eAAO,MAAM,0BAA0B;;;;kBAQ5B,CAAC;AAEZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;kBAkEpB,CAAC;AAEZ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,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;AAUxB;;;;;;;;;;;;GAYG;AAEH,eAAO,MAAM,kBAAkB,wCAAoC,CAAC;AAEpE,eAAO,MAAM,WAAW;;;;;kBAUb,CAAC;AAEZ,eAAO,MAAM,eAAe;;;;;kBAcjB,CAAC;AAEZ,eAAO,MAAM,0BAA0B;;;;kBAQ5B,CAAC;AAEZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;kBAkEpB,CAAC;AAEZ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAI9D,eAAO,MAAM,wBAAwB;;;;;kBAY1B,CAAC;AAEZ,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,kGAAkG;AAClG,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,kBAAkB,GAAG,SAAS,GAAG,MAAM,CAEvF;AAED,eAAO,MAAM,yBAAyB;;;;;kBAc3B,CAAC;AAEZ,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,wBAAwB;;;kBAU1B,CAAC;AAEZ;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB,aAK9B,CAAC;AAEJ;;;;;;GAMG;AACH,eAAO,MAAM,mCAAmC,uBAAuB,CAAC;AAExE,eAAO,MAAM,wBAAwB,wDAuBa,CAAC;AAEnD,eAAO,MAAM,gBAAgB;;;;;kBAiBlB,CAAC;AACZ,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;kBAwC3B,CAAC;AAEZ,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,eAAe;;kBAKjB,CAAC;AACZ,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBA+D7B,CAAC;AAEL,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAEvE;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,GAAG,cAAc,CAShF;AAED,8EAA8E;AAC9E,eAAO,MAAM,qBAAqB,EAAE,cAAyC,CAAC;AAE9E,+EAA+E;AAC/E,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAAiD,CAAC"}
|
|
@@ -118,10 +118,11 @@ export const WalletConfigSchema = z
|
|
|
118
118
|
.optional(),
|
|
119
119
|
})
|
|
120
120
|
.strict();
|
|
121
|
+
const DEFAULT_EXCHANGE_RATE_PIVOT = 'USD';
|
|
121
122
|
export const ExchangeRateConfigSchema = z
|
|
122
123
|
.object({
|
|
123
124
|
/** Comparison currency the fx module derives a cross rate against. Absent = 'USD'. */
|
|
124
|
-
pivot: CurrencyCodeSchema.default(
|
|
125
|
+
pivot: CurrencyCodeSchema.default(DEFAULT_EXCHANGE_RATE_PIVOT),
|
|
125
126
|
freshTtlMs: z.number().int().positive().default(60_000),
|
|
126
127
|
hardMaxAgeMs: z
|
|
127
128
|
.number()
|
|
@@ -131,6 +132,10 @@ export const ExchangeRateConfigSchema = z
|
|
|
131
132
|
providerTimeoutMs: z.number().int().positive().default(2_000),
|
|
132
133
|
})
|
|
133
134
|
.strict();
|
|
135
|
+
/** The pivot every fx conversion targets. One resolver, so no module converts against another. */
|
|
136
|
+
export function resolveExchangeRatePivot(config) {
|
|
137
|
+
return (config?.pivot ?? DEFAULT_EXCHANGE_RATE_PIVOT).toUpperCase();
|
|
138
|
+
}
|
|
134
139
|
export const NotificationsConfigSchema = z
|
|
135
140
|
.object({
|
|
136
141
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform-config.js","sourceRoot":"","sources":["../../../src/contracts/schemas/platform-config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"platform-config.js","sourceRoot":"","sources":["../../../src/contracts/schemas/platform-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/fx/exchange-rate/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/fx/exchange-rate/plugin.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA,wBAmC8C"}
|
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
import { DRIZZLE } from '@openora/core/server';
|
|
2
|
-
import { CRYPTO_EXCHANGE_RATE_PROVIDER, FIAT_EXCHANGE_RATE_PROVIDER, EXCHANGE_RATE_READER, PLATFORM_CONFIG, resolveDisplayCurrencies, } from '@openora/core/contracts';
|
|
2
|
+
import { CRYPTO_EXCHANGE_RATE_PROVIDER, FIAT_EXCHANGE_RATE_PROVIDER, EXCHANGE_RATE_READER, PLATFORM_CONFIG, resolveDisplayCurrencies, resolveExchangeRatePivot, } from '@openora/core/contracts';
|
|
3
3
|
import { ExchangeRateService } from './service/exchange-rate.service.js';
|
|
4
4
|
import { createExchangeRateRouter } from './router/index.js';
|
|
5
5
|
import { ExchangeRateReaderService } from './adapters/exchange-rate-reader.service.js';
|
|
6
|
-
const DEFAULT_PIVOT = 'USD';
|
|
7
6
|
const DEFAULT_FRESH_TTL_MS = 60_000;
|
|
8
7
|
const DEFAULT_HARD_MAX_AGE_MS = 15 * 60_000;
|
|
9
8
|
const DEFAULT_PROVIDER_TIMEOUT_MS = 2_000;
|
|
10
|
-
function resolvePivot(platformConfig) {
|
|
11
|
-
return (platformConfig.exchangeRate?.pivot ?? DEFAULT_PIVOT).toUpperCase();
|
|
12
|
-
}
|
|
13
9
|
export default {
|
|
14
10
|
id: 'exchange-rate',
|
|
15
11
|
register(ctx) {
|
|
@@ -18,7 +14,7 @@ export default {
|
|
|
18
14
|
const exchangeRateConfig = platformConfig.exchangeRate;
|
|
19
15
|
return new ExchangeRateReaderService({
|
|
20
16
|
drizzle: c.get(DRIZZLE),
|
|
21
|
-
pivot:
|
|
17
|
+
pivot: resolveExchangeRatePivot(exchangeRateConfig),
|
|
22
18
|
cryptoProvider: c.has(CRYPTO_EXCHANGE_RATE_PROVIDER)
|
|
23
19
|
? c.get(CRYPTO_EXCHANGE_RATE_PROVIDER)
|
|
24
20
|
: undefined,
|
|
@@ -37,7 +33,7 @@ export default {
|
|
|
37
33
|
// every cross rate is computed through it, so a quote against it is always legitimate.
|
|
38
34
|
const supported = [
|
|
39
35
|
...resolveDisplayCurrencies(platformConfig.displayCurrencies),
|
|
40
|
-
|
|
36
|
+
resolveExchangeRatePivot(platformConfig.exchangeRate),
|
|
41
37
|
];
|
|
42
38
|
return createExchangeRateRouter(new ExchangeRateService(c.get(EXCHANGE_RATE_READER), supported));
|
|
43
39
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/fx/exchange-rate/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,oBAAoB,EACpB,eAAe,EACf,wBAAwB,
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/fx/exchange-rate/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,EAC3B,oBAAoB,EACpB,eAAe,EACf,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AAEvF,MAAM,oBAAoB,GAAG,MAAM,CAAC;AACpC,MAAM,uBAAuB,GAAG,EAAE,GAAG,MAAM,CAAC;AAC5C,MAAM,2BAA2B,GAAG,KAAK,CAAC;AAE1C,eAAe;IACb,EAAE,EAAE,eAAe;IACnB,QAAQ,CAAC,GAAG;QACV,GAAG,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAmC,EAAE,EAAE;YACxE,MAAM,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC9C,MAAM,kBAAkB,GAAG,cAAc,CAAC,YAAY,CAAC;YACvD,OAAO,IAAI,yBAAyB,CAAC;gBACnC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC;gBACvB,KAAK,EAAE,wBAAwB,CAAC,kBAAkB,CAAC;gBACnD,cAAc,EAAE,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAC;oBAClD,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,6BAA6B,CAAC;oBACtC,CAAC,CAAC,SAAS;gBACb,YAAY,EAAE,CAAC,CAAC,GAAG,CAAC,2BAA2B,CAAC;oBAC9C,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,2BAA2B,CAAC;oBACpC,CAAC,CAAC,SAAS;gBACb,gBAAgB,EAAE,cAAc,CAAC,MAAM,EAAE,gBAAgB;gBACzD,UAAU,EAAE,kBAAkB,EAAE,UAAU,IAAI,oBAAoB;gBAClE,YAAY,EAAE,kBAAkB,EAAE,YAAY,IAAI,uBAAuB;gBACzE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,IAAI,2BAA2B;aACxF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC,EAAE,EAAE;YACpC,MAAM,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YAC9C,iFAAiF;YACjF,uFAAuF;YACvF,MAAM,SAAS,GAAG;gBAChB,GAAG,wBAAwB,CAAC,cAAc,CAAC,iBAAiB,CAAC;gBAC7D,wBAAwB,CAAC,cAAc,CAAC,YAAY,CAAC;aACtD,CAAC;YACF,OAAO,wBAAwB,CAC7B,IAAI,mBAAmB,CAAC,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE,SAAS,CAAC,CAChE,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CAC0C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-admin-roles.d.ts","sourceRoot":"","sources":["../../../../src/iam/seed/data/default-admin-roles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAI1F,KAAK,SAAS,GAAG,YAAY,CAAC;AAE9B,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,IAAI,CAAC;IACf,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC;CACrD,CAAC;AASF,eAAO,MAAM,mBAAmB,EAAE,SAAS,gBAAgB,
|
|
1
|
+
{"version":3,"file":"default-admin-roles.d.ts","sourceRoot":"","sources":["../../../../src/iam/seed/data/default-admin-roles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAI1F,KAAK,SAAS,GAAG,YAAY,CAAC;AAE9B,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,IAAI,CAAC;IACf,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC;CACrD,CAAC;AASF,eAAO,MAAM,mBAAmB,EAAE,SAAS,gBAAgB,EAkO1D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"default-admin-roles.js","sourceRoot":"","sources":["../../../../src/iam/seed/data/default-admin-roles.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"default-admin-roles.js","sourceRoot":"","sources":["../../../../src/iam/seed/data/default-admin-roles.ts"],"names":[],"mappings":"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"}
|
|
@@ -64,7 +64,7 @@ export declare class IamService {
|
|
|
64
64
|
private emitDenied;
|
|
65
65
|
listCatalog(): {
|
|
66
66
|
modules: {
|
|
67
|
-
resource: "admin" | "player" | "transaction" | "game" | "content" | "compliance" | "report" | "withdrawal" | "bonus" | "audit" | "game-config" | "analytics" | "sportsbook" | "affiliate" | "sessions" | "player-note" | "tag-rule" | "tag" | "chat-room" | "auto-withdrawal-config" | "bonus-rollover-config" | "wallet-asset" | "wallet-custody" | "wallet-reconciliation" | "chat-command" | "chat-moderation";
|
|
67
|
+
resource: "admin" | "player" | "transaction" | "game" | "content" | "compliance" | "report" | "withdrawal" | "bonus" | "audit" | "game-config" | "analytics" | "sportsbook" | "affiliate" | "sessions" | "player-note" | "tag-rule" | "tag" | "chat-room" | "auto-withdrawal-config" | "bonus-rollover-config" | "wallet-asset" | "wallet-custody" | "wallet-reconciliation" | "swap-config" | "chat-command" | "chat-moderation";
|
|
68
68
|
actions: string[];
|
|
69
69
|
readActions: string[];
|
|
70
70
|
}[];
|
|
@@ -23,6 +23,7 @@ export declare const statement: {
|
|
|
23
23
|
readonly 'wallet-asset': readonly ["view", "create", "update", "delete"];
|
|
24
24
|
readonly 'wallet-custody': readonly ["view", "run"];
|
|
25
25
|
readonly 'wallet-reconciliation': readonly ["view", "resolve", "run"];
|
|
26
|
+
readonly 'swap-config': readonly ["view", "update"];
|
|
26
27
|
readonly 'chat-command': readonly ["view", "update"];
|
|
27
28
|
readonly 'chat-moderation': readonly ["view", "moderate"];
|
|
28
29
|
};
|
|
@@ -52,6 +53,7 @@ export declare const ac: {
|
|
|
52
53
|
readonly 'wallet-asset': readonly ["view", "create", "update", "delete"];
|
|
53
54
|
readonly 'wallet-custody': readonly ["view", "run"];
|
|
54
55
|
readonly 'wallet-reconciliation': readonly ["view", "resolve", "run"];
|
|
56
|
+
readonly 'swap-config': readonly ["view", "update"];
|
|
55
57
|
readonly 'chat-command': readonly ["view", "update"];
|
|
56
58
|
readonly 'chat-moderation': readonly ["view", "moderate"];
|
|
57
59
|
}, TRoleStatements>): import("better-auth/plugins/access").Role<import("better-auth/plugins/access").ExactRoleStatements<TRoleStatements>, {
|
|
@@ -79,6 +81,7 @@ export declare const ac: {
|
|
|
79
81
|
readonly 'wallet-asset': readonly ["view", "create", "update", "delete"];
|
|
80
82
|
readonly 'wallet-custody': readonly ["view", "run"];
|
|
81
83
|
readonly 'wallet-reconciliation': readonly ["view", "resolve", "run"];
|
|
84
|
+
readonly 'swap-config': readonly ["view", "update"];
|
|
82
85
|
readonly 'chat-command': readonly ["view", "update"];
|
|
83
86
|
readonly 'chat-moderation': readonly ["view", "moderate"];
|
|
84
87
|
}>;
|
|
@@ -107,6 +110,7 @@ export declare const ac: {
|
|
|
107
110
|
readonly 'wallet-asset': readonly ["view", "create", "update", "delete"];
|
|
108
111
|
readonly 'wallet-custody': readonly ["view", "run"];
|
|
109
112
|
readonly 'wallet-reconciliation': readonly ["view", "resolve", "run"];
|
|
113
|
+
readonly 'swap-config': readonly ["view", "update"];
|
|
110
114
|
readonly 'chat-command': readonly ["view", "update"];
|
|
111
115
|
readonly 'chat-moderation': readonly ["view", "moderate"];
|
|
112
116
|
};
|
|
@@ -136,6 +140,7 @@ export declare const adminRole: import("better-auth/plugins/access").Role<import
|
|
|
136
140
|
readonly 'wallet-asset': ["view", "create", "update", "delete"];
|
|
137
141
|
readonly 'wallet-custody': ["view", "run"];
|
|
138
142
|
readonly 'wallet-reconciliation': ["view", "resolve", "run"];
|
|
143
|
+
readonly 'swap-config': ["view", "update"];
|
|
139
144
|
readonly 'chat-command': ["view", "update"];
|
|
140
145
|
readonly 'chat-moderation': ["view", "moderate"];
|
|
141
146
|
}>, {
|
|
@@ -163,6 +168,7 @@ export declare const adminRole: import("better-auth/plugins/access").Role<import
|
|
|
163
168
|
readonly 'wallet-asset': readonly ["view", "create", "update", "delete"];
|
|
164
169
|
readonly 'wallet-custody': readonly ["view", "run"];
|
|
165
170
|
readonly 'wallet-reconciliation': readonly ["view", "resolve", "run"];
|
|
171
|
+
readonly 'swap-config': readonly ["view", "update"];
|
|
166
172
|
readonly 'chat-command': readonly ["view", "update"];
|
|
167
173
|
readonly 'chat-moderation': readonly ["view", "moderate"];
|
|
168
174
|
}>;
|
|
@@ -197,6 +203,7 @@ export declare const supportRole: import("better-auth/plugins/access").Role<impo
|
|
|
197
203
|
readonly 'wallet-asset': readonly ["view", "create", "update", "delete"];
|
|
198
204
|
readonly 'wallet-custody': readonly ["view", "run"];
|
|
199
205
|
readonly 'wallet-reconciliation': readonly ["view", "resolve", "run"];
|
|
206
|
+
readonly 'swap-config': readonly ["view", "update"];
|
|
200
207
|
readonly 'chat-command': readonly ["view", "update"];
|
|
201
208
|
readonly 'chat-moderation': readonly ["view", "moderate"];
|
|
202
209
|
}>;
|
|
@@ -228,6 +235,7 @@ export declare const contentManagerRole: import("better-auth/plugins/access").Ro
|
|
|
228
235
|
readonly 'wallet-asset': readonly ["view", "create", "update", "delete"];
|
|
229
236
|
readonly 'wallet-custody': readonly ["view", "run"];
|
|
230
237
|
readonly 'wallet-reconciliation': readonly ["view", "resolve", "run"];
|
|
238
|
+
readonly 'swap-config': readonly ["view", "update"];
|
|
231
239
|
readonly 'chat-command': readonly ["view", "update"];
|
|
232
240
|
readonly 'chat-moderation': readonly ["view", "moderate"];
|
|
233
241
|
}>;
|
|
@@ -257,6 +265,7 @@ export declare const roles: {
|
|
|
257
265
|
readonly 'wallet-asset': ["view", "create", "update", "delete"];
|
|
258
266
|
readonly 'wallet-custody': ["view", "run"];
|
|
259
267
|
readonly 'wallet-reconciliation': ["view", "resolve", "run"];
|
|
268
|
+
readonly 'swap-config': ["view", "update"];
|
|
260
269
|
readonly 'chat-command': ["view", "update"];
|
|
261
270
|
readonly 'chat-moderation': ["view", "moderate"];
|
|
262
271
|
}>, {
|
|
@@ -284,6 +293,7 @@ export declare const roles: {
|
|
|
284
293
|
readonly 'wallet-asset': readonly ["view", "create", "update", "delete"];
|
|
285
294
|
readonly 'wallet-custody': readonly ["view", "run"];
|
|
286
295
|
readonly 'wallet-reconciliation': readonly ["view", "resolve", "run"];
|
|
296
|
+
readonly 'swap-config': readonly ["view", "update"];
|
|
287
297
|
readonly 'chat-command': readonly ["view", "update"];
|
|
288
298
|
readonly 'chat-moderation': readonly ["view", "moderate"];
|
|
289
299
|
}>;
|
|
@@ -318,6 +328,7 @@ export declare const roles: {
|
|
|
318
328
|
readonly 'wallet-asset': readonly ["view", "create", "update", "delete"];
|
|
319
329
|
readonly 'wallet-custody': readonly ["view", "run"];
|
|
320
330
|
readonly 'wallet-reconciliation': readonly ["view", "resolve", "run"];
|
|
331
|
+
readonly 'swap-config': readonly ["view", "update"];
|
|
321
332
|
readonly 'chat-command': readonly ["view", "update"];
|
|
322
333
|
readonly 'chat-moderation': readonly ["view", "moderate"];
|
|
323
334
|
}>;
|
|
@@ -349,6 +360,7 @@ export declare const roles: {
|
|
|
349
360
|
readonly 'wallet-asset': readonly ["view", "create", "update", "delete"];
|
|
350
361
|
readonly 'wallet-custody': readonly ["view", "run"];
|
|
351
362
|
readonly 'wallet-reconciliation': readonly ["view", "resolve", "run"];
|
|
363
|
+
readonly 'swap-config': readonly ["view", "update"];
|
|
352
364
|
readonly 'chat-command': readonly ["view", "update"];
|
|
353
365
|
readonly 'chat-moderation': readonly ["view", "moderate"];
|
|
354
366
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../src/server/auth/permissions.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../../../src/server/auth/permissions.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAiB,CAAC;AAExC,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAiC,CAAC;AAEjD,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BpB,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAMtB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAG7B,CAAC;AAEH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAIR,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,MAAM,OAAO,KAAK,CAAC;AAG1C,YAAY,EACV,aAAa,IAAI,YAAY,EAC7B,aAAa,IAAI,QAAQ,GAC1B,MAAM,yBAAyB,CAAC"}
|
|
@@ -29,6 +29,7 @@ export const adminRole = ac.newRole({
|
|
|
29
29
|
'wallet-asset': ['view', 'create', 'update', 'delete'],
|
|
30
30
|
'wallet-custody': ['view', 'run'],
|
|
31
31
|
'wallet-reconciliation': ['view', 'resolve', 'run'],
|
|
32
|
+
'swap-config': ['view', 'update'],
|
|
32
33
|
'chat-command': ['view', 'update'],
|
|
33
34
|
'chat-moderation': ['view', 'moderate'],
|
|
34
35
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../src/server/auth/permissions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../src/server/auth/permissions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { describe, it, expect, vi, beforeAll, afterAll, beforeEach } from 'vitest';
|
|
2
|
-
import { findOneOrThrow } from '@openora/core/server';
|
|
2
|
+
import { findOneOrThrow, moneyScaleBy } from '@openora/core/server';
|
|
3
3
|
import { randomUUID } from 'node:crypto';
|
|
4
4
|
import { eq, sql } from 'drizzle-orm';
|
|
5
5
|
import { DEFAULT_PAYMENT_PROVIDER, } from '@openora/core/contracts';
|
|
@@ -20,7 +20,21 @@ const MIGRATION_DEFAULT_EXCLUDE_RISK_FLAGS = [
|
|
|
20
20
|
'withdrawal_review',
|
|
21
21
|
'multi_account',
|
|
22
22
|
];
|
|
23
|
-
|
|
23
|
+
// USD per unit. One BTC at 1000 keeps a one-coin withdrawal under the 5000 large-amount
|
|
24
|
+
// heuristic, so the crypto cases below exercise the threshold rather than the heuristic.
|
|
25
|
+
const USD_PER_UNIT = { BTC: '1000', USDT: '1' };
|
|
26
|
+
function fixedRates() {
|
|
27
|
+
return mock({
|
|
28
|
+
convert: vi.fn(async (amount, from, to) => {
|
|
29
|
+
const perUnit = USD_PER_UNIT[from];
|
|
30
|
+
if (from === to) {
|
|
31
|
+
return amount;
|
|
32
|
+
}
|
|
33
|
+
return perUnit && to === 'USD' ? moneyScaleBy(amount, perUnit) : null;
|
|
34
|
+
}),
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
async function makeService({ autoWithdrawal, rates = fixedRates(), fiatThreshold, cryptoThreshold, excludeRiskFlags, skipConfigSeed = false, kycStatus = 'verified', directoryThrows = false, riskTags = [], } = {}) {
|
|
24
38
|
if (autoWithdrawal && !skipConfigSeed) {
|
|
25
39
|
await db.drizzle.db.insert(walletAutoWithdrawalConfig).values({
|
|
26
40
|
singletonKey: 'global',
|
|
@@ -57,6 +71,7 @@ async function makeService({ autoWithdrawal, fiatThreshold, cryptoThreshold, exc
|
|
|
57
71
|
identityReader: makeIdentityReader(),
|
|
58
72
|
directory,
|
|
59
73
|
platformConfig,
|
|
74
|
+
...(rates === 'unbound' ? {} : { rates }),
|
|
60
75
|
...(riskTags === 'unbound'
|
|
61
76
|
? {}
|
|
62
77
|
: {
|
|
@@ -110,6 +125,7 @@ describe('WalletService.withdraw auto-approval (real PG)', () => {
|
|
|
110
125
|
reviewedBy: null,
|
|
111
126
|
reviewReason: 'auto-approved',
|
|
112
127
|
providerName: DEFAULT_PAYMENT_PROVIDER,
|
|
128
|
+
autoApprovalPivotAmount: '40.000000000000000000',
|
|
113
129
|
});
|
|
114
130
|
expect(events.emit.mock.calls.map(([topic]) => topic)).toEqual([
|
|
115
131
|
'wallet.withdrawal.requested',
|
|
@@ -124,6 +140,8 @@ describe('WalletService.withdraw auto-approval (real PG)', () => {
|
|
|
124
140
|
threshold: '1000.000000000000000000',
|
|
125
141
|
thresholdSource: 'global',
|
|
126
142
|
kycStatus: 'verified',
|
|
143
|
+
pivotAmount: '40',
|
|
144
|
+
pivotCurrency: 'USD',
|
|
127
145
|
cumulativeCountUsed: 0,
|
|
128
146
|
}),
|
|
129
147
|
}));
|
|
@@ -458,6 +476,21 @@ describe('WalletService.withdraw auto-approval (real PG)', () => {
|
|
|
458
476
|
});
|
|
459
477
|
expect(result.status).toBe('completed');
|
|
460
478
|
});
|
|
479
|
+
it('auto-approves a withdrawal already in the pivot without the fx module', async () => {
|
|
480
|
+
const { svc } = await makeService({
|
|
481
|
+
autoWithdrawal: {},
|
|
482
|
+
fiatThreshold: '1000',
|
|
483
|
+
rates: 'unbound',
|
|
484
|
+
});
|
|
485
|
+
const w = await seedWallet();
|
|
486
|
+
const result = await svc.withdraw({
|
|
487
|
+
userId: w.userId,
|
|
488
|
+
amount: '40',
|
|
489
|
+
currency: 'USD',
|
|
490
|
+
...NO_CLIENT_META,
|
|
491
|
+
});
|
|
492
|
+
expect(result.status).toBe('completed');
|
|
493
|
+
});
|
|
461
494
|
it('stays pending when a configured daily count cap would be exceeded', async () => {
|
|
462
495
|
const { svc } = await makeService({
|
|
463
496
|
autoWithdrawal: { dailyCapCount: 1 },
|
|
@@ -493,6 +526,29 @@ describe('WalletService.withdraw auto-approval (real PG)', () => {
|
|
|
493
526
|
currency: 'USD',
|
|
494
527
|
status: 'completed',
|
|
495
528
|
reviewReason: 'auto-approved',
|
|
529
|
+
autoApprovalPivotAmount: '20',
|
|
530
|
+
});
|
|
531
|
+
const result = await svc.withdraw({
|
|
532
|
+
userId: w.userId,
|
|
533
|
+
amount: '40',
|
|
534
|
+
currency: 'USD',
|
|
535
|
+
...NO_CLIENT_META,
|
|
536
|
+
});
|
|
537
|
+
expect(result.status).toBe('pending');
|
|
538
|
+
});
|
|
539
|
+
it('stays pending when a trailing auto-approval has no stored pivot value to sum', async () => {
|
|
540
|
+
const { svc } = await makeService({
|
|
541
|
+
autoWithdrawal: { dailyCapAmount: '1000' },
|
|
542
|
+
fiatThreshold: '1000',
|
|
543
|
+
});
|
|
544
|
+
const w = await seedWallet();
|
|
545
|
+
await db.drizzle.db.insert(walletTransaction).values({
|
|
546
|
+
walletId: w.id,
|
|
547
|
+
type: 'withdrawal',
|
|
548
|
+
amount: '1',
|
|
549
|
+
currency: 'USD',
|
|
550
|
+
status: 'completed',
|
|
551
|
+
reviewReason: 'auto-approved',
|
|
496
552
|
});
|
|
497
553
|
const result = await svc.withdraw({
|
|
498
554
|
userId: w.userId,
|
|
@@ -552,7 +608,7 @@ describe('WalletService.withdraw auto-approval - crypto rail (real PG)', () => {
|
|
|
552
608
|
expect(result.status).toBe('pending');
|
|
553
609
|
});
|
|
554
610
|
it('auto-approves once an operator configures a positive cryptoThreshold', async () => {
|
|
555
|
-
const { svc } = await makeService({ autoWithdrawal: {}, cryptoThreshold: '
|
|
611
|
+
const { svc } = await makeService({ autoWithdrawal: {}, cryptoThreshold: '2000' });
|
|
556
612
|
const w = await seedWallet({ currency: 'BTC', balance: '10' });
|
|
557
613
|
const result = await svc.withdraw({
|
|
558
614
|
userId: w.userId,
|
|
@@ -569,7 +625,35 @@ describe('WalletService.withdraw auto-approval - crypto rail (real PG)', () => {
|
|
|
569
625
|
});
|
|
570
626
|
});
|
|
571
627
|
it('stays pending when the crypto amount exceeds cryptoThreshold', async () => {
|
|
572
|
-
const { svc } = await makeService({ autoWithdrawal: {}, cryptoThreshold: '
|
|
628
|
+
const { svc } = await makeService({ autoWithdrawal: {}, cryptoThreshold: '500' });
|
|
629
|
+
const w = await seedWallet({ currency: 'BTC', balance: '10' });
|
|
630
|
+
const result = await svc.withdraw({
|
|
631
|
+
userId: w.userId,
|
|
632
|
+
amount: '1',
|
|
633
|
+
currency: 'BTC',
|
|
634
|
+
destinationAddress: 'bc1qexample',
|
|
635
|
+
...NO_CLIENT_META,
|
|
636
|
+
});
|
|
637
|
+
expect(result.status).toBe('pending');
|
|
638
|
+
});
|
|
639
|
+
it('judges a crypto withdrawal by its pivot value, not its raw amount', async () => {
|
|
640
|
+
const { svc } = await makeService({ autoWithdrawal: {}, cryptoThreshold: '1000' });
|
|
641
|
+
const w = await seedWallet({ currency: 'BTC', balance: '10' });
|
|
642
|
+
const result = await svc.withdraw({
|
|
643
|
+
userId: w.userId,
|
|
644
|
+
amount: '2',
|
|
645
|
+
currency: 'BTC',
|
|
646
|
+
destinationAddress: 'bc1qexample',
|
|
647
|
+
...NO_CLIENT_META,
|
|
648
|
+
});
|
|
649
|
+
expect(result.status).toBe('pending');
|
|
650
|
+
});
|
|
651
|
+
it('stays pending when there is no rate to value the withdrawal in the pivot', async () => {
|
|
652
|
+
const { svc } = await makeService({
|
|
653
|
+
autoWithdrawal: {},
|
|
654
|
+
cryptoThreshold: '100000',
|
|
655
|
+
rates: 'unbound',
|
|
656
|
+
});
|
|
573
657
|
const w = await seedWallet({ currency: 'BTC', balance: '10' });
|
|
574
658
|
const result = await svc.withdraw({
|
|
575
659
|
userId: w.userId,
|
|
@@ -580,10 +664,51 @@ describe('WalletService.withdraw auto-approval - crypto rail (real PG)', () => {
|
|
|
580
664
|
});
|
|
581
665
|
expect(result.status).toBe('pending');
|
|
582
666
|
});
|
|
667
|
+
it('stays pending when the bound reader has no rate for the currency', async () => {
|
|
668
|
+
const { svc } = await makeService({
|
|
669
|
+
autoWithdrawal: {},
|
|
670
|
+
fiatThreshold: '100000',
|
|
671
|
+
cryptoThreshold: '100000',
|
|
672
|
+
});
|
|
673
|
+
const w = await seedWallet({ currency: 'ETH', balance: '10' });
|
|
674
|
+
const result = await svc.withdraw({
|
|
675
|
+
userId: w.userId,
|
|
676
|
+
amount: '1',
|
|
677
|
+
currency: 'ETH',
|
|
678
|
+
destinationAddress: '0xexample',
|
|
679
|
+
...NO_CLIENT_META,
|
|
680
|
+
});
|
|
681
|
+
expect(result.status).toBe('pending');
|
|
682
|
+
});
|
|
683
|
+
it('caps on the pivot value a past payout was approved at, not its value at the current rate', async () => {
|
|
684
|
+
const { svc } = await makeService({
|
|
685
|
+
autoWithdrawal: { dailyCapAmount: '1500' },
|
|
686
|
+
cryptoThreshold: '2000',
|
|
687
|
+
});
|
|
688
|
+
const w = await seedWallet({ currency: 'BTC', balance: '10' });
|
|
689
|
+
// Approved when BTC was 1400; at today's 1000 the same payout would leave room for 0.2 BTC.
|
|
690
|
+
await db.drizzle.db.insert(walletTransaction).values({
|
|
691
|
+
walletId: w.id,
|
|
692
|
+
type: 'withdrawal',
|
|
693
|
+
amount: '1',
|
|
694
|
+
currency: 'BTC',
|
|
695
|
+
status: 'completed',
|
|
696
|
+
reviewReason: 'auto-approved',
|
|
697
|
+
autoApprovalPivotAmount: '1400',
|
|
698
|
+
});
|
|
699
|
+
const result = await svc.withdraw({
|
|
700
|
+
userId: w.userId,
|
|
701
|
+
amount: '0.2',
|
|
702
|
+
currency: 'BTC',
|
|
703
|
+
destinationAddress: 'bc1qexample',
|
|
704
|
+
...NO_CLIENT_META,
|
|
705
|
+
});
|
|
706
|
+
expect(result.status).toBe('pending');
|
|
707
|
+
});
|
|
583
708
|
it('applies the same KYC guard as the fiat rail', async () => {
|
|
584
709
|
const { svc } = await makeService({
|
|
585
710
|
autoWithdrawal: {},
|
|
586
|
-
cryptoThreshold: '
|
|
711
|
+
cryptoThreshold: '2000',
|
|
587
712
|
kycStatus: 'rejected',
|
|
588
713
|
});
|
|
589
714
|
const w = await seedWallet({ currency: 'BTC', balance: '10' });
|
|
@@ -657,11 +782,11 @@ describe('WalletService auto-approval threshold resolution (real PG)', () => {
|
|
|
657
782
|
expect(result.status).toBe('pending');
|
|
658
783
|
});
|
|
659
784
|
it('a per-player rule overrides the crypto threshold too', async () => {
|
|
660
|
-
const { svc } = await makeService({ autoWithdrawal: {}, cryptoThreshold: '
|
|
785
|
+
const { svc } = await makeService({ autoWithdrawal: {}, cryptoThreshold: '500' });
|
|
661
786
|
const w = await seedWallet({ currency: 'BTC', balance: '10' });
|
|
662
787
|
await svc.setAutoWithdrawalRule({
|
|
663
788
|
userId: w.userId,
|
|
664
|
-
threshold: '
|
|
789
|
+
threshold: '2000',
|
|
665
790
|
reason: 'trusted',
|
|
666
791
|
createdBy: randomUUID(),
|
|
667
792
|
});
|