@typus/typus-perp-sdk 1.1.32 → 1.1.33

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 (253) hide show
  1. package/dist/src/api/sentio.d.ts +5 -5
  2. package/dist/src/api/sentio.js +690 -541
  3. package/dist/src/client.d.ts +28 -0
  4. package/dist/src/client.js +171 -0
  5. package/dist/src/fetch.d.ts +554 -36
  6. package/dist/src/fetch.js +545 -661
  7. package/dist/src/generated/typus_perp/admin.d.ts +274 -0
  8. package/dist/src/generated/typus_perp/admin.js +321 -0
  9. package/dist/src/generated/typus_perp/competition.d.ts +60 -0
  10. package/dist/src/generated/typus_perp/competition.js +104 -0
  11. package/dist/src/generated/typus_perp/deps/std/type_name.d.ts +17 -0
  12. package/dist/src/generated/typus_perp/deps/std/type_name.js +25 -0
  13. package/dist/src/generated/typus_perp/deps/sui/balance.d.ts +12 -0
  14. package/dist/src/generated/typus_perp/deps/sui/balance.js +20 -0
  15. package/dist/src/generated/typus_perp/deps/sui/object.d.ts +8 -0
  16. package/dist/src/generated/typus_perp/deps/sui/object.js +16 -0
  17. package/dist/src/generated/typus_perp/deps/sui/object_table.d.ts +19 -0
  18. package/dist/src/generated/typus_perp/deps/sui/object_table.js +59 -0
  19. package/dist/src/generated/typus_perp/deps/sui/table.d.ts +31 -0
  20. package/dist/src/generated/typus_perp/deps/sui/table.js +71 -0
  21. package/dist/src/generated/typus_perp/deps/sui/vec_set.d.ts +18 -0
  22. package/dist/src/generated/typus_perp/deps/sui/vec_set.js +25 -0
  23. package/dist/src/generated/typus_perp/deps/typus/keyed_big_vector.d.ts +30 -0
  24. package/dist/src/generated/typus_perp/deps/typus/keyed_big_vector.js +67 -0
  25. package/dist/src/generated/typus_perp/deps/typus/linked_object_table.d.ts +32 -0
  26. package/dist/src/generated/typus_perp/deps/typus/linked_object_table.js +71 -0
  27. package/dist/src/generated/typus_perp/deps/typus_framework/vault.d.ts +15 -0
  28. package/dist/src/{_framework/init-loader.js → generated/typus_perp/deps/typus_framework/vault.js} +18 -10
  29. package/dist/src/generated/typus_perp/error.d.ts +443 -0
  30. package/dist/src/generated/typus_perp/error.js +788 -0
  31. package/dist/src/generated/typus_perp/escrow.d.ts +109 -0
  32. package/dist/src/generated/typus_perp/escrow.js +139 -0
  33. package/dist/src/generated/typus_perp/lp_pool.d.ts +1853 -0
  34. package/dist/src/generated/typus_perp/lp_pool.js +1483 -0
  35. package/dist/src/generated/typus_perp/math.d.ts +95 -0
  36. package/dist/src/generated/typus_perp/math.js +97 -0
  37. package/dist/src/generated/typus_perp/position.d.ts +1251 -0
  38. package/dist/src/generated/typus_perp/position.js +1393 -0
  39. package/dist/src/generated/typus_perp/profit_vault.d.ts +272 -0
  40. package/dist/src/generated/typus_perp/profit_vault.js +321 -0
  41. package/dist/src/generated/typus_perp/symbol.d.ts +47 -0
  42. package/dist/src/generated/typus_perp/symbol.js +97 -0
  43. package/dist/src/generated/typus_perp/trading.d.ts +2134 -0
  44. package/dist/src/generated/typus_perp/trading.js +2050 -0
  45. package/dist/src/generated/typus_perp/treasury_caps.d.ts +44 -0
  46. package/dist/src/generated/typus_perp/treasury_caps.js +92 -0
  47. package/dist/src/generated/typus_perp/user_account.d.ts +146 -0
  48. package/dist/src/generated/typus_perp/user_account.js +221 -0
  49. package/dist/src/generated/typus_stake_pool/admin.d.ts +218 -0
  50. package/dist/src/generated/typus_stake_pool/admin.js +247 -0
  51. package/dist/src/generated/typus_stake_pool/deps/std/type_name.d.ts +17 -0
  52. package/dist/src/generated/typus_stake_pool/deps/std/type_name.js +25 -0
  53. package/dist/src/generated/typus_stake_pool/deps/sui/object.d.ts +8 -0
  54. package/dist/src/generated/typus_stake_pool/deps/sui/object.js +16 -0
  55. package/dist/src/generated/typus_stake_pool/deps/sui/vec_map.d.ts +30 -0
  56. package/dist/src/generated/typus_stake_pool/deps/sui/vec_map.js +37 -0
  57. package/dist/src/generated/typus_stake_pool/deps/sui/vec_set.d.ts +18 -0
  58. package/dist/src/generated/typus_stake_pool/deps/sui/vec_set.js +25 -0
  59. package/dist/src/generated/typus_stake_pool/stake_pool.d.ts +1038 -0
  60. package/dist/src/generated/typus_stake_pool/stake_pool.js +938 -0
  61. package/dist/src/generated/utils/index.d.ts +11 -0
  62. package/dist/src/generated/utils/index.js +138 -0
  63. package/dist/src/grpc/graphql.d.ts +26 -0
  64. package/dist/src/grpc/graphql.js +126 -0
  65. package/dist/src/grpc/grpc.d.ts +1 -0
  66. package/dist/src/grpc/grpc.js +38 -0
  67. package/dist/src/grpc/ledgerService.js +64 -0
  68. package/dist/src/grpc/liveDataService.d.ts +0 -0
  69. package/dist/src/grpc/liveDataService.js +49 -0
  70. package/dist/src/index.d.ts +2 -8
  71. package/dist/src/index.js +30 -56
  72. package/dist/src/user/history.d.ts +1 -1
  73. package/dist/src/user/history.js +649 -679
  74. package/dist/src/user/order.d.ts +21 -11
  75. package/dist/src/user/order.js +204 -301
  76. package/dist/src/user/orderWithBidReceipt.d.ts +17 -6
  77. package/dist/src/user/orderWithBidReceipt.js +164 -224
  78. package/dist/src/user/tlp.d.ts +25 -25
  79. package/dist/src/user/tlp.js +317 -468
  80. package/package.json +11 -2
  81. package/dist/src/_dependencies/source/0x1/ascii/structs.d.ts +0 -88
  82. package/dist/src/_dependencies/source/0x1/ascii/structs.js +0 -398
  83. package/dist/src/_dependencies/source/0x1/index.d.ts +0 -3
  84. package/dist/src/_dependencies/source/0x1/index.js +0 -6
  85. package/dist/src/_dependencies/source/0x1/option/structs.d.ts +0 -50
  86. package/dist/src/_dependencies/source/0x1/option/structs.js +0 -271
  87. package/dist/src/_dependencies/source/0x1/string/structs.d.ts +0 -48
  88. package/dist/src/_dependencies/source/0x1/string/structs.js +0 -256
  89. package/dist/src/_dependencies/source/0x1/type-name/structs.d.ts +0 -49
  90. package/dist/src/_dependencies/source/0x1/type-name/structs.js +0 -223
  91. package/dist/src/_dependencies/source/0x2/bag/structs.d.ts +0 -54
  92. package/dist/src/_dependencies/source/0x2/bag/structs.js +0 -229
  93. package/dist/src/_dependencies/source/0x2/balance/structs.d.ts +0 -84
  94. package/dist/src/_dependencies/source/0x2/balance/structs.js +0 -386
  95. package/dist/src/_dependencies/source/0x2/coin/structs.d.ts +0 -406
  96. package/dist/src/_dependencies/source/0x2/coin/structs.js +0 -1247
  97. package/dist/src/_dependencies/source/0x2/index.d.ts +0 -3
  98. package/dist/src/_dependencies/source/0x2/index.js +0 -6
  99. package/dist/src/_dependencies/source/0x2/linked-table/structs.d.ts +0 -132
  100. package/dist/src/_dependencies/source/0x2/linked-table/structs.js +0 -438
  101. package/dist/src/_dependencies/source/0x2/object/structs.d.ts +0 -86
  102. package/dist/src/_dependencies/source/0x2/object/structs.js +0 -364
  103. package/dist/src/_dependencies/source/0x2/object-table/structs.d.ts +0 -54
  104. package/dist/src/_dependencies/source/0x2/object-table/structs.js +0 -248
  105. package/dist/src/_dependencies/source/0x2/sui/structs.d.ts +0 -44
  106. package/dist/src/_dependencies/source/0x2/sui/structs.js +0 -222
  107. package/dist/src/_dependencies/source/0x2/table/structs.d.ts +0 -54
  108. package/dist/src/_dependencies/source/0x2/table/structs.js +0 -248
  109. package/dist/src/_dependencies/source/0x2/table-vec/structs.d.ts +0 -59
  110. package/dist/src/_dependencies/source/0x2/table-vec/structs.js +0 -274
  111. package/dist/src/_dependencies/source/0x2/token/structs.d.ts +0 -421
  112. package/dist/src/_dependencies/source/0x2/token/structs.js +0 -1095
  113. package/dist/src/_dependencies/source/0x2/transfer-policy/structs.d.ts +0 -348
  114. package/dist/src/_dependencies/source/0x2/transfer-policy/structs.js +0 -1091
  115. package/dist/src/_dependencies/source/0x2/url/structs.d.ts +0 -49
  116. package/dist/src/_dependencies/source/0x2/url/structs.js +0 -223
  117. package/dist/src/_dependencies/source/0x2/vec-map/structs.d.ts +0 -106
  118. package/dist/src/_dependencies/source/0x2/vec-map/structs.js +0 -446
  119. package/dist/src/_dependencies/source/0x2/vec-set/structs.d.ts +0 -49
  120. package/dist/src/_dependencies/source/0x2/vec-set/structs.js +0 -270
  121. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/airdrop/structs.d.ts +0 -422
  122. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/airdrop/structs.js +0 -1084
  123. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/big-vector/structs.d.ts +0 -130
  124. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/big-vector/structs.js +0 -456
  125. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/critbit/structs.d.ts +0 -208
  126. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/critbit/structs.js +0 -653
  127. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/ecosystem/structs.d.ts +0 -362
  128. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/ecosystem/structs.js +0 -899
  129. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/index.d.ts +0 -8
  130. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/index.js +0 -11
  131. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/init.d.ts +0 -2
  132. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/init.js +0 -102
  133. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/keyed-big-vector/structs.d.ts +0 -202
  134. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/keyed-big-vector/structs.js +0 -632
  135. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/leaderboard/structs.d.ts +0 -600
  136. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/leaderboard/structs.js +0 -1459
  137. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/linked-object-table/structs.d.ts +0 -136
  138. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/linked-object-table/structs.js +0 -438
  139. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/linked-set/structs.d.ts +0 -127
  140. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/linked-set/structs.js +0 -430
  141. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/tails-staking/structs.d.ts +0 -957
  142. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/tails-staking/structs.js +0 -2261
  143. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/tgld/structs.d.ts +0 -244
  144. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/tgld/structs.js +0 -733
  145. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/user/structs.d.ts +0 -294
  146. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/user/structs.js +0 -892
  147. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/authority/structs.d.ts +0 -73
  148. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/authority/structs.js +0 -263
  149. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/balance-pool/structs.d.ts +0 -294
  150. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/balance-pool/structs.js +0 -591
  151. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/big-vector/structs.d.ts +0 -64
  152. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/big-vector/structs.js +0 -258
  153. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/dutch/structs.d.ts +0 -756
  154. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/dutch/structs.js +0 -1721
  155. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/i64/structs.d.ts +0 -44
  156. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/i64/structs.js +0 -222
  157. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/index.d.ts +0 -3
  158. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/index.js +0 -6
  159. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/init.d.ts +0 -2
  160. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/init.js +0 -89
  161. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/linked-list/structs.d.ts +0 -135
  162. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/linked-list/structs.js +0 -444
  163. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/vault/structs.d.ts +0 -2106
  164. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/vault/structs.js +0 -4952
  165. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/discount-mint/structs.d.ts +0 -390
  166. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/discount-mint/structs.js +0 -844
  167. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/index.d.ts +0 -6
  168. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/index.js +0 -9
  169. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/init.d.ts +0 -2
  170. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/init.js +0 -69
  171. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/royalty-rule/structs.d.ts +0 -89
  172. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/royalty-rule/structs.js +0 -376
  173. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/staking/structs.d.ts +0 -386
  174. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/staking/structs.js +0 -881
  175. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/table-vec/structs.d.ts +0 -59
  176. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/table-vec/structs.js +0 -274
  177. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/typus-nft/structs.d.ts +0 -974
  178. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/typus-nft/structs.js +0 -2387
  179. package/dist/src/_framework/init-loader.d.ts +0 -2
  180. package/dist/src/_framework/loader.d.ts +0 -17
  181. package/dist/src/_framework/loader.js +0 -108
  182. package/dist/src/_framework/reified.d.ts +0 -108
  183. package/dist/src/_framework/reified.js +0 -237
  184. package/dist/src/_framework/util.d.ts +0 -35
  185. package/dist/src/_framework/util.js +0 -396
  186. package/dist/src/_framework/vector.d.ts +0 -42
  187. package/dist/src/_framework/vector.js +0 -112
  188. package/dist/src/pyth.js +0 -1
  189. package/dist/src/typus_perp/admin/functions.d.ts +0 -59
  190. package/dist/src/typus_perp/admin/functions.js +0 -122
  191. package/dist/src/typus_perp/admin/structs.d.ts +0 -467
  192. package/dist/src/typus_perp/admin/structs.js +0 -1065
  193. package/dist/src/typus_perp/competition/functions.d.ts +0 -24
  194. package/dist/src/typus_perp/competition/functions.js +0 -38
  195. package/dist/src/typus_perp/competition/structs.d.ts +0 -80
  196. package/dist/src/typus_perp/competition/structs.js +0 -288
  197. package/dist/src/typus_perp/error/functions.d.ts +0 -73
  198. package/dist/src/typus_perp/error/functions.js +0 -363
  199. package/dist/src/typus_perp/escrow/functions.d.ts +0 -17
  200. package/dist/src/typus_perp/escrow/functions.js +0 -36
  201. package/dist/src/typus_perp/escrow/structs.d.ts +0 -160
  202. package/dist/src/typus_perp/escrow/structs.js +0 -324
  203. package/dist/src/typus_perp/index.d.ts +0 -1
  204. package/dist/src/typus_perp/index.js +0 -7
  205. package/dist/src/typus_perp/init.d.ts +0 -2
  206. package/dist/src/typus_perp/init.js +0 -118
  207. package/dist/src/typus_perp/lending/functions.d.ts +0 -15
  208. package/dist/src/typus_perp/lending/functions.js +0 -22
  209. package/dist/src/typus_perp/lp-pool/functions.d.ts +0 -460
  210. package/dist/src/typus_perp/lp-pool/functions.js +0 -732
  211. package/dist/src/typus_perp/lp-pool/structs.d.ts +0 -3705
  212. package/dist/src/typus_perp/lp-pool/structs.js +0 -6789
  213. package/dist/src/typus_perp/math/functions.d.ts +0 -29
  214. package/dist/src/typus_perp/math/functions.js +0 -61
  215. package/dist/src/typus_perp/position/functions.d.ts +0 -379
  216. package/dist/src/typus_perp/position/functions.js +0 -713
  217. package/dist/src/typus_perp/position/structs.d.ts +0 -905
  218. package/dist/src/typus_perp/position/structs.js +0 -1450
  219. package/dist/src/typus_perp/symbol/functions.d.ts +0 -9
  220. package/dist/src/typus_perp/symbol/functions.js +0 -24
  221. package/dist/src/typus_perp/symbol/structs.d.ts +0 -70
  222. package/dist/src/typus_perp/symbol/structs.js +0 -235
  223. package/dist/src/typus_perp/tlp/functions.d.ts +0 -19
  224. package/dist/src/typus_perp/tlp/functions.js +0 -40
  225. package/dist/src/typus_perp/tlp/structs.d.ts +0 -89
  226. package/dist/src/typus_perp/tlp/structs.js +0 -365
  227. package/dist/src/typus_perp/token-interface/functions.d.ts +0 -11
  228. package/dist/src/typus_perp/token-interface/functions.js +0 -22
  229. package/dist/src/typus_perp/trading/functions.d.ts +0 -812
  230. package/dist/src/typus_perp/trading/functions.js +0 -1218
  231. package/dist/src/typus_perp/trading/structs.d.ts +0 -3060
  232. package/dist/src/typus_perp/trading/structs.js +0 -5813
  233. package/dist/src/typus_perp/treasury-caps/functions.d.ts +0 -9
  234. package/dist/src/typus_perp/treasury-caps/functions.js +0 -36
  235. package/dist/src/typus_perp/treasury-caps/structs.d.ts +0 -49
  236. package/dist/src/typus_perp/treasury-caps/structs.js +0 -223
  237. package/dist/src/typus_perp/user-account/functions.d.ts +0 -36
  238. package/dist/src/typus_perp/user-account/functions.js +0 -70
  239. package/dist/src/typus_perp/user-account/structs.d.ts +0 -148
  240. package/dist/src/typus_perp/user-account/structs.js +0 -448
  241. package/dist/src/typus_stake_pool/admin/functions.d.ts +0 -49
  242. package/dist/src/typus_stake_pool/admin/functions.js +0 -105
  243. package/dist/src/typus_stake_pool/admin/structs.d.ts +0 -365
  244. package/dist/src/typus_stake_pool/admin/structs.js +0 -789
  245. package/dist/src/typus_stake_pool/index.d.ts +0 -1
  246. package/dist/src/typus_stake_pool/index.js +0 -7
  247. package/dist/src/typus_stake_pool/init.d.ts +0 -2
  248. package/dist/src/typus_stake_pool/init.js +0 -69
  249. package/dist/src/typus_stake_pool/stake-pool/functions.d.ts +0 -229
  250. package/dist/src/typus_stake_pool/stake-pool/functions.js +0 -380
  251. package/dist/src/typus_stake_pool/stake-pool/structs.d.ts +0 -2199
  252. package/dist/src/typus_stake_pool/stake-pool/structs.js +0 -4653
  253. /package/dist/src/{pyth.d.ts → grpc/ledgerService.d.ts} +0 -0
@@ -0,0 +1,2050 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.RealizeOptionPositionEvent = exports.ExpiredPositionInfo = exports.UpdateFundingRateEvent = exports.SettleReceiptCollateralEvent = exports.LiquidateEvent = exports.LiquidationInfo = exports.ManagerCloseOptionPositionEvent = exports.ManagerClearPositionEvent = exports.ManagerReducePositionEvent = exports.ManagerCancelOrdersEvent = exports.MatchTradingOrderEvent = exports.CreateTradingOrderWithBidReceiptsEvent = exports.IncreaseCollateralEvent = exports.ReleaseCollateralEvent = exports.CancelTradingOrderEvent = exports.CreateTradingOrderEvent = exports.ResumeTradingSymbolEvent = exports.SuspendTradingSymbolEvent = exports.ResumeMarketEvent = exports.SuspendMarketEvent = exports.UpdateMarketConfigEvent = exports.UpdateProtocolFeeShareBpEvent = exports.AddTradingSymbolEvent = exports.NewMarketsEvent = exports.USD = exports.SymbolMarket = exports.MarketConfig = exports.MarketInfo = exports.Markets = exports.MarketRegistry = void 0;
37
+ exports.init = init;
38
+ exports.newMarkets = newMarkets;
39
+ exports.addTradingSymbol = addTradingSymbol;
40
+ exports.updateProtocolFeeShareBp = updateProtocolFeeShareBp;
41
+ exports.updateMarketConfig = updateMarketConfig;
42
+ exports.suspendMarket = suspendMarket;
43
+ exports.resumeMarket = resumeMarket;
44
+ exports.suspendTradingSymbol = suspendTradingSymbol;
45
+ exports.resumeTradingSymbol = resumeTradingSymbol;
46
+ exports.removeTradingSymbol = removeTradingSymbol;
47
+ exports.createTradingOrder = createTradingOrder;
48
+ exports.cancelTradingOrder = cancelTradingOrder;
49
+ exports.releaseCollateral = releaseCollateral;
50
+ exports.increaseCollateral = increaseCollateral;
51
+ exports.collectPositionFundingFee = collectPositionFundingFee;
52
+ exports.createTradingOrderWithBidReceipt = createTradingOrderWithBidReceipt;
53
+ exports.reduceOptionCollateralPositionSize = reduceOptionCollateralPositionSize;
54
+ exports.matchTradingOrder = matchTradingOrder;
55
+ exports.managerCancelOrderByOpenInterestLimit = managerCancelOrderByOpenInterestLimit;
56
+ exports.cancelLinkedOrders = cancelLinkedOrders;
57
+ exports.managerReducePosition = managerReducePosition;
58
+ exports.managerClearPosition = managerClearPosition;
59
+ exports.managerCloseOptionPosition = managerCloseOptionPosition;
60
+ exports.getTradingFeeConfig = getTradingFeeConfig;
61
+ exports.getLiquidationInfo = getLiquidationInfo;
62
+ exports.liquidate = liquidate;
63
+ exports.settleReceiptCollateral = settleReceiptCollateral;
64
+ exports.updateFundingRate = updateFundingRate;
65
+ exports.getExpiredPositionInfo = getExpiredPositionInfo;
66
+ exports.initUserAccountTable = initUserAccountTable;
67
+ exports.createUserAccount = createUserAccount;
68
+ exports.addDelegateUser = addDelegateUser;
69
+ exports.removeDelegateUser = removeDelegateUser;
70
+ exports.removeUserAccount = removeUserAccount;
71
+ exports.depositUserAccount = depositUserAccount;
72
+ exports.withdrawUserAccount = withdrawUserAccount;
73
+ exports.executeOrder_ = executeOrder_;
74
+ exports.executeOptionCollateralOrder_ = executeOptionCollateralOrder_;
75
+ exports.removeLinkedOrders = removeLinkedOrders;
76
+ exports.removeLinkedOrder_ = removeLinkedOrder_;
77
+ exports.getMutOrders = getMutOrders;
78
+ exports.getOrders = getOrders;
79
+ exports.takeOrderByOrderIdAndPrice = takeOrderByOrderIdAndPrice;
80
+ exports.getLinkedPosition = getLinkedPosition;
81
+ exports.checkCollateralEnoughWhenAddingPosition = checkCollateralEnoughWhenAddingPosition;
82
+ exports.checkCollateralEnoughWhenReducingPosition = checkCollateralEnoughWhenReducingPosition;
83
+ exports.checkOptionCollateralEnough = checkOptionCollateralEnough;
84
+ exports.checkReserveEnough = checkReserveEnough;
85
+ exports.adjustMarketInfoUserOrderSize = adjustMarketInfoUserOrderSize;
86
+ exports.adjustMarketInfoUserPositionSize = adjustMarketInfoUserPositionSize;
87
+ exports.exerciseBidReceipts = exerciseBidReceipts;
88
+ exports.returnToUser = returnToUser;
89
+ exports.checkPositionUserMatched = checkPositionUserMatched;
90
+ exports.getUserOrders = getUserOrders;
91
+ exports.getUserPositions = getUserPositions;
92
+ exports.getAllPositions = getAllPositions;
93
+ exports.getActiveOrdersByOrderTag = getActiveOrdersByOrderTag;
94
+ exports.getActiveOrdersByOrderTagAndCtoken = getActiveOrdersByOrderTagAndCtoken;
95
+ exports.getMaxReleasingCollateralAmount = getMaxReleasingCollateralAmount;
96
+ exports.getEstimatedLiquidationPriceAndPnl = getEstimatedLiquidationPriceAndPnl;
97
+ exports.calculateTradingFeeRateMbp = calculateTradingFeeRateMbp;
98
+ exports.getMarketsBcs = getMarketsBcs;
99
+ exports.getMutMarketId = getMutMarketId;
100
+ exports.tradingSymbolExists = tradingSymbolExists;
101
+ exports.deprecated = deprecated;
102
+ /**************************************************************
103
+ * THIS FILE IS GENERATED AND SHOULD NOT BE MANUALLY MODIFIED *
104
+ **************************************************************/
105
+ const index_1 = require("../utils/index");
106
+ const bcs_1 = require("@mysten/sui/bcs");
107
+ const object = __importStar(require("./deps/sui/object"));
108
+ const linked_object_table = __importStar(require("./deps/typus/linked_object_table"));
109
+ const type_name = __importStar(require("./deps/std/type_name"));
110
+ const object_table = __importStar(require("./deps/sui/object_table"));
111
+ const keyed_big_vector = __importStar(require("./deps/typus/keyed_big_vector"));
112
+ const $moduleName = "@typus/perp::trading";
113
+ exports.MarketRegistry = new index_1.MoveStruct({
114
+ name: `${$moduleName}::MarketRegistry`,
115
+ fields: {
116
+ id: object.UID,
117
+ /** The UID of the referral registry. */
118
+ referral_registry: object.UID,
119
+ /** A linked object table of markets. */
120
+ markets: linked_object_table.LinkedObjectTable(bcs_1.bcs.u64()),
121
+ /** The number of markets. */
122
+ num_market: bcs_1.bcs.u64(),
123
+ /** Padding for future use. */
124
+ u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64()),
125
+ },
126
+ });
127
+ exports.Markets = new index_1.MoveStruct({
128
+ name: `${$moduleName}::Markets`,
129
+ fields: {
130
+ id: object.UID,
131
+ /** The index of the market. */
132
+ index: bcs_1.bcs.u64(),
133
+ /** The type name of the LP token. */
134
+ lp_token_type: type_name.TypeName,
135
+ /** The type name of the quote token. */
136
+ quote_token_type: type_name.TypeName,
137
+ /** Whether the market is active. */
138
+ is_active: bcs_1.bcs.bool(),
139
+ /** The protocol's share of the trading fee in basis points. */
140
+ protocol_fee_share_bp: bcs_1.bcs.u64(),
141
+ /** A vector of the symbols in the market. */
142
+ symbols: bcs_1.bcs.vector(type_name.TypeName),
143
+ /** An object table of the symbol markets. */
144
+ symbol_markets: object_table.ObjectTable,
145
+ /** Padding for future use. */
146
+ u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64()),
147
+ },
148
+ });
149
+ exports.MarketInfo = new index_1.MoveStruct({
150
+ name: `${$moduleName}::MarketInfo`,
151
+ fields: {
152
+ /** Whether the market is active. */
153
+ is_active: bcs_1.bcs.bool(),
154
+ /** The number of decimals for the size. */
155
+ size_decimal: bcs_1.bcs.u64(),
156
+ /** The total size of long positions. */
157
+ user_long_position_size: bcs_1.bcs.u64(),
158
+ /** The total size of short positions. */
159
+ user_short_position_size: bcs_1.bcs.u64(),
160
+ /** The next position ID. */
161
+ next_position_id: bcs_1.bcs.u64(),
162
+ /** The total size of long orders. */
163
+ user_long_order_size: bcs_1.bcs.u64(),
164
+ /** The total size of short orders. */
165
+ user_short_order_size: bcs_1.bcs.u64(),
166
+ /** The next order ID. */
167
+ next_order_id: bcs_1.bcs.u64(),
168
+ /** The timestamp of the last funding. */
169
+ last_funding_ts_ms: bcs_1.bcs.u64(),
170
+ /** The sign of the cumulative funding rate index. */
171
+ cumulative_funding_rate_index_sign: bcs_1.bcs.bool(),
172
+ /** The cumulative funding rate index. */
173
+ cumulative_funding_rate_index: bcs_1.bcs.u64(),
174
+ /** The previous timestamp of the last funding. */
175
+ previous_last_funding_ts_ms: bcs_1.bcs.u64(),
176
+ /** The previous sign of the cumulative funding rate index. */
177
+ previous_cumulative_funding_rate_index_sign: bcs_1.bcs.bool(),
178
+ /** The previous cumulative funding rate index. */
179
+ previous_cumulative_funding_rate_index: bcs_1.bcs.u64(),
180
+ /** Padding for future use. */
181
+ u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64()),
182
+ },
183
+ });
184
+ exports.MarketConfig = new index_1.MoveStruct({
185
+ name: `${$moduleName}::MarketConfig`,
186
+ fields: {
187
+ /** The address of the oracle. */
188
+ oracle_id: bcs_1.bcs.Address,
189
+ /** The maximum leverage in mega basis points. */
190
+ max_leverage_mbp: bcs_1.bcs.u64(),
191
+ /** The maximum leverage for option collateral in mega basis points. */
192
+ option_collateral_max_leverage_mbp: bcs_1.bcs.u64(),
193
+ /** The minimum size of an order. */
194
+ min_size: bcs_1.bcs.u64(),
195
+ /** The lot size of an order. */
196
+ lot_size: bcs_1.bcs.u64(),
197
+ /** The trading fee configuration. */
198
+ trading_fee_config: bcs_1.bcs.vector(bcs_1.bcs.u64()),
199
+ /** The basic funding rate. */
200
+ basic_funding_rate: bcs_1.bcs.u64(),
201
+ /** The funding interval in milliseconds. */
202
+ funding_interval_ts_ms: bcs_1.bcs.u64(),
203
+ /** The experience multiplier. */
204
+ exp_multiplier: bcs_1.bcs.u64(),
205
+ /** The cool down threshold in milliseconds. */
206
+ cool_down_threshold_ts_ms: bcs_1.bcs.u64(),
207
+ /** Padding for future use. */
208
+ u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64()),
209
+ },
210
+ });
211
+ exports.SymbolMarket = new index_1.MoveStruct({
212
+ name: `${$moduleName}::SymbolMarket`,
213
+ fields: {
214
+ id: object.UID,
215
+ /** A keyed big vector of user positions. */
216
+ user_positions: keyed_big_vector.KeyedBigVector,
217
+ /** The UID of the token collateral orders. */
218
+ token_collateral_orders: object.UID,
219
+ /** The UID of the option collateral orders. */
220
+ option_collateral_orders: object.UID,
221
+ /** Information about the market. */
222
+ market_info: exports.MarketInfo,
223
+ /** Configuration for the market. */
224
+ market_config: exports.MarketConfig,
225
+ },
226
+ });
227
+ exports.USD = new index_1.MoveStruct({
228
+ name: `${$moduleName}::USD`,
229
+ fields: {
230
+ dummy_field: bcs_1.bcs.bool(),
231
+ },
232
+ });
233
+ exports.NewMarketsEvent = new index_1.MoveStruct({
234
+ name: `${$moduleName}::NewMarketsEvent`,
235
+ fields: {
236
+ index: bcs_1.bcs.u64(),
237
+ lp_token_type: type_name.TypeName,
238
+ quote_token_type: type_name.TypeName,
239
+ protocol_fee_share_bp: bcs_1.bcs.u64(),
240
+ u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64()),
241
+ },
242
+ });
243
+ exports.AddTradingSymbolEvent = new index_1.MoveStruct({
244
+ name: `${$moduleName}::AddTradingSymbolEvent`,
245
+ fields: {
246
+ index: bcs_1.bcs.u64(),
247
+ base_token_type: type_name.TypeName,
248
+ market_info: exports.MarketInfo,
249
+ market_config: exports.MarketConfig,
250
+ u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64()),
251
+ },
252
+ });
253
+ exports.UpdateProtocolFeeShareBpEvent = new index_1.MoveStruct({
254
+ name: `${$moduleName}::UpdateProtocolFeeShareBpEvent`,
255
+ fields: {
256
+ index: bcs_1.bcs.u64(),
257
+ previous_protocol_fee_share_bp: bcs_1.bcs.u64(),
258
+ new_protocol_fee_share_bp: bcs_1.bcs.u64(),
259
+ u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64()),
260
+ },
261
+ });
262
+ exports.UpdateMarketConfigEvent = new index_1.MoveStruct({
263
+ name: `${$moduleName}::UpdateMarketConfigEvent`,
264
+ fields: {
265
+ index: bcs_1.bcs.u64(),
266
+ base_token_type: type_name.TypeName,
267
+ previous_market_config: exports.MarketConfig,
268
+ new_market_config: exports.MarketConfig,
269
+ u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64()),
270
+ },
271
+ });
272
+ exports.SuspendMarketEvent = new index_1.MoveStruct({
273
+ name: `${$moduleName}::SuspendMarketEvent`,
274
+ fields: {
275
+ index: bcs_1.bcs.u64(),
276
+ u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64()),
277
+ },
278
+ });
279
+ exports.ResumeMarketEvent = new index_1.MoveStruct({
280
+ name: `${$moduleName}::ResumeMarketEvent`,
281
+ fields: {
282
+ index: bcs_1.bcs.u64(),
283
+ u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64()),
284
+ },
285
+ });
286
+ exports.SuspendTradingSymbolEvent = new index_1.MoveStruct({
287
+ name: `${$moduleName}::SuspendTradingSymbolEvent`,
288
+ fields: {
289
+ index: bcs_1.bcs.u64(),
290
+ suspended_base_token: type_name.TypeName,
291
+ u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64()),
292
+ },
293
+ });
294
+ exports.ResumeTradingSymbolEvent = new index_1.MoveStruct({
295
+ name: `${$moduleName}::ResumeTradingSymbolEvent`,
296
+ fields: {
297
+ index: bcs_1.bcs.u64(),
298
+ resumed_base_token: type_name.TypeName,
299
+ u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64()),
300
+ },
301
+ });
302
+ exports.CreateTradingOrderEvent = new index_1.MoveStruct({
303
+ name: `${$moduleName}::CreateTradingOrderEvent`,
304
+ fields: {
305
+ user: bcs_1.bcs.Address,
306
+ market_index: bcs_1.bcs.u64(),
307
+ pool_index: bcs_1.bcs.u64(),
308
+ collateral_token: type_name.TypeName,
309
+ base_token: type_name.TypeName,
310
+ order_id: bcs_1.bcs.u64(),
311
+ linked_position_id: bcs_1.bcs.option(bcs_1.bcs.u64()),
312
+ collateral_amount: bcs_1.bcs.u64(),
313
+ leverage_mbp: bcs_1.bcs.u64(),
314
+ reduce_only: bcs_1.bcs.bool(),
315
+ is_long: bcs_1.bcs.bool(),
316
+ is_stop_order: bcs_1.bcs.bool(),
317
+ size: bcs_1.bcs.u64(),
318
+ trigger_price: bcs_1.bcs.u64(),
319
+ filled: bcs_1.bcs.bool(),
320
+ filled_price: bcs_1.bcs.option(bcs_1.bcs.u64()),
321
+ u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64()),
322
+ },
323
+ });
324
+ exports.CancelTradingOrderEvent = new index_1.MoveStruct({
325
+ name: `${$moduleName}::CancelTradingOrderEvent`,
326
+ fields: {
327
+ user: bcs_1.bcs.Address,
328
+ market_index: bcs_1.bcs.u64(),
329
+ order_id: bcs_1.bcs.u64(),
330
+ trigger_price: bcs_1.bcs.u64(),
331
+ collateral_token: type_name.TypeName,
332
+ base_token: type_name.TypeName,
333
+ released_collateral_amount: bcs_1.bcs.u64(),
334
+ u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64()),
335
+ },
336
+ });
337
+ exports.ReleaseCollateralEvent = new index_1.MoveStruct({
338
+ name: `${$moduleName}::ReleaseCollateralEvent`,
339
+ fields: {
340
+ user: bcs_1.bcs.Address,
341
+ market_index: bcs_1.bcs.u64(),
342
+ pool_index: bcs_1.bcs.u64(),
343
+ position_id: bcs_1.bcs.u64(),
344
+ collateral_token: type_name.TypeName,
345
+ base_token: type_name.TypeName,
346
+ released_collateral_amount: bcs_1.bcs.u64(),
347
+ remaining_collateral_amount: bcs_1.bcs.u64(),
348
+ u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64()),
349
+ },
350
+ });
351
+ exports.IncreaseCollateralEvent = new index_1.MoveStruct({
352
+ name: `${$moduleName}::IncreaseCollateralEvent`,
353
+ fields: {
354
+ user: bcs_1.bcs.Address,
355
+ market_index: bcs_1.bcs.u64(),
356
+ pool_index: bcs_1.bcs.u64(),
357
+ position_id: bcs_1.bcs.u64(),
358
+ collateral_token: type_name.TypeName,
359
+ base_token: type_name.TypeName,
360
+ increased_collateral_amount: bcs_1.bcs.u64(),
361
+ remaining_collateral_amount: bcs_1.bcs.u64(),
362
+ u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64()),
363
+ },
364
+ });
365
+ exports.CreateTradingOrderWithBidReceiptsEvent = new index_1.MoveStruct({
366
+ name: `${$moduleName}::CreateTradingOrderWithBidReceiptsEvent`,
367
+ fields: {
368
+ user: bcs_1.bcs.Address,
369
+ market_index: bcs_1.bcs.u64(),
370
+ pool_index: bcs_1.bcs.u64(),
371
+ dov_index: bcs_1.bcs.u64(),
372
+ collateral_token: type_name.TypeName,
373
+ base_token: type_name.TypeName,
374
+ order_id: bcs_1.bcs.u64(),
375
+ collateral_in_deposit_token: bcs_1.bcs.u64(),
376
+ is_long: bcs_1.bcs.bool(),
377
+ size: bcs_1.bcs.u64(),
378
+ trigger_price: bcs_1.bcs.u64(),
379
+ filled: bcs_1.bcs.bool(),
380
+ filled_price: bcs_1.bcs.option(bcs_1.bcs.u64()),
381
+ u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64()),
382
+ },
383
+ });
384
+ exports.MatchTradingOrderEvent = new index_1.MoveStruct({
385
+ name: `${$moduleName}::MatchTradingOrderEvent`,
386
+ fields: {
387
+ collateral_token: type_name.TypeName,
388
+ base_token: type_name.TypeName,
389
+ matched_order_ids: bcs_1.bcs.vector(bcs_1.bcs.u64()),
390
+ u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64()),
391
+ },
392
+ });
393
+ exports.ManagerCancelOrdersEvent = new index_1.MoveStruct({
394
+ name: `${$moduleName}::ManagerCancelOrdersEvent`,
395
+ fields: {
396
+ reason: bcs_1.bcs.string(),
397
+ collateral_token: type_name.TypeName,
398
+ base_token: type_name.TypeName,
399
+ order_type_tag: bcs_1.bcs.u8(),
400
+ order_ids: bcs_1.bcs.vector(bcs_1.bcs.u64()),
401
+ order_sizes: bcs_1.bcs.vector(bcs_1.bcs.u64()),
402
+ order_prices: bcs_1.bcs.vector(bcs_1.bcs.u64()),
403
+ u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64()),
404
+ },
405
+ });
406
+ exports.ManagerReducePositionEvent = new index_1.MoveStruct({
407
+ name: `${$moduleName}::ManagerReducePositionEvent`,
408
+ fields: {
409
+ user: bcs_1.bcs.Address,
410
+ collateral_token: type_name.TypeName,
411
+ base_token: type_name.TypeName,
412
+ position_id: bcs_1.bcs.u64(),
413
+ reduced_size: bcs_1.bcs.u64(),
414
+ collateral_price: bcs_1.bcs.u64(),
415
+ trading_price: bcs_1.bcs.u64(),
416
+ cancelled_order_ids: bcs_1.bcs.vector(bcs_1.bcs.u64()),
417
+ u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64()),
418
+ },
419
+ });
420
+ exports.ManagerClearPositionEvent = new index_1.MoveStruct({
421
+ name: `${$moduleName}::ManagerClearPositionEvent`,
422
+ fields: {
423
+ user: bcs_1.bcs.Address,
424
+ collateral_token: type_name.TypeName,
425
+ base_token: type_name.TypeName,
426
+ position_id: bcs_1.bcs.u64(),
427
+ removed_size: bcs_1.bcs.u64(),
428
+ cancelled_order_ids: bcs_1.bcs.vector(bcs_1.bcs.u64()),
429
+ u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64()),
430
+ },
431
+ });
432
+ exports.ManagerCloseOptionPositionEvent = new index_1.MoveStruct({
433
+ name: `${$moduleName}::ManagerCloseOptionPositionEvent`,
434
+ fields: {
435
+ user: bcs_1.bcs.Address,
436
+ collateral_token: type_name.TypeName,
437
+ base_token: type_name.TypeName,
438
+ position_id: bcs_1.bcs.u64(),
439
+ order_size: bcs_1.bcs.u64(),
440
+ collateral_price: bcs_1.bcs.u64(),
441
+ trading_price: bcs_1.bcs.u64(),
442
+ cancelled_order_ids: bcs_1.bcs.vector(bcs_1.bcs.u64()),
443
+ u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64()),
444
+ },
445
+ });
446
+ exports.LiquidationInfo = new index_1.MoveStruct({
447
+ name: `${$moduleName}::LiquidationInfo`,
448
+ fields: {
449
+ position_id: bcs_1.bcs.u64(),
450
+ dov_index: bcs_1.bcs.option(bcs_1.bcs.u64()),
451
+ bid_token: bcs_1.bcs.option(type_name.TypeName),
452
+ },
453
+ });
454
+ exports.LiquidateEvent = new index_1.MoveStruct({
455
+ name: `${$moduleName}::LiquidateEvent`,
456
+ fields: {
457
+ user: bcs_1.bcs.Address,
458
+ collateral_token: type_name.TypeName,
459
+ base_token: type_name.TypeName,
460
+ position_id: bcs_1.bcs.u64(),
461
+ collateral_price: bcs_1.bcs.u64(),
462
+ trading_price: bcs_1.bcs.u64(),
463
+ realized_liquidator_fee: bcs_1.bcs.u64(),
464
+ realized_value_for_lp_pool: bcs_1.bcs.u64(),
465
+ u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64()),
466
+ },
467
+ });
468
+ exports.SettleReceiptCollateralEvent = new index_1.MoveStruct({
469
+ name: `${$moduleName}::SettleReceiptCollateralEvent`,
470
+ fields: {
471
+ user: bcs_1.bcs.Address,
472
+ collateral_token: type_name.TypeName,
473
+ bid_token: type_name.TypeName,
474
+ position_id: bcs_1.bcs.u64(),
475
+ realized_liquidator_fee: bcs_1.bcs.u64(),
476
+ remaining_unrealized_sign: bcs_1.bcs.bool(),
477
+ remaining_unrealized_value: bcs_1.bcs.u64(),
478
+ remaining_value_for_lp_pool: bcs_1.bcs.u64(),
479
+ u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64()),
480
+ },
481
+ });
482
+ exports.UpdateFundingRateEvent = new index_1.MoveStruct({
483
+ name: `${$moduleName}::UpdateFundingRateEvent`,
484
+ fields: {
485
+ base_token: type_name.TypeName,
486
+ new_funding_ts_ms: bcs_1.bcs.u64(),
487
+ intervals_count: bcs_1.bcs.u64(),
488
+ previous_cumulative_funding_rate_index_sign: bcs_1.bcs.bool(),
489
+ previous_cumulative_funding_rate_index: bcs_1.bcs.u64(),
490
+ cumulative_funding_rate_index_sign: bcs_1.bcs.bool(),
491
+ cumulative_funding_rate_index: bcs_1.bcs.u64(),
492
+ u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64()),
493
+ },
494
+ });
495
+ exports.ExpiredPositionInfo = new index_1.MoveStruct({
496
+ name: `${$moduleName}::ExpiredPositionInfo`,
497
+ fields: {
498
+ position_id: bcs_1.bcs.u64(),
499
+ dov_index: bcs_1.bcs.u64(),
500
+ collateral_token: type_name.TypeName,
501
+ bid_token: type_name.TypeName,
502
+ base_token: type_name.TypeName,
503
+ },
504
+ });
505
+ exports.RealizeOptionPositionEvent = new index_1.MoveStruct({
506
+ name: `${$moduleName}::RealizeOptionPositionEvent`,
507
+ fields: {
508
+ position_user: bcs_1.bcs.Address,
509
+ position_id: bcs_1.bcs.u64(),
510
+ trading_symbol: type_name.TypeName,
511
+ realize_balance_token_type: type_name.TypeName,
512
+ exercise_balance_value: bcs_1.bcs.u64(),
513
+ user_remaining_value: bcs_1.bcs.u64(),
514
+ user_remaining_in_usd: bcs_1.bcs.u64(),
515
+ realized_loss_value: bcs_1.bcs.u64(),
516
+ fee_value: bcs_1.bcs.u64(),
517
+ realized_trading_fee: bcs_1.bcs.u64(),
518
+ realized_borrow_fee: bcs_1.bcs.u64(),
519
+ u64_padding: bcs_1.bcs.vector(bcs_1.bcs.u64()),
520
+ },
521
+ });
522
+ function init(options = {}) {
523
+ const packageAddress = options.package ?? "@typus/perp";
524
+ return (tx) => tx.moveCall({
525
+ package: packageAddress,
526
+ module: "trading",
527
+ function: "init",
528
+ });
529
+ }
530
+ /** [Authorized Function] Creates a new market. */
531
+ function newMarkets(options) {
532
+ const packageAddress = options.package ?? "@typus/perp";
533
+ const argumentsTypes = [`${packageAddress}::admin::Version`, `${packageAddress}::trading::MarketRegistry`, "u64"];
534
+ const parameterNames = ["version", "registry", "protocolFeeShareBp"];
535
+ return (tx) => tx.moveCall({
536
+ package: packageAddress,
537
+ module: "trading",
538
+ function: "new_markets",
539
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
540
+ typeArguments: options.typeArguments,
541
+ });
542
+ }
543
+ /** [Authorized Function] Adds a new trading symbol to a market. */
544
+ function addTradingSymbol(options) {
545
+ const packageAddress = options.package ?? "@typus/perp";
546
+ const argumentsTypes = [
547
+ `${packageAddress}::admin::Version`,
548
+ `${packageAddress}::trading::MarketRegistry`,
549
+ "u64",
550
+ "u64",
551
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
552
+ "u64",
553
+ "u64",
554
+ "u64",
555
+ "u64",
556
+ "vector<u64>",
557
+ "u64",
558
+ "u64",
559
+ "u64",
560
+ "u64",
561
+ "u64",
562
+ "u64",
563
+ "u64",
564
+ "vector<u64>",
565
+ "u64",
566
+ "u64",
567
+ "0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock",
568
+ ];
569
+ const parameterNames = [
570
+ "version",
571
+ "registry",
572
+ "marketIndex",
573
+ "sizeDecimal",
574
+ "oracle",
575
+ "maxLeverageMbp",
576
+ "optionCollateralMaxLeverageMbp",
577
+ "minSize",
578
+ "lotSize",
579
+ "tradingFeeConfig",
580
+ "basicFundingRate",
581
+ "fundingIntervalTsMs",
582
+ "expMultiplier",
583
+ "maxBuyOpenInterest",
584
+ "maxSellOpenInterest",
585
+ "maintenanceMarginRateBp",
586
+ "optionMaintenanceMarginRateBp",
587
+ "optionTradingFeeConfig",
588
+ "tradingFeeFormulaVersion",
589
+ "profitVaultFlag",
590
+ ];
591
+ return (tx) => tx.moveCall({
592
+ package: packageAddress,
593
+ module: "trading",
594
+ function: "add_trading_symbol",
595
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
596
+ typeArguments: options.typeArguments,
597
+ });
598
+ }
599
+ /** [Authorized Function] Updates the protocol fee share. */
600
+ function updateProtocolFeeShareBp(options) {
601
+ const packageAddress = options.package ?? "@typus/perp";
602
+ const argumentsTypes = [
603
+ `${packageAddress}::admin::Version`,
604
+ `${packageAddress}::trading::MarketRegistry`,
605
+ "u64",
606
+ "u64",
607
+ ];
608
+ const parameterNames = ["version", "registry", "marketIndex", "protocolFeeShareBp"];
609
+ return (tx) => tx.moveCall({
610
+ package: packageAddress,
611
+ module: "trading",
612
+ function: "update_protocol_fee_share_bp",
613
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
614
+ });
615
+ }
616
+ /** [Authorized Function] Updates the market configuration. */
617
+ function updateMarketConfig(options) {
618
+ const packageAddress = options.package ?? "@typus/perp";
619
+ const argumentsTypes = [
620
+ `${packageAddress}::admin::Version`,
621
+ `${packageAddress}::trading::MarketRegistry`,
622
+ "u64",
623
+ "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<address>",
624
+ "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>",
625
+ "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>",
626
+ "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>",
627
+ "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>",
628
+ "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<vector<u64>>",
629
+ "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>",
630
+ "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>",
631
+ "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>",
632
+ "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>",
633
+ "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>",
634
+ "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>",
635
+ "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>",
636
+ "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<vector<u64>>",
637
+ "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>",
638
+ "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>",
639
+ ];
640
+ const parameterNames = [
641
+ "version",
642
+ "registry",
643
+ "marketIndex",
644
+ "oracleId",
645
+ "maxLeverageMbp",
646
+ "optionCollateralMaxLeverageMbp",
647
+ "minSize",
648
+ "lotSize",
649
+ "tradingFeeConfig",
650
+ "basicFundingRate",
651
+ "fundingIntervalTsMs",
652
+ "expMultiplier",
653
+ "maxBuyOpenInterest",
654
+ "maxSellOpenInterest",
655
+ "maintenanceMarginRateBp",
656
+ "optionCollateralMaintenanceMarginRateBp",
657
+ "optionCollateralTradingFeeConfig",
658
+ "tradingFeeFormulaVersion",
659
+ "profitVaultFlag",
660
+ ];
661
+ return (tx) => tx.moveCall({
662
+ package: packageAddress,
663
+ module: "trading",
664
+ function: "update_market_config",
665
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
666
+ typeArguments: options.typeArguments,
667
+ });
668
+ }
669
+ /** [Authorized Function] Suspends a market. */
670
+ function suspendMarket(options) {
671
+ const packageAddress = options.package ?? "@typus/perp";
672
+ const argumentsTypes = [`${packageAddress}::admin::Version`, `${packageAddress}::trading::MarketRegistry`, "u64"];
673
+ const parameterNames = ["version", "registry", "marketIndex"];
674
+ return (tx) => tx.moveCall({
675
+ package: packageAddress,
676
+ module: "trading",
677
+ function: "suspend_market",
678
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
679
+ });
680
+ }
681
+ /** [Authorized Function] Resumes a market. */
682
+ function resumeMarket(options) {
683
+ const packageAddress = options.package ?? "@typus/perp";
684
+ const argumentsTypes = [`${packageAddress}::admin::Version`, `${packageAddress}::trading::MarketRegistry`, "u64"];
685
+ const parameterNames = ["version", "registry", "marketIndex"];
686
+ return (tx) => tx.moveCall({
687
+ package: packageAddress,
688
+ module: "trading",
689
+ function: "resume_market",
690
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
691
+ });
692
+ }
693
+ /** [Authorized Function] Suspends a trading symbol. */
694
+ function suspendTradingSymbol(options) {
695
+ const packageAddress = options.package ?? "@typus/perp";
696
+ const argumentsTypes = [`${packageAddress}::admin::Version`, `${packageAddress}::trading::MarketRegistry`, "u64"];
697
+ const parameterNames = ["version", "registry", "marketIndex"];
698
+ return (tx) => tx.moveCall({
699
+ package: packageAddress,
700
+ module: "trading",
701
+ function: "suspend_trading_symbol",
702
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
703
+ typeArguments: options.typeArguments,
704
+ });
705
+ }
706
+ /** [Authorized Function] Resumes a trading symbol. */
707
+ function resumeTradingSymbol(options) {
708
+ const packageAddress = options.package ?? "@typus/perp";
709
+ const argumentsTypes = [`${packageAddress}::admin::Version`, `${packageAddress}::trading::MarketRegistry`, "u64"];
710
+ const parameterNames = ["version", "registry", "marketIndex"];
711
+ return (tx) => tx.moveCall({
712
+ package: packageAddress,
713
+ module: "trading",
714
+ function: "resume_trading_symbol",
715
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
716
+ typeArguments: options.typeArguments,
717
+ });
718
+ }
719
+ /** [Authorized Function] Removes a trading symbol from a market. */
720
+ function removeTradingSymbol(options) {
721
+ const packageAddress = options.package ?? "@typus/perp";
722
+ const argumentsTypes = [`${packageAddress}::admin::Version`, `${packageAddress}::trading::MarketRegistry`, "u64"];
723
+ const parameterNames = ["version", "registry", "marketIndex"];
724
+ return (tx) => tx.moveCall({
725
+ package: packageAddress,
726
+ module: "trading",
727
+ function: "remove_trading_symbol",
728
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
729
+ typeArguments: options.typeArguments,
730
+ });
731
+ }
732
+ /** [User Function] Creates a new trading order. */
733
+ function createTradingOrder(options) {
734
+ const packageAddress = options.package ?? "@typus/perp";
735
+ const argumentsTypes = [
736
+ `${packageAddress}::admin::Version`,
737
+ `${packageAddress}::trading::MarketRegistry`,
738
+ `${packageAddress}::lp_pool::Registry`,
739
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
740
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
741
+ "0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock",
742
+ "u64",
743
+ "u64",
744
+ "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>",
745
+ `0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<${options.typeArguments[0]}>`,
746
+ "bool",
747
+ "bool",
748
+ "bool",
749
+ "u64",
750
+ "u64",
751
+ ];
752
+ const parameterNames = [
753
+ "version",
754
+ "registry",
755
+ "poolRegistry",
756
+ "typusOracleCToken",
757
+ "typusOracleTradingSymbol",
758
+ "marketIndex",
759
+ "poolIndex",
760
+ "linkedPositionId",
761
+ "collateral",
762
+ "reduceOnly",
763
+ "isLong",
764
+ "isStopOrder",
765
+ "size",
766
+ "triggerPrice",
767
+ ];
768
+ return (tx) => tx.moveCall({
769
+ package: packageAddress,
770
+ module: "trading",
771
+ function: "create_trading_order",
772
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
773
+ typeArguments: options.typeArguments,
774
+ });
775
+ }
776
+ /** [User Function] Cancels a trading order. */
777
+ function cancelTradingOrder(options) {
778
+ const packageAddress = options.package ?? "@typus/perp";
779
+ const argumentsTypes = [
780
+ `${packageAddress}::admin::Version`,
781
+ `${packageAddress}::trading::MarketRegistry`,
782
+ "u64",
783
+ "u64",
784
+ "u64",
785
+ "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<address>",
786
+ ];
787
+ const parameterNames = ["version", "registry", "marketIndex", "orderId", "triggerPrice", "orderUser"];
788
+ return (tx) => tx.moveCall({
789
+ package: packageAddress,
790
+ module: "trading",
791
+ function: "cancel_trading_order",
792
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
793
+ typeArguments: options.typeArguments,
794
+ });
795
+ }
796
+ /**
797
+ * [User Function] Releases collateral from a position. Safe with
798
+ * `check_position_user_matched`
799
+ */
800
+ function releaseCollateral(options) {
801
+ const packageAddress = options.package ?? "@typus/perp";
802
+ const argumentsTypes = [
803
+ `${packageAddress}::admin::Version`,
804
+ `${packageAddress}::trading::MarketRegistry`,
805
+ `${packageAddress}::lp_pool::Registry`,
806
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
807
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
808
+ "0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock",
809
+ "u64",
810
+ "u64",
811
+ "u64",
812
+ "u64",
813
+ ];
814
+ const parameterNames = [
815
+ "version",
816
+ "registry",
817
+ "poolRegistry",
818
+ "typusOracleCToken",
819
+ "typusOracleTradingSymbol",
820
+ "marketIndex",
821
+ "poolIndex",
822
+ "positionId",
823
+ "releaseAmount",
824
+ ];
825
+ return (tx) => tx.moveCall({
826
+ package: packageAddress,
827
+ module: "trading",
828
+ function: "release_collateral",
829
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
830
+ typeArguments: options.typeArguments,
831
+ });
832
+ }
833
+ /**
834
+ * [User Function] Increases the collateral of a position. Safe with
835
+ * `check_position_user_matched`
836
+ */
837
+ function increaseCollateral(options) {
838
+ const packageAddress = options.package ?? "@typus/perp";
839
+ const argumentsTypes = [
840
+ `${packageAddress}::admin::Version`,
841
+ `${packageAddress}::trading::MarketRegistry`,
842
+ `${packageAddress}::lp_pool::Registry`,
843
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
844
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
845
+ "0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock",
846
+ "u64",
847
+ "u64",
848
+ "u64",
849
+ `0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<${options.typeArguments[0]}>`,
850
+ ];
851
+ const parameterNames = [
852
+ "version",
853
+ "registry",
854
+ "poolRegistry",
855
+ "typusOracleCToken",
856
+ "typusOracleTradingSymbol",
857
+ "marketIndex",
858
+ "poolIndex",
859
+ "positionId",
860
+ "collateral",
861
+ ];
862
+ return (tx) => tx.moveCall({
863
+ package: packageAddress,
864
+ module: "trading",
865
+ function: "increase_collateral",
866
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
867
+ typeArguments: options.typeArguments,
868
+ });
869
+ }
870
+ /** Collects the funding fee for a position. Safe with `check_position_user_matched` */
871
+ function collectPositionFundingFee(options) {
872
+ const packageAddress = options.package ?? "@typus/perp";
873
+ const argumentsTypes = [
874
+ `${packageAddress}::admin::Version`,
875
+ `${packageAddress}::trading::MarketRegistry`,
876
+ `${packageAddress}::lp_pool::Registry`,
877
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
878
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
879
+ "0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock",
880
+ "u64",
881
+ "u64",
882
+ "u64",
883
+ ];
884
+ const parameterNames = [
885
+ "version",
886
+ "registry",
887
+ "poolRegistry",
888
+ "typusOracleCToken",
889
+ "typusOracleTradingSymbol",
890
+ "marketIndex",
891
+ "poolIndex",
892
+ "positionId",
893
+ ];
894
+ return (tx) => tx.moveCall({
895
+ package: packageAddress,
896
+ module: "trading",
897
+ function: "collect_position_funding_fee",
898
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
899
+ typeArguments: options.typeArguments,
900
+ });
901
+ }
902
+ /** [User Function] Creates a new trading order with a bid receipt as collateral. */
903
+ function createTradingOrderWithBidReceipt(options) {
904
+ const packageAddress = options.package ?? "@typus/perp";
905
+ const argumentsTypes = [
906
+ `${packageAddress}::admin::Version`,
907
+ `${packageAddress}::trading::MarketRegistry`,
908
+ `${packageAddress}::lp_pool::Registry`,
909
+ "0x6c9a394a43844fc09d9617bc8a8e775a4521f0e28e83de1da780d043a498671f::typus_dov_single::Registry",
910
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
911
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
912
+ "0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock",
913
+ "u64",
914
+ "u64",
915
+ "0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::ecosystem::Version",
916
+ "0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::user::TypusUserRegistry",
917
+ "0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::leaderboard::TypusLeaderboardRegistry",
918
+ "0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::tails_staking::TailsStakingRegistry",
919
+ `${packageAddress}::competition::CompetitionConfig`,
920
+ "0x908a10789a1a6953e0b73a997c10e3552f7ce4e2907afd00a334ed74bd973ded::vault::TypusBidReceipt",
921
+ "bool",
922
+ ];
923
+ const parameterNames = [
924
+ "version",
925
+ "registry",
926
+ "poolRegistry",
927
+ "dovRegistry",
928
+ "typusOracleCToken",
929
+ "typusOracleTradingSymbol",
930
+ "marketIndex",
931
+ "poolIndex",
932
+ "typusEcosystemVersion",
933
+ "typusUserRegistry",
934
+ "typusLeaderboardRegistry",
935
+ "tailsStakingRegistry",
936
+ "competitionConfig",
937
+ "collateralBidReceipt",
938
+ "isLong",
939
+ ];
940
+ return (tx) => tx.moveCall({
941
+ package: packageAddress,
942
+ module: "trading",
943
+ function: "create_trading_order_with_bid_receipt",
944
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
945
+ typeArguments: options.typeArguments,
946
+ });
947
+ }
948
+ /** [User Function] Reduces the size of an option collateral position. */
949
+ function reduceOptionCollateralPositionSize(options) {
950
+ const packageAddress = options.package ?? "@typus/perp";
951
+ const argumentsTypes = [
952
+ `${packageAddress}::admin::Version`,
953
+ `${packageAddress}::trading::MarketRegistry`,
954
+ `${packageAddress}::lp_pool::Registry`,
955
+ "0x6c9a394a43844fc09d9617bc8a8e775a4521f0e28e83de1da780d043a498671f::typus_dov_single::Registry",
956
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
957
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
958
+ "0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock",
959
+ "u64",
960
+ "u64",
961
+ "0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::ecosystem::Version",
962
+ "0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::user::TypusUserRegistry",
963
+ "0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::leaderboard::TypusLeaderboardRegistry",
964
+ "0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::tails_staking::TailsStakingRegistry",
965
+ `${packageAddress}::competition::CompetitionConfig`,
966
+ "u64",
967
+ "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>",
968
+ ];
969
+ const parameterNames = [
970
+ "version",
971
+ "registry",
972
+ "poolRegistry",
973
+ "dovRegistry",
974
+ "typusOracleCToken",
975
+ "typusOracleTradingSymbol",
976
+ "marketIndex",
977
+ "poolIndex",
978
+ "typusEcosystemVersion",
979
+ "typusUserRegistry",
980
+ "typusLeaderboardRegistry",
981
+ "tailsStakingRegistry",
982
+ "competitionConfig",
983
+ "positionId",
984
+ "orderSize",
985
+ ];
986
+ return (tx) => tx.moveCall({
987
+ package: packageAddress,
988
+ module: "trading",
989
+ function: "reduce_option_collateral_position_size",
990
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
991
+ typeArguments: options.typeArguments,
992
+ });
993
+ }
994
+ /** [Authorized Function] Matches trading orders. */
995
+ function matchTradingOrder(options) {
996
+ const packageAddress = options.package ?? "@typus/perp";
997
+ const argumentsTypes = [
998
+ `${packageAddress}::admin::Version`,
999
+ `${packageAddress}::trading::MarketRegistry`,
1000
+ `${packageAddress}::lp_pool::Registry`,
1001
+ `${packageAddress}::profit_vault::ProfitVault`,
1002
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
1003
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
1004
+ "0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock",
1005
+ "u64",
1006
+ "u64",
1007
+ "0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::ecosystem::Version",
1008
+ "0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::user::TypusUserRegistry",
1009
+ "0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::leaderboard::TypusLeaderboardRegistry",
1010
+ "0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::tails_staking::TailsStakingRegistry",
1011
+ `${packageAddress}::competition::CompetitionConfig`,
1012
+ "u8",
1013
+ "u64",
1014
+ "u64",
1015
+ ];
1016
+ const parameterNames = [
1017
+ "version",
1018
+ "registry",
1019
+ "poolRegistry",
1020
+ "profitVault",
1021
+ "typusOracleCToken",
1022
+ "typusOracleTradingSymbol",
1023
+ "marketIndex",
1024
+ "poolIndex",
1025
+ "typusEcosystemVersion",
1026
+ "typusUserRegistry",
1027
+ "typusLeaderboardRegistry",
1028
+ "tailsStakingRegistry",
1029
+ "competitionConfig",
1030
+ "orderTypeTag",
1031
+ "triggerPrice",
1032
+ "maxOperationCount",
1033
+ ];
1034
+ return (tx) => tx.moveCall({
1035
+ package: packageAddress,
1036
+ module: "trading",
1037
+ function: "match_trading_order",
1038
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1039
+ typeArguments: options.typeArguments,
1040
+ });
1041
+ }
1042
+ /** [Authorized Function] Cancels orders by the manager due to open interest limit. */
1043
+ function managerCancelOrderByOpenInterestLimit(options) {
1044
+ const packageAddress = options.package ?? "@typus/perp";
1045
+ const argumentsTypes = [
1046
+ `${packageAddress}::admin::Version`,
1047
+ `${packageAddress}::trading::MarketRegistry`,
1048
+ `${packageAddress}::lp_pool::Registry`,
1049
+ "0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock",
1050
+ "u64",
1051
+ "u64",
1052
+ "u8",
1053
+ "u64",
1054
+ "u64",
1055
+ ];
1056
+ const parameterNames = [
1057
+ "version",
1058
+ "registry",
1059
+ "poolRegistry",
1060
+ "marketIndex",
1061
+ "poolIndex",
1062
+ "orderTypeTag",
1063
+ "triggerPrice",
1064
+ "maxOperationCount",
1065
+ ];
1066
+ return (tx) => tx.moveCall({
1067
+ package: packageAddress,
1068
+ module: "trading",
1069
+ function: "manager_cancel_order_by_open_interest_limit",
1070
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1071
+ typeArguments: options.typeArguments,
1072
+ });
1073
+ }
1074
+ /** [Authorized Function] Cancels linked orders. */
1075
+ function cancelLinkedOrders(options) {
1076
+ const packageAddress = options.package ?? "@typus/perp";
1077
+ const argumentsTypes = [
1078
+ `${packageAddress}::admin::Version`,
1079
+ `${packageAddress}::trading::MarketRegistry`,
1080
+ "u64",
1081
+ "vector<u64>",
1082
+ "vector<u64>",
1083
+ "address",
1084
+ ];
1085
+ const parameterNames = ["version", "registry", "marketIndex", "linkedOrderIds", "linkedOrderPrices", "user"];
1086
+ return (tx) => tx.moveCall({
1087
+ package: packageAddress,
1088
+ module: "trading",
1089
+ function: "cancel_linked_orders",
1090
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1091
+ typeArguments: options.typeArguments,
1092
+ });
1093
+ }
1094
+ /** [Authorized Function] Reduces a position by the manager. */
1095
+ function managerReducePosition(options) {
1096
+ const packageAddress = options.package ?? "@typus/perp";
1097
+ const argumentsTypes = [
1098
+ `${packageAddress}::admin::Version`,
1099
+ `${packageAddress}::trading::MarketRegistry`,
1100
+ `${packageAddress}::lp_pool::Registry`,
1101
+ `${packageAddress}::profit_vault::ProfitVault`,
1102
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
1103
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
1104
+ "0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock",
1105
+ "u64",
1106
+ "u64",
1107
+ "0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::ecosystem::Version",
1108
+ "0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::user::TypusUserRegistry",
1109
+ "0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::leaderboard::TypusLeaderboardRegistry",
1110
+ "0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::tails_staking::TailsStakingRegistry",
1111
+ `${packageAddress}::competition::CompetitionConfig`,
1112
+ "u64",
1113
+ "u64",
1114
+ ];
1115
+ const parameterNames = [
1116
+ "version",
1117
+ "registry",
1118
+ "poolRegistry",
1119
+ "profitVault",
1120
+ "typusOracleCToken",
1121
+ "typusOracleTradingSymbol",
1122
+ "marketIndex",
1123
+ "poolIndex",
1124
+ "typusEcosystemVersion",
1125
+ "typusUserRegistry",
1126
+ "typusLeaderboardRegistry",
1127
+ "tailsStakingRegistry",
1128
+ "competitionConfig",
1129
+ "positionId",
1130
+ "reducedRatioBp",
1131
+ ];
1132
+ return (tx) => tx.moveCall({
1133
+ package: packageAddress,
1134
+ module: "trading",
1135
+ function: "manager_reduce_position",
1136
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1137
+ typeArguments: options.typeArguments,
1138
+ });
1139
+ }
1140
+ function managerClearPosition(options) {
1141
+ const packageAddress = options.package ?? "@typus/perp";
1142
+ const argumentsTypes = [
1143
+ `${packageAddress}::admin::Version`,
1144
+ `${packageAddress}::trading::MarketRegistry`,
1145
+ `${packageAddress}::lp_pool::Registry`,
1146
+ "u64",
1147
+ "u64",
1148
+ "u64",
1149
+ ];
1150
+ const parameterNames = ["version", "registry", "poolRegistry", "marketIndex", "poolIndex", "positionId"];
1151
+ return (tx) => tx.moveCall({
1152
+ package: packageAddress,
1153
+ module: "trading",
1154
+ function: "manager_clear_position",
1155
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1156
+ typeArguments: options.typeArguments,
1157
+ });
1158
+ }
1159
+ /** [Authorized Function] Closes an option position by the manager. */
1160
+ function managerCloseOptionPosition(options) {
1161
+ const packageAddress = options.package ?? "@typus/perp";
1162
+ const argumentsTypes = [
1163
+ `${packageAddress}::admin::Version`,
1164
+ `${packageAddress}::trading::MarketRegistry`,
1165
+ `${packageAddress}::lp_pool::Registry`,
1166
+ "0x6c9a394a43844fc09d9617bc8a8e775a4521f0e28e83de1da780d043a498671f::typus_dov_single::Registry",
1167
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
1168
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
1169
+ "0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock",
1170
+ "u64",
1171
+ "u64",
1172
+ "0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::ecosystem::Version",
1173
+ "0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::user::TypusUserRegistry",
1174
+ "0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::leaderboard::TypusLeaderboardRegistry",
1175
+ "0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::tails_staking::TailsStakingRegistry",
1176
+ `${packageAddress}::competition::CompetitionConfig`,
1177
+ "u64",
1178
+ ];
1179
+ const parameterNames = [
1180
+ "version",
1181
+ "registry",
1182
+ "poolRegistry",
1183
+ "dovRegistry",
1184
+ "typusOracleCToken",
1185
+ "typusOracleTradingSymbol",
1186
+ "marketIndex",
1187
+ "poolIndex",
1188
+ "typusEcosystemVersion",
1189
+ "typusUserRegistry",
1190
+ "typusLeaderboardRegistry",
1191
+ "tailsStakingRegistry",
1192
+ "competitionConfig",
1193
+ "positionId",
1194
+ ];
1195
+ return (tx) => tx.moveCall({
1196
+ package: packageAddress,
1197
+ module: "trading",
1198
+ function: "manager_close_option_position",
1199
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1200
+ typeArguments: options.typeArguments,
1201
+ });
1202
+ }
1203
+ function getTradingFeeConfig(options) {
1204
+ const packageAddress = options.package ?? "@typus/perp";
1205
+ const argumentsTypes = [`${packageAddress}::trading::MarketConfig`, "bool"];
1206
+ const parameterNames = ["marketConfig", "isOptionPosition"];
1207
+ return (tx) => tx.moveCall({
1208
+ package: packageAddress,
1209
+ module: "trading",
1210
+ function: "get_trading_fee_config",
1211
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1212
+ });
1213
+ }
1214
+ /** [View Function] Gets the liquidation information for a position. */
1215
+ function getLiquidationInfo(options) {
1216
+ const packageAddress = options.package ?? "@typus/perp";
1217
+ const argumentsTypes = [
1218
+ `${packageAddress}::admin::Version`,
1219
+ `${packageAddress}::trading::MarketRegistry`,
1220
+ `${packageAddress}::lp_pool::Registry`,
1221
+ "0x6c9a394a43844fc09d9617bc8a8e775a4521f0e28e83de1da780d043a498671f::typus_dov_single::Registry",
1222
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
1223
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
1224
+ "0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock",
1225
+ "u64",
1226
+ "u64",
1227
+ "bool",
1228
+ ];
1229
+ const parameterNames = [
1230
+ "version",
1231
+ "registry",
1232
+ "poolRegistry",
1233
+ "dovRegistry",
1234
+ "typusOracleCToken",
1235
+ "typusOracleTradingSymbol",
1236
+ "marketIndex",
1237
+ "poolIndex",
1238
+ "getAll",
1239
+ ];
1240
+ return (tx) => tx.moveCall({
1241
+ package: packageAddress,
1242
+ module: "trading",
1243
+ function: "get_liquidation_info",
1244
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1245
+ typeArguments: options.typeArguments,
1246
+ });
1247
+ }
1248
+ /** [Authorized Function] Liquidates a position. */
1249
+ function liquidate(options) {
1250
+ const packageAddress = options.package ?? "@typus/perp";
1251
+ const argumentsTypes = [
1252
+ `${packageAddress}::admin::Version`,
1253
+ `${packageAddress}::trading::MarketRegistry`,
1254
+ `${packageAddress}::lp_pool::Registry`,
1255
+ "0x6c9a394a43844fc09d9617bc8a8e775a4521f0e28e83de1da780d043a498671f::typus_dov_single::Registry",
1256
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
1257
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
1258
+ "u64",
1259
+ "u64",
1260
+ "0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock",
1261
+ "u64",
1262
+ ];
1263
+ const parameterNames = [
1264
+ "version",
1265
+ "registry",
1266
+ "poolRegistry",
1267
+ "dovRegistry",
1268
+ "typusOracleCToken",
1269
+ "typusOracleTradingSymbol",
1270
+ "marketIndex",
1271
+ "poolIndex",
1272
+ "positionId",
1273
+ ];
1274
+ return (tx) => tx.moveCall({
1275
+ package: packageAddress,
1276
+ module: "trading",
1277
+ function: "liquidate",
1278
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1279
+ typeArguments: options.typeArguments,
1280
+ });
1281
+ }
1282
+ /** [Authorized Function] Settles receipt collateral. */
1283
+ function settleReceiptCollateral(options) {
1284
+ const packageAddress = options.package ?? "@typus/perp";
1285
+ const argumentsTypes = [
1286
+ `${packageAddress}::admin::Version`,
1287
+ `${packageAddress}::trading::MarketRegistry`,
1288
+ `${packageAddress}::lp_pool::Registry`,
1289
+ "0x6c9a394a43844fc09d9617bc8a8e775a4521f0e28e83de1da780d043a498671f::typus_dov_single::Registry",
1290
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
1291
+ "0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock",
1292
+ "u64",
1293
+ "u64",
1294
+ ];
1295
+ const parameterNames = ["version", "registry", "poolRegistry", "dovRegistry", "typusOracleCToken", "marketIndex", "poolIndex"];
1296
+ return (tx) => tx.moveCall({
1297
+ package: packageAddress,
1298
+ module: "trading",
1299
+ function: "settle_receipt_collateral",
1300
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1301
+ typeArguments: options.typeArguments,
1302
+ });
1303
+ }
1304
+ /** [Authorized Function] Updates the funding rate. */
1305
+ function updateFundingRate(options) {
1306
+ const packageAddress = options.package ?? "@typus/perp";
1307
+ const argumentsTypes = [
1308
+ `${packageAddress}::admin::Version`,
1309
+ `${packageAddress}::trading::MarketRegistry`,
1310
+ `${packageAddress}::lp_pool::Registry`,
1311
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
1312
+ "0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock",
1313
+ "u64",
1314
+ "u64",
1315
+ ];
1316
+ const parameterNames = ["version", "registry", "poolRegistry", "typusOracleTradingSymbol", "marketIndex", "poolIndex"];
1317
+ return (tx) => tx.moveCall({
1318
+ package: packageAddress,
1319
+ module: "trading",
1320
+ function: "update_funding_rate",
1321
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1322
+ typeArguments: options.typeArguments,
1323
+ });
1324
+ }
1325
+ function getExpiredPositionInfo(options) {
1326
+ const packageAddress = options.package ?? "@typus/perp";
1327
+ const argumentsTypes = [
1328
+ `${packageAddress}::admin::Version`,
1329
+ `${packageAddress}::trading::MarketRegistry`,
1330
+ `${packageAddress}::lp_pool::Registry`,
1331
+ "0x6c9a394a43844fc09d9617bc8a8e775a4521f0e28e83de1da780d043a498671f::typus_dov_single::Registry",
1332
+ "u64",
1333
+ "u64",
1334
+ ];
1335
+ const parameterNames = ["version", "registry", "poolRegistry", "dovRegistry", "marketIndex", "poolIndex"];
1336
+ return (tx) => tx.moveCall({
1337
+ package: packageAddress,
1338
+ module: "trading",
1339
+ function: "get_expired_position_info",
1340
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1341
+ });
1342
+ }
1343
+ /**
1344
+ * [Authorized Function] Initializes the user account table. TODO: can be removed,
1345
+ * only use once.
1346
+ */
1347
+ function initUserAccountTable(options) {
1348
+ const packageAddress = options.package ?? "@typus/perp";
1349
+ const argumentsTypes = [`${packageAddress}::admin::Version`, `${packageAddress}::trading::MarketRegistry`, "u64"];
1350
+ const parameterNames = ["version", "registry", "marketIndex"];
1351
+ return (tx) => tx.moveCall({
1352
+ package: packageAddress,
1353
+ module: "trading",
1354
+ function: "init_user_account_table",
1355
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1356
+ });
1357
+ }
1358
+ /** [User Function] Creates a new user account. */
1359
+ function createUserAccount(options) {
1360
+ const packageAddress = options.package ?? "@typus/perp";
1361
+ const argumentsTypes = [`${packageAddress}::admin::Version`, `${packageAddress}::trading::MarketRegistry`, "u64"];
1362
+ const parameterNames = ["version", "registry", "marketIndex"];
1363
+ return (tx) => tx.moveCall({
1364
+ package: packageAddress,
1365
+ module: "trading",
1366
+ function: "create_user_account",
1367
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1368
+ });
1369
+ }
1370
+ /** [User Function] Adds a delegate user to a user account. Safe with `check_owner` */
1371
+ function addDelegateUser(options) {
1372
+ const packageAddress = options.package ?? "@typus/perp";
1373
+ const argumentsTypes = [
1374
+ `${packageAddress}::admin::Version`,
1375
+ `${packageAddress}::trading::MarketRegistry`,
1376
+ "u64",
1377
+ "address",
1378
+ ];
1379
+ const parameterNames = ["version", "registry", "marketIndex", "user"];
1380
+ return (tx) => tx.moveCall({
1381
+ package: packageAddress,
1382
+ module: "trading",
1383
+ function: "add_delegate_user",
1384
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1385
+ });
1386
+ }
1387
+ /**
1388
+ * [User Function] Remove a delegate user to a user account. Safe with
1389
+ * `check_owner`
1390
+ */
1391
+ function removeDelegateUser(options) {
1392
+ const packageAddress = options.package ?? "@typus/perp";
1393
+ const argumentsTypes = [
1394
+ `${packageAddress}::admin::Version`,
1395
+ `${packageAddress}::trading::MarketRegistry`,
1396
+ "u64",
1397
+ "address",
1398
+ ];
1399
+ const parameterNames = ["version", "registry", "marketIndex", "user"];
1400
+ return (tx) => tx.moveCall({
1401
+ package: packageAddress,
1402
+ module: "trading",
1403
+ function: "remove_delegate_user",
1404
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1405
+ });
1406
+ }
1407
+ /** [User Function] Removes a user account. Safe with `UserAccountCap` */
1408
+ function removeUserAccount(options) {
1409
+ const packageAddress = options.package ?? "@typus/perp";
1410
+ const argumentsTypes = [
1411
+ `${packageAddress}::admin::Version`,
1412
+ `${packageAddress}::trading::MarketRegistry`,
1413
+ "u64",
1414
+ `${packageAddress}::user_account::UserAccountCap`,
1415
+ ];
1416
+ const parameterNames = ["version", "registry", "marketIndex", "userAccountCap"];
1417
+ return (tx) => tx.moveCall({
1418
+ package: packageAddress,
1419
+ module: "trading",
1420
+ function: "remove_user_account",
1421
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1422
+ });
1423
+ }
1424
+ /** Deposits collateral into a user account. Safe with `check_owner` */
1425
+ function depositUserAccount(options) {
1426
+ const packageAddress = options.package ?? "@typus/perp";
1427
+ const argumentsTypes = [
1428
+ `${packageAddress}::admin::Version`,
1429
+ `${packageAddress}::trading::MarketRegistry`,
1430
+ "u64",
1431
+ `0x0000000000000000000000000000000000000000000000000000000000000002::coin::Coin<${options.typeArguments[0]}>`,
1432
+ ];
1433
+ const parameterNames = ["version", "registry", "marketIndex", "collateral"];
1434
+ return (tx) => tx.moveCall({
1435
+ package: packageAddress,
1436
+ module: "trading",
1437
+ function: "deposit_user_account",
1438
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1439
+ typeArguments: options.typeArguments,
1440
+ });
1441
+ }
1442
+ /** Withdraws collateral from a user account. Safe with `UserAccountCap` */
1443
+ function withdrawUserAccount(options) {
1444
+ const packageAddress = options.package ?? "@typus/perp";
1445
+ const argumentsTypes = [
1446
+ `${packageAddress}::admin::Version`,
1447
+ `${packageAddress}::trading::MarketRegistry`,
1448
+ "u64",
1449
+ "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>",
1450
+ `${packageAddress}::user_account::UserAccountCap`,
1451
+ ];
1452
+ const parameterNames = ["version", "registry", "marketIndex", "amount", "userAccountCap"];
1453
+ return (tx) => tx.moveCall({
1454
+ package: packageAddress,
1455
+ module: "trading",
1456
+ function: "withdraw_user_account",
1457
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1458
+ typeArguments: options.typeArguments,
1459
+ });
1460
+ }
1461
+ function executeOrder_(options) {
1462
+ const packageAddress = options.package ?? "@typus/perp";
1463
+ const argumentsTypes = [
1464
+ `${packageAddress}::admin::Version`,
1465
+ "u64",
1466
+ `${packageAddress}::trading::SymbolMarket`,
1467
+ `${packageAddress}::lp_pool::LiquidityPool`,
1468
+ `${packageAddress}::profit_vault::ProfitVault`,
1469
+ `${packageAddress}::position::TradingOrder`,
1470
+ "u64",
1471
+ "u64",
1472
+ "u64",
1473
+ "u64",
1474
+ "u64",
1475
+ "0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::ecosystem::Version",
1476
+ "0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::user::TypusUserRegistry",
1477
+ "0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::leaderboard::TypusLeaderboardRegistry",
1478
+ "0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::tails_staking::TailsStakingRegistry",
1479
+ `${packageAddress}::competition::CompetitionConfig`,
1480
+ "0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock",
1481
+ ];
1482
+ const parameterNames = [
1483
+ "version",
1484
+ "marketIndex",
1485
+ "symbolMarket",
1486
+ "liquidityPool",
1487
+ "profitVault",
1488
+ "order",
1489
+ "protocolFeeShareBp",
1490
+ "collateralOraclePrice",
1491
+ "collateralOraclePriceDecimal",
1492
+ "tradingPairOraclePrice",
1493
+ "tradingPairOraclePriceDecimal",
1494
+ "typusEcosystemVersion",
1495
+ "typusUserRegistry",
1496
+ "typusLeaderboardRegistry",
1497
+ "tailsStakingRegistry",
1498
+ "competitionConfig",
1499
+ ];
1500
+ return (tx) => tx.moveCall({
1501
+ package: packageAddress,
1502
+ module: "trading",
1503
+ function: "execute_order_",
1504
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1505
+ typeArguments: options.typeArguments,
1506
+ });
1507
+ }
1508
+ function executeOptionCollateralOrder_(options) {
1509
+ const packageAddress = options.package ?? "@typus/perp";
1510
+ const argumentsTypes = [
1511
+ `${packageAddress}::admin::Version`,
1512
+ "0x6c9a394a43844fc09d9617bc8a8e775a4521f0e28e83de1da780d043a498671f::typus_dov_single::Registry",
1513
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
1514
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
1515
+ `${packageAddress}::trading::SymbolMarket`,
1516
+ `${packageAddress}::lp_pool::LiquidityPool`,
1517
+ `${packageAddress}::position::TradingOrder`,
1518
+ "u64",
1519
+ "u64",
1520
+ "u64",
1521
+ "u64",
1522
+ "u64",
1523
+ "u64",
1524
+ "0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::ecosystem::Version",
1525
+ "0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::user::TypusUserRegistry",
1526
+ "0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::leaderboard::TypusLeaderboardRegistry",
1527
+ "0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277::tails_staking::TailsStakingRegistry",
1528
+ `${packageAddress}::competition::CompetitionConfig`,
1529
+ "0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock",
1530
+ ];
1531
+ const parameterNames = [
1532
+ "version",
1533
+ "dovRegistry",
1534
+ "typusOracleTradingSymbol",
1535
+ "typusOracleCToken",
1536
+ "symbolMarket",
1537
+ "liquidityPool",
1538
+ "order",
1539
+ "protocolFeeShareBp",
1540
+ "collateralOraclePrice",
1541
+ "collateralOraclePriceDecimal",
1542
+ "tradingPairOraclePrice",
1543
+ "tradingPairOraclePriceDecimal",
1544
+ "tradingFeeMbp",
1545
+ "typusEcosystemVersion",
1546
+ "typusUserRegistry",
1547
+ "typusLeaderboardRegistry",
1548
+ "tailsStakingRegistry",
1549
+ "competitionConfig",
1550
+ ];
1551
+ return (tx) => tx.moveCall({
1552
+ package: packageAddress,
1553
+ module: "trading",
1554
+ function: "execute_option_collateral_order_",
1555
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1556
+ typeArguments: options.typeArguments,
1557
+ });
1558
+ }
1559
+ function removeLinkedOrders(options) {
1560
+ const packageAddress = options.package ?? "@typus/perp";
1561
+ const argumentsTypes = [
1562
+ `${packageAddress}::admin::Version`,
1563
+ "u64",
1564
+ `${packageAddress}::trading::SymbolMarket`,
1565
+ "vector<u64>",
1566
+ "vector<u64>",
1567
+ "address",
1568
+ ];
1569
+ const parameterNames = ["version", "marketIndex", "symbolMarket", "linkedOrderIds", "linkedOrderPrices", "user"];
1570
+ return (tx) => tx.moveCall({
1571
+ package: packageAddress,
1572
+ module: "trading",
1573
+ function: "remove_linked_orders",
1574
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1575
+ typeArguments: options.typeArguments,
1576
+ });
1577
+ }
1578
+ function removeLinkedOrder_(options) {
1579
+ const packageAddress = options.package ?? "@typus/perp";
1580
+ const argumentsTypes = [
1581
+ `${packageAddress}::admin::Version`,
1582
+ "u64",
1583
+ `${packageAddress}::trading::SymbolMarket`,
1584
+ `${packageAddress}::position::TradingOrder`,
1585
+ "address",
1586
+ ];
1587
+ const parameterNames = ["version", "marketIndex", "symbolMarket", "order", "user"];
1588
+ return (tx) => tx.moveCall({
1589
+ package: packageAddress,
1590
+ module: "trading",
1591
+ function: "remove_linked_order_",
1592
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1593
+ typeArguments: options.typeArguments,
1594
+ });
1595
+ }
1596
+ function getMutOrders(options) {
1597
+ const packageAddress = options.package ?? "@typus/perp";
1598
+ const argumentsTypes = [`${packageAddress}::trading::SymbolMarket`, "bool", "u8"];
1599
+ const parameterNames = ["symbolMarket", "isTokenCollateral", "orderTypeTag"];
1600
+ return (tx) => tx.moveCall({
1601
+ package: packageAddress,
1602
+ module: "trading",
1603
+ function: "get_mut_orders",
1604
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1605
+ });
1606
+ }
1607
+ function getOrders(options) {
1608
+ const packageAddress = options.package ?? "@typus/perp";
1609
+ const argumentsTypes = [`${packageAddress}::trading::SymbolMarket`, "bool", "u8"];
1610
+ const parameterNames = ["symbolMarket", "isTokenCollateral", "orderTypeTag"];
1611
+ return (tx) => tx.moveCall({
1612
+ package: packageAddress,
1613
+ module: "trading",
1614
+ function: "get_orders",
1615
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1616
+ });
1617
+ }
1618
+ function takeOrderByOrderIdAndPrice(options) {
1619
+ const packageAddress = options.package ?? "@typus/perp";
1620
+ const argumentsTypes = [`${packageAddress}::trading::SymbolMarket`, "u64", "u64", "bool", "address"];
1621
+ const parameterNames = ["symbolMarket", "triggerPrice", "orderId", "isTokenCollateral", "user"];
1622
+ return (tx) => tx.moveCall({
1623
+ package: packageAddress,
1624
+ module: "trading",
1625
+ function: "take_order_by_order_id_and_price",
1626
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1627
+ });
1628
+ }
1629
+ function getLinkedPosition(options) {
1630
+ const packageAddress = options.package ?? "@typus/perp";
1631
+ const argumentsTypes = [
1632
+ `${packageAddress}::trading::SymbolMarket`,
1633
+ "0x0000000000000000000000000000000000000000000000000000000000000001::option::Option<u64>",
1634
+ "address",
1635
+ ];
1636
+ const parameterNames = ["symbolMarket", "linkedPositionId", "user"];
1637
+ return (tx) => tx.moveCall({
1638
+ package: packageAddress,
1639
+ module: "trading",
1640
+ function: "get_linked_position",
1641
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1642
+ });
1643
+ }
1644
+ function checkCollateralEnoughWhenAddingPosition(options) {
1645
+ const packageAddress = options.package ?? "@typus/perp";
1646
+ const argumentsTypes = [
1647
+ `${packageAddress}::trading::SymbolMarket`,
1648
+ `${packageAddress}::position::TradingOrder`,
1649
+ "u64",
1650
+ "u64",
1651
+ "u64",
1652
+ "u64",
1653
+ "u64",
1654
+ ];
1655
+ const parameterNames = [
1656
+ "symbolMarket",
1657
+ "order",
1658
+ "collateralOraclePrice",
1659
+ "collateralOraclePriceDecimal",
1660
+ "tradingPairOraclePrice",
1661
+ "tradingPairOraclePriceDecimal",
1662
+ "tradingFeeMbp",
1663
+ ];
1664
+ return (tx) => tx.moveCall({
1665
+ package: packageAddress,
1666
+ module: "trading",
1667
+ function: "check_collateral_enough_when_adding_position",
1668
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1669
+ typeArguments: options.typeArguments,
1670
+ });
1671
+ }
1672
+ function checkCollateralEnoughWhenReducingPosition(options) {
1673
+ const packageAddress = options.package ?? "@typus/perp";
1674
+ const argumentsTypes = [
1675
+ `${packageAddress}::trading::SymbolMarket`,
1676
+ `${packageAddress}::position::TradingOrder`,
1677
+ "u64",
1678
+ "u64",
1679
+ "u64",
1680
+ "u64",
1681
+ "u64",
1682
+ ];
1683
+ const parameterNames = [
1684
+ "symbolMarket",
1685
+ "order",
1686
+ "collateralOraclePrice",
1687
+ "collateralOraclePriceDecimal",
1688
+ "tradingPairOraclePrice",
1689
+ "tradingPairOraclePriceDecimal",
1690
+ "tradingFeeMbp",
1691
+ ];
1692
+ return (tx) => tx.moveCall({
1693
+ package: packageAddress,
1694
+ module: "trading",
1695
+ function: "check_collateral_enough_when_reducing_position",
1696
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1697
+ typeArguments: options.typeArguments,
1698
+ });
1699
+ }
1700
+ function checkOptionCollateralEnough(options) {
1701
+ const packageAddress = options.package ?? "@typus/perp";
1702
+ const argumentsTypes = [
1703
+ "0x6c9a394a43844fc09d9617bc8a8e775a4521f0e28e83de1da780d043a498671f::typus_dov_single::Registry",
1704
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
1705
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
1706
+ `${packageAddress}::trading::SymbolMarket`,
1707
+ `${packageAddress}::position::TradingOrder`,
1708
+ "u64",
1709
+ "u64",
1710
+ "u64",
1711
+ "u64",
1712
+ "u64",
1713
+ "0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock",
1714
+ ];
1715
+ const parameterNames = [
1716
+ "dovRegistry",
1717
+ "typusOracleTradingSymbol",
1718
+ "typusOracleCToken",
1719
+ "symbolMarket",
1720
+ "order",
1721
+ "collateralOraclePrice",
1722
+ "collateralOraclePriceDecimal",
1723
+ "tradingPairOraclePrice",
1724
+ "tradingPairOraclePriceDecimal",
1725
+ "tradingFeeMbp",
1726
+ ];
1727
+ return (tx) => tx.moveCall({
1728
+ package: packageAddress,
1729
+ module: "trading",
1730
+ function: "check_option_collateral_enough",
1731
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1732
+ typeArguments: options.typeArguments,
1733
+ });
1734
+ }
1735
+ function checkReserveEnough(options) {
1736
+ const packageAddress = options.package ?? "@typus/perp";
1737
+ const argumentsTypes = [
1738
+ `${packageAddress}::trading::SymbolMarket`,
1739
+ `${packageAddress}::lp_pool::LiquidityPool`,
1740
+ `${packageAddress}::position::TradingOrder`,
1741
+ "u64",
1742
+ "u64",
1743
+ "u64",
1744
+ "u64",
1745
+ ];
1746
+ const parameterNames = [
1747
+ "symbolMarket",
1748
+ "liquidityPool",
1749
+ "order",
1750
+ "collateralOraclePrice",
1751
+ "collateralOraclePriceDecimal",
1752
+ "tradingPairOraclePrice",
1753
+ "tradingPairOraclePriceDecimal",
1754
+ ];
1755
+ return (tx) => tx.moveCall({
1756
+ package: packageAddress,
1757
+ module: "trading",
1758
+ function: "check_reserve_enough",
1759
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1760
+ typeArguments: options.typeArguments,
1761
+ });
1762
+ }
1763
+ function adjustMarketInfoUserOrderSize(options) {
1764
+ const packageAddress = options.package ?? "@typus/perp";
1765
+ const argumentsTypes = [`${packageAddress}::trading::SymbolMarket`, "bool", "bool", "u64"];
1766
+ const parameterNames = ["symbolMarket", "long", "filledOrCancelled", "size"];
1767
+ return (tx) => tx.moveCall({
1768
+ package: packageAddress,
1769
+ module: "trading",
1770
+ function: "adjust_market_info_user_order_size",
1771
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1772
+ });
1773
+ }
1774
+ function adjustMarketInfoUserPositionSize(options) {
1775
+ const packageAddress = options.package ?? "@typus/perp";
1776
+ const argumentsTypes = [`${packageAddress}::trading::SymbolMarket`, "bool", "bool", "u64"];
1777
+ const parameterNames = ["symbolMarket", "filledOrderIsLong", "reducingPosition", "size"];
1778
+ return (tx) => tx.moveCall({
1779
+ package: packageAddress,
1780
+ module: "trading",
1781
+ function: "adjust_market_info_user_position_size",
1782
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1783
+ });
1784
+ }
1785
+ function exerciseBidReceipts(options) {
1786
+ const packageAddress = options.package ?? "@typus/perp";
1787
+ const argumentsTypes = [
1788
+ "0x6c9a394a43844fc09d9617bc8a8e775a4521f0e28e83de1da780d043a498671f::typus_dov_single::Registry",
1789
+ "vector<0x908a10789a1a6953e0b73a997c10e3552f7ce4e2907afd00a334ed74bd973ded::vault::TypusBidReceipt>",
1790
+ ];
1791
+ const parameterNames = ["dovRegistry", "bidReceipts"];
1792
+ return (tx) => tx.moveCall({
1793
+ package: packageAddress,
1794
+ module: "trading",
1795
+ function: "exercise_bid_receipts",
1796
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1797
+ typeArguments: options.typeArguments,
1798
+ });
1799
+ }
1800
+ function returnToUser(options) {
1801
+ const packageAddress = options.package ?? "@typus/perp";
1802
+ const argumentsTypes = [
1803
+ "0x0000000000000000000000000000000000000000000000000000000000000002::object::UID",
1804
+ `0x0000000000000000000000000000000000000000000000000000000000000002::balance::Balance<${options.typeArguments[0]}>`,
1805
+ "address",
1806
+ ];
1807
+ const parameterNames = ["marketId", "balance", "user"];
1808
+ return (tx) => tx.moveCall({
1809
+ package: packageAddress,
1810
+ module: "trading",
1811
+ function: "return_to_user",
1812
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1813
+ typeArguments: options.typeArguments,
1814
+ });
1815
+ }
1816
+ function checkPositionUserMatched(options) {
1817
+ const packageAddress = options.package ?? "@typus/perp";
1818
+ const argumentsTypes = [`${packageAddress}::position::Position`, "address"];
1819
+ const parameterNames = ["position", "user"];
1820
+ return (tx) => tx.moveCall({
1821
+ package: packageAddress,
1822
+ module: "trading",
1823
+ function: "check_position_user_matched",
1824
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1825
+ });
1826
+ }
1827
+ /** [View Function] Gets the user's orders. */
1828
+ function getUserOrders(options) {
1829
+ const packageAddress = options.package ?? "@typus/perp";
1830
+ const argumentsTypes = [
1831
+ `${packageAddress}::admin::Version`,
1832
+ `${packageAddress}::trading::MarketRegistry`,
1833
+ "u64",
1834
+ "address",
1835
+ ];
1836
+ const parameterNames = ["version", "registry", "marketIndex", "user"];
1837
+ return (tx) => tx.moveCall({
1838
+ package: packageAddress,
1839
+ module: "trading",
1840
+ function: "get_user_orders",
1841
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1842
+ });
1843
+ }
1844
+ /** [View Function] Gets the user's positions. */
1845
+ function getUserPositions(options) {
1846
+ const packageAddress = options.package ?? "@typus/perp";
1847
+ const argumentsTypes = [
1848
+ `${packageAddress}::admin::Version`,
1849
+ `${packageAddress}::trading::MarketRegistry`,
1850
+ "u64",
1851
+ "address",
1852
+ ];
1853
+ const parameterNames = ["version", "registry", "marketIndex", "user"];
1854
+ return (tx) => tx.moveCall({
1855
+ package: packageAddress,
1856
+ module: "trading",
1857
+ function: "get_user_positions",
1858
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1859
+ });
1860
+ }
1861
+ /** [View Function] Gets all positions. */
1862
+ function getAllPositions(options) {
1863
+ const packageAddress = options.package ?? "@typus/perp";
1864
+ const argumentsTypes = [
1865
+ `${packageAddress}::admin::Version`,
1866
+ `${packageAddress}::trading::MarketRegistry`,
1867
+ "u64",
1868
+ "u64",
1869
+ "u64",
1870
+ ];
1871
+ const parameterNames = ["version", "registry", "marketIndex", "slice", "page"];
1872
+ return (tx) => tx.moveCall({
1873
+ package: packageAddress,
1874
+ module: "trading",
1875
+ function: "get_all_positions",
1876
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1877
+ typeArguments: options.typeArguments,
1878
+ });
1879
+ }
1880
+ /** [View Function] Gets active orders by order type tag. */
1881
+ function getActiveOrdersByOrderTag(options) {
1882
+ const packageAddress = options.package ?? "@typus/perp";
1883
+ const argumentsTypes = [
1884
+ `${packageAddress}::admin::Version`,
1885
+ `${packageAddress}::trading::MarketRegistry`,
1886
+ "u64",
1887
+ "u8",
1888
+ ];
1889
+ const parameterNames = ["version", "registry", "marketIndex", "orderTypeTag"];
1890
+ return (tx) => tx.moveCall({
1891
+ package: packageAddress,
1892
+ module: "trading",
1893
+ function: "get_active_orders_by_order_tag",
1894
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1895
+ typeArguments: options.typeArguments,
1896
+ });
1897
+ }
1898
+ /** [View Function] Gets active orders by order type tag and collateral token. */
1899
+ function getActiveOrdersByOrderTagAndCtoken(options) {
1900
+ const packageAddress = options.package ?? "@typus/perp";
1901
+ const argumentsTypes = [
1902
+ `${packageAddress}::admin::Version`,
1903
+ `${packageAddress}::trading::MarketRegistry`,
1904
+ "u64",
1905
+ "u8",
1906
+ ];
1907
+ const parameterNames = ["version", "registry", "marketIndex", "orderTypeTag"];
1908
+ return (tx) => tx.moveCall({
1909
+ package: packageAddress,
1910
+ module: "trading",
1911
+ function: "get_active_orders_by_order_tag_and_ctoken",
1912
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1913
+ typeArguments: options.typeArguments,
1914
+ });
1915
+ }
1916
+ /**
1917
+ * [View Function] Gets the maximum amount of collateral that can be released from
1918
+ * a position.
1919
+ */
1920
+ function getMaxReleasingCollateralAmount(options) {
1921
+ const packageAddress = options.package ?? "@typus/perp";
1922
+ const argumentsTypes = [
1923
+ `${packageAddress}::admin::Version`,
1924
+ `${packageAddress}::trading::MarketRegistry`,
1925
+ `${packageAddress}::lp_pool::Registry`,
1926
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
1927
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
1928
+ "0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock",
1929
+ "u64",
1930
+ "u64",
1931
+ "u64",
1932
+ ];
1933
+ const parameterNames = [
1934
+ "version",
1935
+ "registry",
1936
+ "poolRegistry",
1937
+ "typusOracleCToken",
1938
+ "typusOracleTradingSymbol",
1939
+ "marketIndex",
1940
+ "poolIndex",
1941
+ "positionId",
1942
+ ];
1943
+ return (tx) => tx.moveCall({
1944
+ package: packageAddress,
1945
+ module: "trading",
1946
+ function: "get_max_releasing_collateral_amount",
1947
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1948
+ typeArguments: options.typeArguments,
1949
+ });
1950
+ }
1951
+ /** [View Functio Only] Gets the estimated liquidation price and PnL for a position. */
1952
+ function getEstimatedLiquidationPriceAndPnl(options) {
1953
+ const packageAddress = options.package ?? "@typus/perp";
1954
+ const argumentsTypes = [
1955
+ `${packageAddress}::admin::Version`,
1956
+ `${packageAddress}::trading::MarketRegistry`,
1957
+ `${packageAddress}::lp_pool::Registry`,
1958
+ "0x6c9a394a43844fc09d9617bc8a8e775a4521f0e28e83de1da780d043a498671f::typus_dov_single::Registry",
1959
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
1960
+ "0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73::oracle::Oracle",
1961
+ "u64",
1962
+ "u64",
1963
+ "0x0000000000000000000000000000000000000000000000000000000000000002::clock::Clock",
1964
+ "u64",
1965
+ ];
1966
+ const parameterNames = [
1967
+ "version",
1968
+ "registry",
1969
+ "poolRegistry",
1970
+ "dovRegistry",
1971
+ "typusOracleCToken",
1972
+ "typusOracleTradingSymbol",
1973
+ "marketIndex",
1974
+ "poolIndex",
1975
+ "positionId",
1976
+ ];
1977
+ return (tx) => tx.moveCall({
1978
+ package: packageAddress,
1979
+ module: "trading",
1980
+ function: "get_estimated_liquidation_price_and_pnl",
1981
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
1982
+ typeArguments: options.typeArguments,
1983
+ });
1984
+ }
1985
+ function calculateTradingFeeRateMbp(options) {
1986
+ const packageAddress = options.package ?? "@typus/perp";
1987
+ const argumentsTypes = ["u64", "u64", "u64", "u64", "u64", "u64", "u64", "bool", "u64", "vector<u64>"];
1988
+ const parameterNames = [
1989
+ "formulaVersion",
1990
+ "userLongPositionSize",
1991
+ "userShortPositionSize",
1992
+ "tvlUsd",
1993
+ "sizeDecimal",
1994
+ "tradingPairOraclePrice",
1995
+ "tradingPairOraclePriceDecimal",
1996
+ "orderSide",
1997
+ "orderSize",
1998
+ "tradingFeeConfig",
1999
+ ];
2000
+ return (tx) => tx.moveCall({
2001
+ package: packageAddress,
2002
+ module: "trading",
2003
+ function: "calculate_trading_fee_rate_mbp",
2004
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
2005
+ });
2006
+ }
2007
+ /** [View Function] Gets the BCS-serialized markets. */
2008
+ function getMarketsBcs(options) {
2009
+ const packageAddress = options.package ?? "@typus/perp";
2010
+ const argumentsTypes = [`${packageAddress}::trading::MarketRegistry`, "vector<u64>"];
2011
+ const parameterNames = ["registry", "indexes"];
2012
+ return (tx) => tx.moveCall({
2013
+ package: packageAddress,
2014
+ module: "trading",
2015
+ function: "get_markets_bcs",
2016
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
2017
+ });
2018
+ }
2019
+ /** Gets a mutable reference to the market ID. WARNING: no authority check inside */
2020
+ function getMutMarketId(options) {
2021
+ const packageAddress = options.package ?? "@typus/perp";
2022
+ const argumentsTypes = [`${packageAddress}::trading::MarketRegistry`, "u64"];
2023
+ const parameterNames = ["registry", "marketIndex"];
2024
+ return (tx) => tx.moveCall({
2025
+ package: packageAddress,
2026
+ module: "trading",
2027
+ function: "get_mut_market_id",
2028
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
2029
+ });
2030
+ }
2031
+ function tradingSymbolExists(options) {
2032
+ const packageAddress = options.package ?? "@typus/perp";
2033
+ const argumentsTypes = [`${packageAddress}::trading::Markets`];
2034
+ const parameterNames = ["market"];
2035
+ return (tx) => tx.moveCall({
2036
+ package: packageAddress,
2037
+ module: "trading",
2038
+ function: "trading_symbol_exists",
2039
+ arguments: (0, index_1.normalizeMoveArguments)(options.arguments, argumentsTypes, parameterNames),
2040
+ typeArguments: options.typeArguments,
2041
+ });
2042
+ }
2043
+ function deprecated(options = {}) {
2044
+ const packageAddress = options.package ?? "@typus/perp";
2045
+ return (tx) => tx.moveCall({
2046
+ package: packageAddress,
2047
+ module: "trading",
2048
+ function: "deprecated",
2049
+ });
2050
+ }