@typus/typus-perp-sdk 1.1.32-codegen-exp3 → 1.1.32-testnet-exp1

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 (249) hide show
  1. package/dist/src/_dependencies/source/0x1/ascii/structs.d.ts +88 -0
  2. package/dist/src/_dependencies/source/0x1/ascii/structs.js +398 -0
  3. package/dist/src/_dependencies/source/0x1/index.d.ts +3 -0
  4. package/dist/src/_dependencies/source/0x1/index.js +6 -0
  5. package/dist/src/_dependencies/source/0x1/option/structs.d.ts +50 -0
  6. package/dist/src/_dependencies/source/0x1/option/structs.js +271 -0
  7. package/dist/src/_dependencies/source/0x1/string/structs.d.ts +48 -0
  8. package/dist/src/_dependencies/source/0x1/string/structs.js +256 -0
  9. package/dist/src/_dependencies/source/0x1/type-name/structs.d.ts +49 -0
  10. package/dist/src/_dependencies/source/0x1/type-name/structs.js +223 -0
  11. package/dist/src/_dependencies/source/0x2/bag/structs.d.ts +54 -0
  12. package/dist/src/_dependencies/source/0x2/bag/structs.js +229 -0
  13. package/dist/src/_dependencies/source/0x2/balance/structs.d.ts +84 -0
  14. package/dist/src/_dependencies/source/0x2/balance/structs.js +386 -0
  15. package/dist/src/_dependencies/source/0x2/coin/structs.d.ts +406 -0
  16. package/dist/src/_dependencies/source/0x2/coin/structs.js +1247 -0
  17. package/dist/src/_dependencies/source/0x2/index.d.ts +3 -0
  18. package/dist/src/_dependencies/source/0x2/index.js +6 -0
  19. package/dist/src/_dependencies/source/0x2/linked-table/structs.d.ts +132 -0
  20. package/dist/src/_dependencies/source/0x2/linked-table/structs.js +438 -0
  21. package/dist/src/_dependencies/source/0x2/object/structs.d.ts +86 -0
  22. package/dist/src/_dependencies/source/0x2/object/structs.js +364 -0
  23. package/dist/src/_dependencies/source/0x2/object-table/structs.d.ts +54 -0
  24. package/dist/src/_dependencies/source/0x2/object-table/structs.js +248 -0
  25. package/dist/src/_dependencies/source/0x2/sui/structs.d.ts +44 -0
  26. package/dist/src/_dependencies/source/0x2/sui/structs.js +222 -0
  27. package/dist/src/_dependencies/source/0x2/table/structs.d.ts +54 -0
  28. package/dist/src/_dependencies/source/0x2/table/structs.js +248 -0
  29. package/dist/src/_dependencies/source/0x2/table-vec/structs.d.ts +59 -0
  30. package/dist/src/_dependencies/source/0x2/table-vec/structs.js +274 -0
  31. package/dist/src/_dependencies/source/0x2/token/structs.d.ts +421 -0
  32. package/dist/src/_dependencies/source/0x2/token/structs.js +1095 -0
  33. package/dist/src/_dependencies/source/0x2/transfer-policy/structs.d.ts +348 -0
  34. package/dist/src/_dependencies/source/0x2/transfer-policy/structs.js +1091 -0
  35. package/dist/src/_dependencies/source/0x2/url/structs.d.ts +49 -0
  36. package/dist/src/_dependencies/source/0x2/url/structs.js +223 -0
  37. package/dist/src/_dependencies/source/0x2/vec-map/structs.d.ts +106 -0
  38. package/dist/src/_dependencies/source/0x2/vec-map/structs.js +446 -0
  39. package/dist/src/_dependencies/source/0x2/vec-set/structs.d.ts +49 -0
  40. package/dist/src/_dependencies/source/0x2/vec-set/structs.js +270 -0
  41. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/airdrop/structs.d.ts +422 -0
  42. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/airdrop/structs.js +1084 -0
  43. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/big-vector/structs.d.ts +130 -0
  44. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/big-vector/structs.js +456 -0
  45. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/critbit/structs.d.ts +208 -0
  46. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/critbit/structs.js +653 -0
  47. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/ecosystem/structs.d.ts +362 -0
  48. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/ecosystem/structs.js +899 -0
  49. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/index.d.ts +8 -0
  50. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/index.js +11 -0
  51. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/init.d.ts +2 -0
  52. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/init.js +102 -0
  53. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/keyed-big-vector/structs.d.ts +202 -0
  54. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/keyed-big-vector/structs.js +632 -0
  55. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/leaderboard/structs.d.ts +600 -0
  56. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/leaderboard/structs.js +1459 -0
  57. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/linked-object-table/structs.d.ts +136 -0
  58. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/linked-object-table/structs.js +438 -0
  59. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/linked-set/structs.d.ts +127 -0
  60. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/linked-set/structs.js +430 -0
  61. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/tails-staking/structs.d.ts +957 -0
  62. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/tails-staking/structs.js +2261 -0
  63. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/tgld/structs.d.ts +244 -0
  64. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/tgld/structs.js +733 -0
  65. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/user/structs.d.ts +294 -0
  66. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/user/structs.js +892 -0
  67. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/authority/structs.d.ts +73 -0
  68. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/authority/structs.js +263 -0
  69. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/balance-pool/structs.d.ts +294 -0
  70. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/balance-pool/structs.js +591 -0
  71. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/big-vector/structs.d.ts +64 -0
  72. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/big-vector/structs.js +258 -0
  73. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/dutch/structs.d.ts +756 -0
  74. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/dutch/structs.js +1721 -0
  75. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/i64/structs.d.ts +44 -0
  76. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/i64/structs.js +222 -0
  77. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/index.d.ts +3 -0
  78. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/index.js +6 -0
  79. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/init.d.ts +2 -0
  80. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/init.js +89 -0
  81. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/linked-list/structs.d.ts +135 -0
  82. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/linked-list/structs.js +444 -0
  83. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/vault/structs.d.ts +2106 -0
  84. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/vault/structs.js +4952 -0
  85. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/discount-mint/structs.d.ts +390 -0
  86. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/discount-mint/structs.js +844 -0
  87. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/index.d.ts +6 -0
  88. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/index.js +9 -0
  89. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/init.d.ts +2 -0
  90. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/init.js +69 -0
  91. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/royalty-rule/structs.d.ts +89 -0
  92. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/royalty-rule/structs.js +376 -0
  93. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/staking/structs.d.ts +386 -0
  94. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/staking/structs.js +881 -0
  95. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/table-vec/structs.d.ts +59 -0
  96. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/table-vec/structs.js +274 -0
  97. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/typus-nft/structs.d.ts +974 -0
  98. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/typus-nft/structs.js +2387 -0
  99. package/dist/src/_framework/init-loader.d.ts +2 -0
  100. package/dist/src/{generated/typus_perp/treasury_caps.js → _framework/init-loader.js} +10 -17
  101. package/dist/src/_framework/loader.d.ts +17 -0
  102. package/dist/src/_framework/loader.js +108 -0
  103. package/dist/src/_framework/reified.d.ts +108 -0
  104. package/dist/src/_framework/reified.js +237 -0
  105. package/dist/src/_framework/util.d.ts +35 -0
  106. package/dist/src/_framework/util.js +396 -0
  107. package/dist/src/_framework/vector.d.ts +42 -0
  108. package/dist/src/_framework/vector.js +112 -0
  109. package/dist/src/api/sentio.js +538 -604
  110. package/dist/src/fetch.d.ts +36 -577
  111. package/dist/src/fetch.js +665 -367
  112. package/dist/src/index.d.ts +4 -0
  113. package/dist/src/index.js +39 -20
  114. package/dist/src/pyth.js +1 -0
  115. package/dist/src/typus_perp/admin/functions.d.ts +59 -0
  116. package/dist/src/typus_perp/admin/functions.js +122 -0
  117. package/dist/src/typus_perp/admin/structs.d.ts +467 -0
  118. package/dist/src/typus_perp/admin/structs.js +1065 -0
  119. package/dist/src/typus_perp/competition/functions.d.ts +24 -0
  120. package/dist/src/typus_perp/competition/functions.js +38 -0
  121. package/dist/src/typus_perp/competition/structs.d.ts +80 -0
  122. package/dist/src/typus_perp/competition/structs.js +288 -0
  123. package/dist/src/typus_perp/error/functions.d.ts +73 -0
  124. package/dist/src/typus_perp/error/functions.js +363 -0
  125. package/dist/src/typus_perp/escrow/functions.d.ts +17 -0
  126. package/dist/src/typus_perp/escrow/functions.js +36 -0
  127. package/dist/src/typus_perp/escrow/structs.d.ts +160 -0
  128. package/dist/src/typus_perp/escrow/structs.js +324 -0
  129. package/dist/src/typus_perp/index.d.ts +1 -0
  130. package/dist/src/typus_perp/index.js +7 -0
  131. package/dist/src/typus_perp/init.d.ts +2 -0
  132. package/dist/src/typus_perp/init.js +118 -0
  133. package/dist/src/typus_perp/lending/functions.d.ts +15 -0
  134. package/dist/src/typus_perp/lending/functions.js +22 -0
  135. package/dist/src/typus_perp/lp-pool/functions.d.ts +460 -0
  136. package/dist/src/typus_perp/lp-pool/functions.js +732 -0
  137. package/dist/src/typus_perp/lp-pool/structs.d.ts +3705 -0
  138. package/dist/src/typus_perp/lp-pool/structs.js +6789 -0
  139. package/dist/src/typus_perp/math/functions.d.ts +29 -0
  140. package/dist/src/typus_perp/math/functions.js +61 -0
  141. package/dist/src/typus_perp/position/functions.d.ts +379 -0
  142. package/dist/src/typus_perp/position/functions.js +713 -0
  143. package/dist/src/typus_perp/position/structs.d.ts +905 -0
  144. package/dist/src/typus_perp/position/structs.js +1450 -0
  145. package/dist/src/typus_perp/symbol/functions.d.ts +9 -0
  146. package/dist/src/typus_perp/symbol/functions.js +24 -0
  147. package/dist/src/typus_perp/symbol/structs.d.ts +70 -0
  148. package/dist/src/typus_perp/symbol/structs.js +235 -0
  149. package/dist/src/typus_perp/tlp/functions.d.ts +19 -0
  150. package/dist/src/typus_perp/tlp/functions.js +40 -0
  151. package/dist/src/typus_perp/tlp/structs.d.ts +89 -0
  152. package/dist/src/typus_perp/tlp/structs.js +365 -0
  153. package/dist/src/typus_perp/token-interface/functions.d.ts +11 -0
  154. package/dist/src/typus_perp/token-interface/functions.js +22 -0
  155. package/dist/src/typus_perp/trading/functions.d.ts +812 -0
  156. package/dist/src/typus_perp/trading/functions.js +1218 -0
  157. package/dist/src/typus_perp/trading/structs.d.ts +3060 -0
  158. package/dist/src/typus_perp/trading/structs.js +5813 -0
  159. package/dist/src/typus_perp/treasury-caps/functions.d.ts +9 -0
  160. package/dist/src/typus_perp/treasury-caps/functions.js +36 -0
  161. package/dist/src/typus_perp/treasury-caps/structs.d.ts +49 -0
  162. package/dist/src/typus_perp/treasury-caps/structs.js +223 -0
  163. package/dist/src/typus_perp/user-account/functions.d.ts +36 -0
  164. package/dist/src/typus_perp/user-account/functions.js +70 -0
  165. package/dist/src/typus_perp/user-account/structs.d.ts +148 -0
  166. package/dist/src/typus_perp/user-account/structs.js +448 -0
  167. package/dist/src/typus_stake_pool/admin/functions.d.ts +49 -0
  168. package/dist/src/typus_stake_pool/admin/functions.js +105 -0
  169. package/dist/src/typus_stake_pool/admin/structs.d.ts +365 -0
  170. package/dist/src/typus_stake_pool/admin/structs.js +789 -0
  171. package/dist/src/typus_stake_pool/index.d.ts +1 -0
  172. package/dist/src/typus_stake_pool/index.js +7 -0
  173. package/dist/src/typus_stake_pool/init.d.ts +2 -0
  174. package/dist/src/typus_stake_pool/init.js +69 -0
  175. package/dist/src/typus_stake_pool/stake-pool/functions.d.ts +229 -0
  176. package/dist/src/typus_stake_pool/stake-pool/functions.js +380 -0
  177. package/dist/src/typus_stake_pool/stake-pool/structs.d.ts +2199 -0
  178. package/dist/src/typus_stake_pool/stake-pool/structs.js +4653 -0
  179. package/dist/src/user/history.js +685 -614
  180. package/dist/src/user/order.d.ts +11 -16
  181. package/dist/src/user/order.js +302 -171
  182. package/dist/src/user/orderWithBidReceipt.d.ts +6 -8
  183. package/dist/src/user/orderWithBidReceipt.js +225 -127
  184. package/dist/src/user/tlp.d.ts +24 -25
  185. package/dist/src/user/tlp.js +468 -317
  186. package/package.json +3 -11
  187. package/dist/src/client.d.ts +0 -27
  188. package/dist/src/client.js +0 -108
  189. package/dist/src/generated/typus_perp/admin.d.ts +0 -117
  190. package/dist/src/generated/typus_perp/admin.js +0 -110
  191. package/dist/src/generated/typus_perp/competition.d.ts +0 -22
  192. package/dist/src/generated/typus_perp/competition.js +0 -58
  193. package/dist/src/generated/typus_perp/deps/std/type_name.d.ts +0 -17
  194. package/dist/src/generated/typus_perp/deps/std/type_name.js +0 -25
  195. package/dist/src/generated/typus_perp/deps/sui/balance.d.ts +0 -12
  196. package/dist/src/generated/typus_perp/deps/sui/balance.js +0 -20
  197. package/dist/src/generated/typus_perp/deps/sui/object.d.ts +0 -8
  198. package/dist/src/generated/typus_perp/deps/sui/object.js +0 -16
  199. package/dist/src/generated/typus_perp/deps/sui/object_table.d.ts +0 -19
  200. package/dist/src/generated/typus_perp/deps/sui/object_table.js +0 -59
  201. package/dist/src/generated/typus_perp/deps/sui/vec_set.d.ts +0 -18
  202. package/dist/src/generated/typus_perp/deps/sui/vec_set.js +0 -25
  203. package/dist/src/generated/typus_perp/deps/typus/keyed_big_vector.d.ts +0 -30
  204. package/dist/src/generated/typus_perp/deps/typus/keyed_big_vector.js +0 -67
  205. package/dist/src/generated/typus_perp/deps/typus/linked_object_table.d.ts +0 -32
  206. package/dist/src/generated/typus_perp/deps/typus/linked_object_table.js +0 -71
  207. package/dist/src/generated/typus_perp/deps/typus_framework/vault.d.ts +0 -23
  208. package/dist/src/generated/typus_perp/deps/typus_framework/vault.js +0 -61
  209. package/dist/src/generated/typus_perp/escrow.d.ts +0 -59
  210. package/dist/src/generated/typus_perp/escrow.js +0 -76
  211. package/dist/src/generated/typus_perp/lending.d.ts +0 -47
  212. package/dist/src/generated/typus_perp/lending.js +0 -50
  213. package/dist/src/generated/typus_perp/lp_pool.d.ts +0 -2327
  214. package/dist/src/generated/typus_perp/lp_pool.js +0 -1956
  215. package/dist/src/generated/typus_perp/math.d.ts +0 -95
  216. package/dist/src/generated/typus_perp/math.js +0 -97
  217. package/dist/src/generated/typus_perp/position.d.ts +0 -234
  218. package/dist/src/generated/typus_perp/position.js +0 -204
  219. package/dist/src/generated/typus_perp/symbol.d.ts +0 -18
  220. package/dist/src/generated/typus_perp/symbol.js +0 -55
  221. package/dist/src/generated/typus_perp/tlp.d.ts +0 -13
  222. package/dist/src/generated/typus_perp/tlp.js +0 -56
  223. package/dist/src/generated/typus_perp/trading.d.ts +0 -2486
  224. package/dist/src/generated/typus_perp/trading.js +0 -2476
  225. package/dist/src/generated/typus_perp/treasury_caps.d.ts +0 -13
  226. package/dist/src/generated/typus_perp/user_account.d.ts +0 -40
  227. package/dist/src/generated/typus_perp/user_account.js +0 -72
  228. package/dist/src/generated/typus_stake_pool/admin.d.ts +0 -234
  229. package/dist/src/generated/typus_stake_pool/admin.js +0 -272
  230. package/dist/src/generated/typus_stake_pool/deps/std/type_name.d.ts +0 -17
  231. package/dist/src/generated/typus_stake_pool/deps/std/type_name.js +0 -25
  232. package/dist/src/generated/typus_stake_pool/deps/sui/object.d.ts +0 -8
  233. package/dist/src/generated/typus_stake_pool/deps/sui/object.js +0 -16
  234. package/dist/src/generated/typus_stake_pool/deps/sui/vec_map.d.ts +0 -30
  235. package/dist/src/generated/typus_stake_pool/deps/sui/vec_map.js +0 -37
  236. package/dist/src/generated/typus_stake_pool/deps/sui/vec_set.d.ts +0 -18
  237. package/dist/src/generated/typus_stake_pool/deps/sui/vec_set.js +0 -25
  238. package/dist/src/generated/typus_stake_pool/stake_pool.d.ts +0 -986
  239. package/dist/src/generated/typus_stake_pool/stake_pool.js +0 -874
  240. package/dist/src/generated/utils/index.d.ts +0 -11
  241. package/dist/src/generated/utils/index.js +0 -135
  242. package/dist/src/grpc/graphql.d.ts +0 -26
  243. package/dist/src/grpc/graphql.js +0 -126
  244. package/dist/src/grpc/grpc.d.ts +0 -1
  245. package/dist/src/grpc/grpc.js +0 -38
  246. package/dist/src/grpc/ledgerService.js +0 -64
  247. package/dist/src/grpc/liveDataService.d.ts +0 -0
  248. package/dist/src/grpc/liveDataService.js +0 -49
  249. /package/dist/src/{grpc/ledgerService.d.ts → pyth.d.ts} +0 -0
package/dist/src/fetch.js CHANGED
@@ -1,4 +1,51 @@
1
1
  "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __values = (this && this.__values) || function(o) {
39
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
40
+ if (m) return m.call(o);
41
+ if (o && typeof o.length === "number") return {
42
+ next: function () {
43
+ if (o && i >= o.length) o = void 0;
44
+ return { value: o && o[i++], done: !o };
45
+ }
46
+ };
47
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
48
+ };
2
49
  Object.defineProperty(exports, "__esModule", { value: true });
3
50
  exports.getLpPools = getLpPools;
4
51
  exports.getLpPool = getLpPool;
@@ -9,176 +56,293 @@ exports.getUserOrders = getUserOrders;
9
56
  exports.getUserPositions = getUserPositions;
10
57
  exports.parseOptionBidReceipts = parseOptionBidReceipts;
11
58
  exports.getUserStake = getUserStake;
59
+ exports.getUserStakeById = getUserStakeById;
12
60
  exports.getDeactivatingShares = getDeactivatingShares;
13
61
  exports.getLiquidationPriceAndPnl = getLiquidationPriceAndPnl;
62
+ exports.getPositionCount = getPositionCount;
14
63
  exports.getAllPositions = getAllPositions;
15
64
  exports.getAllPositionsWithTradingSymbol = getAllPositionsWithTradingSymbol;
16
- const transactions_1 = require("@mysten/sui/transactions");
17
- const bcs_1 = require("@mysten/bcs");
18
- const constants_1 = require("@typus/typus-sdk/dist/src/constants");
19
- const utils_1 = require("@typus/typus-sdk/dist/src/utils");
20
- const _1 = require(".");
21
- const trading_1 = require("./generated/typus_perp/trading");
22
- const lp_pool_1 = require("./generated/typus_perp/lp_pool");
23
- const position_1 = require("./generated/typus_perp/position");
24
- const trading_2 = require("./generated/typus_perp/trading");
25
- const lp_pool_2 = require("./generated/typus_perp/lp_pool");
26
- const stake_pool_1 = require("./generated/typus_stake_pool/stake_pool");
27
- const vault_1 = require("./generated/typus_perp/deps/typus_framework/vault");
28
- async function getLpPools(client) {
29
- // let dynamicFields = await client.getDynamicFields({
30
- // parentId: LIQUIDITY_POOL,
31
- // });
32
- // let lpPools: (typeof LiquidityPool.$inferType)[] = [];
33
- // for (const field of dynamicFields.data) {
34
- // let lpPool = await getLpPool(client, field.objectId);
35
- // // console.log(lpPool);
36
- // lpPools.push(lpPool);
37
- // }
38
- // return lpPools;
39
- return (await client.getDynamicObjectFieldsBcs(_1.LIQUIDITY_POOL).then((x) => x.map((x) => lp_pool_2.LiquidityPool.parse(x)))).sort((a, b) => Number(a.index) - Number(b.index));
65
+ var client_1 = require("@mysten/sui/client");
66
+ var transactions_1 = require("@mysten/sui/transactions");
67
+ var bcs_1 = require("@mysten/bcs");
68
+ var structs_1 = require("./typus_perp/trading/structs");
69
+ var structs_2 = require("./typus_perp/lp-pool/structs");
70
+ var structs_3 = require("./typus_perp/position/structs");
71
+ var functions_1 = require("./typus_perp/trading/functions");
72
+ var functions_2 = require("./typus_stake_pool/stake-pool/functions");
73
+ var structs_4 = require("./typus_stake_pool/stake-pool/structs");
74
+ var constants_1 = require("@typus/typus-sdk/dist/src/constants");
75
+ var utils_1 = require("@typus/typus-sdk/dist/src/utils");
76
+ var _1 = require(".");
77
+ var structs_5 = require("./_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/vault/structs");
78
+ var typus_perp_1 = require("./typus_perp");
79
+ var functions_3 = require("./typus_perp/lp-pool/functions");
80
+ function getLpPools(config) {
81
+ return __awaiter(this, void 0, void 0, function () {
82
+ var provider, dynamicFields, lpPools, _a, _b, field, lpPool, e_1_1;
83
+ var e_1, _c;
84
+ return __generator(this, function (_d) {
85
+ switch (_d.label) {
86
+ case 0:
87
+ provider = new client_1.SuiClient({ url: config.rpcEndpoint });
88
+ return [4 /*yield*/, provider.getDynamicFields({
89
+ parentId: _1.LIQUIDITY_POOL,
90
+ })];
91
+ case 1:
92
+ dynamicFields = _d.sent();
93
+ lpPools = [];
94
+ _d.label = 2;
95
+ case 2:
96
+ _d.trys.push([2, 7, 8, 9]);
97
+ _a = __values(dynamicFields.data), _b = _a.next();
98
+ _d.label = 3;
99
+ case 3:
100
+ if (!!_b.done) return [3 /*break*/, 6];
101
+ field = _b.value;
102
+ return [4 /*yield*/, structs_2.LiquidityPool.fetch(provider, field.objectId)];
103
+ case 4:
104
+ lpPool = _d.sent();
105
+ // console.log(lpPool);
106
+ lpPools.push(lpPool);
107
+ _d.label = 5;
108
+ case 5:
109
+ _b = _a.next();
110
+ return [3 /*break*/, 3];
111
+ case 6: return [3 /*break*/, 9];
112
+ case 7:
113
+ e_1_1 = _d.sent();
114
+ e_1 = { error: e_1_1 };
115
+ return [3 /*break*/, 9];
116
+ case 8:
117
+ try {
118
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
119
+ }
120
+ finally { if (e_1) throw e_1.error; }
121
+ return [7 /*endfinally*/];
122
+ case 9: return [2 /*return*/, lpPools];
123
+ }
124
+ });
125
+ });
40
126
  }
41
- async function getLpPool(client, objectId) {
42
- // const data = await client.getObject({
43
- // id: objectId,
44
- // options: {
45
- // // request the bcs data when loading your object
46
- // showBcs: true,
47
- // },
48
- // });
49
- // if (data.data?.bcs?.dataType !== "moveObject") {
50
- // throw new Error("Expected a move object");
51
- // }
52
- // // console.log(data.data.bcs.bcsBytes);
53
- // return LiquidityPool.fromBase64(data.data.bcs.bcsBytes);
54
- const bcs = await client.getObjectBcs(objectId);
55
- return lp_pool_2.LiquidityPool.parse(bcs);
127
+ function getLpPool(config_1) {
128
+ return __awaiter(this, arguments, void 0, function (config, objectId) {
129
+ var provider, lpPool;
130
+ if (objectId === void 0) { objectId = _1.LIQUIDITY_POOL_0; }
131
+ return __generator(this, function (_a) {
132
+ switch (_a.label) {
133
+ case 0:
134
+ provider = new client_1.SuiClient({ url: config.rpcEndpoint });
135
+ return [4 /*yield*/, structs_2.LiquidityPool.fetch(provider, objectId)];
136
+ case 1:
137
+ lpPool = _a.sent();
138
+ return [2 /*return*/, lpPool];
139
+ }
140
+ });
141
+ });
56
142
  }
57
- // getLpPool(client).then((x) => console.log(x));
58
- async function getStakePools(client) {
59
- // let dynamicFields = await client.getDynamicFields({
60
- // parentId: STAKE_POOL,
61
- // });
62
- // let stakePools: (typeof StakePool.$inferType)[] = [];
63
- // for (const field of dynamicFields.data) {
64
- // let stakePool = await getStakePool(client, field.objectId);
65
- // // console.log(stakePool);
66
- // stakePools.push(stakePool);
67
- // }
68
- // return stakePools;
69
- return (await client.getDynamicObjectFieldsBcs(_1.STAKE_POOL).then((x) => x.map((x) => stake_pool_1.StakePool.parse(x)))).sort((a, b) => Number(a.pool_info.index) - Number(b.pool_info.index));
143
+ function getStakePools(config) {
144
+ return __awaiter(this, void 0, void 0, function () {
145
+ var provider, dynamicFields, stakePools, _a, _b, field, stakePool, e_2_1;
146
+ var e_2, _c;
147
+ return __generator(this, function (_d) {
148
+ switch (_d.label) {
149
+ case 0:
150
+ provider = new client_1.SuiClient({ url: config.rpcEndpoint });
151
+ return [4 /*yield*/, provider.getDynamicFields({
152
+ parentId: _1.STAKE_POOL,
153
+ })];
154
+ case 1:
155
+ dynamicFields = _d.sent();
156
+ stakePools = [];
157
+ _d.label = 2;
158
+ case 2:
159
+ _d.trys.push([2, 7, 8, 9]);
160
+ _a = __values(dynamicFields.data), _b = _a.next();
161
+ _d.label = 3;
162
+ case 3:
163
+ if (!!_b.done) return [3 /*break*/, 6];
164
+ field = _b.value;
165
+ return [4 /*yield*/, structs_4.StakePool.fetch(provider, field.objectId)];
166
+ case 4:
167
+ stakePool = _d.sent();
168
+ // console.log(stakePool);
169
+ stakePools.push(stakePool);
170
+ _d.label = 5;
171
+ case 5:
172
+ _b = _a.next();
173
+ return [3 /*break*/, 3];
174
+ case 6: return [3 /*break*/, 9];
175
+ case 7:
176
+ e_2_1 = _d.sent();
177
+ e_2 = { error: e_2_1 };
178
+ return [3 /*break*/, 9];
179
+ case 8:
180
+ try {
181
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
182
+ }
183
+ finally { if (e_2) throw e_2.error; }
184
+ return [7 /*endfinally*/];
185
+ case 9: return [2 /*return*/, stakePools];
186
+ }
187
+ });
188
+ });
70
189
  }
71
- async function getStakePool(client, objectId) {
72
- // const data = await client.getObject({
73
- // id: objectId,
74
- // options: {
75
- // // request the bcs data when loading your object
76
- // showBcs: true,
77
- // },
78
- // });
79
- // if (data.data?.bcs?.dataType !== "moveObject") {
80
- // throw new Error("Expected a move object");
81
- // }
82
- // // console.log(data.data.bcs.bcsBytes);
83
- // return StakePool.fromBase64(data.data.bcs.bcsBytes);
84
- const bcs = await client.getObjectBcs(objectId);
85
- return stake_pool_1.StakePool.parse(bcs);
190
+ function getStakePool(config_1) {
191
+ return __awaiter(this, arguments, void 0, function (config, objectId) {
192
+ var provider, stakePool;
193
+ if (objectId === void 0) { objectId = _1.STAKE_POOL_0; }
194
+ return __generator(this, function (_a) {
195
+ switch (_a.label) {
196
+ case 0:
197
+ provider = new client_1.SuiClient({ url: config.rpcEndpoint });
198
+ return [4 /*yield*/, structs_4.StakePool.fetch(provider, objectId)];
199
+ case 1:
200
+ stakePool = _a.sent();
201
+ return [2 /*return*/, stakePool];
202
+ }
203
+ });
204
+ });
86
205
  }
87
- /**
88
- * @returns [Markets, SymbolMarket[]][]
89
- */
90
- async function getMarkets(client, input) {
91
- let tx = new transactions_1.Transaction();
92
- tx.add((0, trading_1.getMarketsBcs)({ arguments: { registry: _1.MARKET, indexes: input.indexes.map((x) => BigInt(x)) } }));
93
- let devInspectTransactionBlockResult = await client.devInspectTransactionBlock({ sender: constants_1.SENDER, transactionBlock: tx });
94
- // @ts-ignore
95
- let bytes = devInspectTransactionBlockResult.results[0].returnValues[0][0];
96
- let reader = new bcs_1.BcsReader(new Uint8Array(bytes));
97
- let marketIndex = 0;
98
- let results = [];
99
- reader.readVec((reader, i) => {
100
- if (i == marketIndex) {
101
- let length = reader.readULEB();
102
- let bytes = reader.readBytes(length);
103
- let markets = trading_1.Markets.parse(bytes);
104
- results.push([markets, []]);
105
- marketIndex = i + markets.symbols.length + 1;
106
- }
107
- else {
108
- let length = reader.readULEB();
109
- let bytes = reader.readBytes(length);
110
- let symbolMarket = trading_1.SymbolMarket.parse(bytes);
111
- results[results.length - 1][1].push(symbolMarket);
112
- }
206
+ function getMarkets(config, input) {
207
+ return __awaiter(this, void 0, void 0, function () {
208
+ var provider, transaction, devInspectTransactionBlockResult, bytes, reader, marketIndex, results;
209
+ return __generator(this, function (_a) {
210
+ switch (_a.label) {
211
+ case 0:
212
+ provider = new client_1.SuiClient({ url: config.rpcEndpoint });
213
+ transaction = new transactions_1.Transaction();
214
+ transaction.moveCall({
215
+ target: "".concat(typus_perp_1.PUBLISHED_AT, "::trading::get_markets_bcs"),
216
+ arguments: [transaction.object(_1.MARKET), transaction.pure.vector("u64", input.indexes)],
217
+ });
218
+ return [4 /*yield*/, provider.devInspectTransactionBlock({ sender: constants_1.SENDER, transactionBlock: transaction })];
219
+ case 1:
220
+ devInspectTransactionBlockResult = _a.sent();
221
+ bytes = devInspectTransactionBlockResult.results[0].returnValues[0][0];
222
+ reader = new bcs_1.BcsReader(new Uint8Array(bytes));
223
+ marketIndex = 0;
224
+ results = [];
225
+ reader.readVec(function (reader, i) {
226
+ if (i == marketIndex) {
227
+ var length_1 = reader.readULEB();
228
+ var bytes_1 = reader.readBytes(length_1);
229
+ var markets = structs_1.Markets.fromBcs(Uint8Array.from(Array.from(bytes_1)));
230
+ results.push({ markets: markets, symbolMarkets: [] });
231
+ marketIndex = i + markets.symbols.length + 1;
232
+ }
233
+ else {
234
+ var length_2 = reader.readULEB();
235
+ var bytes_2 = reader.readBytes(length_2);
236
+ var symbolMarket = structs_1.SymbolMarket.fromBcs(Uint8Array.from(Array.from(bytes_2)));
237
+ results[results.length - 1].symbolMarkets.push(symbolMarket);
238
+ }
239
+ });
240
+ return [2 /*return*/, results];
241
+ }
242
+ });
113
243
  });
114
- return results;
115
244
  }
116
- async function getUserOrders(client, input) {
117
- let tx = new transactions_1.Transaction();
118
- for (let i of input.indexes) {
119
- tx.add((0, trading_2.getUserOrders)({
120
- arguments: {
121
- version: _1.PERP_VERSION,
122
- registry: _1.MARKET,
123
- marketIndex: BigInt(i),
124
- user: input.user,
125
- },
126
- }));
127
- }
128
- let res = await client.devInspectTransactionBlock({ sender: input.user, transactionBlock: tx });
129
- // console.log(res);
130
- let orders = [];
131
- for (var x = 0; x < input.indexes.length; x++) {
132
- // @ts-ignore
133
- let returnValues = res.results[x].returnValues[0][0];
134
- // console.log(returnValues);
135
- let reader = new bcs_1.BcsReader(new Uint8Array(returnValues));
136
- reader.readVec((reader) => {
137
- let length = reader.readULEB();
138
- let bytes = reader.readBytes(length);
139
- let order = position_1.TradingOrder.parse(bytes);
140
- orders.push(order);
245
+ // export async function getMarkets(config: TypusConfig): Promise<Markets[]> {
246
+ // let provider = new SuiClient({ url: config.rpcEndpoint });
247
+ // // const marketRegistry = await MarketRegistry.fetch(provider, MARKET);
248
+ // // console.log(marketRegistry.markets.vid);
249
+ // let dynamicFields = await provider.getDynamicFields({
250
+ // // @ts-ignore
251
+ // parentId: config.object.perpMarketVid,
252
+ // });
253
+ // let markets: Markets[] = [];
254
+ // for (const field of dynamicFields.data) {
255
+ // let market = await Markets.fetch(provider, field.objectId);
256
+ // // console.log(market);
257
+ // markets.push(market);
258
+ // }
259
+ // return markets;
260
+ // }
261
+ // export async function getSymbolMarkets(provider: SuiClient, market: Markets): Promise<Map<string, SymbolMarket>> {
262
+ // let symbolMarkets = new Map<string, SymbolMarket>();
263
+ // let dynamicFields = await provider.getDynamicFields({
264
+ // parentId: market.symbolMarkets.id,
265
+ // });
266
+ // for (const field of dynamicFields.data) {
267
+ // let symbolMarket = await SymbolMarket.fetch(provider, field.objectId);
268
+ // // @ts-ignore
269
+ // let key = field.name.value.name;
270
+ // // console.log(key);
271
+ // // console.log(symbolMarket);
272
+ // symbolMarkets.set(key, symbolMarket);
273
+ // }
274
+ // return symbolMarkets;
275
+ // }
276
+ function getUserOrders(config, user) {
277
+ return __awaiter(this, void 0, void 0, function () {
278
+ var provider, tx, res, returnValues, reader, orders;
279
+ return __generator(this, function (_a) {
280
+ switch (_a.label) {
281
+ case 0:
282
+ provider = new client_1.SuiClient({ url: config.rpcEndpoint });
283
+ tx = new transactions_1.Transaction();
284
+ (0, functions_1.getUserOrders)(tx, {
285
+ version: _1.PERP_VERSION,
286
+ registry: _1.MARKET,
287
+ marketIndex: BigInt(0),
288
+ user: user,
289
+ });
290
+ return [4 /*yield*/, provider.devInspectTransactionBlock({ sender: user, transactionBlock: tx })];
291
+ case 1:
292
+ res = _a.sent();
293
+ returnValues = res.results[0].returnValues[0][0];
294
+ reader = new bcs_1.BcsReader(new Uint8Array(returnValues));
295
+ orders = [];
296
+ reader.readVec(function (reader) {
297
+ var length = reader.readULEB();
298
+ var bytes = reader.readBytes(length);
299
+ var order = structs_3.TradingOrder.fromBcs(Uint8Array.from(Array.from(bytes)));
300
+ orders.push(order);
301
+ });
302
+ // let orders: TradingOrder[] = readVecOrder(Uint8Array.from(returnValues));
303
+ // console.log(orders);
304
+ return [2 /*return*/, orders];
305
+ }
141
306
  });
142
- }
143
- return orders;
307
+ });
144
308
  }
145
- async function getUserPositions(client, input) {
146
- let tx = new transactions_1.Transaction();
147
- for (let i of input.indexes) {
148
- tx.add((0, trading_2.getUserPositions)({
149
- arguments: {
150
- version: _1.PERP_VERSION,
151
- registry: _1.MARKET,
152
- marketIndex: BigInt(i),
153
- user: input.user,
154
- },
155
- }));
156
- }
157
- let res = await client.devInspectTransactionBlock({ sender: input.user, transactionBlock: tx });
158
- // console.log(res);
159
- let positions = [];
160
- for (var x = 0; x < input.indexes.length; x++) {
161
- // @ts-ignore
162
- let returnValues = res.results[x].returnValues[0][0];
163
- // console.log(returnValues);
164
- let reader = new bcs_1.BcsReader(new Uint8Array(returnValues));
165
- reader.readVec((reader) => {
166
- let length = reader.readULEB();
167
- let bytes = reader.readBytes(length);
168
- let position = position_1.Position.parse(bytes);
169
- // @ts-ignore
170
- position.marketIndex = x;
171
- positions.push(position);
309
+ function getUserPositions(config, user) {
310
+ return __awaiter(this, void 0, void 0, function () {
311
+ var provider, tx, res, returnValues, reader, positions;
312
+ return __generator(this, function (_a) {
313
+ switch (_a.label) {
314
+ case 0:
315
+ provider = new client_1.SuiClient({ url: config.rpcEndpoint });
316
+ tx = new transactions_1.Transaction();
317
+ (0, functions_1.getUserPositions)(tx, {
318
+ version: _1.PERP_VERSION,
319
+ registry: _1.MARKET,
320
+ marketIndex: BigInt(0),
321
+ user: user,
322
+ });
323
+ return [4 /*yield*/, provider.devInspectTransactionBlock({ sender: user, transactionBlock: tx })];
324
+ case 1:
325
+ res = _a.sent();
326
+ returnValues = res.results[0].returnValues[0][0];
327
+ reader = new bcs_1.BcsReader(new Uint8Array(returnValues));
328
+ positions = [];
329
+ reader.readVec(function (reader) {
330
+ var length = reader.readULEB();
331
+ var bytes = reader.readBytes(length);
332
+ var position = structs_3.Position.fromBcs(Uint8Array.from(Array.from(bytes)));
333
+ positions.push(position);
334
+ });
335
+ // let positions: Position[] = readVecPosition(Uint8Array.from(returnValues));
336
+ // console.log(positions);
337
+ return [2 /*return*/, positions];
338
+ }
172
339
  });
173
- }
174
- // let positions: Position[] = readVecPosition(Uint8Array.from(returnValues));
175
- // console.log(positions);
176
- return positions;
340
+ });
177
341
  }
178
342
  function parseOptionBidReceipts(positions) {
179
- return positions.map((position) => {
180
- if (position.option_collateral_info) {
181
- let bidReceipt = vault_1.TypusBidReceipt.parse(Uint8Array.from(Array.from(position.option_collateral_info.bid_receipts_bcs[0])));
343
+ return positions.map(function (position) {
344
+ if (position.optionCollateralInfo) {
345
+ var bidReceipt = structs_5.TypusBidReceipt.fromBcs(Uint8Array.from(Array.from(position.optionCollateralInfo.bidReceiptsBcs[0])));
182
346
  // console.log(bidReceipt);
183
347
  return bidReceipt;
184
348
  }
@@ -188,231 +352,365 @@ function parseOptionBidReceipts(positions) {
188
352
  });
189
353
  }
190
354
  /**
191
- * @returns [lpShare, incentives][]
355
+ * @returns [lpShare, incentives]
192
356
  */
193
- async function getUserStake(client, input) {
194
- let tx = new transactions_1.Transaction();
195
- for (let i of input.indexes) {
196
- tx.add((0, stake_pool_1.allocateIncentive)({
197
- arguments: {
198
- version: _1.STAKE_POOL_VERSION,
199
- registry: _1.STAKE_POOL,
200
- index: BigInt(i),
201
- },
202
- }));
203
- tx.add((0, stake_pool_1.getUserShares)({
204
- arguments: {
205
- registry: _1.STAKE_POOL,
206
- index: BigInt(i),
207
- user: input.user,
208
- },
209
- }));
210
- }
211
- let res = await client.devInspectTransactionBlock({ sender: input.user, transactionBlock: tx });
212
- // console.log(res);
213
- if (res.results) {
214
- let results = [];
215
- for (var x = 0; x < input.indexes.length; x++) {
216
- // @ts-ignore
217
- var returnValues = res.results[1].returnValues[0][0];
218
- // console.log(returnValues);
219
- var reader = new bcs_1.BcsReader(new Uint8Array(returnValues));
220
- let length = reader.readULEB();
221
- console.log(length);
222
- if (length == 0) {
223
- results.push([null, []]);
224
- continue;
357
+ function getUserStake(config, user) {
358
+ return __awaiter(this, void 0, void 0, function () {
359
+ var provider, tx, res, returnValues, reader, length_3, lpShare, incentives_1;
360
+ return __generator(this, function (_a) {
361
+ switch (_a.label) {
362
+ case 0:
363
+ provider = new client_1.SuiClient({ url: config.rpcEndpoint });
364
+ tx = new transactions_1.Transaction();
365
+ // allocateIncentive(tx, {
366
+ // version: STAKE_POOL_VERSION,
367
+ // registry: STAKE_POOL,
368
+ // index: BigInt(0),
369
+ // clock: CLOCK,
370
+ // });
371
+ (0, functions_2.getUserShares)(tx, {
372
+ registry: _1.STAKE_POOL,
373
+ index: BigInt(0),
374
+ user: user,
375
+ });
376
+ return [4 /*yield*/, provider.devInspectTransactionBlock({ sender: user, transactionBlock: tx })];
377
+ case 1:
378
+ res = _a.sent();
379
+ // console.log(res);
380
+ if (res.results) {
381
+ returnValues = res.results[0].returnValues[0][0];
382
+ reader = new bcs_1.BcsReader(new Uint8Array(returnValues));
383
+ length_3 = reader.readULEB();
384
+ // console.log(length);
385
+ if (length_3 == 0) {
386
+ return [2 /*return*/, null];
387
+ }
388
+ lpShare = structs_4.LpUserShare.fromFields(structs_4.LpUserShare.bcs.read(reader));
389
+ incentives_1 = [];
390
+ reader.readVec(function (reader) {
391
+ var incentive = reader.read64();
392
+ incentives_1.push(incentive);
393
+ });
394
+ return [2 /*return*/, [lpShare, incentives_1]];
395
+ }
396
+ else {
397
+ return [2 /*return*/, null];
398
+ }
399
+ return [2 /*return*/];
225
400
  }
226
- // let lpShare = LpUserShare.fromFields(LpUserShare.bcs.read(reader));
227
- let lpShare = stake_pool_1.LpUserShare.read(reader);
228
- let incentives = [];
229
- reader.readVec((reader) => {
230
- let incentive = reader.read64();
231
- incentives.push(incentive);
232
- });
233
- results.push([lpShare, incentives]);
234
- }
235
- return results;
236
- }
237
- else {
238
- return [];
239
- }
401
+ });
402
+ });
403
+ }
404
+ /**
405
+ * @returns [lpShare, incentives]
406
+ */
407
+ function getUserStakeById(config, userShareId) {
408
+ return __awaiter(this, void 0, void 0, function () {
409
+ var provider, tx, res, returnValues, reader, length_4, lpShare, incentives_2;
410
+ return __generator(this, function (_a) {
411
+ switch (_a.label) {
412
+ case 0:
413
+ provider = new client_1.SuiClient({ url: config.rpcEndpoint });
414
+ tx = new transactions_1.Transaction();
415
+ (0, functions_2.allocateIncentive)(tx, {
416
+ version: _1.STAKE_POOL_VERSION,
417
+ registry: _1.STAKE_POOL,
418
+ index: BigInt(0),
419
+ clock: constants_1.CLOCK,
420
+ });
421
+ (0, functions_2.getUserSharesByUserShareId)(tx, {
422
+ registry: _1.STAKE_POOL,
423
+ index: BigInt(0),
424
+ userShareId: BigInt(userShareId),
425
+ });
426
+ return [4 /*yield*/, provider.devInspectTransactionBlock({ sender: constants_1.SENDER, transactionBlock: tx })];
427
+ case 1:
428
+ res = _a.sent();
429
+ // console.log(res);
430
+ if (res.results) {
431
+ returnValues = res.results[1].returnValues[0][0];
432
+ reader = new bcs_1.BcsReader(new Uint8Array(returnValues));
433
+ length_4 = reader.readULEB();
434
+ // console.log(length);
435
+ if (length_4 == 0) {
436
+ return [2 /*return*/, null];
437
+ }
438
+ lpShare = structs_4.LpUserShare.fromFields(structs_4.LpUserShare.bcs.read(reader));
439
+ incentives_2 = [];
440
+ reader.readVec(function (reader) {
441
+ var incentive = reader.read64();
442
+ incentives_2.push(incentive);
443
+ });
444
+ return [2 /*return*/, [lpShare, incentives_2]];
445
+ }
446
+ else {
447
+ return [2 /*return*/, null];
448
+ }
449
+ return [2 /*return*/];
450
+ }
451
+ });
452
+ });
240
453
  }
241
454
  /**
242
455
  * @returns deactivatingShares[]
243
456
  */
244
- async function getDeactivatingShares(client, input) {
245
- let tx = new transactions_1.Transaction();
246
- for (let i of input.indexes) {
247
- tx.add((0, lp_pool_1.getUserDeactivatingShares)({
248
- arguments: {
249
- registry: _1.LP_POOL,
250
- index: BigInt(i),
251
- user: input.user,
252
- },
253
- typeArguments: ["TLP_TOKEN"],
254
- }));
255
- }
256
- let res = await client.devInspectTransactionBlock({ sender: input.user, transactionBlock: tx });
257
- // console.log(res);
258
- if (res.results) {
259
- let deactivatingShares = [];
260
- for (var x = 0; x < input.indexes.length; x++) {
261
- // @ts-ignore
262
- var returnValues = res.results[0].returnValues[0][0];
263
- // console.log(returnValues);
264
- var reader = new bcs_1.BcsReader(new Uint8Array(returnValues));
265
- reader.readVec((reader) => {
266
- let length = reader.readULEB();
267
- let lpShare = lp_pool_1.DeactivatingShares.read(reader);
268
- // @ts-ignore
269
- deactivatingShares.push(lpShare);
270
- });
271
- }
272
- // console.log(deactivatingShares);
273
- return deactivatingShares;
274
- }
275
- else {
276
- return [];
277
- }
457
+ function getDeactivatingShares(config, user) {
458
+ return __awaiter(this, void 0, void 0, function () {
459
+ var provider, tx, res, returnValues, reader, deactivatingShares_1;
460
+ return __generator(this, function (_a) {
461
+ switch (_a.label) {
462
+ case 0:
463
+ provider = new client_1.SuiClient({ url: config.rpcEndpoint });
464
+ tx = new transactions_1.Transaction();
465
+ (0, functions_3.getUserDeactivatingShares)(tx, _1.TLP_TOKEN, {
466
+ registry: _1.LP_POOL,
467
+ index: BigInt(0),
468
+ user: user,
469
+ });
470
+ return [4 /*yield*/, provider.devInspectTransactionBlock({ sender: user, transactionBlock: tx })];
471
+ case 1:
472
+ res = _a.sent();
473
+ // console.log(res);
474
+ if (res.results) {
475
+ returnValues = res.results[0].returnValues[0][0];
476
+ reader = new bcs_1.BcsReader(new Uint8Array(returnValues));
477
+ deactivatingShares_1 = [];
478
+ reader.readVec(function (reader) {
479
+ var length = reader.readULEB();
480
+ var lpShare = structs_2.DeactivatingShares.bcs.read(reader);
481
+ // @ts-ignore
482
+ deactivatingShares_1.push(lpShare);
483
+ });
484
+ // console.log(deactivatingShares);
485
+ return [2 /*return*/, deactivatingShares_1];
486
+ }
487
+ else {
488
+ return [2 /*return*/, []];
489
+ }
490
+ return [2 /*return*/];
491
+ }
492
+ });
493
+ });
278
494
  }
279
495
  /**
280
496
  * @returns [liquidationPrice, pnl(in USD)]
281
497
  */
282
- async function getLiquidationPriceAndPnl(client, input) {
283
- let tx = new transactions_1.Transaction();
284
- let tokens = [];
285
- for (let position of input.positions) {
286
- // parse from Position
287
- let TOKEN = (0, constants_1.typeArgToAsset)(position.collateral_token.name);
288
- let BASE_TOKEN = (0, constants_1.typeArgToAsset)(position.symbol.base_token.name);
289
- tokens.push(TOKEN);
290
- tokens.push(BASE_TOKEN);
291
- }
292
- await (0, utils_1.updatePyth)(client.pythClient, tx, Array.from(new Set(tokens)));
293
- for (let token of Array.from(new Set(tokens))) {
294
- (0, utils_1.updateOracleWithPythUsd)(client.pythClient, tx, client.config.package.oracle, token);
295
- }
296
- for (let position of input.positions) {
297
- // parse from Position
298
- let TOKEN = (0, constants_1.typeArgToAsset)(position.collateral_token.name);
299
- let BASE_TOKEN = (0, constants_1.typeArgToAsset)(position.symbol.base_token.name);
300
- // @ts-ignore
301
- let index = position.marketIndex;
302
- tx.add((0, trading_2.getEstimatedLiquidationPriceAndPnl)({
303
- arguments: {
304
- version: _1.PERP_VERSION,
305
- registry: _1.MARKET,
306
- poolRegistry: _1.LP_POOL,
307
- marketIndex: BigInt(index),
308
- poolIndex: BigInt(index),
309
- typusOracleCToken: constants_1.oracle[_1.NETWORK][TOKEN],
310
- typusOracleTradingSymbol: constants_1.oracle[_1.NETWORK][BASE_TOKEN],
311
- positionId: BigInt(position.position_id),
312
- dovRegistry: client.config.registry.dov.dovSingle,
313
- },
314
- typeArguments: [position.collateral_token.name, position.symbol.base_token.name],
315
- }));
316
- }
317
- let res = await client.devInspectTransactionBlock({ sender: constants_1.SENDER, transactionBlock: tx });
318
- // console.log(res);
319
- // 0 estimated_liquidation_price,
320
- // 1 has_profit,
321
- // 2 pnl_usd,
322
- // 3 is_cost,
323
- // 4 unrealized_cost_in_usd,
324
- // 5 unrealized_funding_sign,
325
- // 6 unrealized_funding_fee_usd,
326
- // 7 unrealized_borrow_fee_usd,
327
- // 8 close_fee_usd
328
- let results = res.results
329
- ? res.results.slice(-input.positions.length).map((x) => {
330
- // console.log(x);
331
- let liquidationPrice = Number(bcs_1.bcs.u64().parse(Uint8Array.from(x.returnValues[0][0])));
332
- let isProfit = bcs_1.bcs.bool().parse(Uint8Array.from(x.returnValues[1][0]));
333
- var pnl = Number(bcs_1.bcs.u64().parse(Uint8Array.from(x.returnValues[2][0])));
334
- pnl = isProfit ? pnl : -pnl;
335
- // including closeFee
336
- let isCost = bcs_1.bcs.bool().parse(Uint8Array.from(x.returnValues[3][0]));
337
- var cost = Number(bcs_1.bcs.u64().parse(Uint8Array.from(x.returnValues[4][0])));
338
- cost = isCost ? cost : -cost;
339
- // cost = unrealized_loss + unrealized_trading_fee + unrealized_borrow_fee + unrealized_funding_fee;
340
- let fundingFeeSign = bcs_1.bcs.bool().parse(Uint8Array.from(x.returnValues[5][0]));
341
- var fundingFee = Number(bcs_1.bcs.u64().parse(Uint8Array.from(x.returnValues[6][0])));
342
- fundingFee = fundingFeeSign ? fundingFee : -fundingFee;
343
- let borrowFee = Number(bcs_1.bcs.u64().parse(Uint8Array.from(x.returnValues[7][0])));
344
- let closeFee = Number(bcs_1.bcs.u64().parse(Uint8Array.from(x.returnValues[8][0])));
345
- return {
346
- liquidationPrice,
347
- pnl: pnl + closeFee,
348
- fundingFee,
349
- borrowFee,
350
- closeFee,
351
- pnlAfterFee: pnl - cost,
352
- };
353
- })
354
- : [];
355
- // console.log(results);
356
- return results;
498
+ function getLiquidationPriceAndPnl(config, pythClient, input) {
499
+ return __awaiter(this, void 0, void 0, function () {
500
+ var provider, tx, tokens, _a, _b, position, TOKEN, BASE_TOKEN, _c, _d, token, _e, _f, position, TOKEN, BASE_TOKEN, res, results;
501
+ var e_3, _g, e_4, _h, e_5, _j;
502
+ return __generator(this, function (_k) {
503
+ switch (_k.label) {
504
+ case 0:
505
+ provider = new client_1.SuiClient({ url: config.rpcEndpoint });
506
+ tx = new transactions_1.Transaction();
507
+ tokens = [];
508
+ try {
509
+ for (_a = __values(input.positions), _b = _a.next(); !_b.done; _b = _a.next()) {
510
+ position = _b.value;
511
+ TOKEN = (0, constants_1.typeArgToAsset)(position.collateralToken.name);
512
+ BASE_TOKEN = (0, constants_1.typeArgToAsset)(position.symbol.baseToken.name);
513
+ tokens.push(TOKEN);
514
+ tokens.push(BASE_TOKEN);
515
+ }
516
+ }
517
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
518
+ finally {
519
+ try {
520
+ if (_b && !_b.done && (_g = _a.return)) _g.call(_a);
521
+ }
522
+ finally { if (e_3) throw e_3.error; }
523
+ }
524
+ return [4 /*yield*/, (0, utils_1.updatePyth)(pythClient, tx, Array.from(new Set(tokens)))];
525
+ case 1:
526
+ _k.sent();
527
+ try {
528
+ for (_c = __values(Array.from(new Set(tokens))), _d = _c.next(); !_d.done; _d = _c.next()) {
529
+ token = _d.value;
530
+ (0, utils_1.updateOracleWithPythUsd)(pythClient, tx, config.package.oracle, token);
531
+ }
532
+ }
533
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
534
+ finally {
535
+ try {
536
+ if (_d && !_d.done && (_h = _c.return)) _h.call(_c);
537
+ }
538
+ finally { if (e_4) throw e_4.error; }
539
+ }
540
+ try {
541
+ for (_e = __values(input.positions), _f = _e.next(); !_f.done; _f = _e.next()) {
542
+ position = _f.value;
543
+ TOKEN = (0, constants_1.typeArgToAsset)(position.collateralToken.name);
544
+ BASE_TOKEN = (0, constants_1.typeArgToAsset)(position.symbol.baseToken.name);
545
+ (0, functions_1.getEstimatedLiquidationPriceAndPnl)(tx, [position.collateralToken.name, position.symbol.baseToken.name], {
546
+ version: _1.PERP_VERSION,
547
+ registry: _1.MARKET,
548
+ poolRegistry: _1.LP_POOL,
549
+ marketIndex: BigInt(0),
550
+ poolIndex: BigInt(0),
551
+ typusOracleCToken: constants_1.oracle[_1.NETWORK][TOKEN],
552
+ typusOracleTradingSymbol: constants_1.oracle[_1.NETWORK][BASE_TOKEN],
553
+ clock: constants_1.CLOCK,
554
+ positionId: position.positionId,
555
+ dovRegistry: config.registry.dov.dovSingle,
556
+ });
557
+ }
558
+ }
559
+ catch (e_5_1) { e_5 = { error: e_5_1 }; }
560
+ finally {
561
+ try {
562
+ if (_f && !_f.done && (_j = _e.return)) _j.call(_e);
563
+ }
564
+ finally { if (e_5) throw e_5.error; }
565
+ }
566
+ return [4 /*yield*/, provider.devInspectTransactionBlock({ sender: input.user, transactionBlock: tx })];
567
+ case 2:
568
+ res = _k.sent();
569
+ results = res.results
570
+ ? res.results.slice(-input.positions.length).map(function (x) {
571
+ // console.log(x);
572
+ var liquidationPrice = Number(bcs_1.bcs.u64().parse(Uint8Array.from(x.returnValues[0][0])));
573
+ var isProfit = bcs_1.bcs.bool().parse(Uint8Array.from(x.returnValues[1][0]));
574
+ var pnl = Number(bcs_1.bcs.u64().parse(Uint8Array.from(x.returnValues[2][0])));
575
+ pnl = isProfit ? pnl : -pnl;
576
+ // including closeFee
577
+ var isCost = bcs_1.bcs.bool().parse(Uint8Array.from(x.returnValues[3][0]));
578
+ var cost = Number(bcs_1.bcs.u64().parse(Uint8Array.from(x.returnValues[4][0])));
579
+ cost = isCost ? cost : -cost;
580
+ // cost = unrealized_loss + unrealized_trading_fee + unrealized_borrow_fee + unrealized_funding_fee;
581
+ var fundingFeeSign = bcs_1.bcs.bool().parse(Uint8Array.from(x.returnValues[5][0]));
582
+ var fundingFee = Number(bcs_1.bcs.u64().parse(Uint8Array.from(x.returnValues[6][0])));
583
+ fundingFee = fundingFeeSign ? fundingFee : -fundingFee;
584
+ var borrowFee = Number(bcs_1.bcs.u64().parse(Uint8Array.from(x.returnValues[7][0])));
585
+ var closeFee = Number(bcs_1.bcs.u64().parse(Uint8Array.from(x.returnValues[8][0])));
586
+ return {
587
+ liquidationPrice: liquidationPrice,
588
+ pnl: pnl + closeFee,
589
+ fundingFee: fundingFee,
590
+ borrowFee: borrowFee,
591
+ closeFee: closeFee,
592
+ pnlAfterFee: pnl - cost,
593
+ };
594
+ })
595
+ : [];
596
+ // console.log(results);
597
+ return [2 /*return*/, results];
598
+ }
599
+ });
600
+ });
357
601
  }
358
- async function getAllPositions(client, input) {
359
- let tx = new transactions_1.Transaction();
360
- tx.add((0, trading_2.getAllPositions)({
361
- arguments: {
362
- version: _1.PERP_VERSION,
363
- registry: _1.MARKET,
364
- marketIndex: BigInt(input.marketIndex),
365
- slice: BigInt(input.slice),
366
- page: BigInt(input.page),
367
- },
368
- typeArguments: [constants_1.tokenType[_1.NETWORK][input.baseToken]],
369
- }));
370
- let res = await client.devInspectTransactionBlock({
371
- sender: constants_1.SENDER,
372
- transactionBlock: tx,
602
+ function getPositionCount(config, input) {
603
+ return __awaiter(this, void 0, void 0, function () {
604
+ var provider, tx, res, raw, maxPageBytes, view, maxPage;
605
+ var _a, _b, _c, _d;
606
+ return __generator(this, function (_e) {
607
+ switch (_e.label) {
608
+ case 0:
609
+ provider = new client_1.SuiClient({ url: config.rpcEndpoint });
610
+ tx = new transactions_1.Transaction();
611
+ // Rust 實作是呼叫 get_all_positions(slice = 1, page = 1) 然後取最後 8 bytes。
612
+ // 這裡直接複用相同邏輯,只需要 max_page。
613
+ (0, functions_1.getAllPositions)(tx, constants_1.tokenType[_1.NETWORK][input.baseToken], {
614
+ version: _1.PERP_VERSION,
615
+ registry: _1.MARKET,
616
+ marketIndex: BigInt(0),
617
+ slice: BigInt(1),
618
+ page: BigInt(1),
619
+ });
620
+ return [4 /*yield*/, provider.devInspectTransactionBlock({
621
+ sender: "0x0000000000000000000000000000000000000000000000000000000000000000",
622
+ transactionBlock: tx,
623
+ })];
624
+ case 1:
625
+ res = _e.sent();
626
+ // 沒有資料時,回傳 0
627
+ if (!((_d = (_c = (_b = (_a = res.results) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.returnValues) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d[0])) {
628
+ return [2 /*return*/, 0];
629
+ }
630
+ raw = new Uint8Array(res.results[0].returnValues[0][0]);
631
+ // 至少要含 8 bytes 的 max_page;不足代表無 Position
632
+ if (raw.length < 8)
633
+ return [2 /*return*/, 0];
634
+ maxPageBytes = raw.slice(raw.length - 8);
635
+ view = new DataView(maxPageBytes.buffer, maxPageBytes.byteOffset, 8);
636
+ maxPage = Number(view.getBigUint64(0, true));
637
+ return [2 /*return*/, maxPage];
638
+ }
639
+ });
373
640
  });
374
- if (!res.results?.[0]?.returnValues?.[0]?.[0]) {
375
- return { positions: [], maxPage: 0 };
376
- }
377
- // -- 解析回傳值 -------------------------------------------------
378
- const raw = new Uint8Array(res.results[0].returnValues[0][0]);
379
- // 1) 至少要有 8 bytes 的 max_page
380
- if (raw.length < 8)
381
- return { positions: [], maxPage: 0 };
382
- const reader = new bcs_1.BcsReader(raw);
383
- // 2) 第一個 u8 = user_positions_len + 1
384
- const userPositionsLen = reader.readULEB() - 1;
385
- // console.log("userPositionsLen", userPositionsLen);
386
- const positions = [];
387
- for (let i = 0; i < userPositionsLen; i++) {
388
- reader.readULEB();
389
- const pos = position_1.Position.read(reader);
390
- positions.push(pos);
391
- }
392
- reader.readULEB();
393
- const maxPage = Number(reader.read64());
394
- // console.log("maxPage", maxPage);
395
- return { positions, maxPage };
396
641
  }
397
- const SLICE = 100;
398
- async function getAllPositionsWithTradingSymbol(client, input) {
399
- var { positions: pos, maxPage } = await getAllPositions(client, {
400
- baseToken: input.baseToken,
401
- slice: SLICE.toString(),
402
- page: "1",
403
- marketIndex: input.marketIndex,
642
+ function getAllPositions(config, input) {
643
+ return __awaiter(this, void 0, void 0, function () {
644
+ var provider, tx, res, raw, withoutMaxPage, reader, userPositionsLen, positions, i, fields, pos;
645
+ var _a, _b, _c, _d;
646
+ return __generator(this, function (_e) {
647
+ switch (_e.label) {
648
+ case 0:
649
+ provider = new client_1.SuiClient({ url: config.rpcEndpoint });
650
+ tx = new transactions_1.Transaction();
651
+ (0, functions_1.getAllPositions)(tx, constants_1.tokenType[_1.NETWORK][input.baseToken], {
652
+ version: _1.PERP_VERSION,
653
+ registry: _1.MARKET,
654
+ marketIndex: BigInt(0),
655
+ slice: BigInt(input.slice),
656
+ page: BigInt(input.page),
657
+ });
658
+ return [4 /*yield*/, provider.devInspectTransactionBlock({
659
+ sender: "0x0000000000000000000000000000000000000000000000000000000000000000",
660
+ transactionBlock: tx,
661
+ })];
662
+ case 1:
663
+ res = _e.sent();
664
+ if (!((_d = (_c = (_b = (_a = res.results) === null || _a === void 0 ? void 0 : _a[0]) === null || _b === void 0 ? void 0 : _b.returnValues) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d[0])) {
665
+ return [2 /*return*/, []];
666
+ }
667
+ raw = new Uint8Array(res.results[0].returnValues[0][0]);
668
+ // 1) 至少要有 8 bytes 的 max_page
669
+ if (raw.length < 8)
670
+ return [2 /*return*/, []];
671
+ withoutMaxPage = raw.slice(0, raw.length - 8);
672
+ reader = new bcs_1.BcsReader(withoutMaxPage);
673
+ userPositionsLen = reader.read8() - 1;
674
+ positions = [];
675
+ for (i = 0; i < userPositionsLen; i++) {
676
+ reader.read16();
677
+ fields = structs_3.Position.bcs.read(reader);
678
+ pos = structs_3.Position.fromFields(fields);
679
+ positions.push(pos);
680
+ }
681
+ return [2 /*return*/, positions];
682
+ }
683
+ });
404
684
  });
405
- // console.log(maxPage);
406
- var positions = pos;
407
- for (let page = 2; page <= maxPage; page++) {
408
- console.log(page);
409
- var { positions: pos, maxPage } = await getAllPositions(client, {
410
- baseToken: input.baseToken,
411
- slice: SLICE.toString(),
412
- page: page.toString(),
413
- marketIndex: input.marketIndex,
685
+ }
686
+ function getAllPositionsWithTradingSymbol(config, input) {
687
+ return __awaiter(this, void 0, void 0, function () {
688
+ var total, slice, pages, pagePromises, page, results;
689
+ return __generator(this, function (_a) {
690
+ switch (_a.label) {
691
+ case 0: return [4 /*yield*/, getPositionCount(config, { baseToken: input.baseToken })];
692
+ case 1:
693
+ total = _a.sent();
694
+ // 2) 若無倉位直接回傳 []
695
+ if (total === 0) {
696
+ return [2 /*return*/, []];
697
+ }
698
+ slice = Math.min(total, 100);
699
+ pages = Math.ceil(total / slice);
700
+ pagePromises = [];
701
+ for (page = 1; page <= pages; page++) {
702
+ pagePromises.push(getAllPositions(config, {
703
+ baseToken: input.baseToken,
704
+ slice: slice.toString(),
705
+ page: page.toString(),
706
+ }));
707
+ }
708
+ return [4 /*yield*/, Promise.all(pagePromises)];
709
+ case 2:
710
+ results = _a.sent();
711
+ // 5) 扁平化後回傳
712
+ return [2 /*return*/, results.flat()];
713
+ }
414
714
  });
415
- positions = positions.concat(pos);
416
- }
417
- return positions;
715
+ });
418
716
  }