@openora/core 0.4.1-canary.179 → 0.4.1-canary.180
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/contracts/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 +1 -1
- package/dist/contracts/adapters/index.d.ts.map +1 -1
- package/dist/contracts/adapters/index.js +1 -1
- package/dist/contracts/adapters/index.js.map +1 -1
- package/dist/contracts/adapters/payment.d.ts +24 -0
- package/dist/contracts/adapters/payment.d.ts.map +1 -1
- package/dist/contracts/adapters/payment.js +15 -0
- package/dist/contracts/adapters/payment.js.map +1 -1
- package/dist/wallet/__tests__/reconciliation.service.int.test.js +117 -0
- package/dist/wallet/__tests__/reconciliation.service.int.test.js.map +1 -1
- package/dist/wallet/__tests__/wallet.service.int.test.js +42 -4
- package/dist/wallet/__tests__/wallet.service.int.test.js.map +1 -1
- package/dist/wallet/router/index.d.ts.map +1 -1
- package/dist/wallet/router/index.js +5 -2
- package/dist/wallet/router/index.js.map +1 -1
- package/dist/wallet/service/reconciliation.service.d.ts +1 -0
- package/dist/wallet/service/reconciliation.service.d.ts.map +1 -1
- package/dist/wallet/service/reconciliation.service.js +71 -27
- package/dist/wallet/service/reconciliation.service.js.map +1 -1
- package/dist/wallet/service/wallet.service.d.ts +3 -3
- package/dist/wallet/service/wallet.service.d.ts.map +1 -1
- package/dist/wallet/service/wallet.service.js +57 -11
- package/dist/wallet/service/wallet.service.js.map +1 -1
- package/package.json +1 -1
|
@@ -12,7 +12,7 @@ import { type SealedToken } from './token.js';
|
|
|
12
12
|
* Admin actions that are recorded directly (not via a domain-event subscription)
|
|
13
13
|
* and so have no entry in `domainEventSchemas`. Add new direct actions here.
|
|
14
14
|
*/
|
|
15
|
-
export type DirectAuditAction = 'admin.user.updated' | 'admin.player.updated' | 'admin.player.removed' | 'admin.player_note.created' | 'audit.export' | 'mail.regulatory_delivery.sent' | 'mail.regulatory_delivery.failed' | 'chat.mute.expired' | 'chat.platform_ban.expired' | 'player.display_currency.set' | 'compliance.kyc.bulk_approve' | 'compliance.country_rule.created' | 'compliance.country_rule.setting_changed' | 'compliance.global_kyc.set' | 'wallet.withdrawal.auto_approved' | 'wallet.auto_withdrawal_rule.set' | 'wallet.auto_withdrawal_rule.deleted' | 'wallet.auto_withdrawal_config.set' | 'wallet.bonus_credit.created' | 'wallet.bonus_credit.completed' | 'wallet.bonus_rollover_config.set' | 'wallet.manual_adjustment.created' | 'wallet.withdrawal_address.created' | 'wallet.withdrawal_address.deleted' | 'wallet.custody.sweep_cycle' | 'wallet.custody.sweep' | 'wallet.reconciliation_finding.recorded' | 'wallet.reconciliation_run.skipped' | 'wallet.reconciliation_run.completed' | 'wallet.reconciliation_run.failed' | 'wallet.reconciliation_finding.resolved' | 'wallet.swap.refunded' | 'wallet.swap.fill_rejected' | 'wallet.wallet_asset.created' | 'wallet.wallet_asset.updated' | 'wallet.wallet_asset.deleted';
|
|
15
|
+
export type DirectAuditAction = 'admin.user.updated' | 'admin.player.updated' | 'admin.player.removed' | 'admin.player_note.created' | 'audit.export' | 'mail.regulatory_delivery.sent' | 'mail.regulatory_delivery.failed' | 'chat.mute.expired' | 'chat.platform_ban.expired' | 'player.display_currency.set' | 'compliance.kyc.bulk_approve' | 'compliance.country_rule.created' | 'compliance.country_rule.setting_changed' | 'compliance.global_kyc.set' | 'wallet.withdrawal.auto_approved' | 'wallet.withdrawal.outcome_unknown' | 'wallet.auto_withdrawal_rule.set' | 'wallet.auto_withdrawal_rule.deleted' | 'wallet.auto_withdrawal_config.set' | 'wallet.bonus_credit.created' | 'wallet.bonus_credit.completed' | 'wallet.bonus_rollover_config.set' | 'wallet.manual_adjustment.created' | 'wallet.withdrawal_address.created' | 'wallet.withdrawal_address.deleted' | 'wallet.custody.sweep_cycle' | 'wallet.custody.sweep' | 'wallet.reconciliation_finding.recorded' | 'wallet.reconciliation_run.skipped' | 'wallet.reconciliation_run.completed' | 'wallet.reconciliation_run.failed' | 'wallet.reconciliation_finding.resolved' | 'wallet.swap.refunded' | 'wallet.swap.fill_rejected' | 'wallet.wallet_asset.created' | 'wallet.wallet_asset.updated' | 'wallet.wallet_asset.deleted';
|
|
16
16
|
/**
|
|
17
17
|
* Every value the audit `action` column legitimately holds: a cross-module domain
|
|
18
18
|
* event topic (recorded by the audit plugin's subscriptions) or a direct admin
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/audit.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAEjE;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GACzB,oBAAoB,GACpB,sBAAsB,GACtB,sBAAsB,GACtB,2BAA2B,GAC3B,cAAc,GACd,+BAA+B,GAC/B,iCAAiC,GACjC,mBAAmB,GACnB,2BAA2B,GAC3B,6BAA6B,GAC7B,6BAA6B,GAC7B,iCAAiC,GACjC,yCAAyC,GACzC,2BAA2B,GAC3B,iCAAiC,GACjC,iCAAiC,GACjC,qCAAqC,GACrC,mCAAmC,GACnC,6BAA6B,GAC7B,+BAA+B,GAC/B,kCAAkC,GAClC,kCAAkC,GAClC,mCAAmC,GACnC,mCAAmC,GACnC,4BAA4B,GAC5B,sBAAsB,GACtB,wCAAwC,GACxC,mCAAmC,GACnC,qCAAqC,GACrC,kCAAkC,GAClC,wCAAwC,GACxC,sBAAsB,GACtB,2BAA2B,GAC3B,6BAA6B,GAC7B,6BAA6B,GAC7B,6BAA6B,CAAC;AAElC;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,iBAAiB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAE9E,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,CACJ,KAAK,EAAE;QACL,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,SAAS,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;QACzC,MAAM,EAAE,WAAW,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;QACxC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;QACvC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/B,GAAG,OAAO,CAAC,UAAU,CAAC,GACtB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,mBAAmB,CACjB,EAAE,EAAE,OAAO,EACX,KAAK,EAAE;QACL,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,SAAS,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;QACzC,MAAM,EAAE,WAAW,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;QACxC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;QACvC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/B,GAAG,OAAO,CAAC,UAAU,CAAC,GACtB,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,cAAc,CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/audit.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAqB,KAAK,WAAW,EAAE,MAAM,YAAY,CAAC;AAEjE;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GACzB,oBAAoB,GACpB,sBAAsB,GACtB,sBAAsB,GACtB,2BAA2B,GAC3B,cAAc,GACd,+BAA+B,GAC/B,iCAAiC,GACjC,mBAAmB,GACnB,2BAA2B,GAC3B,6BAA6B,GAC7B,6BAA6B,GAC7B,iCAAiC,GACjC,yCAAyC,GACzC,2BAA2B,GAC3B,iCAAiC,GACjC,mCAAmC,GACnC,iCAAiC,GACjC,qCAAqC,GACrC,mCAAmC,GACnC,6BAA6B,GAC7B,+BAA+B,GAC/B,kCAAkC,GAClC,kCAAkC,GAClC,mCAAmC,GACnC,mCAAmC,GACnC,4BAA4B,GAC5B,sBAAsB,GACtB,wCAAwC,GACxC,mCAAmC,GACnC,qCAAqC,GACrC,kCAAkC,GAClC,wCAAwC,GACxC,sBAAsB,GACtB,2BAA2B,GAC3B,6BAA6B,GAC7B,6BAA6B,GAC7B,6BAA6B,CAAC;AAElC;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,iBAAiB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAE9E,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,CACJ,KAAK,EAAE;QACL,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,SAAS,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;QACzC,MAAM,EAAE,WAAW,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;QACxC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;QACvC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/B,GAAG,OAAO,CAAC,UAAU,CAAC,GACtB,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,mBAAmB,CACjB,EAAE,EAAE,OAAO,EACX,KAAK,EAAE;QACL,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACxB,SAAS,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;QACzC,MAAM,EAAE,WAAW,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC3B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;QACxC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;QACvC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/B,GAAG,OAAO,CAAC,UAAU,CAAC,GACtB,OAAO,CAAC,IAAI,CAAC,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,cAAc,CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/contracts/adapters/audit.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,iBAAiB,EAAoB,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/contracts/adapters/audit.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,iBAAiB,EAAoB,MAAM,YAAY,CAAC;AAiFjE,MAAM,CAAC,MAAM,YAAY,GACvB,iBAAiB,CAAiB,cAAc,CAAC,CAAC"}
|
|
@@ -40,7 +40,7 @@ export { GAME_ADAPTER } from './game.js';
|
|
|
40
40
|
export type { KycAdapter, KycVendorStatus, KycDocument, KycResult, KycRiskSignals, KycStatusWriter, KycStatusTransition, KycWebhookVerifier, KycCheckStatus, KycCheckResult, } from './kyc.js';
|
|
41
41
|
export { KYC_ADAPTER, KYC_STATUS_WRITER, KYC_WEBHOOK_VERIFIER, KYC_VENDOR_STATUSES, KYC_CHECK_STATUSES, KycCheckStatusSchema, KycCheckResultSchema, } from './kyc.js';
|
|
42
42
|
export type { PaymentAdapter, PaymentWebhookEvent, PaymentWebhookVerifier, CustodyBalance, PaymentProvider, PaymentProviderRegistry, } from './payment.js';
|
|
43
|
-
export { PAYMENT_ADAPTER, PAYMENT_WEBHOOK_VERIFIER, PAYMENT_PROVIDERS, DEFAULT_PAYMENT_PROVIDER, } from './payment.js';
|
|
43
|
+
export { PAYMENT_ADAPTER, PAYMENT_WEBHOOK_VERIFIER, PAYMENT_PROVIDERS, DEFAULT_PAYMENT_PROVIDER, PaymentRejectedError, } from './payment.js';
|
|
44
44
|
export type { WalletAsset, WalletAssetCatalog } from './wallet-asset-catalog.js';
|
|
45
45
|
export { WALLET_ASSET_CATALOG } from './wallet-asset-catalog.js';
|
|
46
46
|
export type { ExchangeRateQuote, ExchangeRateProvider } from './exchange-rate-provider.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,7 +21,7 @@ export { createLobbySectionCatalog, defineLobbySection, LOBBY_SECTION_CATALOG, }
|
|
|
21
21
|
export { REALTIME_TRANSPORT, REALTIME_CLIENT_AUTHORIZER, CHAT_REALTIME_TRANSPORT, CHAT_REALTIME_CLIENT_AUTHORIZER, ACCESS_REVOKED_SIGNAL, } from './realtime.js';
|
|
22
22
|
export { GAME_ADAPTER } from './game.js';
|
|
23
23
|
export { KYC_ADAPTER, KYC_STATUS_WRITER, KYC_WEBHOOK_VERIFIER, KYC_VENDOR_STATUSES, KYC_CHECK_STATUSES, KycCheckStatusSchema, KycCheckResultSchema, } from './kyc.js';
|
|
24
|
-
export { PAYMENT_ADAPTER, PAYMENT_WEBHOOK_VERIFIER, PAYMENT_PROVIDERS, DEFAULT_PAYMENT_PROVIDER, } from './payment.js';
|
|
24
|
+
export { PAYMENT_ADAPTER, PAYMENT_WEBHOOK_VERIFIER, PAYMENT_PROVIDERS, DEFAULT_PAYMENT_PROVIDER, PaymentRejectedError, } from './payment.js';
|
|
25
25
|
export { WALLET_ASSET_CATALOG } from './wallet-asset-catalog.js';
|
|
26
26
|
export { CRYPTO_EXCHANGE_RATE_PROVIDER, FIAT_EXCHANGE_RATE_PROVIDER, } from './exchange-rate-provider.js';
|
|
27
27
|
export { EXCHANGE_RATE_READER } from './exchange-rate-reader.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contracts/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAQnF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAQvD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAUrC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAQvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAOvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAQ/D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAMnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAIvE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAcvD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AASlD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGlF,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAQnC,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,4BAA4B,CAAC;AAUpC,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,uBAAuB,EACvB,+BAA+B,EAC/B,qBAAqB,GACtB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAczC,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,UAAU,CAAC;AAUlB,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,iBAAiB,EACjB,wBAAwB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/contracts/adapters/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAQnF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAQvD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAUrC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAQvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAOvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAQ/D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAMnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAIvE,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAcvD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AASlD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGlF,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAQnC,OAAO,EACL,yBAAyB,EACzB,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,4BAA4B,CAAC;AAUpC,OAAO,EACL,kBAAkB,EAClB,0BAA0B,EAC1B,uBAAuB,EACvB,+BAA+B,EAC/B,qBAAqB,GACtB,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAczC,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,UAAU,CAAC;AAUlB,OAAO,EACL,eAAe,EACf,wBAAwB,EACxB,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE,OAAO,EACL,6BAA6B,EAC7B,2BAA2B,GAC5B,MAAM,6BAA6B,CAAC;AAGrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAUjE,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAGhE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAO7D,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,uBAAuB,EACvB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,OAAO,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,MAAM,iBAAiB,CAAC;AAGlF,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAUvC,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAGxD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAGrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAGlE,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG1C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAU/C,OAAO,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAM5F,OAAO,EAAE,+BAA+B,EAAE,MAAM,sCAAsC,CAAC;AASvF,OAAO,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAY9F,OAAO,EAAE,4BAA4B,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAS/F,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAOnE,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAGlF,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAOjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE7E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAA0B,MAAM,0BAA0B,CAAC;AAGvF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -32,6 +32,18 @@ export type PaymentWebhookEvent = {
|
|
|
32
32
|
status: 'processing' | 'completed' | 'failed';
|
|
33
33
|
txHash?: string;
|
|
34
34
|
};
|
|
35
|
+
/**
|
|
36
|
+
* Thrown by `PaymentAdapter.processWithdrawal` when the vendor definitely did not accept
|
|
37
|
+
* the payout - refused before sending, or rejected with a validation error. It is the only
|
|
38
|
+
* failure the wallet refunds on the spot.
|
|
39
|
+
*
|
|
40
|
+
* Any other throw (timeout, network error, 5xx) cannot be told apart from a lost response
|
|
41
|
+
* to a payout the vendor accepted and will broadcast, so the wallet holds the withdrawal
|
|
42
|
+
* in `processing` and leaves it to reconciliation instead of refunding into a double payout.
|
|
43
|
+
*/
|
|
44
|
+
export declare class PaymentRejectedError extends Error {
|
|
45
|
+
constructor(message: string);
|
|
46
|
+
}
|
|
35
47
|
/**
|
|
36
48
|
* A balance sitting in a per-player custody container that is not yet in the pooled
|
|
37
49
|
* account withdrawals are paid from. Produced by `PaymentAdapter.listSweepableBalances`
|
|
@@ -191,6 +203,18 @@ export type PaymentAdapter = {
|
|
|
191
203
|
status: 'processing' | 'completed' | 'failed';
|
|
192
204
|
txHash?: string;
|
|
193
205
|
} | null>;
|
|
206
|
+
/**
|
|
207
|
+
* Find a withdrawal by our own transaction id (the `transactionId` handed to
|
|
208
|
+
* `processWithdrawal`), or null when the vendor has no record of it. This is how a payout
|
|
209
|
+
* whose response was lost gets its vendor reference back: reconciliation calls it for a
|
|
210
|
+
* `processing` withdrawal that never stored a `providerRefId`. Implemented by a vendor that
|
|
211
|
+
* keeps the caller's reference on the transaction.
|
|
212
|
+
*/
|
|
213
|
+
findWithdrawalByReference?(transactionId: string): Promise<{
|
|
214
|
+
externalId: string;
|
|
215
|
+
status: 'processing' | 'completed' | 'failed';
|
|
216
|
+
txHash?: string;
|
|
217
|
+
} | null>;
|
|
194
218
|
};
|
|
195
219
|
export declare const PAYMENT_ADAPTER: Token<PaymentAdapter>;
|
|
196
220
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/payment.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"payment.d.ts","sourceRoot":"","sources":["../../../src/contracts/adapters/payment.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,21 @@
|
|
|
4
4
|
* module's plugin.ts. See docs/adapters/payment.md for the full binding guide.
|
|
5
5
|
*/
|
|
6
6
|
import { createToken } from './token.js';
|
|
7
|
+
/**
|
|
8
|
+
* Thrown by `PaymentAdapter.processWithdrawal` when the vendor definitely did not accept
|
|
9
|
+
* the payout - refused before sending, or rejected with a validation error. It is the only
|
|
10
|
+
* failure the wallet refunds on the spot.
|
|
11
|
+
*
|
|
12
|
+
* Any other throw (timeout, network error, 5xx) cannot be told apart from a lost response
|
|
13
|
+
* to a payout the vendor accepted and will broadcast, so the wallet holds the withdrawal
|
|
14
|
+
* in `processing` and leaves it to reconciliation instead of refunding into a double payout.
|
|
15
|
+
*/
|
|
16
|
+
export class PaymentRejectedError extends Error {
|
|
17
|
+
constructor(message) {
|
|
18
|
+
super(message);
|
|
19
|
+
this.name = 'PaymentRejectedError';
|
|
20
|
+
}
|
|
21
|
+
}
|
|
7
22
|
/**
|
|
8
23
|
* Name of the single default `PaymentAdapter`/`PaymentWebhookVerifier` binding, wrapped
|
|
9
24
|
* as one `PaymentProviderRegistry` entry so an operator with one vendor changes nothing.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment.js","sourceRoot":"","sources":["../../../src/contracts/adapters/payment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"payment.js","sourceRoot":"","sources":["../../../src/contracts/adapters/payment.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,WAAW,EAAc,MAAM,YAAY,CAAC;AAiCrD;;;;;;;;GAQG;AACH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACrC,CAAC;CACF;AAgBD;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,SAAS,CAAC;AAwKlD,MAAM,CAAC,MAAM,eAAe,GAA0B,WAAW,CAAC,iBAAiB,CAAC,CAAC;AAgBrF,MAAM,CAAC,MAAM,wBAAwB,GAAkC,WAAW,CAChF,0BAA0B,CAC3B,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAmC,WAAW,CAAC,mBAAmB,CAAC,CAAC"}
|
|
@@ -270,6 +270,123 @@ describe('ReconciliationService.runCycle - stuck withdrawals', () => {
|
|
|
270
270
|
expect(findings).toHaveLength(1);
|
|
271
271
|
expect(findings[0]).toMatchObject({ kind: 'unknown_at_provider', externalId: providerRefId });
|
|
272
272
|
});
|
|
273
|
+
it('recovers a payout whose response was lost by looking it up with our own id', async () => {
|
|
274
|
+
const { w, tx } = await seedStuckWithdrawal(null);
|
|
275
|
+
const vendorId = randomUUID();
|
|
276
|
+
const payment = mock({
|
|
277
|
+
listTransactions: vi.fn(async () => []),
|
|
278
|
+
findWithdrawalByReference: vi.fn(async () => ({
|
|
279
|
+
externalId: vendorId,
|
|
280
|
+
status: 'completed',
|
|
281
|
+
txHash: '0xabc',
|
|
282
|
+
})),
|
|
283
|
+
});
|
|
284
|
+
const { reconciliation } = makeServices(payment);
|
|
285
|
+
await reconciliation.runCycle();
|
|
286
|
+
expect(payment.findWithdrawalByReference).toHaveBeenCalledWith(tx.id);
|
|
287
|
+
const [row] = await db.drizzle.db
|
|
288
|
+
.select()
|
|
289
|
+
.from(walletTransaction)
|
|
290
|
+
.where(eq(walletTransaction.id, tx.id));
|
|
291
|
+
expect(row).toMatchObject({ status: 'completed', providerRefId: vendorId, txHash: '0xabc' });
|
|
292
|
+
expect(await balanceOf(w.id)).toBe('5.000000000000000000');
|
|
293
|
+
expect(await findingRows()).toHaveLength(0);
|
|
294
|
+
});
|
|
295
|
+
it('never refunds a payout the vendor cannot find by our id - it files a finding instead', async () => {
|
|
296
|
+
const { w, tx } = await seedStuckWithdrawal(null);
|
|
297
|
+
const payment = mock({
|
|
298
|
+
listTransactions: vi.fn(async () => []),
|
|
299
|
+
findWithdrawalByReference: vi.fn(async () => null),
|
|
300
|
+
});
|
|
301
|
+
const { reconciliation } = makeServices(payment);
|
|
302
|
+
await reconciliation.runCycle();
|
|
303
|
+
const [row] = await db.drizzle.db
|
|
304
|
+
.select()
|
|
305
|
+
.from(walletTransaction)
|
|
306
|
+
.where(eq(walletTransaction.id, tx.id));
|
|
307
|
+
expect(row?.status).toBe('processing');
|
|
308
|
+
expect(await balanceOf(w.id)).toBe('5.000000000000000000');
|
|
309
|
+
const findings = await findingRows();
|
|
310
|
+
expect(findings).toHaveLength(1);
|
|
311
|
+
expect(findings[0]).toMatchObject({ kind: 'unknown_at_provider', externalId: tx.id });
|
|
312
|
+
});
|
|
313
|
+
it('closes the held withdrawal when its finding is credited by hand, so a late vendor answer cannot pay twice', async () => {
|
|
314
|
+
const { w, tx } = await seedStuckWithdrawal(null);
|
|
315
|
+
const findWithdrawalByReference = vi.fn(async () => null);
|
|
316
|
+
const payment = mock({
|
|
317
|
+
listTransactions: vi.fn(async () => []),
|
|
318
|
+
findWithdrawalByReference,
|
|
319
|
+
});
|
|
320
|
+
const { wallet: walletSvc, reconciliation } = makeServices(payment, {
|
|
321
|
+
identityReader: mock({
|
|
322
|
+
...makeIdentityReader(),
|
|
323
|
+
getPlayerIdByUserId: vi.fn().mockResolvedValue(randomUUID()),
|
|
324
|
+
}),
|
|
325
|
+
});
|
|
326
|
+
await reconciliation.runCycle();
|
|
327
|
+
const [finding] = await findingRows();
|
|
328
|
+
const credit = await walletSvc.manualAdjust({
|
|
329
|
+
adminId: randomUUID(),
|
|
330
|
+
userId: w.userId,
|
|
331
|
+
direction: 'credit',
|
|
332
|
+
amount: '1',
|
|
333
|
+
currency: 'BTC',
|
|
334
|
+
reason: 'withdrawal never left the vendor',
|
|
335
|
+
idempotencyKey: randomUUID(),
|
|
336
|
+
ip: null,
|
|
337
|
+
userAgent: null,
|
|
338
|
+
});
|
|
339
|
+
await reconciliation.resolveFinding(randomUUID(), finding.id, {
|
|
340
|
+
outcome: 'credited',
|
|
341
|
+
transactionId: credit.transactionId,
|
|
342
|
+
});
|
|
343
|
+
findWithdrawalByReference.mockResolvedValue({
|
|
344
|
+
externalId: randomUUID(),
|
|
345
|
+
status: 'failed',
|
|
346
|
+
});
|
|
347
|
+
await reconciliation.runCycle();
|
|
348
|
+
const [row] = await db.drizzle.db
|
|
349
|
+
.select()
|
|
350
|
+
.from(walletTransaction)
|
|
351
|
+
.where(eq(walletTransaction.id, tx.id));
|
|
352
|
+
expect(row?.status).toBe('failed');
|
|
353
|
+
expect(await balanceOf(w.id)).toBe('6.000000000000000000');
|
|
354
|
+
});
|
|
355
|
+
it('measures stuck time from approval, not from the request', async () => {
|
|
356
|
+
const { tx } = await seedStuckWithdrawal(null);
|
|
357
|
+
await db.drizzle.db
|
|
358
|
+
.update(walletTransaction)
|
|
359
|
+
.set({ reviewedAt: new Date() })
|
|
360
|
+
.where(eq(walletTransaction.id, tx.id));
|
|
361
|
+
const payment = mock({
|
|
362
|
+
listTransactions: vi.fn(async () => []),
|
|
363
|
+
findWithdrawalByReference: vi.fn(async () => null),
|
|
364
|
+
});
|
|
365
|
+
const { reconciliation } = makeServices(payment);
|
|
366
|
+
await reconciliation.runCycle();
|
|
367
|
+
expect(payment.findWithdrawalByReference).not.toHaveBeenCalled();
|
|
368
|
+
expect(await findingRows()).toHaveLength(0);
|
|
369
|
+
});
|
|
370
|
+
it('keeps checking the rest of the batch when one vendor lookup throws', async () => {
|
|
371
|
+
const first = await seedStuckWithdrawal(null);
|
|
372
|
+
const second = await seedStuckWithdrawal(null);
|
|
373
|
+
const payment = mock({
|
|
374
|
+
listTransactions: vi.fn(async () => []),
|
|
375
|
+
findWithdrawalByReference: vi.fn(async (id) => {
|
|
376
|
+
if (id === first.tx.id) {
|
|
377
|
+
throw new Error('vendor unreachable');
|
|
378
|
+
}
|
|
379
|
+
return { externalId: randomUUID(), status: 'completed' };
|
|
380
|
+
}),
|
|
381
|
+
});
|
|
382
|
+
const { reconciliation } = makeServices(payment);
|
|
383
|
+
await reconciliation.runCycle();
|
|
384
|
+
const [row] = await db.drizzle.db
|
|
385
|
+
.select()
|
|
386
|
+
.from(walletTransaction)
|
|
387
|
+
.where(eq(walletTransaction.id, second.tx.id));
|
|
388
|
+
expect(row?.status).toBe('completed');
|
|
389
|
+
});
|
|
273
390
|
});
|
|
274
391
|
describe('ReconciliationService.runCycle - stuck swaps', () => {
|
|
275
392
|
const TWO_HOURS_AGO = () => new Date(Date.now() - 2 * 60 * 60 * 1000);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reconciliation.service.int.test.js","sourceRoot":"","sources":["../../../src/wallet/__tests__/reconciliation.service.int.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reconciliation.service.int.test.js","sourceRoot":"","sources":["../../../src/wallet/__tests__/reconciliation.service.int.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { describe, it, expect, vi, beforeAll, afterAll, beforeEach } from 'vites
|
|
|
2
2
|
import { findOneOrThrow } from '@openora/core/server';
|
|
3
3
|
import { randomUUID } from 'node:crypto';
|
|
4
4
|
import { and, eq, sql } from 'drizzle-orm';
|
|
5
|
-
import { DEFAULT_PAYMENT_PROVIDER, } from '@openora/core/contracts';
|
|
5
|
+
import { DEFAULT_PAYMENT_PROVIDER, PaymentRejectedError, } from '@openora/core/contracts';
|
|
6
6
|
import { createTestDb } from '@openora/core/testing';
|
|
7
7
|
import { migrate as migrateProfile } from '@openora/core/pam/migrate/profile';
|
|
8
8
|
import { mock, makeEventBus, makeIdentityReader, NO_CLIENT_META, makeAuditWriter, makePaymentProviderRegistry, } from '../../testing/mock.js';
|
|
@@ -985,12 +985,12 @@ describe('WalletService.approveWithdrawal (real PG)', () => {
|
|
|
985
985
|
await svc.approveWithdrawal(randomUUID(), pending.id);
|
|
986
986
|
expect(await txById(pending.id)).toMatchObject({ providerName: DEFAULT_PAYMENT_PROVIDER });
|
|
987
987
|
});
|
|
988
|
-
it('marks failed, refunds the hold, emits failed, and rethrows when the
|
|
988
|
+
it('marks failed, refunds the hold, emits failed, and rethrows when the vendor refuses the payout', async () => {
|
|
989
989
|
const { svc, events, psp } = makeService();
|
|
990
990
|
const w = await seedWallet({ balance: '20' });
|
|
991
991
|
const pending = await seedTx(w.id, { amount: '40' });
|
|
992
|
-
psp.processWithdrawal.mockRejectedValueOnce(new
|
|
993
|
-
await expect(svc.approveWithdrawal(randomUUID(), pending.id)).rejects.
|
|
992
|
+
psp.processWithdrawal.mockRejectedValueOnce(new PaymentRejectedError('destination not approved'));
|
|
993
|
+
await expect(svc.approveWithdrawal(randomUUID(), pending.id)).rejects.toBeInstanceOf(PaymentRejectedError);
|
|
994
994
|
expect(await txById(pending.id)).toMatchObject({ status: 'failed' });
|
|
995
995
|
expect(await balanceOf(w.userId)).toBe(60);
|
|
996
996
|
expect(emittedTopics(events)).toEqual([
|
|
@@ -998,6 +998,44 @@ describe('WalletService.approveWithdrawal (real PG)', () => {
|
|
|
998
998
|
'wallet.withdrawal.failed',
|
|
999
999
|
]);
|
|
1000
1000
|
});
|
|
1001
|
+
it('holds the withdrawal in processing without a refund when the vendor call times out', async () => {
|
|
1002
|
+
const { svc, events, psp, audit } = makeService();
|
|
1003
|
+
const w = await seedWallet({ balance: '20' });
|
|
1004
|
+
const pending = await seedTx(w.id, { amount: '40' });
|
|
1005
|
+
psp.processWithdrawal.mockRejectedValueOnce(new Error('socket hang up'));
|
|
1006
|
+
const result = await svc.approveWithdrawal(randomUUID(), pending.id);
|
|
1007
|
+
expect(result.status).toBe('processing');
|
|
1008
|
+
expect(await txById(pending.id)).toMatchObject({
|
|
1009
|
+
status: 'processing',
|
|
1010
|
+
providerRefId: null,
|
|
1011
|
+
providerName: DEFAULT_PAYMENT_PROVIDER,
|
|
1012
|
+
});
|
|
1013
|
+
expect(await balanceOf(w.userId)).toBe(20);
|
|
1014
|
+
expect(emittedTopics(events)).toEqual(['wallet.withdrawal.approved']);
|
|
1015
|
+
expect(audit.record).toHaveBeenCalledWith(expect.objectContaining({
|
|
1016
|
+
action: 'wallet.withdrawal.outcome_unknown',
|
|
1017
|
+
resourceId: pending.id,
|
|
1018
|
+
}));
|
|
1019
|
+
});
|
|
1020
|
+
it('keeps a webhook-driven failure when the vendor answers completed after it', async () => {
|
|
1021
|
+
const { svc, events, psp } = makeService();
|
|
1022
|
+
const w = await seedWallet({ balance: '20' });
|
|
1023
|
+
const pending = await seedTx(w.id, { amount: '40' });
|
|
1024
|
+
const externalId = randomUUID();
|
|
1025
|
+
psp.processWithdrawal.mockImplementationOnce(async () => {
|
|
1026
|
+
await db.drizzle.db
|
|
1027
|
+
.update(walletTransaction)
|
|
1028
|
+
.set({ providerName: DEFAULT_PAYMENT_PROVIDER, providerRefId: externalId })
|
|
1029
|
+
.where(eq(walletTransaction.id, pending.id));
|
|
1030
|
+
await svc.reconcileWithdrawalStatus({ kind: 'withdrawal', externalId, status: 'failed' });
|
|
1031
|
+
return { externalId, status: 'completed' };
|
|
1032
|
+
});
|
|
1033
|
+
const result = await svc.approveWithdrawal(randomUUID(), pending.id);
|
|
1034
|
+
expect(result.status).toBe('failed');
|
|
1035
|
+
expect(await txById(pending.id)).toMatchObject({ status: 'failed' });
|
|
1036
|
+
expect(await balanceOf(w.userId)).toBe(60);
|
|
1037
|
+
expect(emittedTopics(events)).not.toContain('wallet.withdrawal.completed');
|
|
1038
|
+
});
|
|
1001
1039
|
it('marks failed and refunds when the PSP answers with a failed status', async () => {
|
|
1002
1040
|
const { svc, psp } = makeService();
|
|
1003
1041
|
const w = await seedWallet({ balance: '20' });
|