@openora/core 0.4.1-canary.92 → 0.4.1-canary.94
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__/custody-sweep-gate.test.d.ts +2 -0
- package/dist/wallet/__tests__/custody-sweep-gate.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/custody-sweep-gate.test.js +70 -0
- package/dist/wallet/__tests__/custody-sweep-gate.test.js.map +1 -0
- package/dist/wallet/__tests__/custody-sweep.service.int.test.d.ts +2 -0
- package/dist/wallet/__tests__/custody-sweep.service.int.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/custody-sweep.service.int.test.js +246 -0
- package/dist/wallet/__tests__/custody-sweep.service.int.test.js.map +1 -0
- 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 +239 -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 +91 -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 +125 -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 +28 -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 +72 -14
- package/dist/wallet/plugin.js.map +1 -1
- package/dist/wallet/router/index.d.ts +249 -3
- package/dist/wallet/router/index.d.ts.map +1 -1
- package/dist/wallet/router/index.js +130 -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/custody-sweep.service.d.ts +77 -0
- package/dist/wallet/service/custody-sweep.service.d.ts.map +1 -0
- package/dist/wallet/service/custody-sweep.service.js +357 -0
- package/dist/wallet/service/custody-sweep.service.js.map +1 -0
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/wallet/schema/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/wallet/schema/index.ts"],"names":[],"mappings":"AAkCA,eAAO,MAAM,yBAAyB,wJAGrC,CAAC;AAEF,eAAO,MAAM,2BAA2B,4HAGvC,CAAC;AAEF,eAAO,MAAM,cAAc,0DAAsC,CAAC;AAElE,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAOjB,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBzB,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyD7B,CAAC;AAGF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU7B,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2BhC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgB/B,CAAC;AAIF,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiBrC,CAAC;AAIH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCvB,CAAC;AAEF,eAAO,MAAM,4BAA4B,mGAGxC,CAAC;AAKF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4C9B,CAAC;AAEF,eAAO,MAAM,sBAAsB,uFAA2D,CAAC;AAQ/F,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBxB,CAAC;AAEF,eAAO,MAAM,mCAAmC,0MAG/C,CAAC;AAEF,eAAO,MAAM,qCAAqC,4DAGjD,CAAC;AAIF,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkCvC,CAAC;AAEF,MAAM,MAAM,MAAM,GAAG,OAAO,MAAM,CAAC,YAAY,CAAC;AAChD,MAAM,MAAM,iBAAiB,GAAG,OAAO,iBAAiB,CAAC,YAAY,CAAC;AACtE,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC,YAAY,CAAC;AACxE,MAAM,MAAM,oBAAoB,GAAG,OAAO,oBAAoB,CAAC,YAAY,CAAC;AAC5E,MAAM,MAAM,0BAA0B,GAAG,OAAO,0BAA0B,CAAC,YAAY,CAAC;AACxF,MAAM,MAAM,cAAc,GAAG,OAAO,WAAW,CAAC,YAAY,CAAC;AAC7D,MAAM,MAAM,kBAAkB,GAAG,OAAO,kBAAkB,CAAC,YAAY,CAAC;AACxE,MAAM,MAAM,YAAY,GAAG,OAAO,YAAY,CAAC,YAAY,CAAC;AAC5D,MAAM,MAAM,2BAA2B,GAAG,OAAO,2BAA2B,CAAC,YAAY,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { sql } from 'drizzle-orm';
|
|
2
|
-
import { pgTable, uuid, text, decimal, timestamp, pgEnum, index, uniqueIndex, } from 'drizzle-orm/pg-core';
|
|
3
|
-
import { WALLET_RAILS, WALLET_TRANSACTION_STATUSES, WALLET_TRANSACTION_TYPES, MONEY_PRECISION, MONEY_SCALE, } from '@openora/core/contracts';
|
|
2
|
+
import { pgTable, uuid, text, decimal, timestamp, pgEnum, index, uniqueIndex, boolean, jsonb, } from 'drizzle-orm/pg-core';
|
|
3
|
+
import { WALLET_RAILS, WALLET_TRANSACTION_STATUSES, WALLET_TRANSACTION_TYPES, WALLET_CUSTODY_SWEEP_STATUSES, WALLET_JOB_RUN_STATUSES, WALLET_RECONCILIATION_FINDING_KINDS, WALLET_RECONCILIATION_FINDING_STATUSES, MONEY_PRECISION, MONEY_SCALE, } from '@openora/core/contracts';
|
|
4
4
|
// Enum values derive from the canonical tuples so the DB enum can never drift from
|
|
5
5
|
// the contract. Editing the value set is a one-place change in wallet-tx.ts.
|
|
6
6
|
export const walletTransactionTypeEnum = pgEnum('wallet_transaction_type', WALLET_TRANSACTION_TYPES);
|
|
@@ -35,6 +35,10 @@ export const walletTransaction = pgTable('wallet_transaction', {
|
|
|
35
35
|
type: walletTransactionTypeEnum().notNull(),
|
|
36
36
|
amount: decimal({ precision: MONEY_PRECISION, scale: MONEY_SCALE }).notNull(),
|
|
37
37
|
currency: text().notNull(),
|
|
38
|
+
// The chain this moved on. A currency does not identify one, so reconciliation and
|
|
39
|
+
// reporting are per (currency, network). Null on a fiat rail and on any internal
|
|
40
|
+
// transaction type (bet/win/bonus) that never touches a chain.
|
|
41
|
+
network: text(),
|
|
38
42
|
status: walletTransactionStatusEnum()
|
|
39
43
|
.$type()
|
|
40
44
|
.notNull()
|
|
@@ -66,6 +70,7 @@ export const walletTransaction = pgTable('wallet_transaction', {
|
|
|
66
70
|
index('wallet_transaction_status_idx').on(t.status),
|
|
67
71
|
index('wallet_transaction_rail_idx').on(t.rail),
|
|
68
72
|
index('wallet_transaction_currency_idx').on(t.currency),
|
|
73
|
+
index('wallet_transaction_currency_network_idx').on(t.currency, t.network),
|
|
69
74
|
index('wallet_transaction_tx_hash_idx').on(t.txHash),
|
|
70
75
|
index('wallet_transaction_status_type_created_at_idx').on(t.status, t.type, t.createdAt),
|
|
71
76
|
index('wallet_transaction_wallet_id_type_status_idx').on(t.walletId, t.type, t.status),
|
|
@@ -140,4 +145,138 @@ export const walletAutoWithdrawalConfig = pgTable('wallet_auto_withdrawal_config
|
|
|
140
145
|
.$onUpdateFn(() => new Date()),
|
|
141
146
|
createdAt: timestamp({ withTimezone: true }).notNull().defaultNow(),
|
|
142
147
|
});
|
|
148
|
+
// Chain-level behaviour (how the vendor hands out addresses) is deliberately NOT here -
|
|
149
|
+
// that belongs to the bound payment adapter, which owns its own vendor vocabulary.
|
|
150
|
+
export const walletAsset = pgTable('wallet_asset', {
|
|
151
|
+
id: uuid().primaryKey().defaultRandom(),
|
|
152
|
+
currency: text().notNull(),
|
|
153
|
+
network: text().notNull(),
|
|
154
|
+
providerAssetId: text().notNull(),
|
|
155
|
+
minDeposit: decimal({ precision: MONEY_PRECISION, scale: MONEY_SCALE }).notNull(),
|
|
156
|
+
minWithdrawal: decimal({ precision: MONEY_PRECISION, scale: MONEY_SCALE }).notNull(),
|
|
157
|
+
withdrawalFee: decimal({ precision: MONEY_PRECISION, scale: MONEY_SCALE }).notNull(),
|
|
158
|
+
// Independent: an asset can take deposits before it can pay out.
|
|
159
|
+
depositEnabled: boolean().notNull().default(true),
|
|
160
|
+
withdrawalEnabled: boolean().notNull().default(true),
|
|
161
|
+
// Which bound payment vendor settles this (currency, network) pair. Core treats
|
|
162
|
+
// this as an opaque operator-chosen key, never a vendor's product name - null
|
|
163
|
+
// means the default single binding (the only adapter bound to PAYMENT_ADAPTER).
|
|
164
|
+
providerName: text(),
|
|
165
|
+
// The maximum network fee tolerated when sweeping this asset from a per-player
|
|
166
|
+
// custody container into the pool. Null means no ceiling. Per-asset, not global:
|
|
167
|
+
// fee units differ per chain, so one global number cannot compare a fee
|
|
168
|
+
// denominated in one chain's native coin against another's.
|
|
169
|
+
sweepFeeCeiling: decimal({ precision: MONEY_PRECISION, scale: MONEY_SCALE }),
|
|
170
|
+
// Below this pooled balance, the sweep fee ceiling is ignored - running the pool
|
|
171
|
+
// dry to save a fee costs more than the fee. Null means never override the ceiling.
|
|
172
|
+
poolLiquidityFloor: decimal({ precision: MONEY_PRECISION, scale: MONEY_SCALE }),
|
|
173
|
+
createdAt: timestamp({ withTimezone: true }).notNull().defaultNow(),
|
|
174
|
+
updatedAt: timestamp({ withTimezone: true })
|
|
175
|
+
.notNull()
|
|
176
|
+
.defaultNow()
|
|
177
|
+
.$onUpdateFn(() => new Date()),
|
|
178
|
+
}, (t) => [uniqueIndex('wallet_asset_currency_network_idx').on(t.currency, t.network)]);
|
|
179
|
+
export const walletCustodySweepStatusEnum = pgEnum('wallet_custody_sweep_status', WALLET_CUSTODY_SWEEP_STATUSES);
|
|
180
|
+
// An internal transfer of vendor-side funds between containers (per-player custody ->
|
|
181
|
+
// pooled account). Must NEVER touch a player balance - the player was already credited
|
|
182
|
+
// at deposit time, so this table only tracks the vendor-side movement.
|
|
183
|
+
export const walletCustodySweep = pgTable('wallet_custody_sweep', {
|
|
184
|
+
id: uuid().primaryKey().defaultRandom(),
|
|
185
|
+
// Cross-module (identity), bare uuid - whose custody container this swept.
|
|
186
|
+
userId: uuid().notNull(),
|
|
187
|
+
providerName: text().notNull(),
|
|
188
|
+
currency: text().notNull(),
|
|
189
|
+
network: text().notNull(),
|
|
190
|
+
amount: decimal({ precision: MONEY_PRECISION, scale: MONEY_SCALE }).notNull(),
|
|
191
|
+
estimatedFee: decimal({ precision: MONEY_PRECISION, scale: MONEY_SCALE }).notNull(),
|
|
192
|
+
externalId: text(),
|
|
193
|
+
// Opaque vendor-side id of the pool the funds landed in. Player funds must stay
|
|
194
|
+
// separate from operator funds, and a regulator asks which account received them -
|
|
195
|
+
// without this the ledger can evidence that a sweep happened but not where it went.
|
|
196
|
+
poolRef: text(),
|
|
197
|
+
txHash: text(),
|
|
198
|
+
// `unknown`: a thrown sweepToPool cannot distinguish "vendor never saw it" from
|
|
199
|
+
// "vendor accepted it and the response was lost". The row moves to `unknown` and
|
|
200
|
+
// KEEPS holding the in-flight guard below - releasing it would risk a double
|
|
201
|
+
// transfer of real funds.
|
|
202
|
+
status: walletCustodySweepStatusEnum()
|
|
203
|
+
.$type()
|
|
204
|
+
.notNull()
|
|
205
|
+
.default('pending'),
|
|
206
|
+
runId: uuid(),
|
|
207
|
+
createdAt: timestamp({ withTimezone: true }).notNull().defaultNow(),
|
|
208
|
+
updatedAt: timestamp({ withTimezone: true })
|
|
209
|
+
.notNull()
|
|
210
|
+
.defaultNow()
|
|
211
|
+
.$onUpdateFn(() => new Date()),
|
|
212
|
+
}, (t) => [
|
|
213
|
+
// The durable in-flight guard: at most one pending/processing/unknown sweep per
|
|
214
|
+
// (user, currency, network) at a time.
|
|
215
|
+
uniqueIndex('wallet_custody_sweep_user_id_currency_network_idx')
|
|
216
|
+
.on(t.userId, t.currency, t.network)
|
|
217
|
+
.where(sql `status IN ('pending','processing','unknown')`),
|
|
218
|
+
uniqueIndex('wallet_custody_sweep_external_id_idx')
|
|
219
|
+
.on(t.externalId)
|
|
220
|
+
.where(sql `${t.externalId} IS NOT NULL`),
|
|
221
|
+
index('wallet_custody_sweep_status_created_at_idx').on(t.status, t.createdAt),
|
|
222
|
+
index('wallet_custody_sweep_provider_name_created_at_idx').on(t.providerName, t.createdAt),
|
|
223
|
+
]);
|
|
224
|
+
export const walletJobRunStatusEnum = pgEnum('wallet_job_run_status', WALLET_JOB_RUN_STATUSES);
|
|
225
|
+
// Claim-based concurrency guard plus run history for the wallet cron jobs (sweep,
|
|
226
|
+
// reconciliation). Claiming a run IS the insert; a unique-index conflict means another
|
|
227
|
+
// cycle already owns it. Not a session-level advisory lock: a lock held by a pooled
|
|
228
|
+
// connection that gets returned to the pool is a deadlock waiting to happen. A partial
|
|
229
|
+
// unique index is the same guarantee, enforced by the database, with no connection
|
|
230
|
+
// affinity.
|
|
231
|
+
export const walletJobRun = pgTable('wallet_job_run', {
|
|
232
|
+
id: uuid().primaryKey().defaultRandom(),
|
|
233
|
+
jobName: text().notNull(),
|
|
234
|
+
runId: uuid().notNull(),
|
|
235
|
+
startedAt: timestamp({ withTimezone: true }).notNull().defaultNow(),
|
|
236
|
+
finishedAt: timestamp({ withTimezone: true }),
|
|
237
|
+
status: walletJobRunStatusEnum().$type().notNull().default('running'),
|
|
238
|
+
summary: jsonb().$type(),
|
|
239
|
+
createdAt: timestamp({ withTimezone: true }).notNull().defaultNow(),
|
|
240
|
+
}, (t) => [
|
|
241
|
+
// At most one live run per job.
|
|
242
|
+
uniqueIndex('wallet_job_run_job_name_idx')
|
|
243
|
+
.on(t.jobName)
|
|
244
|
+
.where(sql `${t.finishedAt} IS NULL`),
|
|
245
|
+
index('wallet_job_run_job_name_started_at_idx').on(t.jobName, t.startedAt),
|
|
246
|
+
]);
|
|
247
|
+
export const walletReconciliationFindingKindEnum = pgEnum('wallet_reconciliation_finding_kind', WALLET_RECONCILIATION_FINDING_KINDS);
|
|
248
|
+
export const walletReconciliationFindingStatusEnum = pgEnum('wallet_reconciliation_finding_status', WALLET_RECONCILIATION_FINDING_STATUSES);
|
|
249
|
+
// A finding is a report, never a credit instruction - nothing automated may credit a
|
|
250
|
+
// player or move funds off the back of a row in this table.
|
|
251
|
+
export const walletReconciliationFinding = pgTable('wallet_reconciliation_finding', {
|
|
252
|
+
id: uuid().primaryKey().defaultRandom(),
|
|
253
|
+
runId: uuid().notNull(),
|
|
254
|
+
providerName: text().notNull(),
|
|
255
|
+
kind: walletReconciliationFindingKindEnum().$type().notNull(),
|
|
256
|
+
currency: text(),
|
|
257
|
+
network: text(),
|
|
258
|
+
amount: decimal({ precision: MONEY_PRECISION, scale: MONEY_SCALE }),
|
|
259
|
+
address: text(),
|
|
260
|
+
tag: text(),
|
|
261
|
+
txHash: text(),
|
|
262
|
+
externalId: text(),
|
|
263
|
+
transactionId: uuid(),
|
|
264
|
+
detail: text(),
|
|
265
|
+
status: walletReconciliationFindingStatusEnum()
|
|
266
|
+
.$type()
|
|
267
|
+
.notNull()
|
|
268
|
+
.default('open'),
|
|
269
|
+
// Cross-module (identity admin user), bare uuid.
|
|
270
|
+
resolvedBy: uuid(),
|
|
271
|
+
resolvedAt: timestamp({ withTimezone: true }),
|
|
272
|
+
resolutionNote: text(),
|
|
273
|
+
createdAt: timestamp({ withTimezone: true }).notNull().defaultNow(),
|
|
274
|
+
}, (t) => [
|
|
275
|
+
// Re-running reconciliation over an overlapping window must not duplicate findings.
|
|
276
|
+
uniqueIndex('wallet_reconciliation_finding_kind_external_id_idx')
|
|
277
|
+
.on(t.kind, t.externalId)
|
|
278
|
+
.where(sql `${t.externalId} IS NOT NULL`),
|
|
279
|
+
index('wallet_reconciliation_finding_status_created_at_idx').on(t.status, t.createdAt),
|
|
280
|
+
index('wallet_reconciliation_finding_run_id_idx').on(t.runId),
|
|
281
|
+
]);
|
|
143
282
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/wallet/schema/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/wallet/schema/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import * as z from 'zod';
|
|
2
|
+
import { type DrizzleService } from '@openora/core/server';
|
|
3
|
+
import { type AuditWritePort, type PaymentProviderRegistry, type PlatformConfig, type Uuid } from '@openora/core/contracts';
|
|
4
|
+
export declare const CUSTODY_SWEEP_JOB_NAME = "wallet-custody-sweep";
|
|
5
|
+
export declare const CUSTODY_SWEEP_QUEUE: import("@openora/core/contracts").QueueName;
|
|
6
|
+
export declare const CustodySweepJobPayloadSchema: z.ZodObject<{
|
|
7
|
+
runId: z.ZodOptional<z.ZodUUID>;
|
|
8
|
+
}, z.core.$strip>;
|
|
9
|
+
export type CustodySweepJobPayload = z.infer<typeof CustodySweepJobPayloadSchema>;
|
|
10
|
+
export type SweepCycleSummary = {
|
|
11
|
+
considered: number;
|
|
12
|
+
swept: number;
|
|
13
|
+
skippedDust: number;
|
|
14
|
+
skippedFee: number;
|
|
15
|
+
skippedCeiling: number;
|
|
16
|
+
inFlight: number;
|
|
17
|
+
failed: number;
|
|
18
|
+
unknown: number;
|
|
19
|
+
};
|
|
20
|
+
export type SweepGateDecision = 'sweep' | 'dust' | 'fee' | 'ceiling';
|
|
21
|
+
/**
|
|
22
|
+
* Pure gate over a single custody balance, in the exact order
|
|
23
|
+
* docs/adapters/payment.md diagram D3 specifies: dust floor, then the fee-multiple
|
|
24
|
+
* floor, then the fee ceiling (overridden only when the pool is running dry).
|
|
25
|
+
*
|
|
26
|
+
* `poolBalance` is null whenever the caller hasn't fetched it (no ceiling breach yet,
|
|
27
|
+
* the adapter has no `getPoolBalance`, or the asset has no `poolLiquidityFloor`) - null
|
|
28
|
+
* always means "the ceiling stays absolute", never an accidental override.
|
|
29
|
+
*/
|
|
30
|
+
export declare function gateSweepBalance(args: {
|
|
31
|
+
amount: string;
|
|
32
|
+
estimatedFee: string;
|
|
33
|
+
minDeposit: string;
|
|
34
|
+
feeMultiple: string;
|
|
35
|
+
sweepFeeCeiling: string | null;
|
|
36
|
+
poolLiquidityFloor: string | null;
|
|
37
|
+
poolBalance: string | null;
|
|
38
|
+
}): SweepGateDecision;
|
|
39
|
+
export type CustodySweepServiceDeps = {
|
|
40
|
+
drizzle: DrizzleService;
|
|
41
|
+
paymentProviders: PaymentProviderRegistry;
|
|
42
|
+
audit: AuditWritePort;
|
|
43
|
+
platformConfig?: PlatformConfig;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Owns the custody sweep cron: moves vendor-side per-player custody balances into the
|
|
47
|
+
* pooled account they're paid out of. Deliberately separate from WalletService (which
|
|
48
|
+
* is already ~2000 lines) and deliberately never touches wallet_balance/wallet_transaction
|
|
49
|
+
* - the player was credited at deposit time, this only moves the vendor's own money
|
|
50
|
+
* between its own containers. See docs/adapters/payment.md, "Custody: pooling, sweeping
|
|
51
|
+
* and reconciliation".
|
|
52
|
+
*/
|
|
53
|
+
export declare class CustodySweepService {
|
|
54
|
+
private readonly drizzle;
|
|
55
|
+
private readonly paymentProviders;
|
|
56
|
+
private readonly audit;
|
|
57
|
+
private readonly platformConfig?;
|
|
58
|
+
constructor({ drizzle, paymentProviders, audit, platformConfig }: CustodySweepServiceDeps);
|
|
59
|
+
/**
|
|
60
|
+
* Runs one sweep cycle. No-ops (returns null, touches nothing) when
|
|
61
|
+
* `platformConfig.wallet.sweep` is absent - an operator who hasn't configured sweep
|
|
62
|
+
* policy still gets a scheduled job, it just never claims a run. Also returns null
|
|
63
|
+
* when another cycle already owns the claim.
|
|
64
|
+
*/
|
|
65
|
+
runCycle(requestedRunId?: Uuid): Promise<{
|
|
66
|
+
runId: Uuid;
|
|
67
|
+
summary: SweepCycleSummary;
|
|
68
|
+
} | null>;
|
|
69
|
+
private claimRun;
|
|
70
|
+
private resolveInFlightSweeps;
|
|
71
|
+
private assetFor;
|
|
72
|
+
private hasInFlightSweep;
|
|
73
|
+
private getPoolBalanceCached;
|
|
74
|
+
private processBalance;
|
|
75
|
+
private finishRun;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=custody-sweep.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custody-sweep.service.d.ts","sourceRoot":"","sources":["../../../src/wallet/service/custody-sweep.service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EACL,KAAK,cAAc,EAKpB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAGL,KAAK,cAAc,EAGnB,KAAK,uBAAuB,EAC5B,KAAK,cAAc,EAEnB,KAAK,IAAI,EACV,MAAM,yBAAyB,CAAC;AAajC,eAAO,MAAM,sBAAsB,yBAAyB,CAAC;AAC7D,eAAO,MAAM,mBAAmB,6CAAgC,CAAC;AAMjE,eAAO,MAAM,4BAA4B;;iBAA6C,CAAC;AACvF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAMlF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IAKjB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;AAErE;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,GAAG,iBAAiB,CAkBpB;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,cAAc,CAAC;IACxB,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,KAAK,EAAE,cAAc,CAAC;IACtB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC;AAEF;;;;;;;GAOG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA0B;IAC3D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;gBAErC,EAAE,OAAO,EAAE,gBAAgB,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,uBAAuB;IAOzF;;;;;OAKG;IACG,QAAQ,CACZ,cAAc,CAAC,EAAE,IAAI,GACpB,OAAO,CAAC;QAAE,KAAK,EAAE,IAAI,CAAC;QAAC,OAAO,EAAE,iBAAiB,CAAA;KAAE,GAAG,IAAI,CAAC;YA2EhD,QAAQ;YAiDR,qBAAqB;YA0BrB,QAAQ;YAQR,gBAAgB;YAmBhB,oBAAoB;YAmBpB,cAAc;YA6Id,SAAS;CA4BxB"}
|