@openora/core 0.4.1-canary.94 → 0.4.1-canary.95
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/audit/plugin.d.ts.map +1 -1
- package/dist/audit/plugin.js +13 -0
- package/dist/audit/plugin.js.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/schemas/events.d.ts +5 -0
- package/dist/contracts/schemas/events.d.ts.map +1 -1
- package/dist/contracts/schemas/events.js +9 -0
- package/dist/contracts/schemas/events.js.map +1 -1
- package/dist/testing/mock.d.ts +6 -1
- package/dist/testing/mock.d.ts.map +1 -1
- package/dist/testing/mock.js +9 -0
- package/dist/testing/mock.js.map +1 -1
- package/dist/wallet/__tests__/reconciliation-diff.test.d.ts +2 -0
- package/dist/wallet/__tests__/reconciliation-diff.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/reconciliation-diff.test.js +49 -0
- package/dist/wallet/__tests__/reconciliation-diff.test.js.map +1 -0
- package/dist/wallet/__tests__/reconciliation.service.int.test.d.ts +2 -0
- package/dist/wallet/__tests__/reconciliation.service.int.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/reconciliation.service.int.test.js +395 -0
- package/dist/wallet/__tests__/reconciliation.service.int.test.js.map +1 -0
- package/dist/wallet/__tests__/wallet-asset.router.int.test.js +6 -1
- package/dist/wallet/__tests__/wallet-asset.router.int.test.js.map +1 -1
- package/dist/wallet/__tests__/wallet-auto-rule.router.int.test.js +12 -2
- 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 +12 -2
- package/dist/wallet/__tests__/wallet-auto-withdrawal-config.router.int.test.js.map +1 -1
- package/dist/wallet/__tests__/wallet-custody-routes.router.test.d.ts +2 -0
- package/dist/wallet/__tests__/wallet-custody-routes.router.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/{wallet-custody-stubs.router.test.js → wallet-custody-routes.router.test.js} +58 -21
- package/dist/wallet/__tests__/wallet-custody-routes.router.test.js.map +1 -0
- package/dist/wallet/__tests__/wallet-webhook.router.int.test.js +25 -3
- package/dist/wallet/__tests__/wallet-webhook.router.int.test.js.map +1 -1
- package/dist/wallet/__tests__/wallet.router.int.test.js +6 -1
- package/dist/wallet/__tests__/wallet.router.int.test.js.map +1 -1
- package/dist/wallet/__tests__/wallet.service.int.test.js +34 -11
- package/dist/wallet/__tests__/wallet.service.int.test.js.map +1 -1
- package/dist/wallet/contract/index.d.ts.map +1 -1
- package/dist/wallet/contract/index.js +7 -7
- package/dist/wallet/contract/index.js.map +1 -1
- package/dist/wallet/plugin.d.ts.map +1 -1
- package/dist/wallet/plugin.js +69 -36
- package/dist/wallet/plugin.js.map +1 -1
- package/dist/wallet/router/index.d.ts +6 -3
- package/dist/wallet/router/index.d.ts.map +1 -1
- package/dist/wallet/router/index.js +23 -21
- package/dist/wallet/router/index.js.map +1 -1
- package/dist/wallet/service/custody-sweep.service.d.ts.map +1 -1
- package/dist/wallet/service/custody-sweep.service.js +9 -12
- package/dist/wallet/service/custody-sweep.service.js.map +1 -1
- package/dist/wallet/service/reconciliation-finding.service.d.ts +39 -0
- package/dist/wallet/service/reconciliation-finding.service.d.ts.map +1 -0
- package/dist/wallet/service/reconciliation-finding.service.js +36 -0
- package/dist/wallet/service/reconciliation-finding.service.js.map +1 -0
- package/dist/wallet/service/reconciliation.service.d.ts +112 -0
- package/dist/wallet/service/reconciliation.service.d.ts.map +1 -0
- package/dist/wallet/service/reconciliation.service.js +509 -0
- package/dist/wallet/service/reconciliation.service.js.map +1 -0
- package/dist/wallet/service/wallet.service.d.ts +7 -2
- package/dist/wallet/service/wallet.service.d.ts.map +1 -1
- package/dist/wallet/service/wallet.service.js +45 -3
- package/dist/wallet/service/wallet.service.js.map +1 -1
- package/package.json +1 -1
- package/dist/wallet/__tests__/wallet-custody-stubs.router.test.d.ts +0 -2
- package/dist/wallet/__tests__/wallet-custody-stubs.router.test.d.ts.map +0 -1
- package/dist/wallet/__tests__/wallet-custody-stubs.router.test.js.map +0 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { type AdminGuard, type OssContext } from '@openora/core/server';
|
|
2
|
-
import { type AuditWritePort, type JobQueueAdapter, type PaymentProviderRegistry, type RateLimiterAdapter, type RateLimitKey } from '@openora/core/contracts';
|
|
2
|
+
import { type AuditWritePort, type JobQueueAdapter, type PaymentProviderRegistry, type QueueName, type RateLimiterAdapter, type RateLimitKey } from '@openora/core/contracts';
|
|
3
3
|
import { WalletService } from '../service/wallet.service.js';
|
|
4
|
+
import { ReconciliationService } from '../service/reconciliation.service.js';
|
|
4
5
|
/**
|
|
5
6
|
* Named rather than positional. Half of these are structurally similar ports, so a
|
|
6
7
|
* positional slip type-checks; and the sweep and reconciliation branches each add their
|
|
@@ -12,10 +13,12 @@ export type WalletRouterDeps = {
|
|
|
12
13
|
adminGuard: AdminGuard;
|
|
13
14
|
audit: AuditWritePort;
|
|
14
15
|
paymentProviders: PaymentProviderRegistry;
|
|
16
|
+
reconciliation: ReconciliationService;
|
|
17
|
+
jobQueue: JobQueueAdapter;
|
|
18
|
+
reconciliationQueue: QueueName;
|
|
15
19
|
limiter?: RateLimiterAdapter<RateLimitKey>;
|
|
16
|
-
jobQueue?: JobQueueAdapter;
|
|
17
20
|
};
|
|
18
|
-
export declare function createWalletRouter({ wallet, adminGuard, audit, paymentProviders,
|
|
21
|
+
export declare function createWalletRouter({ wallet, adminGuard, audit, paymentProviders, reconciliation, jobQueue, reconciliationQueue, limiter, }: WalletRouterDeps): {
|
|
19
22
|
getBalance: import("@orpc/server").Procedure<import("@orpc/server").MergedInitialContext<OssContext & Record<never, never>, OssContext & Record<never, never>, OssContext>, OssContext, import("@orpc/server").Schema<unknown, unknown>, import("zod").ZodObject<{
|
|
20
23
|
balance: import("zod").ZodString;
|
|
21
24
|
currency: import("zod").ZodString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/wallet/router/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,UAAU,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAE5B,KAAK,kBAAkB,EACvB,KAAK,YAAY,EAClB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,aAAa,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/wallet/router/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,UAAU,EACf,KAAK,UAAU,EAChB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAIL,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,KAAK,uBAAuB,EAE5B,KAAK,SAAS,EACd,KAAK,kBAAkB,EACvB,KAAK,YAAY,EAClB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,aAAa,EAqBd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,qBAAqB,EAItB,MAAM,sCAAsC,CAAC;AA0C9C;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,cAAc,CAAC;IACtB,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,cAAc,EAAE,qBAAqB,CAAC;IACtC,QAAQ,EAAE,eAAe,CAAC;IAC1B,mBAAmB,EAAE,SAAS,CAAC;IAC/B,OAAO,CAAC,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;CAC5C,CAAC;AAEF,wBAAgB,kBAAkB,CAAC,EACjC,MAAM,EACN,UAAU,EACV,KAAK,EACL,gBAAgB,EAChB,cAAc,EACd,QAAQ,EACR,mBAAmB,EACnB,OAAO,GACR,EAAE,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2VlB"}
|
|
@@ -4,12 +4,8 @@ import { getUserId, mapErrors, assertRateLimit, } from '@openora/core/server';
|
|
|
4
4
|
import { DEFAULT_PAYMENT_PROVIDER, RATE_LIMIT_KEYS, makeRateLimitKey, } from '@openora/core/contracts';
|
|
5
5
|
import { walletContract } from '../contract/index.js';
|
|
6
6
|
import { CUSTODY_SWEEP_QUEUE } from '../service/custody-sweep.service.js';
|
|
7
|
-
import { WalletNotFoundError, WithdrawalNotFoundError, WithdrawalNotPendingError, InsufficientBalanceError,
|
|
8
|
-
|
|
9
|
-
// zero is the definition of done for the custody sweep / reconciliation feature set.
|
|
10
|
-
const notImplemented = () => {
|
|
11
|
-
throw new ORPCError('NOT_IMPLEMENTED');
|
|
12
|
-
};
|
|
7
|
+
import { WalletNotFoundError, WithdrawalNotFoundError, WithdrawalNotPendingError, InsufficientBalanceError, KycRequiredError, IdempotencyKeyReuseError, DepositAddressUnsupportedError, DestinationAddressRequiredError, AutoWithdrawalConfigNotFoundError, WalletAssetNotFoundError, WalletAssetAlreadyExistsError, WalletAssetUnsupportedError, WalletAssetUnknownProviderError, WalletAssetInUseError, WalletAssetHasInFlightTransactionsError, AmbiguousNetworkError, UnsupportedNetworkError, WithdrawalDisabledError, BelowMinimumWithdrawalError, PlayerNotFoundError, } from '../service/wallet.service.js';
|
|
8
|
+
import { ReconciliationFindingNotFoundError, ReconciliationCreditTransactionNotFoundError, ReconciliationCreditMismatchError, } from '../service/reconciliation.service.js';
|
|
13
9
|
// Unauthenticated route: it costs a signature verification (and, for a custody vendor,
|
|
14
10
|
// a DB lookup) per request with nothing else gating it. Keyed on client IP, not a
|
|
15
11
|
// vendor/account identity, since an attacker chooses neither. A request with no IP
|
|
@@ -30,7 +26,7 @@ async function dispatchWebhook(wallet, paymentProviders, providerName, rawBody,
|
|
|
30
26
|
const event = provider.adapter.parseWebhook?.(rawBody, headers);
|
|
31
27
|
if (event) {
|
|
32
28
|
if (event.kind === 'deposit') {
|
|
33
|
-
await wallet.creditDepositByAddress(event);
|
|
29
|
+
await wallet.creditDepositByAddress(event, providerName);
|
|
34
30
|
}
|
|
35
31
|
else {
|
|
36
32
|
await wallet.reconcileWithdrawalStatus(event);
|
|
@@ -38,14 +34,14 @@ async function dispatchWebhook(wallet, paymentProviders, providerName, rawBody,
|
|
|
38
34
|
}
|
|
39
35
|
return { ok: true };
|
|
40
36
|
}
|
|
41
|
-
export function createWalletRouter({ wallet, adminGuard, audit, paymentProviders,
|
|
37
|
+
export function createWalletRouter({ wallet, adminGuard, audit, paymentProviders, reconciliation, jobQueue, reconciliationQueue, limiter, }) {
|
|
42
38
|
const os = implement(walletContract).$context();
|
|
43
39
|
const throttleWebhook = (context) => assertRateLimit(limiter, makeRateLimitKey(RATE_LIMIT_KEYS.WALLET_WEBHOOK, context.clientMeta.ip ?? 'unknown'), WALLET_WEBHOOK_RATE_LIMIT);
|
|
44
40
|
return os.router({
|
|
45
41
|
getBalance: os.getBalance.handler(({ context }) => wallet.getBalance(getUserId(context))),
|
|
46
42
|
getBalances: os.getBalances.handler(({ context }) => wallet.getBalances(getUserId(context))),
|
|
47
43
|
setActiveCurrency: os.setActiveCurrency.handler(({ input, context }) => mapErrors({ NOT_FOUND: WalletNotFoundError }, () => wallet.setActiveCurrency(getUserId(context), input.currency))),
|
|
48
|
-
deposit: os.deposit.handler(({ input, context }) => mapErrors({
|
|
44
|
+
deposit: os.deposit.handler(({ input, context }) => mapErrors({ CONFLICT: IdempotencyKeyReuseError }, () => wallet.deposit({
|
|
49
45
|
userId: getUserId(context),
|
|
50
46
|
amount: input.amount,
|
|
51
47
|
currency: input.currency,
|
|
@@ -57,7 +53,6 @@ export function createWalletRouter({ wallet, adminGuard, audit, paymentProviders
|
|
|
57
53
|
NOT_FOUND: WalletNotFoundError,
|
|
58
54
|
BAD_REQUEST: [
|
|
59
55
|
InsufficientBalanceError,
|
|
60
|
-
CurrencyMismatchError,
|
|
61
56
|
AmbiguousNetworkError,
|
|
62
57
|
UnsupportedNetworkError,
|
|
63
58
|
BelowMinimumWithdrawalError,
|
|
@@ -220,11 +215,6 @@ export function createWalletRouter({ wallet, adminGuard, audit, paymentProviders
|
|
|
220
215
|
sweep: {
|
|
221
216
|
run: os.custody.sweep.run.handler(async ({ context }) => {
|
|
222
217
|
await adminGuard.assert(context, 'wallet-custody', 'run');
|
|
223
|
-
if (!jobQueue) {
|
|
224
|
-
throw new ORPCError('INTERNAL_SERVER_ERROR', {
|
|
225
|
-
message: 'custody sweep job queue is not wired',
|
|
226
|
-
});
|
|
227
|
-
}
|
|
228
218
|
// The run claim (a unique-index insert in wallet_job_run) is the sole
|
|
229
219
|
// concurrency authority, not this request - enqueue and return immediately so
|
|
230
220
|
// an HTTP timeout can never orphan a cycle. runId is minted here so the caller
|
|
@@ -236,17 +226,29 @@ export function createWalletRouter({ wallet, adminGuard, audit, paymentProviders
|
|
|
236
226
|
},
|
|
237
227
|
},
|
|
238
228
|
reconciliation: {
|
|
239
|
-
list: os.reconciliation.list.handler(async ({ context }) => {
|
|
229
|
+
list: os.reconciliation.list.handler(async ({ input, context }) => {
|
|
240
230
|
await adminGuard.assert(context, 'wallet-reconciliation', 'view');
|
|
241
|
-
return
|
|
231
|
+
return reconciliation.listFindings(input);
|
|
242
232
|
}),
|
|
243
|
-
resolve: os.reconciliation.resolve.handler(async ({ context }) => {
|
|
244
|
-
await adminGuard.assert(context, 'wallet-reconciliation', 'resolve');
|
|
245
|
-
return
|
|
233
|
+
resolve: os.reconciliation.resolve.handler(async ({ input, context }) => {
|
|
234
|
+
const { userId: adminId, ip, userAgent, } = await adminGuard.assert(context, 'wallet-reconciliation', 'resolve');
|
|
235
|
+
return mapErrors({
|
|
236
|
+
NOT_FOUND: [
|
|
237
|
+
ReconciliationFindingNotFoundError,
|
|
238
|
+
ReconciliationCreditTransactionNotFoundError,
|
|
239
|
+
],
|
|
240
|
+
CONFLICT: ReconciliationCreditMismatchError,
|
|
241
|
+
}, () => reconciliation.resolveFinding(adminId, input.id, input.resolution, { ip, userAgent }));
|
|
246
242
|
}),
|
|
243
|
+
// Enqueues the job and returns the runId immediately - never runs inline. The
|
|
244
|
+
// eventual worker's own claim (wallet_job_run's partial unique index) stays the
|
|
245
|
+
// single concurrency authority; this route does not know or care whether its
|
|
246
|
+
// claim will win.
|
|
247
247
|
run: os.reconciliation.run.handler(async ({ context }) => {
|
|
248
248
|
await adminGuard.assert(context, 'wallet-reconciliation', 'run');
|
|
249
|
-
|
|
249
|
+
const runId = randomUUID();
|
|
250
|
+
await jobQueue.enqueue(reconciliationQueue, { runId });
|
|
251
|
+
return { runId };
|
|
250
252
|
}),
|
|
251
253
|
},
|
|
252
254
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/wallet/router/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/wallet/router/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +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;
|
|
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;YAyId,SAAS;CA4BxB"}
|
|
@@ -3,7 +3,8 @@ import * as z from 'zod';
|
|
|
3
3
|
import { moneyCompare, moneyScaleBy, mapConcurrent, createLogger, } from '@openora/core/server';
|
|
4
4
|
import { queue, UuidSchema, } from '@openora/core/contracts';
|
|
5
5
|
import { and, eq, inArray, isNotNull, isNull } from 'drizzle-orm';
|
|
6
|
-
import { walletAsset, walletCustodySweep, walletJobRun,
|
|
6
|
+
import { walletAsset, walletCustodySweep, walletJobRun, } from '../schema/index.js';
|
|
7
|
+
import { recordReconciliationFinding } from './reconciliation-finding.service.js';
|
|
7
8
|
const logger = createLogger('wallet-custody-sweep');
|
|
8
9
|
export const CUSTODY_SWEEP_JOB_NAME = 'wallet-custody-sweep';
|
|
9
10
|
export const CUSTODY_SWEEP_QUEUE = queue('wallet.custody-sweep');
|
|
@@ -224,26 +225,22 @@ export class CustodySweepService {
|
|
|
224
225
|
if (!asset) {
|
|
225
226
|
// Funds sitting in a container the operator has no policy for must be visible,
|
|
226
227
|
// not a log line.
|
|
227
|
-
await this.drizzle.db
|
|
228
|
-
.insert(walletReconciliationFinding)
|
|
229
|
-
.values({
|
|
228
|
+
await recordReconciliationFinding(this.drizzle.db, {
|
|
230
229
|
runId,
|
|
231
230
|
providerName,
|
|
232
231
|
kind: 'unconfigured_asset',
|
|
233
232
|
currency: balance.currency,
|
|
234
233
|
network: balance.network,
|
|
235
234
|
amount: balance.amount,
|
|
236
|
-
//
|
|
237
|
-
//
|
|
238
|
-
//
|
|
239
|
-
//
|
|
240
|
-
//
|
|
241
|
-
// asset, not the player, is the subject: one row to act on, not one per
|
|
235
|
+
// No vendor reference exists for this finding, and the condition recurs every
|
|
236
|
+
// single cycle until an operator configures the asset - without a stable
|
|
237
|
+
// stand-in one missing catalog row files a finding every cron tick, drowning
|
|
238
|
+
// the real findings and pinning the alert threshold permanently over the line.
|
|
239
|
+
// The asset, not the player, is the subject: one row to act on, not one per
|
|
242
240
|
// affected container.
|
|
243
241
|
externalId: `unconfigured:${providerName}:${balance.currency}:${balance.network}`,
|
|
244
242
|
detail: `no wallet_asset configured for ${balance.currency}/${balance.network}`,
|
|
245
|
-
})
|
|
246
|
-
.onConflictDoNothing();
|
|
243
|
+
});
|
|
247
244
|
return;
|
|
248
245
|
}
|
|
249
246
|
const gateArgs = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custody-sweep.service.js","sourceRoot":"","sources":["../../../src/wallet/service/custody-sweep.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"custody-sweep.service.js","sourceRoot":"","sources":["../../../src/wallet/service/custody-sweep.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import type { DrizzleDb, DrizzleTx } from '@openora/core/server';
|
|
2
|
+
import type { WalletReconciliationFindingKind } from '@openora/core/contracts';
|
|
3
|
+
/**
|
|
4
|
+
* Sentinel `runId` for a finding produced OUTSIDE any reconciliation job cycle - the
|
|
5
|
+
* live webhook path (`WalletService.creditDepositByAddress`) hits an unattributable
|
|
6
|
+
* deposit in real time, not on a poll. `runId` is NOT NULL on the table, so this fixed
|
|
7
|
+
* zero-uuid documents "no job run owns this row", mirroring the audit plugin's
|
|
8
|
+
* SYSTEM_ACTOR sentinel for "no admin acted here".
|
|
9
|
+
*/
|
|
10
|
+
export declare const LIVE_WEBHOOK_RUN_ID = "00000000-0000-0000-0000-000000000000";
|
|
11
|
+
export type ReconciliationFindingInput = {
|
|
12
|
+
runId: string;
|
|
13
|
+
providerName: string;
|
|
14
|
+
kind: WalletReconciliationFindingKind;
|
|
15
|
+
currency?: string | null;
|
|
16
|
+
network?: string | null;
|
|
17
|
+
amount?: string | null;
|
|
18
|
+
address?: string | null;
|
|
19
|
+
tag?: string | null;
|
|
20
|
+
txHash?: string | null;
|
|
21
|
+
/**
|
|
22
|
+
* The dedup key: a partial unique index on (kind, externalId) makes a duplicate
|
|
23
|
+
* insert for the same underlying vendor event or job re-run a silent no-op. Pass a
|
|
24
|
+
* stable stand-in (eg the source row's own id) when no vendor externalId exists, so
|
|
25
|
+
* a finding with no natural external reference still dedupes across re-runs.
|
|
26
|
+
*/
|
|
27
|
+
externalId?: string | null;
|
|
28
|
+
transactionId?: string | null;
|
|
29
|
+
detail?: string | null;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* The single write path for a reconciliation finding - never a raw `insert` scattered
|
|
33
|
+
* across WalletService and ReconciliationService (both import this, neither imports the
|
|
34
|
+
* other, so there is no cycle). A finding is a report, never a credit instruction (see
|
|
35
|
+
* the schema's own comment): this never touches a balance or a transaction row, only
|
|
36
|
+
* records that something needs a human look.
|
|
37
|
+
*/
|
|
38
|
+
export declare function recordReconciliationFinding(db: DrizzleDb | DrizzleTx, input: ReconciliationFindingInput): Promise<void>;
|
|
39
|
+
//# sourceMappingURL=reconciliation-finding.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reconciliation-finding.service.d.ts","sourceRoot":"","sources":["../../../src/wallet/service/reconciliation-finding.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjE,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,yBAAyB,CAAC;AAG/E;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,yCAAyC,CAAC;AAE1E,MAAM,MAAM,0BAA0B,GAAG;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,+BAA+B,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACxB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAsB,2BAA2B,CAC/C,EAAE,EAAE,SAAS,GAAG,SAAS,EACzB,KAAK,EAAE,0BAA0B,GAChC,OAAO,CAAC,IAAI,CAAC,CAkBf"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { walletReconciliationFinding } from '../schema/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Sentinel `runId` for a finding produced OUTSIDE any reconciliation job cycle - the
|
|
4
|
+
* live webhook path (`WalletService.creditDepositByAddress`) hits an unattributable
|
|
5
|
+
* deposit in real time, not on a poll. `runId` is NOT NULL on the table, so this fixed
|
|
6
|
+
* zero-uuid documents "no job run owns this row", mirroring the audit plugin's
|
|
7
|
+
* SYSTEM_ACTOR sentinel for "no admin acted here".
|
|
8
|
+
*/
|
|
9
|
+
export const LIVE_WEBHOOK_RUN_ID = '00000000-0000-0000-0000-000000000000';
|
|
10
|
+
/**
|
|
11
|
+
* The single write path for a reconciliation finding - never a raw `insert` scattered
|
|
12
|
+
* across WalletService and ReconciliationService (both import this, neither imports the
|
|
13
|
+
* other, so there is no cycle). A finding is a report, never a credit instruction (see
|
|
14
|
+
* the schema's own comment): this never touches a balance or a transaction row, only
|
|
15
|
+
* records that something needs a human look.
|
|
16
|
+
*/
|
|
17
|
+
export async function recordReconciliationFinding(db, input) {
|
|
18
|
+
await db
|
|
19
|
+
.insert(walletReconciliationFinding)
|
|
20
|
+
.values({
|
|
21
|
+
runId: input.runId,
|
|
22
|
+
providerName: input.providerName,
|
|
23
|
+
kind: input.kind,
|
|
24
|
+
currency: input.currency ?? null,
|
|
25
|
+
network: input.network ?? null,
|
|
26
|
+
amount: input.amount ?? null,
|
|
27
|
+
address: input.address ?? null,
|
|
28
|
+
tag: input.tag ?? null,
|
|
29
|
+
txHash: input.txHash ?? null,
|
|
30
|
+
externalId: input.externalId ?? null,
|
|
31
|
+
transactionId: input.transactionId ?? null,
|
|
32
|
+
detail: input.detail ?? null,
|
|
33
|
+
})
|
|
34
|
+
.onConflictDoNothing();
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=reconciliation-finding.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reconciliation-finding.service.js","sourceRoot":"","sources":["../../../src/wallet/service/reconciliation-finding.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AAEjE;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,sCAAsC,CAAC;AAuB1E;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,EAAyB,EACzB,KAAiC;IAEjC,MAAM,EAAE;SACL,MAAM,CAAC,2BAA2B,CAAC;SACnC,MAAM,CAAC;QACN,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,IAAI;QAChC,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;QAC9B,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;QAC5B,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;QAC9B,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,IAAI;QACtB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;QAC5B,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI;QACpC,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,IAAI;QAC1C,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;KAC7B,CAAC;SACD,mBAAmB,EAAE,CAAC;AAC3B,CAAC"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { type DrizzleService, type EventBus } from '@openora/core/server';
|
|
2
|
+
import { type AuditWritePort, type ClientMeta, type PaymentProviderRegistry, type PaymentWebhookEvent, type PlatformConfig, type User } from '@openora/core/contracts';
|
|
3
|
+
import { type WalletJobRun, type WalletReconciliationFinding as WalletReconciliationFindingRow, type WalletTransaction } from '../schema/index.js';
|
|
4
|
+
import type { ListReconciliationFindingsInput, ReconciliationResolution, WalletReconciliationFinding as WalletReconciliationFindingDto } from '../contract/index.js';
|
|
5
|
+
import type { WalletService } from './wallet.service.js';
|
|
6
|
+
export declare const ReconciliationFindingNotFoundError: new (id: string) => Error;
|
|
7
|
+
export declare const ReconciliationCreditTransactionNotFoundError: new (id: string) => Error;
|
|
8
|
+
export declare const ReconciliationCreditMismatchError: new () => Error;
|
|
9
|
+
type LedgerMatch = Pick<WalletTransaction, 'id' | 'currency' | 'amount' | 'network'>;
|
|
10
|
+
/**
|
|
11
|
+
* Pure diff of one vendor deposit event against its (maybe absent) ledger row - the
|
|
12
|
+
* whole decision reconciliation makes for a deposit, extracted so it is unit-testable
|
|
13
|
+
* without a database. Never routes through moneyToNumber (see money.md): an exact
|
|
14
|
+
* decimal compare, not a float one.
|
|
15
|
+
*/
|
|
16
|
+
export declare function diffDeposit(event: Extract<PaymentWebhookEvent, {
|
|
17
|
+
kind: 'deposit';
|
|
18
|
+
}>, tx: LedgerMatch | undefined): 'missing_deposit' | 'currency_mismatch' | 'amount_mismatch' | null;
|
|
19
|
+
export type ReconciliationServiceDeps = {
|
|
20
|
+
drizzle: DrizzleService;
|
|
21
|
+
events: EventBus;
|
|
22
|
+
wallet: WalletService;
|
|
23
|
+
paymentProviders: PaymentProviderRegistry;
|
|
24
|
+
audit: AuditWritePort;
|
|
25
|
+
platformConfig?: PlatformConfig;
|
|
26
|
+
};
|
|
27
|
+
/**
|
|
28
|
+
* Owns the reconciliation job cycle (claim -> per-provider diff -> stuck-withdrawal /
|
|
29
|
+
* stuck-sweep sweep -> finish + audit + alert) and the admin surface over its findings
|
|
30
|
+
* (list/resolve). Never credits or moves money itself - every finding is a report; the
|
|
31
|
+
* only paths that touch a balance are `WalletService.reconcileWithdrawalStatus` (already
|
|
32
|
+
* idempotent) and the pre-existing manual-adjustment path a `credited` resolution merely
|
|
33
|
+
* references.
|
|
34
|
+
*/
|
|
35
|
+
export declare class ReconciliationService {
|
|
36
|
+
private readonly drizzle;
|
|
37
|
+
private readonly events;
|
|
38
|
+
private readonly wallet;
|
|
39
|
+
private readonly paymentProviders;
|
|
40
|
+
private readonly audit;
|
|
41
|
+
private readonly platformConfig?;
|
|
42
|
+
constructor({ drizzle, events, wallet, paymentProviders, audit, platformConfig, }: ReconciliationServiceDeps);
|
|
43
|
+
listFindings(filter: ListReconciliationFindingsInput): Promise<{
|
|
44
|
+
items: {
|
|
45
|
+
id: string;
|
|
46
|
+
runId: string;
|
|
47
|
+
providerName: string;
|
|
48
|
+
kind: "missing_deposit" | "unattributed_deposit" | "amount_mismatch" | "currency_mismatch" | "status_mismatch" | "unknown_at_provider" | "unconfigured_asset" | "stuck_sweep";
|
|
49
|
+
currency: string | null;
|
|
50
|
+
network: string | null;
|
|
51
|
+
amount: string | null;
|
|
52
|
+
address: string | null;
|
|
53
|
+
tag: string | null;
|
|
54
|
+
txHash: string | null;
|
|
55
|
+
externalId: string | null;
|
|
56
|
+
transactionId: string | null;
|
|
57
|
+
detail: string | null;
|
|
58
|
+
status: "open" | "resolved";
|
|
59
|
+
resolvedBy: string | null;
|
|
60
|
+
resolvedAt: string | null;
|
|
61
|
+
resolutionNote: string | null;
|
|
62
|
+
createdAt: string;
|
|
63
|
+
}[];
|
|
64
|
+
total: number;
|
|
65
|
+
page: number;
|
|
66
|
+
limit: number;
|
|
67
|
+
}>;
|
|
68
|
+
/**
|
|
69
|
+
* Conditional `UPDATE ... WHERE status = 'open'` is the whole double-resolve guard -
|
|
70
|
+
* a second resolve of an already-resolved finding matches zero rows and returns the
|
|
71
|
+
* row unchanged, with no second audit entry. `credited` requires the referenced
|
|
72
|
+
* transaction to already exist (the manual-adjustment path creates it - this never
|
|
73
|
+
* credits anything itself) and match the finding's currency/amount exactly.
|
|
74
|
+
*/
|
|
75
|
+
resolveFinding(adminId: User['id'], id: WalletReconciliationFindingRow['id'], resolution: ReconciliationResolution, meta?: ClientMeta): Promise<WalletReconciliationFindingDto>;
|
|
76
|
+
/**
|
|
77
|
+
* The window is anchored to the last completed run, not to the wall clock. BullMQ
|
|
78
|
+
* repeatable jobs are delayed jobs: a tick missed while no worker was running is
|
|
79
|
+
* skipped, never backfilled. Against a fixed `now - lookbackHours` window that means
|
|
80
|
+
* any outage longer than `lookbackHours` leaves a span nothing ever reconciles and
|
|
81
|
+
* nothing ever reports - the worst possible failure mode for a compensating control.
|
|
82
|
+
* Catching up is capped, and a capped window is reported rather than passed over.
|
|
83
|
+
*/
|
|
84
|
+
private resolveWindow;
|
|
85
|
+
/**
|
|
86
|
+
* Claim -> per-provider deposit/withdrawal diff -> stuck-withdrawal / stuck-sweep
|
|
87
|
+
* sweep -> finish + one audit entry + an alert past threshold. Returns null without
|
|
88
|
+
* doing any work when another cycle already owns the claim - the caller (cron tick or
|
|
89
|
+
* the on-demand route's worker) treats that as a normal, expected outcome.
|
|
90
|
+
*/
|
|
91
|
+
runCycle(runId?: WalletJobRun['runId']): Promise<{
|
|
92
|
+
runId: WalletJobRun['runId'];
|
|
93
|
+
} | null>;
|
|
94
|
+
private reconcileProvider;
|
|
95
|
+
private sweptExternalIds;
|
|
96
|
+
private reconcileDeposits;
|
|
97
|
+
private batchLookupByProviderRefId;
|
|
98
|
+
private reconcileStuckWithdrawals;
|
|
99
|
+
private reconcileStuckSweeps;
|
|
100
|
+
private countOpenFindings;
|
|
101
|
+
/**
|
|
102
|
+
* The claim IS the insert - a partial unique index on (jobName) WHERE finishedAt IS
|
|
103
|
+
* NULL makes a conflicting insert the concurrency guard. A stale in-flight run (older
|
|
104
|
+
* than the configured staleness window - presumed crashed) is marked `abandoned` and its slot freed
|
|
105
|
+
* for this call to retry the claim once.
|
|
106
|
+
*/
|
|
107
|
+
private claimRun;
|
|
108
|
+
private retryClaim;
|
|
109
|
+
private finishRun;
|
|
110
|
+
}
|
|
111
|
+
export {};
|
|
112
|
+
//# sourceMappingURL=reconciliation.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reconciliation.service.d.ts","sourceRoot":"","sources":["../../../src/wallet/service/reconciliation.service.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,QAAQ,EAQd,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAEL,KAAK,cAAc,EACnB,KAAK,UAAU,EACf,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,IAAI,EAEV,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAKL,KAAK,YAAY,EACjB,KAAK,2BAA2B,IAAI,8BAA8B,EAClE,KAAK,iBAAiB,EACvB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EACV,+BAA+B,EAC/B,wBAAwB,EACxB,2BAA2B,IAAI,8BAA8B,EAC9D,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAKzD,eAAO,MAAM,kCAAkC,2BAA6C,CAAC;AAE7F,eAAO,MAAM,4CAA4C,2BAExD,CAAC;AAEF,eAAO,MAAM,iCAAiC,iBAG7C,CAAC;AAEF,KAAK,WAAW,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC,CAAC;AAErF;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,OAAO,CAAC,mBAAmB,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,EACxD,EAAE,EAAE,WAAW,GAAG,SAAS,GAC1B,iBAAiB,GAAG,mBAAmB,GAAG,iBAAiB,GAAG,IAAI,CAWpE;AAmCD,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,cAAc,CAAC;IACxB,MAAM,EAAE,QAAQ,CAAC;IACjB,MAAM,EAAE,aAAa,CAAC;IACtB,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,KAAK,EAAE,cAAc,CAAC;IACtB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC;AAEF;;;;;;;GAOG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAiB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAW;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA0B;IAC3D,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAiB;IACvC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAiB;gBAErC,EACV,OAAO,EACP,MAAM,EACN,MAAM,EACN,gBAAgB,EAChB,KAAK,EACL,cAAc,GACf,EAAE,yBAAyB;IAStB,YAAY,CAAC,MAAM,EAAE,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;IAiC1D;;;;;;OAMG;IACG,cAAc,CAClB,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,EACnB,EAAE,EAAE,8BAA8B,CAAC,IAAI,CAAC,EACxC,UAAU,EAAE,wBAAwB,EACpC,IAAI,CAAC,EAAE,UAAU,GAChB,OAAO,CAAC,8BAA8B,CAAC;IAkF1C;;;;;;;OAOG;YACW,aAAa;IAyB3B;;;;;OAKG;IACG,QAAQ,CACZ,KAAK,GAAE,YAAY,CAAC,OAAO,CAAgB,GAC1C,OAAO,CAAC;QAAE,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC,CAAA;KAAE,GAAG,IAAI,CAAC;YAqFrC,iBAAiB;YA2CjB,gBAAgB;YAahB,iBAAiB;YAgDjB,0BAA0B;YAoB1B,yBAAyB;YAmEzB,oBAAoB;YAsCpB,iBAAiB;IAQ/B;;;;;OAKG;YACW,QAAQ;YAkCR,UAAU;YAaV,SAAS;CAUxB"}
|