zo-sdk 0.1.2 → 0.1.3

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 (183) hide show
  1. package/dist/abstract/BaseAPI.cjs +3 -4
  2. package/dist/abstract/BaseAPI.cjs.map +1 -1
  3. package/dist/abstract/BaseAPI.d.cts +13 -13
  4. package/dist/abstract/BaseAPI.d.cts.map +1 -1
  5. package/dist/abstract/BaseAPI.d.mts +13 -13
  6. package/dist/abstract/BaseAPI.d.mts.map +1 -1
  7. package/dist/abstract/BaseAPI.mjs +3 -4
  8. package/dist/abstract/BaseAPI.mjs.map +1 -1
  9. package/dist/abstract/BaseDataAPI.cjs +2 -2
  10. package/dist/abstract/BaseDataAPI.cjs.map +1 -1
  11. package/dist/abstract/BaseDataAPI.d.cts +2 -2
  12. package/dist/abstract/BaseDataAPI.d.cts.map +1 -1
  13. package/dist/abstract/BaseDataAPI.d.mts +2 -2
  14. package/dist/abstract/BaseDataAPI.d.mts.map +1 -1
  15. package/dist/abstract/BaseDataAPI.mjs +2 -2
  16. package/dist/abstract/BaseDataAPI.mjs.map +1 -1
  17. package/dist/abstract/index.cjs +3 -3
  18. package/dist/abstract/index.cjs.map +1 -1
  19. package/dist/abstract/index.d.cts +1 -1
  20. package/dist/abstract/index.d.cts.map +1 -1
  21. package/dist/abstract/index.d.mts +1 -1
  22. package/dist/abstract/index.d.mts.map +1 -1
  23. package/dist/abstract/index.mjs +1 -1
  24. package/dist/abstract/index.mjs.map +1 -1
  25. package/dist/api.cjs +2 -1
  26. package/dist/api.cjs.map +1 -1
  27. package/dist/api.d.cts.map +1 -1
  28. package/dist/api.d.mts.map +1 -1
  29. package/dist/api.mjs +2 -1
  30. package/dist/api.mjs.map +1 -1
  31. package/dist/bcs.cjs.map +1 -1
  32. package/dist/bcs.d.cts.map +1 -1
  33. package/dist/bcs.d.mts.map +1 -1
  34. package/dist/bcs.mjs.map +1 -1
  35. package/dist/consts/deployments-slp-mainnet.json +0 -70
  36. package/dist/consts/deployments-usdz-mainnet.json +1 -133
  37. package/dist/consts/index.cjs +21 -14
  38. package/dist/consts/index.cjs.map +1 -1
  39. package/dist/consts/index.d.cts.map +1 -1
  40. package/dist/consts/index.d.mts.map +1 -1
  41. package/dist/consts/index.mjs +21 -14
  42. package/dist/consts/index.mjs.map +1 -1
  43. package/dist/factory/SDKFactory.cjs +21 -14
  44. package/dist/factory/SDKFactory.cjs.map +1 -1
  45. package/dist/factory/SDKFactory.d.cts +4 -4
  46. package/dist/factory/SDKFactory.d.cts.map +1 -1
  47. package/dist/factory/SDKFactory.d.mts +4 -4
  48. package/dist/factory/SDKFactory.d.mts.map +1 -1
  49. package/dist/factory/SDKFactory.mjs +22 -15
  50. package/dist/factory/SDKFactory.mjs.map +1 -1
  51. package/dist/implementations/SLPAPI.cjs +143 -110
  52. package/dist/implementations/SLPAPI.cjs.map +1 -1
  53. package/dist/implementations/SLPAPI.d.cts +49 -47
  54. package/dist/implementations/SLPAPI.d.cts.map +1 -1
  55. package/dist/implementations/SLPAPI.d.mts +49 -47
  56. package/dist/implementations/SLPAPI.d.mts.map +1 -1
  57. package/dist/implementations/SLPAPI.mjs +143 -110
  58. package/dist/implementations/SLPAPI.mjs.map +1 -1
  59. package/dist/implementations/SLPDataAPI.cjs +98 -89
  60. package/dist/implementations/SLPDataAPI.cjs.map +1 -1
  61. package/dist/implementations/SLPDataAPI.d.cts +21 -21
  62. package/dist/implementations/SLPDataAPI.d.cts.map +1 -1
  63. package/dist/implementations/SLPDataAPI.d.mts +21 -21
  64. package/dist/implementations/SLPDataAPI.d.mts.map +1 -1
  65. package/dist/implementations/SLPDataAPI.mjs +98 -89
  66. package/dist/implementations/SLPDataAPI.mjs.map +1 -1
  67. package/dist/implementations/USDZAPI.cjs +128 -84
  68. package/dist/implementations/USDZAPI.cjs.map +1 -1
  69. package/dist/implementations/USDZAPI.d.cts +46 -45
  70. package/dist/implementations/USDZAPI.d.cts.map +1 -1
  71. package/dist/implementations/USDZAPI.d.mts +46 -45
  72. package/dist/implementations/USDZAPI.d.mts.map +1 -1
  73. package/dist/implementations/USDZAPI.mjs +128 -84
  74. package/dist/implementations/USDZAPI.mjs.map +1 -1
  75. package/dist/implementations/USDZDataAPI.cjs +48 -47
  76. package/dist/implementations/USDZDataAPI.cjs.map +1 -1
  77. package/dist/implementations/USDZDataAPI.d.cts +19 -19
  78. package/dist/implementations/USDZDataAPI.d.cts.map +1 -1
  79. package/dist/implementations/USDZDataAPI.d.mts +19 -19
  80. package/dist/implementations/USDZDataAPI.d.mts.map +1 -1
  81. package/dist/implementations/USDZDataAPI.mjs +49 -48
  82. package/dist/implementations/USDZDataAPI.mjs.map +1 -1
  83. package/dist/implementations/ZLPAPI.cjs +137 -89
  84. package/dist/implementations/ZLPAPI.cjs.map +1 -1
  85. package/dist/implementations/ZLPAPI.d.cts +50 -48
  86. package/dist/implementations/ZLPAPI.d.cts.map +1 -1
  87. package/dist/implementations/ZLPAPI.d.mts +50 -48
  88. package/dist/implementations/ZLPAPI.d.mts.map +1 -1
  89. package/dist/implementations/ZLPAPI.mjs +137 -89
  90. package/dist/implementations/ZLPAPI.mjs.map +1 -1
  91. package/dist/implementations/ZLPDataAPI.cjs +62 -63
  92. package/dist/implementations/ZLPDataAPI.cjs.map +1 -1
  93. package/dist/implementations/ZLPDataAPI.d.cts +19 -19
  94. package/dist/implementations/ZLPDataAPI.d.cts.map +1 -1
  95. package/dist/implementations/ZLPDataAPI.d.mts +19 -19
  96. package/dist/implementations/ZLPDataAPI.d.mts.map +1 -1
  97. package/dist/implementations/ZLPDataAPI.mjs +63 -64
  98. package/dist/implementations/ZLPDataAPI.mjs.map +1 -1
  99. package/dist/implementations/index.cjs +5 -5
  100. package/dist/implementations/index.cjs.map +1 -1
  101. package/dist/implementations/index.d.cts +2 -2
  102. package/dist/implementations/index.d.cts.map +1 -1
  103. package/dist/implementations/index.d.mts +2 -2
  104. package/dist/implementations/index.d.mts.map +1 -1
  105. package/dist/implementations/index.mjs +2 -2
  106. package/dist/implementations/index.mjs.map +1 -1
  107. package/dist/index.cjs +9 -9
  108. package/dist/index.cjs.map +1 -1
  109. package/dist/index.d.cts +6 -6
  110. package/dist/index.d.cts.map +1 -1
  111. package/dist/index.d.mts +6 -6
  112. package/dist/index.d.mts.map +1 -1
  113. package/dist/index.mjs +6 -6
  114. package/dist/index.mjs.map +1 -1
  115. package/dist/interfaces/base.cjs +0 -1
  116. package/dist/interfaces/base.cjs.map +1 -1
  117. package/dist/interfaces/base.d.cts +57 -57
  118. package/dist/interfaces/base.d.cts.map +1 -1
  119. package/dist/interfaces/base.d.mts +57 -57
  120. package/dist/interfaces/base.d.mts.map +1 -1
  121. package/dist/interfaces/base.mjs +1 -1
  122. package/dist/interfaces/base.mjs.map +1 -1
  123. package/dist/interfaces/index.d.cts +4 -4
  124. package/dist/interfaces/index.d.cts.map +1 -1
  125. package/dist/interfaces/index.d.mts +4 -4
  126. package/dist/interfaces/index.d.mts.map +1 -1
  127. package/dist/interfaces/slp.cjs +0 -2
  128. package/dist/interfaces/slp.cjs.map +1 -1
  129. package/dist/interfaces/slp.d.cts +5 -5
  130. package/dist/interfaces/slp.d.cts.map +1 -1
  131. package/dist/interfaces/slp.d.mts +5 -5
  132. package/dist/interfaces/slp.d.mts.map +1 -1
  133. package/dist/interfaces/slp.mjs +1 -2
  134. package/dist/interfaces/slp.mjs.map +1 -1
  135. package/dist/interfaces/usdz.d.cts +1 -1
  136. package/dist/interfaces/usdz.d.cts.map +1 -1
  137. package/dist/interfaces/usdz.d.mts +1 -1
  138. package/dist/interfaces/usdz.d.mts.map +1 -1
  139. package/dist/interfaces/zlp.d.cts +5 -5
  140. package/dist/interfaces/zlp.d.cts.map +1 -1
  141. package/dist/interfaces/zlp.d.mts +5 -5
  142. package/dist/interfaces/zlp.d.mts.map +1 -1
  143. package/dist/oracle.cjs +12 -2
  144. package/dist/oracle.cjs.map +1 -1
  145. package/dist/oracle.d.cts +4 -3
  146. package/dist/oracle.d.cts.map +1 -1
  147. package/dist/oracle.d.mts +4 -3
  148. package/dist/oracle.d.mts.map +1 -1
  149. package/dist/oracle.mjs +13 -3
  150. package/dist/oracle.mjs.map +1 -1
  151. package/dist/utils.cjs +1 -1
  152. package/dist/utils.cjs.map +1 -1
  153. package/dist/utils.d.cts.map +1 -1
  154. package/dist/utils.d.mts.map +1 -1
  155. package/dist/utils.mjs +1 -1
  156. package/dist/utils.mjs.map +1 -1
  157. package/eslint.config.mjs +18 -0
  158. package/package.json +16 -15
  159. package/src/abstract/BaseAPI.ts +55 -49
  160. package/src/abstract/BaseDataAPI.ts +19 -17
  161. package/src/abstract/index.ts +1 -1
  162. package/src/api.ts +3 -1
  163. package/src/bcs.ts +9 -9
  164. package/src/consts/deployments-slp-mainnet.json +0 -70
  165. package/src/consts/deployments-usdz-mainnet.json +1 -133
  166. package/src/consts/index.ts +22 -15
  167. package/src/factory/SDKFactory.ts +49 -41
  168. package/src/implementations/SLPAPI.ts +299 -210
  169. package/src/implementations/SLPDataAPI.ts +163 -146
  170. package/src/implementations/USDZAPI.ts +238 -133
  171. package/src/implementations/USDZDataAPI.ts +79 -74
  172. package/src/implementations/ZLPAPI.ts +296 -174
  173. package/src/implementations/ZLPDataAPI.ts +93 -88
  174. package/src/implementations/index.ts +3 -3
  175. package/src/index.ts +17 -17
  176. package/src/interfaces/base.ts +123 -116
  177. package/src/interfaces/index.ts +14 -17
  178. package/src/interfaces/slp.ts +20 -19
  179. package/src/interfaces/usdz.ts +13 -13
  180. package/src/interfaces/zlp.ts +22 -21
  181. package/src/oracle.ts +25 -5
  182. package/src/utils.ts +9 -9
  183. package/tsconfig.json +1 -1
@@ -4,134 +4,163 @@
4
4
  */
5
5
  import { Transaction } from "@mysten/sui/transactions";
6
6
  import { SUI_CLOCK_OBJECT_ID } from "@mysten/sui/utils";
7
- import { ALLOW_TRADE_CAN_TRADE, ALLOW_TRADE_MUST_TRADE, ALLOW_TRADE_NO_TRADE, LPToken } from "../consts/index.mjs";
8
7
  import { BaseAPI } from "../abstract/index.mjs";
9
- import { USDZDataAPI } from "./USDZDataAPI.mjs";
8
+ import { ALLOW_TRADE_CAN_TRADE, ALLOW_TRADE_MUST_TRADE, ALLOW_TRADE_NO_TRADE, LPToken } from "../consts/index.mjs";
10
9
  import { joinSymbol } from "../utils.mjs";
11
- import { KioskClient } from "@mysten/kiosk";
10
+ import { USDZDataAPI } from "./USDZDataAPI.mjs";
12
11
  export class USDZAPI extends BaseAPI {
13
12
  constructor(network, provider, apiEndpoint, connectionURL) {
14
13
  super(network, provider, apiEndpoint, connectionURL, LPToken.USDZ);
15
14
  this.dataAPI = new USDZDataAPI(network, provider, apiEndpoint, connectionURL);
16
15
  }
17
- stake(lpCoinObjects, amount, pool, tx) {
18
- throw new Error('Method not implemented.');
16
+ stake(_lpCoinObjects, _amount, _pool, _tx) {
17
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
19
18
  }
20
- unstake(credentials, amount, pool, tx) {
21
- throw new Error('Method not implemented.');
19
+ unstake(_credentials, _amount, _pool, _tx) {
20
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
22
21
  }
23
- clearClosedPosition(pcpId, collateralToken, indexToken, long, tx) {
24
- throw new Error('Method not implemented.');
22
+ clearClosedPosition(_pcpId, _collateralToken, _indexToken, _long, _tx) {
23
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
25
24
  }
26
- clearOpenPositionOrder(orderCapId, collateralToken, indexToken, long, tx, isV11Order) {
27
- throw new Error('Method not implemented.');
25
+ clearOpenPositionOrder(_orderCapId, _collateralToken, _indexToken, _long, _tx, _isV11Order) {
26
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
28
27
  }
29
- clearDecreasePositionOrder(orderCapId, collateralToken, indexToken, long, tx, isV11Order) {
30
- throw new Error('Method not implemented.');
28
+ clearDecreasePositionOrder(_orderCapId, _collateralToken, _indexToken, _long, _tx, _isV11Order) {
29
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
31
30
  }
32
- openPositionWithSCard(collateralToken, indexToken, size, collateralAmount, coinObjects, long, reserveAmount, indexPrice, collateralPrice, kioskClient, kioskCap, scard, isLimitOrder, isIocOrder, pricesSlippage, collateralSlippage, relayerFee, referralAddress, sender) {
33
- throw new Error('Method not implemented.');
31
+ openPositionWithSCard(_collateralToken, _indexToken, _size, _collateralAmount, _coinObjects, _long, _reserveAmount, _indexPrice, _collateralPrice, _kioskClient, _kioskCap, _scard, _isLimitOrder, _isIocOrder, _pricesSlippage, _collateralSlippage, _relayerFee, _referralAddress, _sender) {
32
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
34
33
  }
35
- decreasePositionWithSCard(pcpId, collateralToken, indexToken, amount, long, indexPrice, collateralPrice, kioskClient, kioskCap, scard, isTriggerOrder, isTakeProfitOrder, isIocOrder, pricesSlippage, collateralSlippage, relayerFee, coinObjects) {
36
- throw new Error('Method not implemented.');
34
+ decreasePositionWithSCard(_pcpId, _collateralToken, _indexToken, _amount, _long, _indexPrice, _collateralPrice, _kioskClient, _kioskCap, _scard, _isTriggerOrder, _isTakeProfitOrder, _isIocOrder, _pricesSlippage, _collateralSlippage, _relayerFee, _coinObjects) {
35
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
37
36
  }
38
- decreaseMultiPositionsWithSCard(positions, kioskClient, kioskCap, scard, tx) {
39
- throw new Error('Method not implemented.');
37
+ decreaseMultiPositionsWithSCard(_positions, _kioskClient, _kioskCap, _scard, _tx) {
38
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
40
39
  }
41
- claimTokenFromSCard(token, coinObjects, kioskClient, kioskCap, scard) {
42
- throw new Error('Method not implemented.');
40
+ claimTokenFromSCard(_token, _coinObjects, _kioskClient, _kioskCap, _scard) {
41
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
43
42
  }
44
- valuateVaults(tx) {
45
- throw new Error('Method not implemented.');
43
+ valuateVaults(_tx) {
44
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
46
45
  }
47
- valuateSymbols(tx) {
48
- throw new Error('Method not implemented.');
46
+ valuateSymbols(_tx) {
47
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
49
48
  }
50
- valuate(tx) {
51
- throw new Error('Method not implemented.');
49
+ valuate(_tx) {
50
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
52
51
  }
53
52
  valuateMarket() {
54
- throw new Error('Method not implemented.');
53
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
55
54
  }
56
- fundingFeeRate(indexToken, long) {
57
- throw new Error('Method not implemented.');
55
+ fundingFeeRate(_indexToken, _long) {
56
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
58
57
  }
59
- rebaseFeeRate(collateralToken, increase, amount) {
60
- throw new Error('Method not implemented.');
58
+ rebaseFeeRate(_collateralToken, _increase, _amount) {
59
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
61
60
  }
62
- reservingFeeRate(collateralToken, amount) {
63
- throw new Error('Method not implemented.');
61
+ reservingFeeRate(_collateralToken, _amount) {
62
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
64
63
  }
65
- calcPositionReserveFeeAmount(position) {
66
- throw new Error('Method not implemented.');
64
+ calcPositionReserveFeeAmount(_position) {
65
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
67
66
  }
68
- calcPositionFundingFeeValue(position) {
69
- throw new Error('Method not implemented.');
67
+ calcPositionFundingFeeValue(_position) {
68
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
70
69
  }
71
70
  getMarketInfo() {
72
- throw new Error('Method not implemented.');
71
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
73
72
  }
74
- getVaultInfo(vault) {
75
- throw new Error('Method not implemented.');
73
+ getVaultInfo(_vault) {
74
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
76
75
  }
77
- getSymbolInfo(tokenId, long) {
78
- throw new Error('Method not implemented.');
76
+ getSymbolInfo(_tokenId, _long) {
77
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
79
78
  }
80
- getPositionConfig(indexToken, long) {
81
- throw new Error('Method not implemented.');
79
+ getPositionConfig(_indexToken, _long) {
80
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
82
81
  }
83
82
  getRebaseFeeModel() {
84
- throw new Error('Method not implemented.');
83
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
85
84
  }
86
85
  getOpenPositions() {
87
- throw new Error('Method not implemented.');
86
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
88
87
  }
89
- getPositionCapInfoList(owner) {
90
- throw new Error('Method not implemented.');
88
+ getPositionCapInfoList(_owner) {
89
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
91
90
  }
92
- getPositionInfoList(positionCapInfoList, owner) {
93
- throw new Error('Method not implemented.');
91
+ getPositionInfoList(_positionCapInfoList, _owner) {
92
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
94
93
  }
95
- getOrderCapInfoList(owner) {
96
- throw new Error('Method not implemented.');
94
+ getOrderCapInfoList(_owner) {
95
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
97
96
  }
98
- getOrderInfoList(orderCapInfoList, owner) {
99
- throw new Error('Method not implemented.');
97
+ getOrderInfoList(_orderCapInfoList, _owner) {
98
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
100
99
  }
101
- getHistory(trader, page, limit, orderType, symbol) {
102
- throw new Error('Method not implemented.');
100
+ getHistory(_trader, _page, _limit, _orderType, _symbol) {
101
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
103
102
  }
104
- getStaked(owner) {
105
- throw new Error('Method not implemented.');
103
+ getStaked(_owner) {
104
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
106
105
  }
107
106
  getStakePool() {
108
- throw new Error('Method not implemented.');
107
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
109
108
  }
110
- hasReferral(referree) {
111
- throw new Error('Method not implemented.');
109
+ hasReferral(_referree) {
110
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
112
111
  }
113
- getReferralData(referree) {
114
- throw new Error('Method not implemented.');
112
+ getReferralData(_referree) {
113
+ throw new Error(`Method not implemented in ${this.constructor.name}.`);
115
114
  }
116
115
  /**
117
116
  * Deposits collateral into USDZ vault
118
117
  */
119
- async deposit(coin, coinObjects, amount, minAmountOut, referralAddress, sender) {
120
- let tx = await this.initOracleTxb(Object.keys(this.consts.pythFeeder.feeder));
118
+ async deposit(coin, coinObjects, amount, minAmountOut = 0, referralAddress, sender, sponsoredTx, suiCoinObjectsForPythUpdate, isDepositingSui) {
119
+ let tx = new Transaction();
120
+ // Add referral if needed
121
121
  if (referralAddress && !(await this.dataAPI.hasReferral(sender || ''))) {
122
122
  tx = await this.addReferral(referralAddress, tx);
123
123
  }
124
- const coinObject = this.processCoins(tx, coin, coinObjects);
125
- const [depositObject] = tx.splitCoins(coinObject, [tx.pure.u64(amount)]);
124
+ // Initialize oracle transaction
125
+ const pythFeederKeys = Object.keys(this.consts.pythFeeder.feeder);
126
+ // Handle sponsored transaction case
127
+ if (sponsoredTx) {
128
+ const suiCoinObject = this.processCoins(tx, 'sui', suiCoinObjectsForPythUpdate || [], true);
129
+ tx = await this.initOracleTxb(pythFeederKeys, tx, true, suiCoinObject);
130
+ // Process deposit coins
131
+ const depositObject = isDepositingSui
132
+ ? tx.splitCoins(suiCoinObject, [tx.pure.u64(amount)])[0]
133
+ : tx.splitCoins(this.processCoins(tx, coin, coinObjects, true), [tx.pure.u64(amount)])[0];
134
+ const { vaultsValuation, symbolsValuation } = this.dataAPI.valuate(tx);
135
+ tx.moveCall({
136
+ target: `${this.consts.zoCore.package}::market::deposit`,
137
+ typeArguments: [`${this.consts.zoCore.package}::usdz::USDZ`, this.consts.coins[coin].module],
138
+ arguments: [
139
+ tx.object(this.consts.zoCore.market),
140
+ tx.object(this.consts.zoCore.rebaseFeeModel),
141
+ depositObject,
142
+ tx.pure.u64(minAmountOut),
143
+ vaultsValuation,
144
+ symbolsValuation,
145
+ ],
146
+ });
147
+ return tx;
148
+ }
149
+ // Handle non-sponsored transaction case
150
+ tx = await this.initOracleTxb(pythFeederKeys, tx);
151
+ const depositObject = tx.splitCoins(this.processCoins(tx, coin, coinObjects, false), [tx.pure.u64(amount)])[0];
126
152
  const { vaultsValuation, symbolsValuation } = this.dataAPI.valuate(tx);
127
153
  tx.moveCall({
128
154
  target: `${this.consts.zoCore.package}::market::deposit`,
129
- typeArguments: [`${this.consts.zoCore.package}::usdz::USDZ`, this.consts.coins[coin].module],
155
+ typeArguments: [
156
+ `${this.consts.zoCore.package}::usdz::USDZ`,
157
+ this.consts.coins[coin].module,
158
+ ],
130
159
  arguments: [
131
160
  tx.object(this.consts.zoCore.market),
132
161
  tx.object(this.consts.zoCore.rebaseFeeModel),
133
162
  depositObject,
134
- tx.pure.u64(minAmountOut || 0),
163
+ tx.pure.u64(minAmountOut),
135
164
  vaultsValuation,
136
165
  symbolsValuation,
137
166
  ],
@@ -141,19 +170,31 @@ export class USDZAPI extends BaseAPI {
141
170
  /**
142
171
  * Withdraws collateral from USDZ vault
143
172
  */
144
- async withdraw(coin, lpCoinObjects, amount, minAmountOut) {
145
- const tx = await this.initOracleTxb(Object.keys(this.consts.pythFeeder.feeder));
146
- const usdzCoinObject = this.processCoins(tx, 'usdz', lpCoinObjects);
173
+ async withdraw(coin, lpCoinObjects, amount, minAmountOut = 0, sponsoredTx, suiCoinObjectsForPythUpdate) {
174
+ let tx = new Transaction();
175
+ // Initialize oracle transaction
176
+ const pythFeederKeys = Object.keys(this.consts.pythFeeder.feeder);
177
+ if (sponsoredTx) {
178
+ const suiCoinObject = this.processCoins(tx, 'sui', suiCoinObjectsForPythUpdate || [], true);
179
+ tx = await this.initOracleTxb(pythFeederKeys, tx, true, suiCoinObject);
180
+ }
181
+ else {
182
+ tx = await this.initOracleTxb(pythFeederKeys, tx);
183
+ }
184
+ const usdzCoinObject = this.processCoins(tx, 'usdz', lpCoinObjects, false);
147
185
  const [withdrawObject] = tx.splitCoins(usdzCoinObject, [tx.pure.u64(amount)]);
148
186
  const { vaultsValuation, symbolsValuation } = this.dataAPI.valuate(tx);
149
187
  tx.moveCall({
150
188
  target: `${this.consts.zoCore.package}::market::withdraw`,
151
- typeArguments: [`${this.consts.zoCore.package}::usdz::USDZ`, this.consts.coins[coin].module],
189
+ typeArguments: [
190
+ `${this.consts.zoCore.package}::usdz::USDZ`,
191
+ this.consts.coins[coin].module,
192
+ ],
152
193
  arguments: [
153
194
  tx.object(this.consts.zoCore.market),
154
195
  tx.object(this.consts.zoCore.rebaseFeeModel),
155
196
  withdrawObject,
156
- tx.pure.u64(minAmountOut || 0),
197
+ tx.pure.u64(minAmountOut),
157
198
  vaultsValuation,
158
199
  symbolsValuation,
159
200
  ],
@@ -235,6 +276,9 @@ export class USDZAPI extends BaseAPI {
235
276
  * Decreases an existing position in USDZ
236
277
  */
237
278
  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) {
279
+ if (!coinObjects) {
280
+ throw new Error(`${this.constructor.name}: coinObjects is required`);
281
+ }
238
282
  const tx = await this.initOracleTxb([collateralToken, indexToken]);
239
283
  const symbol = joinSymbol(long ? 'long' : 'short', indexToken);
240
284
  const coinObject = this.processCoins(tx, collateralToken, coinObjects || []);
@@ -279,15 +323,15 @@ export class USDZAPI extends BaseAPI {
279
323
  if (!tx) {
280
324
  tx = new Transaction();
281
325
  }
282
- tx = await this.initOracleTxb(positions.map(position => [position.collateralToken, position.indexToken]).flat(), tx);
326
+ tx = await this.initOracleTxb(positions.flatMap(position => [position.collateralToken, position.indexToken]), tx);
283
327
  for (const position of positions) {
284
- const { pcpId, collateralToken, coinObjects, indexToken, amount, long, indexPrice, collateralPrice, isTriggerOrder, isTakeProfitOrder, isIocOrder, slippage, relayerFee } = position;
328
+ 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;
285
329
  let innerIsTakeProfitOrder = isTakeProfitOrder;
286
330
  const symbol = joinSymbol(long ? 'long' : 'short', indexToken);
287
331
  const coinObject = this.processCoins(tx, collateralToken, coinObjects);
288
332
  const feeObject = tx.splitCoins(coinObject, [tx.pure.u64(relayerFee)]);
289
- const adjustPrice = this.processSlippage(indexPrice, !long, isTriggerOrder ? 0 : slippage);
290
- const adjustCollateralPrice = this.processSlippage(collateralPrice, false, 0.5);
333
+ const adjustPrice = this.processSlippage(indexPrice, !long, isTriggerOrder ? 0 : pricesSlippage);
334
+ const adjustCollateralPrice = this.processSlippage(collateralPrice, false, collateralSlippage);
291
335
  let allowTrade = ALLOW_TRADE_MUST_TRADE;
292
336
  if (isTriggerOrder) {
293
337
  allowTrade = isIocOrder || !innerIsTakeProfitOrder ? ALLOW_TRADE_NO_TRADE : ALLOW_TRADE_CAN_TRADE;
@@ -366,7 +410,7 @@ export class USDZAPI extends BaseAPI {
366
410
  });
367
411
  return tx;
368
412
  }
369
- async cancelOrder(orderCapId, collateralToken, indexToken, long, type, isV11Order) {
413
+ cancelOrder(orderCapId, collateralToken, indexToken, long, type, isV11Order) {
370
414
  const tx = new Transaction();
371
415
  let functionName = '';
372
416
  switch (type) {
@@ -397,7 +441,7 @@ export class USDZAPI extends BaseAPI {
397
441
  });
398
442
  return tx;
399
443
  }
400
- async cancelMultiOrders(orders, tx) {
444
+ cancelMultiOrders(orders, tx) {
401
445
  if (!tx) {
402
446
  tx = new Transaction();
403
447
  }
@@ -448,7 +492,7 @@ export class USDZAPI extends BaseAPI {
448
492
  const tx = await this.initOracleTxb([collateralToken, indexToken]);
449
493
  return tx;
450
494
  }
451
- async adminSettlePosition(positionId, owner, collateralToken, indexToken, long) {
495
+ adminSettlePosition(positionId, owner, collateralToken, indexToken, long) {
452
496
  const tx = new Transaction();
453
497
  tx.moveCall({
454
498
  target: `${this.consts.zoCore.upgradedPackage}::market::force_settle_position`,
@@ -469,7 +513,7 @@ export class USDZAPI extends BaseAPI {
469
513
  this.adminClearClosedPosition(positionId, owner, collateralToken, indexToken, long, tx);
470
514
  return tx;
471
515
  }
472
- async adminDecreasePosition(positionId, owner, collateralToken, indexToken, positionAmount, amount, long, collateralPrice, collateralSlippage, relayerFee) {
516
+ adminDecreasePosition(positionId, owner, collateralToken, indexToken, positionAmount, amount, long) {
473
517
  const tx = new Transaction();
474
518
  const symbol = joinSymbol(long ? 'long' : 'short', indexToken);
475
519
  tx.moveCall({
@@ -497,7 +541,7 @@ export class USDZAPI extends BaseAPI {
497
541
  }
498
542
  return tx;
499
543
  }
500
- async adminClearClosedPosition(positionId, owner, collateralToken, indexToken, long, tx) {
544
+ adminClearClosedPosition(positionId, owner, collateralToken, indexToken, long, tx) {
501
545
  tx.moveCall({
502
546
  target: `${this.consts.zoCore.package}::market::force_clear_closed_position`,
503
547
  typeArguments: [
@@ -1 +1 @@
1
- {"version":3,"file":"USDZAPI.mjs","sourceRoot":"","sources":["../../src/implementations/USDZAPI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"USDZAPI.mjs","sourceRoot":"","sources":["../../src/implementations/USDZAPI.ts"],"names":[],"mappings":"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"}