@typus/typus-perp-sdk 1.1.30-testnet → 1.1.31-codegen

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/api/sentio.js +604 -538
  2. package/dist/src/client.d.ts +27 -0
  3. package/dist/src/client.js +108 -0
  4. package/dist/src/fetch.d.ts +160 -34
  5. package/dist/src/fetch.js +365 -665
  6. package/dist/src/generated/typus_perp/admin.d.ts +117 -0
  7. package/dist/src/generated/typus_perp/admin.js +110 -0
  8. package/dist/src/generated/typus_perp/competition.d.ts +22 -0
  9. package/dist/src/generated/typus_perp/competition.js +58 -0
  10. package/dist/src/generated/typus_perp/deps/std/type_name.d.ts +17 -0
  11. package/dist/src/generated/typus_perp/deps/std/type_name.js +25 -0
  12. package/dist/src/generated/typus_perp/deps/sui/balance.d.ts +12 -0
  13. package/dist/src/generated/typus_perp/deps/sui/balance.js +20 -0
  14. package/dist/src/generated/typus_perp/deps/sui/object.d.ts +8 -0
  15. package/dist/src/generated/typus_perp/deps/sui/object.js +16 -0
  16. package/dist/src/generated/typus_perp/deps/sui/object_table.d.ts +19 -0
  17. package/dist/src/generated/typus_perp/deps/sui/object_table.js +59 -0
  18. package/dist/src/generated/typus_perp/deps/sui/vec_set.d.ts +18 -0
  19. package/dist/src/generated/typus_perp/deps/sui/vec_set.js +25 -0
  20. package/dist/src/generated/typus_perp/deps/typus/keyed_big_vector.d.ts +30 -0
  21. package/dist/src/generated/typus_perp/deps/typus/keyed_big_vector.js +67 -0
  22. package/dist/src/generated/typus_perp/deps/typus/linked_object_table.d.ts +32 -0
  23. package/dist/src/generated/typus_perp/deps/typus/linked_object_table.js +71 -0
  24. package/dist/src/generated/typus_perp/deps/typus_framework/vault.d.ts +23 -0
  25. package/dist/src/generated/typus_perp/deps/typus_framework/vault.js +61 -0
  26. package/dist/src/generated/typus_perp/escrow.d.ts +59 -0
  27. package/dist/src/generated/typus_perp/escrow.js +76 -0
  28. package/dist/src/generated/typus_perp/lending.d.ts +47 -0
  29. package/dist/src/generated/typus_perp/lending.js +50 -0
  30. package/dist/src/generated/typus_perp/lp_pool.d.ts +2327 -0
  31. package/dist/src/generated/typus_perp/lp_pool.js +1956 -0
  32. package/dist/src/generated/typus_perp/math.d.ts +95 -0
  33. package/dist/src/generated/typus_perp/math.js +97 -0
  34. package/dist/src/generated/typus_perp/position.d.ts +234 -0
  35. package/dist/src/generated/typus_perp/position.js +204 -0
  36. package/dist/src/generated/typus_perp/symbol.d.ts +18 -0
  37. package/dist/src/generated/typus_perp/symbol.js +55 -0
  38. package/dist/src/generated/typus_perp/tlp.d.ts +13 -0
  39. package/dist/src/generated/typus_perp/tlp.js +56 -0
  40. package/dist/src/generated/typus_perp/trading.d.ts +2486 -0
  41. package/dist/src/generated/typus_perp/trading.js +2476 -0
  42. package/dist/src/generated/typus_perp/treasury_caps.d.ts +13 -0
  43. package/dist/src/{_framework/init-loader.js → generated/typus_perp/treasury_caps.js} +17 -10
  44. package/dist/src/generated/typus_perp/user_account.d.ts +40 -0
  45. package/dist/src/generated/typus_perp/user_account.js +72 -0
  46. package/dist/src/generated/typus_stake_pool/admin.d.ts +100 -0
  47. package/dist/src/generated/typus_stake_pool/admin.js +91 -0
  48. package/dist/src/generated/typus_stake_pool/deps/std/type_name.d.ts +17 -0
  49. package/dist/src/generated/typus_stake_pool/deps/std/type_name.js +25 -0
  50. package/dist/src/generated/typus_stake_pool/deps/sui/object.d.ts +8 -0
  51. package/dist/src/generated/typus_stake_pool/deps/sui/object.js +16 -0
  52. package/dist/src/generated/typus_stake_pool/deps/sui/vec_map.d.ts +30 -0
  53. package/dist/src/generated/typus_stake_pool/deps/sui/vec_map.js +37 -0
  54. package/dist/src/generated/typus_stake_pool/deps/sui/vec_set.d.ts +18 -0
  55. package/dist/src/generated/typus_stake_pool/deps/sui/vec_set.js +25 -0
  56. package/dist/src/generated/typus_stake_pool/stake_pool.d.ts +1023 -0
  57. package/dist/src/generated/typus_stake_pool/stake_pool.js +918 -0
  58. package/dist/src/generated/utils/index.d.ts +11 -0
  59. package/dist/src/generated/utils/index.js +135 -0
  60. package/dist/src/grpc/graphql.d.ts +26 -0
  61. package/dist/src/grpc/graphql.js +126 -0
  62. package/dist/src/grpc/grpc.d.ts +1 -0
  63. package/dist/src/grpc/grpc.js +38 -0
  64. package/dist/src/grpc/ledgerService.js +64 -0
  65. package/dist/src/grpc/liveDataService.d.ts +0 -0
  66. package/dist/src/grpc/liveDataService.js +49 -0
  67. package/dist/src/index.d.ts +0 -4
  68. package/dist/src/index.js +20 -39
  69. package/dist/src/user/history.js +611 -680
  70. package/dist/src/user/order.d.ts +11 -11
  71. package/dist/src/user/order.js +171 -302
  72. package/dist/src/user/orderWithBidReceipt.d.ts +8 -6
  73. package/dist/src/user/orderWithBidReceipt.js +127 -226
  74. package/dist/src/user/tlp.d.ts +32 -23
  75. package/dist/src/user/tlp.js +316 -468
  76. package/package.json +45 -37
  77. package/dist/src/_dependencies/source/0x1/ascii/structs.d.ts +0 -88
  78. package/dist/src/_dependencies/source/0x1/ascii/structs.js +0 -398
  79. package/dist/src/_dependencies/source/0x1/index.d.ts +0 -3
  80. package/dist/src/_dependencies/source/0x1/index.js +0 -6
  81. package/dist/src/_dependencies/source/0x1/option/structs.d.ts +0 -50
  82. package/dist/src/_dependencies/source/0x1/option/structs.js +0 -271
  83. package/dist/src/_dependencies/source/0x1/string/structs.d.ts +0 -48
  84. package/dist/src/_dependencies/source/0x1/string/structs.js +0 -256
  85. package/dist/src/_dependencies/source/0x1/type-name/structs.d.ts +0 -49
  86. package/dist/src/_dependencies/source/0x1/type-name/structs.js +0 -223
  87. package/dist/src/_dependencies/source/0x2/bag/structs.d.ts +0 -54
  88. package/dist/src/_dependencies/source/0x2/bag/structs.js +0 -229
  89. package/dist/src/_dependencies/source/0x2/balance/structs.d.ts +0 -84
  90. package/dist/src/_dependencies/source/0x2/balance/structs.js +0 -386
  91. package/dist/src/_dependencies/source/0x2/coin/structs.d.ts +0 -406
  92. package/dist/src/_dependencies/source/0x2/coin/structs.js +0 -1247
  93. package/dist/src/_dependencies/source/0x2/index.d.ts +0 -3
  94. package/dist/src/_dependencies/source/0x2/index.js +0 -6
  95. package/dist/src/_dependencies/source/0x2/linked-table/structs.d.ts +0 -132
  96. package/dist/src/_dependencies/source/0x2/linked-table/structs.js +0 -438
  97. package/dist/src/_dependencies/source/0x2/object/structs.d.ts +0 -86
  98. package/dist/src/_dependencies/source/0x2/object/structs.js +0 -364
  99. package/dist/src/_dependencies/source/0x2/object-table/structs.d.ts +0 -54
  100. package/dist/src/_dependencies/source/0x2/object-table/structs.js +0 -248
  101. package/dist/src/_dependencies/source/0x2/sui/structs.d.ts +0 -44
  102. package/dist/src/_dependencies/source/0x2/sui/structs.js +0 -222
  103. package/dist/src/_dependencies/source/0x2/table/structs.d.ts +0 -54
  104. package/dist/src/_dependencies/source/0x2/table/structs.js +0 -248
  105. package/dist/src/_dependencies/source/0x2/table-vec/structs.d.ts +0 -59
  106. package/dist/src/_dependencies/source/0x2/table-vec/structs.js +0 -274
  107. package/dist/src/_dependencies/source/0x2/token/structs.d.ts +0 -421
  108. package/dist/src/_dependencies/source/0x2/token/structs.js +0 -1095
  109. package/dist/src/_dependencies/source/0x2/transfer-policy/structs.d.ts +0 -348
  110. package/dist/src/_dependencies/source/0x2/transfer-policy/structs.js +0 -1091
  111. package/dist/src/_dependencies/source/0x2/url/structs.d.ts +0 -49
  112. package/dist/src/_dependencies/source/0x2/url/structs.js +0 -223
  113. package/dist/src/_dependencies/source/0x2/vec-map/structs.d.ts +0 -106
  114. package/dist/src/_dependencies/source/0x2/vec-map/structs.js +0 -446
  115. package/dist/src/_dependencies/source/0x2/vec-set/structs.d.ts +0 -49
  116. package/dist/src/_dependencies/source/0x2/vec-set/structs.js +0 -270
  117. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/airdrop/structs.d.ts +0 -422
  118. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/airdrop/structs.js +0 -1084
  119. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/big-vector/structs.d.ts +0 -130
  120. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/big-vector/structs.js +0 -456
  121. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/critbit/structs.d.ts +0 -208
  122. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/critbit/structs.js +0 -653
  123. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/ecosystem/structs.d.ts +0 -362
  124. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/ecosystem/structs.js +0 -899
  125. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/index.d.ts +0 -8
  126. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/index.js +0 -11
  127. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/init.d.ts +0 -2
  128. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/init.js +0 -102
  129. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/keyed-big-vector/structs.d.ts +0 -202
  130. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/keyed-big-vector/structs.js +0 -632
  131. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/leaderboard/structs.d.ts +0 -600
  132. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/leaderboard/structs.js +0 -1459
  133. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/linked-object-table/structs.d.ts +0 -136
  134. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/linked-object-table/structs.js +0 -438
  135. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/linked-set/structs.d.ts +0 -127
  136. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/linked-set/structs.js +0 -430
  137. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/tails-staking/structs.d.ts +0 -957
  138. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/tails-staking/structs.js +0 -2261
  139. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/tgld/structs.d.ts +0 -244
  140. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/tgld/structs.js +0 -733
  141. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/user/structs.d.ts +0 -294
  142. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/user/structs.js +0 -892
  143. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/authority/structs.d.ts +0 -73
  144. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/authority/structs.js +0 -263
  145. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/balance-pool/structs.d.ts +0 -294
  146. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/balance-pool/structs.js +0 -591
  147. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/big-vector/structs.d.ts +0 -64
  148. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/big-vector/structs.js +0 -258
  149. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/dutch/structs.d.ts +0 -756
  150. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/dutch/structs.js +0 -1721
  151. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/i64/structs.d.ts +0 -44
  152. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/i64/structs.js +0 -222
  153. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/index.d.ts +0 -3
  154. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/index.js +0 -6
  155. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/init.d.ts +0 -2
  156. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/init.js +0 -89
  157. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/linked-list/structs.d.ts +0 -135
  158. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/linked-list/structs.js +0 -444
  159. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/vault/structs.d.ts +0 -2106
  160. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/vault/structs.js +0 -4952
  161. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/discount-mint/structs.d.ts +0 -390
  162. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/discount-mint/structs.js +0 -844
  163. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/index.d.ts +0 -6
  164. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/index.js +0 -9
  165. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/init.d.ts +0 -2
  166. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/init.js +0 -69
  167. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/royalty-rule/structs.d.ts +0 -89
  168. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/royalty-rule/structs.js +0 -376
  169. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/staking/structs.d.ts +0 -386
  170. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/staking/structs.js +0 -881
  171. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/table-vec/structs.d.ts +0 -59
  172. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/table-vec/structs.js +0 -274
  173. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/typus-nft/structs.d.ts +0 -974
  174. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/typus-nft/structs.js +0 -2387
  175. package/dist/src/_framework/init-loader.d.ts +0 -2
  176. package/dist/src/_framework/loader.d.ts +0 -17
  177. package/dist/src/_framework/loader.js +0 -108
  178. package/dist/src/_framework/reified.d.ts +0 -108
  179. package/dist/src/_framework/reified.js +0 -237
  180. package/dist/src/_framework/util.d.ts +0 -35
  181. package/dist/src/_framework/util.js +0 -396
  182. package/dist/src/_framework/vector.d.ts +0 -42
  183. package/dist/src/_framework/vector.js +0 -112
  184. package/dist/src/pyth.js +0 -1
  185. package/dist/src/typus_perp/admin/functions.d.ts +0 -59
  186. package/dist/src/typus_perp/admin/functions.js +0 -122
  187. package/dist/src/typus_perp/admin/structs.d.ts +0 -467
  188. package/dist/src/typus_perp/admin/structs.js +0 -1065
  189. package/dist/src/typus_perp/competition/functions.d.ts +0 -24
  190. package/dist/src/typus_perp/competition/functions.js +0 -38
  191. package/dist/src/typus_perp/competition/structs.d.ts +0 -80
  192. package/dist/src/typus_perp/competition/structs.js +0 -288
  193. package/dist/src/typus_perp/error/functions.d.ts +0 -73
  194. package/dist/src/typus_perp/error/functions.js +0 -363
  195. package/dist/src/typus_perp/escrow/functions.d.ts +0 -17
  196. package/dist/src/typus_perp/escrow/functions.js +0 -36
  197. package/dist/src/typus_perp/escrow/structs.d.ts +0 -160
  198. package/dist/src/typus_perp/escrow/structs.js +0 -324
  199. package/dist/src/typus_perp/index.d.ts +0 -1
  200. package/dist/src/typus_perp/index.js +0 -7
  201. package/dist/src/typus_perp/init.d.ts +0 -2
  202. package/dist/src/typus_perp/init.js +0 -118
  203. package/dist/src/typus_perp/lending/functions.d.ts +0 -15
  204. package/dist/src/typus_perp/lending/functions.js +0 -22
  205. package/dist/src/typus_perp/lp-pool/functions.d.ts +0 -460
  206. package/dist/src/typus_perp/lp-pool/functions.js +0 -732
  207. package/dist/src/typus_perp/lp-pool/structs.d.ts +0 -3705
  208. package/dist/src/typus_perp/lp-pool/structs.js +0 -6789
  209. package/dist/src/typus_perp/math/functions.d.ts +0 -29
  210. package/dist/src/typus_perp/math/functions.js +0 -61
  211. package/dist/src/typus_perp/position/functions.d.ts +0 -379
  212. package/dist/src/typus_perp/position/functions.js +0 -713
  213. package/dist/src/typus_perp/position/structs.d.ts +0 -905
  214. package/dist/src/typus_perp/position/structs.js +0 -1450
  215. package/dist/src/typus_perp/symbol/functions.d.ts +0 -9
  216. package/dist/src/typus_perp/symbol/functions.js +0 -24
  217. package/dist/src/typus_perp/symbol/structs.d.ts +0 -70
  218. package/dist/src/typus_perp/symbol/structs.js +0 -235
  219. package/dist/src/typus_perp/tlp/functions.d.ts +0 -19
  220. package/dist/src/typus_perp/tlp/functions.js +0 -40
  221. package/dist/src/typus_perp/tlp/structs.d.ts +0 -89
  222. package/dist/src/typus_perp/tlp/structs.js +0 -365
  223. package/dist/src/typus_perp/token-interface/functions.d.ts +0 -11
  224. package/dist/src/typus_perp/token-interface/functions.js +0 -22
  225. package/dist/src/typus_perp/trading/functions.d.ts +0 -812
  226. package/dist/src/typus_perp/trading/functions.js +0 -1218
  227. package/dist/src/typus_perp/trading/structs.d.ts +0 -3060
  228. package/dist/src/typus_perp/trading/structs.js +0 -5813
  229. package/dist/src/typus_perp/treasury-caps/functions.d.ts +0 -9
  230. package/dist/src/typus_perp/treasury-caps/functions.js +0 -36
  231. package/dist/src/typus_perp/treasury-caps/structs.d.ts +0 -49
  232. package/dist/src/typus_perp/treasury-caps/structs.js +0 -223
  233. package/dist/src/typus_perp/user-account/functions.d.ts +0 -36
  234. package/dist/src/typus_perp/user-account/functions.js +0 -70
  235. package/dist/src/typus_perp/user-account/structs.d.ts +0 -148
  236. package/dist/src/typus_perp/user-account/structs.js +0 -448
  237. package/dist/src/typus_stake_pool/admin/functions.d.ts +0 -49
  238. package/dist/src/typus_stake_pool/admin/functions.js +0 -105
  239. package/dist/src/typus_stake_pool/admin/structs.d.ts +0 -365
  240. package/dist/src/typus_stake_pool/admin/structs.js +0 -789
  241. package/dist/src/typus_stake_pool/index.d.ts +0 -1
  242. package/dist/src/typus_stake_pool/index.js +0 -7
  243. package/dist/src/typus_stake_pool/init.d.ts +0 -2
  244. package/dist/src/typus_stake_pool/init.js +0 -69
  245. package/dist/src/typus_stake_pool/stake-pool/functions.d.ts +0 -229
  246. package/dist/src/typus_stake_pool/stake-pool/functions.js +0 -380
  247. package/dist/src/typus_stake_pool/stake-pool/structs.d.ts +0 -2199
  248. package/dist/src/typus_stake_pool/stake-pool/structs.js +0 -4653
  249. /package/dist/src/{pyth.d.ts → grpc/ledgerService.d.ts} +0 -0
package/dist/src/fetch.js CHANGED
@@ -1,51 +1,4 @@
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
- };
49
2
  Object.defineProperty(exports, "__esModule", { value: true });
50
3
  exports.getLpPools = getLpPools;
51
4
  exports.getLpPool = getLpPool;
@@ -56,293 +9,173 @@ exports.getUserOrders = getUserOrders;
56
9
  exports.getUserPositions = getUserPositions;
57
10
  exports.parseOptionBidReceipts = parseOptionBidReceipts;
58
11
  exports.getUserStake = getUserStake;
59
- exports.getUserStakeById = getUserStakeById;
60
12
  exports.getDeactivatingShares = getDeactivatingShares;
61
13
  exports.getLiquidationPriceAndPnl = getLiquidationPriceAndPnl;
62
- exports.getPositionCount = getPositionCount;
63
14
  exports.getAllPositions = getAllPositions;
64
15
  exports.getAllPositionsWithTradingSymbol = getAllPositionsWithTradingSymbol;
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
- });
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));
126
40
  }
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
- });
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);
142
56
  }
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
- });
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));
189
70
  }
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
- });
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);
205
86
  }
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
- });
87
+ async function getMarkets(client, input) {
88
+ let tx = new transactions_1.Transaction();
89
+ tx.add((0, trading_1.getMarketsBcs)({ arguments: { registry: _1.MARKET, indexes: input.indexes.map((x) => BigInt(x)) } }));
90
+ let devInspectTransactionBlockResult = await client.devInspectTransactionBlock({ sender: constants_1.SENDER, transactionBlock: tx });
91
+ // @ts-ignore
92
+ let bytes = devInspectTransactionBlockResult.results[0].returnValues[0][0];
93
+ let reader = new bcs_1.BcsReader(new Uint8Array(bytes));
94
+ let marketIndex = 0;
95
+ let results = [];
96
+ reader.readVec((reader, i) => {
97
+ if (i == marketIndex) {
98
+ let length = reader.readULEB();
99
+ let bytes = reader.readBytes(length);
100
+ let markets = trading_1.Markets.parse(bytes);
101
+ results.push({ markets, symbolMarkets: [] });
102
+ marketIndex = i + markets.symbols.length + 1;
103
+ }
104
+ else {
105
+ let length = reader.readULEB();
106
+ let bytes = reader.readBytes(length);
107
+ let symbolMarket = trading_1.SymbolMarket.parse(bytes);
108
+ results[results.length - 1].symbolMarkets.push(symbolMarket);
109
+ }
243
110
  });
111
+ return results;
244
112
  }
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
- }
113
+ async function getUserOrders(client, input) {
114
+ let tx = new transactions_1.Transaction();
115
+ for (let i of input.indexes) {
116
+ tx.add((0, trading_2.getUserOrders)({
117
+ arguments: {
118
+ version: _1.PERP_VERSION,
119
+ registry: _1.MARKET,
120
+ marketIndex: BigInt(i),
121
+ user: input.user,
122
+ },
123
+ }));
124
+ }
125
+ let res = await client.devInspectTransactionBlock({ sender: input.user, transactionBlock: tx });
126
+ // console.log(res);
127
+ let orders = [];
128
+ for (var x = 0; x < input.indexes.length; x++) {
129
+ // @ts-ignore
130
+ let returnValues = res.results[x].returnValues[0][0];
131
+ // console.log(returnValues);
132
+ let reader = new bcs_1.BcsReader(new Uint8Array(returnValues));
133
+ reader.readVec((reader) => {
134
+ let length = reader.readULEB();
135
+ let bytes = reader.readBytes(length);
136
+ let order = position_1.TradingOrder.parse(bytes);
137
+ orders.push(order);
306
138
  });
307
- });
139
+ }
140
+ return orders;
308
141
  }
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
- }
142
+ async function getUserPositions(client, input) {
143
+ let tx = new transactions_1.Transaction();
144
+ for (let i of input.indexes) {
145
+ tx.add((0, trading_2.getUserPositions)({
146
+ arguments: {
147
+ version: _1.PERP_VERSION,
148
+ registry: _1.MARKET,
149
+ marketIndex: BigInt(i),
150
+ user: input.user,
151
+ },
152
+ }));
153
+ }
154
+ let res = await client.devInspectTransactionBlock({ sender: input.user, transactionBlock: tx });
155
+ // console.log(res);
156
+ let positions = [];
157
+ for (var x = 0; x < input.indexes.length; x++) {
158
+ // @ts-ignore
159
+ let returnValues = res.results[x].returnValues[0][0];
160
+ // console.log(returnValues);
161
+ let reader = new bcs_1.BcsReader(new Uint8Array(returnValues));
162
+ reader.readVec((reader) => {
163
+ let length = reader.readULEB();
164
+ let bytes = reader.readBytes(length);
165
+ let position = position_1.Position.parse(bytes);
166
+ // @ts-ignore
167
+ position.marketIndex = x;
168
+ positions.push(position);
339
169
  });
340
- });
170
+ }
171
+ // let positions: Position[] = readVecPosition(Uint8Array.from(returnValues));
172
+ // console.log(positions);
173
+ return positions;
341
174
  }
342
175
  function parseOptionBidReceipts(positions) {
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])));
176
+ return positions.map((position) => {
177
+ if (position.option_collateral_info) {
178
+ let bidReceipt = vault_1.TypusBidReceipt.parse(Uint8Array.from(Array.from(position.option_collateral_info.bid_receipts_bcs[0])));
346
179
  // console.log(bidReceipt);
347
180
  return bidReceipt;
348
181
  }
@@ -352,365 +185,232 @@ function parseOptionBidReceipts(positions) {
352
185
  });
353
186
  }
354
187
  /**
355
- * @returns [lpShare, incentives]
356
- */
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*/];
400
- }
401
- });
402
- });
403
- }
404
- /**
405
- * @returns [lpShare, incentives]
188
+ * @returns [lpShare, incentives][]
406
189
  */
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*/];
190
+ async function getUserStake(client, input) {
191
+ let tx = new transactions_1.Transaction();
192
+ for (let i of input.indexes) {
193
+ tx.add((0, stake_pool_1.allocateIncentive)({
194
+ arguments: {
195
+ version: _1.STAKE_POOL_VERSION,
196
+ registry: _1.STAKE_POOL,
197
+ index: BigInt(i),
198
+ },
199
+ }));
200
+ tx.add((0, stake_pool_1.getUserShares)({
201
+ arguments: {
202
+ registry: _1.STAKE_POOL,
203
+ index: BigInt(i),
204
+ user: input.user,
205
+ },
206
+ }));
207
+ }
208
+ let res = await client.devInspectTransactionBlock({ sender: input.user, transactionBlock: tx });
209
+ // console.log(res);
210
+ if (res.results) {
211
+ let results = [];
212
+ for (var x = 0; x < input.indexes.length; x++) {
213
+ // @ts-ignore
214
+ var returnValues = res.results[1].returnValues[0][0];
215
+ // console.log(returnValues);
216
+ var reader = new bcs_1.BcsReader(new Uint8Array(returnValues));
217
+ let length = reader.readULEB();
218
+ console.log(length);
219
+ if (length == 0) {
220
+ results.push([]);
221
+ continue;
450
222
  }
451
- });
452
- });
223
+ // let lpShare = LpUserShare.fromFields(LpUserShare.bcs.read(reader));
224
+ let lpShare = stake_pool_1.LpUserShare.read(reader);
225
+ let incentives = [];
226
+ reader.readVec((reader) => {
227
+ let incentive = reader.read64();
228
+ incentives.push(incentive);
229
+ });
230
+ results.push([lpShare, incentives]);
231
+ }
232
+ return results;
233
+ }
234
+ else {
235
+ return [];
236
+ }
453
237
  }
454
238
  /**
455
239
  * @returns deactivatingShares[]
456
240
  */
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
- });
241
+ async function getDeactivatingShares(client, input) {
242
+ let tx = new transactions_1.Transaction();
243
+ for (let i of input.indexes) {
244
+ tx.add((0, lp_pool_1.getUserDeactivatingShares)({
245
+ arguments: {
246
+ registry: _1.LP_POOL,
247
+ index: BigInt(i),
248
+ user: input.user,
249
+ },
250
+ typeArguments: ["TLP_TOKEN"],
251
+ }));
252
+ }
253
+ let res = await client.devInspectTransactionBlock({ sender: input.user, transactionBlock: tx });
254
+ // console.log(res);
255
+ if (res.results) {
256
+ let deactivatingShares = [];
257
+ for (var x = 0; x < input.indexes.length; x++) {
258
+ // @ts-ignore
259
+ var returnValues = res.results[0].returnValues[0][0];
260
+ // console.log(returnValues);
261
+ var reader = new bcs_1.BcsReader(new Uint8Array(returnValues));
262
+ reader.readVec((reader) => {
263
+ let length = reader.readULEB();
264
+ let lpShare = lp_pool_1.DeactivatingShares.read(reader);
265
+ // @ts-ignore
266
+ deactivatingShares.push(lpShare);
267
+ });
268
+ }
269
+ // console.log(deactivatingShares);
270
+ return deactivatingShares;
271
+ }
272
+ else {
273
+ return [];
274
+ }
494
275
  }
495
276
  /**
496
277
  * @returns [liquidationPrice, pnl(in USD)]
497
278
  */
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
- });
279
+ async function getLiquidationPriceAndPnl(client, input) {
280
+ let tx = new transactions_1.Transaction();
281
+ let tokens = [];
282
+ for (let position of input.positions) {
283
+ // parse from Position
284
+ let TOKEN = (0, constants_1.typeArgToAsset)(position.collateral_token.name);
285
+ let BASE_TOKEN = (0, constants_1.typeArgToAsset)(position.symbol.base_token.name);
286
+ tokens.push(TOKEN);
287
+ tokens.push(BASE_TOKEN);
288
+ }
289
+ await (0, utils_1.updatePyth)(client.pythClient, tx, Array.from(new Set(tokens)));
290
+ for (let token of Array.from(new Set(tokens))) {
291
+ (0, utils_1.updateOracleWithPythUsd)(client.pythClient, tx, client.config.package.oracle, token);
292
+ }
293
+ for (let position of input.positions) {
294
+ // parse from Position
295
+ let TOKEN = (0, constants_1.typeArgToAsset)(position.collateral_token.name);
296
+ let BASE_TOKEN = (0, constants_1.typeArgToAsset)(position.symbol.base_token.name);
297
+ // @ts-ignore
298
+ let index = position.marketIndex;
299
+ tx.add((0, trading_2.getEstimatedLiquidationPriceAndPnl)({
300
+ arguments: {
301
+ version: _1.PERP_VERSION,
302
+ registry: _1.MARKET,
303
+ poolRegistry: _1.LP_POOL,
304
+ marketIndex: BigInt(index),
305
+ poolIndex: BigInt(index),
306
+ typusOracleCToken: constants_1.oracle[_1.NETWORK][TOKEN],
307
+ typusOracleTradingSymbol: constants_1.oracle[_1.NETWORK][BASE_TOKEN],
308
+ positionId: BigInt(position.position_id),
309
+ dovRegistry: client.config.registry.dov.dovSingle,
310
+ },
311
+ typeArguments: [position.collateral_token.name, position.symbol.base_token.name],
312
+ }));
313
+ }
314
+ let res = await client.devInspectTransactionBlock({ sender: constants_1.SENDER, transactionBlock: tx });
315
+ // console.log(res);
316
+ // 0 estimated_liquidation_price,
317
+ // 1 has_profit,
318
+ // 2 pnl_usd,
319
+ // 3 is_cost,
320
+ // 4 unrealized_cost_in_usd,
321
+ // 5 unrealized_funding_sign,
322
+ // 6 unrealized_funding_fee_usd,
323
+ // 7 unrealized_borrow_fee_usd,
324
+ // 8 close_fee_usd
325
+ let results = res.results
326
+ ? res.results.slice(-input.positions.length).map((x) => {
327
+ // console.log(x);
328
+ let liquidationPrice = Number(bcs_1.bcs.u64().parse(Uint8Array.from(x.returnValues[0][0])));
329
+ let isProfit = bcs_1.bcs.bool().parse(Uint8Array.from(x.returnValues[1][0]));
330
+ var pnl = Number(bcs_1.bcs.u64().parse(Uint8Array.from(x.returnValues[2][0])));
331
+ pnl = isProfit ? pnl : -pnl;
332
+ // including closeFee
333
+ let isCost = bcs_1.bcs.bool().parse(Uint8Array.from(x.returnValues[3][0]));
334
+ var cost = Number(bcs_1.bcs.u64().parse(Uint8Array.from(x.returnValues[4][0])));
335
+ cost = isCost ? cost : -cost;
336
+ // cost = unrealized_loss + unrealized_trading_fee + unrealized_borrow_fee + unrealized_funding_fee;
337
+ let fundingFeeSign = bcs_1.bcs.bool().parse(Uint8Array.from(x.returnValues[5][0]));
338
+ var fundingFee = Number(bcs_1.bcs.u64().parse(Uint8Array.from(x.returnValues[6][0])));
339
+ fundingFee = fundingFeeSign ? fundingFee : -fundingFee;
340
+ let borrowFee = Number(bcs_1.bcs.u64().parse(Uint8Array.from(x.returnValues[7][0])));
341
+ let closeFee = Number(bcs_1.bcs.u64().parse(Uint8Array.from(x.returnValues[8][0])));
342
+ return {
343
+ liquidationPrice,
344
+ pnl: pnl + closeFee,
345
+ fundingFee,
346
+ borrowFee,
347
+ closeFee,
348
+ pnlAfterFee: pnl - cost,
349
+ };
350
+ })
351
+ : [];
352
+ // console.log(results);
353
+ return results;
601
354
  }
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
- });
355
+ async function getAllPositions(client, input) {
356
+ let tx = new transactions_1.Transaction();
357
+ tx.add((0, trading_2.getAllPositions)({
358
+ arguments: {
359
+ version: _1.PERP_VERSION,
360
+ registry: _1.MARKET,
361
+ marketIndex: BigInt(input.marketIndex),
362
+ slice: BigInt(input.slice),
363
+ page: BigInt(input.page),
364
+ },
365
+ typeArguments: [constants_1.tokenType[_1.NETWORK][input.baseToken]],
366
+ }));
367
+ let res = await client.devInspectTransactionBlock({
368
+ sender: constants_1.SENDER,
369
+ transactionBlock: tx,
640
370
  });
371
+ if (!res.results?.[0]?.returnValues?.[0]?.[0]) {
372
+ return { positions: [], maxPage: 0 };
373
+ }
374
+ // -- 解析回傳值 -------------------------------------------------
375
+ const raw = new Uint8Array(res.results[0].returnValues[0][0]);
376
+ // 1) 至少要有 8 bytes 的 max_page
377
+ if (raw.length < 8)
378
+ return { positions: [], maxPage: 0 };
379
+ const reader = new bcs_1.BcsReader(raw);
380
+ // 2) 第一個 u8 = user_positions_len + 1
381
+ const userPositionsLen = reader.readULEB() - 1;
382
+ // console.log("userPositionsLen", userPositionsLen);
383
+ const positions = [];
384
+ for (let i = 0; i < userPositionsLen; i++) {
385
+ reader.readULEB();
386
+ const pos = position_1.Position.read(reader);
387
+ positions.push(pos);
388
+ }
389
+ reader.readULEB();
390
+ const maxPage = Number(reader.read64());
391
+ // console.log("maxPage", maxPage);
392
+ return { positions, maxPage };
641
393
  }
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
- });
394
+ const SLICE = 100;
395
+ async function getAllPositionsWithTradingSymbol(client, input) {
396
+ var positions = [];
397
+ var { positions: pos, maxPage } = await getAllPositions(client, {
398
+ baseToken: input.baseToken,
399
+ slice: SLICE.toString(),
400
+ page: "1",
401
+ marketIndex: input.marketIndex,
684
402
  });
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
- }
403
+ // console.log(maxPage);
404
+ positions = positions.concat(pos);
405
+ for (let page = 2; page <= maxPage; page++) {
406
+ console.log(page);
407
+ var { positions: pos, maxPage } = await getAllPositions(client, {
408
+ baseToken: input.baseToken,
409
+ slice: SLICE.toString(),
410
+ page: page.toString(),
411
+ marketIndex: input.marketIndex,
714
412
  });
715
- });
413
+ positions = positions.concat(pos);
414
+ }
415
+ return positions;
716
416
  }