@openora/core 0.4.1-canary.12 → 0.4.1-canary.13
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/index.d.ts +2 -2
- 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 +57 -0
- package/dist/contracts/adapters/payment.d.ts.map +1 -1
- package/dist/contracts/adapters/payment.js +4 -2
- package/dist/contracts/adapters/payment.js.map +1 -1
- package/dist/contracts/schemas/__tests__/common-schemas.test.d.ts +2 -0
- package/dist/contracts/schemas/__tests__/common-schemas.test.d.ts.map +1 -0
- package/dist/contracts/schemas/__tests__/common-schemas.test.js +17 -0
- package/dist/contracts/schemas/__tests__/common-schemas.test.js.map +1 -0
- package/dist/contracts/schemas/common.js +1 -1
- package/dist/contracts/schemas/platform-config.d.ts +3 -0
- package/dist/contracts/schemas/platform-config.d.ts.map +1 -1
- package/dist/contracts/schemas/platform-config.js +2 -1
- package/dist/contracts/schemas/platform-config.js.map +1 -1
- package/dist/wallet/__tests__/hmac-payment-webhook-verifier.test.d.ts +2 -0
- package/dist/wallet/__tests__/hmac-payment-webhook-verifier.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/hmac-payment-webhook-verifier.test.js +25 -0
- package/dist/wallet/__tests__/hmac-payment-webhook-verifier.test.js.map +1 -0
- package/dist/wallet/__tests__/wallet-auto-rule.router.test.js +8 -6
- package/dist/wallet/__tests__/wallet-auto-rule.router.test.js.map +1 -1
- package/dist/wallet/__tests__/wallet-auto-withdrawal.test.js +102 -4
- package/dist/wallet/__tests__/wallet-auto-withdrawal.test.js.map +1 -1
- package/dist/wallet/__tests__/wallet-webhook.router.test.d.ts +2 -0
- package/dist/wallet/__tests__/wallet-webhook.router.test.d.ts.map +1 -0
- package/dist/wallet/__tests__/wallet-webhook.router.test.js +78 -0
- package/dist/wallet/__tests__/wallet-webhook.router.test.js.map +1 -0
- package/dist/wallet/__tests__/wallet.router.test.js +4 -2
- package/dist/wallet/__tests__/wallet.router.test.js.map +1 -1
- package/dist/wallet/__tests__/wallet.service.test.js +248 -3
- package/dist/wallet/__tests__/wallet.service.test.js.map +1 -1
- package/dist/wallet/adapters/hmac-payment-webhook-verifier.d.ts +7 -0
- package/dist/wallet/adapters/hmac-payment-webhook-verifier.d.ts.map +1 -0
- package/dist/wallet/adapters/hmac-payment-webhook-verifier.js +30 -0
- package/dist/wallet/adapters/hmac-payment-webhook-verifier.js.map +1 -0
- package/dist/wallet/contract/index.d.ts +28 -0
- package/dist/wallet/contract/index.d.ts.map +1 -1
- package/dist/wallet/contract/index.js +28 -7
- package/dist/wallet/contract/index.js.map +1 -1
- package/dist/wallet/drizzle/migrations/0002_aromatic_archangel.sql +20 -0
- package/dist/wallet/drizzle/migrations/meta/0002_snapshot.json +513 -0
- package/dist/wallet/drizzle/migrations/meta/_journal.json +7 -0
- package/dist/wallet/plugin.d.ts.map +1 -1
- package/dist/wallet/plugin.js +12 -2
- package/dist/wallet/plugin.js.map +1 -1
- package/dist/wallet/router/index.d.ts +16 -2
- package/dist/wallet/router/index.d.ts.map +1 -1
- package/dist/wallet/router/index.js +24 -4
- package/dist/wallet/router/index.js.map +1 -1
- package/dist/wallet/schema/index.d.ts +144 -0
- package/dist/wallet/schema/index.d.ts.map +1 -1
- package/dist/wallet/schema/index.js +20 -4
- package/dist/wallet/schema/index.js.map +1 -1
- package/dist/wallet/service/wallet.service.d.ts +20 -2
- package/dist/wallet/service/wallet.service.d.ts.map +1 -1
- package/dist/wallet/service/wallet.service.js +196 -31
- package/dist/wallet/service/wallet.service.js.map +1 -1
- package/package.json +1 -1
|
@@ -40,6 +40,7 @@ export declare const WithdrawInputSchema: z.ZodObject<{
|
|
|
40
40
|
currency: z.ZodString;
|
|
41
41
|
provider: z.ZodOptional<z.ZodString>;
|
|
42
42
|
idempotencyKey: z.ZodOptional<z.ZodUUID>;
|
|
43
|
+
destinationAddress: z.ZodOptional<z.ZodString>;
|
|
43
44
|
}, z.core.$strip>;
|
|
44
45
|
export declare const TransactionResultSchema: z.ZodObject<{
|
|
45
46
|
transactionId: z.ZodUUID;
|
|
@@ -88,6 +89,8 @@ export declare const WithdrawalQueueItemSchema: z.ZodObject<{
|
|
|
88
89
|
}>>;
|
|
89
90
|
riskTags: z.ZodArray<z.ZodString>;
|
|
90
91
|
requestedAt: z.ZodISODateTime;
|
|
92
|
+
destinationAddress: z.ZodNullable<z.ZodString>;
|
|
93
|
+
txHash: z.ZodNullable<z.ZodString>;
|
|
91
94
|
}, z.core.$strip>;
|
|
92
95
|
export type WithdrawalQueueItem = z.infer<typeof WithdrawalQueueItemSchema>;
|
|
93
96
|
export declare const WithdrawalQueueFilterSchema: z.ZodObject<{
|
|
@@ -146,6 +149,17 @@ export declare const RejectWithdrawalInputSchema: z.ZodObject<{
|
|
|
146
149
|
withdrawalId: z.ZodUUID;
|
|
147
150
|
reason: z.ZodString;
|
|
148
151
|
}, z.core.$strip>;
|
|
152
|
+
export declare const PaymentWebhookInputSchema: z.ZodRecord<z.ZodString, z.ZodUnknown>;
|
|
153
|
+
export declare const PaymentWebhookOutputSchema: z.ZodObject<{
|
|
154
|
+
ok: z.ZodLiteral<true>;
|
|
155
|
+
}, z.core.$strip>;
|
|
156
|
+
export declare const DepositAddressInputSchema: z.ZodObject<{
|
|
157
|
+
currency: z.ZodString;
|
|
158
|
+
}, z.core.$strip>;
|
|
159
|
+
export declare const DepositAddressSchema: z.ZodObject<{
|
|
160
|
+
address: z.ZodString;
|
|
161
|
+
currency: z.ZodString;
|
|
162
|
+
}, z.core.$strip>;
|
|
149
163
|
export declare const walletContract: {
|
|
150
164
|
getBalance: import("@orpc/contract").ContractProcedureBuilderWithOutput<import("@orpc/contract").Schema<unknown, unknown>, z.ZodObject<{
|
|
151
165
|
balance: z.ZodString;
|
|
@@ -173,6 +187,7 @@ export declare const walletContract: {
|
|
|
173
187
|
currency: z.ZodString;
|
|
174
188
|
provider: z.ZodOptional<z.ZodString>;
|
|
175
189
|
idempotencyKey: z.ZodOptional<z.ZodUUID>;
|
|
190
|
+
destinationAddress: z.ZodOptional<z.ZodString>;
|
|
176
191
|
}, z.core.$strip>, z.ZodObject<{
|
|
177
192
|
transactionId: z.ZodUUID;
|
|
178
193
|
status: z.ZodEnum<{
|
|
@@ -310,6 +325,8 @@ export declare const walletContract: {
|
|
|
310
325
|
}>>;
|
|
311
326
|
riskTags: z.ZodArray<z.ZodString>;
|
|
312
327
|
requestedAt: z.ZodISODateTime;
|
|
328
|
+
destinationAddress: z.ZodNullable<z.ZodString>;
|
|
329
|
+
txHash: z.ZodNullable<z.ZodString>;
|
|
313
330
|
}, z.core.$strip>>;
|
|
314
331
|
total: z.ZodNumber;
|
|
315
332
|
page: z.ZodNumber;
|
|
@@ -374,5 +391,16 @@ export declare const walletContract: {
|
|
|
374
391
|
userId: z.ZodUUID;
|
|
375
392
|
}, z.core.$strip>, z.ZodBoolean, Record<never, never>, Record<never, never>>;
|
|
376
393
|
};
|
|
394
|
+
deposits: {
|
|
395
|
+
getAddress: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodObject<{
|
|
396
|
+
currency: z.ZodString;
|
|
397
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
398
|
+
address: z.ZodString;
|
|
399
|
+
currency: z.ZodString;
|
|
400
|
+
}, z.core.$strip>, Record<never, never>, Record<never, never>>;
|
|
401
|
+
};
|
|
402
|
+
webhook: import("@orpc/contract").ContractProcedureBuilderWithInputOutput<z.ZodRecord<z.ZodString, z.ZodUnknown>, z.ZodObject<{
|
|
403
|
+
ok: z.ZodLiteral<true>;
|
|
404
|
+
}, z.core.$strip>, Record<never, never>, Record<never, never>>;
|
|
377
405
|
};
|
|
378
406
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/wallet/contract/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/wallet/contract/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EAKL,gBAAgB,EAChB,6BAA6B,EAC7B,2BAA2B,EAC5B,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,gBAAgB,EAAE,6BAA6B,EAAE,2BAA2B,EAAE,CAAC;AASxF,eAAO,MAAM,mBAAmB;;;iBAG9B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;iBAOlC,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;iBAK7B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;iBAM9B,CAAC;AAEH,eAAO,MAAM,uBAAuB;;;;;;;;;;;iBAGlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,eAAO,MAAM,0BAA0B;;;;iBAErC,CAAC;AAEH,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAapC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAStC,CAAC;AACH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,eAAO,MAAM,wBAAwB;;;;;;;;iBAQnC,CAAC;AACH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,eAAO,MAAM,gCAAgC;;;;iBAI3C,CAAC;AAEH,eAAO,MAAM,2BAA2B;;iBAAmC,CAAC;AAE5E,eAAO,MAAM,4BAA4B;;iBAAyC,CAAC;AAEnF,eAAO,MAAM,2BAA2B;;;iBAGtC,CAAC;AAEH,eAAO,MAAM,yBAAyB,wCAAoC,CAAC;AAC3E,eAAO,MAAM,0BAA0B;;iBAAoC,CAAC;AAE5E,eAAO,MAAM,yBAAyB;;iBAAmD,CAAC;AAC1F,eAAO,MAAM,oBAAoB;;;iBAG/B,CAAC;AAEH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoE1B,CAAC"}
|
|
@@ -1,35 +1,37 @@
|
|
|
1
1
|
import { oc } from '@orpc/contract';
|
|
2
2
|
import * as z from 'zod';
|
|
3
|
-
import {
|
|
3
|
+
import { KycStatusSchema, MoneyAmountSchema, TimestampSchema, UuidSchema, WalletRailSchema, WalletTransactionStatusSchema, WalletTransactionTypeSchema, } from '@openora/core/contracts';
|
|
4
4
|
import { PageQuerySchema, paginated } from '@openora/core/contracts/kit';
|
|
5
5
|
export { WalletRailSchema, WalletTransactionStatusSchema, WalletTransactionTypeSchema };
|
|
6
6
|
// Deposit/withdraw amounts must be strictly positive; balances/thresholds may be zero.
|
|
7
7
|
const PositiveMoneyAmountSchema = MoneyAmountSchema.refine((v) => Number(v) > 0, {
|
|
8
8
|
message: 'must be greater than zero',
|
|
9
9
|
});
|
|
10
|
+
const WalletCurrencyCodeSchema = z.string().min(1);
|
|
10
11
|
export const WalletBalanceSchema = z.object({
|
|
11
12
|
balance: MoneyAmountSchema,
|
|
12
|
-
currency:
|
|
13
|
+
currency: WalletCurrencyCodeSchema,
|
|
13
14
|
});
|
|
14
15
|
export const WalletTransactionSchema = z.object({
|
|
15
16
|
id: UuidSchema,
|
|
16
17
|
type: WalletTransactionTypeSchema,
|
|
17
18
|
amount: MoneyAmountSchema,
|
|
18
|
-
currency:
|
|
19
|
+
currency: WalletCurrencyCodeSchema,
|
|
19
20
|
status: WalletTransactionStatusSchema,
|
|
20
21
|
createdAt: TimestampSchema,
|
|
21
22
|
});
|
|
22
23
|
export const DepositInputSchema = z.object({
|
|
23
24
|
amount: PositiveMoneyAmountSchema,
|
|
24
|
-
currency:
|
|
25
|
+
currency: WalletCurrencyCodeSchema,
|
|
25
26
|
provider: z.string().optional(),
|
|
26
27
|
idempotencyKey: UuidSchema.optional(),
|
|
27
28
|
});
|
|
28
29
|
export const WithdrawInputSchema = z.object({
|
|
29
30
|
amount: PositiveMoneyAmountSchema,
|
|
30
|
-
currency:
|
|
31
|
+
currency: WalletCurrencyCodeSchema,
|
|
31
32
|
provider: z.string().optional(),
|
|
32
33
|
idempotencyKey: UuidSchema.optional(),
|
|
34
|
+
destinationAddress: z.string().optional(),
|
|
33
35
|
});
|
|
34
36
|
export const TransactionResultSchema = z.object({
|
|
35
37
|
transactionId: UuidSchema,
|
|
@@ -43,16 +45,18 @@ export const WithdrawalQueueItemSchema = z.object({
|
|
|
43
45
|
userId: UuidSchema,
|
|
44
46
|
username: z.string(),
|
|
45
47
|
amount: MoneyAmountSchema,
|
|
46
|
-
currency:
|
|
48
|
+
currency: WalletCurrencyCodeSchema,
|
|
47
49
|
rail: WalletRailSchema.nullable(),
|
|
48
50
|
status: WalletTransactionStatusSchema,
|
|
49
51
|
kycStatus: KycStatusSchema.nullable(),
|
|
50
52
|
riskTags: z.array(z.string()),
|
|
51
53
|
requestedAt: TimestampSchema,
|
|
54
|
+
destinationAddress: z.string().nullable(),
|
|
55
|
+
txHash: z.string().nullable(),
|
|
52
56
|
});
|
|
53
57
|
export const WithdrawalQueueFilterSchema = PageQuerySchema.extend({
|
|
54
58
|
status: WalletTransactionStatusSchema.optional(),
|
|
55
|
-
currency:
|
|
59
|
+
currency: WalletCurrencyCodeSchema.optional(),
|
|
56
60
|
rail: WalletRailSchema.optional(),
|
|
57
61
|
minAmount: MoneyAmountSchema.optional(),
|
|
58
62
|
maxAmount: MoneyAmountSchema.optional(),
|
|
@@ -80,6 +84,13 @@ export const RejectWithdrawalInputSchema = z.object({
|
|
|
80
84
|
withdrawalId: UuidSchema,
|
|
81
85
|
reason: z.string().min(1),
|
|
82
86
|
});
|
|
87
|
+
export const PaymentWebhookInputSchema = z.record(z.string(), z.unknown());
|
|
88
|
+
export const PaymentWebhookOutputSchema = z.object({ ok: z.literal(true) });
|
|
89
|
+
export const DepositAddressInputSchema = z.object({ currency: WalletCurrencyCodeSchema });
|
|
90
|
+
export const DepositAddressSchema = z.object({
|
|
91
|
+
address: z.string(),
|
|
92
|
+
currency: WalletCurrencyCodeSchema,
|
|
93
|
+
});
|
|
83
94
|
export const walletContract = {
|
|
84
95
|
getBalance: oc.route({ method: 'GET', path: '/wallet/balance' }).output(WalletBalanceSchema),
|
|
85
96
|
deposit: oc
|
|
@@ -126,5 +137,15 @@ export const walletContract = {
|
|
|
126
137
|
.input(AutoWithdrawalRuleKeySchema)
|
|
127
138
|
.output(z.boolean()),
|
|
128
139
|
},
|
|
140
|
+
deposits: {
|
|
141
|
+
getAddress: oc
|
|
142
|
+
.route({ method: 'POST', path: '/wallet/deposits/address' })
|
|
143
|
+
.input(DepositAddressInputSchema)
|
|
144
|
+
.output(DepositAddressSchema),
|
|
145
|
+
},
|
|
146
|
+
webhook: oc
|
|
147
|
+
.route({ method: 'POST', path: '/wallet/webhook' })
|
|
148
|
+
.input(PaymentWebhookInputSchema)
|
|
149
|
+
.output(PaymentWebhookOutputSchema),
|
|
129
150
|
};
|
|
130
151
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/wallet/contract/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/wallet/contract/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
CREATE TABLE "wallet_deposit_address" (
|
|
2
|
+
"id" uuid PRIMARY KEY DEFAULT gen_random_uuid() NOT NULL,
|
|
3
|
+
"user_id" uuid NOT NULL,
|
|
4
|
+
"currency" text NOT NULL,
|
|
5
|
+
"address" text NOT NULL,
|
|
6
|
+
"provider_name" text NOT NULL,
|
|
7
|
+
"created_at" timestamp with time zone DEFAULT now() NOT NULL
|
|
8
|
+
);
|
|
9
|
+
--> statement-breakpoint
|
|
10
|
+
DROP INDEX "wallet_transaction_provider_ref_id_idx";--> statement-breakpoint
|
|
11
|
+
ALTER TABLE "auto_withdrawal_rule" ALTER COLUMN "threshold" SET DATA TYPE numeric(18, 8);--> statement-breakpoint
|
|
12
|
+
ALTER TABLE "wallet" ALTER COLUMN "balance" SET DATA TYPE numeric(18, 8);--> statement-breakpoint
|
|
13
|
+
ALTER TABLE "wallet" ALTER COLUMN "balance" SET DEFAULT '0';--> statement-breakpoint
|
|
14
|
+
ALTER TABLE "wallet_transaction" ALTER COLUMN "amount" SET DATA TYPE numeric(18, 8);--> statement-breakpoint
|
|
15
|
+
ALTER TABLE "wallet_transaction" ADD COLUMN "destination_address" text;--> statement-breakpoint
|
|
16
|
+
ALTER TABLE "wallet_transaction" ADD COLUMN "tx_hash" text;--> statement-breakpoint
|
|
17
|
+
CREATE UNIQUE INDEX "wallet_deposit_address_user_id_currency_idx" ON "wallet_deposit_address" USING btree ("user_id","currency");--> statement-breakpoint
|
|
18
|
+
CREATE INDEX "wallet_deposit_address_address_idx" ON "wallet_deposit_address" USING btree ("address");--> statement-breakpoint
|
|
19
|
+
CREATE INDEX "wallet_transaction_tx_hash_idx" ON "wallet_transaction" USING btree ("tx_hash");--> statement-breakpoint
|
|
20
|
+
CREATE UNIQUE INDEX "wallet_transaction_provider_ref_id_idx" ON "wallet_transaction" USING btree ("provider_ref_id") WHERE "wallet_transaction"."provider_ref_id" IS NOT NULL;
|