@deriverse/kit 1.0.39 → 1.0.41

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.
Files changed (59) hide show
  1. package/dist/auto_buffer.d.ts +0 -2
  2. package/dist/auto_data.d.ts +0 -2
  3. package/dist/constants.d.ts +12 -0
  4. package/dist/constants.js +26 -0
  5. package/dist/engine/account-helpers.d.ts +59 -0
  6. package/dist/engine/account-helpers.js +177 -0
  7. package/dist/engine/account-helpers.test.d.ts +1 -0
  8. package/dist/engine/account-helpers.test.js +199 -0
  9. package/dist/engine/client-queries.d.ts +36 -0
  10. package/dist/engine/client-queries.js +498 -0
  11. package/dist/engine/client-queries.test.d.ts +1 -0
  12. package/dist/engine/client-queries.test.js +341 -0
  13. package/dist/engine/context-builders.d.ts +16 -0
  14. package/dist/engine/context-builders.js +158 -0
  15. package/dist/engine/context-builders.test.d.ts +1 -0
  16. package/dist/engine/context-builders.test.js +156 -0
  17. package/dist/engine/index.d.ts +101 -0
  18. package/dist/engine/index.js +745 -0
  19. package/dist/engine/index.test.d.ts +1 -0
  20. package/dist/engine/index.test.js +663 -0
  21. package/dist/engine/logs-decoder.d.ts +18 -0
  22. package/dist/engine/logs-decoder.js +414 -0
  23. package/dist/engine/logs-decoder.test.d.ts +1 -0
  24. package/dist/engine/logs-decoder.test.js +836 -0
  25. package/dist/engine/perp-instructions.d.ts +68 -0
  26. package/dist/engine/perp-instructions.js +478 -0
  27. package/dist/engine/perp-instructions.test.d.ts +1 -0
  28. package/dist/engine/perp-instructions.test.js +296 -0
  29. package/dist/engine/spot-instructions.d.ts +52 -0
  30. package/dist/engine/spot-instructions.js +376 -0
  31. package/dist/engine/spot-instructions.test.d.ts +1 -0
  32. package/dist/engine/spot-instructions.test.js +221 -0
  33. package/dist/engine/utils.d.ts +23 -0
  34. package/dist/engine/utils.js +329 -0
  35. package/dist/engine/utils.test.d.ts +1 -0
  36. package/dist/engine/utils.test.js +120 -0
  37. package/dist/index.d.ts +6 -247
  38. package/dist/index.js +14 -2923
  39. package/dist/instruction_models.d.ts +0 -2
  40. package/dist/instruction_models.js +39 -40
  41. package/dist/logs_models.d.ts +0 -2
  42. package/dist/types/engine-args.d.ts +32 -0
  43. package/dist/types/engine-args.js +2 -0
  44. package/dist/types/enums.d.ts +43 -0
  45. package/dist/{types.js → types/enums.js} +3 -5
  46. package/dist/types/index.d.ts +8 -0
  47. package/dist/types/index.js +38 -0
  48. package/dist/types/log-message.d.ts +2 -0
  49. package/dist/types/log-message.js +2 -0
  50. package/dist/types/responses.d.ts +248 -0
  51. package/dist/types/responses.js +2 -0
  52. package/dist/types/schemas.d.ts +165 -0
  53. package/dist/types/schemas.js +254 -0
  54. package/dist/types/schemas.test.d.ts +1 -0
  55. package/dist/types/schemas.test.js +94 -0
  56. package/dist/utils.d.ts +0 -0
  57. package/dist/utils.js +1 -0
  58. package/package.json +26 -6
  59. package/dist/types.d.ts +0 -565
@@ -0,0 +1,248 @@
1
+ import { Address } from '@solana/kit';
2
+ import { CommunityAccountHeaderModel, ClientCommunityAccountHeaderModel, ClientCommunityRecordModel, BaseCrncyRecordModel, InstrAccountHeaderModel, LineQuotesModel, OrderModel } from '../structure_models';
3
+ /**
4
+ * Contains data about orderbook line
5
+ * @property {number} px Price
6
+ * @property {number} qty Quantity
7
+ */
8
+ export interface LinePx {
9
+ px: number;
10
+ qty: number;
11
+ }
12
+ /**
13
+ * Contains data about instrument
14
+ * @property {Address} address Instrument account address
15
+ * @property {InstrAccountHeaderModel} header Instrument account header
16
+ * @property {LineQuotesModel[]} spotBids Spot bids
17
+ * @property {LineQuotesModel[]} spotAsks Spot asks
18
+ * @property {LineQuotesModel[]} perpBids Perp bids
19
+ * @property {LineQuotesModel[]} perpAsks Perp bids
20
+ */
21
+ export interface Instrument {
22
+ address: Address;
23
+ header: InstrAccountHeaderModel;
24
+ spotBids: LineQuotesModel[];
25
+ spotAsks: LineQuotesModel[];
26
+ perpBids: LineQuotesModel[];
27
+ perpAsks: LineQuotesModel[];
28
+ }
29
+ /**
30
+ * Contains data about Token
31
+ * @property {Address} account Deriverse account that stores data about registered token
32
+ * @property {Address} mint Mint token address
33
+ * @property {Address} programAddress SPL token account in which tokens are stored
34
+ * @property {number} id Token ID
35
+ * @property {number} decimals Decimals
36
+ * @property {boolean} baseCrncy Ff this token is currency - true
37
+ * @property {boolean} pool If this token is options pool token - true
38
+ * @property {boolean} token2022 If this token is token 2022 - true
39
+ * @property {number} mainInstrId If If this token is options pool token refers to main instrument ID
40
+ */
41
+ export interface Token {
42
+ account: Address;
43
+ mint: Address;
44
+ programAddress: Address;
45
+ id: number;
46
+ decimals: number;
47
+ baseCrncy: boolean;
48
+ pool: boolean;
49
+ token2022: boolean;
50
+ mainInstrId?: number;
51
+ }
52
+ /**
53
+ * Contains general data about client spot open orders in particular instrument
54
+ * @property {number} bidsCount Open bid orders count
55
+ * @property {number} asksCount Open ask orders count
56
+ * @property {number} bidsEntry Entrypoint in bid orders account
57
+ * @property {number} asksEntry Entrypoint in ask orders account
58
+ * @property {number} contextSlot Context slot of response
59
+ * @property {number} bidSlot Client open bid orders last update slot
60
+ * @property {number} askSlot Client open ask orders last update slot
61
+ * @property {number} tempAssetTokens Asset tokens available to withdraw from client instrument temporary account.
62
+ * It will be automatically transfer to main account during any active transaction with the instrument.
63
+ * @property {number} tempBaseCrncyTokens Base currency tokens available to withdraw from client instrument temporary account
64
+ * It will be automatically transfer to main account during any active transaction with the instrument.
65
+ */
66
+ export interface GetClientSpotOrdersInfoResponse {
67
+ bidsCount: number;
68
+ asksCount: number;
69
+ bidsEntry: number;
70
+ asksEntry: number;
71
+ bidSlot: number;
72
+ askSlot: number;
73
+ contextSlot: number;
74
+ tempAssetTokens: number;
75
+ tempCrncyTokens: number;
76
+ inOrdersAssetTokens: number;
77
+ inOrdersCrncyTokens: number;
78
+ }
79
+ /**
80
+ * Contains general data about client perps in particular instrument
81
+ * @property {number} bidsCount Open bid orders count
82
+ * @property {number} asksCount Open ask orders count
83
+ * @property {number} bidsEntry Entrypoint in bid orders account
84
+ * @property {number} asksEntry Entrypoint in ask orders account
85
+ * @property {number} contextSlot Context slot of response
86
+ * @property {number} bidSlot Client open bid orders last update slot
87
+ * @property {number} askSlot Client open ask orders last update slot
88
+ * @property {number} perps Margin account perps balance
89
+ * @property {number} funds Margin account funds balance
90
+ * @property {number} inOrdersPerps Perps in orders
91
+ * @property {number} inOrdersFunds Funds in orders
92
+ * @property {number} fees Fees statistics
93
+ * @property {number} rebates Rebates statistics
94
+ * @property {number} fundingFunds Funding rate payments statistics
95
+ * @property {number} socLossFunds Socialized losses payments statistics
96
+ * @property {number} result Realized PnL statistics
97
+ * @property {number} cost Position cost
98
+ * @property {number} mask contains some imnformation. First byte - leverage level
99
+ */
100
+ export interface GetClientPerpOrdersInfoResponse {
101
+ bidsCount: number;
102
+ asksCount: number;
103
+ bidsEntry: number;
104
+ asksEntry: number;
105
+ bidSlot: number;
106
+ askSlot: number;
107
+ contextSlot: number;
108
+ perps: number;
109
+ funds: number;
110
+ inOrdersPerps: number;
111
+ inOrdersFunds: number;
112
+ fees: number;
113
+ rebates: number;
114
+ socLossFunds: number;
115
+ fundingFunds: number;
116
+ lossCoverage: number;
117
+ result: number;
118
+ cost: number;
119
+ mask: number;
120
+ }
121
+ /**
122
+ * @property {number} bidContextSlot Client spot bids data context slot
123
+ * @property {number} askContextSlot Client spot asks data context slot
124
+ * @property {OrderModel[]} bids List of client bid spot orders
125
+ * @property {OrderModel[]} asks List of client ask spot orders
126
+ */
127
+ export interface GetClientSpotOrdersResponse {
128
+ contextSlot: number;
129
+ bids: OrderModel[];
130
+ asks: OrderModel[];
131
+ }
132
+ /**
133
+ * @property {number} bidContextSlot Client perp bids data context slot
134
+ * @property {number} askContextSlot Client perp asks data context slot
135
+ * @property {OrderModel[]} bids List of client bid perp orders
136
+ * @property {OrderModel[]} asks List of client ask perp orders
137
+ */
138
+ export interface GetClientPerpOrdersResponse {
139
+ contextSlot: number;
140
+ bids: Array<OrderModel>;
141
+ asks: Array<OrderModel>;
142
+ }
143
+ /**
144
+ * Contains data about SPL tokens on main client account
145
+ * @property {number} tokenId Deriverse SPL token registered ID
146
+ * @property {number} amount Amount of SPL tokens on main client account
147
+ */
148
+ export interface ClientTokenData {
149
+ tokenId: number;
150
+ amount: number;
151
+ }
152
+ /**
153
+ * Contains data about Deriverse internal spot LP tokens on main client account
154
+ * @property {number} instrId Instrument ID
155
+ * @property {number} amount Amount of Deriverse internal spot LP tokens on main client account
156
+ */
157
+ export interface ClientLpData {
158
+ instrId: number;
159
+ amount: number;
160
+ }
161
+ /**
162
+ * Contains data about temporary instrument spot client account
163
+ * @property {number} instrId Instrument ID
164
+ * @property {number} clientId Temporary client ID
165
+ * @property {number} slot Temporary instrument client last update slot
166
+ */
167
+ export interface ClientSpotData {
168
+ instrId: number;
169
+ clientId: number;
170
+ slot: number;
171
+ }
172
+ /**
173
+ * Contains data about temporary instrument perp client account
174
+ * @property {number} instrId Instrument ID
175
+ * @property {number} clientId Temporary client ID
176
+ * @property {number} slot Temporary instrument client last update slot
177
+ */
178
+ export interface ClientPerpData {
179
+ instrId: number;
180
+ clientId: number;
181
+ slot: number;
182
+ }
183
+ /**
184
+ * Contains information about referal link
185
+ * @property {number} id Referal ID
186
+ * @property {number} expiration Expiration date of referal link
187
+ * @property {number} discount Fees discount
188
+ * @property {number} ratio Referal payments share in fees (minus rebates)
189
+ */
190
+ export interface RefLink {
191
+ id: number;
192
+ expiration: number;
193
+ discount: number;
194
+ ratio: number;
195
+ }
196
+ export interface CommunityData {
197
+ header: CommunityAccountHeaderModel;
198
+ data: Map<number, BaseCrncyRecordModel>;
199
+ }
200
+ export interface ClientCommunityData {
201
+ header: ClientCommunityAccountHeaderModel;
202
+ data: Map<number, ClientCommunityRecordModel>;
203
+ }
204
+ /**
205
+ * Contains information about referal program
206
+ * @property {number} address Refferal Wallet
207
+ * @property {number} expiration Expiration date of referal program
208
+ * @property {number} clientId Referal client ID
209
+ * @property {number} discount Fees discount
210
+ * @property {number} ratio Referal payments share in fees (minus rebates)
211
+ */
212
+ export interface ClientRefProgramData {
213
+ address: Address;
214
+ expiration: number;
215
+ clientId: number;
216
+ discount: number;
217
+ ratio: number;
218
+ }
219
+ /**
220
+ * Contains general client data
221
+ * @property {number} clientId Client ID
222
+ * @property {number} points Points for Drverse tokens airdrop
223
+ * @property {number} mask Contains some additioal data
224
+ * @property {number} slot Last update slot
225
+ * @property {number} spotTrades All-time active spot trades
226
+ * @property {number} lpTrades All-time lp trades
227
+ * @property {number} perpTrades All-time active perp trades
228
+ * @property {ClientTokenData[]} tokens Client tokens data
229
+ * @property {ClientLpData[]} lp Client data about Deriverse internal spot LP tokens
230
+ * @property {ClientSpotData[]} spot Client spot trading data
231
+ * @property {ClientPerpData[]} perp Client perp trading data
232
+ */
233
+ export interface GetClientDataResponse {
234
+ clientId: number;
235
+ points: number;
236
+ mask: number;
237
+ slot: number;
238
+ spotTrades: number;
239
+ lpTrades: number;
240
+ perpTrades: number;
241
+ tokens: Map<number, ClientTokenData>;
242
+ lp: Map<number, ClientLpData>;
243
+ spot: Map<number, ClientSpotData>;
244
+ perp: Map<number, ClientPerpData>;
245
+ refProgram: ClientRefProgramData;
246
+ refLinks: RefLink[];
247
+ community: ClientCommunityData;
248
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,165 @@
1
+ import { z } from 'zod';
2
+ import { Address, Commitment } from '@solana/kit';
3
+ declare const EngineArgsSchema: z.ZodObject<{
4
+ programId: z.ZodOptional<z.ZodCustom<Address, Address>>;
5
+ version: z.ZodOptional<z.ZodInt>;
6
+ commitment: z.ZodOptional<z.ZodCustom<Commitment, Commitment>>;
7
+ uiNumbers: z.ZodOptional<z.ZodBoolean>;
8
+ }, z.core.$strip>;
9
+ declare const InstrIdSchema: z.ZodObject<{
10
+ instrId: z.ZodInt;
11
+ }, z.core.$strip>;
12
+ declare const DepositArgsSchema: z.ZodObject<{
13
+ tokenId: z.ZodInt;
14
+ amount: z.ZodOptional<z.ZodNumber>;
15
+ refId: z.ZodOptional<z.ZodInt>;
16
+ refWallet: z.ZodOptional<z.ZodCustom<Address, Address>>;
17
+ all_funds: z.ZodOptional<z.ZodBoolean>;
18
+ }, z.core.$strip>;
19
+ declare const WithdrawArgsSchema: z.ZodObject<{
20
+ tokenId: z.ZodInt;
21
+ amount: z.ZodNumber;
22
+ spot: z.ZodOptional<z.ZodArray<z.ZodObject<{
23
+ instrId: z.ZodInt;
24
+ }, z.core.$strip>>>;
25
+ }, z.core.$strip>;
26
+ declare const NewSpotOrderArgsSchema: z.ZodObject<{
27
+ instrId: z.ZodInt;
28
+ price: z.ZodNumber;
29
+ qty: z.ZodNumber;
30
+ ioc: z.ZodOptional<z.ZodInt>;
31
+ orderType: z.ZodOptional<z.ZodInt>;
32
+ side: z.ZodInt;
33
+ edgePrice: z.ZodOptional<z.ZodNumber>;
34
+ }, z.core.$strip>;
35
+ declare const SpotQuotesReplaceArgsSchema: z.ZodObject<{
36
+ instrId: z.ZodInt;
37
+ bidOrderIdToCancel: z.ZodInt;
38
+ newBidPrice: z.ZodNumber;
39
+ newBidQty: z.ZodNumber;
40
+ askOrderIdToCancel: z.ZodInt;
41
+ newAskPrice: z.ZodNumber;
42
+ newAskQty: z.ZodNumber;
43
+ }, z.core.$strip>;
44
+ declare const SwapArgsSchema: z.ZodObject<{
45
+ assetMint: z.ZodCustom<Address, Address>;
46
+ crncyMint: z.ZodCustom<Address, Address>;
47
+ amount: z.ZodNumber;
48
+ limitPrice: z.ZodNumber;
49
+ crncyInput: z.ZodBoolean;
50
+ }, z.core.$strip>;
51
+ declare const SpotOrderCancelArgsSchema: z.ZodObject<{
52
+ instrId: z.ZodInt;
53
+ orderId: z.ZodInt;
54
+ side: z.ZodInt;
55
+ }, z.core.$strip>;
56
+ declare const SpotMassCancelArgsSchema: z.ZodObject<{
57
+ instrId: z.ZodInt;
58
+ }, z.core.$strip>;
59
+ declare const SpotLpArgsSchema: z.ZodObject<{
60
+ instrId: z.ZodInt;
61
+ side: z.ZodInt;
62
+ amount: z.ZodNumber;
63
+ minPrice: z.ZodOptional<z.ZodNumber>;
64
+ maxPrice: z.ZodOptional<z.ZodNumber>;
65
+ }, z.core.$strip>;
66
+ declare const PerpDepositArgsSchema: z.ZodObject<{
67
+ instrId: z.ZodInt;
68
+ amount: z.ZodNumber;
69
+ }, z.core.$strip>;
70
+ declare const PerpBuySeatArgsSchema: z.ZodObject<{
71
+ instrId: z.ZodInt;
72
+ amount: z.ZodNumber;
73
+ slippage: z.ZodOptional<z.ZodNumber>;
74
+ }, z.core.$strip>;
75
+ declare const PerpSellSeatArgsSchema: z.ZodObject<{
76
+ instrId: z.ZodInt;
77
+ slippage: z.ZodOptional<z.ZodNumber>;
78
+ }, z.core.$strip>;
79
+ declare const NewPerpOrderArgsSchema: z.ZodObject<{
80
+ instrId: z.ZodInt;
81
+ ioc: z.ZodOptional<z.ZodInt>;
82
+ orderType: z.ZodOptional<z.ZodInt>;
83
+ qty: z.ZodNumber;
84
+ price: z.ZodNumber;
85
+ leverage: z.ZodOptional<z.ZodInt>;
86
+ side: z.ZodInt;
87
+ edgePrice: z.ZodOptional<z.ZodNumber>;
88
+ }, z.core.$strip>;
89
+ declare const PerpQuotesReplaceArgsSchema: z.ZodObject<{
90
+ instrId: z.ZodInt;
91
+ bidOrderIdToCancel: z.ZodInt;
92
+ newBidPrice: z.ZodNumber;
93
+ newBidQty: z.ZodNumber;
94
+ askOrderIdToCancel: z.ZodInt;
95
+ newAskPrice: z.ZodNumber;
96
+ newAskQty: z.ZodNumber;
97
+ }, z.core.$strip>;
98
+ declare const PerpOrderCancelArgsSchema: z.ZodObject<{
99
+ instrId: z.ZodInt;
100
+ orderId: z.ZodInt;
101
+ side: z.ZodInt;
102
+ }, z.core.$strip>;
103
+ declare const PerpMassCancelArgsSchema: z.ZodObject<{
104
+ instrId: z.ZodInt;
105
+ }, z.core.$strip>;
106
+ declare const PerpChangeLeverageArgsSchema: z.ZodObject<{
107
+ instrId: z.ZodInt;
108
+ leverage: z.ZodInt;
109
+ }, z.core.$strip>;
110
+ declare const PerpStatisticsResetArgsSchema: z.ZodObject<{
111
+ instrId: z.ZodInt;
112
+ }, z.core.$strip>;
113
+ declare const PerpForcedCloseArgsSchema: z.ZodObject<{
114
+ instrId: z.ZodInt;
115
+ clientPrimaryAccount: z.ZodCustom<Address, Address>;
116
+ }, z.core.$strip>;
117
+ declare const NewInstrumentArgsSchema: z.ZodObject<{
118
+ assetMint: z.ZodCustom<Address, Address>;
119
+ crncyMint: z.ZodCustom<Address, Address>;
120
+ newProgramAccountAddress: z.ZodOptional<z.ZodCustom<Address, Address>>;
121
+ initialPrice: z.ZodNumber;
122
+ }, z.core.$strip>;
123
+ declare const GetInstrIdArgsSchema: z.ZodObject<{
124
+ assetTokenId: z.ZodInt;
125
+ crncyTokenId: z.ZodInt;
126
+ }, z.core.$strip>;
127
+ declare const GetSpotContextArgsSchema: z.ZodObject<{
128
+ assetTokenId: z.ZodInt;
129
+ crncyTokenId: z.ZodInt;
130
+ }, z.core.$strip>;
131
+ declare const GetInstrAccountByTagArgsSchema: z.ZodObject<{
132
+ assetTokenId: z.ZodInt;
133
+ crncyTokenId: z.ZodInt;
134
+ tag: z.ZodInt;
135
+ }, z.core.$strip>;
136
+ declare const UpdateInstrDataArgsSchema: z.ZodObject<{
137
+ assetTokenId: z.ZodInt;
138
+ crncyTokenId: z.ZodInt;
139
+ }, z.core.$strip>;
140
+ declare const DistribDividendsArgsSchema: z.ZodObject<{
141
+ instruments: z.ZodArray<z.ZodInt>;
142
+ }, z.core.$strip>;
143
+ declare const GetClientSpotOrdersInfoArgsSchema: z.ZodObject<{
144
+ instrId: z.ZodInt;
145
+ clientId: z.ZodInt;
146
+ }, z.core.$strip>;
147
+ declare const GetClientPerpOrdersInfoArgsSchema: z.ZodObject<{
148
+ instrId: z.ZodInt;
149
+ clientId: z.ZodInt;
150
+ }, z.core.$strip>;
151
+ declare const GetClientSpotOrdersArgsSchema: z.ZodObject<{
152
+ instrId: z.ZodInt;
153
+ bidsCount: z.ZodInt;
154
+ asksCount: z.ZodInt;
155
+ bidsEntry: z.ZodInt;
156
+ asksEntry: z.ZodInt;
157
+ }, z.core.$strip>;
158
+ declare const GetClientPerpOrdersArgsSchema: z.ZodObject<{
159
+ instrId: z.ZodInt;
160
+ bidsCount: z.ZodInt;
161
+ asksCount: z.ZodInt;
162
+ bidsEntry: z.ZodInt;
163
+ asksEntry: z.ZodInt;
164
+ }, z.core.$strip>;
165
+ export { EngineArgsSchema, InstrIdSchema, DepositArgsSchema, WithdrawArgsSchema, NewSpotOrderArgsSchema, SpotQuotesReplaceArgsSchema, SwapArgsSchema, SpotOrderCancelArgsSchema, SpotMassCancelArgsSchema, SpotLpArgsSchema, PerpDepositArgsSchema, PerpBuySeatArgsSchema, PerpSellSeatArgsSchema, NewPerpOrderArgsSchema, PerpQuotesReplaceArgsSchema, PerpOrderCancelArgsSchema, PerpMassCancelArgsSchema, PerpChangeLeverageArgsSchema, PerpStatisticsResetArgsSchema, PerpForcedCloseArgsSchema, NewInstrumentArgsSchema, GetInstrIdArgsSchema, GetSpotContextArgsSchema, GetInstrAccountByTagArgsSchema, UpdateInstrDataArgsSchema, DistribDividendsArgsSchema, GetClientSpotOrdersInfoArgsSchema, GetClientPerpOrdersInfoArgsSchema, GetClientSpotOrdersArgsSchema, GetClientPerpOrdersArgsSchema, };
@@ -0,0 +1,254 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
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
+ const zod_1 = require("zod");
5
+ const nonNegativeInt = zod_1.z.int().nonnegative({ error: 'Must be a non-negative integer' });
6
+ const positiveNumber = zod_1.z.number().positive({ error: 'Must be a positive number' });
7
+ const side = zod_1.z.int().min(0).max(1, { error: 'Side must be 0 (Bid) or 1 (Ask)' });
8
+ const orderType = zod_1.z.int().min(0).max(1, { error: 'Order type must be 0 (Limit) or 1 (Market)' });
9
+ const iocFlag = zod_1.z.int().min(0).max(1, { error: 'IOC flag must be 0 (No) or 1 (Yes)' });
10
+ const solanaAddress = zod_1.z.custom((val) => typeof val === 'string', { error: 'Must be a valid Solana address' });
11
+ const commitment = zod_1.z.custom((val) => typeof val === 'string', {
12
+ error: 'Must be a valid commitment level',
13
+ });
14
+ const EngineArgsSchema = zod_1.z.object({
15
+ programId: solanaAddress.optional(),
16
+ version: nonNegativeInt.optional(),
17
+ commitment: commitment.optional(),
18
+ uiNumbers: zod_1.z.boolean().optional(),
19
+ });
20
+ exports.EngineArgsSchema = EngineArgsSchema;
21
+ const InstrIdSchema = zod_1.z.object({
22
+ instrId: nonNegativeInt.meta({ description: 'Instrument ID' }),
23
+ });
24
+ exports.InstrIdSchema = InstrIdSchema;
25
+ const DepositArgsSchema = zod_1.z.object({
26
+ tokenId: nonNegativeInt.meta({ description: 'Deriverse SPL token registered ID' }),
27
+ amount: positiveNumber.optional().meta({ description: 'Amount to deposit' }),
28
+ refId: nonNegativeInt.optional().meta({ description: 'Referal Link ID for new account. Zero means no ref link' }),
29
+ refWallet: solanaAddress.optional().meta({ description: 'Referal Wallet' }),
30
+ all_funds: zod_1.z.boolean().optional(),
31
+ });
32
+ exports.DepositArgsSchema = DepositArgsSchema;
33
+ const WithdrawArgsSchema = zod_1.z.object({
34
+ tokenId: nonNegativeInt.meta({ description: 'Deriverse token registered ID' }),
35
+ amount: positiveNumber.meta({ description: 'Amount to withdraw' }),
36
+ spot: zod_1.z
37
+ .array(InstrIdSchema)
38
+ .optional()
39
+ .meta({ description: 'List of instruments ID to withdraw from client temporary instrument accounts' }),
40
+ });
41
+ exports.WithdrawArgsSchema = WithdrawArgsSchema;
42
+ const NewSpotOrderArgsSchema = zod_1.z.object({
43
+ instrId: nonNegativeInt.meta({ description: 'Instrument ID' }),
44
+ price: positiveNumber.meta({ description: 'Order price' }),
45
+ qty: positiveNumber.meta({ description: 'Order quantity' }),
46
+ ioc: iocFlag
47
+ .optional()
48
+ .meta({ description: 'Immediate Or Cancel. If true no new open order after this instruction execution' }),
49
+ orderType: orderType.optional().meta({ description: '0 - Limit, 1 - Market' }),
50
+ side: side.meta({ description: '0 - Bid, 1 - Ask' }),
51
+ edgePrice: positiveNumber.optional(),
52
+ });
53
+ 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
67
+ .number()
68
+ .nonnegative({ error: 'Price must be non-negative' })
69
+ .meta({ description: 'New order ask price' }),
70
+ newAskQty: zod_1.z
71
+ .number()
72
+ .nonnegative({ error: 'Quantity must be non-negative' })
73
+ .meta({ description: 'New order ask quantity, zero means no action' }),
74
+ });
75
+ exports.SpotQuotesReplaceArgsSchema = SpotQuotesReplaceArgsSchema;
76
+ const SwapArgsSchema = zod_1.z.object({
77
+ assetMint: solanaAddress.meta({ description: 'Asset Token Mint' }),
78
+ crncyMint: solanaAddress.meta({ description: 'Currency Token Mint' }),
79
+ amount: positiveNumber.meta({ description: 'Amount to swap' }),
80
+ limitPrice: positiveNumber.meta({ description: 'Limit price' }),
81
+ crncyInput: zod_1.z.boolean().meta({ description: 'Currency token as input token' }),
82
+ });
83
+ exports.SwapArgsSchema = SwapArgsSchema;
84
+ const SpotOrderCancelArgsSchema = zod_1.z.object({
85
+ instrId: nonNegativeInt.meta({ description: 'Instrument ID' }),
86
+ orderId: nonNegativeInt.meta({ description: 'Order ID to cancel' }),
87
+ side: side.meta({ description: '0 - bid side, 1 - ask side' }),
88
+ });
89
+ exports.SpotOrderCancelArgsSchema = SpotOrderCancelArgsSchema;
90
+ const SpotMassCancelArgsSchema = zod_1.z.object({
91
+ instrId: nonNegativeInt.meta({ description: 'Instrument ID' }),
92
+ });
93
+ exports.SpotMassCancelArgsSchema = SpotMassCancelArgsSchema;
94
+ const SpotLpArgsSchema = zod_1.z.object({
95
+ instrId: nonNegativeInt.meta({ description: 'Instrument ID' }),
96
+ side: side,
97
+ amount: zod_1.z.number().meta({ description: 'Amount of tokens to trade. Negative value means selling' }),
98
+ minPrice: positiveNumber.optional(),
99
+ maxPrice: positiveNumber.optional(),
100
+ });
101
+ exports.SpotLpArgsSchema = SpotLpArgsSchema;
102
+ const PerpDepositArgsSchema = zod_1.z.object({
103
+ instrId: nonNegativeInt.meta({ description: 'Instrument ID' }),
104
+ amount: positiveNumber,
105
+ });
106
+ exports.PerpDepositArgsSchema = PerpDepositArgsSchema;
107
+ const PerpBuySeatArgsSchema = zod_1.z.object({
108
+ instrId: nonNegativeInt.meta({ description: 'Instrument ID' }),
109
+ amount: positiveNumber,
110
+ slippage: zod_1.z.number().min(0).max(1, { error: 'Slippage must be between 0 and 1' }).optional(),
111
+ });
112
+ exports.PerpBuySeatArgsSchema = PerpBuySeatArgsSchema;
113
+ const PerpSellSeatArgsSchema = zod_1.z.object({
114
+ instrId: nonNegativeInt.meta({ description: 'Instrument ID' }),
115
+ slippage: zod_1.z.number().min(0).max(1, { error: 'Slippage must be between 0 and 1' }).optional(),
116
+ });
117
+ exports.PerpSellSeatArgsSchema = PerpSellSeatArgsSchema;
118
+ const NewPerpOrderArgsSchema = zod_1.z.object({
119
+ instrId: nonNegativeInt.meta({ description: 'Instrument ID' }),
120
+ ioc: iocFlag
121
+ .optional()
122
+ .meta({ description: 'Immediate Or Cancel. If true no new open order after this instruction execution' }),
123
+ orderType: orderType.optional().meta({ description: '0 - Limit, 1 - Market' }),
124
+ qty: positiveNumber.meta({ description: 'Order quantity' }),
125
+ price: positiveNumber.meta({ description: 'Order price' }),
126
+ leverage: zod_1.z.int().min(1).max(100, { error: 'Leverage must be between 1 and 100' }).optional(),
127
+ side: side.meta({ description: '0 - Bid, 1 - Ask' }),
128
+ edgePrice: positiveNumber.optional(),
129
+ });
130
+ exports.NewPerpOrderArgsSchema = NewPerpOrderArgsSchema;
131
+ const PerpQuotesReplaceArgsSchema = zod_1.z.object({
132
+ 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' }),
151
+ });
152
+ exports.PerpQuotesReplaceArgsSchema = PerpQuotesReplaceArgsSchema;
153
+ const PerpOrderCancelArgsSchema = zod_1.z.object({
154
+ instrId: nonNegativeInt.meta({ description: 'Instrument ID' }),
155
+ orderId: nonNegativeInt.meta({ description: 'Order ID to cancel' }),
156
+ side: side.meta({ description: '0 - bid side, 1 - ask side' }),
157
+ });
158
+ exports.PerpOrderCancelArgsSchema = PerpOrderCancelArgsSchema;
159
+ const PerpMassCancelArgsSchema = zod_1.z.object({
160
+ instrId: nonNegativeInt.meta({ description: 'Instrument ID' }),
161
+ });
162
+ exports.PerpMassCancelArgsSchema = PerpMassCancelArgsSchema;
163
+ const PerpChangeLeverageArgsSchema = zod_1.z.object({
164
+ instrId: nonNegativeInt.meta({ description: 'Instrument ID' }),
165
+ leverage: zod_1.z.int().min(1).max(100, { error: 'Leverage must be between 1 and 100' }),
166
+ });
167
+ exports.PerpChangeLeverageArgsSchema = PerpChangeLeverageArgsSchema;
168
+ const PerpStatisticsResetArgsSchema = zod_1.z.object({
169
+ instrId: nonNegativeInt.meta({ description: 'Instrument ID' }),
170
+ });
171
+ exports.PerpStatisticsResetArgsSchema = PerpStatisticsResetArgsSchema;
172
+ const PerpForcedCloseArgsSchema = zod_1.z.object({
173
+ instrId: nonNegativeInt.meta({ description: 'Instrument ID' }),
174
+ clientPrimaryAccount: solanaAddress,
175
+ });
176
+ exports.PerpForcedCloseArgsSchema = PerpForcedCloseArgsSchema;
177
+ const NewInstrumentArgsSchema = zod_1.z.object({
178
+ assetMint: solanaAddress.meta({ description: 'Asset Token Mint' }),
179
+ crncyMint: solanaAddress.meta({ description: 'Currency Token Mint' }),
180
+ newProgramAccountAddress: solanaAddress.optional(),
181
+ initialPrice: positiveNumber,
182
+ });
183
+ exports.NewInstrumentArgsSchema = NewInstrumentArgsSchema;
184
+ const GetInstrIdArgsSchema = zod_1.z.object({
185
+ assetTokenId: nonNegativeInt.meta({ description: 'Asset Deriverse token registered ID' }),
186
+ crncyTokenId: nonNegativeInt.meta({ description: 'Base currency Deriverse token registered ID' }),
187
+ });
188
+ exports.GetInstrIdArgsSchema = GetInstrIdArgsSchema;
189
+ const GetSpotContextArgsSchema = zod_1.z.object({
190
+ assetTokenId: nonNegativeInt,
191
+ crncyTokenId: nonNegativeInt,
192
+ });
193
+ exports.GetSpotContextArgsSchema = GetSpotContextArgsSchema;
194
+ const GetInstrAccountByTagArgsSchema = zod_1.z.object({
195
+ assetTokenId: nonNegativeInt,
196
+ crncyTokenId: nonNegativeInt,
197
+ tag: nonNegativeInt,
198
+ });
199
+ exports.GetInstrAccountByTagArgsSchema = GetInstrAccountByTagArgsSchema;
200
+ const UpdateInstrDataArgsSchema = zod_1.z.object({
201
+ assetTokenId: nonNegativeInt,
202
+ crncyTokenId: nonNegativeInt,
203
+ });
204
+ exports.UpdateInstrDataArgsSchema = UpdateInstrDataArgsSchema;
205
+ const DistribDividendsArgsSchema = zod_1.z.object({
206
+ instruments: zod_1.z.array(nonNegativeInt).meta({ description: 'Instruments ID' }),
207
+ });
208
+ exports.DistribDividendsArgsSchema = DistribDividendsArgsSchema;
209
+ const GetClientSpotOrdersInfoArgsSchema = zod_1.z.object({
210
+ instrId: nonNegativeInt.meta({ description: 'Instrument ID' }),
211
+ clientId: nonNegativeInt.meta({
212
+ description: 'Temporary spot client ID. Use getClientData function to get this value',
213
+ }),
214
+ });
215
+ exports.GetClientSpotOrdersInfoArgsSchema = GetClientSpotOrdersInfoArgsSchema;
216
+ const GetClientPerpOrdersInfoArgsSchema = zod_1.z.object({
217
+ instrId: nonNegativeInt.meta({ description: 'Instrument ID' }),
218
+ clientId: nonNegativeInt.meta({
219
+ description: 'Temporary perp client ID. Use getClientData function to get this value',
220
+ }),
221
+ });
222
+ exports.GetClientPerpOrdersInfoArgsSchema = GetClientPerpOrdersInfoArgsSchema;
223
+ const GetClientSpotOrdersArgsSchema = zod_1.z.object({
224
+ instrId: nonNegativeInt.meta({ description: 'Instrument ID' }),
225
+ bidsCount: nonNegativeInt.meta({
226
+ description: 'Client spot bid orders count. Use getClientSpotOrdersInfo function to get this value',
227
+ }),
228
+ asksCount: nonNegativeInt.meta({
229
+ description: 'Client spot ask orders count. Use getClientSpotOrdersInfo function to get this value',
230
+ }),
231
+ bidsEntry: nonNegativeInt.meta({
232
+ description: 'Entrypoint in spot bid orders account. Use getClientSpotOrdersInfo function to get this value',
233
+ }),
234
+ asksEntry: nonNegativeInt.meta({
235
+ description: 'Entrypoint in spot ask orders account. Use getClientSpotOrdersInfo function to get this value',
236
+ }),
237
+ });
238
+ exports.GetClientSpotOrdersArgsSchema = GetClientSpotOrdersArgsSchema;
239
+ const GetClientPerpOrdersArgsSchema = zod_1.z.object({
240
+ instrId: nonNegativeInt.meta({ description: 'Instrument ID' }),
241
+ bidsCount: nonNegativeInt.meta({
242
+ description: 'Client perp bid orders count. Use getClientPerpOrdersInfo function to get this value',
243
+ }),
244
+ asksCount: nonNegativeInt.meta({
245
+ description: 'Client perp ask orders count. Use getClientPerpOrdersInfo function to get this value',
246
+ }),
247
+ bidsEntry: nonNegativeInt.meta({
248
+ description: 'Entrypoint in perp bid orders account. Use getClientPerpOrdersInfo function to get this value',
249
+ }),
250
+ asksEntry: nonNegativeInt.meta({
251
+ description: 'Entrypoint in perp ask orders account. Use getClientPerpOrdersInfo function to get this value',
252
+ }),
253
+ });
254
+ exports.GetClientPerpOrdersArgsSchema = GetClientPerpOrdersArgsSchema;
@@ -0,0 +1 @@
1
+ export {};