@typus/typus-perp-sdk 1.1.29 → 1.1.30-codegen

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