@openora/core 0.4.1-canary.91 → 0.4.1-canary.93
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/admin-console/contract/index.d.ts +12 -0
- package/dist/admin-console/contract/index.d.ts.map +1 -1
- package/dist/admin-console/plugin.d.ts +18 -1
- package/dist/admin-console/plugin.d.ts.map +1 -1
- package/dist/admin-console/router/index.d.ts +6 -0
- package/dist/admin-console/router/index.d.ts.map +1 -1
- package/dist/analytics/plugin.d.ts +18 -1
- package/dist/analytics/plugin.d.ts.map +1 -1
- package/dist/audit/plugin.d.ts +18 -1
- package/dist/audit/plugin.d.ts.map +1 -1
- package/dist/casino/gaming/plugin.d.ts +18 -1
- package/dist/casino/gaming/plugin.d.ts.map +1 -1
- package/dist/casino/lobby/plugin.d.ts +18 -1
- package/dist/casino/lobby/plugin.d.ts.map +1 -1
- package/dist/cms/plugin.d.ts +18 -1
- package/dist/cms/plugin.d.ts.map +1 -1
- package/dist/compliance/plugin.d.ts +18 -1
- package/dist/compliance/plugin.d.ts.map +1 -1
- package/dist/contracts/adapters/audit.d.ts +1 -1
- package/dist/contracts/adapters/audit.d.ts.map +1 -1
- package/dist/contracts/adapters/audit.js.map +1 -1
- package/dist/contracts/adapters/index.d.ts +4 -2
- package/dist/contracts/adapters/index.d.ts.map +1 -1
- package/dist/contracts/adapters/index.js +2 -1
- package/dist/contracts/adapters/index.js.map +1 -1
- package/dist/contracts/adapters/payment.d.ts +99 -0
- package/dist/contracts/adapters/payment.d.ts.map +1 -1
- package/dist/contracts/adapters/payment.js +6 -0
- package/dist/contracts/adapters/payment.js.map +1 -1
- package/dist/contracts/adapters/rate-limit.d.ts +1 -0
- package/dist/contracts/adapters/rate-limit.d.ts.map +1 -1
- package/dist/contracts/adapters/rate-limit.js +1 -0
- package/dist/contracts/adapters/rate-limit.js.map +1 -1
- package/dist/contracts/adapters/wallet-asset-catalog.d.ts +34 -0
- package/dist/contracts/adapters/wallet-asset-catalog.d.ts.map +1 -0
- package/dist/contracts/adapters/wallet-asset-catalog.js +3 -0
- package/dist/contracts/adapters/wallet-asset-catalog.js.map +1 -0
- package/dist/contracts/schemas/__tests__/common-schemas.test.js +2 -1
- package/dist/contracts/schemas/__tests__/common-schemas.test.js.map +1 -1
- package/dist/contracts/schemas/common.d.ts.map +1 -1
- package/dist/contracts/schemas/common.js +7 -4
- package/dist/contracts/schemas/common.js.map +1 -1
- package/dist/contracts/schemas/events.d.ts +15 -0
- package/dist/contracts/schemas/events.d.ts.map +1 -1
- package/dist/contracts/schemas/events.js +16 -2
- package/dist/contracts/schemas/events.js.map +1 -1
- package/dist/contracts/schemas/platform-config.d.ts +45 -0
- package/dist/contracts/schemas/platform-config.d.ts.map +1 -1
- package/dist/contracts/schemas/platform-config.js +47 -0
- package/dist/contracts/schemas/platform-config.js.map +1 -1
- package/dist/contracts/schemas/wallet-tx.d.ts +38 -1
- package/dist/contracts/schemas/wallet-tx.d.ts.map +1 -1
- package/dist/contracts/schemas/wallet-tx.js +32 -3
- package/dist/contracts/schemas/wallet-tx.js.map +1 -1
- package/dist/engagement/chat/plugin.d.ts +18 -1
- package/dist/engagement/chat/plugin.d.ts.map +1 -1
- package/dist/engagement/chat-commands/plugin.d.ts +18 -1
- package/dist/engagement/chat-commands/plugin.d.ts.map +1 -1
- package/dist/engagement/notifications/plugin.d.ts +18 -1
- package/dist/engagement/notifications/plugin.d.ts.map +1 -1
- package/dist/engagement/social/plugin.d.ts +18 -1
- package/dist/engagement/social/plugin.d.ts.map +1 -1
- package/dist/engagement/social-transfers/plugin.d.ts +18 -1
- package/dist/engagement/social-transfers/plugin.d.ts.map +1 -1
- package/dist/iam/plugin.d.ts +18 -1
- package/dist/iam/plugin.d.ts.map +1 -1
- package/dist/iam/service/iam.service.d.ts +1 -1
- package/dist/pam/identity/plugin.d.ts +18 -1
- package/dist/pam/identity/plugin.d.ts.map +1 -1
- package/dist/pam/player-management/plugin.d.ts +18 -1
- package/dist/pam/player-management/plugin.d.ts.map +1 -1
- package/dist/pam/player-note/plugin.d.ts +18 -1
- package/dist/pam/player-note/plugin.d.ts.map +1 -1
- package/dist/pam/profile/plugin.d.ts +18 -1
- package/dist/pam/profile/plugin.d.ts.map +1 -1
- package/dist/pam/tag/plugin.d.ts +18 -1
- package/dist/pam/tag/plugin.d.ts.map +1 -1
- package/dist/server/auth/permissions.d.ts +36 -0
- package/dist/server/auth/permissions.d.ts.map +1 -1
- package/dist/server/auth/permissions.js +6 -0
- package/dist/server/auth/permissions.js.map +1 -1
- package/dist/server/db/__tests__/query-helpers.test.js +38 -1
- package/dist/server/db/__tests__/query-helpers.test.js.map +1 -1
- package/dist/server/db/index.d.ts +1 -1
- package/dist/server/db/index.d.ts.map +1 -1
- package/dist/server/db/index.js +1 -1
- package/dist/server/db/index.js.map +1 -1
- package/dist/server/db/query-helpers.d.ts +4 -0
- package/dist/server/db/query-helpers.d.ts.map +1 -1
- package/dist/server/db/query-helpers.js +31 -0
- package/dist/server/db/query-helpers.js.map +1 -1
- package/dist/server/runtime/core-token-catalog.d.ts +18 -1
- package/dist/server/runtime/core-token-catalog.d.ts.map +1 -1
- package/dist/server/runtime/core-token-catalog.js +3 -1
- package/dist/server/runtime/core-token-catalog.js.map +1 -1
- package/dist/testing/mock.d.ts +12 -1
- package/dist/testing/mock.d.ts.map +1 -1
- package/dist/testing/mock.js +16 -0
- package/dist/testing/mock.js.map +1 -1
- package/dist/wallet/__tests__/settlement-network.test.d.ts +2 -0
- package/dist/wallet/__tests__/settlement-network.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/settlement-network.test.js +54 -0
- package/dist/wallet/__tests__/settlement-network.test.js.map +1 -0
- package/dist/wallet/__tests__/wallet-asset.router.int.test.d.ts +2 -0
- package/dist/wallet/__tests__/wallet-asset.router.int.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/wallet-asset.router.int.test.js +234 -0
- package/dist/wallet/__tests__/wallet-asset.router.int.test.js.map +1 -0
- package/dist/wallet/__tests__/wallet-auto-rule.router.int.test.js +5 -3
- package/dist/wallet/__tests__/wallet-auto-rule.router.int.test.js.map +1 -1
- package/dist/wallet/__tests__/wallet-auto-withdrawal-config.router.int.test.js +4 -2
- package/dist/wallet/__tests__/wallet-auto-withdrawal-config.router.int.test.js.map +1 -1
- package/dist/wallet/__tests__/wallet-auto-withdrawal.int.test.js +6 -3
- package/dist/wallet/__tests__/wallet-auto-withdrawal.int.test.js.map +1 -1
- package/dist/wallet/__tests__/wallet-custody-stubs.router.test.d.ts +2 -0
- package/dist/wallet/__tests__/wallet-custody-stubs.router.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/wallet-custody-stubs.router.test.js +80 -0
- package/dist/wallet/__tests__/wallet-custody-stubs.router.test.js.map +1 -0
- package/dist/wallet/__tests__/wallet-kyc-gate.int.test.js +2 -1
- package/dist/wallet/__tests__/wallet-kyc-gate.int.test.js.map +1 -1
- package/dist/wallet/__tests__/wallet-webhook.router.int.test.js +119 -4
- package/dist/wallet/__tests__/wallet-webhook.router.int.test.js.map +1 -1
- package/dist/wallet/__tests__/wallet.rate-limit.int.test.js +2 -1
- package/dist/wallet/__tests__/wallet.rate-limit.int.test.js.map +1 -1
- package/dist/wallet/__tests__/wallet.router.int.test.js +23 -3
- package/dist/wallet/__tests__/wallet.router.int.test.js.map +1 -1
- package/dist/wallet/__tests__/wallet.service.int.test.js +265 -12
- package/dist/wallet/__tests__/wallet.service.int.test.js.map +1 -1
- package/dist/wallet/adapters/wallet-asset-catalog.service.d.ts +14 -0
- package/dist/wallet/adapters/wallet-asset-catalog.service.d.ts.map +1 -0
- package/dist/wallet/adapters/wallet-asset-catalog.service.js +37 -0
- package/dist/wallet/adapters/wallet-asset-catalog.service.js.map +1 -0
- package/dist/wallet/admin-reporting.d.ts +2 -2
- package/dist/wallet/contract/index.d.ts +428 -4
- package/dist/wallet/contract/index.d.ts.map +1 -1
- package/dist/wallet/contract/index.js +203 -5
- package/dist/wallet/contract/index.js.map +1 -1
- package/dist/wallet/drizzle/migrations/0010_worthless_quasimodo.sql +84 -0
- package/dist/wallet/drizzle/migrations/meta/0010_snapshot.json +1565 -0
- package/dist/wallet/drizzle/migrations/meta/_journal.json +7 -0
- package/dist/wallet/plugin.d.ts +18 -1
- package/dist/wallet/plugin.d.ts.map +1 -1
- package/dist/wallet/plugin.js +19 -2
- package/dist/wallet/plugin.js.map +1 -1
- package/dist/wallet/router/index.d.ts +235 -3
- package/dist/wallet/router/index.d.ts.map +1 -1
- package/dist/wallet/router/index.js +117 -20
- package/dist/wallet/router/index.js.map +1 -1
- package/dist/wallet/schema/index.d.ts +984 -3
- package/dist/wallet/schema/index.d.ts.map +1 -1
- package/dist/wallet/schema/index.js +141 -2
- package/dist/wallet/schema/index.js.map +1 -1
- package/dist/wallet/service/wallet.service.d.ts +70 -6
- package/dist/wallet/service/wallet.service.d.ts.map +1 -1
- package/dist/wallet/service/wallet.service.js +379 -16
- package/dist/wallet/service/wallet.service.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { oc } from '@orpc/contract';
|
|
2
2
|
import * as z from 'zod';
|
|
3
|
-
import { KycStatusSchema, MoneyAmountSchema, TagKeySchema, TimestampSchema, UuidSchema, WalletRailSchema, WalletTransactionStatusSchema, WalletTransactionTypeSchema, } from '@openora/core/contracts';
|
|
3
|
+
import { KycStatusSchema, MoneyAmountSchema, MONEY_PRECISION, MONEY_SCALE, TagKeySchema, TimestampSchema, UuidSchema, WalletRailSchema, WalletTransactionStatusSchema, WalletTransactionTypeSchema, WalletReconciliationFindingKindSchema, WalletReconciliationFindingStatusSchema, } from '@openora/core/contracts';
|
|
4
4
|
import { PageQuerySchema, SortOrderSchema, paginated } from '@openora/core/contracts/kit';
|
|
5
|
-
export { WalletRailSchema, WalletTransactionStatusSchema, WalletTransactionTypeSchema };
|
|
5
|
+
export { WalletRailSchema, WalletTransactionStatusSchema, WalletTransactionTypeSchema, WalletReconciliationFindingKindSchema, WalletReconciliationFindingStatusSchema, };
|
|
6
|
+
// Stub routes not implemented in this PR - kept as one string so `grep 'Not implemented yet'`
|
|
7
|
+
// (matching the router's `notImplemented()` helper) finds every remaining stub; the count
|
|
8
|
+
// reaching zero is the definition of done for the custody/reconciliation feature set.
|
|
9
|
+
const NOT_IMPLEMENTED_YET = 'Not implemented yet';
|
|
6
10
|
// Deposit/withdraw amounts must be strictly positive; balances/thresholds may be zero.
|
|
7
11
|
const PositiveMoneyAmountSchema = MoneyAmountSchema.refine((v) => Number(v) > 0, {
|
|
8
12
|
message: 'must be greater than zero',
|
|
@@ -13,6 +17,11 @@ const WalletCurrencyCodeSchema = z
|
|
|
13
17
|
.string()
|
|
14
18
|
.regex(/^[A-Za-z]{3,10}$/, 'currency code, e.g. USD or USDT');
|
|
15
19
|
const WalletCurrencyInputSchema = WalletCurrencyCodeSchema.transform((c) => c.toUpperCase());
|
|
20
|
+
// A currency does not identify a chain: USDT settles on ERC20, TRC20 and BEP20 with
|
|
21
|
+
// different addresses, fees and minimums. Free-form rather than an enum because each
|
|
22
|
+
// vendor spells chains its own way (ERC20 vs ETHEREUM vs eth-mainnet).
|
|
23
|
+
const WalletNetworkSchema = z.string().trim().min(1).max(32);
|
|
24
|
+
const WalletNetworkInputSchema = WalletNetworkSchema.transform((n) => n.toUpperCase());
|
|
16
25
|
export const WalletBalanceSchema = z.object({
|
|
17
26
|
balance: MoneyAmountSchema,
|
|
18
27
|
currency: WalletCurrencyCodeSchema,
|
|
@@ -28,9 +37,15 @@ export const WalletTransactionSchema = z.object({
|
|
|
28
37
|
type: WalletTransactionTypeSchema,
|
|
29
38
|
amount: MoneyAmountSchema,
|
|
30
39
|
currency: WalletCurrencyCodeSchema,
|
|
40
|
+
network: WalletNetworkSchema.nullable(),
|
|
31
41
|
status: WalletTransactionStatusSchema,
|
|
32
42
|
createdAt: TimestampSchema,
|
|
33
43
|
});
|
|
44
|
+
export const AdminWalletTransactionSchema = WalletTransactionSchema.extend({
|
|
45
|
+
reviewedBy: UuidSchema.nullable(),
|
|
46
|
+
reviewedAt: TimestampSchema.nullable(),
|
|
47
|
+
reviewReason: z.string().nullable(),
|
|
48
|
+
});
|
|
34
49
|
export const DepositInputSchema = z.object({
|
|
35
50
|
amount: PositiveMoneyAmountSchema,
|
|
36
51
|
currency: WalletCurrencyInputSchema,
|
|
@@ -40,10 +55,23 @@ export const DepositInputSchema = z.object({
|
|
|
40
55
|
export const WithdrawInputSchema = z.object({
|
|
41
56
|
amount: PositiveMoneyAmountSchema,
|
|
42
57
|
currency: WalletCurrencyInputSchema,
|
|
58
|
+
// Required for any currency the operator settles on more than one chain - a payout is
|
|
59
|
+
// rejected as ambiguous rather than guessing which chain the player meant.
|
|
60
|
+
network: WalletNetworkInputSchema.optional(),
|
|
43
61
|
provider: z.string().optional(),
|
|
44
62
|
idempotencyKey: UuidSchema.optional(),
|
|
45
63
|
destinationAddress: z.string().optional(),
|
|
46
64
|
});
|
|
65
|
+
export const MANUAL_ADJUSTMENT_DIRECTIONS = ['credit', 'debit'];
|
|
66
|
+
export const ManualAdjustmentDirectionSchema = z.enum(MANUAL_ADJUSTMENT_DIRECTIONS);
|
|
67
|
+
export const ManualWalletAdjustmentInputSchema = z.object({
|
|
68
|
+
userId: UuidSchema,
|
|
69
|
+
direction: ManualAdjustmentDirectionSchema,
|
|
70
|
+
currency: WalletCurrencyInputSchema,
|
|
71
|
+
amount: PositiveMoneyAmountSchema,
|
|
72
|
+
reason: z.string().trim().min(1),
|
|
73
|
+
idempotencyKey: UuidSchema,
|
|
74
|
+
});
|
|
47
75
|
export const TransactionResultSchema = z.object({
|
|
48
76
|
transactionId: UuidSchema,
|
|
49
77
|
status: WalletTransactionStatusSchema,
|
|
@@ -79,6 +107,7 @@ export const WithdrawalQueueItemSchema = z.object({
|
|
|
79
107
|
username: z.string(),
|
|
80
108
|
amount: MoneyAmountSchema,
|
|
81
109
|
currency: WalletCurrencyCodeSchema,
|
|
110
|
+
network: WalletNetworkSchema.nullable(),
|
|
82
111
|
rail: WalletRailSchema.nullable(),
|
|
83
112
|
status: WalletTransactionStatusSchema,
|
|
84
113
|
kycStatus: KycStatusSchema.nullable(),
|
|
@@ -140,16 +169,122 @@ export const RejectWithdrawalInputSchema = z.object({
|
|
|
140
169
|
});
|
|
141
170
|
export const PaymentWebhookInputSchema = z.record(z.string(), z.unknown());
|
|
142
171
|
export const PaymentWebhookOutputSchema = z.object({ ok: z.literal(true) });
|
|
172
|
+
// The vendor's raw JSON body plus the path-carried `provider` key (oRPC merges a route's
|
|
173
|
+
// path params into the same top-level input object as the body). `provider` is never
|
|
174
|
+
// attacker-trusted for routing to a signature key - the route resolves it against the
|
|
175
|
+
// bound PaymentProviderRegistry and 404/401s identically to a bad signature on a miss.
|
|
176
|
+
export const PaymentWebhookProviderInputSchema = z
|
|
177
|
+
.object({ provider: z.string().min(1) })
|
|
178
|
+
.catchall(z.unknown());
|
|
143
179
|
export const DepositAddressInputSchema = z.object({
|
|
144
180
|
currency: WalletCurrencyInputSchema,
|
|
145
|
-
network:
|
|
181
|
+
network: WalletNetworkInputSchema.optional(),
|
|
146
182
|
});
|
|
147
183
|
export const DepositAddressSchema = z.object({
|
|
148
184
|
address: z.string(),
|
|
149
185
|
currency: WalletCurrencyCodeSchema,
|
|
150
|
-
network:
|
|
186
|
+
network: WalletNetworkSchema.optional(),
|
|
151
187
|
tag: z.string().optional(),
|
|
152
188
|
});
|
|
189
|
+
// Bounded to the column's integer-digit budget so an oversized value is a 4xx at the
|
|
190
|
+
// contract boundary instead of a DB overflow 500.
|
|
191
|
+
const WalletAssetAmountSchema = MoneyAmountSchema.refine((v) => (v.split('.').at(0) ?? '').length <= MONEY_PRECISION - MONEY_SCALE, { message: `must have at most ${MONEY_PRECISION - MONEY_SCALE} integer digits` });
|
|
192
|
+
export const PublicWalletAssetSchema = z.object({
|
|
193
|
+
currency: WalletCurrencyCodeSchema,
|
|
194
|
+
network: WalletNetworkSchema,
|
|
195
|
+
minDeposit: MoneyAmountSchema,
|
|
196
|
+
minWithdrawal: MoneyAmountSchema,
|
|
197
|
+
withdrawalFee: MoneyAmountSchema,
|
|
198
|
+
depositEnabled: z.boolean(),
|
|
199
|
+
withdrawalEnabled: z.boolean(),
|
|
200
|
+
});
|
|
201
|
+
// Admin-only, same treatment as providerAssetId: which vendor settles a pair and its
|
|
202
|
+
// sweep/pool policy are operational detail, never surfaced on the public catalog.
|
|
203
|
+
export const WalletAssetSchema = PublicWalletAssetSchema.extend({
|
|
204
|
+
id: UuidSchema,
|
|
205
|
+
providerAssetId: z.string(),
|
|
206
|
+
// Null means the default single binding (PAYMENT_ADAPTER / PAYMENT_WEBHOOK_VERIFIER),
|
|
207
|
+
// never a vendor's name to parse - core treats this as an opaque operator-chosen key.
|
|
208
|
+
providerName: z.string().nullable(),
|
|
209
|
+
sweepFeeCeiling: MoneyAmountSchema.nullable(),
|
|
210
|
+
poolLiquidityFloor: MoneyAmountSchema.nullable(),
|
|
211
|
+
createdAt: TimestampSchema,
|
|
212
|
+
updatedAt: TimestampSchema,
|
|
213
|
+
});
|
|
214
|
+
export const WalletAssetKeySchema = z.object({
|
|
215
|
+
currency: WalletCurrencyInputSchema,
|
|
216
|
+
network: WalletNetworkInputSchema,
|
|
217
|
+
});
|
|
218
|
+
export const CreateWalletAssetInputSchema = z.object({
|
|
219
|
+
currency: WalletCurrencyInputSchema,
|
|
220
|
+
network: WalletNetworkInputSchema,
|
|
221
|
+
providerAssetId: z.string().trim().min(1),
|
|
222
|
+
minDeposit: WalletAssetAmountSchema,
|
|
223
|
+
minWithdrawal: WalletAssetAmountSchema,
|
|
224
|
+
withdrawalFee: WalletAssetAmountSchema,
|
|
225
|
+
depositEnabled: z.boolean().default(true),
|
|
226
|
+
withdrawalEnabled: z.boolean().default(true),
|
|
227
|
+
// Validated against the bound PaymentProviderRegistry's names() at write time - an
|
|
228
|
+
// unvalidated typo would fall back to the default adapter, attempting eg a crypto
|
|
229
|
+
// payout through a PSP. Absent = the default single binding.
|
|
230
|
+
providerName: z.string().trim().min(1).optional(),
|
|
231
|
+
sweepFeeCeiling: WalletAssetAmountSchema.optional(),
|
|
232
|
+
poolLiquidityFloor: WalletAssetAmountSchema.optional(),
|
|
233
|
+
});
|
|
234
|
+
// The (currency, network) key is not mutable: renaming a pair is a delete plus a create,
|
|
235
|
+
// so an in-flight vendor reference can't be rewritten out from under a pending
|
|
236
|
+
// transaction. providerName is immutable the same way - it is deliberately absent here,
|
|
237
|
+
// not merely optional; changing it is only possible via delete + re-create, which the
|
|
238
|
+
// service blocks while a pending/processing transaction exists for the pair.
|
|
239
|
+
export const UpdateWalletAssetInputSchema = WalletAssetKeySchema.extend({
|
|
240
|
+
providerAssetId: z.string().trim().min(1).optional(),
|
|
241
|
+
minDeposit: WalletAssetAmountSchema.optional(),
|
|
242
|
+
minWithdrawal: WalletAssetAmountSchema.optional(),
|
|
243
|
+
withdrawalFee: WalletAssetAmountSchema.optional(),
|
|
244
|
+
depositEnabled: z.boolean().optional(),
|
|
245
|
+
withdrawalEnabled: z.boolean().optional(),
|
|
246
|
+
sweepFeeCeiling: WalletAssetAmountSchema.optional(),
|
|
247
|
+
poolLiquidityFloor: WalletAssetAmountSchema.optional(),
|
|
248
|
+
});
|
|
249
|
+
// Shared by both cron-style admin triggers - the caller gets back the id of the
|
|
250
|
+
// wallet_job_run row it claimed, nothing else, since the work itself runs async.
|
|
251
|
+
export const JobRunResultSchema = z.object({ runId: UuidSchema });
|
|
252
|
+
export const WalletReconciliationFindingSchema = z.object({
|
|
253
|
+
id: UuidSchema,
|
|
254
|
+
runId: UuidSchema,
|
|
255
|
+
providerName: z.string(),
|
|
256
|
+
kind: WalletReconciliationFindingKindSchema,
|
|
257
|
+
currency: WalletCurrencyCodeSchema.nullable(),
|
|
258
|
+
network: WalletNetworkSchema.nullable(),
|
|
259
|
+
amount: MoneyAmountSchema.nullable(),
|
|
260
|
+
address: z.string().nullable(),
|
|
261
|
+
tag: z.string().nullable(),
|
|
262
|
+
txHash: z.string().nullable(),
|
|
263
|
+
externalId: z.string().nullable(),
|
|
264
|
+
transactionId: UuidSchema.nullable(),
|
|
265
|
+
detail: z.string().nullable(),
|
|
266
|
+
status: WalletReconciliationFindingStatusSchema,
|
|
267
|
+
resolvedBy: UuidSchema.nullable(),
|
|
268
|
+
resolvedAt: TimestampSchema.nullable(),
|
|
269
|
+
resolutionNote: z.string().nullable(),
|
|
270
|
+
createdAt: TimestampSchema,
|
|
271
|
+
});
|
|
272
|
+
export const ListReconciliationFindingsInputSchema = PageQuerySchema.extend({
|
|
273
|
+
status: WalletReconciliationFindingStatusSchema.optional(),
|
|
274
|
+
kind: WalletReconciliationFindingKindSchema.optional(),
|
|
275
|
+
providerName: z.string().optional(),
|
|
276
|
+
});
|
|
277
|
+
// There is no third way to close a finding: crediting the player (a manual ledger entry
|
|
278
|
+
// made elsewhere, referenced here by its transactionId) or dismissing it as a non-issue
|
|
279
|
+
// (a mandatory note explaining why). Never a bare status flip with no evidence either way.
|
|
280
|
+
export const ReconciliationResolutionSchema = z.discriminatedUnion('outcome', [
|
|
281
|
+
z.object({ outcome: z.literal('credited'), transactionId: UuidSchema }),
|
|
282
|
+
z.object({ outcome: z.literal('dismissed'), note: z.string().trim().min(1) }),
|
|
283
|
+
]);
|
|
284
|
+
export const ResolveReconciliationFindingInputSchema = z.object({
|
|
285
|
+
id: UuidSchema,
|
|
286
|
+
resolution: ReconciliationResolutionSchema,
|
|
287
|
+
});
|
|
153
288
|
export const walletContract = {
|
|
154
289
|
getBalance: oc.route({ method: 'GET', path: '/wallet/balance' }).output(WalletBalanceSchema),
|
|
155
290
|
getBalances: oc.route({ method: 'GET', path: '/wallet/balances' }).output(WalletBalancesSchema),
|
|
@@ -165,6 +300,10 @@ export const walletContract = {
|
|
|
165
300
|
.route({ method: 'POST', path: '/wallet/withdraw' })
|
|
166
301
|
.input(WithdrawInputSchema)
|
|
167
302
|
.output(TransactionResultSchema),
|
|
303
|
+
manualAdjustment: oc
|
|
304
|
+
.route({ method: 'POST', path: '/wallet/manual-adjustments' })
|
|
305
|
+
.input(ManualWalletAdjustmentInputSchema)
|
|
306
|
+
.output(TransactionResultSchema),
|
|
168
307
|
listTransactions: oc
|
|
169
308
|
.route({ method: 'GET', path: '/wallet/transactions' })
|
|
170
309
|
.input(PageQuerySchema.extend({
|
|
@@ -175,7 +314,7 @@ export const walletContract = {
|
|
|
175
314
|
listPlayerTransactions: oc
|
|
176
315
|
.route({ method: 'GET', path: '/wallet/transactions/{userId}' })
|
|
177
316
|
.input(ListPlayerTransactionsArgs)
|
|
178
|
-
.output(paginated(
|
|
317
|
+
.output(paginated(AdminWalletTransactionSchema)),
|
|
179
318
|
withdrawals: {
|
|
180
319
|
list: oc
|
|
181
320
|
.route({ method: 'GET', path: '/wallet/withdrawals' })
|
|
@@ -213,6 +352,27 @@ export const walletContract = {
|
|
|
213
352
|
.input(SetWalletAutoWithdrawalConfigInputSchema)
|
|
214
353
|
.output(WalletAutoWithdrawalConfigSchema),
|
|
215
354
|
},
|
|
355
|
+
// Unauthenticated by design - which assets exist is not secret.
|
|
356
|
+
listAssets: oc
|
|
357
|
+
.route({ method: 'GET', path: '/wallet/assets' })
|
|
358
|
+
.output(z.array(PublicWalletAssetSchema)),
|
|
359
|
+
assets: {
|
|
360
|
+
list: oc
|
|
361
|
+
.route({ method: 'GET', path: '/wallet/admin/assets' })
|
|
362
|
+
.output(z.array(WalletAssetSchema)),
|
|
363
|
+
create: oc
|
|
364
|
+
.route({ method: 'POST', path: '/wallet/admin/assets' })
|
|
365
|
+
.input(CreateWalletAssetInputSchema)
|
|
366
|
+
.output(WalletAssetSchema),
|
|
367
|
+
update: oc
|
|
368
|
+
.route({ method: 'PUT', path: '/wallet/admin/assets/{currency}/{network}' })
|
|
369
|
+
.input(UpdateWalletAssetInputSchema)
|
|
370
|
+
.output(WalletAssetSchema),
|
|
371
|
+
delete: oc
|
|
372
|
+
.route({ method: 'DELETE', path: '/wallet/admin/assets/{currency}/{network}' })
|
|
373
|
+
.input(WalletAssetKeySchema)
|
|
374
|
+
.output(z.boolean()),
|
|
375
|
+
},
|
|
216
376
|
deposits: {
|
|
217
377
|
getAddress: oc
|
|
218
378
|
.route({ method: 'POST', path: '/wallet/deposits/address' })
|
|
@@ -223,5 +383,43 @@ export const walletContract = {
|
|
|
223
383
|
.route({ method: 'POST', path: '/wallet/webhook' })
|
|
224
384
|
.input(PaymentWebhookInputSchema)
|
|
225
385
|
.output(PaymentWebhookOutputSchema),
|
|
386
|
+
// Routes an inbound webhook to the named provider's adapter/verifier pair instead of
|
|
387
|
+
// the single default binding - see docs/adapters/payment.md "Multi-provider routing".
|
|
388
|
+
webhookForProvider: oc
|
|
389
|
+
.route({ method: 'POST', path: '/wallet/webhook/{provider}' })
|
|
390
|
+
.input(PaymentWebhookProviderInputSchema)
|
|
391
|
+
.output(PaymentWebhookOutputSchema),
|
|
392
|
+
custody: {
|
|
393
|
+
sweep: {
|
|
394
|
+
run: oc
|
|
395
|
+
.route({
|
|
396
|
+
method: 'POST',
|
|
397
|
+
path: '/wallet/custody/sweep/run',
|
|
398
|
+
summary: NOT_IMPLEMENTED_YET,
|
|
399
|
+
})
|
|
400
|
+
.output(JobRunResultSchema),
|
|
401
|
+
},
|
|
402
|
+
},
|
|
403
|
+
reconciliation: {
|
|
404
|
+
list: oc
|
|
405
|
+
.route({ method: 'GET', path: '/wallet/reconciliation', summary: NOT_IMPLEMENTED_YET })
|
|
406
|
+
.input(ListReconciliationFindingsInputSchema)
|
|
407
|
+
.output(paginated(WalletReconciliationFindingSchema)),
|
|
408
|
+
resolve: oc
|
|
409
|
+
.route({
|
|
410
|
+
method: 'POST',
|
|
411
|
+
path: '/wallet/reconciliation/{id}/resolve',
|
|
412
|
+
summary: NOT_IMPLEMENTED_YET,
|
|
413
|
+
})
|
|
414
|
+
.input(ResolveReconciliationFindingInputSchema)
|
|
415
|
+
.output(WalletReconciliationFindingSchema),
|
|
416
|
+
run: oc
|
|
417
|
+
.route({
|
|
418
|
+
method: 'POST',
|
|
419
|
+
path: '/wallet/reconciliation/run',
|
|
420
|
+
summary: NOT_IMPLEMENTED_YET,
|
|
421
|
+
})
|
|
422
|
+
.output(JobRunResultSchema),
|
|
423
|
+
},
|
|
226
424
|
};
|
|
227
425
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/wallet/contract/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/wallet/contract/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
CREATE TYPE "public"."wallet_custody_sweep_status" AS ENUM('pending', 'processing', 'completed', 'failed', 'unknown');--> statement-breakpoint
|
|
2
|
+
CREATE TYPE "public"."wallet_job_run_status" AS ENUM('running', 'completed', 'failed', 'abandoned');--> statement-breakpoint
|
|
3
|
+
CREATE TYPE "public"."wallet_reconciliation_finding_kind" AS ENUM('missing_deposit', 'unattributed_deposit', 'amount_mismatch', 'currency_mismatch', 'status_mismatch', 'unknown_at_provider', 'unconfigured_asset', 'stuck_sweep');--> statement-breakpoint
|
|
4
|
+
CREATE TYPE "public"."wallet_reconciliation_finding_status" AS ENUM('open', 'resolved');--> statement-breakpoint
|
|
5
|
+
ALTER TYPE "public"."wallet_transaction_type" ADD VALUE 'manual_credit';--> statement-breakpoint
|
|
6
|
+
ALTER TYPE "public"."wallet_transaction_type" ADD VALUE 'manual_debit';--> statement-breakpoint
|
|
7
|
+
CREATE TABLE "wallet_asset" (
|
|
8
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
9
|
+
"currency" text NOT NULL,
|
|
10
|
+
"network" text NOT NULL,
|
|
11
|
+
"provider_asset_id" text NOT NULL,
|
|
12
|
+
"min_deposit" numeric(38, 18) NOT NULL,
|
|
13
|
+
"min_withdrawal" numeric(38, 18) NOT NULL,
|
|
14
|
+
"withdrawal_fee" numeric(38, 18) NOT NULL,
|
|
15
|
+
"deposit_enabled" boolean DEFAULT true NOT NULL,
|
|
16
|
+
"withdrawal_enabled" boolean DEFAULT true NOT NULL,
|
|
17
|
+
"provider_name" text,
|
|
18
|
+
"sweep_fee_ceiling" numeric(38, 18),
|
|
19
|
+
"pool_liquidity_floor" numeric(38, 18),
|
|
20
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
21
|
+
"updated_at" timestamp with time zone DEFAULT now() NOT NULL
|
|
22
|
+
);
|
|
23
|
+
--> statement-breakpoint
|
|
24
|
+
CREATE TABLE "wallet_custody_sweep" (
|
|
25
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
26
|
+
"user_id" uuid NOT NULL,
|
|
27
|
+
"provider_name" text NOT NULL,
|
|
28
|
+
"currency" text NOT NULL,
|
|
29
|
+
"network" text NOT NULL,
|
|
30
|
+
"amount" numeric(38, 18) NOT NULL,
|
|
31
|
+
"estimated_fee" numeric(38, 18) NOT NULL,
|
|
32
|
+
"external_id" text,
|
|
33
|
+
"pool_ref" text,
|
|
34
|
+
"tx_hash" text,
|
|
35
|
+
"status" "wallet_custody_sweep_status" DEFAULT 'pending' NOT NULL,
|
|
36
|
+
"run_id" uuid,
|
|
37
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
38
|
+
"updated_at" timestamp with time zone DEFAULT now() NOT NULL
|
|
39
|
+
);
|
|
40
|
+
--> statement-breakpoint
|
|
41
|
+
CREATE TABLE "wallet_job_run" (
|
|
42
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
43
|
+
"job_name" text NOT NULL,
|
|
44
|
+
"run_id" uuid NOT NULL,
|
|
45
|
+
"started_at" timestamp with time zone DEFAULT now() NOT NULL,
|
|
46
|
+
"finished_at" timestamp with time zone,
|
|
47
|
+
"status" "wallet_job_run_status" DEFAULT 'running' NOT NULL,
|
|
48
|
+
"summary" jsonb,
|
|
49
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL
|
|
50
|
+
);
|
|
51
|
+
--> statement-breakpoint
|
|
52
|
+
CREATE TABLE "wallet_reconciliation_finding" (
|
|
53
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
54
|
+
"run_id" uuid NOT NULL,
|
|
55
|
+
"provider_name" text NOT NULL,
|
|
56
|
+
"kind" "wallet_reconciliation_finding_kind" NOT NULL,
|
|
57
|
+
"currency" text,
|
|
58
|
+
"network" text,
|
|
59
|
+
"amount" numeric(38, 18),
|
|
60
|
+
"address" text,
|
|
61
|
+
"tag" text,
|
|
62
|
+
"tx_hash" text,
|
|
63
|
+
"external_id" text,
|
|
64
|
+
"transaction_id" uuid,
|
|
65
|
+
"detail" text,
|
|
66
|
+
"status" "wallet_reconciliation_finding_status" DEFAULT 'open' NOT NULL,
|
|
67
|
+
"resolved_by" uuid,
|
|
68
|
+
"resolved_at" timestamp with time zone,
|
|
69
|
+
"resolution_note" text,
|
|
70
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL
|
|
71
|
+
);
|
|
72
|
+
--> statement-breakpoint
|
|
73
|
+
ALTER TABLE "wallet_transaction" ADD COLUMN "network" text;--> statement-breakpoint
|
|
74
|
+
CREATE UNIQUE INDEX "wallet_asset_currency_network_idx" ON "wallet_asset" USING btree ("currency","network");--> statement-breakpoint
|
|
75
|
+
CREATE UNIQUE INDEX "wallet_custody_sweep_user_id_currency_network_idx" ON "wallet_custody_sweep" USING btree ("user_id","currency","network") WHERE status IN ('pending','processing','unknown');--> statement-breakpoint
|
|
76
|
+
CREATE UNIQUE INDEX "wallet_custody_sweep_external_id_idx" ON "wallet_custody_sweep" USING btree ("external_id") WHERE "wallet_custody_sweep"."external_id" IS NOT NULL;--> statement-breakpoint
|
|
77
|
+
CREATE INDEX "wallet_custody_sweep_status_created_at_idx" ON "wallet_custody_sweep" USING btree ("status","created_at");--> statement-breakpoint
|
|
78
|
+
CREATE INDEX "wallet_custody_sweep_provider_name_created_at_idx" ON "wallet_custody_sweep" USING btree ("provider_name","created_at");--> statement-breakpoint
|
|
79
|
+
CREATE UNIQUE INDEX "wallet_job_run_job_name_idx" ON "wallet_job_run" USING btree ("job_name") WHERE "wallet_job_run"."finished_at" IS NULL;--> statement-breakpoint
|
|
80
|
+
CREATE INDEX "wallet_job_run_job_name_started_at_idx" ON "wallet_job_run" USING btree ("job_name","started_at");--> statement-breakpoint
|
|
81
|
+
CREATE UNIQUE INDEX "wallet_reconciliation_finding_kind_external_id_idx" ON "wallet_reconciliation_finding" USING btree ("kind","external_id") WHERE "wallet_reconciliation_finding"."external_id" IS NOT NULL;--> statement-breakpoint
|
|
82
|
+
CREATE INDEX "wallet_reconciliation_finding_status_created_at_idx" ON "wallet_reconciliation_finding" USING btree ("status","created_at");--> statement-breakpoint
|
|
83
|
+
CREATE INDEX "wallet_reconciliation_finding_run_id_idx" ON "wallet_reconciliation_finding" USING btree ("run_id");--> statement-breakpoint
|
|
84
|
+
CREATE INDEX "wallet_transaction_currency_network_idx" ON "wallet_transaction" USING btree ("currency","network");
|