@mysten/deepbook-v3 1.1.5 → 1.2.0
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/CHANGELOG.md +12 -0
- package/dist/client.d.mts +58 -763
- package/dist/client.d.mts.map +1 -1
- package/dist/client.mjs +253 -2127
- package/dist/client.mjs.map +1 -1
- package/dist/contracts/utils/index.mjs +1 -1
- package/dist/index.d.mts +4 -4
- package/dist/index.mjs +4 -4
- package/dist/pyth/pyth.mjs +1 -1
- package/dist/queries/accountQueries.mjs +104 -0
- package/dist/queries/accountQueries.mjs.map +1 -0
- package/dist/queries/balanceManagerQueries.mjs +113 -0
- package/dist/queries/balanceManagerQueries.mjs.map +1 -0
- package/dist/queries/context.mjs +15 -0
- package/dist/queries/context.mjs.map +1 -0
- package/dist/queries/marginManagerQueries.mjs +365 -0
- package/dist/queries/marginManagerQueries.mjs.map +1 -0
- package/dist/queries/marginPoolQueries.mjs +184 -0
- package/dist/queries/marginPoolQueries.mjs.map +1 -0
- package/dist/queries/orderQueries.mjs +165 -0
- package/dist/queries/orderQueries.mjs.map +1 -0
- package/dist/queries/poolQueries.mjs +234 -0
- package/dist/queries/poolQueries.mjs.map +1 -0
- package/dist/queries/priceFeedQueries.mjs +83 -0
- package/dist/queries/priceFeedQueries.mjs.map +1 -0
- package/dist/queries/quantityQueries.mjs +216 -0
- package/dist/queries/quantityQueries.mjs.map +1 -0
- package/dist/queries/referralQueries.mjs +96 -0
- package/dist/queries/referralQueries.mjs.map +1 -0
- package/dist/queries/registryQueries.mjs +162 -0
- package/dist/queries/registryQueries.mjs.map +1 -0
- package/dist/queries/tpslQueries.mjs +62 -0
- package/dist/queries/tpslQueries.mjs.map +1 -0
- package/dist/transactions/balanceManager.d.mts.map +1 -1
- package/dist/transactions/balanceManager.mjs +5 -4
- package/dist/transactions/balanceManager.mjs.map +1 -1
- package/dist/transactions/deepbook.d.mts +24 -24
- package/dist/transactions/deepbook.d.mts.map +1 -1
- package/dist/transactions/deepbook.mjs +48 -47
- package/dist/transactions/deepbook.mjs.map +1 -1
- package/dist/transactions/deepbookAdmin.d.mts +2 -2
- package/dist/transactions/deepbookAdmin.d.mts.map +1 -1
- package/dist/transactions/deepbookAdmin.mjs +10 -9
- package/dist/transactions/deepbookAdmin.mjs.map +1 -1
- package/dist/transactions/flashLoans.d.mts.map +1 -1
- package/dist/transactions/flashLoans.mjs +6 -4
- package/dist/transactions/flashLoans.mjs.map +1 -1
- package/dist/transactions/governance.d.mts.map +1 -1
- package/dist/transactions/governance.mjs +5 -4
- package/dist/transactions/governance.mjs.map +1 -1
- package/dist/transactions/marginAdmin.d.mts +7 -7
- package/dist/transactions/marginAdmin.d.mts.map +1 -1
- package/dist/transactions/marginAdmin.mjs +8 -7
- package/dist/transactions/marginAdmin.mjs.map +1 -1
- package/dist/transactions/marginLiquidations.d.mts +3 -3
- package/dist/transactions/marginLiquidations.d.mts.map +1 -1
- package/dist/transactions/marginLiquidations.mjs +5 -4
- package/dist/transactions/marginLiquidations.mjs.map +1 -1
- package/dist/transactions/marginMaintainer.d.mts +5 -5
- package/dist/transactions/marginMaintainer.d.mts.map +1 -1
- package/dist/transactions/marginMaintainer.mjs +15 -14
- package/dist/transactions/marginMaintainer.mjs.map +1 -1
- package/dist/transactions/marginManager.d.mts +23 -23
- package/dist/transactions/marginManager.d.mts.map +1 -1
- package/dist/transactions/marginManager.mjs +12 -11
- package/dist/transactions/marginManager.mjs.map +1 -1
- package/dist/transactions/marginPool.d.mts.map +1 -1
- package/dist/transactions/marginPool.mjs +3 -2
- package/dist/transactions/marginPool.mjs.map +1 -1
- package/dist/transactions/marginRegistry.d.mts +15 -15
- package/dist/transactions/marginTPSL.d.mts +1 -1
- package/dist/transactions/marginTPSL.d.mts.map +1 -1
- package/dist/transactions/marginTPSL.mjs +6 -8
- package/dist/transactions/marginTPSL.mjs.map +1 -1
- package/dist/transactions/poolProxy.d.mts.map +1 -1
- package/dist/transactions/poolProxy.mjs +13 -13
- package/dist/transactions/poolProxy.mjs.map +1 -1
- package/dist/types/index.d.mts +189 -52
- package/dist/types/index.d.mts.map +1 -1
- package/dist/types/index.mjs.map +1 -1
- package/dist/utils/conversion.mjs +26 -0
- package/dist/utils/conversion.mjs.map +1 -0
- package/package.json +4 -3
- package/src/client.ts +421 -2662
- package/src/index.ts +27 -0
- package/src/queries/accountQueries.ts +117 -0
- package/src/queries/balanceManagerQueries.ts +156 -0
- package/src/queries/context.ts +44 -0
- package/src/queries/index.ts +16 -0
- package/src/queries/marginManagerQueries.ts +575 -0
- package/src/queries/marginPoolQueries.ts +226 -0
- package/src/queries/orderQueries.ts +202 -0
- package/src/queries/poolQueries.ts +266 -0
- package/src/queries/priceFeedQueries.ts +141 -0
- package/src/queries/quantityQueries.ts +266 -0
- package/src/queries/referralQueries.ts +112 -0
- package/src/queries/registryQueries.ts +185 -0
- package/src/queries/tpslQueries.ts +88 -0
- package/src/transactions/balanceManager.ts +5 -4
- package/src/transactions/deepbook.ts +98 -84
- package/src/transactions/deepbookAdmin.ts +10 -9
- package/src/transactions/flashLoans.ts +5 -4
- package/src/transactions/governance.ts +5 -4
- package/src/transactions/marginAdmin.ts +8 -7
- package/src/transactions/marginLiquidations.ts +5 -4
- package/src/transactions/marginMaintainer.ts +15 -14
- package/src/transactions/marginManager.ts +12 -11
- package/src/transactions/marginPool.ts +3 -2
- package/src/transactions/marginTPSL.ts +11 -6
- package/src/transactions/poolProxy.ts +12 -11
- package/src/types/index.ts +200 -53
- package/src/utils/conversion.ts +33 -0
package/src/types/index.ts
CHANGED
|
@@ -55,8 +55,8 @@ export interface PlaceLimitOrderParams {
|
|
|
55
55
|
poolKey: string;
|
|
56
56
|
balanceManagerKey: string;
|
|
57
57
|
clientOrderId: string;
|
|
58
|
-
price: number;
|
|
59
|
-
quantity: number;
|
|
58
|
+
price: number | bigint;
|
|
59
|
+
quantity: number | bigint;
|
|
60
60
|
isBid: boolean;
|
|
61
61
|
expiration?: number | bigint;
|
|
62
62
|
orderType?: OrderType;
|
|
@@ -68,7 +68,7 @@ export interface PlaceMarketOrderParams {
|
|
|
68
68
|
poolKey: string;
|
|
69
69
|
balanceManagerKey: string;
|
|
70
70
|
clientOrderId: string;
|
|
71
|
-
quantity: number;
|
|
71
|
+
quantity: number | bigint;
|
|
72
72
|
isBid: boolean;
|
|
73
73
|
selfMatchingOption?: SelfMatchingOptions;
|
|
74
74
|
payWithDeep?: boolean;
|
|
@@ -77,8 +77,8 @@ export interface PlaceMarketOrderParams {
|
|
|
77
77
|
export interface CanPlaceLimitOrderParams {
|
|
78
78
|
poolKey: string;
|
|
79
79
|
balanceManagerKey: string;
|
|
80
|
-
price: number;
|
|
81
|
-
quantity: number;
|
|
80
|
+
price: number | bigint;
|
|
81
|
+
quantity: number | bigint;
|
|
82
82
|
isBid: boolean;
|
|
83
83
|
payWithDeep: boolean;
|
|
84
84
|
expireTimestamp: number;
|
|
@@ -87,7 +87,7 @@ export interface CanPlaceLimitOrderParams {
|
|
|
87
87
|
export interface CanPlaceMarketOrderParams {
|
|
88
88
|
poolKey: string;
|
|
89
89
|
balanceManagerKey: string;
|
|
90
|
-
quantity: number;
|
|
90
|
+
quantity: number | bigint;
|
|
91
91
|
isBid: boolean;
|
|
92
92
|
payWithDeep: boolean;
|
|
93
93
|
}
|
|
@@ -96,8 +96,8 @@ export interface PlaceMarginLimitOrderParams {
|
|
|
96
96
|
poolKey: string;
|
|
97
97
|
marginManagerKey: string;
|
|
98
98
|
clientOrderId: string;
|
|
99
|
-
price: number;
|
|
100
|
-
quantity: number;
|
|
99
|
+
price: number | bigint;
|
|
100
|
+
quantity: number | bigint;
|
|
101
101
|
isBid: boolean;
|
|
102
102
|
expiration?: number | bigint;
|
|
103
103
|
orderType?: OrderType;
|
|
@@ -109,7 +109,7 @@ export interface PlaceMarginMarketOrderParams {
|
|
|
109
109
|
poolKey: string;
|
|
110
110
|
marginManagerKey: string;
|
|
111
111
|
clientOrderId: string;
|
|
112
|
-
quantity: number;
|
|
112
|
+
quantity: number | bigint;
|
|
113
113
|
isBid: boolean;
|
|
114
114
|
selfMatchingOption?: SelfMatchingOptions;
|
|
115
115
|
payWithDeep?: boolean;
|
|
@@ -119,8 +119,8 @@ export interface PendingLimitOrderParams {
|
|
|
119
119
|
clientOrderId: string;
|
|
120
120
|
orderType?: OrderType;
|
|
121
121
|
selfMatchingOption?: SelfMatchingOptions;
|
|
122
|
-
price: number;
|
|
123
|
-
quantity: number;
|
|
122
|
+
price: number | bigint;
|
|
123
|
+
quantity: number | bigint;
|
|
124
124
|
isBid: boolean;
|
|
125
125
|
payWithDeep?: boolean;
|
|
126
126
|
expireTimestamp?: number | bigint;
|
|
@@ -129,7 +129,7 @@ export interface PendingLimitOrderParams {
|
|
|
129
129
|
export interface PendingMarketOrderParams {
|
|
130
130
|
clientOrderId: string;
|
|
131
131
|
selfMatchingOption?: SelfMatchingOptions;
|
|
132
|
-
quantity: number;
|
|
132
|
+
quantity: number | bigint;
|
|
133
133
|
isBid: boolean;
|
|
134
134
|
payWithDeep?: boolean;
|
|
135
135
|
}
|
|
@@ -138,29 +138,29 @@ export interface AddConditionalOrderParams {
|
|
|
138
138
|
marginManagerKey: string;
|
|
139
139
|
conditionalOrderId: string;
|
|
140
140
|
triggerBelowPrice: boolean;
|
|
141
|
-
triggerPrice: number;
|
|
141
|
+
triggerPrice: number | bigint;
|
|
142
142
|
pendingOrder: PendingLimitOrderParams | PendingMarketOrderParams;
|
|
143
143
|
}
|
|
144
144
|
|
|
145
145
|
export interface ProposalParams {
|
|
146
146
|
poolKey: string;
|
|
147
147
|
balanceManagerKey: string;
|
|
148
|
-
takerFee: number;
|
|
149
|
-
makerFee: number;
|
|
150
|
-
stakeRequired: number;
|
|
148
|
+
takerFee: number | bigint;
|
|
149
|
+
makerFee: number | bigint;
|
|
150
|
+
stakeRequired: number | bigint;
|
|
151
151
|
}
|
|
152
152
|
|
|
153
153
|
export interface MarginProposalParams {
|
|
154
|
-
takerFee: number;
|
|
155
|
-
makerFee: number;
|
|
156
|
-
stakeRequired: number;
|
|
154
|
+
takerFee: number | bigint;
|
|
155
|
+
makerFee: number | bigint;
|
|
156
|
+
stakeRequired: number | bigint;
|
|
157
157
|
}
|
|
158
158
|
|
|
159
159
|
export interface SwapParams {
|
|
160
160
|
poolKey: string;
|
|
161
|
-
amount: number;
|
|
162
|
-
deepAmount: number;
|
|
163
|
-
minOut: number;
|
|
161
|
+
amount: number | bigint;
|
|
162
|
+
deepAmount: number | bigint;
|
|
163
|
+
minOut: number | bigint;
|
|
164
164
|
deepCoin?: TransactionObjectArgument;
|
|
165
165
|
baseCoin?: TransactionObjectArgument;
|
|
166
166
|
quoteCoin?: TransactionObjectArgument;
|
|
@@ -172,8 +172,8 @@ export interface SwapWithManagerParams {
|
|
|
172
172
|
tradeCap: string;
|
|
173
173
|
depositCap: string;
|
|
174
174
|
withdrawCap: string;
|
|
175
|
-
amount: number;
|
|
176
|
-
minOut: number;
|
|
175
|
+
amount: number | bigint;
|
|
176
|
+
minOut: number | bigint;
|
|
177
177
|
baseCoin?: TransactionObjectArgument;
|
|
178
178
|
quoteCoin?: TransactionObjectArgument;
|
|
179
179
|
}
|
|
@@ -181,7 +181,7 @@ export interface SwapWithManagerParams {
|
|
|
181
181
|
export interface StakeParams {
|
|
182
182
|
poolKey: string;
|
|
183
183
|
balanceManagerKey: string;
|
|
184
|
-
amount: number;
|
|
184
|
+
amount: number | bigint;
|
|
185
185
|
}
|
|
186
186
|
|
|
187
187
|
export interface VoteParams {
|
|
@@ -192,15 +192,15 @@ export interface VoteParams {
|
|
|
192
192
|
|
|
193
193
|
export interface FlashLoanParams {
|
|
194
194
|
poolKey: string;
|
|
195
|
-
amount: number;
|
|
195
|
+
amount: number | bigint;
|
|
196
196
|
}
|
|
197
197
|
|
|
198
198
|
export interface CreatePoolAdminParams {
|
|
199
199
|
baseCoinKey: string;
|
|
200
200
|
quoteCoinKey: string;
|
|
201
|
-
tickSize: number;
|
|
202
|
-
lotSize: number;
|
|
203
|
-
minSize: number;
|
|
201
|
+
tickSize: number | bigint;
|
|
202
|
+
lotSize: number | bigint;
|
|
203
|
+
minSize: number | bigint;
|
|
204
204
|
whitelisted: boolean;
|
|
205
205
|
stablePool: boolean;
|
|
206
206
|
}
|
|
@@ -208,42 +208,42 @@ export interface CreatePoolAdminParams {
|
|
|
208
208
|
export interface CreatePermissionlessPoolParams {
|
|
209
209
|
baseCoinKey: string;
|
|
210
210
|
quoteCoinKey: string;
|
|
211
|
-
tickSize: number;
|
|
212
|
-
lotSize: number;
|
|
213
|
-
minSize: number;
|
|
211
|
+
tickSize: number | bigint;
|
|
212
|
+
lotSize: number | bigint;
|
|
213
|
+
minSize: number | bigint;
|
|
214
214
|
deepCoin?: TransactionObjectArgument;
|
|
215
215
|
}
|
|
216
216
|
|
|
217
217
|
export interface SetEwmaParams {
|
|
218
|
-
alpha: number;
|
|
219
|
-
zScoreThreshold: number;
|
|
220
|
-
additionalTakerFee: number;
|
|
218
|
+
alpha: number | bigint;
|
|
219
|
+
zScoreThreshold: number | bigint;
|
|
220
|
+
additionalTakerFee: number | bigint;
|
|
221
221
|
}
|
|
222
222
|
|
|
223
223
|
export interface PoolConfigParams {
|
|
224
|
-
minWithdrawRiskRatio: number;
|
|
225
|
-
minBorrowRiskRatio: number;
|
|
226
|
-
liquidationRiskRatio: number;
|
|
227
|
-
targetLiquidationRiskRatio: number;
|
|
228
|
-
userLiquidationReward: number;
|
|
229
|
-
poolLiquidationReward: number;
|
|
224
|
+
minWithdrawRiskRatio: number | bigint;
|
|
225
|
+
minBorrowRiskRatio: number | bigint;
|
|
226
|
+
liquidationRiskRatio: number | bigint;
|
|
227
|
+
targetLiquidationRiskRatio: number | bigint;
|
|
228
|
+
userLiquidationReward: number | bigint;
|
|
229
|
+
poolLiquidationReward: number | bigint;
|
|
230
230
|
}
|
|
231
231
|
|
|
232
232
|
export interface MarginPoolConfigParams {
|
|
233
|
-
supplyCap: number;
|
|
234
|
-
maxUtilizationRate: number;
|
|
235
|
-
referralSpread: number;
|
|
236
|
-
minBorrow: number;
|
|
237
|
-
rateLimitCapacity?: number;
|
|
238
|
-
rateLimitRefillRatePerMs?: number;
|
|
233
|
+
supplyCap: number | bigint;
|
|
234
|
+
maxUtilizationRate: number | bigint;
|
|
235
|
+
referralSpread: number | bigint;
|
|
236
|
+
minBorrow: number | bigint;
|
|
237
|
+
rateLimitCapacity?: number | bigint;
|
|
238
|
+
rateLimitRefillRatePerMs?: number | bigint;
|
|
239
239
|
rateLimitEnabled?: boolean;
|
|
240
240
|
}
|
|
241
241
|
|
|
242
242
|
export interface InterestConfigParams {
|
|
243
|
-
baseRate: number;
|
|
244
|
-
baseSlope: number;
|
|
245
|
-
optimalUtilization: number;
|
|
246
|
-
excessSlope: number;
|
|
243
|
+
baseRate: number | bigint;
|
|
244
|
+
baseSlope: number | bigint;
|
|
245
|
+
optimalUtilization: number | bigint;
|
|
246
|
+
excessSlope: number | bigint;
|
|
247
247
|
}
|
|
248
248
|
|
|
249
249
|
export interface Config {
|
|
@@ -252,13 +252,160 @@ export interface Config {
|
|
|
252
252
|
DEEP_TREASURY_ID: string;
|
|
253
253
|
}
|
|
254
254
|
|
|
255
|
+
// === Named Return Types ===
|
|
256
|
+
|
|
257
|
+
// Balance
|
|
258
|
+
export interface ManagerBalance {
|
|
259
|
+
coinType: string;
|
|
260
|
+
balance: number;
|
|
261
|
+
}
|
|
262
|
+
export interface VaultBalances {
|
|
263
|
+
base: number;
|
|
264
|
+
quote: number;
|
|
265
|
+
deep: number;
|
|
266
|
+
}
|
|
267
|
+
export interface LockedBalances {
|
|
268
|
+
base: number;
|
|
269
|
+
quote: number;
|
|
270
|
+
deep: number;
|
|
271
|
+
}
|
|
272
|
+
export interface ReferralBalances {
|
|
273
|
+
base: number;
|
|
274
|
+
quote: number;
|
|
275
|
+
deep: number;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
// Pool
|
|
279
|
+
export interface PoolTradeParams {
|
|
280
|
+
takerFee: number;
|
|
281
|
+
makerFee: number;
|
|
282
|
+
stakeRequired: number;
|
|
283
|
+
}
|
|
284
|
+
export interface PoolBookParams {
|
|
285
|
+
tickSize: number;
|
|
286
|
+
lotSize: number;
|
|
287
|
+
minSize: number;
|
|
288
|
+
}
|
|
289
|
+
export type PoolDeepPrice =
|
|
290
|
+
| { asset_is_base: true; deep_per_base: number }
|
|
291
|
+
| { asset_is_base: false; deep_per_quote: number };
|
|
292
|
+
|
|
293
|
+
// Quantity calculations
|
|
294
|
+
export interface QuoteQuantityOut {
|
|
295
|
+
baseQuantity: number;
|
|
296
|
+
baseOut: number;
|
|
297
|
+
quoteOut: number;
|
|
298
|
+
deepRequired: number;
|
|
299
|
+
}
|
|
300
|
+
export interface BaseQuantityOut {
|
|
301
|
+
quoteQuantity: number;
|
|
302
|
+
baseOut: number;
|
|
303
|
+
quoteOut: number;
|
|
304
|
+
deepRequired: number;
|
|
305
|
+
}
|
|
306
|
+
export interface QuantityOut {
|
|
307
|
+
baseQuantity: number;
|
|
308
|
+
quoteQuantity: number;
|
|
309
|
+
baseOut: number;
|
|
310
|
+
quoteOut: number;
|
|
311
|
+
deepRequired: number;
|
|
312
|
+
}
|
|
313
|
+
export interface BaseQuantityIn {
|
|
314
|
+
baseIn: number;
|
|
315
|
+
quoteOut: number;
|
|
316
|
+
deepRequired: number;
|
|
317
|
+
}
|
|
318
|
+
export interface QuoteQuantityIn {
|
|
319
|
+
baseOut: number;
|
|
320
|
+
quoteIn: number;
|
|
321
|
+
deepRequired: number;
|
|
322
|
+
}
|
|
323
|
+
export interface OrderDeepRequiredResult {
|
|
324
|
+
deepRequiredTaker: number;
|
|
325
|
+
deepRequiredMaker: number;
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
// Order book
|
|
329
|
+
export interface Level2Range {
|
|
330
|
+
prices: number[];
|
|
331
|
+
quantities: number[];
|
|
332
|
+
}
|
|
333
|
+
export interface Level2TicksFromMid {
|
|
334
|
+
bid_prices: number[];
|
|
335
|
+
bid_quantities: number[];
|
|
336
|
+
ask_prices: number[];
|
|
337
|
+
ask_quantities: number[];
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
// Account
|
|
341
|
+
export interface AccountBalances {
|
|
342
|
+
base: number;
|
|
343
|
+
quote: number;
|
|
344
|
+
deep: number;
|
|
345
|
+
}
|
|
346
|
+
export interface AccountInfo {
|
|
347
|
+
epoch: string;
|
|
348
|
+
open_orders: { contents: string[] };
|
|
349
|
+
taker_volume: number;
|
|
350
|
+
maker_volume: number;
|
|
351
|
+
active_stake: number;
|
|
352
|
+
inactive_stake: number;
|
|
353
|
+
created_proposal: boolean;
|
|
354
|
+
voted_proposal: string | null;
|
|
355
|
+
unclaimed_rebates: AccountBalances;
|
|
356
|
+
settled_balances: AccountBalances;
|
|
357
|
+
owed_balances: AccountBalances;
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
// Order
|
|
361
|
+
export interface DecodedOrderId {
|
|
362
|
+
isBid: boolean;
|
|
363
|
+
price: number;
|
|
364
|
+
orderId: number;
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
// Margin
|
|
368
|
+
export interface MarginManagerState {
|
|
369
|
+
managerId: string;
|
|
370
|
+
deepbookPoolId: string;
|
|
371
|
+
riskRatio: number;
|
|
372
|
+
baseAsset: string;
|
|
373
|
+
quoteAsset: string;
|
|
374
|
+
baseDebt: string;
|
|
375
|
+
quoteDebt: string;
|
|
376
|
+
basePythPrice: string;
|
|
377
|
+
basePythDecimals: number;
|
|
378
|
+
quotePythPrice: string;
|
|
379
|
+
quotePythDecimals: number;
|
|
380
|
+
currentPrice: bigint;
|
|
381
|
+
lowestTriggerAbovePrice: bigint;
|
|
382
|
+
highestTriggerBelowPrice: bigint;
|
|
383
|
+
}
|
|
384
|
+
export interface MarginManagerAssets {
|
|
385
|
+
baseAsset: string;
|
|
386
|
+
quoteAsset: string;
|
|
387
|
+
}
|
|
388
|
+
export interface MarginManagerDebts {
|
|
389
|
+
baseDebt: string;
|
|
390
|
+
quoteDebt: string;
|
|
391
|
+
}
|
|
392
|
+
export interface MarginManagerBalancesResult {
|
|
393
|
+
base: string;
|
|
394
|
+
quote: string;
|
|
395
|
+
deep: string;
|
|
396
|
+
}
|
|
397
|
+
export interface BorrowedShares {
|
|
398
|
+
baseShares: string;
|
|
399
|
+
quoteShares: string;
|
|
400
|
+
}
|
|
401
|
+
|
|
255
402
|
/**
|
|
256
403
|
* Parameters for depositing into a margin manager.
|
|
257
404
|
* Either `amount` (number) or `coin` (TransactionArgument) must be provided, but not both.
|
|
258
405
|
*/
|
|
259
406
|
export type DepositParams = {
|
|
260
407
|
managerKey: string;
|
|
261
|
-
} & ({ amount: number; coin?: never } | { amount?: never; coin: TransactionArgument });
|
|
408
|
+
} & ({ amount: number | bigint; coin?: never } | { amount?: never; coin: TransactionArgument });
|
|
262
409
|
|
|
263
410
|
/**
|
|
264
411
|
* Parameters for depositing during margin manager initialization.
|
|
@@ -269,4 +416,4 @@ export type DepositDuringInitParams = {
|
|
|
269
416
|
manager: TransactionArgument;
|
|
270
417
|
poolKey: string;
|
|
271
418
|
coinType: string;
|
|
272
|
-
} & ({ amount: number; coin?: never } | { amount?: never; coin: TransactionArgument });
|
|
419
|
+
} & ({ amount: number | bigint; coin?: never } | { amount?: never; coin: TransactionArgument });
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// Copyright (c) Mysten Labs, Inc.
|
|
2
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Convert a quantity value (amount, deposit, etc.) to on-chain u64.
|
|
6
|
+
* If bigint: use as raw on-chain value. If number: scale with Math.round.
|
|
7
|
+
*/
|
|
8
|
+
export function convertQuantity(value: number | bigint, scalar: number): bigint {
|
|
9
|
+
return typeof value === 'bigint' ? value : BigInt(Math.round(value * scalar));
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Convert a price value to on-chain u64.
|
|
14
|
+
* If bigint: use as raw on-chain value. If number: scale with cross-scalar formula.
|
|
15
|
+
*/
|
|
16
|
+
export function convertPrice(
|
|
17
|
+
value: number | bigint,
|
|
18
|
+
floatScalar: number,
|
|
19
|
+
quoteScalar: number,
|
|
20
|
+
baseScalar: number,
|
|
21
|
+
): bigint {
|
|
22
|
+
return typeof value === 'bigint'
|
|
23
|
+
? value
|
|
24
|
+
: BigInt(Math.round((value * floatScalar * quoteScalar) / baseScalar));
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Convert a rate/fee value to on-chain u64.
|
|
29
|
+
* If bigint: use as raw on-chain value. If number: scale with FLOAT_SCALAR.
|
|
30
|
+
*/
|
|
31
|
+
export function convertRate(value: number | bigint, floatScalar: number): bigint {
|
|
32
|
+
return typeof value === 'bigint' ? value : BigInt(Math.round(value * floatScalar));
|
|
33
|
+
}
|