@zofai/zo-sdk 0.2.9 → 0.2.11

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 (173) hide show
  1. package/dist/abstract/BaseAPI.cjs +7 -1
  2. package/dist/abstract/BaseAPI.cjs.map +1 -1
  3. package/dist/abstract/BaseAPI.d.cts +11 -10
  4. package/dist/abstract/BaseAPI.d.cts.map +1 -1
  5. package/dist/abstract/BaseAPI.d.mts +11 -10
  6. package/dist/abstract/BaseAPI.d.mts.map +1 -1
  7. package/dist/abstract/BaseAPI.mjs +7 -1
  8. package/dist/abstract/BaseAPI.mjs.map +1 -1
  9. package/dist/abstract/BaseDataAPI.d.cts +1 -1
  10. package/dist/abstract/BaseDataAPI.d.cts.map +1 -1
  11. package/dist/abstract/BaseDataAPI.d.mts +1 -1
  12. package/dist/abstract/BaseDataAPI.d.mts.map +1 -1
  13. package/dist/api.cjs +12 -12
  14. package/dist/api.cjs.map +1 -1
  15. package/dist/api.d.cts +1 -1
  16. package/dist/api.d.cts.map +1 -1
  17. package/dist/api.d.mts +1 -1
  18. package/dist/api.d.mts.map +1 -1
  19. package/dist/api.mjs +12 -12
  20. package/dist/api.mjs.map +1 -1
  21. package/dist/bcs.d.cts +41 -71
  22. package/dist/bcs.d.cts.map +1 -1
  23. package/dist/bcs.d.mts +41 -71
  24. package/dist/bcs.d.mts.map +1 -1
  25. package/dist/coins.cjs +74 -0
  26. package/dist/coins.cjs.map +1 -0
  27. package/dist/coins.d.cts +37 -0
  28. package/dist/coins.d.cts.map +1 -0
  29. package/dist/coins.d.mts +37 -0
  30. package/dist/coins.d.mts.map +1 -0
  31. package/dist/coins.mjs +67 -0
  32. package/dist/coins.mjs.map +1 -0
  33. package/dist/data.d.cts +6 -6
  34. package/dist/data.d.cts.map +1 -1
  35. package/dist/data.d.mts +6 -6
  36. package/dist/data.d.mts.map +1 -1
  37. package/dist/factory/SDKFactory.d.cts +1 -1
  38. package/dist/factory/SDKFactory.d.cts.map +1 -1
  39. package/dist/factory/SDKFactory.d.mts +1 -1
  40. package/dist/factory/SDKFactory.d.mts.map +1 -1
  41. package/dist/implementations/SLPAPI.cjs +192 -100
  42. package/dist/implementations/SLPAPI.cjs.map +1 -1
  43. package/dist/implementations/SLPAPI.d.cts +24 -24
  44. package/dist/implementations/SLPAPI.d.cts.map +1 -1
  45. package/dist/implementations/SLPAPI.d.mts +24 -24
  46. package/dist/implementations/SLPAPI.d.mts.map +1 -1
  47. package/dist/implementations/SLPAPI.mjs +192 -100
  48. package/dist/implementations/SLPAPI.mjs.map +1 -1
  49. package/dist/implementations/SLPDataAPI.cjs +2 -2
  50. package/dist/implementations/SLPDataAPI.cjs.map +1 -1
  51. package/dist/implementations/SLPDataAPI.d.cts +5 -5
  52. package/dist/implementations/SLPDataAPI.d.cts.map +1 -1
  53. package/dist/implementations/SLPDataAPI.d.mts +5 -5
  54. package/dist/implementations/SLPDataAPI.d.mts.map +1 -1
  55. package/dist/implementations/SLPDataAPI.mjs +2 -2
  56. package/dist/implementations/SLPDataAPI.mjs.map +1 -1
  57. package/dist/implementations/USDZAPI.cjs +176 -92
  58. package/dist/implementations/USDZAPI.cjs.map +1 -1
  59. package/dist/implementations/USDZAPI.d.cts +22 -22
  60. package/dist/implementations/USDZAPI.d.cts.map +1 -1
  61. package/dist/implementations/USDZAPI.d.mts +22 -22
  62. package/dist/implementations/USDZAPI.d.mts.map +1 -1
  63. package/dist/implementations/USDZAPI.mjs +176 -92
  64. package/dist/implementations/USDZAPI.mjs.map +1 -1
  65. package/dist/implementations/USDZDataAPI.d.cts +5 -5
  66. package/dist/implementations/USDZDataAPI.d.cts.map +1 -1
  67. package/dist/implementations/USDZDataAPI.d.mts +5 -5
  68. package/dist/implementations/USDZDataAPI.d.mts.map +1 -1
  69. package/dist/implementations/ZBTCVCAPI.cjs +84 -46
  70. package/dist/implementations/ZBTCVCAPI.cjs.map +1 -1
  71. package/dist/implementations/ZBTCVCAPI.d.cts +12 -12
  72. package/dist/implementations/ZBTCVCAPI.d.cts.map +1 -1
  73. package/dist/implementations/ZBTCVCAPI.d.mts +12 -12
  74. package/dist/implementations/ZBTCVCAPI.d.mts.map +1 -1
  75. package/dist/implementations/ZBTCVCAPI.mjs +84 -46
  76. package/dist/implementations/ZBTCVCAPI.mjs.map +1 -1
  77. package/dist/implementations/ZBTCVCDataAPI.cjs.map +1 -1
  78. package/dist/implementations/ZBTCVCDataAPI.d.cts +5 -5
  79. package/dist/implementations/ZBTCVCDataAPI.d.cts.map +1 -1
  80. package/dist/implementations/ZBTCVCDataAPI.d.mts +5 -5
  81. package/dist/implementations/ZBTCVCDataAPI.d.mts.map +1 -1
  82. package/dist/implementations/ZBTCVCDataAPI.mjs.map +1 -1
  83. package/dist/implementations/ZLPAPI.cjs +192 -100
  84. package/dist/implementations/ZLPAPI.cjs.map +1 -1
  85. package/dist/implementations/ZLPAPI.d.cts +24 -24
  86. package/dist/implementations/ZLPAPI.d.cts.map +1 -1
  87. package/dist/implementations/ZLPAPI.d.mts +24 -24
  88. package/dist/implementations/ZLPAPI.d.mts.map +1 -1
  89. package/dist/implementations/ZLPAPI.mjs +192 -100
  90. package/dist/implementations/ZLPAPI.mjs.map +1 -1
  91. package/dist/implementations/ZLPDataAPI.cjs.map +1 -1
  92. package/dist/implementations/ZLPDataAPI.d.cts +5 -5
  93. package/dist/implementations/ZLPDataAPI.d.cts.map +1 -1
  94. package/dist/implementations/ZLPDataAPI.d.mts +5 -5
  95. package/dist/implementations/ZLPDataAPI.d.mts.map +1 -1
  96. package/dist/implementations/ZLPDataAPI.mjs.map +1 -1
  97. package/dist/index.cjs +2 -0
  98. package/dist/index.cjs.map +1 -1
  99. package/dist/index.d.cts +3 -1
  100. package/dist/index.d.cts.map +1 -1
  101. package/dist/index.d.mts +3 -1
  102. package/dist/index.d.mts.map +1 -1
  103. package/dist/index.mjs +2 -0
  104. package/dist/index.mjs.map +1 -1
  105. package/dist/interfaces/base.d.cts +26 -22
  106. package/dist/interfaces/base.d.cts.map +1 -1
  107. package/dist/interfaces/base.d.mts +26 -22
  108. package/dist/interfaces/base.d.mts.map +1 -1
  109. package/dist/interfaces/slp.d.cts +1 -1
  110. package/dist/interfaces/slp.d.cts.map +1 -1
  111. package/dist/interfaces/slp.d.mts +1 -1
  112. package/dist/interfaces/slp.d.mts.map +1 -1
  113. package/dist/interfaces/usdz.d.cts +1 -1
  114. package/dist/interfaces/usdz.d.cts.map +1 -1
  115. package/dist/interfaces/usdz.d.mts +1 -1
  116. package/dist/interfaces/usdz.d.mts.map +1 -1
  117. package/dist/interfaces/zbtcvc.d.cts +1 -1
  118. package/dist/interfaces/zbtcvc.d.cts.map +1 -1
  119. package/dist/interfaces/zbtcvc.d.mts +1 -1
  120. package/dist/interfaces/zbtcvc.d.mts.map +1 -1
  121. package/dist/interfaces/zlp.d.cts +1 -1
  122. package/dist/interfaces/zlp.d.cts.map +1 -1
  123. package/dist/interfaces/zlp.d.mts +1 -1
  124. package/dist/interfaces/zlp.d.mts.map +1 -1
  125. package/dist/oracle.cjs +27 -22
  126. package/dist/oracle.cjs.map +1 -1
  127. package/dist/oracle.d.cts +14 -2
  128. package/dist/oracle.d.cts.map +1 -1
  129. package/dist/oracle.d.mts +14 -2
  130. package/dist/oracle.d.mts.map +1 -1
  131. package/dist/oracle.mjs +27 -22
  132. package/dist/oracle.mjs.map +1 -1
  133. package/dist/suiClient.cjs +8 -0
  134. package/dist/suiClient.cjs.map +1 -0
  135. package/dist/suiClient.d.cts +8 -0
  136. package/dist/suiClient.d.cts.map +1 -0
  137. package/dist/suiClient.d.mts +8 -0
  138. package/dist/suiClient.d.mts.map +1 -0
  139. package/dist/suiClient.mjs +2 -0
  140. package/dist/suiClient.mjs.map +1 -0
  141. package/dist/utils.cjs +7 -3
  142. package/dist/utils.cjs.map +1 -1
  143. package/dist/utils.d.cts +2 -2
  144. package/dist/utils.d.cts.map +1 -1
  145. package/dist/utils.d.mts +2 -2
  146. package/dist/utils.d.mts.map +1 -1
  147. package/dist/utils.mjs +7 -3
  148. package/dist/utils.mjs.map +1 -1
  149. package/package.json +4 -4
  150. package/src/abstract/BaseAPI.ts +11 -9
  151. package/src/abstract/BaseDataAPI.ts +1 -1
  152. package/src/api.ts +13 -17
  153. package/src/coins.ts +116 -0
  154. package/src/data.ts +1 -1
  155. package/src/factory/SDKFactory.ts +1 -1
  156. package/src/implementations/SLPAPI.ts +200 -116
  157. package/src/implementations/SLPDataAPI.ts +3 -3
  158. package/src/implementations/USDZAPI.ts +185 -95
  159. package/src/implementations/USDZDataAPI.ts +1 -1
  160. package/src/implementations/ZBTCVCAPI.ts +99 -53
  161. package/src/implementations/ZBTCVCDataAPI.ts +1 -1
  162. package/src/implementations/ZLPAPI.ts +200 -111
  163. package/src/implementations/ZLPDataAPI.ts +1 -1
  164. package/src/index.ts +3 -1
  165. package/src/interfaces/base.ts +14 -22
  166. package/src/interfaces/slp.ts +0 -1
  167. package/src/interfaces/usdz.ts +0 -1
  168. package/src/interfaces/zbtcvc.ts +0 -1
  169. package/src/interfaces/zlp.ts +0 -1
  170. package/src/oracle.ts +70 -30
  171. package/src/suiClient.ts +11 -0
  172. package/src/utils.ts +9 -3
  173. package/tsconfig.json +8 -1
@@ -63,7 +63,7 @@ class ZBTCVCAPI extends abstract_1.BaseAPI {
63
63
  arguments: [tx.object(this.consts.zoCore.market), tx.object(orderCapId)],
64
64
  });
65
65
  }
66
- async openPositionWithSCard(collateralToken, indexToken, size, collateralAmount, coinObjects, long, reserveAmount, indexPrice, collateralPrice, kioskClient, kioskCap, scard, isLimitOrder, isIocOrder, pricesSlippage = 0.003, collateralSlippage = 0.5, relayerFee = BigInt(0.5), referralAddress, sender, sponsoredTx, suiCoinObjectsForPythUpdate) {
66
+ async openPositionWithSCard(collateralToken, indexToken, size, collateralAmount, coinObjects, long, reserveAmount, indexPrice, collateralPrice, kioskClient, kioskCap, scard, isLimitOrder, isIocOrder, pricesSlippage = 0.003, collateralSlippage = 0.5, relayerFee = BigInt(0.5), referralAddress, sender, sponsoredTx) {
67
67
  let tx = new transactions_1.Transaction();
68
68
  if (referralAddress && !(await this.dataAPI.hasReferral(sender || ''))) {
69
69
  tx = await this.addReferral(referralAddress, tx);
@@ -87,11 +87,15 @@ class ZBTCVCAPI extends abstract_1.BaseAPI {
87
87
  // Handle oracle initialization and coin processing
88
88
  let suiCoinObject;
89
89
  if (sponsoredTx) {
90
- suiCoinObject = this.processCoins(tx, 'sui', suiCoinObjectsForPythUpdate || [], true);
91
- tx = await this.initOracleTxb([collateralToken, indexToken], tx, true, suiCoinObject);
90
+ const oracle = await this.initOracleTxb([collateralToken, indexToken], tx, true, {
91
+ sender: this.requireSenderForSponsored(sender),
92
+ additionalSuiAmount: collateralToken === 'sui' ? collateralAmount + relayerFee : 0n,
93
+ });
94
+ tx = oracle.tx;
95
+ suiCoinObject = oracle.suiCoinObject;
92
96
  }
93
97
  else {
94
- tx = await this.initOracleTxb([collateralToken, indexToken], tx);
98
+ tx = (await this.initOracleTxb([collateralToken, indexToken], tx)).tx;
95
99
  }
96
100
  // Process coin splitting
97
101
  const [depositObject, feeObject] = this.processCoinSplitting(tx, collateralToken, coinObjects, [tx.pure.u64(collateralAmount), tx.pure.u64(relayerFee)], sponsoredTx, suiCoinObject);
@@ -131,7 +135,7 @@ class ZBTCVCAPI extends abstract_1.BaseAPI {
131
135
  .finalize();
132
136
  return tx;
133
137
  }
134
- async decreasePositionWithSCard(pcpId, collateralToken, indexToken, amount, long, indexPrice, collateralPrice, kioskClient, kioskCap, scard, isTriggerOrder = false, isTakeProfitOrder = true, isIocOrder = false, pricesSlippage = 0.003, collateralSlippage = 0.5, relayerFee = BigInt(0.5), coinObjects, sponsoredTx, suiCoinObjectsForPythUpdate) {
138
+ async decreasePositionWithSCard(pcpId, collateralToken, indexToken, amount, long, indexPrice, collateralPrice, kioskClient, kioskCap, scard, isTriggerOrder = false, isTakeProfitOrder = true, isIocOrder = false, pricesSlippage = 0.003, collateralSlippage = 0.5, relayerFee = BigInt(0.5), coinObjects, sponsoredTx, sender) {
135
139
  if (!coinObjects) {
136
140
  throw new Error(`${this.constructor.name}: coinObjects is required`);
137
141
  }
@@ -158,11 +162,15 @@ class ZBTCVCAPI extends abstract_1.BaseAPI {
158
162
  // Handle oracle initialization and coin processing
159
163
  let suiCoinObject;
160
164
  if (sponsoredTx) {
161
- suiCoinObject = this.processCoins(tx, 'sui', suiCoinObjectsForPythUpdate || [], true);
162
- tx = await this.initOracleTxb([collateralToken, indexToken], tx, true, suiCoinObject);
165
+ const oracle = await this.initOracleTxb([collateralToken, indexToken], tx, true, {
166
+ sender: this.requireSenderForSponsored(sender),
167
+ additionalSuiAmount: collateralToken === 'sui' ? relayerFee : 0n,
168
+ });
169
+ tx = oracle.tx;
170
+ suiCoinObject = oracle.suiCoinObject;
163
171
  }
164
172
  else {
165
- tx = await this.initOracleTxb([collateralToken, indexToken], tx);
173
+ tx = (await this.initOracleTxb([collateralToken, indexToken], tx)).tx;
166
174
  }
167
175
  // Process coin splitting
168
176
  const [feeObject] = this.processCoinSplitting(tx, collateralToken, coinObjects, [tx.pure.u64(relayerFee)], sponsoredTx, suiCoinObject);
@@ -201,18 +209,19 @@ class ZBTCVCAPI extends abstract_1.BaseAPI {
201
209
  .finalize();
202
210
  return tx;
203
211
  }
204
- async decreaseMultiPositionsWithSCard(positions, kioskClient, kioskCap, scard, tx, sponsoredTx, suiCoinObjectsForPythUpdate) {
212
+ async decreaseMultiPositionsWithSCard(positions, kioskClient, kioskCap, scard, tx, sponsoredTx, sender) {
205
213
  if (!tx) {
206
214
  tx = new transactions_1.Transaction();
207
215
  }
208
216
  // Handle oracle initialization and coin processing
209
217
  let suiCoinObject;
210
218
  if (sponsoredTx) {
211
- suiCoinObject = this.processCoins(tx, 'sui', suiCoinObjectsForPythUpdate || [], true);
212
- tx = await this.initOracleTxb(positions.flatMap(position => [position.collateralToken, position.indexToken]), tx, true, suiCoinObject);
219
+ const oracle = await this.initOracleTxb(positions.flatMap(position => [position.collateralToken, position.indexToken]), tx, true, { sender: this.requireSenderForSponsored(sender) });
220
+ tx = oracle.tx;
221
+ suiCoinObject = oracle.suiCoinObject;
213
222
  }
214
223
  else {
215
- tx = await this.initOracleTxb(positions.flatMap(position => [position.collateralToken, position.indexToken]), tx);
224
+ tx = (await this.initOracleTxb(positions.flatMap(position => [position.collateralToken, position.indexToken]), tx)).tx;
216
225
  }
217
226
  const kioskTx = new kiosk_1.KioskTransaction({
218
227
  transaction: tx,
@@ -277,7 +286,7 @@ class ZBTCVCAPI extends abstract_1.BaseAPI {
277
286
  /**
278
287
  * Deposits collateral into ZBTCVC vault
279
288
  */
280
- async deposit(coin, coinObjects, amount, minAmountOut = 0, referralAddress, sender, sponsoredTx, suiCoinObjectsForPythUpdate) {
289
+ async deposit(coin, coinObjects, amount, minAmountOut = 0, referralAddress, sender, sponsoredTx) {
281
290
  let tx = new transactions_1.Transaction();
282
291
  // Add referral if needed
283
292
  if (referralAddress && !(await this.dataAPI.hasReferral(sender || ''))) {
@@ -287,8 +296,12 @@ class ZBTCVCAPI extends abstract_1.BaseAPI {
287
296
  const pythFeederKeys = Object.keys(this.consts.pythFeeder.feeder);
288
297
  // Handle sponsored transaction case
289
298
  if (sponsoredTx) {
290
- const suiCoinObject = this.processCoins(tx, 'sui', suiCoinObjectsForPythUpdate || [], true);
291
- tx = await this.initOracleTxb(pythFeederKeys, tx, true, suiCoinObject);
299
+ const oracle = await this.initOracleTxb(pythFeederKeys, tx, true, {
300
+ sender: this.requireSenderForSponsored(sender),
301
+ additionalSuiAmount: coin === 'sui' ? BigInt(amount) : 0n,
302
+ });
303
+ tx = oracle.tx;
304
+ const { suiCoinObject } = oracle;
292
305
  // Process deposit coins
293
306
  const depositObject = coin === 'sui'
294
307
  ? tx.splitCoins(suiCoinObject, [tx.pure.u64(amount)])[0]
@@ -309,7 +322,7 @@ class ZBTCVCAPI extends abstract_1.BaseAPI {
309
322
  return tx;
310
323
  }
311
324
  // Handle non-sponsored transaction case
312
- tx = await this.initOracleTxb(pythFeederKeys, tx);
325
+ tx = (await this.initOracleTxb(pythFeederKeys, tx)).tx;
313
326
  const depositObject = tx.splitCoins(this.processCoins(tx, coin, coinObjects, false), [tx.pure.u64(amount)])[0];
314
327
  const { vaultsValuation, symbolsValuation } = this.dataAPI.valuate(tx);
315
328
  tx.moveCall({
@@ -332,7 +345,7 @@ class ZBTCVCAPI extends abstract_1.BaseAPI {
332
345
  /**
333
346
  * Deposits collateral into ZBTCVC vault
334
347
  */
335
- async depositPtb(coin, coinObjects, amount, minAmountOut = 0, referralAddress, sender, tx, sponsoredTx, suiCoinObjectsForPythUpdate) {
348
+ async depositPtb(coin, coinObjects, amount, minAmountOut = 0, referralAddress, sender, tx, sponsoredTx) {
336
349
  if (!tx) {
337
350
  tx = new transactions_1.Transaction();
338
351
  }
@@ -344,8 +357,12 @@ class ZBTCVCAPI extends abstract_1.BaseAPI {
344
357
  const pythFeederKeys = Object.keys(this.consts.pythFeeder.feeder);
345
358
  // Handle sponsored transaction case
346
359
  if (sponsoredTx) {
347
- const suiCoinObject = this.processCoins(tx, 'sui', suiCoinObjectsForPythUpdate || [], true);
348
- tx = await this.initOracleTxb(pythFeederKeys, tx, true, suiCoinObject);
360
+ const oracle = await this.initOracleTxb(pythFeederKeys, tx, true, {
361
+ sender: this.requireSenderForSponsored(sender),
362
+ additionalSuiAmount: coin === 'sui' ? BigInt(amount) : 0n,
363
+ });
364
+ tx = oracle.tx;
365
+ const { suiCoinObject } = oracle;
349
366
  // Process deposit coins
350
367
  const depositObject = coin === 'sui'
351
368
  ? tx.splitCoins(suiCoinObject, [tx.pure.u64(amount)])[0]
@@ -366,7 +383,7 @@ class ZBTCVCAPI extends abstract_1.BaseAPI {
366
383
  return mintedCoin;
367
384
  }
368
385
  // Handle non-sponsored transaction case
369
- tx = await this.initOracleTxb(pythFeederKeys, tx);
386
+ tx = (await this.initOracleTxb(pythFeederKeys, tx)).tx;
370
387
  const depositObject = tx.splitCoins(this.processCoins(tx, coin, coinObjects, false), [tx.pure.u64(amount)])[0];
371
388
  const { vaultsValuation, symbolsValuation } = this.dataAPI.valuate(tx);
372
389
  const [mintedCoin] = tx.moveCall({
@@ -389,16 +406,20 @@ class ZBTCVCAPI extends abstract_1.BaseAPI {
389
406
  /**
390
407
  * Withdraws collateral from ZBTCVC vault
391
408
  */
392
- async withdraw(coin, lpCoinObjects, amount, minAmountOut = 0, sponsoredTx, suiCoinObjectsForPythUpdate) {
409
+ async withdraw(coin, lpCoinObjects, amount, minAmountOut = 0, sponsoredTx, sender) {
393
410
  let tx = new transactions_1.Transaction();
394
411
  // Initialize oracle transaction
395
412
  const pythFeederKeys = Object.keys(this.consts.pythFeeder.feeder);
396
413
  if (sponsoredTx) {
397
- const suiCoinObject = this.processCoins(tx, 'sui', suiCoinObjectsForPythUpdate || [], true);
398
- tx = await this.initOracleTxb(pythFeederKeys, tx, true, suiCoinObject);
414
+ const oracle = await this.initOracleTxb(pythFeederKeys, tx, true, {
415
+ sender: this.requireSenderForSponsored(sender),
416
+ additionalSuiAmount: 0n,
417
+ });
418
+ tx = oracle.tx;
419
+ const { suiCoinObject } = oracle;
399
420
  }
400
421
  else {
401
- tx = await this.initOracleTxb(pythFeederKeys, tx);
422
+ tx = (await this.initOracleTxb(pythFeederKeys, tx)).tx;
402
423
  }
403
424
  const zbtcvcCoinObject = this.processCoins(tx, 'zbtcvc', lpCoinObjects, false);
404
425
  const [withdrawObject] = tx.splitCoins(zbtcvcCoinObject, [tx.pure.u64(amount)]);
@@ -505,7 +526,7 @@ class ZBTCVCAPI extends abstract_1.BaseAPI {
505
526
  return tx;
506
527
  }
507
528
  async swap(fromToken, toToken, fromAmount, fromCoinObjects, minAmountOut) {
508
- const tx = await this.initOracleTxb(Object.keys(this.consts.zoCore.vaults));
529
+ const { tx } = await this.initOracleTxb(Object.keys(this.consts.zoCore.vaults));
509
530
  const fromCoinObject = this.processCoins(tx, fromToken, fromCoinObjects);
510
531
  const [fromDepositObject] = tx.splitCoins(fromCoinObject, [tx.pure.u64(fromAmount)]);
511
532
  const vaultsValuation = this.dataAPI.valuateVaults(tx);
@@ -529,7 +550,7 @@ class ZBTCVCAPI extends abstract_1.BaseAPI {
529
550
  /**
530
551
  * Opens a new position in ZBTCVC
531
552
  */
532
- async openPosition(collateralToken, indexToken, size, collateralAmount, coinObjects, long, reserveAmount, indexPrice, collateralPrice, isLimitOrder, isIocOrder, pricesSlippage = 0.003, collateralSlippage = 0.5, relayerFee = BigInt(0.5), referralAddress, sender, sponsoredTx, suiCoinObjectsForPythUpdate) {
553
+ async openPosition(collateralToken, indexToken, size, collateralAmount, coinObjects, long, reserveAmount, indexPrice, collateralPrice, isLimitOrder, isIocOrder, pricesSlippage = 0.003, collateralSlippage = 0.5, relayerFee = BigInt(0.5), referralAddress, sender, sponsoredTx) {
533
554
  let tx = new transactions_1.Transaction();
534
555
  if (referralAddress && !(await this.dataAPI.hasReferral(sender || ''))) {
535
556
  tx = await this.addReferral(referralAddress, tx);
@@ -544,11 +565,15 @@ class ZBTCVCAPI extends abstract_1.BaseAPI {
544
565
  // Handle oracle initialization and coin processing
545
566
  let suiCoinObject;
546
567
  if (sponsoredTx) {
547
- suiCoinObject = this.processCoins(tx, 'sui', suiCoinObjectsForPythUpdate || [], true);
548
- tx = await this.initOracleTxb([collateralToken, indexToken], tx, true, suiCoinObject);
568
+ const oracle = await this.initOracleTxb([collateralToken, indexToken], tx, true, {
569
+ sender: this.requireSenderForSponsored(sender),
570
+ additionalSuiAmount: collateralToken === 'sui' ? relayerFee : 0n,
571
+ });
572
+ tx = oracle.tx;
573
+ suiCoinObject = oracle.suiCoinObject;
549
574
  }
550
575
  else {
551
- tx = await this.initOracleTxb([collateralToken, indexToken], tx);
576
+ tx = (await this.initOracleTxb([collateralToken, indexToken], tx)).tx;
552
577
  }
553
578
  // Process coin splitting
554
579
  const [depositObject, feeObject] = this.processCoinSplitting(tx, collateralToken, coinObjects, [tx.pure.u64(collateralAmount), tx.pure.u64(relayerFee)], sponsoredTx, suiCoinObject);
@@ -583,7 +608,7 @@ class ZBTCVCAPI extends abstract_1.BaseAPI {
583
608
  /**
584
609
  * Decreases an existing position in ZBTCVC
585
610
  */
586
- async decreasePosition(pcpId, collateralToken, indexToken, amount, long, indexPrice, collateralPrice, isTriggerOrder = false, isTakeProfitOrder = true, isIocOrder = false, pricesSlippage = 0.003, collateralSlippage = 0.5, relayerFee = BigInt(0.5), coinObjects, sponsoredTx, suiCoinObjectsForPythUpdate) {
611
+ async decreasePosition(pcpId, collateralToken, indexToken, amount, long, indexPrice, collateralPrice, isTriggerOrder = false, isTakeProfitOrder = true, isIocOrder = false, pricesSlippage = 0.003, collateralSlippage = 0.5, relayerFee = BigInt(0.5), coinObjects, sponsoredTx, sender) {
587
612
  if (!coinObjects) {
588
613
  throw new Error(`${this.constructor.name}: coinObjects is required`);
589
614
  }
@@ -601,11 +626,15 @@ class ZBTCVCAPI extends abstract_1.BaseAPI {
601
626
  // Handle oracle initialization and coin processing
602
627
  let suiCoinObject;
603
628
  if (sponsoredTx) {
604
- suiCoinObject = this.processCoins(tx, 'sui', suiCoinObjectsForPythUpdate || [], true);
605
- tx = await this.initOracleTxb([collateralToken, indexToken], tx, true, suiCoinObject);
629
+ const oracle = await this.initOracleTxb([collateralToken, indexToken], tx, true, {
630
+ sender: this.requireSenderForSponsored(sender),
631
+ additionalSuiAmount: collateralToken === 'sui' ? relayerFee : 0n,
632
+ });
633
+ tx = oracle.tx;
634
+ suiCoinObject = oracle.suiCoinObject;
606
635
  }
607
636
  else {
608
- tx = await this.initOracleTxb([collateralToken, indexToken], tx);
637
+ tx = (await this.initOracleTxb([collateralToken, indexToken], tx)).tx;
609
638
  }
610
639
  // Process coin splitting
611
640
  const [feeObject] = this.processCoinSplitting(tx, collateralToken, coinObjects, [tx.pure.u64(relayerFee)], sponsoredTx, suiCoinObject);
@@ -636,18 +665,19 @@ class ZBTCVCAPI extends abstract_1.BaseAPI {
636
665
  });
637
666
  return tx;
638
667
  }
639
- async decreaseMultiPositions(positions, tx, sponsoredTx, suiCoinObjectsForPythUpdate) {
668
+ async decreaseMultiPositions(positions, tx, sponsoredTx, sender) {
640
669
  if (!tx) {
641
670
  tx = new transactions_1.Transaction();
642
671
  }
643
672
  // Handle oracle initialization and coin processing
644
673
  let suiCoinObject;
645
674
  if (sponsoredTx) {
646
- suiCoinObject = this.processCoins(tx, 'sui', suiCoinObjectsForPythUpdate || [], true);
647
- tx = await this.initOracleTxb(positions.flatMap(position => [position.collateralToken, position.indexToken]), tx, true, suiCoinObject);
675
+ const oracle = await this.initOracleTxb(positions.flatMap(position => [position.collateralToken, position.indexToken]), tx, true, { sender: this.requireSenderForSponsored(sender) });
676
+ tx = oracle.tx;
677
+ suiCoinObject = oracle.suiCoinObject;
648
678
  }
649
679
  else {
650
- tx = await this.initOracleTxb(positions.flatMap(position => [position.collateralToken, position.indexToken]), tx);
680
+ tx = (await this.initOracleTxb(positions.flatMap(position => [position.collateralToken, position.indexToken]), tx)).tx;
651
681
  }
652
682
  for (const position of positions) {
653
683
  const { pcpId, collateralToken, coinObjects = [], indexToken, amount, long, indexPrice, collateralPrice, isTriggerOrder = false, isTakeProfitOrder = true, isIocOrder = false, pricesSlippage = 0.003, collateralSlippage = 0.5, relayerFee = BigInt(0.5), } = position;
@@ -695,16 +725,20 @@ class ZBTCVCAPI extends abstract_1.BaseAPI {
695
725
  /**
696
726
  * Pledges in position (ZBTCVC-specific functionality)
697
727
  */
698
- async pledgeInPosition(pcpId, collateralToken, indexToken, amount, coinObjects, long, sponsoredTx, suiCoinObjectsForPythUpdate) {
728
+ async pledgeInPosition(pcpId, collateralToken, indexToken, amount, coinObjects, long, sponsoredTx, sender) {
699
729
  let tx = new transactions_1.Transaction();
700
730
  // Handle oracle initialization and coin processing
701
731
  let suiCoinObject;
702
732
  if (sponsoredTx) {
703
- suiCoinObject = this.processCoins(tx, 'sui', suiCoinObjectsForPythUpdate || [], true);
704
- tx = await this.initOracleTxb([collateralToken, indexToken], tx, true, suiCoinObject);
733
+ const oracle = await this.initOracleTxb([collateralToken, indexToken], tx, true, {
734
+ sender: this.requireSenderForSponsored(sender),
735
+ additionalSuiAmount: collateralToken === 'sui' ? BigInt(amount) : 0n,
736
+ });
737
+ tx = oracle.tx;
738
+ suiCoinObject = oracle.suiCoinObject;
705
739
  }
706
740
  else {
707
- tx = await this.initOracleTxb([collateralToken, indexToken], tx);
741
+ tx = (await this.initOracleTxb([collateralToken, indexToken], tx)).tx;
708
742
  }
709
743
  // Process coin splitting
710
744
  const [depositObject] = this.processCoinSplitting(tx, collateralToken, coinObjects, [tx.pure.u64(amount)], sponsoredTx, suiCoinObject);
@@ -720,16 +754,20 @@ class ZBTCVCAPI extends abstract_1.BaseAPI {
720
754
  });
721
755
  return tx;
722
756
  }
723
- async redeemFromPosition(pcpId, collateralToken, indexToken, amount, long, sponsoredTx, suiCoinObjectsForPythUpdate) {
757
+ async redeemFromPosition(pcpId, collateralToken, indexToken, amount, long, sponsoredTx, sender) {
724
758
  let tx = new transactions_1.Transaction();
725
759
  // Handle oracle initialization and coin processing
726
760
  let suiCoinObject;
727
761
  if (sponsoredTx) {
728
- suiCoinObject = this.processCoins(tx, 'sui', suiCoinObjectsForPythUpdate || [], true);
729
- tx = await this.initOracleTxb([collateralToken, indexToken], tx, true, suiCoinObject);
762
+ const oracle = await this.initOracleTxb([collateralToken, indexToken], tx, true, {
763
+ sender: this.requireSenderForSponsored(sender),
764
+ additionalSuiAmount: 0n,
765
+ });
766
+ tx = oracle.tx;
767
+ suiCoinObject = oracle.suiCoinObject;
730
768
  }
731
769
  else {
732
- tx = await this.initOracleTxb([collateralToken, indexToken], tx);
770
+ tx = (await this.initOracleTxb([collateralToken, indexToken], tx)).tx;
733
771
  }
734
772
  const symbol = (0, utils_2.joinSymbol)(long ? 'long' : 'short', indexToken);
735
773
  tx.moveCall({
@@ -832,7 +870,7 @@ class ZBTCVCAPI extends abstract_1.BaseAPI {
832
870
  return tx;
833
871
  }
834
872
  async adminUpdatePriceFeed(collateralToken, indexToken) {
835
- const tx = await this.initOracleTxb([collateralToken, indexToken]);
873
+ const { tx } = await this.initOracleTxb([collateralToken, indexToken]);
836
874
  return tx;
837
875
  }
838
876
  adminSettlePosition(positionId, owner, collateralToken, indexToken, long) {
@@ -1 +1 @@
1
- {"version":3,"file":"ZBTCVCAPI.cjs","sourceRoot":"","sources":["../../src/implementations/ZBTCVCAPI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ZBTCVCAPI.cjs","sourceRoot":"","sources":["../../src/implementations/ZBTCVCAPI.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,11 @@
3
3
  * Implements ZBTCVC-specific trading and transaction methods
4
4
  */
5
5
  import type { KioskClient, KioskOwnerCap } from "@mysten/kiosk";
6
- import type { SuiClient } from "@mysten/sui/client";
7
6
  import { Transaction } from "@mysten/sui/transactions";
8
7
  import { BaseAPI } from "../abstract/index.cjs";
9
8
  import type { Network } from "../consts/index.cjs";
10
9
  import type { IBasePositionInfo, IZBTCVCAPI, IZBTCVCCredential } from "../interfaces/index.cjs";
10
+ import type { SuiClient } from "../suiClient.cjs";
11
11
  import { ZBTCVCDataAPI } from "./ZBTCVCDataAPI.cjs";
12
12
  export declare class ZBTCVCAPI extends BaseAPI implements IZBTCVCAPI {
13
13
  dataAPI: ZBTCVCDataAPI;
@@ -17,8 +17,8 @@ export declare class ZBTCVCAPI extends BaseAPI implements IZBTCVCAPI {
17
17
  clearClosedPosition(pcpId: string, collateralToken: string, indexToken: string, long: boolean, tx: Transaction): void;
18
18
  clearOpenPositionOrder(orderCapId: string, collateralToken: string, indexToken: string, long: boolean, tx: Transaction, isV11Order?: boolean): void;
19
19
  clearDecreasePositionOrder(orderCapId: string, collateralToken: string, indexToken: string, long: boolean, tx: Transaction, isV11Order?: boolean): void;
20
- openPositionWithSCard(collateralToken: string, indexToken: string, size: bigint, collateralAmount: bigint, coinObjects: string[], long: boolean, reserveAmount: bigint, indexPrice: number, collateralPrice: number, kioskClient: KioskClient, kioskCap: KioskOwnerCap, scard: string, isLimitOrder?: boolean, isIocOrder?: boolean, pricesSlippage?: number, collateralSlippage?: number, relayerFee?: bigint, referralAddress?: string, sender?: string, sponsoredTx?: boolean, suiCoinObjectsForPythUpdate?: string[]): Promise<Transaction>;
21
- decreasePositionWithSCard(pcpId: string, collateralToken: string, indexToken: string, amount: bigint, long: boolean, indexPrice: number, collateralPrice: number, kioskClient: KioskClient, kioskCap: KioskOwnerCap, scard: string, isTriggerOrder?: boolean, isTakeProfitOrder?: boolean, isIocOrder?: boolean, pricesSlippage?: number, collateralSlippage?: number, relayerFee?: bigint, coinObjects?: string[], sponsoredTx?: boolean, suiCoinObjectsForPythUpdate?: string[]): Promise<Transaction>;
20
+ openPositionWithSCard(collateralToken: string, indexToken: string, size: bigint, collateralAmount: bigint, coinObjects: string[], long: boolean, reserveAmount: bigint, indexPrice: number, collateralPrice: number, kioskClient: KioskClient, kioskCap: KioskOwnerCap, scard: string, isLimitOrder?: boolean, isIocOrder?: boolean, pricesSlippage?: number, collateralSlippage?: number, relayerFee?: bigint, referralAddress?: string, sender?: string, sponsoredTx?: boolean): Promise<Transaction>;
21
+ decreasePositionWithSCard(pcpId: string, collateralToken: string, indexToken: string, amount: bigint, long: boolean, indexPrice: number, collateralPrice: number, kioskClient: KioskClient, kioskCap: KioskOwnerCap, scard: string, isTriggerOrder?: boolean, isTakeProfitOrder?: boolean, isIocOrder?: boolean, pricesSlippage?: number, collateralSlippage?: number, relayerFee?: bigint, coinObjects?: string[], sponsoredTx?: boolean, sender?: string): Promise<Transaction>;
22
22
  decreaseMultiPositionsWithSCard(positions: Array<{
23
23
  pcpId: string;
24
24
  collateralToken: string;
@@ -34,19 +34,19 @@ export declare class ZBTCVCAPI extends BaseAPI implements IZBTCVCAPI {
34
34
  collateralSlippage?: number;
35
35
  relayerFee?: bigint;
36
36
  coinObjects?: string[];
37
- }>, kioskClient: KioskClient, kioskCap: KioskOwnerCap, scard: string, tx?: Transaction, sponsoredTx?: boolean, suiCoinObjectsForPythUpdate?: string[]): Promise<Transaction>;
37
+ }>, kioskClient: KioskClient, kioskCap: KioskOwnerCap, scard: string, tx?: Transaction, sponsoredTx?: boolean, sender?: string): Promise<Transaction>;
38
38
  /**
39
39
  * Deposits collateral into ZBTCVC vault
40
40
  */
41
- deposit(coin: string, coinObjects: string[], amount: number, minAmountOut?: number, referralAddress?: string, sender?: string, sponsoredTx?: boolean, suiCoinObjectsForPythUpdate?: string[]): Promise<Transaction>;
41
+ deposit(coin: string, coinObjects: string[], amount: number, minAmountOut?: number, referralAddress?: string, sender?: string, sponsoredTx?: boolean): Promise<Transaction>;
42
42
  /**
43
43
  * Deposits collateral into ZBTCVC vault
44
44
  */
45
- depositPtb(coin: string, coinObjects: string[], amount: number, minAmountOut?: number, referralAddress?: string, sender?: string, tx?: Transaction, sponsoredTx?: boolean, suiCoinObjectsForPythUpdate?: string[]): Promise<any>;
45
+ depositPtb(coin: string, coinObjects: string[], amount: number, minAmountOut?: number, referralAddress?: string, sender?: string, tx?: Transaction, sponsoredTx?: boolean): Promise<any>;
46
46
  /**
47
47
  * Withdraws collateral from ZBTCVC vault
48
48
  */
49
- withdraw(coin: string, lpCoinObjects: string[], amount: number, minAmountOut?: number, sponsoredTx?: boolean, suiCoinObjectsForPythUpdate?: string[]): Promise<Transaction>;
49
+ withdraw(coin: string, lpCoinObjects: string[], amount: number, minAmountOut?: number, sponsoredTx?: boolean, sender?: string): Promise<Transaction>;
50
50
  /**
51
51
  * Stakes ZBTCVC tokens in ZO staking pools
52
52
  */
@@ -63,11 +63,11 @@ export declare class ZBTCVCAPI extends BaseAPI implements IZBTCVCAPI {
63
63
  /**
64
64
  * Opens a new position in ZBTCVC
65
65
  */
66
- openPosition(collateralToken: string, indexToken: string, size: bigint, collateralAmount: bigint, coinObjects: string[], long: boolean, reserveAmount: bigint, indexPrice: number, collateralPrice: number, isLimitOrder?: boolean, isIocOrder?: boolean, pricesSlippage?: number, collateralSlippage?: number, relayerFee?: bigint, referralAddress?: string, sender?: string, sponsoredTx?: boolean, suiCoinObjectsForPythUpdate?: string[]): Promise<Transaction>;
66
+ openPosition(collateralToken: string, indexToken: string, size: bigint, collateralAmount: bigint, coinObjects: string[], long: boolean, reserveAmount: bigint, indexPrice: number, collateralPrice: number, isLimitOrder?: boolean, isIocOrder?: boolean, pricesSlippage?: number, collateralSlippage?: number, relayerFee?: bigint, referralAddress?: string, sender?: string, sponsoredTx?: boolean): Promise<Transaction>;
67
67
  /**
68
68
  * Decreases an existing position in ZBTCVC
69
69
  */
70
- decreasePosition(pcpId: string, collateralToken: string, indexToken: string, amount: bigint, long: boolean, indexPrice: number, collateralPrice: number, isTriggerOrder?: boolean, isTakeProfitOrder?: boolean, isIocOrder?: boolean, pricesSlippage?: number, collateralSlippage?: number, relayerFee?: bigint, coinObjects?: string[], sponsoredTx?: boolean, suiCoinObjectsForPythUpdate?: string[]): Promise<Transaction>;
70
+ decreasePosition(pcpId: string, collateralToken: string, indexToken: string, amount: bigint, long: boolean, indexPrice: number, collateralPrice: number, isTriggerOrder?: boolean, isTakeProfitOrder?: boolean, isIocOrder?: boolean, pricesSlippage?: number, collateralSlippage?: number, relayerFee?: bigint, coinObjects?: string[], sponsoredTx?: boolean, sender?: string): Promise<Transaction>;
71
71
  decreaseMultiPositions(positions: Array<{
72
72
  pcpId: string;
73
73
  collateralToken: string;
@@ -83,12 +83,12 @@ export declare class ZBTCVCAPI extends BaseAPI implements IZBTCVCAPI {
83
83
  collateralSlippage?: number;
84
84
  relayerFee?: bigint;
85
85
  coinObjects?: string[];
86
- }>, tx?: Transaction, sponsoredTx?: boolean, suiCoinObjectsForPythUpdate?: string[]): Promise<Transaction>;
86
+ }>, tx?: Transaction, sponsoredTx?: boolean, sender?: string): Promise<Transaction>;
87
87
  /**
88
88
  * Pledges in position (ZBTCVC-specific functionality)
89
89
  */
90
- pledgeInPosition(pcpId: string, collateralToken: string, indexToken: string, amount: number, coinObjects: string[], long: boolean, sponsoredTx?: boolean, suiCoinObjectsForPythUpdate?: string[]): Promise<Transaction>;
91
- redeemFromPosition(pcpId: string, collateralToken: string, indexToken: string, amount: number, long: boolean, sponsoredTx?: boolean, suiCoinObjectsForPythUpdate?: string[]): Promise<Transaction>;
90
+ pledgeInPosition(pcpId: string, collateralToken: string, indexToken: string, amount: number, coinObjects: string[], long: boolean, sponsoredTx?: boolean, sender?: string): Promise<Transaction>;
91
+ redeemFromPosition(pcpId: string, collateralToken: string, indexToken: string, amount: number, long: boolean, sponsoredTx?: boolean, sender?: string): Promise<Transaction>;
92
92
  cancelOrder(orderCapId: string, collateralToken: string, indexToken: string, long: boolean, type: string, isV11Order?: boolean): Transaction;
93
93
  cancelMultiOrders(orders: Array<{
94
94
  orderCapId: string;