@typus/typus-perp-sdk 1.1.32 → 1.1.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (253) hide show
  1. package/dist/src/api/sentio.d.ts +5 -5
  2. package/dist/src/api/sentio.js +690 -541
  3. package/dist/src/client.d.ts +28 -0
  4. package/dist/src/client.js +171 -0
  5. package/dist/src/fetch.d.ts +540 -36
  6. package/dist/src/fetch.js +545 -661
  7. package/dist/src/generated/typus_perp/admin.d.ts +274 -0
  8. package/dist/src/generated/typus_perp/admin.js +321 -0
  9. package/dist/src/generated/typus_perp/competition.d.ts +60 -0
  10. package/dist/src/generated/typus_perp/competition.js +104 -0
  11. package/dist/src/generated/typus_perp/deps/std/type_name.d.ts +17 -0
  12. package/dist/src/generated/typus_perp/deps/std/type_name.js +25 -0
  13. package/dist/src/generated/typus_perp/deps/sui/balance.d.ts +12 -0
  14. package/dist/src/generated/typus_perp/deps/sui/balance.js +20 -0
  15. package/dist/src/generated/typus_perp/deps/sui/object.d.ts +8 -0
  16. package/dist/src/generated/typus_perp/deps/sui/object.js +16 -0
  17. package/dist/src/generated/typus_perp/deps/sui/object_table.d.ts +19 -0
  18. package/dist/src/generated/typus_perp/deps/sui/object_table.js +59 -0
  19. package/dist/src/generated/typus_perp/deps/sui/table.d.ts +31 -0
  20. package/dist/src/generated/typus_perp/deps/sui/table.js +71 -0
  21. package/dist/src/generated/typus_perp/deps/sui/vec_set.d.ts +18 -0
  22. package/dist/src/generated/typus_perp/deps/sui/vec_set.js +25 -0
  23. package/dist/src/generated/typus_perp/deps/typus/keyed_big_vector.d.ts +30 -0
  24. package/dist/src/generated/typus_perp/deps/typus/keyed_big_vector.js +67 -0
  25. package/dist/src/generated/typus_perp/deps/typus/linked_object_table.d.ts +32 -0
  26. package/dist/src/generated/typus_perp/deps/typus/linked_object_table.js +71 -0
  27. package/dist/src/generated/typus_perp/deps/typus_framework/vault.d.ts +15 -0
  28. package/dist/src/{_framework/init-loader.js → generated/typus_perp/deps/typus_framework/vault.js} +18 -10
  29. package/dist/src/generated/typus_perp/error.d.ts +443 -0
  30. package/dist/src/generated/typus_perp/error.js +788 -0
  31. package/dist/src/generated/typus_perp/escrow.d.ts +109 -0
  32. package/dist/src/generated/typus_perp/escrow.js +139 -0
  33. package/dist/src/generated/typus_perp/lp_pool.d.ts +1853 -0
  34. package/dist/src/generated/typus_perp/lp_pool.js +1483 -0
  35. package/dist/src/generated/typus_perp/math.d.ts +95 -0
  36. package/dist/src/generated/typus_perp/math.js +97 -0
  37. package/dist/src/generated/typus_perp/position.d.ts +1251 -0
  38. package/dist/src/generated/typus_perp/position.js +1393 -0
  39. package/dist/src/generated/typus_perp/profit_vault.d.ts +272 -0
  40. package/dist/src/generated/typus_perp/profit_vault.js +321 -0
  41. package/dist/src/generated/typus_perp/symbol.d.ts +47 -0
  42. package/dist/src/generated/typus_perp/symbol.js +97 -0
  43. package/dist/src/generated/typus_perp/trading.d.ts +2134 -0
  44. package/dist/src/generated/typus_perp/trading.js +2050 -0
  45. package/dist/src/generated/typus_perp/treasury_caps.d.ts +44 -0
  46. package/dist/src/generated/typus_perp/treasury_caps.js +92 -0
  47. package/dist/src/generated/typus_perp/user_account.d.ts +146 -0
  48. package/dist/src/generated/typus_perp/user_account.js +221 -0
  49. package/dist/src/generated/typus_stake_pool/admin.d.ts +218 -0
  50. package/dist/src/generated/typus_stake_pool/admin.js +247 -0
  51. package/dist/src/generated/typus_stake_pool/deps/std/type_name.d.ts +17 -0
  52. package/dist/src/generated/typus_stake_pool/deps/std/type_name.js +25 -0
  53. package/dist/src/generated/typus_stake_pool/deps/sui/object.d.ts +8 -0
  54. package/dist/src/generated/typus_stake_pool/deps/sui/object.js +16 -0
  55. package/dist/src/generated/typus_stake_pool/deps/sui/vec_map.d.ts +30 -0
  56. package/dist/src/generated/typus_stake_pool/deps/sui/vec_map.js +37 -0
  57. package/dist/src/generated/typus_stake_pool/deps/sui/vec_set.d.ts +18 -0
  58. package/dist/src/generated/typus_stake_pool/deps/sui/vec_set.js +25 -0
  59. package/dist/src/generated/typus_stake_pool/stake_pool.d.ts +988 -0
  60. package/dist/src/generated/typus_stake_pool/stake_pool.js +937 -0
  61. package/dist/src/generated/utils/index.d.ts +11 -0
  62. package/dist/src/generated/utils/index.js +138 -0
  63. package/dist/src/grpc/graphql.d.ts +26 -0
  64. package/dist/src/grpc/graphql.js +126 -0
  65. package/dist/src/grpc/grpc.d.ts +1 -0
  66. package/dist/src/grpc/grpc.js +38 -0
  67. package/dist/src/grpc/ledgerService.js +64 -0
  68. package/dist/src/grpc/liveDataService.d.ts +0 -0
  69. package/dist/src/grpc/liveDataService.js +49 -0
  70. package/dist/src/index.d.ts +2 -8
  71. package/dist/src/index.js +30 -56
  72. package/dist/src/user/history.d.ts +1 -1
  73. package/dist/src/user/history.js +649 -679
  74. package/dist/src/user/order.d.ts +21 -11
  75. package/dist/src/user/order.js +204 -301
  76. package/dist/src/user/orderWithBidReceipt.d.ts +17 -6
  77. package/dist/src/user/orderWithBidReceipt.js +164 -224
  78. package/dist/src/user/tlp.d.ts +25 -25
  79. package/dist/src/user/tlp.js +317 -468
  80. package/package.json +11 -2
  81. package/dist/src/_dependencies/source/0x1/ascii/structs.d.ts +0 -88
  82. package/dist/src/_dependencies/source/0x1/ascii/structs.js +0 -398
  83. package/dist/src/_dependencies/source/0x1/index.d.ts +0 -3
  84. package/dist/src/_dependencies/source/0x1/index.js +0 -6
  85. package/dist/src/_dependencies/source/0x1/option/structs.d.ts +0 -50
  86. package/dist/src/_dependencies/source/0x1/option/structs.js +0 -271
  87. package/dist/src/_dependencies/source/0x1/string/structs.d.ts +0 -48
  88. package/dist/src/_dependencies/source/0x1/string/structs.js +0 -256
  89. package/dist/src/_dependencies/source/0x1/type-name/structs.d.ts +0 -49
  90. package/dist/src/_dependencies/source/0x1/type-name/structs.js +0 -223
  91. package/dist/src/_dependencies/source/0x2/bag/structs.d.ts +0 -54
  92. package/dist/src/_dependencies/source/0x2/bag/structs.js +0 -229
  93. package/dist/src/_dependencies/source/0x2/balance/structs.d.ts +0 -84
  94. package/dist/src/_dependencies/source/0x2/balance/structs.js +0 -386
  95. package/dist/src/_dependencies/source/0x2/coin/structs.d.ts +0 -406
  96. package/dist/src/_dependencies/source/0x2/coin/structs.js +0 -1247
  97. package/dist/src/_dependencies/source/0x2/index.d.ts +0 -3
  98. package/dist/src/_dependencies/source/0x2/index.js +0 -6
  99. package/dist/src/_dependencies/source/0x2/linked-table/structs.d.ts +0 -132
  100. package/dist/src/_dependencies/source/0x2/linked-table/structs.js +0 -438
  101. package/dist/src/_dependencies/source/0x2/object/structs.d.ts +0 -86
  102. package/dist/src/_dependencies/source/0x2/object/structs.js +0 -364
  103. package/dist/src/_dependencies/source/0x2/object-table/structs.d.ts +0 -54
  104. package/dist/src/_dependencies/source/0x2/object-table/structs.js +0 -248
  105. package/dist/src/_dependencies/source/0x2/sui/structs.d.ts +0 -44
  106. package/dist/src/_dependencies/source/0x2/sui/structs.js +0 -222
  107. package/dist/src/_dependencies/source/0x2/table/structs.d.ts +0 -54
  108. package/dist/src/_dependencies/source/0x2/table/structs.js +0 -248
  109. package/dist/src/_dependencies/source/0x2/table-vec/structs.d.ts +0 -59
  110. package/dist/src/_dependencies/source/0x2/table-vec/structs.js +0 -274
  111. package/dist/src/_dependencies/source/0x2/token/structs.d.ts +0 -421
  112. package/dist/src/_dependencies/source/0x2/token/structs.js +0 -1095
  113. package/dist/src/_dependencies/source/0x2/transfer-policy/structs.d.ts +0 -348
  114. package/dist/src/_dependencies/source/0x2/transfer-policy/structs.js +0 -1091
  115. package/dist/src/_dependencies/source/0x2/url/structs.d.ts +0 -49
  116. package/dist/src/_dependencies/source/0x2/url/structs.js +0 -223
  117. package/dist/src/_dependencies/source/0x2/vec-map/structs.d.ts +0 -106
  118. package/dist/src/_dependencies/source/0x2/vec-map/structs.js +0 -446
  119. package/dist/src/_dependencies/source/0x2/vec-set/structs.d.ts +0 -49
  120. package/dist/src/_dependencies/source/0x2/vec-set/structs.js +0 -270
  121. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/airdrop/structs.d.ts +0 -422
  122. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/airdrop/structs.js +0 -1084
  123. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/big-vector/structs.d.ts +0 -130
  124. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/big-vector/structs.js +0 -456
  125. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/critbit/structs.d.ts +0 -208
  126. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/critbit/structs.js +0 -653
  127. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/ecosystem/structs.d.ts +0 -362
  128. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/ecosystem/structs.js +0 -899
  129. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/index.d.ts +0 -8
  130. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/index.js +0 -11
  131. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/init.d.ts +0 -2
  132. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/init.js +0 -102
  133. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/keyed-big-vector/structs.d.ts +0 -202
  134. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/keyed-big-vector/structs.js +0 -632
  135. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/leaderboard/structs.d.ts +0 -600
  136. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/leaderboard/structs.js +0 -1459
  137. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/linked-object-table/structs.d.ts +0 -136
  138. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/linked-object-table/structs.js +0 -438
  139. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/linked-set/structs.d.ts +0 -127
  140. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/linked-set/structs.js +0 -430
  141. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/tails-staking/structs.d.ts +0 -957
  142. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/tails-staking/structs.js +0 -2261
  143. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/tgld/structs.d.ts +0 -244
  144. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/tgld/structs.js +0 -733
  145. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/user/structs.d.ts +0 -294
  146. package/dist/src/_dependencies/source/0x4b0f4ee1a40ce37ec81c987cc4e76a665419e74b863319492fc7d26f708b835a/user/structs.js +0 -892
  147. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/authority/structs.d.ts +0 -73
  148. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/authority/structs.js +0 -263
  149. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/balance-pool/structs.d.ts +0 -294
  150. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/balance-pool/structs.js +0 -591
  151. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/big-vector/structs.d.ts +0 -64
  152. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/big-vector/structs.js +0 -258
  153. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/dutch/structs.d.ts +0 -756
  154. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/dutch/structs.js +0 -1721
  155. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/i64/structs.d.ts +0 -44
  156. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/i64/structs.js +0 -222
  157. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/index.d.ts +0 -3
  158. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/index.js +0 -6
  159. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/init.d.ts +0 -2
  160. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/init.js +0 -89
  161. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/linked-list/structs.d.ts +0 -135
  162. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/linked-list/structs.js +0 -444
  163. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/vault/structs.d.ts +0 -2106
  164. package/dist/src/_dependencies/source/0xb4f25230ba74837d8299e92951306100c4a532e8c48cc3d8828abe9b91c8b274/vault/structs.js +0 -4952
  165. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/discount-mint/structs.d.ts +0 -390
  166. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/discount-mint/structs.js +0 -844
  167. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/index.d.ts +0 -6
  168. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/index.js +0 -9
  169. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/init.d.ts +0 -2
  170. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/init.js +0 -69
  171. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/royalty-rule/structs.d.ts +0 -89
  172. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/royalty-rule/structs.js +0 -376
  173. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/staking/structs.d.ts +0 -386
  174. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/staking/structs.js +0 -881
  175. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/table-vec/structs.d.ts +0 -59
  176. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/table-vec/structs.js +0 -274
  177. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/typus-nft/structs.d.ts +0 -974
  178. package/dist/src/_dependencies/source/0xbd147bc7f12f38f175d78947a61364e8e077b9b188b00e7094bc0c3623162196/typus-nft/structs.js +0 -2387
  179. package/dist/src/_framework/init-loader.d.ts +0 -2
  180. package/dist/src/_framework/loader.d.ts +0 -17
  181. package/dist/src/_framework/loader.js +0 -108
  182. package/dist/src/_framework/reified.d.ts +0 -108
  183. package/dist/src/_framework/reified.js +0 -237
  184. package/dist/src/_framework/util.d.ts +0 -35
  185. package/dist/src/_framework/util.js +0 -396
  186. package/dist/src/_framework/vector.d.ts +0 -42
  187. package/dist/src/_framework/vector.js +0 -112
  188. package/dist/src/pyth.js +0 -1
  189. package/dist/src/typus_perp/admin/functions.d.ts +0 -59
  190. package/dist/src/typus_perp/admin/functions.js +0 -122
  191. package/dist/src/typus_perp/admin/structs.d.ts +0 -467
  192. package/dist/src/typus_perp/admin/structs.js +0 -1065
  193. package/dist/src/typus_perp/competition/functions.d.ts +0 -24
  194. package/dist/src/typus_perp/competition/functions.js +0 -38
  195. package/dist/src/typus_perp/competition/structs.d.ts +0 -80
  196. package/dist/src/typus_perp/competition/structs.js +0 -288
  197. package/dist/src/typus_perp/error/functions.d.ts +0 -73
  198. package/dist/src/typus_perp/error/functions.js +0 -363
  199. package/dist/src/typus_perp/escrow/functions.d.ts +0 -17
  200. package/dist/src/typus_perp/escrow/functions.js +0 -36
  201. package/dist/src/typus_perp/escrow/structs.d.ts +0 -160
  202. package/dist/src/typus_perp/escrow/structs.js +0 -324
  203. package/dist/src/typus_perp/index.d.ts +0 -1
  204. package/dist/src/typus_perp/index.js +0 -7
  205. package/dist/src/typus_perp/init.d.ts +0 -2
  206. package/dist/src/typus_perp/init.js +0 -118
  207. package/dist/src/typus_perp/lending/functions.d.ts +0 -15
  208. package/dist/src/typus_perp/lending/functions.js +0 -22
  209. package/dist/src/typus_perp/lp-pool/functions.d.ts +0 -460
  210. package/dist/src/typus_perp/lp-pool/functions.js +0 -732
  211. package/dist/src/typus_perp/lp-pool/structs.d.ts +0 -3705
  212. package/dist/src/typus_perp/lp-pool/structs.js +0 -6789
  213. package/dist/src/typus_perp/math/functions.d.ts +0 -29
  214. package/dist/src/typus_perp/math/functions.js +0 -61
  215. package/dist/src/typus_perp/position/functions.d.ts +0 -379
  216. package/dist/src/typus_perp/position/functions.js +0 -713
  217. package/dist/src/typus_perp/position/structs.d.ts +0 -905
  218. package/dist/src/typus_perp/position/structs.js +0 -1450
  219. package/dist/src/typus_perp/symbol/functions.d.ts +0 -9
  220. package/dist/src/typus_perp/symbol/functions.js +0 -24
  221. package/dist/src/typus_perp/symbol/structs.d.ts +0 -70
  222. package/dist/src/typus_perp/symbol/structs.js +0 -235
  223. package/dist/src/typus_perp/tlp/functions.d.ts +0 -19
  224. package/dist/src/typus_perp/tlp/functions.js +0 -40
  225. package/dist/src/typus_perp/tlp/structs.d.ts +0 -89
  226. package/dist/src/typus_perp/tlp/structs.js +0 -365
  227. package/dist/src/typus_perp/token-interface/functions.d.ts +0 -11
  228. package/dist/src/typus_perp/token-interface/functions.js +0 -22
  229. package/dist/src/typus_perp/trading/functions.d.ts +0 -812
  230. package/dist/src/typus_perp/trading/functions.js +0 -1218
  231. package/dist/src/typus_perp/trading/structs.d.ts +0 -3060
  232. package/dist/src/typus_perp/trading/structs.js +0 -5813
  233. package/dist/src/typus_perp/treasury-caps/functions.d.ts +0 -9
  234. package/dist/src/typus_perp/treasury-caps/functions.js +0 -36
  235. package/dist/src/typus_perp/treasury-caps/structs.d.ts +0 -49
  236. package/dist/src/typus_perp/treasury-caps/structs.js +0 -223
  237. package/dist/src/typus_perp/user-account/functions.d.ts +0 -36
  238. package/dist/src/typus_perp/user-account/functions.js +0 -70
  239. package/dist/src/typus_perp/user-account/structs.d.ts +0 -148
  240. package/dist/src/typus_perp/user-account/structs.js +0 -448
  241. package/dist/src/typus_stake_pool/admin/functions.d.ts +0 -49
  242. package/dist/src/typus_stake_pool/admin/functions.js +0 -105
  243. package/dist/src/typus_stake_pool/admin/structs.d.ts +0 -365
  244. package/dist/src/typus_stake_pool/admin/structs.js +0 -789
  245. package/dist/src/typus_stake_pool/index.d.ts +0 -1
  246. package/dist/src/typus_stake_pool/index.js +0 -7
  247. package/dist/src/typus_stake_pool/init.d.ts +0 -2
  248. package/dist/src/typus_stake_pool/init.js +0 -69
  249. package/dist/src/typus_stake_pool/stake-pool/functions.d.ts +0 -229
  250. package/dist/src/typus_stake_pool/stake-pool/functions.js +0 -380
  251. package/dist/src/typus_stake_pool/stake-pool/structs.d.ts +0 -2199
  252. package/dist/src/typus_stake_pool/stake-pool/structs.js +0 -4653
  253. /package/dist/src/{pyth.d.ts → grpc/ledgerService.d.ts} +0 -0
@@ -1,67 +1,4 @@
1
1
  "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
- return new (P || (P = Promise))(function (resolve, reject) {
16
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
- step((generator = generator.apply(thisArg, _arguments || [])).next());
20
- });
21
- };
22
- var __generator = (this && this.__generator) || function (thisArg, body) {
23
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
24
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
- function verb(n) { return function (v) { return step([n, v]); }; }
26
- function step(op) {
27
- if (f) throw new TypeError("Generator is already executing.");
28
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
- if (y = 0, t) op = [op[0] & 2, t.value];
31
- switch (op[0]) {
32
- case 0: case 1: t = op; break;
33
- case 4: _.label++; return { value: op[1], done: false };
34
- case 5: _.label++; y = op[1]; op = [0]; continue;
35
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
- default:
37
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
- if (t[2]) _.ops.pop();
42
- _.trys.pop(); continue;
43
- }
44
- op = body.call(thisArg, _);
45
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
47
- }
48
- };
49
- var __read = (this && this.__read) || function (o, n) {
50
- var m = typeof Symbol === "function" && o[Symbol.iterator];
51
- if (!m) return o;
52
- var i = m.call(o), r, ar = [], e;
53
- try {
54
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
55
- }
56
- catch (error) { e = { error: error }; }
57
- finally {
58
- try {
59
- if (r && !r.done && (m = i["return"])) m.call(i);
60
- }
61
- finally { if (e) throw e.error; }
62
- }
63
- return ar;
64
- };
65
2
  Object.defineProperty(exports, "__esModule", { value: true });
66
3
  exports.parseUserHistory = parseUserHistory;
67
4
  exports.getGraphQLEvents = getGraphQLEvents;
@@ -72,643 +9,676 @@ exports.getCancelOrderFromSentio = getCancelOrderFromSentio;
72
9
  exports.getOrderMatchFromSentio = getOrderMatchFromSentio;
73
10
  exports.getRealizeOptionFromSentio = getRealizeOptionFromSentio;
74
11
  exports.toSentioToken = toSentioToken;
75
- var constants_1 = require("@typus/typus-sdk/dist/src/constants");
76
- var structs_1 = require("../typus_perp/position/structs");
77
- var structs_2 = require("../typus_perp/trading/structs");
78
- var structs_3 = require("../../src/typus_perp/lp-pool/structs");
79
- var sentio_1 = require("../../src/api/sentio");
80
- var src_1 = require("../../src");
81
- function parseUserHistory(raw_events) {
82
- return __awaiter(this, void 0, void 0, function () {
83
- var events;
84
- return __generator(this, function (_a) {
85
- events = [];
86
- raw_events.forEach(function (event) {
87
- var _a, _b, _c, _d, _e, _f;
88
- var type = event.contents.type.repr;
89
- if (type.endsWith("PythPrice")) {
90
- return;
91
- }
92
- var json = event.contents.json;
93
- var timestamp = event.timestamp;
94
- var tx_digest = event.transactionBlock.digest;
95
- // console.log(type);
96
- // console.log(tx_digest);
97
- // console.log(json);
98
- // console.log(timestamp);
99
- var _g = __read(type.split("::"), 3), pkg = _g[0], mod = _g[1], name = _g[2];
100
- switch (name) {
101
- case structs_2.CreateTradingOrderEvent.$typeName.split("::")[2]:
102
- case structs_2.CreateTradingOrderWithBidReceiptsEvent.$typeName.split("::")[2]:
103
- var base_token = (0, constants_1.typeArgToAsset)(json.base_token.name);
104
- var collateral_token = (0, constants_1.typeArgToAsset)(json.collateral_token.name);
105
- var market = "".concat(base_token, "/USD");
106
- var size = Number(json.size) / Math.pow(10, (0, constants_1.assetToDecimal)(base_token));
107
- var collateral;
108
- if (json.collateral_amount) {
109
- collateral = Number(json.collateral_amount) / Math.pow(10, (0, constants_1.assetToDecimal)(collateral_token));
110
- }
111
- else {
112
- collateral = Number(json.collateral_in_deposit_token) / Math.pow(10, (0, constants_1.assetToDecimal)(collateral_token));
113
- }
114
- var order_type = "Limit";
115
- var price = json.trigger_price;
116
- if (json.filled) {
117
- order_type = "Market";
118
- price = json.filled_price;
119
- }
120
- else if (json.reduce_only && !json.is_stop_order) {
121
- order_type = "Take Profit";
122
- }
123
- else if (json.reduce_only && json.is_stop_order) {
124
- order_type = "Stop Loss";
125
- }
126
- var e = {
127
- action: "Place Order",
128
- typeName: name,
129
- order_id: json.order_id,
130
- position_id: json.linked_position_id,
131
- market: market,
132
- side: json.is_long ? "Long" : "Short",
133
- order_type: order_type,
134
- status: json.filled ? "Filled" : "Open",
135
- size: size,
136
- base_token: base_token,
137
- collateral: collateral,
138
- collateral_token: collateral_token,
139
- price: Number(price) / Math.pow(10, 8), // WARNING: fixed decimal
140
- realized_pnl: undefined,
141
- timestamp: timestamp,
142
- tx_digest: tx_digest,
143
- dov_index: json.dov_index,
144
- reduce_only: json.reduce_only,
145
- is_stop_order: json.is_stop_order,
146
- sender: "user",
147
- };
148
- events.push(e);
149
- break;
150
- case structs_1.OrderFilledEvent.$typeName.split("::")[2]:
151
- var base_token = (0, constants_1.typeArgToAsset)(json.symbol.base_token.name);
152
- var collateral_token = (0, constants_1.typeArgToAsset)(json.collateral_token.name);
153
- var market = "".concat(base_token, "/USD");
154
- var size = Number(json.filled_size) / Math.pow(10, (0, constants_1.assetToDecimal)(base_token));
155
- var price = json.filled_price;
156
- var action;
157
- var related;
158
- var collateral;
159
- var realized_trading_fee = Number(json.realized_trading_fee) + Number(json.realized_borrow_fee);
160
- var realized_fee_in_usd = Number(json.realized_fee_in_usd) / Math.pow(10, 9);
161
- var realized_amount = json.realized_amount_sign ? Number(json.realized_amount) : -Number(json.realized_amount);
162
- // console.log(realized_amount);
163
- var realized_pnl = realized_trading_fee > 0 ? ((realized_amount - realized_trading_fee) * realized_fee_in_usd) / realized_trading_fee : 0;
164
- if (json.linked_position_id != undefined) {
165
- action = "Order Filled (Close Position)";
166
- related = events.findLast(function (e) { return e.position_id === json.linked_position_id && e.market === market; });
167
- // the "Place Order" is emit after Order Filled if filled immediately
168
- var relatedRawEvent = raw_events.find(function (e) {
169
- var type = e.contents.type.repr;
170
- var _a = __read(type.split("::"), 3), pkg = _a[0], mod = _a[1], name = _a[2];
171
- return name === (related === null || related === void 0 ? void 0 : related.typeName) && e.transactionBlock.digest === (related === null || related === void 0 ? void 0 : related.tx_digest) && (related === null || related === void 0 ? void 0 : related.order_id) === json.order_id;
172
- });
173
- if (((_b = (_a = relatedRawEvent === null || relatedRawEvent === void 0 ? void 0 : relatedRawEvent.contents) === null || _a === void 0 ? void 0 : _a.json) === null || _b === void 0 ? void 0 : _b.reduce_only) === false) {
174
- action = "Order Filled (Increase Position)";
175
- }
176
- if (realized_pnl > 0) {
177
- collateral = (realized_amount - realized_trading_fee) / Math.pow(10, (0, constants_1.assetToDecimal)(collateral_token));
178
- }
179
- }
180
- else {
181
- action = "Order Filled (Open Position)";
182
- related = events.findLast(function (e) { return e.order_id === json.order_id && e.market === market; });
183
- collateral = related === null || related === void 0 ? void 0 : related.collateral;
184
- }
185
- var e = {
186
- action: action,
187
- typeName: name,
188
- order_id: json.order_id,
189
- position_id: (_c = json.linked_position_id) !== null && _c !== void 0 ? _c : json.new_position_id,
190
- market: market,
191
- side: json.position_side ? "Long" : "Short",
192
- order_type: related === null || related === void 0 ? void 0 : related.order_type,
193
- status: "Filled",
194
- size: size,
195
- base_token: base_token,
196
- collateral: collateral, // TODO: check for option collateral
197
- collateral_token: collateral_token,
198
- price: Number(price) / Math.pow(10, 8), // WARNING: fixed decimal
199
- realized_pnl: realized_pnl,
200
- timestamp: timestamp,
201
- tx_digest: tx_digest,
202
- dov_index: related === null || related === void 0 ? void 0 : related.dov_index,
203
- sender: "user",
204
- };
205
- events.push(e);
206
- break;
207
- case structs_1.RemovePositionEvent.$typeName.split("::")[2]:
208
- // same tx with order filled
209
- var index = events.findLastIndex(function (e) { return e.tx_digest == tx_digest && e.action == "Order Filled (Close Position)"; });
210
- // console.log(index);
211
- if (index !== -1) {
212
- // true => user paid to pool
213
- var remaining_collateral_amount = json.remaining_collateral_amount / Math.pow(10, (0, constants_1.assetToDecimal)(events[index].collateral_token));
214
- events[index] = __assign(__assign({}, events[index]), { collateral: remaining_collateral_amount + ((_d = events[index].collateral) !== null && _d !== void 0 ? _d : 0) });
215
- }
216
- break;
217
- case structs_1.RealizeFundingEvent.$typeName.split("::")[2]:
218
- var base_token = (0, constants_1.typeArgToAsset)(json.symbol.base_token.name);
219
- var collateral_token = (0, constants_1.typeArgToAsset)(json.collateral_token.name);
220
- var market = "".concat(base_token, "/USD");
221
- var related = events.find(function (e) { return e.position_id === json.position_id && e.market === market; });
222
- // if realized_funding_sign is true, user pays to pool
223
- var realized_funding_fee = json.realized_funding_sign
224
- ? -json.realized_funding_fee / Math.pow(10, (0, constants_1.assetToDecimal)(collateral_token))
225
- : json.realized_funding_fee / Math.pow(10, (0, constants_1.assetToDecimal)(collateral_token));
226
- var realized_funding_fee_usd = json.realized_funding_sign
227
- ? -json.realized_funding_fee_usd / Math.pow(10, 9)
228
- : json.realized_funding_fee_usd / Math.pow(10, 9);
229
- // same tx with order filled
230
- var index = events.findLastIndex(function (e) { return e.tx_digest == tx_digest && e.action == "Order Filled (Close Position)"; });
231
- // console.log(index);
232
- if (index !== -1) {
233
- // true => user paid to pool
234
- events[index] = __assign(__assign({}, events[index]), { collateral: (_e = events[index].collateral) !== null && _e !== void 0 ? _e : 0 - realized_funding_fee, realized_pnl: (_f = events[index].realized_pnl) !== null && _f !== void 0 ? _f : 0 - realized_funding_fee_usd });
235
- }
236
- var e = {
237
- action: "Realize Funding",
238
- typeName: name,
239
- order_id: undefined,
240
- position_id: json.position_id,
241
- market: market,
242
- side: related === null || related === void 0 ? void 0 : related.side,
243
- order_type: related === null || related === void 0 ? void 0 : related.order_type,
244
- status: "Filled",
245
- size: related === null || related === void 0 ? void 0 : related.size,
246
- base_token: base_token,
247
- collateral: realized_funding_fee,
248
- collateral_token: collateral_token,
249
- price: undefined,
250
- realized_pnl: realized_funding_fee_usd,
251
- timestamp: timestamp,
252
- tx_digest: tx_digest,
253
- dov_index: related === null || related === void 0 ? void 0 : related.dov_index,
254
- sender: "user",
255
- };
256
- events.push(e);
257
- break;
258
- case structs_2.CancelTradingOrderEvent.$typeName.split("::")[2]:
259
- var base_token = (0, constants_1.typeArgToAsset)(json.base_token.name);
260
- var collateral_token = (0, constants_1.typeArgToAsset)(json.collateral_token.name);
261
- var market = "".concat(base_token, "/USD");
262
- var related = events.findLast(function (e) { return e.order_id === json.order_id && e.market === market; });
263
- var e = {
264
- action: "Cancel Order",
265
- typeName: name,
266
- order_id: json.order_id,
267
- position_id: related === null || related === void 0 ? void 0 : related.position_id,
268
- market: market,
269
- side: related === null || related === void 0 ? void 0 : related.side,
270
- order_type: related === null || related === void 0 ? void 0 : related.order_type,
271
- status: "Canceled",
272
- size: related === null || related === void 0 ? void 0 : related.size,
273
- base_token: base_token,
274
- collateral: Number(json.released_collateral_amount) / Math.pow(10, (0, constants_1.assetToDecimal)(collateral_token)), // WARNING: fixed decimal
275
- collateral_token: collateral_token,
276
- price: Number(json.trigger_price) / Math.pow(10, 8), // WARNING: fixed decimal
277
- realized_pnl: undefined,
278
- timestamp: timestamp,
279
- tx_digest: tx_digest,
280
- dov_index: related === null || related === void 0 ? void 0 : related.dov_index,
281
- sender: "user",
282
- };
283
- events.push(e);
284
- break;
285
- case structs_2.IncreaseCollateralEvent.$typeName.split("::")[2]:
286
- case structs_2.ReleaseCollateralEvent.$typeName.split("::")[2]:
287
- var base_token = (0, constants_1.typeArgToAsset)(json.base_token.name);
288
- var collateral_token = (0, constants_1.typeArgToAsset)(json.collateral_token.name);
289
- var market = "".concat(base_token, "/USD");
290
- var related = events.find(function (e) { return e.position_id === json.position_id && e.market === market; });
291
- var collateral;
292
- if (json.increased_collateral_amount) {
293
- collateral = Number(json.increased_collateral_amount) * -1;
12
+ const constants_1 = require("@typus/typus-sdk/dist/src/constants");
13
+ const position_1 = require("../generated/typus_perp/position");
14
+ const trading_1 = require("../generated/typus_perp/trading");
15
+ const profit_vault_1 = require("../generated/typus_perp/profit_vault");
16
+ const lp_pool_1 = require("../generated/typus_perp/lp_pool");
17
+ const sentio_1 = require("../../src/api/sentio");
18
+ const src_1 = require("../../src");
19
+ async function parseUserHistory(raw_events) {
20
+ const events = [];
21
+ raw_events.forEach((event) => {
22
+ const type = event.contents.type.repr;
23
+ if (type.endsWith("PythPrice")) {
24
+ return;
25
+ }
26
+ const json = event.contents.json;
27
+ const timestamp = event.timestamp;
28
+ const tx_digest = event.transaction.digest;
29
+ // console.log(type);
30
+ // console.log(tx_digest);
31
+ // console.log(json);
32
+ // console.log(timestamp);
33
+ const [pkg, mod, name] = type.split("::");
34
+ if (mod == "trading") {
35
+ switch (name) {
36
+ case trading_1.CreateTradingOrderEvent.name.split("::")[2]:
37
+ case trading_1.CreateTradingOrderWithBidReceiptsEvent.name.split("::")[2]:
38
+ var base_token = (0, constants_1.typeArgToAsset)(json.base_token.name);
39
+ var collateral_token = (0, constants_1.typeArgToAsset)(json.collateral_token.name);
40
+ var market = `${base_token}/USD`;
41
+ var size = Number(json.size) / 10 ** (0, constants_1.assetToDecimal)(base_token);
42
+ var collateral;
43
+ if (json.collateral_amount) {
44
+ collateral = Number(json.collateral_amount) / 10 ** (0, constants_1.assetToDecimal)(collateral_token);
45
+ }
46
+ else {
47
+ collateral = Number(json.collateral_in_deposit_token) / 10 ** (0, constants_1.assetToDecimal)(collateral_token);
48
+ }
49
+ const marketOrderRation = json.is_long ? 1.02 : 0.9;
50
+ const isMarketOrder = Number(json.trigger_price) / Number(json.trading_pair_oracle_price) <= (marketOrderRation + 0.005)
51
+ && Number(json.trigger_price) / Number(json.trading_pair_oracle_price) >= (marketOrderRation - 0.005);
52
+ var order_type = "Limit";
53
+ var price = json.trigger_price;
54
+ if (json.filled || isMarketOrder) {
55
+ order_type = "Market";
56
+ price = json.filled_price;
57
+ }
58
+ else if (json.reduce_only && !json.is_stop_order) {
59
+ order_type = "Take Profit";
60
+ }
61
+ else if (json.reduce_only && json.is_stop_order) {
62
+ order_type = "Stop Loss";
63
+ }
64
+ var e = {
65
+ action: "Place Order",
66
+ typeName: name,
67
+ order_id: json.order_id,
68
+ position_id: json.linked_position_id,
69
+ market,
70
+ side: json.is_long ? "Long" : "Short",
71
+ order_type,
72
+ status: json.filled ? "Filled" : "Open",
73
+ size,
74
+ base_token,
75
+ collateral,
76
+ collateral_token,
77
+ price: Number(price) / 10 ** 8, // WARNING: fixed decimal
78
+ realized_pnl: undefined,
79
+ timestamp,
80
+ tx_digest,
81
+ dov_index: json.dov_index,
82
+ reduce_only: json.reduce_only,
83
+ is_stop_order: json.is_stop_order,
84
+ sender: "user",
85
+ };
86
+ events.push(e);
87
+ break;
88
+ case position_1.OrderFilledEvent.name.split("::")[2]:
89
+ var base_token = (0, constants_1.typeArgToAsset)(json.symbol.base_token.name);
90
+ var collateral_token = (0, constants_1.typeArgToAsset)(json.collateral_token.name);
91
+ var market = `${base_token}/USD`;
92
+ var size = Number(json.filled_size) / 10 ** (0, constants_1.assetToDecimal)(base_token);
93
+ var price = json.filled_price;
94
+ var action;
95
+ var related;
96
+ var collateral;
97
+ var realized_trading_fee = Number(json.realized_trading_fee) + Number(json.realized_borrow_fee);
98
+ var realized_fee_in_usd = Number(json.realized_fee_in_usd) / 10 ** 9;
99
+ var realized_amount = json.realized_amount_sign ? Number(json.realized_amount) : -Number(json.realized_amount);
100
+ // console.log(realized_amount);
101
+ var realized_pnl = realized_trading_fee > 0
102
+ ? ((realized_amount - realized_trading_fee) * realized_fee_in_usd) / realized_trading_fee
103
+ : 0;
104
+ if (json.linked_position_id != undefined) {
105
+ action = "Order Filled (Close Position)";
106
+ related = events.findLast((e) => e.position_id === json.linked_position_id && e.market === market);
107
+ // the "Place Order" is emit after Order Filled if filled immediately
108
+ const relatedRawEvent = raw_events.find((e) => {
109
+ const type = e.contents.type.repr;
110
+ const [pkg, mod, name] = type.split("::");
111
+ return (name === related?.typeName &&
112
+ e.transactionBlock.digest === related?.tx_digest &&
113
+ related?.order_id === json.order_id);
114
+ });
115
+ if (relatedRawEvent?.contents?.json?.reduce_only === false) {
116
+ action = "Order Filled (Increase Position)";
294
117
  }
295
- else {
296
- collateral = Number(json.released_collateral_amount);
118
+ if (realized_pnl > 0) {
119
+ collateral = (realized_amount - realized_trading_fee) / 10 ** (0, constants_1.assetToDecimal)(collateral_token);
297
120
  }
298
- var e = {
299
- action: "Modify Collateral",
300
- typeName: name,
301
- order_id: undefined,
302
- position_id: json.position_id,
303
- market: market,
304
- side: !related
305
- ? undefined
306
- : related.action === "Order Filled (Open Position)"
307
- ? related.side
308
- : related.side === "Long"
309
- ? "Short"
310
- : "Long",
311
- order_type: related === null || related === void 0 ? void 0 : related.order_type,
312
- status: "Filled",
313
- size: related === null || related === void 0 ? void 0 : related.size,
314
- base_token: base_token,
315
- collateral: collateral / Math.pow(10, (0, constants_1.assetToDecimal)(collateral_token)), // WARNING: fixed decimal
316
- collateral_token: collateral_token,
317
- price: related === null || related === void 0 ? void 0 : related.price,
318
- realized_pnl: undefined,
319
- timestamp: timestamp,
320
- tx_digest: tx_digest,
321
- dov_index: related === null || related === void 0 ? void 0 : related.dov_index,
322
- sender: "user",
121
+ }
122
+ else {
123
+ action = "Order Filled (Open Position)";
124
+ related = events.findLast((e) => e.order_id === json.order_id && e.market === market);
125
+ collateral = related?.collateral;
126
+ }
127
+ var e = {
128
+ action,
129
+ typeName: name,
130
+ order_id: json.order_id,
131
+ position_id: json.linked_position_id ?? json.new_position_id,
132
+ market,
133
+ side: json.position_side ? "Long" : "Short",
134
+ order_type: related?.order_type,
135
+ status: "Filled",
136
+ size,
137
+ base_token,
138
+ collateral, // TODO: check for option collateral
139
+ collateral_token,
140
+ price: Number(price) / 10 ** 8, // WARNING: fixed decimal
141
+ realized_pnl,
142
+ timestamp,
143
+ tx_digest,
144
+ dov_index: related?.dov_index,
145
+ sender: "user",
146
+ };
147
+ events.push(e);
148
+ break;
149
+ case position_1.RemovePositionEvent.name.split("::")[2]:
150
+ // same tx with order filled
151
+ var index = events.findLastIndex((e) => e.tx_digest == tx_digest && e.action == "Order Filled (Close Position)");
152
+ // console.log(index);
153
+ if (index !== -1) {
154
+ // true => user paid to pool
155
+ let remaining_collateral_amount = json.remaining_collateral_amount / 10 ** (0, constants_1.assetToDecimal)(events[index].collateral_token);
156
+ events[index] = {
157
+ ...events[index],
158
+ collateral: remaining_collateral_amount + (events[index].collateral ?? 0),
323
159
  };
324
- events.push(e);
325
- break;
326
- case structs_3.SwapEvent.$typeName.split("::")[2]:
327
- var from_token = (0, constants_1.typeArgToAsset)(json.from_token_type.name);
328
- var to_token = (0, constants_1.typeArgToAsset)(json.to_token_type.name);
329
- var from_price = Number(json.oracle_price_from_token);
330
- var to_price = Number(json.oracle_price_to_token);
331
- var e = {
332
- action: "Swap",
333
- typeName: name,
334
- order_id: undefined,
335
- position_id: undefined,
336
- market: "".concat(from_token, "/").concat(to_token),
337
- side: undefined,
338
- order_type: "Market",
339
- status: "Filled",
340
- size: Number(json.actual_to_amount) / Math.pow(10, (0, constants_1.assetToDecimal)(to_token)),
341
- base_token: to_token,
342
- collateral: Number(json.from_amount) / Math.pow(10, (0, constants_1.assetToDecimal)(from_token)),
343
- collateral_token: from_token,
344
- price: from_price / to_price,
345
- realized_pnl: -Number(json.fee_amount_usd) / Math.pow(10, 9),
346
- timestamp: timestamp,
347
- tx_digest: tx_digest,
348
- dov_index: undefined,
349
- sender: "user",
160
+ }
161
+ break;
162
+ case position_1.RealizeFundingEvent.name.split("::")[2]:
163
+ var base_token = (0, constants_1.typeArgToAsset)(json.symbol.base_token.name);
164
+ var collateral_token = (0, constants_1.typeArgToAsset)(json.collateral_token.name);
165
+ var market = `${base_token}/USD`;
166
+ var related = events.find((e) => e.position_id === json.position_id && e.market === market);
167
+ // if realized_funding_sign is true, user pays to pool
168
+ let realized_funding_fee = json.realized_funding_sign
169
+ ? -json.realized_funding_fee / 10 ** (0, constants_1.assetToDecimal)(collateral_token)
170
+ : json.realized_funding_fee / 10 ** (0, constants_1.assetToDecimal)(collateral_token);
171
+ let realized_funding_fee_usd = json.realized_funding_sign
172
+ ? -json.realized_funding_fee_usd / 10 ** 9
173
+ : json.realized_funding_fee_usd / 10 ** 9;
174
+ // same tx with order filled
175
+ var index = events.findLastIndex((e) => e.tx_digest == tx_digest && e.action == "Order Filled (Close Position)");
176
+ // console.log(index);
177
+ if (index !== -1) {
178
+ // true => user paid to pool
179
+ events[index] = {
180
+ ...events[index],
181
+ collateral: events[index].collateral ?? 0 - realized_funding_fee,
182
+ realized_pnl: events[index].realized_pnl ?? 0 - realized_funding_fee_usd,
350
183
  };
351
- events.push(e);
352
- break;
353
- }
354
- });
355
- // console.log(events);
356
- return [2 /*return*/, events];
357
- });
358
- });
359
- }
360
- function getGraphQLEvents(module_1, sender_1) {
361
- return __awaiter(this, arguments, void 0, function (module, sender, beforeCursor) {
362
- var before, senderFilter, graphql, response, data;
363
- if (beforeCursor === void 0) { beforeCursor = null; }
364
- return __generator(this, function (_a) {
365
- switch (_a.label) {
366
- case 0:
367
- before = "";
368
- if (beforeCursor) {
369
- before = "before: \"".concat(beforeCursor, "\",");
370
184
  }
371
- senderFilter = "";
372
- if (sender) {
373
- senderFilter = "sender: \"".concat(sender, "\"");
185
+ var e = {
186
+ action: "Realize Funding",
187
+ typeName: name,
188
+ order_id: undefined,
189
+ position_id: json.position_id,
190
+ market,
191
+ side: related?.side,
192
+ order_type: related?.order_type,
193
+ status: "Filled",
194
+ size: related?.size,
195
+ base_token,
196
+ collateral: realized_funding_fee,
197
+ collateral_token,
198
+ price: undefined,
199
+ realized_pnl: realized_funding_fee_usd,
200
+ timestamp,
201
+ tx_digest,
202
+ dov_index: related?.dov_index,
203
+ sender: "user",
204
+ };
205
+ events.push(e);
206
+ break;
207
+ case trading_1.CancelTradingOrderEvent.name.split("::")[2]:
208
+ var base_token = (0, constants_1.typeArgToAsset)(json.base_token.name);
209
+ var collateral_token = (0, constants_1.typeArgToAsset)(json.collateral_token.name);
210
+ var market = `${base_token}/USD`;
211
+ var related = events.findLast((e) => e.order_id === json.order_id && e.market === market);
212
+ var e = {
213
+ action: "Cancel Order",
214
+ typeName: name,
215
+ order_id: json.order_id,
216
+ position_id: related?.position_id,
217
+ market,
218
+ side: related?.side,
219
+ order_type: related?.order_type,
220
+ status: "Canceled",
221
+ size: related?.size,
222
+ base_token,
223
+ collateral: Number(json.released_collateral_amount) / 10 ** (0, constants_1.assetToDecimal)(collateral_token), // WARNING: fixed decimal
224
+ collateral_token,
225
+ price: Number(json.trigger_price) / 10 ** 8, // WARNING: fixed decimal
226
+ realized_pnl: undefined,
227
+ timestamp,
228
+ tx_digest,
229
+ dov_index: related?.dov_index,
230
+ sender: "user",
231
+ };
232
+ events.push(e);
233
+ break;
234
+ case trading_1.IncreaseCollateralEvent.name.split("::")[2]:
235
+ case trading_1.ReleaseCollateralEvent.name.split("::")[2]:
236
+ var base_token = (0, constants_1.typeArgToAsset)(json.base_token.name);
237
+ var collateral_token = (0, constants_1.typeArgToAsset)(json.collateral_token.name);
238
+ var market = `${base_token}/USD`;
239
+ var related = events.find((e) => e.position_id === json.position_id && e.market === market);
240
+ var collateral;
241
+ if (json.increased_collateral_amount) {
242
+ collateral = Number(json.increased_collateral_amount) * -1;
243
+ }
244
+ else {
245
+ collateral = Number(json.released_collateral_amount);
374
246
  }
375
- graphql = JSON.stringify({
376
- query: "\n {\n events(\n last: 50,\n ".concat(before, "\n filter: {\n eventType: \"").concat(module, "\",\n ").concat(senderFilter, "\n }\n ) {\n pageInfo {\n hasPreviousPage\n hasNextPage\n startCursor\n endCursor\n }\n edges { cursor }\n nodes {\n transactionBlock { digest }\n sendingModule {\n name\n package { digest }\n }\n sender { address }\n timestamp\n contents {\n type { repr }\n json\n }\n }\n }}\n "),
377
- });
378
- return [4 /*yield*/, fetch("https://graphql.".concat(src_1.NETWORK.toLowerCase(), ".sui.io/graphql"), {
379
- method: "POST",
380
- headers: { "Content-Type": "application/json" },
381
- body: graphql,
382
- })];
383
- case 1:
384
- response = _a.sent();
385
- if (!response.ok) return [3 /*break*/, 3];
386
- return [4 /*yield*/, response.json()];
387
- case 2:
388
- data = _a.sent();
389
- // console.log(data.data.events.pageInfo);
390
- return [2 /*return*/, data.data.events];
391
- case 3: return [2 /*return*/];
247
+ var e = {
248
+ action: "Modify Collateral",
249
+ typeName: name,
250
+ order_id: undefined,
251
+ position_id: json.position_id,
252
+ market,
253
+ side: !related
254
+ ? undefined
255
+ : related.action === "Order Filled (Open Position)"
256
+ ? related.side
257
+ : related.side === "Long"
258
+ ? "Short"
259
+ : "Long",
260
+ order_type: related?.order_type,
261
+ status: "Filled",
262
+ size: related?.size,
263
+ base_token,
264
+ collateral: collateral / 10 ** (0, constants_1.assetToDecimal)(collateral_token), // WARNING: fixed decimal
265
+ collateral_token,
266
+ price: related?.price,
267
+ realized_pnl: undefined,
268
+ timestamp,
269
+ tx_digest,
270
+ dov_index: related?.dov_index,
271
+ sender: "user",
272
+ };
273
+ events.push(e);
274
+ break;
275
+ case lp_pool_1.SwapEvent.name.split("::")[2]:
276
+ var from_token = (0, constants_1.typeArgToAsset)(json.from_token_type.name);
277
+ var to_token = (0, constants_1.typeArgToAsset)(json.to_token_type.name);
278
+ var from_price = Number(json.oracle_price_from_token);
279
+ var to_price = Number(json.oracle_price_to_token);
280
+ var e = {
281
+ action: "Swap",
282
+ typeName: name,
283
+ order_id: undefined,
284
+ position_id: undefined,
285
+ market: `${from_token}/${to_token}`,
286
+ side: undefined,
287
+ order_type: "Market",
288
+ status: "Filled",
289
+ size: Number(json.actual_to_amount) / 10 ** (0, constants_1.assetToDecimal)(to_token),
290
+ base_token: to_token,
291
+ collateral: Number(json.from_amount) / 10 ** (0, constants_1.assetToDecimal)(from_token),
292
+ collateral_token: from_token,
293
+ price: from_price / to_price,
294
+ realized_pnl: -Number(json.fee_amount_usd) / 10 ** 9,
295
+ timestamp,
296
+ tx_digest,
297
+ dov_index: undefined,
298
+ sender: "user",
299
+ };
300
+ events.push(e);
301
+ break;
392
302
  }
393
- });
303
+ }
304
+ if (mod === "profit_vault") {
305
+ switch (name) {
306
+ case profit_vault_1.WithdrawProfitEvent.name.split("::")[2]:
307
+ const profit_token = (0, constants_1.typeArgToAsset)(json.token_type.name);
308
+ const profit_token_decimal = (0, constants_1.assetToDecimal)(profit_token);
309
+ const profit = Number(json.withdraw_amount) / 10 ** profit_token_decimal;
310
+ const e = {
311
+ action: "Claim Profit",
312
+ typeName: name,
313
+ order_id: undefined,
314
+ position_id: undefined,
315
+ market: 'TYPUS/USD',
316
+ side: undefined,
317
+ order_type: undefined,
318
+ status: 'Filled',
319
+ size: undefined,
320
+ base_token: 'TYPUS',
321
+ collateral: profit,
322
+ collateral_token: profit_token,
323
+ price: undefined,
324
+ realized_pnl: undefined,
325
+ timestamp,
326
+ tx_digest,
327
+ dov_index: undefined,
328
+ sender: "user",
329
+ };
330
+ events.push(e);
331
+ break;
332
+ }
333
+ }
394
334
  });
335
+ // console.log(events);
336
+ return events;
337
+ // CreateTradingOrderEvent => Place Order
338
+ // filled => market order
339
+ // reduce_only & !is_stop_order => TP
340
+ // reduce_only & is_stop_order => SL
341
+ // CancelTradingOrderEvent => Cancel Order
342
+ // OrderFilledEvent (position) => Order Filled (Open Position/ Close Position)
343
+ // ManagerCloseOptionPosition => Exercise Position
344
+ // RealizedPnlEvent
345
+ // RealizeFundingEvent
346
+ // LiquidateEvent + RemovePositionEvent => Liquidation
347
+ //
348
+ // SwapEvent => Swap
395
349
  }
396
- function getLiquidateFromSentio(userAddress, startTimestamp, events) {
397
- return __awaiter(this, void 0, void 0, function () {
398
- var datas, liquidate;
399
- return __generator(this, function (_a) {
400
- switch (_a.label) {
401
- case 0: return [4 /*yield*/, (0, sentio_1.getFromSentio)("Liquidate", userAddress, startTimestamp.toString())];
402
- case 1:
403
- datas = _a.sent();
404
- liquidate = datas.map(function (x) {
405
- var collateral = Number(x.liquidator_fee) + Number(x.value_for_lp_pool);
406
- var base_token = toToken(x.base_token);
407
- var txHistory = {
408
- action: "Liquidation",
409
- typeName: "LiquidateEvent",
410
- order_id: x.order_id,
411
- position_id: x.position_id,
412
- market: "".concat(base_token, "/USD"),
413
- side: undefined,
414
- order_type: "Market",
415
- status: "Filled",
416
- size: Number(x.position_size),
417
- base_token: base_token,
418
- collateral: collateral,
419
- collateral_token: x.collateral_token,
420
- price: Number(x.trading_price),
421
- realized_pnl: -collateral * Number(x.collateral_price),
422
- timestamp: x.timestamp,
423
- tx_digest: x.transaction_hash,
424
- dov_index: undefined,
425
- sender: "cranker",
426
- };
427
- return txHistory;
428
- });
429
- liquidate = liquidate.map(function (x) {
430
- var related = events.find(function (e) { return e.position_id == x.position_id && e.market == x.market; });
431
- // console.log(x);
432
- // console.log(related);
433
- if (related) {
434
- x.side = related.side;
435
- x.dov_index = related.dov_index;
436
- }
437
- return x;
438
- });
439
- // console.log(liquidate);
440
- events = events.concat(liquidate);
441
- events = events.sort(function (a, b) { return Number(new Date(a.timestamp)) - Number(new Date(b.timestamp)); });
442
- return [2 /*return*/, events];
350
+ async function getGraphQLEvents(module, sender, beforeCursor = null) {
351
+ let before = "";
352
+ if (beforeCursor) {
353
+ before = `before: "${beforeCursor}",`;
354
+ }
355
+ let senderFilter = "";
356
+ if (sender) {
357
+ senderFilter = `sender: "${sender}"`;
358
+ }
359
+ var graphql = JSON.stringify({
360
+ query: `
361
+ {
362
+ events(
363
+ last: 50,
364
+ ${before}
365
+ filter: {
366
+ type: "${module}",
367
+ ${senderFilter}
368
+ }
369
+ ) {
370
+ pageInfo {
371
+ hasPreviousPage
372
+ hasNextPage
373
+ startCursor
374
+ endCursor
375
+ }
376
+ edges { cursor }
377
+ nodes {
378
+ transaction { digest }
379
+ transactionModule {
380
+ name
381
+ package { digest }
382
+ }
383
+ sender { address }
384
+ timestamp
385
+ contents {
386
+ type { repr }
387
+ json
443
388
  }
444
- });
389
+ }
390
+ }}
391
+ `,
445
392
  });
393
+ let response = await fetch(`https://graphql.${src_1.NETWORK.toLowerCase()}.sui.io/graphql`, {
394
+ method: "POST",
395
+ headers: { "Content-Type": "application/json" },
396
+ body: graphql,
397
+ });
398
+ // console.log(response);
399
+ if (response.ok) {
400
+ let data = await response.json();
401
+ // console.log(data.data.events.pageInfo);
402
+ return data.data.events;
403
+ }
446
404
  }
447
- function getRealizeFundingFromSentio(userAddress, startTimestamp, events) {
448
- return __awaiter(this, void 0, void 0, function () {
449
- var datas, realizeFunding;
450
- return __generator(this, function (_a) {
451
- switch (_a.label) {
452
- case 0: return [4 /*yield*/, (0, sentio_1.getFromSentio)("RealizeFunding", userAddress, startTimestamp.toString())];
453
- case 1:
454
- datas = _a.sent();
455
- realizeFunding = datas.map(function (x) {
456
- var base_token = toToken(x.base_token);
457
- var txHistory = {
458
- action: "Realize Funding",
459
- typeName: "RealizeFundingEvent",
460
- order_id: undefined,
461
- position_id: x.position_id,
462
- market: "".concat(base_token, "/USD"),
463
- side: undefined,
464
- order_type: undefined,
465
- status: "Filled",
466
- size: undefined,
467
- base_token: base_token,
468
- collateral: -Number(x.realized_funding_fee),
469
- collateral_token: x.collateral_token,
470
- price: undefined,
471
- realized_pnl: -Number(x.realized_funding_fee_usd),
472
- timestamp: x.timestamp,
473
- tx_digest: x.transaction_hash,
474
- dov_index: undefined,
475
- sender: "cranker",
476
- };
477
- return txHistory;
478
- });
479
- // deduplicate
480
- realizeFunding = realizeFunding.filter(function (x) { return events.findIndex(function (y) { return y.tx_digest == x.tx_digest && y.action == "Realize Funding"; }) == -1; });
481
- realizeFunding = realizeFunding.map(function (x) {
482
- var _a, _b, _c, _d;
483
- // find related position
484
- var related = events.find(function (e) { return e.position_id === x.position_id && e.market === x.market; });
485
- // console.log(x, related);
486
- if (related) {
487
- x.side = related.side;
488
- x.order_type = related.order_type;
489
- x.size = related.size;
490
- x.dov_index = related.dov_index;
491
- }
492
- // same tx with order filled
493
- var index = events.findLastIndex(function (e) { return e.tx_digest == x.tx_digest && e.action == "Order Filled (Close Position)"; });
494
- // console.log(index);
495
- if (index !== -1) {
496
- // true => user paid to pool
497
- events[index] = __assign(__assign({}, events[index]), { collateral: ((_a = events[index].collateral) !== null && _a !== void 0 ? _a : 0) - ((_b = x.collateral) !== null && _b !== void 0 ? _b : 0), realized_pnl: ((_c = events[index].realized_pnl) !== null && _c !== void 0 ? _c : 0) - ((_d = x.realized_pnl) !== null && _d !== void 0 ? _d : 0) });
498
- }
499
- return x;
500
- });
501
- // console.log(realizeFunding);
502
- events = events.concat(realizeFunding);
503
- events = events.sort(function (a, b) { return Number(new Date(a.timestamp)) - Number(new Date(b.timestamp)); });
504
- return [2 /*return*/, events];
505
- }
506
- });
405
+ async function getLiquidateFromSentio(userAddress, startTimestamp, events) {
406
+ const datas = await (0, sentio_1.getFromSentio)("Liquidate", userAddress, startTimestamp.toString());
407
+ // console.log(datas);
408
+ let liquidate = datas.map((x) => {
409
+ let collateral = Number(x.liquidator_fee) + Number(x.value_for_lp_pool);
410
+ let base_token = toToken(x.base_token);
411
+ let txHistory = {
412
+ action: "Liquidation",
413
+ typeName: "LiquidateEvent",
414
+ order_id: x.order_id,
415
+ position_id: x.position_id,
416
+ market: `${base_token}/USD`,
417
+ side: undefined,
418
+ order_type: "Market",
419
+ status: "Filled",
420
+ size: Number(x.position_size),
421
+ base_token,
422
+ collateral,
423
+ collateral_token: x.collateral_token,
424
+ price: Number(x.trading_price),
425
+ realized_pnl: -collateral * Number(x.collateral_price),
426
+ timestamp: x.timestamp,
427
+ tx_digest: x.transaction_hash,
428
+ dov_index: undefined,
429
+ sender: "cranker",
430
+ };
431
+ return txHistory;
432
+ });
433
+ liquidate = liquidate.map((x) => {
434
+ let related = events.find((e) => e.position_id == x.position_id && e.market == x.market);
435
+ // console.log(x);
436
+ // console.log(related);
437
+ if (related) {
438
+ x.side = related.side;
439
+ x.dov_index = related.dov_index;
440
+ }
441
+ return x;
507
442
  });
443
+ // console.log(liquidate);
444
+ events = events.concat(liquidate);
445
+ events = events.sort((a, b) => Number(new Date(a.timestamp)) - Number(new Date(b.timestamp)));
446
+ return events;
508
447
  }
509
- function getRemovePositionFromSentio(userAddress, startTimestamp, events) {
510
- return __awaiter(this, void 0, void 0, function () {
511
- var datas;
512
- return __generator(this, function (_a) {
513
- switch (_a.label) {
514
- case 0: return [4 /*yield*/, (0, sentio_1.getFromSentio)("RemovePosition", userAddress, startTimestamp.toString())];
515
- case 1:
516
- datas = _a.sent();
517
- // console.log(datas);
518
- datas.forEach(function (x) {
519
- // console.log(x);
520
- // same tx with order filled
521
- var index = events.findLastIndex(function (e) { return e.tx_digest == x.transaction_hash && e.action == "Force Close Position"; });
522
- // console.log(index);
523
- if (index !== -1) {
524
- // true => user paid to pool
525
- var remaining_collateral_amount = x.remaining_collateral_amount;
526
- events[index] = __assign(__assign({}, events[index]), { collateral: remaining_collateral_amount + Math.max(0, events[index].collateral) });
527
- }
528
- });
529
- return [2 /*return*/, events];
530
- }
531
- });
448
+ async function getRealizeFundingFromSentio(userAddress, startTimestamp, events) {
449
+ const datas = await (0, sentio_1.getFromSentio)("RealizeFunding", userAddress, startTimestamp.toString());
450
+ // console.log(datas);
451
+ let realizeFunding = datas.map((x) => {
452
+ let base_token = toToken(x.base_token);
453
+ let txHistory = {
454
+ action: "Realize Funding",
455
+ typeName: "RealizeFundingEvent",
456
+ order_id: undefined,
457
+ position_id: x.position_id,
458
+ market: `${base_token}/USD`,
459
+ side: undefined,
460
+ order_type: undefined,
461
+ status: "Filled",
462
+ size: undefined,
463
+ base_token,
464
+ collateral: -Number(x.realized_funding_fee),
465
+ collateral_token: x.collateral_token,
466
+ price: undefined,
467
+ realized_pnl: -Number(x.realized_funding_fee_usd),
468
+ timestamp: x.timestamp,
469
+ tx_digest: x.transaction_hash,
470
+ dov_index: undefined,
471
+ sender: "cranker",
472
+ };
473
+ return txHistory;
532
474
  });
475
+ // deduplicate
476
+ realizeFunding = realizeFunding.filter((x) => events.findIndex((y) => y.tx_digest == x.tx_digest && y.action == "Realize Funding") == -1);
477
+ realizeFunding = realizeFunding.map((x) => {
478
+ // find related position
479
+ var related = events.find((e) => e.position_id === x.position_id && e.market === x.market);
480
+ // console.log(x, related);
481
+ if (related) {
482
+ x.side = related.side;
483
+ x.order_type = related.order_type;
484
+ x.size = related.size;
485
+ x.dov_index = related.dov_index;
486
+ }
487
+ // same tx with order filled
488
+ var index = events.findLastIndex((e) => e.tx_digest == x.tx_digest && e.action == "Order Filled (Close Position)");
489
+ // console.log(index);
490
+ if (index !== -1) {
491
+ // true => user paid to pool
492
+ events[index] = {
493
+ ...events[index],
494
+ collateral: (events[index].collateral ?? 0) - (x.collateral ?? 0),
495
+ realized_pnl: (events[index].realized_pnl ?? 0) - (x.realized_pnl ?? 0),
496
+ };
497
+ }
498
+ return x;
499
+ });
500
+ // console.log(realizeFunding);
501
+ events = events.concat(realizeFunding);
502
+ events = events.sort((a, b) => Number(new Date(a.timestamp)) - Number(new Date(b.timestamp)));
503
+ return events;
533
504
  }
534
- function getCancelOrderFromSentio(userAddress, startTimestamp, events) {
535
- return __awaiter(this, void 0, void 0, function () {
536
- var datas, cancelOrder;
537
- return __generator(this, function (_a) {
538
- switch (_a.label) {
539
- case 0: return [4 /*yield*/, (0, sentio_1.getFromSentio)("CancelOrder", userAddress, startTimestamp.toString(), true)];
540
- case 1:
541
- datas = _a.sent();
542
- cancelOrder = datas.map(function (x) {
543
- var collateral = Number(x.released_collateral_amount);
544
- var base_token = toToken(x.base_token);
545
- var txHistory = {
546
- action: "Force Cancel Order",
547
- typeName: "CancelTradingOrderEvent",
548
- order_id: x.order_id,
549
- position_id: undefined,
550
- market: "".concat(base_token, "/USD"),
551
- side: undefined,
552
- order_type: undefined,
553
- status: "Canceled",
554
- size: undefined,
555
- base_token: base_token,
556
- collateral: collateral,
557
- collateral_token: x.collateral_token,
558
- price: undefined,
559
- realized_pnl: undefined,
560
- timestamp: x.timestamp,
561
- tx_digest: x.transaction_hash,
562
- dov_index: undefined,
563
- sender: "cranker",
564
- };
565
- return txHistory;
566
- });
567
- // no duplicate
568
- cancelOrder = cancelOrder.map(function (x) {
569
- // find related order
570
- var related = events.findLast(function (e) { return e.order_id == x.order_id && e.market == x.market; });
571
- // console.log(x, related);
572
- if (related) {
573
- x.position_id = related.position_id;
574
- x.side = related.side;
575
- x.order_type = related.order_type;
576
- x.size = related.size;
577
- x.price = related.price;
578
- }
579
- return x;
580
- });
581
- // console.log(cancelOrder);
582
- events = events.concat(cancelOrder);
583
- events = events.sort(function (a, b) { return Number(new Date(a.timestamp)) - Number(new Date(b.timestamp)); });
584
- return [2 /*return*/, events];
585
- }
586
- });
505
+ async function getRemovePositionFromSentio(userAddress, startTimestamp, events) {
506
+ const datas = await (0, sentio_1.getFromSentio)("RemovePosition", userAddress, startTimestamp.toString());
507
+ // console.log(datas);
508
+ datas.forEach((x) => {
509
+ // console.log(x);
510
+ // same tx with order filled
511
+ var index = events.findLastIndex((e) => e.tx_digest == x.transaction_hash && e.action == "Force Close Position");
512
+ // console.log(index);
513
+ if (index !== -1) {
514
+ // true => user paid to pool
515
+ let remaining_collateral_amount = x.remaining_collateral_amount;
516
+ events[index] = {
517
+ ...events[index],
518
+ collateral: remaining_collateral_amount + Math.max(0, events[index].collateral),
519
+ };
520
+ }
587
521
  });
522
+ return events;
588
523
  }
589
- function getOrderMatchFromSentio(userAddress, startTimestamp, events) {
590
- return __awaiter(this, void 0, void 0, function () {
591
- var datas, order_match;
592
- return __generator(this, function (_a) {
593
- switch (_a.label) {
594
- case 0: return [4 /*yield*/, (0, sentio_1.getFromSentio)("OrderFilled", userAddress, startTimestamp.toString(), true)];
595
- case 1:
596
- datas = _a.sent();
597
- order_match = datas.map(function (x) {
598
- var base_token = toToken(x.base_token);
599
- var txHistory = {
600
- action: x.order_type == "Open"
601
- ? "Order Filled (Open Position)"
602
- : x.sender == "0x978f65df8570a075298598a9965c18de9087f9e888eb3430fe20334f5c554cfd"
603
- ? "Force Close Position"
604
- : "Order Filled (Close Position)",
605
- typeName: "OrderFilledEvent",
606
- order_id: x.order_id,
607
- position_id: x.position_id,
608
- market: "".concat(base_token, "/USD"),
609
- side: x.side,
610
- order_type: undefined,
611
- status: "Filled",
612
- size: Number(x.filled_size),
613
- base_token: base_token,
614
- collateral: Number(x.realized_amount) - Number(x.realized_fee),
615
- collateral_token: x.collateral_token,
616
- price: Number(x.filled_price),
617
- realized_pnl: Number(x.realized_pnl),
618
- timestamp: x.timestamp,
619
- tx_digest: x.transaction_hash,
620
- dov_index: undefined,
621
- sender: x.is_cranker ? "cranker" : "user",
622
- };
623
- return txHistory;
624
- });
625
- // deduplicate
626
- order_match = order_match.filter(function (x) { return events.findIndex(function (y) { return y.tx_digest == x.tx_digest; }) == -1; });
627
- order_match = order_match.map(function (x) {
628
- // find related order
629
- var related = events.findLast(function (e) { return e.order_id == x.order_id && e.market == x.market; });
630
- // console.log(x, related);
631
- if (related) {
632
- x.order_type = related.order_type;
633
- x.collateral = related.collateral;
634
- x.dov_index = related.dov_index;
635
- }
636
- else {
637
- x.order_type = "Market";
638
- var related_1 = events.findLast(function (e) { return e.position_id == x.position_id && e.market == x.market; });
639
- x.dov_index = related_1 === null || related_1 === void 0 ? void 0 : related_1.dov_index;
640
- }
641
- return x;
642
- });
643
- // console.log(order_match);
644
- events = events.concat(order_match);
645
- events = events.sort(function (a, b) { return Number(new Date(a.timestamp)) - Number(new Date(b.timestamp)); });
646
- return [2 /*return*/, events];
647
- }
648
- });
524
+ async function getCancelOrderFromSentio(userAddress, startTimestamp, events) {
525
+ const datas = await (0, sentio_1.getFromSentio)("CancelOrder", userAddress, startTimestamp.toString(), true);
526
+ // console.log(datas);
527
+ let cancelOrder = datas.map((x) => {
528
+ let collateral = Number(x.released_collateral_amount);
529
+ let base_token = toToken(x.base_token);
530
+ let txHistory = {
531
+ action: "Force Cancel Order",
532
+ typeName: "CancelTradingOrderEvent",
533
+ order_id: x.order_id,
534
+ position_id: undefined,
535
+ market: `${base_token}/USD`,
536
+ side: undefined,
537
+ order_type: undefined,
538
+ status: "Canceled",
539
+ size: undefined,
540
+ base_token,
541
+ collateral,
542
+ collateral_token: x.collateral_token,
543
+ price: undefined,
544
+ realized_pnl: undefined,
545
+ timestamp: x.timestamp,
546
+ tx_digest: x.transaction_hash,
547
+ dov_index: undefined,
548
+ sender: "cranker",
549
+ };
550
+ return txHistory;
649
551
  });
552
+ // no duplicate
553
+ cancelOrder = cancelOrder.map((x) => {
554
+ // find related order
555
+ let related = events.findLast((e) => e.order_id == x.order_id && e.market == x.market);
556
+ // console.log(x, related);
557
+ if (related) {
558
+ x.position_id = related.position_id;
559
+ x.side = related.side;
560
+ x.order_type = related.order_type;
561
+ x.size = related.size;
562
+ x.price = related.price;
563
+ }
564
+ return x;
565
+ });
566
+ // console.log(cancelOrder);
567
+ events = events.concat(cancelOrder);
568
+ events = events.sort((a, b) => Number(new Date(a.timestamp)) - Number(new Date(b.timestamp)));
569
+ return events;
650
570
  }
651
- function getRealizeOptionFromSentio(userAddress, startTimestamp, events) {
652
- return __awaiter(this, void 0, void 0, function () {
653
- var datas, exercise, filter_exercise;
654
- return __generator(this, function (_a) {
655
- switch (_a.label) {
656
- case 0: return [4 /*yield*/, (0, sentio_1.getFromSentio)("RealizeOption", userAddress, startTimestamp.toString())];
657
- case 1:
658
- datas = _a.sent();
659
- exercise = datas.map(function (x) {
660
- var base_token = toToken(x.base_token);
661
- var txHistory = {
662
- action: "Exercise Position",
663
- typeName: "RealizeOptionPositionEvent",
664
- order_id: undefined,
665
- position_id: x.position_id,
666
- market: "".concat(base_token, "/USD"),
667
- side: undefined,
668
- order_type: "Market",
669
- status: "Filled",
670
- size: undefined,
671
- base_token: base_token,
672
- collateral: Number(x.user_remaining_value),
673
- collateral_token: x.collateral_token,
674
- price: undefined,
675
- realized_pnl: Number(x.user_remaining_in_usd),
676
- timestamp: x.timestamp,
677
- tx_digest: x.transaction_hash,
678
- dov_index: undefined,
679
- sender: "cranker",
680
- };
681
- // console.log(txHistory);
682
- return txHistory;
683
- });
684
- filter_exercise = exercise.reduce(function (acc, x) {
685
- var _a, _b, _c, _d;
686
- var related_index = events.findLastIndex(function (e) { return e.position_id == x.position_id && e.market == x.market && e.tx_digest == x.tx_digest; });
687
- // console.log(x);
688
- // console.log(related_index);
689
- if (related_index != -1) {
690
- var related = events[related_index];
691
- if (related.sender == "cranker") {
692
- x.side = related.side;
693
- x.size = related.size;
694
- x.dov_index = related.dov_index;
695
- // add to close event
696
- related.collateral = Number((_a = related.collateral) !== null && _a !== void 0 ? _a : 0) + Number((_b = x.collateral) !== null && _b !== void 0 ? _b : 0);
697
- related.realized_pnl = Number((_c = related.realized_pnl) !== null && _c !== void 0 ? _c : 0) + Number((_d = x.realized_pnl) !== null && _d !== void 0 ? _d : 0);
698
- x.collateral = undefined;
699
- x.realized_pnl = undefined;
700
- acc.push(x);
701
- }
702
- }
703
- return acc;
704
- }, new Array());
705
- // console.log(filter_exercise);
706
- events = events.concat(filter_exercise);
707
- events = events.sort(function (a, b) { return Number(new Date(a.timestamp)) - Number(new Date(b.timestamp)); });
708
- return [2 /*return*/, events];
571
+ async function getOrderMatchFromSentio(userAddress, startTimestamp, events) {
572
+ const datas = await (0, sentio_1.getFromSentio)("OrderFilled", userAddress, startTimestamp.toString(), true);
573
+ let order_match = datas.map((x) => {
574
+ let base_token = toToken(x.base_token);
575
+ let txHistory = {
576
+ action: x.order_type == "Open"
577
+ ? "Order Filled (Open Position)"
578
+ : x.sender == "0x978f65df8570a075298598a9965c18de9087f9e888eb3430fe20334f5c554cfd"
579
+ ? "Force Close Position"
580
+ : "Order Filled (Close Position)",
581
+ typeName: "OrderFilledEvent",
582
+ order_id: x.order_id,
583
+ position_id: x.position_id,
584
+ market: `${base_token}/USD`,
585
+ side: x.side,
586
+ order_type: undefined,
587
+ status: "Filled",
588
+ size: Number(x.filled_size),
589
+ base_token,
590
+ collateral: Number(x.realized_amount) - Number(x.realized_fee),
591
+ collateral_token: x.collateral_token,
592
+ price: Number(x.filled_price),
593
+ realized_pnl: Number(x.realized_pnl),
594
+ timestamp: x.timestamp,
595
+ tx_digest: x.transaction_hash,
596
+ dov_index: undefined,
597
+ sender: x.is_cranker ? "cranker" : "user",
598
+ };
599
+ return txHistory;
600
+ });
601
+ // deduplicate
602
+ order_match = order_match.filter((x) => events.findIndex((y) => y.tx_digest == x.tx_digest) == -1);
603
+ order_match = order_match.map((x) => {
604
+ // find related order
605
+ let related = events.findLast((e) => e.order_id == x.order_id && e.market == x.market);
606
+ // console.log(x, related);
607
+ if (related) {
608
+ x.order_type = related.order_type;
609
+ x.collateral = related.collateral;
610
+ x.dov_index = related.dov_index;
611
+ // it mean filled by matching cranker
612
+ if (x.action === "Order Filled (Close Position)") {
613
+ if (x.side === related.side) {
614
+ x.action = "Order Filled (Increase Position)";
615
+ }
709
616
  }
710
- });
617
+ }
618
+ else {
619
+ x.order_type = "Market";
620
+ let related = events.findLast((e) => e.position_id == x.position_id && e.market == x.market);
621
+ x.dov_index = related?.dov_index;
622
+ }
623
+ return x;
711
624
  });
625
+ // console.log(order_match);
626
+ events = events.concat(order_match);
627
+ events = events.sort((a, b) => Number(new Date(a.timestamp)) - Number(new Date(b.timestamp)));
628
+ return events;
629
+ }
630
+ async function getRealizeOptionFromSentio(userAddress, startTimestamp, events) {
631
+ const datas = await (0, sentio_1.getFromSentio)("RealizeOption", userAddress, startTimestamp.toString());
632
+ // console.log(datas);
633
+ let exercise = datas.map((x) => {
634
+ let base_token = toToken(x.base_token);
635
+ let txHistory = {
636
+ action: "Exercise Position",
637
+ typeName: "RealizeOptionPositionEvent",
638
+ order_id: undefined,
639
+ position_id: x.position_id,
640
+ market: `${base_token}/USD`,
641
+ side: undefined,
642
+ order_type: "Market",
643
+ status: "Filled",
644
+ size: undefined,
645
+ base_token,
646
+ collateral: Number(x.user_remaining_value),
647
+ collateral_token: x.collateral_token,
648
+ price: undefined,
649
+ realized_pnl: Number(x.user_remaining_in_usd),
650
+ timestamp: x.timestamp,
651
+ tx_digest: x.transaction_hash,
652
+ dov_index: undefined,
653
+ sender: "cranker",
654
+ };
655
+ // console.log(txHistory);
656
+ return txHistory;
657
+ });
658
+ let filter_exercise = exercise.reduce((acc, x) => {
659
+ let related_index = events.findLastIndex((e) => e.position_id == x.position_id && e.market == x.market && e.tx_digest == x.tx_digest);
660
+ // console.log(x);
661
+ // console.log(related_index);
662
+ if (related_index != -1) {
663
+ let related = events[related_index];
664
+ if (related.sender == "cranker") {
665
+ x.side = related.side;
666
+ x.size = related.size;
667
+ x.dov_index = related.dov_index;
668
+ // add to close event
669
+ related.collateral = Number(related.collateral ?? 0) + Number(x.collateral ?? 0);
670
+ related.realized_pnl = Number(related.realized_pnl ?? 0) + Number(x.realized_pnl ?? 0);
671
+ x.collateral = undefined;
672
+ x.realized_pnl = undefined;
673
+ acc.push(x);
674
+ }
675
+ }
676
+ return acc;
677
+ }, new Array());
678
+ // console.log(filter_exercise);
679
+ events = events.concat(filter_exercise);
680
+ events = events.sort((a, b) => Number(new Date(a.timestamp)) - Number(new Date(b.timestamp)));
681
+ return events;
712
682
  }
713
683
  // export function toRecentTrades(events: Event[]): Event[] {
714
684
  // let trades: Event[] = [];
@@ -731,7 +701,7 @@ function toToken(name) {
731
701
  case "ETH":
732
702
  case "SOL":
733
703
  case "APT":
734
- return "w".concat(name);
704
+ return `w${name}`;
735
705
  case "WUSDC":
736
706
  return "wUSDC";
737
707
  default: