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

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