@deriverse/kit 1.0.41 → 1.0.42

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.
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.GetClientPerpOrdersArgsSchema = exports.GetClientSpotOrdersArgsSchema = exports.GetClientPerpOrdersInfoArgsSchema = exports.GetClientSpotOrdersInfoArgsSchema = exports.DistribDividendsArgsSchema = exports.UpdateInstrDataArgsSchema = exports.GetInstrAccountByTagArgsSchema = exports.GetSpotContextArgsSchema = exports.GetInstrIdArgsSchema = exports.NewInstrumentArgsSchema = exports.PerpForcedCloseArgsSchema = exports.PerpStatisticsResetArgsSchema = exports.PerpChangeLeverageArgsSchema = exports.PerpMassCancelArgsSchema = exports.PerpOrderCancelArgsSchema = exports.PerpQuotesReplaceArgsSchema = exports.NewPerpOrderArgsSchema = exports.PerpSellSeatArgsSchema = exports.PerpBuySeatArgsSchema = exports.PerpDepositArgsSchema = exports.SpotLpArgsSchema = exports.SpotMassCancelArgsSchema = exports.SpotOrderCancelArgsSchema = exports.SwapArgsSchema = exports.SpotQuotesReplaceArgsSchema = exports.NewSpotOrderArgsSchema = exports.WithdrawArgsSchema = exports.DepositArgsSchema = exports.InstrIdSchema = exports.EngineArgsSchema = void 0;
4
4
  const zod_1 = require("zod");
5
+ const constants_1 = require("../constants");
5
6
  const nonNegativeInt = zod_1.z.int().nonnegative({ error: 'Must be a non-negative integer' });
6
7
  const positiveNumber = zod_1.z.number().positive({ error: 'Must be a positive number' });
7
8
  const side = zod_1.z.int().min(0).max(1, { error: 'Side must be 0 (Bid) or 1 (Ask)' });
@@ -51,26 +52,21 @@ const NewSpotOrderArgsSchema = zod_1.z.object({
51
52
  edgePrice: positiveNumber.optional(),
52
53
  });
53
54
  exports.NewSpotOrderArgsSchema = NewSpotOrderArgsSchema;
54
- const SpotQuotesReplaceArgsSchema = zod_1.z.object({
55
- instrId: nonNegativeInt.meta({ description: 'Instrument ID' }),
56
- bidOrderIdToCancel: nonNegativeInt.meta({ description: 'Order ID to cancel on bid side, zero means no action' }),
57
- newBidPrice: zod_1.z
58
- .number()
59
- .nonnegative({ error: 'Price must be non-negative' })
60
- .meta({ description: 'New order bid price' }),
61
- newBidQty: zod_1.z
62
- .number()
63
- .nonnegative({ error: 'Quantity must be non-negative' })
64
- .meta({ description: 'New order bid quantity, zero means no action' }),
65
- askOrderIdToCancel: nonNegativeInt.meta({ description: 'Order ID to cancel on ask side, zero means no action' }),
66
- newAskPrice: zod_1.z
55
+ const QuoteOrderSchema = zod_1.z.object({
56
+ newPrice: zod_1.z
67
57
  .number()
68
58
  .nonnegative({ error: 'Price must be non-negative' })
69
- .meta({ description: 'New order ask price' }),
70
- newAskQty: zod_1.z
59
+ .meta({ description: 'New order price' }),
60
+ newQty: zod_1.z
71
61
  .number()
72
62
  .nonnegative({ error: 'Quantity must be non-negative' })
73
- .meta({ description: 'New order ask quantity, zero means no action' }),
63
+ .meta({ description: 'New order quantity' }),
64
+ oldId: nonNegativeInt.meta({ description: 'Old order ID to cancel, zero means no action' }),
65
+ side: side.meta({ description: '0 - Bid, 1 - Ask' }),
66
+ });
67
+ const SpotQuotesReplaceArgsSchema = zod_1.z.object({
68
+ instrId: nonNegativeInt.meta({ description: 'Instrument ID' }),
69
+ orders: zod_1.z.array(QuoteOrderSchema).min(1).max(12, { error: 'Exceeded orders limit of 12' }).meta({ description: 'Quote orders to place/replace' }),
74
70
  });
75
71
  exports.SpotQuotesReplaceArgsSchema = SpotQuotesReplaceArgsSchema;
76
72
  const SwapArgsSchema = zod_1.z.object({
@@ -79,6 +75,12 @@ const SwapArgsSchema = zod_1.z.object({
79
75
  amount: positiveNumber.meta({ description: 'Amount to swap' }),
80
76
  limitPrice: positiveNumber.meta({ description: 'Limit price' }),
81
77
  crncyInput: zod_1.z.boolean().meta({ description: 'Currency token as input token' }),
78
+ refFeeRate: zod_1.z
79
+ .number()
80
+ .min(0)
81
+ .max(constants_1.MAX_SWAP_FEE_RATE, { error: `Ref fee rate must be between 0 and ${constants_1.MAX_SWAP_FEE_RATE}` }),
82
+ minAmountOut: zod_1.z.number().min(0, { error: 'Min amount out must be at least 0' }),
83
+ feeTakerWallet: solanaAddress.optional().meta({ description: 'Fee taker wallet address' }),
82
84
  });
83
85
  exports.SwapArgsSchema = SwapArgsSchema;
84
86
  const SpotOrderCancelArgsSchema = zod_1.z.object({
@@ -130,24 +132,7 @@ const NewPerpOrderArgsSchema = zod_1.z.object({
130
132
  exports.NewPerpOrderArgsSchema = NewPerpOrderArgsSchema;
131
133
  const PerpQuotesReplaceArgsSchema = zod_1.z.object({
132
134
  instrId: nonNegativeInt.meta({ description: 'Instrument ID' }),
133
- bidOrderIdToCancel: nonNegativeInt.meta({ description: 'Order ID to cancel on bid side, zero means no action' }),
134
- newBidPrice: zod_1.z
135
- .number()
136
- .nonnegative({ error: 'Price must be non-negative' })
137
- .meta({ description: 'New order bid price' }),
138
- newBidQty: zod_1.z
139
- .number()
140
- .nonnegative({ error: 'Quantity must be non-negative' })
141
- .meta({ description: 'New order bid quantity, zero means no action' }),
142
- askOrderIdToCancel: nonNegativeInt.meta({ description: 'Order ID to cancel on ask side, zero means no action' }),
143
- newAskPrice: zod_1.z
144
- .number()
145
- .nonnegative({ error: 'Price must be non-negative' })
146
- .meta({ description: 'New order ask price' }),
147
- newAskQty: zod_1.z
148
- .number()
149
- .nonnegative({ error: 'Quantity must be non-negative' })
150
- .meta({ description: 'New order ask quantity, zero means no action' }),
135
+ orders: zod_1.z.array(QuoteOrderSchema).min(1).max(12, { error: 'Exceeded orders limit of 12' }).meta({ description: 'Quote orders to place/replace' }),
151
136
  });
152
137
  exports.PerpQuotesReplaceArgsSchema = PerpQuotesReplaceArgsSchema;
153
138
  const PerpOrderCancelArgsSchema = zod_1.z.object({
@@ -54,12 +54,7 @@ const schemas_1 = require("./schemas");
54
54
  (0, vitest_1.it)('accepts zero for quote prices/quantities', () => {
55
55
  const result = schemas_1.SpotQuotesReplaceArgsSchema.safeParse({
56
56
  instrId: 1,
57
- bidOrderIdToCancel: 0,
58
- newBidPrice: 0,
59
- newBidQty: 0,
60
- askOrderIdToCancel: 0,
61
- newAskPrice: 0,
62
- newAskQty: 0,
57
+ orders: [{ newPrice: 0, newQty: 0, oldId: 0, side: 0 }],
63
58
  });
64
59
  (0, vitest_1.expect)(result.success).toBe(true);
65
60
  });
@@ -67,16 +62,20 @@ const schemas_1 = require("./schemas");
67
62
  var _a;
68
63
  const result = schemas_1.SpotQuotesReplaceArgsSchema.safeParse({
69
64
  instrId: 1,
70
- bidOrderIdToCancel: 0,
71
- newBidPrice: -1,
72
- newBidQty: 0,
73
- askOrderIdToCancel: 0,
74
- newAskPrice: 0,
75
- newAskQty: 0,
65
+ orders: [{ newPrice: -1, newQty: 0, oldId: 0, side: 0 }],
76
66
  });
77
67
  (0, vitest_1.expect)(result.success).toBe(false);
78
68
  (0, vitest_1.expect)((_a = result.error) === null || _a === void 0 ? void 0 : _a.issues[0].message).toBe('Price must be non-negative');
79
69
  });
70
+ (0, vitest_1.it)('rejects more than 12 orders', () => {
71
+ const orders = Array.from({ length: 13 }, () => ({ newPrice: 1, newQty: 1, oldId: 0, side: 0 }));
72
+ const result = schemas_1.SpotQuotesReplaceArgsSchema.safeParse({ instrId: 1, orders });
73
+ (0, vitest_1.expect)(result.success).toBe(false);
74
+ });
75
+ (0, vitest_1.it)('rejects empty orders array', () => {
76
+ const result = schemas_1.SpotQuotesReplaceArgsSchema.safeParse({ instrId: 1, orders: [] });
77
+ (0, vitest_1.expect)(result.success).toBe(false);
78
+ });
80
79
  });
81
80
  (0, vitest_1.describe)('valid input acceptance', () => {
82
81
  (0, vitest_1.it)('accepts valid NewSpotOrderArgs', () => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@deriverse/kit",
3
- "version": "1.0.41",
3
+ "version": "1.0.42",
4
4
  "description": "",
5
5
  "type": "commonjs",
6
6
  "main": "dist/index.js",