@typus/typus-sdk 1.4.3-c → 1.4.3-e

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 (248) hide show
  1. package/package.json +10 -2
  2. package/src/_dependencies/source/0x1/ascii/structs.ts +135 -0
  3. package/src/_dependencies/source/0x1/bit-vector/structs.ts +70 -0
  4. package/src/_dependencies/source/0x1/fixed-point32/structs.ts +69 -0
  5. package/src/_dependencies/source/0x1/index.ts +1 -0
  6. package/src/_dependencies/source/0x1/init.ts +16 -0
  7. package/src/_dependencies/source/0x1/option/structs.ts +74 -0
  8. package/src/_dependencies/source/0x1/string/structs.ts +70 -0
  9. package/src/_dependencies/source/0x1/type-name/structs.ts +70 -0
  10. package/src/_dependencies/source/0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73/index.ts +1 -0
  11. package/src/_dependencies/source/0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73/init.ts +14 -0
  12. package/src/_dependencies/source/0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73/oracle/structs.ts +203 -0
  13. package/src/_dependencies/source/0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73/pyth-parser/structs.ts +317 -0
  14. package/src/_dependencies/source/0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73/supra/structs.ts +69 -0
  15. package/src/_dependencies/source/0x1d17058789bd1e1e79f1a92424519a88146f191f58a06cc4d9ab23d17d46ab73/switchboard-feed-parser/structs.ts +69 -0
  16. package/src/_dependencies/source/0x2/authenticator-state/structs.ts +332 -0
  17. package/src/_dependencies/source/0x2/bag/structs.ts +70 -0
  18. package/src/_dependencies/source/0x2/balance/structs.ts +134 -0
  19. package/src/_dependencies/source/0x2/bcs/structs.ts +70 -0
  20. package/src/_dependencies/source/0x2/bls12381/structs.ts +264 -0
  21. package/src/_dependencies/source/0x2/borrow/structs.ts +138 -0
  22. package/src/_dependencies/source/0x2/clock/structs.ts +70 -0
  23. package/src/_dependencies/source/0x2/coin/structs.ts +400 -0
  24. package/src/_dependencies/source/0x2/deny-list/structs.ts +139 -0
  25. package/src/_dependencies/source/0x2/display/structs.ts +202 -0
  26. package/src/_dependencies/source/0x2/dynamic-field/structs.ts +70 -0
  27. package/src/_dependencies/source/0x2/dynamic-object-field/structs.ts +71 -0
  28. package/src/_dependencies/source/0x2/groth16/structs.ts +265 -0
  29. package/src/_dependencies/source/0x2/group-ops/structs.ts +70 -0
  30. package/src/_dependencies/source/0x2/index.ts +1 -0
  31. package/src/_dependencies/source/0x2/init.ts +125 -0
  32. package/src/_dependencies/source/0x2/kiosk/structs.ts +658 -0
  33. package/src/_dependencies/source/0x2/kiosk-extension/structs.ts +135 -0
  34. package/src/_dependencies/source/0x2/linked-table/structs.ts +136 -0
  35. package/src/_dependencies/source/0x2/object/structs.ts +134 -0
  36. package/src/_dependencies/source/0x2/object-bag/structs.ts +70 -0
  37. package/src/_dependencies/source/0x2/object-table/structs.ts +70 -0
  38. package/src/_dependencies/source/0x2/package/structs.ts +267 -0
  39. package/src/_dependencies/source/0x2/priority-queue/structs.ts +139 -0
  40. package/src/_dependencies/source/0x2/random/structs.ts +202 -0
  41. package/src/_dependencies/source/0x2/sui/structs.ts +69 -0
  42. package/src/_dependencies/source/0x2/table/structs.ts +70 -0
  43. package/src/_dependencies/source/0x2/table-vec/structs.ts +71 -0
  44. package/src/_dependencies/source/0x2/token/structs.ts +401 -0
  45. package/src/_dependencies/source/0x2/transfer/structs.ts +70 -0
  46. package/src/_dependencies/source/0x2/transfer-policy/structs.ts +400 -0
  47. package/src/_dependencies/source/0x2/tx-context/structs.ts +70 -0
  48. package/src/_dependencies/source/0x2/url/structs.ts +70 -0
  49. package/src/_dependencies/source/0x2/vec-map/structs.ts +135 -0
  50. package/src/_dependencies/source/0x2/vec-set/structs.ts +72 -0
  51. package/src/_dependencies/source/0x2/versioned/structs.ts +135 -0
  52. package/src/_dependencies/source/0x2/zklogin-verified-id/structs.ts +71 -0
  53. package/src/_dependencies/source/0x2/zklogin-verified-issuer/structs.ts +71 -0
  54. package/src/_dependencies/source/0x277f90d256d1015a78cad646db091bec451c5bbab834b9fb70bace7885b5c698/index.ts +1 -0
  55. package/src/_dependencies/source/0x277f90d256d1015a78cad646db091bec451c5bbab834b9fb70bace7885b5c698/init.ts +5 -0
  56. package/src/_dependencies/source/0x277f90d256d1015a78cad646db091bec451c5bbab834b9fb70bace7885b5c698/validator/structs.ts +70 -0
  57. package/src/_dependencies/source/0x2fdff17b86e34ab722c8ba5e63f0da070d9a4163705b3fdc6a95802cab40a72a/index.ts +1 -0
  58. package/src/_dependencies/source/0x2fdff17b86e34ab722c8ba5e63f0da070d9a4163705b3fdc6a95802cab40a72a/init.ts +8 -0
  59. package/src/_dependencies/source/0x2fdff17b86e34ab722c8ba5e63f0da070d9a4163705b3fdc6a95802cab40a72a/price-data-pull/structs.ts +69 -0
  60. package/src/_dependencies/source/0x2fdff17b86e34ab722c8ba5e63f0da070d9a4163705b3fdc6a95802cab40a72a/suprasvaluefeed/structs.ts +135 -0
  61. package/src/_dependencies/source/0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277/airdrop/structs.ts +400 -0
  62. package/src/_dependencies/source/0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277/big-vector/structs.ts +372 -0
  63. package/src/_dependencies/source/0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277/critbit/structs.ts +205 -0
  64. package/src/_dependencies/source/0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277/ecosystem/structs.ts +333 -0
  65. package/src/_dependencies/source/0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277/index.ts +1 -0
  66. package/src/_dependencies/source/0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277/init.ts +48 -0
  67. package/src/_dependencies/source/0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277/leaderboard/structs.ts +465 -0
  68. package/src/_dependencies/source/0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277/linked-object-table/structs.ts +136 -0
  69. package/src/_dependencies/source/0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277/linked-set/structs.ts +140 -0
  70. package/src/_dependencies/source/0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277/tgld/structs.ts +268 -0
  71. package/src/_dependencies/source/0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277/user/structs.ts +332 -0
  72. package/src/_dependencies/source/0x5cfd0819411be98034cba544cbffab192c2c35674a05ff57f4f1c5042875b828/discount-mint/structs.ts +466 -0
  73. package/src/_dependencies/source/0x5cfd0819411be98034cba544cbffab192c2c35674a05ff57f4f1c5042875b828/index.ts +1 -0
  74. package/src/_dependencies/source/0x5cfd0819411be98034cba544cbffab192c2c35674a05ff57f4f1c5042875b828/init.ts +36 -0
  75. package/src/_dependencies/source/0x5cfd0819411be98034cba544cbffab192c2c35674a05ff57f4f1c5042875b828/royalty-rule/structs.ts +134 -0
  76. package/src/_dependencies/source/0x5cfd0819411be98034cba544cbffab192c2c35674a05ff57f4f1c5042875b828/staking/structs.ts +333 -0
  77. package/src/_dependencies/source/0x5cfd0819411be98034cba544cbffab192c2c35674a05ff57f4f1c5042875b828/table-vec/structs.ts +71 -0
  78. package/src/_dependencies/source/0x5cfd0819411be98034cba544cbffab192c2c35674a05ff57f4f1c5042875b828/typus-nft/structs.ts +856 -0
  79. package/src/_dependencies/source/0x6c9a394a43844fc09d9617bc8a8e775a4521f0e28e83de1da780d043a498671f/auto-bid/structs.ts +1049 -0
  80. package/src/_dependencies/source/0x6c9a394a43844fc09d9617bc8a8e775a4521f0e28e83de1da780d043a498671f/index.ts +1 -0
  81. package/src/_dependencies/source/0x6c9a394a43844fc09d9617bc8a8e775a4521f0e28e83de1da780d043a498671f/init.ts +104 -0
  82. package/src/_dependencies/source/0x6c9a394a43844fc09d9617bc8a8e775a4521f0e28e83de1da780d043a498671f/tails-staking/structs.ts +1054 -0
  83. package/src/_dependencies/source/0x6c9a394a43844fc09d9617bc8a8e775a4521f0e28e83de1da780d043a498671f/tds-authorized-entry/structs.ts +592 -0
  84. package/src/_dependencies/source/0x6c9a394a43844fc09d9617bc8a8e775a4521f0e28e83de1da780d043a498671f/tds-fee-pool-entry/structs.ts +461 -0
  85. package/src/_dependencies/source/0x6c9a394a43844fc09d9617bc8a8e775a4521f0e28e83de1da780d043a498671f/tds-registry-authorized-entry/structs.ts +592 -0
  86. package/src/_dependencies/source/0x6c9a394a43844fc09d9617bc8a8e775a4521f0e28e83de1da780d043a498671f/tds-view-function/structs.ts +69 -0
  87. package/src/_dependencies/source/0x6c9a394a43844fc09d9617bc8a8e775a4521f0e28e83de1da780d043a498671f/typus-dov-single/structs.ts +2351 -0
  88. package/src/_dependencies/source/0x7237ec8436ef7e927c45470db6db3a834dd84cf903aedee3844e847fe4805399/index.ts +1 -0
  89. package/src/_dependencies/source/0x7237ec8436ef7e927c45470db6db3a834dd84cf903aedee3844e847fe4805399/init.ts +3 -0
  90. package/src/_dependencies/source/0x908a10789a1a6953e0b73a997c10e3552f7ce4e2907afd00a334ed74bd973ded/authority/structs.ts +71 -0
  91. package/src/_dependencies/source/0x908a10789a1a6953e0b73a997c10e3552f7ce4e2907afd00a334ed74bd973ded/balance-pool/structs.ts +203 -0
  92. package/src/_dependencies/source/0x908a10789a1a6953e0b73a997c10e3552f7ce4e2907afd00a334ed74bd973ded/big-vector/structs.ts +70 -0
  93. package/src/_dependencies/source/0x908a10789a1a6953e0b73a997c10e3552f7ce4e2907afd00a334ed74bd973ded/dutch/structs.ts +528 -0
  94. package/src/_dependencies/source/0x908a10789a1a6953e0b73a997c10e3552f7ce4e2907afd00a334ed74bd973ded/i64/structs.ts +69 -0
  95. package/src/_dependencies/source/0x908a10789a1a6953e0b73a997c10e3552f7ce4e2907afd00a334ed74bd973ded/index.ts +1 -0
  96. package/src/_dependencies/source/0x908a10789a1a6953e0b73a997c10e3552f7ce4e2907afd00a334ed74bd973ded/init.ts +54 -0
  97. package/src/_dependencies/source/0x908a10789a1a6953e0b73a997c10e3552f7ce4e2907afd00a334ed74bd973ded/linked-list/structs.ts +136 -0
  98. package/src/_dependencies/source/0x908a10789a1a6953e0b73a997c10e3552f7ce4e2907afd00a334ed74bd973ded/vault/structs.ts +1829 -0
  99. package/src/_dependencies/source/0x98670585b87e06628ef2d7f7cb1e7bee8ada65b43b82997935225a7e6e21d18e/aggregator/structs.ts +398 -0
  100. package/src/_dependencies/source/0x98670585b87e06628ef2d7f7cb1e7bee8ada65b43b82997935225a7e6e21d18e/index.ts +1 -0
  101. package/src/_dependencies/source/0x98670585b87e06628ef2d7f7cb1e7bee8ada65b43b82997935225a7e6e21d18e/init.ts +18 -0
  102. package/src/_dependencies/source/0x98670585b87e06628ef2d7f7cb1e7bee8ada65b43b82997935225a7e6e21d18e/job/structs.ts +71 -0
  103. package/src/_dependencies/source/0x98670585b87e06628ef2d7f7cb1e7bee8ada65b43b82997935225a7e6e21d18e/math/structs.ts +69 -0
  104. package/src/_dependencies/source/0x98670585b87e06628ef2d7f7cb1e7bee8ada65b43b82997935225a7e6e21d18e/quote/structs.ts +71 -0
  105. package/src/_dependencies/source/0x98670585b87e06628ef2d7f7cb1e7bee8ada65b43b82997935225a7e6e21d18e/switchboard/structs.ts +70 -0
  106. package/src/_dependencies/source/0xbd8fc1947cf119350184107a3087e2dc27efefa0dd82e25a1f699069fe81a585/index.ts +1 -0
  107. package/src/_dependencies/source/0xbd8fc1947cf119350184107a3087e2dc27efefa0dd82e25a1f699069fe81a585/init.ts +11 -0
  108. package/src/_dependencies/source/0xbd8fc1947cf119350184107a3087e2dc27efefa0dd82e25a1f699069fe81a585/kiosk-lock-rule/structs.ts +134 -0
  109. package/src/_dependencies/source/0xbd8fc1947cf119350184107a3087e2dc27efefa0dd82e25a1f699069fe81a585/royalty-rule/structs.ts +134 -0
  110. package/src/_dependencies/source/0xbd8fc1947cf119350184107a3087e2dc27efefa0dd82e25a1f699069fe81a585/witness-rule/structs.ts +69 -0
  111. package/src/_dependencies/source/0xcc029e2810f17f9f43f52262f40026a71fbdca40ed3803ad2884994361910b7e/bytes20/structs.ts +70 -0
  112. package/src/_dependencies/source/0xcc029e2810f17f9f43f52262f40026a71fbdca40ed3803ad2884994361910b7e/bytes32/structs.ts +70 -0
  113. package/src/_dependencies/source/0xcc029e2810f17f9f43f52262f40026a71fbdca40ed3803ad2884994361910b7e/consumed-vaas/structs.ts +72 -0
  114. package/src/_dependencies/source/0xcc029e2810f17f9f43f52262f40026a71fbdca40ed3803ad2884994361910b7e/cursor/structs.ts +72 -0
  115. package/src/_dependencies/source/0xcc029e2810f17f9f43f52262f40026a71fbdca40ed3803ad2884994361910b7e/emitter/structs.ts +200 -0
  116. package/src/_dependencies/source/0xcc029e2810f17f9f43f52262f40026a71fbdca40ed3803ad2884994361910b7e/external-address/structs.ts +70 -0
  117. package/src/_dependencies/source/0xcc029e2810f17f9f43f52262f40026a71fbdca40ed3803ad2884994361910b7e/fee-collector/structs.ts +72 -0
  118. package/src/_dependencies/source/0xcc029e2810f17f9f43f52262f40026a71fbdca40ed3803ad2884994361910b7e/governance-message/structs.ts +137 -0
  119. package/src/_dependencies/source/0xcc029e2810f17f9f43f52262f40026a71fbdca40ed3803ad2884994361910b7e/guardian/structs.ts +70 -0
  120. package/src/_dependencies/source/0xcc029e2810f17f9f43f52262f40026a71fbdca40ed3803ad2884994361910b7e/guardian-set/structs.ts +71 -0
  121. package/src/_dependencies/source/0xcc029e2810f17f9f43f52262f40026a71fbdca40ed3803ad2884994361910b7e/guardian-signature/structs.ts +70 -0
  122. package/src/_dependencies/source/0xcc029e2810f17f9f43f52262f40026a71fbdca40ed3803ad2884994361910b7e/index.ts +1 -0
  123. package/src/_dependencies/source/0xcc029e2810f17f9f43f52262f40026a71fbdca40ed3803ad2884994361910b7e/init.ts +65 -0
  124. package/src/_dependencies/source/0xcc029e2810f17f9f43f52262f40026a71fbdca40ed3803ad2884994361910b7e/migrate/structs.ts +70 -0
  125. package/src/_dependencies/source/0xcc029e2810f17f9f43f52262f40026a71fbdca40ed3803ad2884994361910b7e/package-utils/structs.ts +266 -0
  126. package/src/_dependencies/source/0xcc029e2810f17f9f43f52262f40026a71fbdca40ed3803ad2884994361910b7e/publish-message/structs.ts +136 -0
  127. package/src/_dependencies/source/0xcc029e2810f17f9f43f52262f40026a71fbdca40ed3803ad2884994361910b7e/set/structs.ts +136 -0
  128. package/src/_dependencies/source/0xcc029e2810f17f9f43f52262f40026a71fbdca40ed3803ad2884994361910b7e/set-fee/structs.ts +134 -0
  129. package/src/_dependencies/source/0xcc029e2810f17f9f43f52262f40026a71fbdca40ed3803ad2884994361910b7e/setup/structs.ts +70 -0
  130. package/src/_dependencies/source/0xcc029e2810f17f9f43f52262f40026a71fbdca40ed3803ad2884994361910b7e/state/structs.ts +142 -0
  131. package/src/_dependencies/source/0xcc029e2810f17f9f43f52262f40026a71fbdca40ed3803ad2884994361910b7e/transfer-fee/structs.ts +134 -0
  132. package/src/_dependencies/source/0xcc029e2810f17f9f43f52262f40026a71fbdca40ed3803ad2884994361910b7e/update-guardian-set/structs.ts +201 -0
  133. package/src/_dependencies/source/0xcc029e2810f17f9f43f52262f40026a71fbdca40ed3803ad2884994361910b7e/upgrade-contract/structs.ts +201 -0
  134. package/src/_dependencies/source/0xcc029e2810f17f9f43f52262f40026a71fbdca40ed3803ad2884994361910b7e/vaa/structs.ts +72 -0
  135. package/src/_dependencies/source/0xcc029e2810f17f9f43f52262f40026a71fbdca40ed3803ad2884994361910b7e/version-control/structs.ts +134 -0
  136. package/src/_dependencies/source/0xe76d8a37d4132278a7a752183e90e04890b9e7d0f6657eadb68821609a2a56a3/batch-price-attestation/structs.ts +136 -0
  137. package/src/_dependencies/source/0xe76d8a37d4132278a7a752183e90e04890b9e7d0f6657eadb68821609a2a56a3/contract-upgrade/structs.ts +136 -0
  138. package/src/_dependencies/source/0xe76d8a37d4132278a7a752183e90e04890b9e7d0f6657eadb68821609a2a56a3/data-source/structs.ts +70 -0
  139. package/src/_dependencies/source/0xe76d8a37d4132278a7a752183e90e04890b9e7d0f6657eadb68821609a2a56a3/event/structs.ts +135 -0
  140. package/src/_dependencies/source/0xe76d8a37d4132278a7a752183e90e04890b9e7d0f6657eadb68821609a2a56a3/governance/structs.ts +71 -0
  141. package/src/_dependencies/source/0xe76d8a37d4132278a7a752183e90e04890b9e7d0f6657eadb68821609a2a56a3/governance-action/structs.ts +69 -0
  142. package/src/_dependencies/source/0xe76d8a37d4132278a7a752183e90e04890b9e7d0f6657eadb68821609a2a56a3/governance-instruction/structs.ts +71 -0
  143. package/src/_dependencies/source/0xe76d8a37d4132278a7a752183e90e04890b9e7d0f6657eadb68821609a2a56a3/hot-potato-vector/structs.ts +72 -0
  144. package/src/_dependencies/source/0xe76d8a37d4132278a7a752183e90e04890b9e7d0f6657eadb68821609a2a56a3/i64/structs.ts +69 -0
  145. package/src/_dependencies/source/0xe76d8a37d4132278a7a752183e90e04890b9e7d0f6657eadb68821609a2a56a3/index.ts +1 -0
  146. package/src/_dependencies/source/0xe76d8a37d4132278a7a752183e90e04890b9e7d0f6657eadb68821609a2a56a3/init.ts +59 -0
  147. package/src/_dependencies/source/0xe76d8a37d4132278a7a752183e90e04890b9e7d0f6657eadb68821609a2a56a3/migrate/structs.ts +70 -0
  148. package/src/_dependencies/source/0xe76d8a37d4132278a7a752183e90e04890b9e7d0f6657eadb68821609a2a56a3/price/structs.ts +70 -0
  149. package/src/_dependencies/source/0xe76d8a37d4132278a7a752183e90e04890b9e7d0f6657eadb68821609a2a56a3/price-feed/structs.ts +71 -0
  150. package/src/_dependencies/source/0xe76d8a37d4132278a7a752183e90e04890b9e7d0f6657eadb68821609a2a56a3/price-identifier/structs.ts +70 -0
  151. package/src/_dependencies/source/0xe76d8a37d4132278a7a752183e90e04890b9e7d0f6657eadb68821609a2a56a3/price-info/structs.ts +136 -0
  152. package/src/_dependencies/source/0xe76d8a37d4132278a7a752183e90e04890b9e7d0f6657eadb68821609a2a56a3/price-status/structs.ts +69 -0
  153. package/src/_dependencies/source/0xe76d8a37d4132278a7a752183e90e04890b9e7d0f6657eadb68821609a2a56a3/set/structs.ts +138 -0
  154. package/src/_dependencies/source/0xe76d8a37d4132278a7a752183e90e04890b9e7d0f6657eadb68821609a2a56a3/set-data-sources/structs.ts +71 -0
  155. package/src/_dependencies/source/0xe76d8a37d4132278a7a752183e90e04890b9e7d0f6657eadb68821609a2a56a3/set-fee-recipient/structs.ts +69 -0
  156. package/src/_dependencies/source/0xe76d8a37d4132278a7a752183e90e04890b9e7d0f6657eadb68821609a2a56a3/set-governance-data-source/structs.ts +70 -0
  157. package/src/_dependencies/source/0xe76d8a37d4132278a7a752183e90e04890b9e7d0f6657eadb68821609a2a56a3/set-stale-price-threshold/structs.ts +69 -0
  158. package/src/_dependencies/source/0xe76d8a37d4132278a7a752183e90e04890b9e7d0f6657eadb68821609a2a56a3/set-update-fee/structs.ts +69 -0
  159. package/src/_dependencies/source/0xe76d8a37d4132278a7a752183e90e04890b9e7d0f6657eadb68821609a2a56a3/setup/structs.ts +70 -0
  160. package/src/_dependencies/source/0xe76d8a37d4132278a7a752183e90e04890b9e7d0f6657eadb68821609a2a56a3/state/structs.ts +203 -0
  161. package/src/_dependencies/source/0xe76d8a37d4132278a7a752183e90e04890b9e7d0f6657eadb68821609a2a56a3/version-control/structs.ts +134 -0
  162. package/src/_framework/init-source.ts +39 -0
  163. package/src/_framework/loader.ts +69 -0
  164. package/src/_framework/reified.ts +442 -0
  165. package/src/_framework/util.ts +265 -0
  166. package/src/airdrop/authority-entry.ts +101 -0
  167. package/src/airdrop/index.ts +3 -0
  168. package/src/airdrop/user-entry.ts +24 -0
  169. package/src/airdrop/view-function.ts +36 -0
  170. package/src/auto-bid/index.ts +2 -0
  171. package/src/auto-bid/user-entry.ts +256 -0
  172. package/src/auto-bid/view-function.ts +285 -0
  173. package/src/constants/constant.ts +32 -0
  174. package/src/constants/index.ts +2 -0
  175. package/src/constants/token.ts +194 -0
  176. package/src/index.ts +11 -0
  177. package/src/leaderboard/authority-entry.ts +63 -0
  178. package/src/leaderboard/index.ts +2 -0
  179. package/src/leaderboard/view-function.ts +66 -0
  180. package/src/tails-exp-dice/api.ts +46 -0
  181. package/src/tails-exp-dice/fetch.ts +347 -0
  182. package/src/tails-exp-dice/index.ts +4 -0
  183. package/src/tails-exp-dice/user-entry.ts +241 -0
  184. package/src/tails-exp-dice/view-function.ts +111 -0
  185. package/src/tails-staking/authority-entry.ts +333 -0
  186. package/src/tails-staking/index.ts +3 -0
  187. package/src/tails-staking/user-entry.ts +401 -0
  188. package/src/tails-staking/view-function.ts +86 -0
  189. package/src/typus-dov-single-v2/entry/authority-entry.ts +171 -0
  190. package/src/typus-dov-single-v2/entry/index.ts +3 -0
  191. package/src/typus-dov-single-v2/entry/mfud-user-entry.ts +591 -0
  192. package/src/typus-dov-single-v2/entry/user-entry.ts +573 -0
  193. package/src/typus-dov-single-v2/function/bidding.ts +823 -0
  194. package/src/typus-dov-single-v2/function/index.ts +3 -0
  195. package/src/typus-dov-single-v2/function/token.ts +38 -0
  196. package/src/typus-dov-single-v2/function/vault.ts +24 -0
  197. package/src/typus-dov-single-v2/history/index.ts +2 -0
  198. package/src/typus-dov-single-v2/history/user-history.ts +929 -0
  199. package/src/typus-dov-single-v2/history/vault-history.ts +452 -0
  200. package/src/typus-dov-single-v2/index.ts +4 -0
  201. package/src/typus-dov-single-v2/view-function.ts +705 -0
  202. package/src/typus-nft/fetch.ts +428 -0
  203. package/src/typus-nft/index.ts +2 -0
  204. package/src/typus-nft/user-entry.ts +113 -0
  205. package/src/typus-perp/admin/functions.ts +141 -0
  206. package/src/typus-perp/admin/structs.ts +793 -0
  207. package/src/typus-perp/fetch.ts +253 -0
  208. package/src/typus-perp/index.ts +9 -0
  209. package/src/typus-perp/init.ts +96 -0
  210. package/src/typus-perp/lp-pool/functions.ts +694 -0
  211. package/src/typus-perp/lp-pool/structs.ts +3884 -0
  212. package/src/typus-perp/math/functions.ts +53 -0
  213. package/src/typus-perp/oracle/functions.ts +32 -0
  214. package/src/typus-perp/oracle/structs.ts +317 -0
  215. package/src/typus-perp/position/functions.ts +887 -0
  216. package/src/typus-perp/position/structs.ts +1637 -0
  217. package/src/typus-perp/readVec.ts +118 -0
  218. package/src/typus-perp/stake-pool/functions.ts +421 -0
  219. package/src/typus-perp/stake-pool/structs.ts +3873 -0
  220. package/src/typus-perp/symbol/functions.ts +24 -0
  221. package/src/typus-perp/symbol/structs.ts +165 -0
  222. package/src/typus-perp/tlp/functions.ts +50 -0
  223. package/src/typus-perp/tlp/structs.ts +287 -0
  224. package/src/typus-perp/token-interface/functions.ts +29 -0
  225. package/src/typus-perp/trading/functions.ts +1046 -0
  226. package/src/typus-perp/trading/structs.ts +4541 -0
  227. package/src/typus-perp/treasury-caps/functions.ts +36 -0
  228. package/src/typus-perp/treasury-caps/structs.ts +151 -0
  229. package/src/typus-perp/user/order.ts +221 -0
  230. package/src/typus-perp/user/orderWithBidReceipt.ts +176 -0
  231. package/src/typus-perp/user/tlp.ts +234 -0
  232. package/src/user/index.ts +1 -0
  233. package/src/user/view-function.ts +33 -0
  234. package/src/utils/.DS_Store +0 -0
  235. package/src/utils/api/defillama/index.ts +1 -0
  236. package/src/utils/api/defillama/tvl.ts +11 -0
  237. package/src/utils/api/index.ts +3 -0
  238. package/src/utils/api/price.ts +101 -0
  239. package/src/utils/api/sentio/index.ts +2 -0
  240. package/src/utils/api/sentio/leader-board.ts +259 -0
  241. package/src/utils/api/sentio/reward-generated.ts +392 -0
  242. package/src/utils/index.ts +5 -0
  243. package/src/utils/load_env.ts +5 -0
  244. package/src/utils/mint.ts +16 -0
  245. package/src/utils/pyth/constant.ts +71 -0
  246. package/src/utils/pyth/index.ts +2 -0
  247. package/src/utils/pyth/pythClient.ts +52 -0
  248. package/src/utils/tools.ts +38 -0
@@ -0,0 +1,4541 @@
1
+ import * as reified from "../../_framework/reified";
2
+ import { Option } from "../../_dependencies/source/0x1/option/structs";
3
+ import { TypeName } from "../../_dependencies/source/0x1/type-name/structs";
4
+ import { ObjectTable } from "../../_dependencies/source/0x2/object-table/structs";
5
+ import { UID } from "../../_dependencies/source/0x2/object/structs";
6
+ import { BigVector } from "../../_dependencies/source/0x4213e12a2220f15f1837a76897110d2260786558169bd8d0847f21e9b551f277/big-vector/structs";
7
+ import {
8
+ PhantomReified,
9
+ Reified,
10
+ StructClass,
11
+ ToField,
12
+ ToTypeStr,
13
+ Vector,
14
+ decodeFromFields,
15
+ decodeFromFieldsWithTypes,
16
+ decodeFromJSONField,
17
+ fieldToJSON,
18
+ phantom,
19
+ ToTypeStr as ToPhantom,
20
+ } from "../../_framework/reified";
21
+ import { FieldsWithTypes, composeSuiType, compressSuiType } from "../../_framework/util";
22
+ import { bcs, fromB64, fromHEX, toHEX } from "@mysten/bcs";
23
+ import { SuiClient, SuiParsedData } from "@mysten/sui.js/client";
24
+
25
+ /* ============================== AddTradingSymbolEvent =============================== */
26
+
27
+ export function isAddTradingSymbolEvent(type: string): boolean {
28
+ type = compressSuiType(type);
29
+ return type === "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::AddTradingSymbolEvent";
30
+ }
31
+
32
+ export interface AddTradingSymbolEventFields {
33
+ index: ToField<"u64">;
34
+ baseTokenType: ToField<TypeName>;
35
+ marketInfo: ToField<MarketInfo>;
36
+ marketConfig: ToField<MarketConfig>;
37
+ u64Padding: ToField<Vector<"u64">>;
38
+ }
39
+
40
+ export type AddTradingSymbolEventReified = Reified<AddTradingSymbolEvent, AddTradingSymbolEventFields>;
41
+
42
+ export class AddTradingSymbolEvent implements StructClass {
43
+ static readonly $typeName = "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::AddTradingSymbolEvent";
44
+ static readonly $numTypeParams = 0;
45
+
46
+ readonly $typeName = AddTradingSymbolEvent.$typeName;
47
+
48
+ readonly $fullTypeName: "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::AddTradingSymbolEvent";
49
+
50
+ readonly $typeArgs: [];
51
+
52
+ readonly index: ToField<"u64">;
53
+ readonly baseTokenType: ToField<TypeName>;
54
+ readonly marketInfo: ToField<MarketInfo>;
55
+ readonly marketConfig: ToField<MarketConfig>;
56
+ readonly u64Padding: ToField<Vector<"u64">>;
57
+
58
+ private constructor(typeArgs: [], fields: AddTradingSymbolEventFields) {
59
+ this.$fullTypeName = composeSuiType(
60
+ AddTradingSymbolEvent.$typeName,
61
+ ...typeArgs
62
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::AddTradingSymbolEvent";
63
+ this.$typeArgs = typeArgs;
64
+
65
+ this.index = fields.index;
66
+ this.baseTokenType = fields.baseTokenType;
67
+ this.marketInfo = fields.marketInfo;
68
+ this.marketConfig = fields.marketConfig;
69
+ this.u64Padding = fields.u64Padding;
70
+ }
71
+
72
+ static reified(): AddTradingSymbolEventReified {
73
+ return {
74
+ typeName: AddTradingSymbolEvent.$typeName,
75
+ fullTypeName: composeSuiType(
76
+ AddTradingSymbolEvent.$typeName,
77
+ ...[]
78
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::AddTradingSymbolEvent",
79
+ typeArgs: [] as [],
80
+ reifiedTypeArgs: [],
81
+ fromFields: (fields: Record<string, any>) => AddTradingSymbolEvent.fromFields(fields),
82
+ fromFieldsWithTypes: (item: FieldsWithTypes) => AddTradingSymbolEvent.fromFieldsWithTypes(item),
83
+ fromBcs: (data: Uint8Array) => AddTradingSymbolEvent.fromBcs(data),
84
+ bcs: AddTradingSymbolEvent.bcs,
85
+ fromJSONField: (field: any) => AddTradingSymbolEvent.fromJSONField(field),
86
+ fromJSON: (json: Record<string, any>) => AddTradingSymbolEvent.fromJSON(json),
87
+ fromSuiParsedData: (content: SuiParsedData) => AddTradingSymbolEvent.fromSuiParsedData(content),
88
+ fetch: async (client: SuiClient, id: string) => AddTradingSymbolEvent.fetch(client, id),
89
+ new: (fields: AddTradingSymbolEventFields) => {
90
+ return new AddTradingSymbolEvent([], fields);
91
+ },
92
+ kind: "StructClassReified",
93
+ };
94
+ }
95
+
96
+ static get r() {
97
+ return AddTradingSymbolEvent.reified();
98
+ }
99
+
100
+ static phantom(): PhantomReified<ToTypeStr<AddTradingSymbolEvent>> {
101
+ return phantom(AddTradingSymbolEvent.reified());
102
+ }
103
+ static get p() {
104
+ return AddTradingSymbolEvent.phantom();
105
+ }
106
+
107
+ static get bcs() {
108
+ return bcs.struct("AddTradingSymbolEvent", {
109
+ index: bcs.u64(),
110
+ base_token_type: TypeName.bcs,
111
+ market_info: MarketInfo.bcs,
112
+ market_config: MarketConfig.bcs,
113
+ u64_padding: bcs.vector(bcs.u64()),
114
+ });
115
+ }
116
+
117
+ static fromFields(fields: Record<string, any>): AddTradingSymbolEvent {
118
+ return AddTradingSymbolEvent.reified().new({
119
+ index: decodeFromFields("u64", fields.index),
120
+ baseTokenType: decodeFromFields(TypeName.reified(), fields.base_token_type),
121
+ marketInfo: decodeFromFields(MarketInfo.reified(), fields.market_info),
122
+ marketConfig: decodeFromFields(MarketConfig.reified(), fields.market_config),
123
+ u64Padding: decodeFromFields(reified.vector("u64"), fields.u64_padding),
124
+ });
125
+ }
126
+
127
+ static fromFieldsWithTypes(item: FieldsWithTypes): AddTradingSymbolEvent {
128
+ if (!isAddTradingSymbolEvent(item.type)) {
129
+ throw new Error("not a AddTradingSymbolEvent type");
130
+ }
131
+
132
+ return AddTradingSymbolEvent.reified().new({
133
+ index: decodeFromFieldsWithTypes("u64", item.fields.index),
134
+ baseTokenType: decodeFromFieldsWithTypes(TypeName.reified(), item.fields.base_token_type),
135
+ marketInfo: decodeFromFieldsWithTypes(MarketInfo.reified(), item.fields.market_info),
136
+ marketConfig: decodeFromFieldsWithTypes(MarketConfig.reified(), item.fields.market_config),
137
+ u64Padding: decodeFromFieldsWithTypes(reified.vector("u64"), item.fields.u64_padding),
138
+ });
139
+ }
140
+
141
+ static fromBcs(data: Uint8Array): AddTradingSymbolEvent {
142
+ return AddTradingSymbolEvent.fromFields(AddTradingSymbolEvent.bcs.parse(data));
143
+ }
144
+
145
+ toJSONField() {
146
+ return {
147
+ index: this.index.toString(),
148
+ baseTokenType: this.baseTokenType.toJSONField(),
149
+ marketInfo: this.marketInfo.toJSONField(),
150
+ marketConfig: this.marketConfig.toJSONField(),
151
+ u64Padding: fieldToJSON<Vector<"u64">>(`vector<u64>`, this.u64Padding),
152
+ };
153
+ }
154
+
155
+ toJSON() {
156
+ return { $typeName: this.$typeName, $typeArgs: this.$typeArgs, ...this.toJSONField() };
157
+ }
158
+
159
+ static fromJSONField(field: any): AddTradingSymbolEvent {
160
+ return AddTradingSymbolEvent.reified().new({
161
+ index: decodeFromJSONField("u64", field.index),
162
+ baseTokenType: decodeFromJSONField(TypeName.reified(), field.baseTokenType),
163
+ marketInfo: decodeFromJSONField(MarketInfo.reified(), field.marketInfo),
164
+ marketConfig: decodeFromJSONField(MarketConfig.reified(), field.marketConfig),
165
+ u64Padding: decodeFromJSONField(reified.vector("u64"), field.u64Padding),
166
+ });
167
+ }
168
+
169
+ static fromJSON(json: Record<string, any>): AddTradingSymbolEvent {
170
+ if (json.$typeName !== AddTradingSymbolEvent.$typeName) {
171
+ throw new Error("not a WithTwoGenerics json object");
172
+ }
173
+
174
+ return AddTradingSymbolEvent.fromJSONField(json);
175
+ }
176
+
177
+ static fromSuiParsedData(content: SuiParsedData): AddTradingSymbolEvent {
178
+ if (content.dataType !== "moveObject") {
179
+ throw new Error("not an object");
180
+ }
181
+ if (!isAddTradingSymbolEvent(content.type)) {
182
+ throw new Error(`object at ${(content.fields as any).id} is not a AddTradingSymbolEvent object`);
183
+ }
184
+ return AddTradingSymbolEvent.fromFieldsWithTypes(content);
185
+ }
186
+
187
+ static async fetch(client: SuiClient, id: string): Promise<AddTradingSymbolEvent> {
188
+ const res = await client.getObject({ id, options: { showBcs: true } });
189
+ if (res.error) {
190
+ throw new Error(`error fetching AddTradingSymbolEvent object at id ${id}: ${res.error.code}`);
191
+ }
192
+ if (res.data?.bcs?.dataType !== "moveObject" || !isAddTradingSymbolEvent(res.data.bcs.type)) {
193
+ throw new Error(`object at id ${id} is not a AddTradingSymbolEvent object`);
194
+ }
195
+ return AddTradingSymbolEvent.fromBcs(fromB64(res.data.bcs.bcsBytes));
196
+ }
197
+ }
198
+
199
+ /* ============================== CancelTradingOrderEvent =============================== */
200
+
201
+ export function isCancelTradingOrderEvent(type: string): boolean {
202
+ type = compressSuiType(type);
203
+ return type === "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::CancelTradingOrderEvent";
204
+ }
205
+
206
+ export interface CancelTradingOrderEventFields {
207
+ user: ToField<"address">;
208
+ marketIndex: ToField<"u64">;
209
+ orderId: ToField<"u64">;
210
+ triggerPrice: ToField<"u64">;
211
+ collateralToken: ToField<TypeName>;
212
+ baseToken: ToField<TypeName>;
213
+ releasedCollateralAmount: ToField<"u64">;
214
+ u64Padding: ToField<Vector<"u64">>;
215
+ }
216
+
217
+ export type CancelTradingOrderEventReified = Reified<CancelTradingOrderEvent, CancelTradingOrderEventFields>;
218
+
219
+ export class CancelTradingOrderEvent implements StructClass {
220
+ static readonly $typeName = "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::CancelTradingOrderEvent";
221
+ static readonly $numTypeParams = 0;
222
+
223
+ readonly $typeName = CancelTradingOrderEvent.$typeName;
224
+
225
+ readonly $fullTypeName: "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::CancelTradingOrderEvent";
226
+
227
+ readonly $typeArgs: [];
228
+
229
+ readonly user: ToField<"address">;
230
+ readonly marketIndex: ToField<"u64">;
231
+ readonly orderId: ToField<"u64">;
232
+ readonly triggerPrice: ToField<"u64">;
233
+ readonly collateralToken: ToField<TypeName>;
234
+ readonly baseToken: ToField<TypeName>;
235
+ readonly releasedCollateralAmount: ToField<"u64">;
236
+ readonly u64Padding: ToField<Vector<"u64">>;
237
+
238
+ private constructor(typeArgs: [], fields: CancelTradingOrderEventFields) {
239
+ this.$fullTypeName = composeSuiType(
240
+ CancelTradingOrderEvent.$typeName,
241
+ ...typeArgs
242
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::CancelTradingOrderEvent";
243
+ this.$typeArgs = typeArgs;
244
+
245
+ this.user = fields.user;
246
+ this.marketIndex = fields.marketIndex;
247
+ this.orderId = fields.orderId;
248
+ this.triggerPrice = fields.triggerPrice;
249
+ this.collateralToken = fields.collateralToken;
250
+ this.baseToken = fields.baseToken;
251
+ this.releasedCollateralAmount = fields.releasedCollateralAmount;
252
+ this.u64Padding = fields.u64Padding;
253
+ }
254
+
255
+ static reified(): CancelTradingOrderEventReified {
256
+ return {
257
+ typeName: CancelTradingOrderEvent.$typeName,
258
+ fullTypeName: composeSuiType(
259
+ CancelTradingOrderEvent.$typeName,
260
+ ...[]
261
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::CancelTradingOrderEvent",
262
+ typeArgs: [] as [],
263
+ reifiedTypeArgs: [],
264
+ fromFields: (fields: Record<string, any>) => CancelTradingOrderEvent.fromFields(fields),
265
+ fromFieldsWithTypes: (item: FieldsWithTypes) => CancelTradingOrderEvent.fromFieldsWithTypes(item),
266
+ fromBcs: (data: Uint8Array) => CancelTradingOrderEvent.fromBcs(data),
267
+ bcs: CancelTradingOrderEvent.bcs,
268
+ fromJSONField: (field: any) => CancelTradingOrderEvent.fromJSONField(field),
269
+ fromJSON: (json: Record<string, any>) => CancelTradingOrderEvent.fromJSON(json),
270
+ fromSuiParsedData: (content: SuiParsedData) => CancelTradingOrderEvent.fromSuiParsedData(content),
271
+ fetch: async (client: SuiClient, id: string) => CancelTradingOrderEvent.fetch(client, id),
272
+ new: (fields: CancelTradingOrderEventFields) => {
273
+ return new CancelTradingOrderEvent([], fields);
274
+ },
275
+ kind: "StructClassReified",
276
+ };
277
+ }
278
+
279
+ static get r() {
280
+ return CancelTradingOrderEvent.reified();
281
+ }
282
+
283
+ static phantom(): PhantomReified<ToTypeStr<CancelTradingOrderEvent>> {
284
+ return phantom(CancelTradingOrderEvent.reified());
285
+ }
286
+ static get p() {
287
+ return CancelTradingOrderEvent.phantom();
288
+ }
289
+
290
+ static get bcs() {
291
+ return bcs.struct("CancelTradingOrderEvent", {
292
+ user: bcs.bytes(32).transform({ input: (val: string) => fromHEX(val), output: (val: Uint8Array) => toHEX(val) }),
293
+ market_index: bcs.u64(),
294
+ order_id: bcs.u64(),
295
+ trigger_price: bcs.u64(),
296
+ collateral_token: TypeName.bcs,
297
+ base_token: TypeName.bcs,
298
+ released_collateral_amount: bcs.u64(),
299
+ u64_padding: bcs.vector(bcs.u64()),
300
+ });
301
+ }
302
+
303
+ static fromFields(fields: Record<string, any>): CancelTradingOrderEvent {
304
+ return CancelTradingOrderEvent.reified().new({
305
+ user: decodeFromFields("address", fields.user),
306
+ marketIndex: decodeFromFields("u64", fields.market_index),
307
+ orderId: decodeFromFields("u64", fields.order_id),
308
+ triggerPrice: decodeFromFields("u64", fields.trigger_price),
309
+ collateralToken: decodeFromFields(TypeName.reified(), fields.collateral_token),
310
+ baseToken: decodeFromFields(TypeName.reified(), fields.base_token),
311
+ releasedCollateralAmount: decodeFromFields("u64", fields.released_collateral_amount),
312
+ u64Padding: decodeFromFields(reified.vector("u64"), fields.u64_padding),
313
+ });
314
+ }
315
+
316
+ static fromFieldsWithTypes(item: FieldsWithTypes): CancelTradingOrderEvent {
317
+ if (!isCancelTradingOrderEvent(item.type)) {
318
+ throw new Error("not a CancelTradingOrderEvent type");
319
+ }
320
+
321
+ return CancelTradingOrderEvent.reified().new({
322
+ user: decodeFromFieldsWithTypes("address", item.fields.user),
323
+ marketIndex: decodeFromFieldsWithTypes("u64", item.fields.market_index),
324
+ orderId: decodeFromFieldsWithTypes("u64", item.fields.order_id),
325
+ triggerPrice: decodeFromFieldsWithTypes("u64", item.fields.trigger_price),
326
+ collateralToken: decodeFromFieldsWithTypes(TypeName.reified(), item.fields.collateral_token),
327
+ baseToken: decodeFromFieldsWithTypes(TypeName.reified(), item.fields.base_token),
328
+ releasedCollateralAmount: decodeFromFieldsWithTypes("u64", item.fields.released_collateral_amount),
329
+ u64Padding: decodeFromFieldsWithTypes(reified.vector("u64"), item.fields.u64_padding),
330
+ });
331
+ }
332
+
333
+ static fromBcs(data: Uint8Array): CancelTradingOrderEvent {
334
+ return CancelTradingOrderEvent.fromFields(CancelTradingOrderEvent.bcs.parse(data));
335
+ }
336
+
337
+ toJSONField() {
338
+ return {
339
+ user: this.user,
340
+ marketIndex: this.marketIndex.toString(),
341
+ orderId: this.orderId.toString(),
342
+ triggerPrice: this.triggerPrice.toString(),
343
+ collateralToken: this.collateralToken.toJSONField(),
344
+ baseToken: this.baseToken.toJSONField(),
345
+ releasedCollateralAmount: this.releasedCollateralAmount.toString(),
346
+ u64Padding: fieldToJSON<Vector<"u64">>(`vector<u64>`, this.u64Padding),
347
+ };
348
+ }
349
+
350
+ toJSON() {
351
+ return { $typeName: this.$typeName, $typeArgs: this.$typeArgs, ...this.toJSONField() };
352
+ }
353
+
354
+ static fromJSONField(field: any): CancelTradingOrderEvent {
355
+ return CancelTradingOrderEvent.reified().new({
356
+ user: decodeFromJSONField("address", field.user),
357
+ marketIndex: decodeFromJSONField("u64", field.marketIndex),
358
+ orderId: decodeFromJSONField("u64", field.orderId),
359
+ triggerPrice: decodeFromJSONField("u64", field.triggerPrice),
360
+ collateralToken: decodeFromJSONField(TypeName.reified(), field.collateralToken),
361
+ baseToken: decodeFromJSONField(TypeName.reified(), field.baseToken),
362
+ releasedCollateralAmount: decodeFromJSONField("u64", field.releasedCollateralAmount),
363
+ u64Padding: decodeFromJSONField(reified.vector("u64"), field.u64Padding),
364
+ });
365
+ }
366
+
367
+ static fromJSON(json: Record<string, any>): CancelTradingOrderEvent {
368
+ if (json.$typeName !== CancelTradingOrderEvent.$typeName) {
369
+ throw new Error("not a WithTwoGenerics json object");
370
+ }
371
+
372
+ return CancelTradingOrderEvent.fromJSONField(json);
373
+ }
374
+
375
+ static fromSuiParsedData(content: SuiParsedData): CancelTradingOrderEvent {
376
+ if (content.dataType !== "moveObject") {
377
+ throw new Error("not an object");
378
+ }
379
+ if (!isCancelTradingOrderEvent(content.type)) {
380
+ throw new Error(`object at ${(content.fields as any).id} is not a CancelTradingOrderEvent object`);
381
+ }
382
+ return CancelTradingOrderEvent.fromFieldsWithTypes(content);
383
+ }
384
+
385
+ static async fetch(client: SuiClient, id: string): Promise<CancelTradingOrderEvent> {
386
+ const res = await client.getObject({ id, options: { showBcs: true } });
387
+ if (res.error) {
388
+ throw new Error(`error fetching CancelTradingOrderEvent object at id ${id}: ${res.error.code}`);
389
+ }
390
+ if (res.data?.bcs?.dataType !== "moveObject" || !isCancelTradingOrderEvent(res.data.bcs.type)) {
391
+ throw new Error(`object at id ${id} is not a CancelTradingOrderEvent object`);
392
+ }
393
+ return CancelTradingOrderEvent.fromBcs(fromB64(res.data.bcs.bcsBytes));
394
+ }
395
+ }
396
+
397
+ /* ============================== CreateTradingOrderEvent =============================== */
398
+
399
+ export function isCreateTradingOrderEvent(type: string): boolean {
400
+ type = compressSuiType(type);
401
+ return type === "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::CreateTradingOrderEvent";
402
+ }
403
+
404
+ export interface CreateTradingOrderEventFields {
405
+ user: ToField<"address">;
406
+ marketIndex: ToField<"u64">;
407
+ poolIndex: ToField<"u64">;
408
+ collateralToken: ToField<TypeName>;
409
+ baseToken: ToField<TypeName>;
410
+ linkedPositionId: ToField<Option<"u64">>;
411
+ collateralAmount: ToField<"u64">;
412
+ leveragePct: ToField<"u64">;
413
+ reduceOnly: ToField<"bool">;
414
+ isLong: ToField<"bool">;
415
+ isStopOrder: ToField<"bool">;
416
+ size: ToField<"u64">;
417
+ triggerPrice: ToField<"u64">;
418
+ filled: ToField<"bool">;
419
+ filledPrice: ToField<Option<"u64">>;
420
+ u64Padding: ToField<Vector<"u64">>;
421
+ }
422
+
423
+ export type CreateTradingOrderEventReified = Reified<CreateTradingOrderEvent, CreateTradingOrderEventFields>;
424
+
425
+ export class CreateTradingOrderEvent implements StructClass {
426
+ static readonly $typeName = "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::CreateTradingOrderEvent";
427
+ static readonly $numTypeParams = 0;
428
+
429
+ readonly $typeName = CreateTradingOrderEvent.$typeName;
430
+
431
+ readonly $fullTypeName: "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::CreateTradingOrderEvent";
432
+
433
+ readonly $typeArgs: [];
434
+
435
+ readonly user: ToField<"address">;
436
+ readonly marketIndex: ToField<"u64">;
437
+ readonly poolIndex: ToField<"u64">;
438
+ readonly collateralToken: ToField<TypeName>;
439
+ readonly baseToken: ToField<TypeName>;
440
+ readonly linkedPositionId: ToField<Option<"u64">>;
441
+ readonly collateralAmount: ToField<"u64">;
442
+ readonly leveragePct: ToField<"u64">;
443
+ readonly reduceOnly: ToField<"bool">;
444
+ readonly isLong: ToField<"bool">;
445
+ readonly isStopOrder: ToField<"bool">;
446
+ readonly size: ToField<"u64">;
447
+ readonly triggerPrice: ToField<"u64">;
448
+ readonly filled: ToField<"bool">;
449
+ readonly filledPrice: ToField<Option<"u64">>;
450
+ readonly u64Padding: ToField<Vector<"u64">>;
451
+
452
+ private constructor(typeArgs: [], fields: CreateTradingOrderEventFields) {
453
+ this.$fullTypeName = composeSuiType(
454
+ CreateTradingOrderEvent.$typeName,
455
+ ...typeArgs
456
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::CreateTradingOrderEvent";
457
+ this.$typeArgs = typeArgs;
458
+
459
+ this.user = fields.user;
460
+ this.marketIndex = fields.marketIndex;
461
+ this.poolIndex = fields.poolIndex;
462
+ this.collateralToken = fields.collateralToken;
463
+ this.baseToken = fields.baseToken;
464
+ this.linkedPositionId = fields.linkedPositionId;
465
+ this.collateralAmount = fields.collateralAmount;
466
+ this.leveragePct = fields.leveragePct;
467
+ this.reduceOnly = fields.reduceOnly;
468
+ this.isLong = fields.isLong;
469
+ this.isStopOrder = fields.isStopOrder;
470
+ this.size = fields.size;
471
+ this.triggerPrice = fields.triggerPrice;
472
+ this.filled = fields.filled;
473
+ this.filledPrice = fields.filledPrice;
474
+ this.u64Padding = fields.u64Padding;
475
+ }
476
+
477
+ static reified(): CreateTradingOrderEventReified {
478
+ return {
479
+ typeName: CreateTradingOrderEvent.$typeName,
480
+ fullTypeName: composeSuiType(
481
+ CreateTradingOrderEvent.$typeName,
482
+ ...[]
483
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::CreateTradingOrderEvent",
484
+ typeArgs: [] as [],
485
+ reifiedTypeArgs: [],
486
+ fromFields: (fields: Record<string, any>) => CreateTradingOrderEvent.fromFields(fields),
487
+ fromFieldsWithTypes: (item: FieldsWithTypes) => CreateTradingOrderEvent.fromFieldsWithTypes(item),
488
+ fromBcs: (data: Uint8Array) => CreateTradingOrderEvent.fromBcs(data),
489
+ bcs: CreateTradingOrderEvent.bcs,
490
+ fromJSONField: (field: any) => CreateTradingOrderEvent.fromJSONField(field),
491
+ fromJSON: (json: Record<string, any>) => CreateTradingOrderEvent.fromJSON(json),
492
+ fromSuiParsedData: (content: SuiParsedData) => CreateTradingOrderEvent.fromSuiParsedData(content),
493
+ fetch: async (client: SuiClient, id: string) => CreateTradingOrderEvent.fetch(client, id),
494
+ new: (fields: CreateTradingOrderEventFields) => {
495
+ return new CreateTradingOrderEvent([], fields);
496
+ },
497
+ kind: "StructClassReified",
498
+ };
499
+ }
500
+
501
+ static get r() {
502
+ return CreateTradingOrderEvent.reified();
503
+ }
504
+
505
+ static phantom(): PhantomReified<ToTypeStr<CreateTradingOrderEvent>> {
506
+ return phantom(CreateTradingOrderEvent.reified());
507
+ }
508
+ static get p() {
509
+ return CreateTradingOrderEvent.phantom();
510
+ }
511
+
512
+ static get bcs() {
513
+ return bcs.struct("CreateTradingOrderEvent", {
514
+ user: bcs.bytes(32).transform({ input: (val: string) => fromHEX(val), output: (val: Uint8Array) => toHEX(val) }),
515
+ market_index: bcs.u64(),
516
+ pool_index: bcs.u64(),
517
+ collateral_token: TypeName.bcs,
518
+ base_token: TypeName.bcs,
519
+ linked_position_id: Option.bcs(bcs.u64()),
520
+ collateral_amount: bcs.u64(),
521
+ leverage_pct: bcs.u64(),
522
+ reduce_only: bcs.bool(),
523
+ is_long: bcs.bool(),
524
+ is_stop_order: bcs.bool(),
525
+ size: bcs.u64(),
526
+ trigger_price: bcs.u64(),
527
+ filled: bcs.bool(),
528
+ filled_price: Option.bcs(bcs.u64()),
529
+ u64_padding: bcs.vector(bcs.u64()),
530
+ });
531
+ }
532
+
533
+ static fromFields(fields: Record<string, any>): CreateTradingOrderEvent {
534
+ return CreateTradingOrderEvent.reified().new({
535
+ user: decodeFromFields("address", fields.user),
536
+ marketIndex: decodeFromFields("u64", fields.market_index),
537
+ poolIndex: decodeFromFields("u64", fields.pool_index),
538
+ collateralToken: decodeFromFields(TypeName.reified(), fields.collateral_token),
539
+ baseToken: decodeFromFields(TypeName.reified(), fields.base_token),
540
+ linkedPositionId: decodeFromFields(Option.reified("u64"), fields.linked_position_id),
541
+ collateralAmount: decodeFromFields("u64", fields.collateral_amount),
542
+ leveragePct: decodeFromFields("u64", fields.leverage_pct),
543
+ reduceOnly: decodeFromFields("bool", fields.reduce_only),
544
+ isLong: decodeFromFields("bool", fields.is_long),
545
+ isStopOrder: decodeFromFields("bool", fields.is_stop_order),
546
+ size: decodeFromFields("u64", fields.size),
547
+ triggerPrice: decodeFromFields("u64", fields.trigger_price),
548
+ filled: decodeFromFields("bool", fields.filled),
549
+ filledPrice: decodeFromFields(Option.reified("u64"), fields.filled_price),
550
+ u64Padding: decodeFromFields(reified.vector("u64"), fields.u64_padding),
551
+ });
552
+ }
553
+
554
+ static fromFieldsWithTypes(item: FieldsWithTypes): CreateTradingOrderEvent {
555
+ if (!isCreateTradingOrderEvent(item.type)) {
556
+ throw new Error("not a CreateTradingOrderEvent type");
557
+ }
558
+
559
+ return CreateTradingOrderEvent.reified().new({
560
+ user: decodeFromFieldsWithTypes("address", item.fields.user),
561
+ marketIndex: decodeFromFieldsWithTypes("u64", item.fields.market_index),
562
+ poolIndex: decodeFromFieldsWithTypes("u64", item.fields.pool_index),
563
+ collateralToken: decodeFromFieldsWithTypes(TypeName.reified(), item.fields.collateral_token),
564
+ baseToken: decodeFromFieldsWithTypes(TypeName.reified(), item.fields.base_token),
565
+ linkedPositionId: decodeFromFieldsWithTypes(Option.reified("u64"), item.fields.linked_position_id),
566
+ collateralAmount: decodeFromFieldsWithTypes("u64", item.fields.collateral_amount),
567
+ leveragePct: decodeFromFieldsWithTypes("u64", item.fields.leverage_pct),
568
+ reduceOnly: decodeFromFieldsWithTypes("bool", item.fields.reduce_only),
569
+ isLong: decodeFromFieldsWithTypes("bool", item.fields.is_long),
570
+ isStopOrder: decodeFromFieldsWithTypes("bool", item.fields.is_stop_order),
571
+ size: decodeFromFieldsWithTypes("u64", item.fields.size),
572
+ triggerPrice: decodeFromFieldsWithTypes("u64", item.fields.trigger_price),
573
+ filled: decodeFromFieldsWithTypes("bool", item.fields.filled),
574
+ filledPrice: decodeFromFieldsWithTypes(Option.reified("u64"), item.fields.filled_price),
575
+ u64Padding: decodeFromFieldsWithTypes(reified.vector("u64"), item.fields.u64_padding),
576
+ });
577
+ }
578
+
579
+ static fromBcs(data: Uint8Array): CreateTradingOrderEvent {
580
+ return CreateTradingOrderEvent.fromFields(CreateTradingOrderEvent.bcs.parse(data));
581
+ }
582
+
583
+ toJSONField() {
584
+ return {
585
+ user: this.user,
586
+ marketIndex: this.marketIndex.toString(),
587
+ poolIndex: this.poolIndex.toString(),
588
+ collateralToken: this.collateralToken.toJSONField(),
589
+ baseToken: this.baseToken.toJSONField(),
590
+ linkedPositionId: fieldToJSON<Option<"u64">>(`0x1::option::Option<u64>`, this.linkedPositionId),
591
+ collateralAmount: this.collateralAmount.toString(),
592
+ leveragePct: this.leveragePct.toString(),
593
+ reduceOnly: this.reduceOnly,
594
+ isLong: this.isLong,
595
+ isStopOrder: this.isStopOrder,
596
+ size: this.size.toString(),
597
+ triggerPrice: this.triggerPrice.toString(),
598
+ filled: this.filled,
599
+ filledPrice: fieldToJSON<Option<"u64">>(`0x1::option::Option<u64>`, this.filledPrice),
600
+ u64Padding: fieldToJSON<Vector<"u64">>(`vector<u64>`, this.u64Padding),
601
+ };
602
+ }
603
+
604
+ toJSON() {
605
+ return { $typeName: this.$typeName, $typeArgs: this.$typeArgs, ...this.toJSONField() };
606
+ }
607
+
608
+ static fromJSONField(field: any): CreateTradingOrderEvent {
609
+ return CreateTradingOrderEvent.reified().new({
610
+ user: decodeFromJSONField("address", field.user),
611
+ marketIndex: decodeFromJSONField("u64", field.marketIndex),
612
+ poolIndex: decodeFromJSONField("u64", field.poolIndex),
613
+ collateralToken: decodeFromJSONField(TypeName.reified(), field.collateralToken),
614
+ baseToken: decodeFromJSONField(TypeName.reified(), field.baseToken),
615
+ linkedPositionId: decodeFromJSONField(Option.reified("u64"), field.linkedPositionId),
616
+ collateralAmount: decodeFromJSONField("u64", field.collateralAmount),
617
+ leveragePct: decodeFromJSONField("u64", field.leveragePct),
618
+ reduceOnly: decodeFromJSONField("bool", field.reduceOnly),
619
+ isLong: decodeFromJSONField("bool", field.isLong),
620
+ isStopOrder: decodeFromJSONField("bool", field.isStopOrder),
621
+ size: decodeFromJSONField("u64", field.size),
622
+ triggerPrice: decodeFromJSONField("u64", field.triggerPrice),
623
+ filled: decodeFromJSONField("bool", field.filled),
624
+ filledPrice: decodeFromJSONField(Option.reified("u64"), field.filledPrice),
625
+ u64Padding: decodeFromJSONField(reified.vector("u64"), field.u64Padding),
626
+ });
627
+ }
628
+
629
+ static fromJSON(json: Record<string, any>): CreateTradingOrderEvent {
630
+ if (json.$typeName !== CreateTradingOrderEvent.$typeName) {
631
+ throw new Error("not a WithTwoGenerics json object");
632
+ }
633
+
634
+ return CreateTradingOrderEvent.fromJSONField(json);
635
+ }
636
+
637
+ static fromSuiParsedData(content: SuiParsedData): CreateTradingOrderEvent {
638
+ if (content.dataType !== "moveObject") {
639
+ throw new Error("not an object");
640
+ }
641
+ if (!isCreateTradingOrderEvent(content.type)) {
642
+ throw new Error(`object at ${(content.fields as any).id} is not a CreateTradingOrderEvent object`);
643
+ }
644
+ return CreateTradingOrderEvent.fromFieldsWithTypes(content);
645
+ }
646
+
647
+ static async fetch(client: SuiClient, id: string): Promise<CreateTradingOrderEvent> {
648
+ const res = await client.getObject({ id, options: { showBcs: true } });
649
+ if (res.error) {
650
+ throw new Error(`error fetching CreateTradingOrderEvent object at id ${id}: ${res.error.code}`);
651
+ }
652
+ if (res.data?.bcs?.dataType !== "moveObject" || !isCreateTradingOrderEvent(res.data.bcs.type)) {
653
+ throw new Error(`object at id ${id} is not a CreateTradingOrderEvent object`);
654
+ }
655
+ return CreateTradingOrderEvent.fromBcs(fromB64(res.data.bcs.bcsBytes));
656
+ }
657
+ }
658
+
659
+ /* ============================== CreateTradingOrderWithBidReceiptsEvent =============================== */
660
+
661
+ export function isCreateTradingOrderWithBidReceiptsEvent(type: string): boolean {
662
+ type = compressSuiType(type);
663
+ return type === "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::CreateTradingOrderWithBidReceiptsEvent";
664
+ }
665
+
666
+ export interface CreateTradingOrderWithBidReceiptsEventFields {
667
+ user: ToField<"address">;
668
+ marketIndex: ToField<"u64">;
669
+ poolIndex: ToField<"u64">;
670
+ collateralToken: ToField<TypeName>;
671
+ baseToken: ToField<TypeName>;
672
+ collateralInDepositToken: ToField<"u64">;
673
+ isLong: ToField<"bool">;
674
+ size: ToField<"u64">;
675
+ triggerPrice: ToField<"u64">;
676
+ filled: ToField<"bool">;
677
+ filledPrice: ToField<Option<"u64">>;
678
+ u64Padding: ToField<Vector<"u64">>;
679
+ }
680
+
681
+ export type CreateTradingOrderWithBidReceiptsEventReified = Reified<
682
+ CreateTradingOrderWithBidReceiptsEvent,
683
+ CreateTradingOrderWithBidReceiptsEventFields
684
+ >;
685
+
686
+ export class CreateTradingOrderWithBidReceiptsEvent implements StructClass {
687
+ static readonly $typeName =
688
+ "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::CreateTradingOrderWithBidReceiptsEvent";
689
+ static readonly $numTypeParams = 0;
690
+
691
+ readonly $typeName = CreateTradingOrderWithBidReceiptsEvent.$typeName;
692
+
693
+ readonly $fullTypeName: "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::CreateTradingOrderWithBidReceiptsEvent";
694
+
695
+ readonly $typeArgs: [];
696
+
697
+ readonly user: ToField<"address">;
698
+ readonly marketIndex: ToField<"u64">;
699
+ readonly poolIndex: ToField<"u64">;
700
+ readonly collateralToken: ToField<TypeName>;
701
+ readonly baseToken: ToField<TypeName>;
702
+ readonly collateralInDepositToken: ToField<"u64">;
703
+ readonly isLong: ToField<"bool">;
704
+ readonly size: ToField<"u64">;
705
+ readonly triggerPrice: ToField<"u64">;
706
+ readonly filled: ToField<"bool">;
707
+ readonly filledPrice: ToField<Option<"u64">>;
708
+ readonly u64Padding: ToField<Vector<"u64">>;
709
+
710
+ private constructor(typeArgs: [], fields: CreateTradingOrderWithBidReceiptsEventFields) {
711
+ this.$fullTypeName = composeSuiType(
712
+ CreateTradingOrderWithBidReceiptsEvent.$typeName,
713
+ ...typeArgs
714
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::CreateTradingOrderWithBidReceiptsEvent";
715
+ this.$typeArgs = typeArgs;
716
+
717
+ this.user = fields.user;
718
+ this.marketIndex = fields.marketIndex;
719
+ this.poolIndex = fields.poolIndex;
720
+ this.collateralToken = fields.collateralToken;
721
+ this.baseToken = fields.baseToken;
722
+ this.collateralInDepositToken = fields.collateralInDepositToken;
723
+ this.isLong = fields.isLong;
724
+ this.size = fields.size;
725
+ this.triggerPrice = fields.triggerPrice;
726
+ this.filled = fields.filled;
727
+ this.filledPrice = fields.filledPrice;
728
+ this.u64Padding = fields.u64Padding;
729
+ }
730
+
731
+ static reified(): CreateTradingOrderWithBidReceiptsEventReified {
732
+ return {
733
+ typeName: CreateTradingOrderWithBidReceiptsEvent.$typeName,
734
+ fullTypeName: composeSuiType(
735
+ CreateTradingOrderWithBidReceiptsEvent.$typeName,
736
+ ...[]
737
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::CreateTradingOrderWithBidReceiptsEvent",
738
+ typeArgs: [] as [],
739
+ reifiedTypeArgs: [],
740
+ fromFields: (fields: Record<string, any>) => CreateTradingOrderWithBidReceiptsEvent.fromFields(fields),
741
+ fromFieldsWithTypes: (item: FieldsWithTypes) => CreateTradingOrderWithBidReceiptsEvent.fromFieldsWithTypes(item),
742
+ fromBcs: (data: Uint8Array) => CreateTradingOrderWithBidReceiptsEvent.fromBcs(data),
743
+ bcs: CreateTradingOrderWithBidReceiptsEvent.bcs,
744
+ fromJSONField: (field: any) => CreateTradingOrderWithBidReceiptsEvent.fromJSONField(field),
745
+ fromJSON: (json: Record<string, any>) => CreateTradingOrderWithBidReceiptsEvent.fromJSON(json),
746
+ fromSuiParsedData: (content: SuiParsedData) => CreateTradingOrderWithBidReceiptsEvent.fromSuiParsedData(content),
747
+ fetch: async (client: SuiClient, id: string) => CreateTradingOrderWithBidReceiptsEvent.fetch(client, id),
748
+ new: (fields: CreateTradingOrderWithBidReceiptsEventFields) => {
749
+ return new CreateTradingOrderWithBidReceiptsEvent([], fields);
750
+ },
751
+ kind: "StructClassReified",
752
+ };
753
+ }
754
+
755
+ static get r() {
756
+ return CreateTradingOrderWithBidReceiptsEvent.reified();
757
+ }
758
+
759
+ static phantom(): PhantomReified<ToTypeStr<CreateTradingOrderWithBidReceiptsEvent>> {
760
+ return phantom(CreateTradingOrderWithBidReceiptsEvent.reified());
761
+ }
762
+ static get p() {
763
+ return CreateTradingOrderWithBidReceiptsEvent.phantom();
764
+ }
765
+
766
+ static get bcs() {
767
+ return bcs.struct("CreateTradingOrderWithBidReceiptsEvent", {
768
+ user: bcs.bytes(32).transform({ input: (val: string) => fromHEX(val), output: (val: Uint8Array) => toHEX(val) }),
769
+ market_index: bcs.u64(),
770
+ pool_index: bcs.u64(),
771
+ collateral_token: TypeName.bcs,
772
+ base_token: TypeName.bcs,
773
+ collateral_in_deposit_token: bcs.u64(),
774
+ is_long: bcs.bool(),
775
+ size: bcs.u64(),
776
+ trigger_price: bcs.u64(),
777
+ filled: bcs.bool(),
778
+ filled_price: Option.bcs(bcs.u64()),
779
+ u64_padding: bcs.vector(bcs.u64()),
780
+ });
781
+ }
782
+
783
+ static fromFields(fields: Record<string, any>): CreateTradingOrderWithBidReceiptsEvent {
784
+ return CreateTradingOrderWithBidReceiptsEvent.reified().new({
785
+ user: decodeFromFields("address", fields.user),
786
+ marketIndex: decodeFromFields("u64", fields.market_index),
787
+ poolIndex: decodeFromFields("u64", fields.pool_index),
788
+ collateralToken: decodeFromFields(TypeName.reified(), fields.collateral_token),
789
+ baseToken: decodeFromFields(TypeName.reified(), fields.base_token),
790
+ collateralInDepositToken: decodeFromFields("u64", fields.collateral_in_deposit_token),
791
+ isLong: decodeFromFields("bool", fields.is_long),
792
+ size: decodeFromFields("u64", fields.size),
793
+ triggerPrice: decodeFromFields("u64", fields.trigger_price),
794
+ filled: decodeFromFields("bool", fields.filled),
795
+ filledPrice: decodeFromFields(Option.reified("u64"), fields.filled_price),
796
+ u64Padding: decodeFromFields(reified.vector("u64"), fields.u64_padding),
797
+ });
798
+ }
799
+
800
+ static fromFieldsWithTypes(item: FieldsWithTypes): CreateTradingOrderWithBidReceiptsEvent {
801
+ if (!isCreateTradingOrderWithBidReceiptsEvent(item.type)) {
802
+ throw new Error("not a CreateTradingOrderWithBidReceiptsEvent type");
803
+ }
804
+
805
+ return CreateTradingOrderWithBidReceiptsEvent.reified().new({
806
+ user: decodeFromFieldsWithTypes("address", item.fields.user),
807
+ marketIndex: decodeFromFieldsWithTypes("u64", item.fields.market_index),
808
+ poolIndex: decodeFromFieldsWithTypes("u64", item.fields.pool_index),
809
+ collateralToken: decodeFromFieldsWithTypes(TypeName.reified(), item.fields.collateral_token),
810
+ baseToken: decodeFromFieldsWithTypes(TypeName.reified(), item.fields.base_token),
811
+ collateralInDepositToken: decodeFromFieldsWithTypes("u64", item.fields.collateral_in_deposit_token),
812
+ isLong: decodeFromFieldsWithTypes("bool", item.fields.is_long),
813
+ size: decodeFromFieldsWithTypes("u64", item.fields.size),
814
+ triggerPrice: decodeFromFieldsWithTypes("u64", item.fields.trigger_price),
815
+ filled: decodeFromFieldsWithTypes("bool", item.fields.filled),
816
+ filledPrice: decodeFromFieldsWithTypes(Option.reified("u64"), item.fields.filled_price),
817
+ u64Padding: decodeFromFieldsWithTypes(reified.vector("u64"), item.fields.u64_padding),
818
+ });
819
+ }
820
+
821
+ static fromBcs(data: Uint8Array): CreateTradingOrderWithBidReceiptsEvent {
822
+ return CreateTradingOrderWithBidReceiptsEvent.fromFields(CreateTradingOrderWithBidReceiptsEvent.bcs.parse(data));
823
+ }
824
+
825
+ toJSONField() {
826
+ return {
827
+ user: this.user,
828
+ marketIndex: this.marketIndex.toString(),
829
+ poolIndex: this.poolIndex.toString(),
830
+ collateralToken: this.collateralToken.toJSONField(),
831
+ baseToken: this.baseToken.toJSONField(),
832
+ collateralInDepositToken: this.collateralInDepositToken.toString(),
833
+ isLong: this.isLong,
834
+ size: this.size.toString(),
835
+ triggerPrice: this.triggerPrice.toString(),
836
+ filled: this.filled,
837
+ filledPrice: fieldToJSON<Option<"u64">>(`0x1::option::Option<u64>`, this.filledPrice),
838
+ u64Padding: fieldToJSON<Vector<"u64">>(`vector<u64>`, this.u64Padding),
839
+ };
840
+ }
841
+
842
+ toJSON() {
843
+ return { $typeName: this.$typeName, $typeArgs: this.$typeArgs, ...this.toJSONField() };
844
+ }
845
+
846
+ static fromJSONField(field: any): CreateTradingOrderWithBidReceiptsEvent {
847
+ return CreateTradingOrderWithBidReceiptsEvent.reified().new({
848
+ user: decodeFromJSONField("address", field.user),
849
+ marketIndex: decodeFromJSONField("u64", field.marketIndex),
850
+ poolIndex: decodeFromJSONField("u64", field.poolIndex),
851
+ collateralToken: decodeFromJSONField(TypeName.reified(), field.collateralToken),
852
+ baseToken: decodeFromJSONField(TypeName.reified(), field.baseToken),
853
+ collateralInDepositToken: decodeFromJSONField("u64", field.collateralInDepositToken),
854
+ isLong: decodeFromJSONField("bool", field.isLong),
855
+ size: decodeFromJSONField("u64", field.size),
856
+ triggerPrice: decodeFromJSONField("u64", field.triggerPrice),
857
+ filled: decodeFromJSONField("bool", field.filled),
858
+ filledPrice: decodeFromJSONField(Option.reified("u64"), field.filledPrice),
859
+ u64Padding: decodeFromJSONField(reified.vector("u64"), field.u64Padding),
860
+ });
861
+ }
862
+
863
+ static fromJSON(json: Record<string, any>): CreateTradingOrderWithBidReceiptsEvent {
864
+ if (json.$typeName !== CreateTradingOrderWithBidReceiptsEvent.$typeName) {
865
+ throw new Error("not a WithTwoGenerics json object");
866
+ }
867
+
868
+ return CreateTradingOrderWithBidReceiptsEvent.fromJSONField(json);
869
+ }
870
+
871
+ static fromSuiParsedData(content: SuiParsedData): CreateTradingOrderWithBidReceiptsEvent {
872
+ if (content.dataType !== "moveObject") {
873
+ throw new Error("not an object");
874
+ }
875
+ if (!isCreateTradingOrderWithBidReceiptsEvent(content.type)) {
876
+ throw new Error(`object at ${(content.fields as any).id} is not a CreateTradingOrderWithBidReceiptsEvent object`);
877
+ }
878
+ return CreateTradingOrderWithBidReceiptsEvent.fromFieldsWithTypes(content);
879
+ }
880
+
881
+ static async fetch(client: SuiClient, id: string): Promise<CreateTradingOrderWithBidReceiptsEvent> {
882
+ const res = await client.getObject({ id, options: { showBcs: true } });
883
+ if (res.error) {
884
+ throw new Error(`error fetching CreateTradingOrderWithBidReceiptsEvent object at id ${id}: ${res.error.code}`);
885
+ }
886
+ if (res.data?.bcs?.dataType !== "moveObject" || !isCreateTradingOrderWithBidReceiptsEvent(res.data.bcs.type)) {
887
+ throw new Error(`object at id ${id} is not a CreateTradingOrderWithBidReceiptsEvent object`);
888
+ }
889
+ return CreateTradingOrderWithBidReceiptsEvent.fromBcs(fromB64(res.data.bcs.bcsBytes));
890
+ }
891
+ }
892
+
893
+ /* ============================== IncreaseCollateralEvent =============================== */
894
+
895
+ export function isIncreaseCollateralEvent(type: string): boolean {
896
+ type = compressSuiType(type);
897
+ return type === "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::IncreaseCollateralEvent";
898
+ }
899
+
900
+ export interface IncreaseCollateralEventFields {
901
+ user: ToField<"address">;
902
+ marketIndex: ToField<"u64">;
903
+ poolIndex: ToField<"u64">;
904
+ positionId: ToField<"u64">;
905
+ collateralToken: ToField<TypeName>;
906
+ baseToken: ToField<TypeName>;
907
+ increasedCollateralAmount: ToField<"u64">;
908
+ remainingCollateralAmount: ToField<"u64">;
909
+ u64Padding: ToField<Vector<"u64">>;
910
+ }
911
+
912
+ export type IncreaseCollateralEventReified = Reified<IncreaseCollateralEvent, IncreaseCollateralEventFields>;
913
+
914
+ export class IncreaseCollateralEvent implements StructClass {
915
+ static readonly $typeName = "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::IncreaseCollateralEvent";
916
+ static readonly $numTypeParams = 0;
917
+
918
+ readonly $typeName = IncreaseCollateralEvent.$typeName;
919
+
920
+ readonly $fullTypeName: "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::IncreaseCollateralEvent";
921
+
922
+ readonly $typeArgs: [];
923
+
924
+ readonly user: ToField<"address">;
925
+ readonly marketIndex: ToField<"u64">;
926
+ readonly poolIndex: ToField<"u64">;
927
+ readonly positionId: ToField<"u64">;
928
+ readonly collateralToken: ToField<TypeName>;
929
+ readonly baseToken: ToField<TypeName>;
930
+ readonly increasedCollateralAmount: ToField<"u64">;
931
+ readonly remainingCollateralAmount: ToField<"u64">;
932
+ readonly u64Padding: ToField<Vector<"u64">>;
933
+
934
+ private constructor(typeArgs: [], fields: IncreaseCollateralEventFields) {
935
+ this.$fullTypeName = composeSuiType(
936
+ IncreaseCollateralEvent.$typeName,
937
+ ...typeArgs
938
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::IncreaseCollateralEvent";
939
+ this.$typeArgs = typeArgs;
940
+
941
+ this.user = fields.user;
942
+ this.marketIndex = fields.marketIndex;
943
+ this.poolIndex = fields.poolIndex;
944
+ this.positionId = fields.positionId;
945
+ this.collateralToken = fields.collateralToken;
946
+ this.baseToken = fields.baseToken;
947
+ this.increasedCollateralAmount = fields.increasedCollateralAmount;
948
+ this.remainingCollateralAmount = fields.remainingCollateralAmount;
949
+ this.u64Padding = fields.u64Padding;
950
+ }
951
+
952
+ static reified(): IncreaseCollateralEventReified {
953
+ return {
954
+ typeName: IncreaseCollateralEvent.$typeName,
955
+ fullTypeName: composeSuiType(
956
+ IncreaseCollateralEvent.$typeName,
957
+ ...[]
958
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::IncreaseCollateralEvent",
959
+ typeArgs: [] as [],
960
+ reifiedTypeArgs: [],
961
+ fromFields: (fields: Record<string, any>) => IncreaseCollateralEvent.fromFields(fields),
962
+ fromFieldsWithTypes: (item: FieldsWithTypes) => IncreaseCollateralEvent.fromFieldsWithTypes(item),
963
+ fromBcs: (data: Uint8Array) => IncreaseCollateralEvent.fromBcs(data),
964
+ bcs: IncreaseCollateralEvent.bcs,
965
+ fromJSONField: (field: any) => IncreaseCollateralEvent.fromJSONField(field),
966
+ fromJSON: (json: Record<string, any>) => IncreaseCollateralEvent.fromJSON(json),
967
+ fromSuiParsedData: (content: SuiParsedData) => IncreaseCollateralEvent.fromSuiParsedData(content),
968
+ fetch: async (client: SuiClient, id: string) => IncreaseCollateralEvent.fetch(client, id),
969
+ new: (fields: IncreaseCollateralEventFields) => {
970
+ return new IncreaseCollateralEvent([], fields);
971
+ },
972
+ kind: "StructClassReified",
973
+ };
974
+ }
975
+
976
+ static get r() {
977
+ return IncreaseCollateralEvent.reified();
978
+ }
979
+
980
+ static phantom(): PhantomReified<ToTypeStr<IncreaseCollateralEvent>> {
981
+ return phantom(IncreaseCollateralEvent.reified());
982
+ }
983
+ static get p() {
984
+ return IncreaseCollateralEvent.phantom();
985
+ }
986
+
987
+ static get bcs() {
988
+ return bcs.struct("IncreaseCollateralEvent", {
989
+ user: bcs.bytes(32).transform({ input: (val: string) => fromHEX(val), output: (val: Uint8Array) => toHEX(val) }),
990
+ market_index: bcs.u64(),
991
+ pool_index: bcs.u64(),
992
+ position_id: bcs.u64(),
993
+ collateral_token: TypeName.bcs,
994
+ base_token: TypeName.bcs,
995
+ increased_collateral_amount: bcs.u64(),
996
+ remaining_collateral_amount: bcs.u64(),
997
+ u64_padding: bcs.vector(bcs.u64()),
998
+ });
999
+ }
1000
+
1001
+ static fromFields(fields: Record<string, any>): IncreaseCollateralEvent {
1002
+ return IncreaseCollateralEvent.reified().new({
1003
+ user: decodeFromFields("address", fields.user),
1004
+ marketIndex: decodeFromFields("u64", fields.market_index),
1005
+ poolIndex: decodeFromFields("u64", fields.pool_index),
1006
+ positionId: decodeFromFields("u64", fields.position_id),
1007
+ collateralToken: decodeFromFields(TypeName.reified(), fields.collateral_token),
1008
+ baseToken: decodeFromFields(TypeName.reified(), fields.base_token),
1009
+ increasedCollateralAmount: decodeFromFields("u64", fields.increased_collateral_amount),
1010
+ remainingCollateralAmount: decodeFromFields("u64", fields.remaining_collateral_amount),
1011
+ u64Padding: decodeFromFields(reified.vector("u64"), fields.u64_padding),
1012
+ });
1013
+ }
1014
+
1015
+ static fromFieldsWithTypes(item: FieldsWithTypes): IncreaseCollateralEvent {
1016
+ if (!isIncreaseCollateralEvent(item.type)) {
1017
+ throw new Error("not a IncreaseCollateralEvent type");
1018
+ }
1019
+
1020
+ return IncreaseCollateralEvent.reified().new({
1021
+ user: decodeFromFieldsWithTypes("address", item.fields.user),
1022
+ marketIndex: decodeFromFieldsWithTypes("u64", item.fields.market_index),
1023
+ poolIndex: decodeFromFieldsWithTypes("u64", item.fields.pool_index),
1024
+ positionId: decodeFromFieldsWithTypes("u64", item.fields.position_id),
1025
+ collateralToken: decodeFromFieldsWithTypes(TypeName.reified(), item.fields.collateral_token),
1026
+ baseToken: decodeFromFieldsWithTypes(TypeName.reified(), item.fields.base_token),
1027
+ increasedCollateralAmount: decodeFromFieldsWithTypes("u64", item.fields.increased_collateral_amount),
1028
+ remainingCollateralAmount: decodeFromFieldsWithTypes("u64", item.fields.remaining_collateral_amount),
1029
+ u64Padding: decodeFromFieldsWithTypes(reified.vector("u64"), item.fields.u64_padding),
1030
+ });
1031
+ }
1032
+
1033
+ static fromBcs(data: Uint8Array): IncreaseCollateralEvent {
1034
+ return IncreaseCollateralEvent.fromFields(IncreaseCollateralEvent.bcs.parse(data));
1035
+ }
1036
+
1037
+ toJSONField() {
1038
+ return {
1039
+ user: this.user,
1040
+ marketIndex: this.marketIndex.toString(),
1041
+ poolIndex: this.poolIndex.toString(),
1042
+ positionId: this.positionId.toString(),
1043
+ collateralToken: this.collateralToken.toJSONField(),
1044
+ baseToken: this.baseToken.toJSONField(),
1045
+ increasedCollateralAmount: this.increasedCollateralAmount.toString(),
1046
+ remainingCollateralAmount: this.remainingCollateralAmount.toString(),
1047
+ u64Padding: fieldToJSON<Vector<"u64">>(`vector<u64>`, this.u64Padding),
1048
+ };
1049
+ }
1050
+
1051
+ toJSON() {
1052
+ return { $typeName: this.$typeName, $typeArgs: this.$typeArgs, ...this.toJSONField() };
1053
+ }
1054
+
1055
+ static fromJSONField(field: any): IncreaseCollateralEvent {
1056
+ return IncreaseCollateralEvent.reified().new({
1057
+ user: decodeFromJSONField("address", field.user),
1058
+ marketIndex: decodeFromJSONField("u64", field.marketIndex),
1059
+ poolIndex: decodeFromJSONField("u64", field.poolIndex),
1060
+ positionId: decodeFromJSONField("u64", field.positionId),
1061
+ collateralToken: decodeFromJSONField(TypeName.reified(), field.collateralToken),
1062
+ baseToken: decodeFromJSONField(TypeName.reified(), field.baseToken),
1063
+ increasedCollateralAmount: decodeFromJSONField("u64", field.increasedCollateralAmount),
1064
+ remainingCollateralAmount: decodeFromJSONField("u64", field.remainingCollateralAmount),
1065
+ u64Padding: decodeFromJSONField(reified.vector("u64"), field.u64Padding),
1066
+ });
1067
+ }
1068
+
1069
+ static fromJSON(json: Record<string, any>): IncreaseCollateralEvent {
1070
+ if (json.$typeName !== IncreaseCollateralEvent.$typeName) {
1071
+ throw new Error("not a WithTwoGenerics json object");
1072
+ }
1073
+
1074
+ return IncreaseCollateralEvent.fromJSONField(json);
1075
+ }
1076
+
1077
+ static fromSuiParsedData(content: SuiParsedData): IncreaseCollateralEvent {
1078
+ if (content.dataType !== "moveObject") {
1079
+ throw new Error("not an object");
1080
+ }
1081
+ if (!isIncreaseCollateralEvent(content.type)) {
1082
+ throw new Error(`object at ${(content.fields as any).id} is not a IncreaseCollateralEvent object`);
1083
+ }
1084
+ return IncreaseCollateralEvent.fromFieldsWithTypes(content);
1085
+ }
1086
+
1087
+ static async fetch(client: SuiClient, id: string): Promise<IncreaseCollateralEvent> {
1088
+ const res = await client.getObject({ id, options: { showBcs: true } });
1089
+ if (res.error) {
1090
+ throw new Error(`error fetching IncreaseCollateralEvent object at id ${id}: ${res.error.code}`);
1091
+ }
1092
+ if (res.data?.bcs?.dataType !== "moveObject" || !isIncreaseCollateralEvent(res.data.bcs.type)) {
1093
+ throw new Error(`object at id ${id} is not a IncreaseCollateralEvent object`);
1094
+ }
1095
+ return IncreaseCollateralEvent.fromBcs(fromB64(res.data.bcs.bcsBytes));
1096
+ }
1097
+ }
1098
+
1099
+ /* ============================== LinkedOrdersInfo =============================== */
1100
+
1101
+ export function isLinkedOrdersInfo(type: string): boolean {
1102
+ type = compressSuiType(type);
1103
+ return type === "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::LinkedOrdersInfo";
1104
+ }
1105
+
1106
+ export interface LinkedOrdersInfoFields {
1107
+ users: ToField<Vector<"address">>;
1108
+ ids: ToField<Vector<Vector<"u64">>>;
1109
+ prices: ToField<Vector<Vector<"u64">>>;
1110
+ u64Padding: ToField<Vector<"u64">>;
1111
+ }
1112
+
1113
+ export type LinkedOrdersInfoReified = Reified<LinkedOrdersInfo, LinkedOrdersInfoFields>;
1114
+
1115
+ export class LinkedOrdersInfo implements StructClass {
1116
+ static readonly $typeName = "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::LinkedOrdersInfo";
1117
+ static readonly $numTypeParams = 0;
1118
+
1119
+ readonly $typeName = LinkedOrdersInfo.$typeName;
1120
+
1121
+ readonly $fullTypeName: "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::LinkedOrdersInfo";
1122
+
1123
+ readonly $typeArgs: [];
1124
+
1125
+ readonly users: ToField<Vector<"address">>;
1126
+ readonly ids: ToField<Vector<Vector<"u64">>>;
1127
+ readonly prices: ToField<Vector<Vector<"u64">>>;
1128
+ readonly u64Padding: ToField<Vector<"u64">>;
1129
+
1130
+ private constructor(typeArgs: [], fields: LinkedOrdersInfoFields) {
1131
+ this.$fullTypeName = composeSuiType(
1132
+ LinkedOrdersInfo.$typeName,
1133
+ ...typeArgs
1134
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::LinkedOrdersInfo";
1135
+ this.$typeArgs = typeArgs;
1136
+
1137
+ this.users = fields.users;
1138
+ this.ids = fields.ids;
1139
+ this.prices = fields.prices;
1140
+ this.u64Padding = fields.u64Padding;
1141
+ }
1142
+
1143
+ static reified(): LinkedOrdersInfoReified {
1144
+ return {
1145
+ typeName: LinkedOrdersInfo.$typeName,
1146
+ fullTypeName: composeSuiType(
1147
+ LinkedOrdersInfo.$typeName,
1148
+ ...[]
1149
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::LinkedOrdersInfo",
1150
+ typeArgs: [] as [],
1151
+ reifiedTypeArgs: [],
1152
+ fromFields: (fields: Record<string, any>) => LinkedOrdersInfo.fromFields(fields),
1153
+ fromFieldsWithTypes: (item: FieldsWithTypes) => LinkedOrdersInfo.fromFieldsWithTypes(item),
1154
+ fromBcs: (data: Uint8Array) => LinkedOrdersInfo.fromBcs(data),
1155
+ bcs: LinkedOrdersInfo.bcs,
1156
+ fromJSONField: (field: any) => LinkedOrdersInfo.fromJSONField(field),
1157
+ fromJSON: (json: Record<string, any>) => LinkedOrdersInfo.fromJSON(json),
1158
+ fromSuiParsedData: (content: SuiParsedData) => LinkedOrdersInfo.fromSuiParsedData(content),
1159
+ fetch: async (client: SuiClient, id: string) => LinkedOrdersInfo.fetch(client, id),
1160
+ new: (fields: LinkedOrdersInfoFields) => {
1161
+ return new LinkedOrdersInfo([], fields);
1162
+ },
1163
+ kind: "StructClassReified",
1164
+ };
1165
+ }
1166
+
1167
+ static get r() {
1168
+ return LinkedOrdersInfo.reified();
1169
+ }
1170
+
1171
+ static phantom(): PhantomReified<ToTypeStr<LinkedOrdersInfo>> {
1172
+ return phantom(LinkedOrdersInfo.reified());
1173
+ }
1174
+ static get p() {
1175
+ return LinkedOrdersInfo.phantom();
1176
+ }
1177
+
1178
+ static get bcs() {
1179
+ return bcs.struct("LinkedOrdersInfo", {
1180
+ users: bcs.vector(bcs.bytes(32).transform({ input: (val: string) => fromHEX(val), output: (val: Uint8Array) => toHEX(val) })),
1181
+ ids: bcs.vector(bcs.vector(bcs.u64())),
1182
+ prices: bcs.vector(bcs.vector(bcs.u64())),
1183
+ u64_padding: bcs.vector(bcs.u64()),
1184
+ });
1185
+ }
1186
+
1187
+ static fromFields(fields: Record<string, any>): LinkedOrdersInfo {
1188
+ return LinkedOrdersInfo.reified().new({
1189
+ users: decodeFromFields(reified.vector("address"), fields.users),
1190
+ ids: decodeFromFields(reified.vector(reified.vector("u64")), fields.ids),
1191
+ prices: decodeFromFields(reified.vector(reified.vector("u64")), fields.prices),
1192
+ u64Padding: decodeFromFields(reified.vector("u64"), fields.u64_padding),
1193
+ });
1194
+ }
1195
+
1196
+ static fromFieldsWithTypes(item: FieldsWithTypes): LinkedOrdersInfo {
1197
+ if (!isLinkedOrdersInfo(item.type)) {
1198
+ throw new Error("not a LinkedOrdersInfo type");
1199
+ }
1200
+
1201
+ return LinkedOrdersInfo.reified().new({
1202
+ users: decodeFromFieldsWithTypes(reified.vector("address"), item.fields.users),
1203
+ ids: decodeFromFieldsWithTypes(reified.vector(reified.vector("u64")), item.fields.ids),
1204
+ prices: decodeFromFieldsWithTypes(reified.vector(reified.vector("u64")), item.fields.prices),
1205
+ u64Padding: decodeFromFieldsWithTypes(reified.vector("u64"), item.fields.u64_padding),
1206
+ });
1207
+ }
1208
+
1209
+ static fromBcs(data: Uint8Array): LinkedOrdersInfo {
1210
+ return LinkedOrdersInfo.fromFields(LinkedOrdersInfo.bcs.parse(data));
1211
+ }
1212
+
1213
+ toJSONField() {
1214
+ return {
1215
+ users: fieldToJSON<Vector<"address">>(`vector<address>`, this.users),
1216
+ ids: fieldToJSON<Vector<Vector<"u64">>>(`vector<vector<u64>>`, this.ids),
1217
+ prices: fieldToJSON<Vector<Vector<"u64">>>(`vector<vector<u64>>`, this.prices),
1218
+ u64Padding: fieldToJSON<Vector<"u64">>(`vector<u64>`, this.u64Padding),
1219
+ };
1220
+ }
1221
+
1222
+ toJSON() {
1223
+ return { $typeName: this.$typeName, $typeArgs: this.$typeArgs, ...this.toJSONField() };
1224
+ }
1225
+
1226
+ static fromJSONField(field: any): LinkedOrdersInfo {
1227
+ return LinkedOrdersInfo.reified().new({
1228
+ users: decodeFromJSONField(reified.vector("address"), field.users),
1229
+ ids: decodeFromJSONField(reified.vector(reified.vector("u64")), field.ids),
1230
+ prices: decodeFromJSONField(reified.vector(reified.vector("u64")), field.prices),
1231
+ u64Padding: decodeFromJSONField(reified.vector("u64"), field.u64Padding),
1232
+ });
1233
+ }
1234
+
1235
+ static fromJSON(json: Record<string, any>): LinkedOrdersInfo {
1236
+ if (json.$typeName !== LinkedOrdersInfo.$typeName) {
1237
+ throw new Error("not a WithTwoGenerics json object");
1238
+ }
1239
+
1240
+ return LinkedOrdersInfo.fromJSONField(json);
1241
+ }
1242
+
1243
+ static fromSuiParsedData(content: SuiParsedData): LinkedOrdersInfo {
1244
+ if (content.dataType !== "moveObject") {
1245
+ throw new Error("not an object");
1246
+ }
1247
+ if (!isLinkedOrdersInfo(content.type)) {
1248
+ throw new Error(`object at ${(content.fields as any).id} is not a LinkedOrdersInfo object`);
1249
+ }
1250
+ return LinkedOrdersInfo.fromFieldsWithTypes(content);
1251
+ }
1252
+
1253
+ static async fetch(client: SuiClient, id: string): Promise<LinkedOrdersInfo> {
1254
+ const res = await client.getObject({ id, options: { showBcs: true } });
1255
+ if (res.error) {
1256
+ throw new Error(`error fetching LinkedOrdersInfo object at id ${id}: ${res.error.code}`);
1257
+ }
1258
+ if (res.data?.bcs?.dataType !== "moveObject" || !isLinkedOrdersInfo(res.data.bcs.type)) {
1259
+ throw new Error(`object at id ${id} is not a LinkedOrdersInfo object`);
1260
+ }
1261
+ return LinkedOrdersInfo.fromBcs(fromB64(res.data.bcs.bcsBytes));
1262
+ }
1263
+ }
1264
+
1265
+ /* ============================== LiquidateEvent =============================== */
1266
+
1267
+ export function isLiquidateEvent(type: string): boolean {
1268
+ type = compressSuiType(type);
1269
+ return type === "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::LiquidateEvent";
1270
+ }
1271
+
1272
+ export interface LiquidateEventFields {
1273
+ user: ToField<"address">;
1274
+ collateralToken: ToField<TypeName>;
1275
+ baseToken: ToField<TypeName>;
1276
+ positionId: ToField<"u64">;
1277
+ collateralPrice: ToField<"u64">;
1278
+ tradingPrice: ToField<"u64">;
1279
+ liquidatorFeeValue: ToField<"u64">;
1280
+ u64Padding: ToField<Vector<"u64">>;
1281
+ }
1282
+
1283
+ export type LiquidateEventReified = Reified<LiquidateEvent, LiquidateEventFields>;
1284
+
1285
+ export class LiquidateEvent implements StructClass {
1286
+ static readonly $typeName = "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::LiquidateEvent";
1287
+ static readonly $numTypeParams = 0;
1288
+
1289
+ readonly $typeName = LiquidateEvent.$typeName;
1290
+
1291
+ readonly $fullTypeName: "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::LiquidateEvent";
1292
+
1293
+ readonly $typeArgs: [];
1294
+
1295
+ readonly user: ToField<"address">;
1296
+ readonly collateralToken: ToField<TypeName>;
1297
+ readonly baseToken: ToField<TypeName>;
1298
+ readonly positionId: ToField<"u64">;
1299
+ readonly collateralPrice: ToField<"u64">;
1300
+ readonly tradingPrice: ToField<"u64">;
1301
+ readonly liquidatorFeeValue: ToField<"u64">;
1302
+ readonly u64Padding: ToField<Vector<"u64">>;
1303
+
1304
+ private constructor(typeArgs: [], fields: LiquidateEventFields) {
1305
+ this.$fullTypeName = composeSuiType(
1306
+ LiquidateEvent.$typeName,
1307
+ ...typeArgs
1308
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::LiquidateEvent";
1309
+ this.$typeArgs = typeArgs;
1310
+
1311
+ this.user = fields.user;
1312
+ this.collateralToken = fields.collateralToken;
1313
+ this.baseToken = fields.baseToken;
1314
+ this.positionId = fields.positionId;
1315
+ this.collateralPrice = fields.collateralPrice;
1316
+ this.tradingPrice = fields.tradingPrice;
1317
+ this.liquidatorFeeValue = fields.liquidatorFeeValue;
1318
+ this.u64Padding = fields.u64Padding;
1319
+ }
1320
+
1321
+ static reified(): LiquidateEventReified {
1322
+ return {
1323
+ typeName: LiquidateEvent.$typeName,
1324
+ fullTypeName: composeSuiType(
1325
+ LiquidateEvent.$typeName,
1326
+ ...[]
1327
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::LiquidateEvent",
1328
+ typeArgs: [] as [],
1329
+ reifiedTypeArgs: [],
1330
+ fromFields: (fields: Record<string, any>) => LiquidateEvent.fromFields(fields),
1331
+ fromFieldsWithTypes: (item: FieldsWithTypes) => LiquidateEvent.fromFieldsWithTypes(item),
1332
+ fromBcs: (data: Uint8Array) => LiquidateEvent.fromBcs(data),
1333
+ bcs: LiquidateEvent.bcs,
1334
+ fromJSONField: (field: any) => LiquidateEvent.fromJSONField(field),
1335
+ fromJSON: (json: Record<string, any>) => LiquidateEvent.fromJSON(json),
1336
+ fromSuiParsedData: (content: SuiParsedData) => LiquidateEvent.fromSuiParsedData(content),
1337
+ fetch: async (client: SuiClient, id: string) => LiquidateEvent.fetch(client, id),
1338
+ new: (fields: LiquidateEventFields) => {
1339
+ return new LiquidateEvent([], fields);
1340
+ },
1341
+ kind: "StructClassReified",
1342
+ };
1343
+ }
1344
+
1345
+ static get r() {
1346
+ return LiquidateEvent.reified();
1347
+ }
1348
+
1349
+ static phantom(): PhantomReified<ToTypeStr<LiquidateEvent>> {
1350
+ return phantom(LiquidateEvent.reified());
1351
+ }
1352
+ static get p() {
1353
+ return LiquidateEvent.phantom();
1354
+ }
1355
+
1356
+ static get bcs() {
1357
+ return bcs.struct("LiquidateEvent", {
1358
+ user: bcs.bytes(32).transform({ input: (val: string) => fromHEX(val), output: (val: Uint8Array) => toHEX(val) }),
1359
+ collateral_token: TypeName.bcs,
1360
+ base_token: TypeName.bcs,
1361
+ position_id: bcs.u64(),
1362
+ collateral_price: bcs.u64(),
1363
+ trading_price: bcs.u64(),
1364
+ liquidator_fee_value: bcs.u64(),
1365
+ u64_padding: bcs.vector(bcs.u64()),
1366
+ });
1367
+ }
1368
+
1369
+ static fromFields(fields: Record<string, any>): LiquidateEvent {
1370
+ return LiquidateEvent.reified().new({
1371
+ user: decodeFromFields("address", fields.user),
1372
+ collateralToken: decodeFromFields(TypeName.reified(), fields.collateral_token),
1373
+ baseToken: decodeFromFields(TypeName.reified(), fields.base_token),
1374
+ positionId: decodeFromFields("u64", fields.position_id),
1375
+ collateralPrice: decodeFromFields("u64", fields.collateral_price),
1376
+ tradingPrice: decodeFromFields("u64", fields.trading_price),
1377
+ liquidatorFeeValue: decodeFromFields("u64", fields.liquidator_fee_value),
1378
+ u64Padding: decodeFromFields(reified.vector("u64"), fields.u64_padding),
1379
+ });
1380
+ }
1381
+
1382
+ static fromFieldsWithTypes(item: FieldsWithTypes): LiquidateEvent {
1383
+ if (!isLiquidateEvent(item.type)) {
1384
+ throw new Error("not a LiquidateEvent type");
1385
+ }
1386
+
1387
+ return LiquidateEvent.reified().new({
1388
+ user: decodeFromFieldsWithTypes("address", item.fields.user),
1389
+ collateralToken: decodeFromFieldsWithTypes(TypeName.reified(), item.fields.collateral_token),
1390
+ baseToken: decodeFromFieldsWithTypes(TypeName.reified(), item.fields.base_token),
1391
+ positionId: decodeFromFieldsWithTypes("u64", item.fields.position_id),
1392
+ collateralPrice: decodeFromFieldsWithTypes("u64", item.fields.collateral_price),
1393
+ tradingPrice: decodeFromFieldsWithTypes("u64", item.fields.trading_price),
1394
+ liquidatorFeeValue: decodeFromFieldsWithTypes("u64", item.fields.liquidator_fee_value),
1395
+ u64Padding: decodeFromFieldsWithTypes(reified.vector("u64"), item.fields.u64_padding),
1396
+ });
1397
+ }
1398
+
1399
+ static fromBcs(data: Uint8Array): LiquidateEvent {
1400
+ return LiquidateEvent.fromFields(LiquidateEvent.bcs.parse(data));
1401
+ }
1402
+
1403
+ toJSONField() {
1404
+ return {
1405
+ user: this.user,
1406
+ collateralToken: this.collateralToken.toJSONField(),
1407
+ baseToken: this.baseToken.toJSONField(),
1408
+ positionId: this.positionId.toString(),
1409
+ collateralPrice: this.collateralPrice.toString(),
1410
+ tradingPrice: this.tradingPrice.toString(),
1411
+ liquidatorFeeValue: this.liquidatorFeeValue.toString(),
1412
+ u64Padding: fieldToJSON<Vector<"u64">>(`vector<u64>`, this.u64Padding),
1413
+ };
1414
+ }
1415
+
1416
+ toJSON() {
1417
+ return { $typeName: this.$typeName, $typeArgs: this.$typeArgs, ...this.toJSONField() };
1418
+ }
1419
+
1420
+ static fromJSONField(field: any): LiquidateEvent {
1421
+ return LiquidateEvent.reified().new({
1422
+ user: decodeFromJSONField("address", field.user),
1423
+ collateralToken: decodeFromJSONField(TypeName.reified(), field.collateralToken),
1424
+ baseToken: decodeFromJSONField(TypeName.reified(), field.baseToken),
1425
+ positionId: decodeFromJSONField("u64", field.positionId),
1426
+ collateralPrice: decodeFromJSONField("u64", field.collateralPrice),
1427
+ tradingPrice: decodeFromJSONField("u64", field.tradingPrice),
1428
+ liquidatorFeeValue: decodeFromJSONField("u64", field.liquidatorFeeValue),
1429
+ u64Padding: decodeFromJSONField(reified.vector("u64"), field.u64Padding),
1430
+ });
1431
+ }
1432
+
1433
+ static fromJSON(json: Record<string, any>): LiquidateEvent {
1434
+ if (json.$typeName !== LiquidateEvent.$typeName) {
1435
+ throw new Error("not a WithTwoGenerics json object");
1436
+ }
1437
+
1438
+ return LiquidateEvent.fromJSONField(json);
1439
+ }
1440
+
1441
+ static fromSuiParsedData(content: SuiParsedData): LiquidateEvent {
1442
+ if (content.dataType !== "moveObject") {
1443
+ throw new Error("not an object");
1444
+ }
1445
+ if (!isLiquidateEvent(content.type)) {
1446
+ throw new Error(`object at ${(content.fields as any).id} is not a LiquidateEvent object`);
1447
+ }
1448
+ return LiquidateEvent.fromFieldsWithTypes(content);
1449
+ }
1450
+
1451
+ static async fetch(client: SuiClient, id: string): Promise<LiquidateEvent> {
1452
+ const res = await client.getObject({ id, options: { showBcs: true } });
1453
+ if (res.error) {
1454
+ throw new Error(`error fetching LiquidateEvent object at id ${id}: ${res.error.code}`);
1455
+ }
1456
+ if (res.data?.bcs?.dataType !== "moveObject" || !isLiquidateEvent(res.data.bcs.type)) {
1457
+ throw new Error(`object at id ${id} is not a LiquidateEvent object`);
1458
+ }
1459
+ return LiquidateEvent.fromBcs(fromB64(res.data.bcs.bcsBytes));
1460
+ }
1461
+ }
1462
+
1463
+ /* ============================== ManagerReducePosition =============================== */
1464
+
1465
+ export function isManagerReducePosition(type: string): boolean {
1466
+ type = compressSuiType(type);
1467
+ return type === "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::ManagerReducePosition";
1468
+ }
1469
+
1470
+ export interface ManagerReducePositionFields {
1471
+ user: ToField<"address">;
1472
+ collateralToken: ToField<TypeName>;
1473
+ baseToken: ToField<TypeName>;
1474
+ positionId: ToField<"u64">;
1475
+ reducedSize: ToField<"u64">;
1476
+ collateralPrice: ToField<"u64">;
1477
+ tradingPrice: ToField<"u64">;
1478
+ cancelledOrderIds: ToField<Vector<"u64">>;
1479
+ u64Padding: ToField<Vector<"u64">>;
1480
+ }
1481
+
1482
+ export type ManagerReducePositionReified = Reified<ManagerReducePosition, ManagerReducePositionFields>;
1483
+
1484
+ export class ManagerReducePosition implements StructClass {
1485
+ static readonly $typeName = "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::ManagerReducePosition";
1486
+ static readonly $numTypeParams = 0;
1487
+
1488
+ readonly $typeName = ManagerReducePosition.$typeName;
1489
+
1490
+ readonly $fullTypeName: "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::ManagerReducePosition";
1491
+
1492
+ readonly $typeArgs: [];
1493
+
1494
+ readonly user: ToField<"address">;
1495
+ readonly collateralToken: ToField<TypeName>;
1496
+ readonly baseToken: ToField<TypeName>;
1497
+ readonly positionId: ToField<"u64">;
1498
+ readonly reducedSize: ToField<"u64">;
1499
+ readonly collateralPrice: ToField<"u64">;
1500
+ readonly tradingPrice: ToField<"u64">;
1501
+ readonly cancelledOrderIds: ToField<Vector<"u64">>;
1502
+ readonly u64Padding: ToField<Vector<"u64">>;
1503
+
1504
+ private constructor(typeArgs: [], fields: ManagerReducePositionFields) {
1505
+ this.$fullTypeName = composeSuiType(
1506
+ ManagerReducePosition.$typeName,
1507
+ ...typeArgs
1508
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::ManagerReducePosition";
1509
+ this.$typeArgs = typeArgs;
1510
+
1511
+ this.user = fields.user;
1512
+ this.collateralToken = fields.collateralToken;
1513
+ this.baseToken = fields.baseToken;
1514
+ this.positionId = fields.positionId;
1515
+ this.reducedSize = fields.reducedSize;
1516
+ this.collateralPrice = fields.collateralPrice;
1517
+ this.tradingPrice = fields.tradingPrice;
1518
+ this.cancelledOrderIds = fields.cancelledOrderIds;
1519
+ this.u64Padding = fields.u64Padding;
1520
+ }
1521
+
1522
+ static reified(): ManagerReducePositionReified {
1523
+ return {
1524
+ typeName: ManagerReducePosition.$typeName,
1525
+ fullTypeName: composeSuiType(
1526
+ ManagerReducePosition.$typeName,
1527
+ ...[]
1528
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::ManagerReducePosition",
1529
+ typeArgs: [] as [],
1530
+ reifiedTypeArgs: [],
1531
+ fromFields: (fields: Record<string, any>) => ManagerReducePosition.fromFields(fields),
1532
+ fromFieldsWithTypes: (item: FieldsWithTypes) => ManagerReducePosition.fromFieldsWithTypes(item),
1533
+ fromBcs: (data: Uint8Array) => ManagerReducePosition.fromBcs(data),
1534
+ bcs: ManagerReducePosition.bcs,
1535
+ fromJSONField: (field: any) => ManagerReducePosition.fromJSONField(field),
1536
+ fromJSON: (json: Record<string, any>) => ManagerReducePosition.fromJSON(json),
1537
+ fromSuiParsedData: (content: SuiParsedData) => ManagerReducePosition.fromSuiParsedData(content),
1538
+ fetch: async (client: SuiClient, id: string) => ManagerReducePosition.fetch(client, id),
1539
+ new: (fields: ManagerReducePositionFields) => {
1540
+ return new ManagerReducePosition([], fields);
1541
+ },
1542
+ kind: "StructClassReified",
1543
+ };
1544
+ }
1545
+
1546
+ static get r() {
1547
+ return ManagerReducePosition.reified();
1548
+ }
1549
+
1550
+ static phantom(): PhantomReified<ToTypeStr<ManagerReducePosition>> {
1551
+ return phantom(ManagerReducePosition.reified());
1552
+ }
1553
+ static get p() {
1554
+ return ManagerReducePosition.phantom();
1555
+ }
1556
+
1557
+ static get bcs() {
1558
+ return bcs.struct("ManagerReducePosition", {
1559
+ user: bcs.bytes(32).transform({ input: (val: string) => fromHEX(val), output: (val: Uint8Array) => toHEX(val) }),
1560
+ collateral_token: TypeName.bcs,
1561
+ base_token: TypeName.bcs,
1562
+ position_id: bcs.u64(),
1563
+ reduced_size: bcs.u64(),
1564
+ collateral_price: bcs.u64(),
1565
+ trading_price: bcs.u64(),
1566
+ cancelled_order_ids: bcs.vector(bcs.u64()),
1567
+ u64_padding: bcs.vector(bcs.u64()),
1568
+ });
1569
+ }
1570
+
1571
+ static fromFields(fields: Record<string, any>): ManagerReducePosition {
1572
+ return ManagerReducePosition.reified().new({
1573
+ user: decodeFromFields("address", fields.user),
1574
+ collateralToken: decodeFromFields(TypeName.reified(), fields.collateral_token),
1575
+ baseToken: decodeFromFields(TypeName.reified(), fields.base_token),
1576
+ positionId: decodeFromFields("u64", fields.position_id),
1577
+ reducedSize: decodeFromFields("u64", fields.reduced_size),
1578
+ collateralPrice: decodeFromFields("u64", fields.collateral_price),
1579
+ tradingPrice: decodeFromFields("u64", fields.trading_price),
1580
+ cancelledOrderIds: decodeFromFields(reified.vector("u64"), fields.cancelled_order_ids),
1581
+ u64Padding: decodeFromFields(reified.vector("u64"), fields.u64_padding),
1582
+ });
1583
+ }
1584
+
1585
+ static fromFieldsWithTypes(item: FieldsWithTypes): ManagerReducePosition {
1586
+ if (!isManagerReducePosition(item.type)) {
1587
+ throw new Error("not a ManagerReducePosition type");
1588
+ }
1589
+
1590
+ return ManagerReducePosition.reified().new({
1591
+ user: decodeFromFieldsWithTypes("address", item.fields.user),
1592
+ collateralToken: decodeFromFieldsWithTypes(TypeName.reified(), item.fields.collateral_token),
1593
+ baseToken: decodeFromFieldsWithTypes(TypeName.reified(), item.fields.base_token),
1594
+ positionId: decodeFromFieldsWithTypes("u64", item.fields.position_id),
1595
+ reducedSize: decodeFromFieldsWithTypes("u64", item.fields.reduced_size),
1596
+ collateralPrice: decodeFromFieldsWithTypes("u64", item.fields.collateral_price),
1597
+ tradingPrice: decodeFromFieldsWithTypes("u64", item.fields.trading_price),
1598
+ cancelledOrderIds: decodeFromFieldsWithTypes(reified.vector("u64"), item.fields.cancelled_order_ids),
1599
+ u64Padding: decodeFromFieldsWithTypes(reified.vector("u64"), item.fields.u64_padding),
1600
+ });
1601
+ }
1602
+
1603
+ static fromBcs(data: Uint8Array): ManagerReducePosition {
1604
+ return ManagerReducePosition.fromFields(ManagerReducePosition.bcs.parse(data));
1605
+ }
1606
+
1607
+ toJSONField() {
1608
+ return {
1609
+ user: this.user,
1610
+ collateralToken: this.collateralToken.toJSONField(),
1611
+ baseToken: this.baseToken.toJSONField(),
1612
+ positionId: this.positionId.toString(),
1613
+ reducedSize: this.reducedSize.toString(),
1614
+ collateralPrice: this.collateralPrice.toString(),
1615
+ tradingPrice: this.tradingPrice.toString(),
1616
+ cancelledOrderIds: fieldToJSON<Vector<"u64">>(`vector<u64>`, this.cancelledOrderIds),
1617
+ u64Padding: fieldToJSON<Vector<"u64">>(`vector<u64>`, this.u64Padding),
1618
+ };
1619
+ }
1620
+
1621
+ toJSON() {
1622
+ return { $typeName: this.$typeName, $typeArgs: this.$typeArgs, ...this.toJSONField() };
1623
+ }
1624
+
1625
+ static fromJSONField(field: any): ManagerReducePosition {
1626
+ return ManagerReducePosition.reified().new({
1627
+ user: decodeFromJSONField("address", field.user),
1628
+ collateralToken: decodeFromJSONField(TypeName.reified(), field.collateralToken),
1629
+ baseToken: decodeFromJSONField(TypeName.reified(), field.baseToken),
1630
+ positionId: decodeFromJSONField("u64", field.positionId),
1631
+ reducedSize: decodeFromJSONField("u64", field.reducedSize),
1632
+ collateralPrice: decodeFromJSONField("u64", field.collateralPrice),
1633
+ tradingPrice: decodeFromJSONField("u64", field.tradingPrice),
1634
+ cancelledOrderIds: decodeFromJSONField(reified.vector("u64"), field.cancelledOrderIds),
1635
+ u64Padding: decodeFromJSONField(reified.vector("u64"), field.u64Padding),
1636
+ });
1637
+ }
1638
+
1639
+ static fromJSON(json: Record<string, any>): ManagerReducePosition {
1640
+ if (json.$typeName !== ManagerReducePosition.$typeName) {
1641
+ throw new Error("not a WithTwoGenerics json object");
1642
+ }
1643
+
1644
+ return ManagerReducePosition.fromJSONField(json);
1645
+ }
1646
+
1647
+ static fromSuiParsedData(content: SuiParsedData): ManagerReducePosition {
1648
+ if (content.dataType !== "moveObject") {
1649
+ throw new Error("not an object");
1650
+ }
1651
+ if (!isManagerReducePosition(content.type)) {
1652
+ throw new Error(`object at ${(content.fields as any).id} is not a ManagerReducePosition object`);
1653
+ }
1654
+ return ManagerReducePosition.fromFieldsWithTypes(content);
1655
+ }
1656
+
1657
+ static async fetch(client: SuiClient, id: string): Promise<ManagerReducePosition> {
1658
+ const res = await client.getObject({ id, options: { showBcs: true } });
1659
+ if (res.error) {
1660
+ throw new Error(`error fetching ManagerReducePosition object at id ${id}: ${res.error.code}`);
1661
+ }
1662
+ if (res.data?.bcs?.dataType !== "moveObject" || !isManagerReducePosition(res.data.bcs.type)) {
1663
+ throw new Error(`object at id ${id} is not a ManagerReducePosition object`);
1664
+ }
1665
+ return ManagerReducePosition.fromBcs(fromB64(res.data.bcs.bcsBytes));
1666
+ }
1667
+ }
1668
+
1669
+ /* ============================== MarketConfig =============================== */
1670
+
1671
+ export function isMarketConfig(type: string): boolean {
1672
+ type = compressSuiType(type);
1673
+ return type === "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::MarketConfig";
1674
+ }
1675
+
1676
+ export interface MarketConfigFields {
1677
+ oracleId: ToField<"address">;
1678
+ maxLeveragePct: ToField<"u64">;
1679
+ minSize: ToField<"u64">;
1680
+ lotSize: ToField<"u64">;
1681
+ tradingFeeRate: ToField<"u64">;
1682
+ tradingFeeDecimal: ToField<"u64">;
1683
+ basicFundingRate: ToField<"u64">;
1684
+ fundingIntervalTsMs: ToField<"u64">;
1685
+ u64Padding: ToField<Vector<"u64">>;
1686
+ }
1687
+
1688
+ export type MarketConfigReified = Reified<MarketConfig, MarketConfigFields>;
1689
+
1690
+ export class MarketConfig implements StructClass {
1691
+ static readonly $typeName = "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::MarketConfig";
1692
+ static readonly $numTypeParams = 0;
1693
+
1694
+ readonly $typeName = MarketConfig.$typeName;
1695
+
1696
+ readonly $fullTypeName: "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::MarketConfig";
1697
+
1698
+ readonly $typeArgs: [];
1699
+
1700
+ readonly oracleId: ToField<"address">;
1701
+ readonly maxLeveragePct: ToField<"u64">;
1702
+ readonly minSize: ToField<"u64">;
1703
+ readonly lotSize: ToField<"u64">;
1704
+ readonly tradingFeeRate: ToField<"u64">;
1705
+ readonly tradingFeeDecimal: ToField<"u64">;
1706
+ readonly basicFundingRate: ToField<"u64">;
1707
+ readonly fundingIntervalTsMs: ToField<"u64">;
1708
+ readonly u64Padding: ToField<Vector<"u64">>;
1709
+
1710
+ private constructor(typeArgs: [], fields: MarketConfigFields) {
1711
+ this.$fullTypeName = composeSuiType(
1712
+ MarketConfig.$typeName,
1713
+ ...typeArgs
1714
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::MarketConfig";
1715
+ this.$typeArgs = typeArgs;
1716
+
1717
+ this.oracleId = fields.oracleId;
1718
+ this.maxLeveragePct = fields.maxLeveragePct;
1719
+ this.minSize = fields.minSize;
1720
+ this.lotSize = fields.lotSize;
1721
+ this.tradingFeeRate = fields.tradingFeeRate;
1722
+ this.tradingFeeDecimal = fields.tradingFeeDecimal;
1723
+ this.basicFundingRate = fields.basicFundingRate;
1724
+ this.fundingIntervalTsMs = fields.fundingIntervalTsMs;
1725
+ this.u64Padding = fields.u64Padding;
1726
+ }
1727
+
1728
+ static reified(): MarketConfigReified {
1729
+ return {
1730
+ typeName: MarketConfig.$typeName,
1731
+ fullTypeName: composeSuiType(
1732
+ MarketConfig.$typeName,
1733
+ ...[]
1734
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::MarketConfig",
1735
+ typeArgs: [] as [],
1736
+ reifiedTypeArgs: [],
1737
+ fromFields: (fields: Record<string, any>) => MarketConfig.fromFields(fields),
1738
+ fromFieldsWithTypes: (item: FieldsWithTypes) => MarketConfig.fromFieldsWithTypes(item),
1739
+ fromBcs: (data: Uint8Array) => MarketConfig.fromBcs(data),
1740
+ bcs: MarketConfig.bcs,
1741
+ fromJSONField: (field: any) => MarketConfig.fromJSONField(field),
1742
+ fromJSON: (json: Record<string, any>) => MarketConfig.fromJSON(json),
1743
+ fromSuiParsedData: (content: SuiParsedData) => MarketConfig.fromSuiParsedData(content),
1744
+ fetch: async (client: SuiClient, id: string) => MarketConfig.fetch(client, id),
1745
+ new: (fields: MarketConfigFields) => {
1746
+ return new MarketConfig([], fields);
1747
+ },
1748
+ kind: "StructClassReified",
1749
+ };
1750
+ }
1751
+
1752
+ static get r() {
1753
+ return MarketConfig.reified();
1754
+ }
1755
+
1756
+ static phantom(): PhantomReified<ToTypeStr<MarketConfig>> {
1757
+ return phantom(MarketConfig.reified());
1758
+ }
1759
+ static get p() {
1760
+ return MarketConfig.phantom();
1761
+ }
1762
+
1763
+ static get bcs() {
1764
+ return bcs.struct("MarketConfig", {
1765
+ oracle_id: bcs.bytes(32).transform({ input: (val: string) => fromHEX(val), output: (val: Uint8Array) => toHEX(val) }),
1766
+ max_leverage_pct: bcs.u64(),
1767
+ min_size: bcs.u64(),
1768
+ lot_size: bcs.u64(),
1769
+ trading_fee_rate: bcs.u64(),
1770
+ trading_fee_decimal: bcs.u64(),
1771
+ basic_funding_rate: bcs.u64(),
1772
+ funding_interval_ts_ms: bcs.u64(),
1773
+ u64_padding: bcs.vector(bcs.u64()),
1774
+ });
1775
+ }
1776
+
1777
+ static fromFields(fields: Record<string, any>): MarketConfig {
1778
+ return MarketConfig.reified().new({
1779
+ oracleId: decodeFromFields("address", fields.oracle_id),
1780
+ maxLeveragePct: decodeFromFields("u64", fields.max_leverage_pct),
1781
+ minSize: decodeFromFields("u64", fields.min_size),
1782
+ lotSize: decodeFromFields("u64", fields.lot_size),
1783
+ tradingFeeRate: decodeFromFields("u64", fields.trading_fee_rate),
1784
+ tradingFeeDecimal: decodeFromFields("u64", fields.trading_fee_decimal),
1785
+ basicFundingRate: decodeFromFields("u64", fields.basic_funding_rate),
1786
+ fundingIntervalTsMs: decodeFromFields("u64", fields.funding_interval_ts_ms),
1787
+ u64Padding: decodeFromFields(reified.vector("u64"), fields.u64_padding),
1788
+ });
1789
+ }
1790
+
1791
+ static fromFieldsWithTypes(item: FieldsWithTypes): MarketConfig {
1792
+ if (!isMarketConfig(item.type)) {
1793
+ throw new Error("not a MarketConfig type");
1794
+ }
1795
+
1796
+ return MarketConfig.reified().new({
1797
+ oracleId: decodeFromFieldsWithTypes("address", item.fields.oracle_id),
1798
+ maxLeveragePct: decodeFromFieldsWithTypes("u64", item.fields.max_leverage_pct),
1799
+ minSize: decodeFromFieldsWithTypes("u64", item.fields.min_size),
1800
+ lotSize: decodeFromFieldsWithTypes("u64", item.fields.lot_size),
1801
+ tradingFeeRate: decodeFromFieldsWithTypes("u64", item.fields.trading_fee_rate),
1802
+ tradingFeeDecimal: decodeFromFieldsWithTypes("u64", item.fields.trading_fee_decimal),
1803
+ basicFundingRate: decodeFromFieldsWithTypes("u64", item.fields.basic_funding_rate),
1804
+ fundingIntervalTsMs: decodeFromFieldsWithTypes("u64", item.fields.funding_interval_ts_ms),
1805
+ u64Padding: decodeFromFieldsWithTypes(reified.vector("u64"), item.fields.u64_padding),
1806
+ });
1807
+ }
1808
+
1809
+ static fromBcs(data: Uint8Array): MarketConfig {
1810
+ return MarketConfig.fromFields(MarketConfig.bcs.parse(data));
1811
+ }
1812
+
1813
+ toJSONField() {
1814
+ return {
1815
+ oracleId: this.oracleId,
1816
+ maxLeveragePct: this.maxLeveragePct.toString(),
1817
+ minSize: this.minSize.toString(),
1818
+ lotSize: this.lotSize.toString(),
1819
+ tradingFeeRate: this.tradingFeeRate.toString(),
1820
+ tradingFeeDecimal: this.tradingFeeDecimal.toString(),
1821
+ basicFundingRate: this.basicFundingRate.toString(),
1822
+ fundingIntervalTsMs: this.fundingIntervalTsMs.toString(),
1823
+ u64Padding: fieldToJSON<Vector<"u64">>(`vector<u64>`, this.u64Padding),
1824
+ };
1825
+ }
1826
+
1827
+ toJSON() {
1828
+ return { $typeName: this.$typeName, $typeArgs: this.$typeArgs, ...this.toJSONField() };
1829
+ }
1830
+
1831
+ static fromJSONField(field: any): MarketConfig {
1832
+ return MarketConfig.reified().new({
1833
+ oracleId: decodeFromJSONField("address", field.oracleId),
1834
+ maxLeveragePct: decodeFromJSONField("u64", field.maxLeveragePct),
1835
+ minSize: decodeFromJSONField("u64", field.minSize),
1836
+ lotSize: decodeFromJSONField("u64", field.lotSize),
1837
+ tradingFeeRate: decodeFromJSONField("u64", field.tradingFeeRate),
1838
+ tradingFeeDecimal: decodeFromJSONField("u64", field.tradingFeeDecimal),
1839
+ basicFundingRate: decodeFromJSONField("u64", field.basicFundingRate),
1840
+ fundingIntervalTsMs: decodeFromJSONField("u64", field.fundingIntervalTsMs),
1841
+ u64Padding: decodeFromJSONField(reified.vector("u64"), field.u64Padding),
1842
+ });
1843
+ }
1844
+
1845
+ static fromJSON(json: Record<string, any>): MarketConfig {
1846
+ if (json.$typeName !== MarketConfig.$typeName) {
1847
+ throw new Error("not a WithTwoGenerics json object");
1848
+ }
1849
+
1850
+ return MarketConfig.fromJSONField(json);
1851
+ }
1852
+
1853
+ static fromSuiParsedData(content: SuiParsedData): MarketConfig {
1854
+ if (content.dataType !== "moveObject") {
1855
+ throw new Error("not an object");
1856
+ }
1857
+ if (!isMarketConfig(content.type)) {
1858
+ throw new Error(`object at ${(content.fields as any).id} is not a MarketConfig object`);
1859
+ }
1860
+ return MarketConfig.fromFieldsWithTypes(content);
1861
+ }
1862
+
1863
+ static async fetch(client: SuiClient, id: string): Promise<MarketConfig> {
1864
+ const res = await client.getObject({ id, options: { showBcs: true } });
1865
+ if (res.error) {
1866
+ throw new Error(`error fetching MarketConfig object at id ${id}: ${res.error.code}`);
1867
+ }
1868
+ if (res.data?.bcs?.dataType !== "moveObject" || !isMarketConfig(res.data.bcs.type)) {
1869
+ throw new Error(`object at id ${id} is not a MarketConfig object`);
1870
+ }
1871
+ return MarketConfig.fromBcs(fromB64(res.data.bcs.bcsBytes));
1872
+ }
1873
+ }
1874
+
1875
+ /* ============================== MarketInfo =============================== */
1876
+
1877
+ export function isMarketInfo(type: string): boolean {
1878
+ type = compressSuiType(type);
1879
+ return type === "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::MarketInfo";
1880
+ }
1881
+
1882
+ export interface MarketInfoFields {
1883
+ isActive: ToField<"bool">;
1884
+ sizeDecimal: ToField<"u64">;
1885
+ userLongPositionSize: ToField<"u64">;
1886
+ userShortPositionSize: ToField<"u64">;
1887
+ nextPositionId: ToField<"u64">;
1888
+ userLongOrderSize: ToField<"u64">;
1889
+ userShortOrderSize: ToField<"u64">;
1890
+ nextOrderId: ToField<"u64">;
1891
+ lastFundingTsMs: ToField<"u64">;
1892
+ cumulativeFundingRateIndexSign: ToField<"bool">;
1893
+ cumulativeFundingRateIndex: ToField<"u64">;
1894
+ previousLastFundingTsMs: ToField<"u64">;
1895
+ previousCumulativeFundingRateIndexSign: ToField<"bool">;
1896
+ previousCumulativeFundingRateIndex: ToField<"u64">;
1897
+ u64Padding: ToField<Vector<"u64">>;
1898
+ }
1899
+
1900
+ export type MarketInfoReified = Reified<MarketInfo, MarketInfoFields>;
1901
+
1902
+ export class MarketInfo implements StructClass {
1903
+ static readonly $typeName = "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::MarketInfo";
1904
+ static readonly $numTypeParams = 0;
1905
+
1906
+ readonly $typeName = MarketInfo.$typeName;
1907
+
1908
+ readonly $fullTypeName: "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::MarketInfo";
1909
+
1910
+ readonly $typeArgs: [];
1911
+
1912
+ readonly isActive: ToField<"bool">;
1913
+ readonly sizeDecimal: ToField<"u64">;
1914
+ readonly userLongPositionSize: ToField<"u64">;
1915
+ readonly userShortPositionSize: ToField<"u64">;
1916
+ readonly nextPositionId: ToField<"u64">;
1917
+ readonly userLongOrderSize: ToField<"u64">;
1918
+ readonly userShortOrderSize: ToField<"u64">;
1919
+ readonly nextOrderId: ToField<"u64">;
1920
+ readonly lastFundingTsMs: ToField<"u64">;
1921
+ readonly cumulativeFundingRateIndexSign: ToField<"bool">;
1922
+ readonly cumulativeFundingRateIndex: ToField<"u64">;
1923
+ readonly previousLastFundingTsMs: ToField<"u64">;
1924
+ readonly previousCumulativeFundingRateIndexSign: ToField<"bool">;
1925
+ readonly previousCumulativeFundingRateIndex: ToField<"u64">;
1926
+ readonly u64Padding: ToField<Vector<"u64">>;
1927
+
1928
+ private constructor(typeArgs: [], fields: MarketInfoFields) {
1929
+ this.$fullTypeName = composeSuiType(
1930
+ MarketInfo.$typeName,
1931
+ ...typeArgs
1932
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::MarketInfo";
1933
+ this.$typeArgs = typeArgs;
1934
+
1935
+ this.isActive = fields.isActive;
1936
+ this.sizeDecimal = fields.sizeDecimal;
1937
+ this.userLongPositionSize = fields.userLongPositionSize;
1938
+ this.userShortPositionSize = fields.userShortPositionSize;
1939
+ this.nextPositionId = fields.nextPositionId;
1940
+ this.userLongOrderSize = fields.userLongOrderSize;
1941
+ this.userShortOrderSize = fields.userShortOrderSize;
1942
+ this.nextOrderId = fields.nextOrderId;
1943
+ this.lastFundingTsMs = fields.lastFundingTsMs;
1944
+ this.cumulativeFundingRateIndexSign = fields.cumulativeFundingRateIndexSign;
1945
+ this.cumulativeFundingRateIndex = fields.cumulativeFundingRateIndex;
1946
+ this.previousLastFundingTsMs = fields.previousLastFundingTsMs;
1947
+ this.previousCumulativeFundingRateIndexSign = fields.previousCumulativeFundingRateIndexSign;
1948
+ this.previousCumulativeFundingRateIndex = fields.previousCumulativeFundingRateIndex;
1949
+ this.u64Padding = fields.u64Padding;
1950
+ }
1951
+
1952
+ static reified(): MarketInfoReified {
1953
+ return {
1954
+ typeName: MarketInfo.$typeName,
1955
+ fullTypeName: composeSuiType(
1956
+ MarketInfo.$typeName,
1957
+ ...[]
1958
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::MarketInfo",
1959
+ typeArgs: [] as [],
1960
+ reifiedTypeArgs: [],
1961
+ fromFields: (fields: Record<string, any>) => MarketInfo.fromFields(fields),
1962
+ fromFieldsWithTypes: (item: FieldsWithTypes) => MarketInfo.fromFieldsWithTypes(item),
1963
+ fromBcs: (data: Uint8Array) => MarketInfo.fromBcs(data),
1964
+ bcs: MarketInfo.bcs,
1965
+ fromJSONField: (field: any) => MarketInfo.fromJSONField(field),
1966
+ fromJSON: (json: Record<string, any>) => MarketInfo.fromJSON(json),
1967
+ fromSuiParsedData: (content: SuiParsedData) => MarketInfo.fromSuiParsedData(content),
1968
+ fetch: async (client: SuiClient, id: string) => MarketInfo.fetch(client, id),
1969
+ new: (fields: MarketInfoFields) => {
1970
+ return new MarketInfo([], fields);
1971
+ },
1972
+ kind: "StructClassReified",
1973
+ };
1974
+ }
1975
+
1976
+ static get r() {
1977
+ return MarketInfo.reified();
1978
+ }
1979
+
1980
+ static phantom(): PhantomReified<ToTypeStr<MarketInfo>> {
1981
+ return phantom(MarketInfo.reified());
1982
+ }
1983
+ static get p() {
1984
+ return MarketInfo.phantom();
1985
+ }
1986
+
1987
+ static get bcs() {
1988
+ return bcs.struct("MarketInfo", {
1989
+ is_active: bcs.bool(),
1990
+ size_decimal: bcs.u64(),
1991
+ user_long_position_size: bcs.u64(),
1992
+ user_short_position_size: bcs.u64(),
1993
+ next_position_id: bcs.u64(),
1994
+ user_long_order_size: bcs.u64(),
1995
+ user_short_order_size: bcs.u64(),
1996
+ next_order_id: bcs.u64(),
1997
+ last_funding_ts_ms: bcs.u64(),
1998
+ cumulative_funding_rate_index_sign: bcs.bool(),
1999
+ cumulative_funding_rate_index: bcs.u64(),
2000
+ previous_last_funding_ts_ms: bcs.u64(),
2001
+ previous_cumulative_funding_rate_index_sign: bcs.bool(),
2002
+ previous_cumulative_funding_rate_index: bcs.u64(),
2003
+ u64_padding: bcs.vector(bcs.u64()),
2004
+ });
2005
+ }
2006
+
2007
+ static fromFields(fields: Record<string, any>): MarketInfo {
2008
+ return MarketInfo.reified().new({
2009
+ isActive: decodeFromFields("bool", fields.is_active),
2010
+ sizeDecimal: decodeFromFields("u64", fields.size_decimal),
2011
+ userLongPositionSize: decodeFromFields("u64", fields.user_long_position_size),
2012
+ userShortPositionSize: decodeFromFields("u64", fields.user_short_position_size),
2013
+ nextPositionId: decodeFromFields("u64", fields.next_position_id),
2014
+ userLongOrderSize: decodeFromFields("u64", fields.user_long_order_size),
2015
+ userShortOrderSize: decodeFromFields("u64", fields.user_short_order_size),
2016
+ nextOrderId: decodeFromFields("u64", fields.next_order_id),
2017
+ lastFundingTsMs: decodeFromFields("u64", fields.last_funding_ts_ms),
2018
+ cumulativeFundingRateIndexSign: decodeFromFields("bool", fields.cumulative_funding_rate_index_sign),
2019
+ cumulativeFundingRateIndex: decodeFromFields("u64", fields.cumulative_funding_rate_index),
2020
+ previousLastFundingTsMs: decodeFromFields("u64", fields.previous_last_funding_ts_ms),
2021
+ previousCumulativeFundingRateIndexSign: decodeFromFields("bool", fields.previous_cumulative_funding_rate_index_sign),
2022
+ previousCumulativeFundingRateIndex: decodeFromFields("u64", fields.previous_cumulative_funding_rate_index),
2023
+ u64Padding: decodeFromFields(reified.vector("u64"), fields.u64_padding),
2024
+ });
2025
+ }
2026
+
2027
+ static fromFieldsWithTypes(item: FieldsWithTypes): MarketInfo {
2028
+ if (!isMarketInfo(item.type)) {
2029
+ throw new Error("not a MarketInfo type");
2030
+ }
2031
+
2032
+ return MarketInfo.reified().new({
2033
+ isActive: decodeFromFieldsWithTypes("bool", item.fields.is_active),
2034
+ sizeDecimal: decodeFromFieldsWithTypes("u64", item.fields.size_decimal),
2035
+ userLongPositionSize: decodeFromFieldsWithTypes("u64", item.fields.user_long_position_size),
2036
+ userShortPositionSize: decodeFromFieldsWithTypes("u64", item.fields.user_short_position_size),
2037
+ nextPositionId: decodeFromFieldsWithTypes("u64", item.fields.next_position_id),
2038
+ userLongOrderSize: decodeFromFieldsWithTypes("u64", item.fields.user_long_order_size),
2039
+ userShortOrderSize: decodeFromFieldsWithTypes("u64", item.fields.user_short_order_size),
2040
+ nextOrderId: decodeFromFieldsWithTypes("u64", item.fields.next_order_id),
2041
+ lastFundingTsMs: decodeFromFieldsWithTypes("u64", item.fields.last_funding_ts_ms),
2042
+ cumulativeFundingRateIndexSign: decodeFromFieldsWithTypes("bool", item.fields.cumulative_funding_rate_index_sign),
2043
+ cumulativeFundingRateIndex: decodeFromFieldsWithTypes("u64", item.fields.cumulative_funding_rate_index),
2044
+ previousLastFundingTsMs: decodeFromFieldsWithTypes("u64", item.fields.previous_last_funding_ts_ms),
2045
+ previousCumulativeFundingRateIndexSign: decodeFromFieldsWithTypes(
2046
+ "bool",
2047
+ item.fields.previous_cumulative_funding_rate_index_sign
2048
+ ),
2049
+ previousCumulativeFundingRateIndex: decodeFromFieldsWithTypes("u64", item.fields.previous_cumulative_funding_rate_index),
2050
+ u64Padding: decodeFromFieldsWithTypes(reified.vector("u64"), item.fields.u64_padding),
2051
+ });
2052
+ }
2053
+
2054
+ static fromBcs(data: Uint8Array): MarketInfo {
2055
+ return MarketInfo.fromFields(MarketInfo.bcs.parse(data));
2056
+ }
2057
+
2058
+ toJSONField() {
2059
+ return {
2060
+ isActive: this.isActive,
2061
+ sizeDecimal: this.sizeDecimal.toString(),
2062
+ userLongPositionSize: this.userLongPositionSize.toString(),
2063
+ userShortPositionSize: this.userShortPositionSize.toString(),
2064
+ nextPositionId: this.nextPositionId.toString(),
2065
+ userLongOrderSize: this.userLongOrderSize.toString(),
2066
+ userShortOrderSize: this.userShortOrderSize.toString(),
2067
+ nextOrderId: this.nextOrderId.toString(),
2068
+ lastFundingTsMs: this.lastFundingTsMs.toString(),
2069
+ cumulativeFundingRateIndexSign: this.cumulativeFundingRateIndexSign,
2070
+ cumulativeFundingRateIndex: this.cumulativeFundingRateIndex.toString(),
2071
+ previousLastFundingTsMs: this.previousLastFundingTsMs.toString(),
2072
+ previousCumulativeFundingRateIndexSign: this.previousCumulativeFundingRateIndexSign,
2073
+ previousCumulativeFundingRateIndex: this.previousCumulativeFundingRateIndex.toString(),
2074
+ u64Padding: fieldToJSON<Vector<"u64">>(`vector<u64>`, this.u64Padding),
2075
+ };
2076
+ }
2077
+
2078
+ toJSON() {
2079
+ return { $typeName: this.$typeName, $typeArgs: this.$typeArgs, ...this.toJSONField() };
2080
+ }
2081
+
2082
+ static fromJSONField(field: any): MarketInfo {
2083
+ return MarketInfo.reified().new({
2084
+ isActive: decodeFromJSONField("bool", field.isActive),
2085
+ sizeDecimal: decodeFromJSONField("u64", field.sizeDecimal),
2086
+ userLongPositionSize: decodeFromJSONField("u64", field.userLongPositionSize),
2087
+ userShortPositionSize: decodeFromJSONField("u64", field.userShortPositionSize),
2088
+ nextPositionId: decodeFromJSONField("u64", field.nextPositionId),
2089
+ userLongOrderSize: decodeFromJSONField("u64", field.userLongOrderSize),
2090
+ userShortOrderSize: decodeFromJSONField("u64", field.userShortOrderSize),
2091
+ nextOrderId: decodeFromJSONField("u64", field.nextOrderId),
2092
+ lastFundingTsMs: decodeFromJSONField("u64", field.lastFundingTsMs),
2093
+ cumulativeFundingRateIndexSign: decodeFromJSONField("bool", field.cumulativeFundingRateIndexSign),
2094
+ cumulativeFundingRateIndex: decodeFromJSONField("u64", field.cumulativeFundingRateIndex),
2095
+ previousLastFundingTsMs: decodeFromJSONField("u64", field.previousLastFundingTsMs),
2096
+ previousCumulativeFundingRateIndexSign: decodeFromJSONField("bool", field.previousCumulativeFundingRateIndexSign),
2097
+ previousCumulativeFundingRateIndex: decodeFromJSONField("u64", field.previousCumulativeFundingRateIndex),
2098
+ u64Padding: decodeFromJSONField(reified.vector("u64"), field.u64Padding),
2099
+ });
2100
+ }
2101
+
2102
+ static fromJSON(json: Record<string, any>): MarketInfo {
2103
+ if (json.$typeName !== MarketInfo.$typeName) {
2104
+ throw new Error("not a WithTwoGenerics json object");
2105
+ }
2106
+
2107
+ return MarketInfo.fromJSONField(json);
2108
+ }
2109
+
2110
+ static fromSuiParsedData(content: SuiParsedData): MarketInfo {
2111
+ if (content.dataType !== "moveObject") {
2112
+ throw new Error("not an object");
2113
+ }
2114
+ if (!isMarketInfo(content.type)) {
2115
+ throw new Error(`object at ${(content.fields as any).id} is not a MarketInfo object`);
2116
+ }
2117
+ return MarketInfo.fromFieldsWithTypes(content);
2118
+ }
2119
+
2120
+ static async fetch(client: SuiClient, id: string): Promise<MarketInfo> {
2121
+ const res = await client.getObject({ id, options: { showBcs: true } });
2122
+ if (res.error) {
2123
+ throw new Error(`error fetching MarketInfo object at id ${id}: ${res.error.code}`);
2124
+ }
2125
+ if (res.data?.bcs?.dataType !== "moveObject" || !isMarketInfo(res.data.bcs.type)) {
2126
+ throw new Error(`object at id ${id} is not a MarketInfo object`);
2127
+ }
2128
+ return MarketInfo.fromBcs(fromB64(res.data.bcs.bcsBytes));
2129
+ }
2130
+ }
2131
+
2132
+ /* ============================== MarketRegistry =============================== */
2133
+
2134
+ export function isMarketRegistry(type: string): boolean {
2135
+ type = compressSuiType(type);
2136
+ return type === "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::MarketRegistry";
2137
+ }
2138
+
2139
+ export interface MarketRegistryFields {
2140
+ id: ToField<UID>;
2141
+ referralRegistry: ToField<UID>;
2142
+ numMarket: ToField<"u64">;
2143
+ u64Padding: ToField<Vector<"u64">>;
2144
+ }
2145
+
2146
+ export type MarketRegistryReified = Reified<MarketRegistry, MarketRegistryFields>;
2147
+
2148
+ export class MarketRegistry implements StructClass {
2149
+ static readonly $typeName = "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::MarketRegistry";
2150
+ static readonly $numTypeParams = 0;
2151
+
2152
+ readonly $typeName = MarketRegistry.$typeName;
2153
+
2154
+ readonly $fullTypeName: "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::MarketRegistry";
2155
+
2156
+ readonly $typeArgs: [];
2157
+
2158
+ readonly id: ToField<UID>;
2159
+ readonly referralRegistry: ToField<UID>;
2160
+ readonly numMarket: ToField<"u64">;
2161
+ readonly u64Padding: ToField<Vector<"u64">>;
2162
+
2163
+ private constructor(typeArgs: [], fields: MarketRegistryFields) {
2164
+ this.$fullTypeName = composeSuiType(
2165
+ MarketRegistry.$typeName,
2166
+ ...typeArgs
2167
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::MarketRegistry";
2168
+ this.$typeArgs = typeArgs;
2169
+
2170
+ this.id = fields.id;
2171
+ this.referralRegistry = fields.referralRegistry;
2172
+ this.numMarket = fields.numMarket;
2173
+ this.u64Padding = fields.u64Padding;
2174
+ }
2175
+
2176
+ static reified(): MarketRegistryReified {
2177
+ return {
2178
+ typeName: MarketRegistry.$typeName,
2179
+ fullTypeName: composeSuiType(
2180
+ MarketRegistry.$typeName,
2181
+ ...[]
2182
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::MarketRegistry",
2183
+ typeArgs: [] as [],
2184
+ reifiedTypeArgs: [],
2185
+ fromFields: (fields: Record<string, any>) => MarketRegistry.fromFields(fields),
2186
+ fromFieldsWithTypes: (item: FieldsWithTypes) => MarketRegistry.fromFieldsWithTypes(item),
2187
+ fromBcs: (data: Uint8Array) => MarketRegistry.fromBcs(data),
2188
+ bcs: MarketRegistry.bcs,
2189
+ fromJSONField: (field: any) => MarketRegistry.fromJSONField(field),
2190
+ fromJSON: (json: Record<string, any>) => MarketRegistry.fromJSON(json),
2191
+ fromSuiParsedData: (content: SuiParsedData) => MarketRegistry.fromSuiParsedData(content),
2192
+ fetch: async (client: SuiClient, id: string) => MarketRegistry.fetch(client, id),
2193
+ new: (fields: MarketRegistryFields) => {
2194
+ return new MarketRegistry([], fields);
2195
+ },
2196
+ kind: "StructClassReified",
2197
+ };
2198
+ }
2199
+
2200
+ static get r() {
2201
+ return MarketRegistry.reified();
2202
+ }
2203
+
2204
+ static phantom(): PhantomReified<ToTypeStr<MarketRegistry>> {
2205
+ return phantom(MarketRegistry.reified());
2206
+ }
2207
+ static get p() {
2208
+ return MarketRegistry.phantom();
2209
+ }
2210
+
2211
+ static get bcs() {
2212
+ return bcs.struct("MarketRegistry", {
2213
+ id: UID.bcs,
2214
+ referral_registry: UID.bcs,
2215
+ num_market: bcs.u64(),
2216
+ u64_padding: bcs.vector(bcs.u64()),
2217
+ });
2218
+ }
2219
+
2220
+ static fromFields(fields: Record<string, any>): MarketRegistry {
2221
+ return MarketRegistry.reified().new({
2222
+ id: decodeFromFields(UID.reified(), fields.id),
2223
+ referralRegistry: decodeFromFields(UID.reified(), fields.referral_registry),
2224
+ numMarket: decodeFromFields("u64", fields.num_market),
2225
+ u64Padding: decodeFromFields(reified.vector("u64"), fields.u64_padding),
2226
+ });
2227
+ }
2228
+
2229
+ static fromFieldsWithTypes(item: FieldsWithTypes): MarketRegistry {
2230
+ if (!isMarketRegistry(item.type)) {
2231
+ throw new Error("not a MarketRegistry type");
2232
+ }
2233
+
2234
+ return MarketRegistry.reified().new({
2235
+ id: decodeFromFieldsWithTypes(UID.reified(), item.fields.id),
2236
+ referralRegistry: decodeFromFieldsWithTypes(UID.reified(), item.fields.referral_registry),
2237
+ numMarket: decodeFromFieldsWithTypes("u64", item.fields.num_market),
2238
+ u64Padding: decodeFromFieldsWithTypes(reified.vector("u64"), item.fields.u64_padding),
2239
+ });
2240
+ }
2241
+
2242
+ static fromBcs(data: Uint8Array): MarketRegistry {
2243
+ return MarketRegistry.fromFields(MarketRegistry.bcs.parse(data));
2244
+ }
2245
+
2246
+ toJSONField() {
2247
+ return {
2248
+ id: this.id,
2249
+ referralRegistry: this.referralRegistry,
2250
+ numMarket: this.numMarket.toString(),
2251
+ u64Padding: fieldToJSON<Vector<"u64">>(`vector<u64>`, this.u64Padding),
2252
+ };
2253
+ }
2254
+
2255
+ toJSON() {
2256
+ return { $typeName: this.$typeName, $typeArgs: this.$typeArgs, ...this.toJSONField() };
2257
+ }
2258
+
2259
+ static fromJSONField(field: any): MarketRegistry {
2260
+ return MarketRegistry.reified().new({
2261
+ id: decodeFromJSONField(UID.reified(), field.id),
2262
+ referralRegistry: decodeFromJSONField(UID.reified(), field.referralRegistry),
2263
+ numMarket: decodeFromJSONField("u64", field.numMarket),
2264
+ u64Padding: decodeFromJSONField(reified.vector("u64"), field.u64Padding),
2265
+ });
2266
+ }
2267
+
2268
+ static fromJSON(json: Record<string, any>): MarketRegistry {
2269
+ if (json.$typeName !== MarketRegistry.$typeName) {
2270
+ throw new Error("not a WithTwoGenerics json object");
2271
+ }
2272
+
2273
+ return MarketRegistry.fromJSONField(json);
2274
+ }
2275
+
2276
+ static fromSuiParsedData(content: SuiParsedData): MarketRegistry {
2277
+ if (content.dataType !== "moveObject") {
2278
+ throw new Error("not an object");
2279
+ }
2280
+ if (!isMarketRegistry(content.type)) {
2281
+ throw new Error(`object at ${(content.fields as any).id} is not a MarketRegistry object`);
2282
+ }
2283
+ return MarketRegistry.fromFieldsWithTypes(content);
2284
+ }
2285
+
2286
+ static async fetch(client: SuiClient, id: string): Promise<MarketRegistry> {
2287
+ const res = await client.getObject({ id, options: { showBcs: true } });
2288
+ if (res.error) {
2289
+ throw new Error(`error fetching MarketRegistry object at id ${id}: ${res.error.code}`);
2290
+ }
2291
+ if (res.data?.bcs?.dataType !== "moveObject" || !isMarketRegistry(res.data.bcs.type)) {
2292
+ throw new Error(`object at id ${id} is not a MarketRegistry object`);
2293
+ }
2294
+ return MarketRegistry.fromBcs(fromB64(res.data.bcs.bcsBytes));
2295
+ }
2296
+ }
2297
+
2298
+ /* ============================== Markets =============================== */
2299
+
2300
+ export function isMarkets(type: string): boolean {
2301
+ type = compressSuiType(type);
2302
+ return type === "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::Markets";
2303
+ }
2304
+
2305
+ export interface MarketsFields {
2306
+ id: ToField<UID>;
2307
+ index: ToField<"u64">;
2308
+ lpTokenType: ToField<TypeName>;
2309
+ quoteTokenType: ToField<TypeName>;
2310
+ isActive: ToField<"bool">;
2311
+ protocolFeeShareBp: ToField<"u64">;
2312
+ symbols: ToField<Vector<TypeName>>;
2313
+ symbolMarkets: ToField<ObjectTable<ToPhantom<TypeName>, ToPhantom<SymbolMarket>>>;
2314
+ u64Padding: ToField<Vector<"u64">>;
2315
+ }
2316
+
2317
+ export type MarketsReified = Reified<Markets, MarketsFields>;
2318
+
2319
+ export class Markets implements StructClass {
2320
+ static readonly $typeName = "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::Markets";
2321
+ static readonly $numTypeParams = 0;
2322
+
2323
+ readonly $typeName = Markets.$typeName;
2324
+
2325
+ readonly $fullTypeName: "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::Markets";
2326
+
2327
+ readonly $typeArgs: [];
2328
+
2329
+ readonly id: ToField<UID>;
2330
+ readonly index: ToField<"u64">;
2331
+ readonly lpTokenType: ToField<TypeName>;
2332
+ readonly quoteTokenType: ToField<TypeName>;
2333
+ readonly isActive: ToField<"bool">;
2334
+ readonly protocolFeeShareBp: ToField<"u64">;
2335
+ readonly symbols: ToField<Vector<TypeName>>;
2336
+ readonly symbolMarkets: ToField<ObjectTable<ToPhantom<TypeName>, ToPhantom<SymbolMarket>>>;
2337
+ readonly u64Padding: ToField<Vector<"u64">>;
2338
+
2339
+ private constructor(typeArgs: [], fields: MarketsFields) {
2340
+ this.$fullTypeName = composeSuiType(
2341
+ Markets.$typeName,
2342
+ ...typeArgs
2343
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::Markets";
2344
+ this.$typeArgs = typeArgs;
2345
+
2346
+ this.id = fields.id;
2347
+ this.index = fields.index;
2348
+ this.lpTokenType = fields.lpTokenType;
2349
+ this.quoteTokenType = fields.quoteTokenType;
2350
+ this.isActive = fields.isActive;
2351
+ this.protocolFeeShareBp = fields.protocolFeeShareBp;
2352
+ this.symbols = fields.symbols;
2353
+ this.symbolMarkets = fields.symbolMarkets;
2354
+ this.u64Padding = fields.u64Padding;
2355
+ }
2356
+
2357
+ static reified(): MarketsReified {
2358
+ return {
2359
+ typeName: Markets.$typeName,
2360
+ fullTypeName: composeSuiType(
2361
+ Markets.$typeName,
2362
+ ...[]
2363
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::Markets",
2364
+ typeArgs: [] as [],
2365
+ reifiedTypeArgs: [],
2366
+ fromFields: (fields: Record<string, any>) => Markets.fromFields(fields),
2367
+ fromFieldsWithTypes: (item: FieldsWithTypes) => Markets.fromFieldsWithTypes(item),
2368
+ fromBcs: (data: Uint8Array) => Markets.fromBcs(data),
2369
+ bcs: Markets.bcs,
2370
+ fromJSONField: (field: any) => Markets.fromJSONField(field),
2371
+ fromJSON: (json: Record<string, any>) => Markets.fromJSON(json),
2372
+ fromSuiParsedData: (content: SuiParsedData) => Markets.fromSuiParsedData(content),
2373
+ fetch: async (client: SuiClient, id: string) => Markets.fetch(client, id),
2374
+ new: (fields: MarketsFields) => {
2375
+ return new Markets([], fields);
2376
+ },
2377
+ kind: "StructClassReified",
2378
+ };
2379
+ }
2380
+
2381
+ static get r() {
2382
+ return Markets.reified();
2383
+ }
2384
+
2385
+ static phantom(): PhantomReified<ToTypeStr<Markets>> {
2386
+ return phantom(Markets.reified());
2387
+ }
2388
+ static get p() {
2389
+ return Markets.phantom();
2390
+ }
2391
+
2392
+ static get bcs() {
2393
+ return bcs.struct("Markets", {
2394
+ id: UID.bcs,
2395
+ index: bcs.u64(),
2396
+ lp_token_type: TypeName.bcs,
2397
+ quote_token_type: TypeName.bcs,
2398
+ is_active: bcs.bool(),
2399
+ protocol_fee_share_bp: bcs.u64(),
2400
+ symbols: bcs.vector(TypeName.bcs),
2401
+ symbol_markets: ObjectTable.bcs,
2402
+ u64_padding: bcs.vector(bcs.u64()),
2403
+ });
2404
+ }
2405
+
2406
+ static fromFields(fields: Record<string, any>): Markets {
2407
+ return Markets.reified().new({
2408
+ id: decodeFromFields(UID.reified(), fields.id),
2409
+ index: decodeFromFields("u64", fields.index),
2410
+ lpTokenType: decodeFromFields(TypeName.reified(), fields.lp_token_type),
2411
+ quoteTokenType: decodeFromFields(TypeName.reified(), fields.quote_token_type),
2412
+ isActive: decodeFromFields("bool", fields.is_active),
2413
+ protocolFeeShareBp: decodeFromFields("u64", fields.protocol_fee_share_bp),
2414
+ symbols: decodeFromFields(reified.vector(TypeName.reified()), fields.symbols),
2415
+ symbolMarkets: decodeFromFields(
2416
+ ObjectTable.reified(reified.phantom(TypeName.reified()), reified.phantom(SymbolMarket.reified())),
2417
+ fields.symbol_markets
2418
+ ),
2419
+ u64Padding: decodeFromFields(reified.vector("u64"), fields.u64_padding),
2420
+ });
2421
+ }
2422
+
2423
+ static fromFieldsWithTypes(item: FieldsWithTypes): Markets {
2424
+ if (!isMarkets(item.type)) {
2425
+ throw new Error("not a Markets type");
2426
+ }
2427
+
2428
+ return Markets.reified().new({
2429
+ id: decodeFromFieldsWithTypes(UID.reified(), item.fields.id),
2430
+ index: decodeFromFieldsWithTypes("u64", item.fields.index),
2431
+ lpTokenType: decodeFromFieldsWithTypes(TypeName.reified(), item.fields.lp_token_type),
2432
+ quoteTokenType: decodeFromFieldsWithTypes(TypeName.reified(), item.fields.quote_token_type),
2433
+ isActive: decodeFromFieldsWithTypes("bool", item.fields.is_active),
2434
+ protocolFeeShareBp: decodeFromFieldsWithTypes("u64", item.fields.protocol_fee_share_bp),
2435
+ symbols: decodeFromFieldsWithTypes(reified.vector(TypeName.reified()), item.fields.symbols),
2436
+ symbolMarkets: decodeFromFieldsWithTypes(
2437
+ ObjectTable.reified(reified.phantom(TypeName.reified()), reified.phantom(SymbolMarket.reified())),
2438
+ item.fields.symbol_markets
2439
+ ),
2440
+ u64Padding: decodeFromFieldsWithTypes(reified.vector("u64"), item.fields.u64_padding),
2441
+ });
2442
+ }
2443
+
2444
+ static fromBcs(data: Uint8Array): Markets {
2445
+ return Markets.fromFields(Markets.bcs.parse(data));
2446
+ }
2447
+
2448
+ toJSONField() {
2449
+ return {
2450
+ id: this.id,
2451
+ index: this.index.toString(),
2452
+ lpTokenType: this.lpTokenType.toJSONField(),
2453
+ quoteTokenType: this.quoteTokenType.toJSONField(),
2454
+ isActive: this.isActive,
2455
+ protocolFeeShareBp: this.protocolFeeShareBp.toString(),
2456
+ symbols: fieldToJSON<Vector<TypeName>>(`vector<0x1::type_name::TypeName>`, this.symbols),
2457
+ symbolMarkets: this.symbolMarkets.toJSONField(),
2458
+ u64Padding: fieldToJSON<Vector<"u64">>(`vector<u64>`, this.u64Padding),
2459
+ };
2460
+ }
2461
+
2462
+ toJSON() {
2463
+ return { $typeName: this.$typeName, $typeArgs: this.$typeArgs, ...this.toJSONField() };
2464
+ }
2465
+
2466
+ static fromJSONField(field: any): Markets {
2467
+ return Markets.reified().new({
2468
+ id: decodeFromJSONField(UID.reified(), field.id),
2469
+ index: decodeFromJSONField("u64", field.index),
2470
+ lpTokenType: decodeFromJSONField(TypeName.reified(), field.lpTokenType),
2471
+ quoteTokenType: decodeFromJSONField(TypeName.reified(), field.quoteTokenType),
2472
+ isActive: decodeFromJSONField("bool", field.isActive),
2473
+ protocolFeeShareBp: decodeFromJSONField("u64", field.protocolFeeShareBp),
2474
+ symbols: decodeFromJSONField(reified.vector(TypeName.reified()), field.symbols),
2475
+ symbolMarkets: decodeFromJSONField(
2476
+ ObjectTable.reified(reified.phantom(TypeName.reified()), reified.phantom(SymbolMarket.reified())),
2477
+ field.symbolMarkets
2478
+ ),
2479
+ u64Padding: decodeFromJSONField(reified.vector("u64"), field.u64Padding),
2480
+ });
2481
+ }
2482
+
2483
+ static fromJSON(json: Record<string, any>): Markets {
2484
+ if (json.$typeName !== Markets.$typeName) {
2485
+ throw new Error("not a WithTwoGenerics json object");
2486
+ }
2487
+
2488
+ return Markets.fromJSONField(json);
2489
+ }
2490
+
2491
+ static fromSuiParsedData(content: SuiParsedData): Markets {
2492
+ if (content.dataType !== "moveObject") {
2493
+ throw new Error("not an object");
2494
+ }
2495
+ if (!isMarkets(content.type)) {
2496
+ throw new Error(`object at ${(content.fields as any).id} is not a Markets object`);
2497
+ }
2498
+ return Markets.fromFieldsWithTypes(content);
2499
+ }
2500
+
2501
+ static async fetch(client: SuiClient, id: string): Promise<Markets> {
2502
+ const res = await client.getObject({ id, options: { showBcs: true } });
2503
+ if (res.error) {
2504
+ throw new Error(`error fetching Markets object at id ${id}: ${res.error.code}`);
2505
+ }
2506
+ if (res.data?.bcs?.dataType !== "moveObject" || !isMarkets(res.data.bcs.type)) {
2507
+ throw new Error(`object at id ${id} is not a Markets object`);
2508
+ }
2509
+ return Markets.fromBcs(fromB64(res.data.bcs.bcsBytes));
2510
+ }
2511
+ }
2512
+
2513
+ /* ============================== MatchTradingOrderEvent =============================== */
2514
+
2515
+ export function isMatchTradingOrderEvent(type: string): boolean {
2516
+ type = compressSuiType(type);
2517
+ return type === "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::MatchTradingOrderEvent";
2518
+ }
2519
+
2520
+ export interface MatchTradingOrderEventFields {
2521
+ collateralToken: ToField<TypeName>;
2522
+ baseToken: ToField<TypeName>;
2523
+ matchedOrderIds: ToField<Vector<"u64">>;
2524
+ linkedOrdersToBeCancelled: ToField<LinkedOrdersInfo>;
2525
+ u64Padding: ToField<Vector<"u64">>;
2526
+ }
2527
+
2528
+ export type MatchTradingOrderEventReified = Reified<MatchTradingOrderEvent, MatchTradingOrderEventFields>;
2529
+
2530
+ export class MatchTradingOrderEvent implements StructClass {
2531
+ static readonly $typeName = "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::MatchTradingOrderEvent";
2532
+ static readonly $numTypeParams = 0;
2533
+
2534
+ readonly $typeName = MatchTradingOrderEvent.$typeName;
2535
+
2536
+ readonly $fullTypeName: "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::MatchTradingOrderEvent";
2537
+
2538
+ readonly $typeArgs: [];
2539
+
2540
+ readonly collateralToken: ToField<TypeName>;
2541
+ readonly baseToken: ToField<TypeName>;
2542
+ readonly matchedOrderIds: ToField<Vector<"u64">>;
2543
+ readonly linkedOrdersToBeCancelled: ToField<LinkedOrdersInfo>;
2544
+ readonly u64Padding: ToField<Vector<"u64">>;
2545
+
2546
+ private constructor(typeArgs: [], fields: MatchTradingOrderEventFields) {
2547
+ this.$fullTypeName = composeSuiType(
2548
+ MatchTradingOrderEvent.$typeName,
2549
+ ...typeArgs
2550
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::MatchTradingOrderEvent";
2551
+ this.$typeArgs = typeArgs;
2552
+
2553
+ this.collateralToken = fields.collateralToken;
2554
+ this.baseToken = fields.baseToken;
2555
+ this.matchedOrderIds = fields.matchedOrderIds;
2556
+ this.linkedOrdersToBeCancelled = fields.linkedOrdersToBeCancelled;
2557
+ this.u64Padding = fields.u64Padding;
2558
+ }
2559
+
2560
+ static reified(): MatchTradingOrderEventReified {
2561
+ return {
2562
+ typeName: MatchTradingOrderEvent.$typeName,
2563
+ fullTypeName: composeSuiType(
2564
+ MatchTradingOrderEvent.$typeName,
2565
+ ...[]
2566
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::MatchTradingOrderEvent",
2567
+ typeArgs: [] as [],
2568
+ reifiedTypeArgs: [],
2569
+ fromFields: (fields: Record<string, any>) => MatchTradingOrderEvent.fromFields(fields),
2570
+ fromFieldsWithTypes: (item: FieldsWithTypes) => MatchTradingOrderEvent.fromFieldsWithTypes(item),
2571
+ fromBcs: (data: Uint8Array) => MatchTradingOrderEvent.fromBcs(data),
2572
+ bcs: MatchTradingOrderEvent.bcs,
2573
+ fromJSONField: (field: any) => MatchTradingOrderEvent.fromJSONField(field),
2574
+ fromJSON: (json: Record<string, any>) => MatchTradingOrderEvent.fromJSON(json),
2575
+ fromSuiParsedData: (content: SuiParsedData) => MatchTradingOrderEvent.fromSuiParsedData(content),
2576
+ fetch: async (client: SuiClient, id: string) => MatchTradingOrderEvent.fetch(client, id),
2577
+ new: (fields: MatchTradingOrderEventFields) => {
2578
+ return new MatchTradingOrderEvent([], fields);
2579
+ },
2580
+ kind: "StructClassReified",
2581
+ };
2582
+ }
2583
+
2584
+ static get r() {
2585
+ return MatchTradingOrderEvent.reified();
2586
+ }
2587
+
2588
+ static phantom(): PhantomReified<ToTypeStr<MatchTradingOrderEvent>> {
2589
+ return phantom(MatchTradingOrderEvent.reified());
2590
+ }
2591
+ static get p() {
2592
+ return MatchTradingOrderEvent.phantom();
2593
+ }
2594
+
2595
+ static get bcs() {
2596
+ return bcs.struct("MatchTradingOrderEvent", {
2597
+ collateral_token: TypeName.bcs,
2598
+ base_token: TypeName.bcs,
2599
+ matched_order_ids: bcs.vector(bcs.u64()),
2600
+ linked_orders_to_be_cancelled: LinkedOrdersInfo.bcs,
2601
+ u64_padding: bcs.vector(bcs.u64()),
2602
+ });
2603
+ }
2604
+
2605
+ static fromFields(fields: Record<string, any>): MatchTradingOrderEvent {
2606
+ return MatchTradingOrderEvent.reified().new({
2607
+ collateralToken: decodeFromFields(TypeName.reified(), fields.collateral_token),
2608
+ baseToken: decodeFromFields(TypeName.reified(), fields.base_token),
2609
+ matchedOrderIds: decodeFromFields(reified.vector("u64"), fields.matched_order_ids),
2610
+ linkedOrdersToBeCancelled: decodeFromFields(LinkedOrdersInfo.reified(), fields.linked_orders_to_be_cancelled),
2611
+ u64Padding: decodeFromFields(reified.vector("u64"), fields.u64_padding),
2612
+ });
2613
+ }
2614
+
2615
+ static fromFieldsWithTypes(item: FieldsWithTypes): MatchTradingOrderEvent {
2616
+ if (!isMatchTradingOrderEvent(item.type)) {
2617
+ throw new Error("not a MatchTradingOrderEvent type");
2618
+ }
2619
+
2620
+ return MatchTradingOrderEvent.reified().new({
2621
+ collateralToken: decodeFromFieldsWithTypes(TypeName.reified(), item.fields.collateral_token),
2622
+ baseToken: decodeFromFieldsWithTypes(TypeName.reified(), item.fields.base_token),
2623
+ matchedOrderIds: decodeFromFieldsWithTypes(reified.vector("u64"), item.fields.matched_order_ids),
2624
+ linkedOrdersToBeCancelled: decodeFromFieldsWithTypes(LinkedOrdersInfo.reified(), item.fields.linked_orders_to_be_cancelled),
2625
+ u64Padding: decodeFromFieldsWithTypes(reified.vector("u64"), item.fields.u64_padding),
2626
+ });
2627
+ }
2628
+
2629
+ static fromBcs(data: Uint8Array): MatchTradingOrderEvent {
2630
+ return MatchTradingOrderEvent.fromFields(MatchTradingOrderEvent.bcs.parse(data));
2631
+ }
2632
+
2633
+ toJSONField() {
2634
+ return {
2635
+ collateralToken: this.collateralToken.toJSONField(),
2636
+ baseToken: this.baseToken.toJSONField(),
2637
+ matchedOrderIds: fieldToJSON<Vector<"u64">>(`vector<u64>`, this.matchedOrderIds),
2638
+ linkedOrdersToBeCancelled: this.linkedOrdersToBeCancelled.toJSONField(),
2639
+ u64Padding: fieldToJSON<Vector<"u64">>(`vector<u64>`, this.u64Padding),
2640
+ };
2641
+ }
2642
+
2643
+ toJSON() {
2644
+ return { $typeName: this.$typeName, $typeArgs: this.$typeArgs, ...this.toJSONField() };
2645
+ }
2646
+
2647
+ static fromJSONField(field: any): MatchTradingOrderEvent {
2648
+ return MatchTradingOrderEvent.reified().new({
2649
+ collateralToken: decodeFromJSONField(TypeName.reified(), field.collateralToken),
2650
+ baseToken: decodeFromJSONField(TypeName.reified(), field.baseToken),
2651
+ matchedOrderIds: decodeFromJSONField(reified.vector("u64"), field.matchedOrderIds),
2652
+ linkedOrdersToBeCancelled: decodeFromJSONField(LinkedOrdersInfo.reified(), field.linkedOrdersToBeCancelled),
2653
+ u64Padding: decodeFromJSONField(reified.vector("u64"), field.u64Padding),
2654
+ });
2655
+ }
2656
+
2657
+ static fromJSON(json: Record<string, any>): MatchTradingOrderEvent {
2658
+ if (json.$typeName !== MatchTradingOrderEvent.$typeName) {
2659
+ throw new Error("not a WithTwoGenerics json object");
2660
+ }
2661
+
2662
+ return MatchTradingOrderEvent.fromJSONField(json);
2663
+ }
2664
+
2665
+ static fromSuiParsedData(content: SuiParsedData): MatchTradingOrderEvent {
2666
+ if (content.dataType !== "moveObject") {
2667
+ throw new Error("not an object");
2668
+ }
2669
+ if (!isMatchTradingOrderEvent(content.type)) {
2670
+ throw new Error(`object at ${(content.fields as any).id} is not a MatchTradingOrderEvent object`);
2671
+ }
2672
+ return MatchTradingOrderEvent.fromFieldsWithTypes(content);
2673
+ }
2674
+
2675
+ static async fetch(client: SuiClient, id: string): Promise<MatchTradingOrderEvent> {
2676
+ const res = await client.getObject({ id, options: { showBcs: true } });
2677
+ if (res.error) {
2678
+ throw new Error(`error fetching MatchTradingOrderEvent object at id ${id}: ${res.error.code}`);
2679
+ }
2680
+ if (res.data?.bcs?.dataType !== "moveObject" || !isMatchTradingOrderEvent(res.data.bcs.type)) {
2681
+ throw new Error(`object at id ${id} is not a MatchTradingOrderEvent object`);
2682
+ }
2683
+ return MatchTradingOrderEvent.fromBcs(fromB64(res.data.bcs.bcsBytes));
2684
+ }
2685
+ }
2686
+
2687
+ /* ============================== NewMarketsEvent =============================== */
2688
+
2689
+ export function isNewMarketsEvent(type: string): boolean {
2690
+ type = compressSuiType(type);
2691
+ return type === "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::NewMarketsEvent";
2692
+ }
2693
+
2694
+ export interface NewMarketsEventFields {
2695
+ index: ToField<"u64">;
2696
+ lpTokenType: ToField<TypeName>;
2697
+ quoteTokenType: ToField<TypeName>;
2698
+ protocolFeeShareBp: ToField<"u64">;
2699
+ u64Padding: ToField<Vector<"u64">>;
2700
+ }
2701
+
2702
+ export type NewMarketsEventReified = Reified<NewMarketsEvent, NewMarketsEventFields>;
2703
+
2704
+ export class NewMarketsEvent implements StructClass {
2705
+ static readonly $typeName = "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::NewMarketsEvent";
2706
+ static readonly $numTypeParams = 0;
2707
+
2708
+ readonly $typeName = NewMarketsEvent.$typeName;
2709
+
2710
+ readonly $fullTypeName: "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::NewMarketsEvent";
2711
+
2712
+ readonly $typeArgs: [];
2713
+
2714
+ readonly index: ToField<"u64">;
2715
+ readonly lpTokenType: ToField<TypeName>;
2716
+ readonly quoteTokenType: ToField<TypeName>;
2717
+ readonly protocolFeeShareBp: ToField<"u64">;
2718
+ readonly u64Padding: ToField<Vector<"u64">>;
2719
+
2720
+ private constructor(typeArgs: [], fields: NewMarketsEventFields) {
2721
+ this.$fullTypeName = composeSuiType(
2722
+ NewMarketsEvent.$typeName,
2723
+ ...typeArgs
2724
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::NewMarketsEvent";
2725
+ this.$typeArgs = typeArgs;
2726
+
2727
+ this.index = fields.index;
2728
+ this.lpTokenType = fields.lpTokenType;
2729
+ this.quoteTokenType = fields.quoteTokenType;
2730
+ this.protocolFeeShareBp = fields.protocolFeeShareBp;
2731
+ this.u64Padding = fields.u64Padding;
2732
+ }
2733
+
2734
+ static reified(): NewMarketsEventReified {
2735
+ return {
2736
+ typeName: NewMarketsEvent.$typeName,
2737
+ fullTypeName: composeSuiType(
2738
+ NewMarketsEvent.$typeName,
2739
+ ...[]
2740
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::NewMarketsEvent",
2741
+ typeArgs: [] as [],
2742
+ reifiedTypeArgs: [],
2743
+ fromFields: (fields: Record<string, any>) => NewMarketsEvent.fromFields(fields),
2744
+ fromFieldsWithTypes: (item: FieldsWithTypes) => NewMarketsEvent.fromFieldsWithTypes(item),
2745
+ fromBcs: (data: Uint8Array) => NewMarketsEvent.fromBcs(data),
2746
+ bcs: NewMarketsEvent.bcs,
2747
+ fromJSONField: (field: any) => NewMarketsEvent.fromJSONField(field),
2748
+ fromJSON: (json: Record<string, any>) => NewMarketsEvent.fromJSON(json),
2749
+ fromSuiParsedData: (content: SuiParsedData) => NewMarketsEvent.fromSuiParsedData(content),
2750
+ fetch: async (client: SuiClient, id: string) => NewMarketsEvent.fetch(client, id),
2751
+ new: (fields: NewMarketsEventFields) => {
2752
+ return new NewMarketsEvent([], fields);
2753
+ },
2754
+ kind: "StructClassReified",
2755
+ };
2756
+ }
2757
+
2758
+ static get r() {
2759
+ return NewMarketsEvent.reified();
2760
+ }
2761
+
2762
+ static phantom(): PhantomReified<ToTypeStr<NewMarketsEvent>> {
2763
+ return phantom(NewMarketsEvent.reified());
2764
+ }
2765
+ static get p() {
2766
+ return NewMarketsEvent.phantom();
2767
+ }
2768
+
2769
+ static get bcs() {
2770
+ return bcs.struct("NewMarketsEvent", {
2771
+ index: bcs.u64(),
2772
+ lp_token_type: TypeName.bcs,
2773
+ quote_token_type: TypeName.bcs,
2774
+ protocol_fee_share_bp: bcs.u64(),
2775
+ u64_padding: bcs.vector(bcs.u64()),
2776
+ });
2777
+ }
2778
+
2779
+ static fromFields(fields: Record<string, any>): NewMarketsEvent {
2780
+ return NewMarketsEvent.reified().new({
2781
+ index: decodeFromFields("u64", fields.index),
2782
+ lpTokenType: decodeFromFields(TypeName.reified(), fields.lp_token_type),
2783
+ quoteTokenType: decodeFromFields(TypeName.reified(), fields.quote_token_type),
2784
+ protocolFeeShareBp: decodeFromFields("u64", fields.protocol_fee_share_bp),
2785
+ u64Padding: decodeFromFields(reified.vector("u64"), fields.u64_padding),
2786
+ });
2787
+ }
2788
+
2789
+ static fromFieldsWithTypes(item: FieldsWithTypes): NewMarketsEvent {
2790
+ if (!isNewMarketsEvent(item.type)) {
2791
+ throw new Error("not a NewMarketsEvent type");
2792
+ }
2793
+
2794
+ return NewMarketsEvent.reified().new({
2795
+ index: decodeFromFieldsWithTypes("u64", item.fields.index),
2796
+ lpTokenType: decodeFromFieldsWithTypes(TypeName.reified(), item.fields.lp_token_type),
2797
+ quoteTokenType: decodeFromFieldsWithTypes(TypeName.reified(), item.fields.quote_token_type),
2798
+ protocolFeeShareBp: decodeFromFieldsWithTypes("u64", item.fields.protocol_fee_share_bp),
2799
+ u64Padding: decodeFromFieldsWithTypes(reified.vector("u64"), item.fields.u64_padding),
2800
+ });
2801
+ }
2802
+
2803
+ static fromBcs(data: Uint8Array): NewMarketsEvent {
2804
+ return NewMarketsEvent.fromFields(NewMarketsEvent.bcs.parse(data));
2805
+ }
2806
+
2807
+ toJSONField() {
2808
+ return {
2809
+ index: this.index.toString(),
2810
+ lpTokenType: this.lpTokenType.toJSONField(),
2811
+ quoteTokenType: this.quoteTokenType.toJSONField(),
2812
+ protocolFeeShareBp: this.protocolFeeShareBp.toString(),
2813
+ u64Padding: fieldToJSON<Vector<"u64">>(`vector<u64>`, this.u64Padding),
2814
+ };
2815
+ }
2816
+
2817
+ toJSON() {
2818
+ return { $typeName: this.$typeName, $typeArgs: this.$typeArgs, ...this.toJSONField() };
2819
+ }
2820
+
2821
+ static fromJSONField(field: any): NewMarketsEvent {
2822
+ return NewMarketsEvent.reified().new({
2823
+ index: decodeFromJSONField("u64", field.index),
2824
+ lpTokenType: decodeFromJSONField(TypeName.reified(), field.lpTokenType),
2825
+ quoteTokenType: decodeFromJSONField(TypeName.reified(), field.quoteTokenType),
2826
+ protocolFeeShareBp: decodeFromJSONField("u64", field.protocolFeeShareBp),
2827
+ u64Padding: decodeFromJSONField(reified.vector("u64"), field.u64Padding),
2828
+ });
2829
+ }
2830
+
2831
+ static fromJSON(json: Record<string, any>): NewMarketsEvent {
2832
+ if (json.$typeName !== NewMarketsEvent.$typeName) {
2833
+ throw new Error("not a WithTwoGenerics json object");
2834
+ }
2835
+
2836
+ return NewMarketsEvent.fromJSONField(json);
2837
+ }
2838
+
2839
+ static fromSuiParsedData(content: SuiParsedData): NewMarketsEvent {
2840
+ if (content.dataType !== "moveObject") {
2841
+ throw new Error("not an object");
2842
+ }
2843
+ if (!isNewMarketsEvent(content.type)) {
2844
+ throw new Error(`object at ${(content.fields as any).id} is not a NewMarketsEvent object`);
2845
+ }
2846
+ return NewMarketsEvent.fromFieldsWithTypes(content);
2847
+ }
2848
+
2849
+ static async fetch(client: SuiClient, id: string): Promise<NewMarketsEvent> {
2850
+ const res = await client.getObject({ id, options: { showBcs: true } });
2851
+ if (res.error) {
2852
+ throw new Error(`error fetching NewMarketsEvent object at id ${id}: ${res.error.code}`);
2853
+ }
2854
+ if (res.data?.bcs?.dataType !== "moveObject" || !isNewMarketsEvent(res.data.bcs.type)) {
2855
+ throw new Error(`object at id ${id} is not a NewMarketsEvent object`);
2856
+ }
2857
+ return NewMarketsEvent.fromBcs(fromB64(res.data.bcs.bcsBytes));
2858
+ }
2859
+ }
2860
+
2861
+ /* ============================== ReleaseCollateralEvent =============================== */
2862
+
2863
+ export function isReleaseCollateralEvent(type: string): boolean {
2864
+ type = compressSuiType(type);
2865
+ return type === "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::ReleaseCollateralEvent";
2866
+ }
2867
+
2868
+ export interface ReleaseCollateralEventFields {
2869
+ user: ToField<"address">;
2870
+ marketIndex: ToField<"u64">;
2871
+ poolIndex: ToField<"u64">;
2872
+ positionId: ToField<"u64">;
2873
+ collateralToken: ToField<TypeName>;
2874
+ baseToken: ToField<TypeName>;
2875
+ releasedCollateralAmount: ToField<"u64">;
2876
+ remainingCollateralAmount: ToField<"u64">;
2877
+ u64Padding: ToField<Vector<"u64">>;
2878
+ }
2879
+
2880
+ export type ReleaseCollateralEventReified = Reified<ReleaseCollateralEvent, ReleaseCollateralEventFields>;
2881
+
2882
+ export class ReleaseCollateralEvent implements StructClass {
2883
+ static readonly $typeName = "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::ReleaseCollateralEvent";
2884
+ static readonly $numTypeParams = 0;
2885
+
2886
+ readonly $typeName = ReleaseCollateralEvent.$typeName;
2887
+
2888
+ readonly $fullTypeName: "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::ReleaseCollateralEvent";
2889
+
2890
+ readonly $typeArgs: [];
2891
+
2892
+ readonly user: ToField<"address">;
2893
+ readonly marketIndex: ToField<"u64">;
2894
+ readonly poolIndex: ToField<"u64">;
2895
+ readonly positionId: ToField<"u64">;
2896
+ readonly collateralToken: ToField<TypeName>;
2897
+ readonly baseToken: ToField<TypeName>;
2898
+ readonly releasedCollateralAmount: ToField<"u64">;
2899
+ readonly remainingCollateralAmount: ToField<"u64">;
2900
+ readonly u64Padding: ToField<Vector<"u64">>;
2901
+
2902
+ private constructor(typeArgs: [], fields: ReleaseCollateralEventFields) {
2903
+ this.$fullTypeName = composeSuiType(
2904
+ ReleaseCollateralEvent.$typeName,
2905
+ ...typeArgs
2906
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::ReleaseCollateralEvent";
2907
+ this.$typeArgs = typeArgs;
2908
+
2909
+ this.user = fields.user;
2910
+ this.marketIndex = fields.marketIndex;
2911
+ this.poolIndex = fields.poolIndex;
2912
+ this.positionId = fields.positionId;
2913
+ this.collateralToken = fields.collateralToken;
2914
+ this.baseToken = fields.baseToken;
2915
+ this.releasedCollateralAmount = fields.releasedCollateralAmount;
2916
+ this.remainingCollateralAmount = fields.remainingCollateralAmount;
2917
+ this.u64Padding = fields.u64Padding;
2918
+ }
2919
+
2920
+ static reified(): ReleaseCollateralEventReified {
2921
+ return {
2922
+ typeName: ReleaseCollateralEvent.$typeName,
2923
+ fullTypeName: composeSuiType(
2924
+ ReleaseCollateralEvent.$typeName,
2925
+ ...[]
2926
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::ReleaseCollateralEvent",
2927
+ typeArgs: [] as [],
2928
+ reifiedTypeArgs: [],
2929
+ fromFields: (fields: Record<string, any>) => ReleaseCollateralEvent.fromFields(fields),
2930
+ fromFieldsWithTypes: (item: FieldsWithTypes) => ReleaseCollateralEvent.fromFieldsWithTypes(item),
2931
+ fromBcs: (data: Uint8Array) => ReleaseCollateralEvent.fromBcs(data),
2932
+ bcs: ReleaseCollateralEvent.bcs,
2933
+ fromJSONField: (field: any) => ReleaseCollateralEvent.fromJSONField(field),
2934
+ fromJSON: (json: Record<string, any>) => ReleaseCollateralEvent.fromJSON(json),
2935
+ fromSuiParsedData: (content: SuiParsedData) => ReleaseCollateralEvent.fromSuiParsedData(content),
2936
+ fetch: async (client: SuiClient, id: string) => ReleaseCollateralEvent.fetch(client, id),
2937
+ new: (fields: ReleaseCollateralEventFields) => {
2938
+ return new ReleaseCollateralEvent([], fields);
2939
+ },
2940
+ kind: "StructClassReified",
2941
+ };
2942
+ }
2943
+
2944
+ static get r() {
2945
+ return ReleaseCollateralEvent.reified();
2946
+ }
2947
+
2948
+ static phantom(): PhantomReified<ToTypeStr<ReleaseCollateralEvent>> {
2949
+ return phantom(ReleaseCollateralEvent.reified());
2950
+ }
2951
+ static get p() {
2952
+ return ReleaseCollateralEvent.phantom();
2953
+ }
2954
+
2955
+ static get bcs() {
2956
+ return bcs.struct("ReleaseCollateralEvent", {
2957
+ user: bcs.bytes(32).transform({ input: (val: string) => fromHEX(val), output: (val: Uint8Array) => toHEX(val) }),
2958
+ market_index: bcs.u64(),
2959
+ pool_index: bcs.u64(),
2960
+ position_id: bcs.u64(),
2961
+ collateral_token: TypeName.bcs,
2962
+ base_token: TypeName.bcs,
2963
+ released_collateral_amount: bcs.u64(),
2964
+ remaining_collateral_amount: bcs.u64(),
2965
+ u64_padding: bcs.vector(bcs.u64()),
2966
+ });
2967
+ }
2968
+
2969
+ static fromFields(fields: Record<string, any>): ReleaseCollateralEvent {
2970
+ return ReleaseCollateralEvent.reified().new({
2971
+ user: decodeFromFields("address", fields.user),
2972
+ marketIndex: decodeFromFields("u64", fields.market_index),
2973
+ poolIndex: decodeFromFields("u64", fields.pool_index),
2974
+ positionId: decodeFromFields("u64", fields.position_id),
2975
+ collateralToken: decodeFromFields(TypeName.reified(), fields.collateral_token),
2976
+ baseToken: decodeFromFields(TypeName.reified(), fields.base_token),
2977
+ releasedCollateralAmount: decodeFromFields("u64", fields.released_collateral_amount),
2978
+ remainingCollateralAmount: decodeFromFields("u64", fields.remaining_collateral_amount),
2979
+ u64Padding: decodeFromFields(reified.vector("u64"), fields.u64_padding),
2980
+ });
2981
+ }
2982
+
2983
+ static fromFieldsWithTypes(item: FieldsWithTypes): ReleaseCollateralEvent {
2984
+ if (!isReleaseCollateralEvent(item.type)) {
2985
+ throw new Error("not a ReleaseCollateralEvent type");
2986
+ }
2987
+
2988
+ return ReleaseCollateralEvent.reified().new({
2989
+ user: decodeFromFieldsWithTypes("address", item.fields.user),
2990
+ marketIndex: decodeFromFieldsWithTypes("u64", item.fields.market_index),
2991
+ poolIndex: decodeFromFieldsWithTypes("u64", item.fields.pool_index),
2992
+ positionId: decodeFromFieldsWithTypes("u64", item.fields.position_id),
2993
+ collateralToken: decodeFromFieldsWithTypes(TypeName.reified(), item.fields.collateral_token),
2994
+ baseToken: decodeFromFieldsWithTypes(TypeName.reified(), item.fields.base_token),
2995
+ releasedCollateralAmount: decodeFromFieldsWithTypes("u64", item.fields.released_collateral_amount),
2996
+ remainingCollateralAmount: decodeFromFieldsWithTypes("u64", item.fields.remaining_collateral_amount),
2997
+ u64Padding: decodeFromFieldsWithTypes(reified.vector("u64"), item.fields.u64_padding),
2998
+ });
2999
+ }
3000
+
3001
+ static fromBcs(data: Uint8Array): ReleaseCollateralEvent {
3002
+ return ReleaseCollateralEvent.fromFields(ReleaseCollateralEvent.bcs.parse(data));
3003
+ }
3004
+
3005
+ toJSONField() {
3006
+ return {
3007
+ user: this.user,
3008
+ marketIndex: this.marketIndex.toString(),
3009
+ poolIndex: this.poolIndex.toString(),
3010
+ positionId: this.positionId.toString(),
3011
+ collateralToken: this.collateralToken.toJSONField(),
3012
+ baseToken: this.baseToken.toJSONField(),
3013
+ releasedCollateralAmount: this.releasedCollateralAmount.toString(),
3014
+ remainingCollateralAmount: this.remainingCollateralAmount.toString(),
3015
+ u64Padding: fieldToJSON<Vector<"u64">>(`vector<u64>`, this.u64Padding),
3016
+ };
3017
+ }
3018
+
3019
+ toJSON() {
3020
+ return { $typeName: this.$typeName, $typeArgs: this.$typeArgs, ...this.toJSONField() };
3021
+ }
3022
+
3023
+ static fromJSONField(field: any): ReleaseCollateralEvent {
3024
+ return ReleaseCollateralEvent.reified().new({
3025
+ user: decodeFromJSONField("address", field.user),
3026
+ marketIndex: decodeFromJSONField("u64", field.marketIndex),
3027
+ poolIndex: decodeFromJSONField("u64", field.poolIndex),
3028
+ positionId: decodeFromJSONField("u64", field.positionId),
3029
+ collateralToken: decodeFromJSONField(TypeName.reified(), field.collateralToken),
3030
+ baseToken: decodeFromJSONField(TypeName.reified(), field.baseToken),
3031
+ releasedCollateralAmount: decodeFromJSONField("u64", field.releasedCollateralAmount),
3032
+ remainingCollateralAmount: decodeFromJSONField("u64", field.remainingCollateralAmount),
3033
+ u64Padding: decodeFromJSONField(reified.vector("u64"), field.u64Padding),
3034
+ });
3035
+ }
3036
+
3037
+ static fromJSON(json: Record<string, any>): ReleaseCollateralEvent {
3038
+ if (json.$typeName !== ReleaseCollateralEvent.$typeName) {
3039
+ throw new Error("not a WithTwoGenerics json object");
3040
+ }
3041
+
3042
+ return ReleaseCollateralEvent.fromJSONField(json);
3043
+ }
3044
+
3045
+ static fromSuiParsedData(content: SuiParsedData): ReleaseCollateralEvent {
3046
+ if (content.dataType !== "moveObject") {
3047
+ throw new Error("not an object");
3048
+ }
3049
+ if (!isReleaseCollateralEvent(content.type)) {
3050
+ throw new Error(`object at ${(content.fields as any).id} is not a ReleaseCollateralEvent object`);
3051
+ }
3052
+ return ReleaseCollateralEvent.fromFieldsWithTypes(content);
3053
+ }
3054
+
3055
+ static async fetch(client: SuiClient, id: string): Promise<ReleaseCollateralEvent> {
3056
+ const res = await client.getObject({ id, options: { showBcs: true } });
3057
+ if (res.error) {
3058
+ throw new Error(`error fetching ReleaseCollateralEvent object at id ${id}: ${res.error.code}`);
3059
+ }
3060
+ if (res.data?.bcs?.dataType !== "moveObject" || !isReleaseCollateralEvent(res.data.bcs.type)) {
3061
+ throw new Error(`object at id ${id} is not a ReleaseCollateralEvent object`);
3062
+ }
3063
+ return ReleaseCollateralEvent.fromBcs(fromB64(res.data.bcs.bcsBytes));
3064
+ }
3065
+ }
3066
+
3067
+ /* ============================== ResumeMarketEvent =============================== */
3068
+
3069
+ export function isResumeMarketEvent(type: string): boolean {
3070
+ type = compressSuiType(type);
3071
+ return type === "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::ResumeMarketEvent";
3072
+ }
3073
+
3074
+ export interface ResumeMarketEventFields {
3075
+ index: ToField<"u64">;
3076
+ u64Padding: ToField<Vector<"u64">>;
3077
+ }
3078
+
3079
+ export type ResumeMarketEventReified = Reified<ResumeMarketEvent, ResumeMarketEventFields>;
3080
+
3081
+ export class ResumeMarketEvent implements StructClass {
3082
+ static readonly $typeName = "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::ResumeMarketEvent";
3083
+ static readonly $numTypeParams = 0;
3084
+
3085
+ readonly $typeName = ResumeMarketEvent.$typeName;
3086
+
3087
+ readonly $fullTypeName: "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::ResumeMarketEvent";
3088
+
3089
+ readonly $typeArgs: [];
3090
+
3091
+ readonly index: ToField<"u64">;
3092
+ readonly u64Padding: ToField<Vector<"u64">>;
3093
+
3094
+ private constructor(typeArgs: [], fields: ResumeMarketEventFields) {
3095
+ this.$fullTypeName = composeSuiType(
3096
+ ResumeMarketEvent.$typeName,
3097
+ ...typeArgs
3098
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::ResumeMarketEvent";
3099
+ this.$typeArgs = typeArgs;
3100
+
3101
+ this.index = fields.index;
3102
+ this.u64Padding = fields.u64Padding;
3103
+ }
3104
+
3105
+ static reified(): ResumeMarketEventReified {
3106
+ return {
3107
+ typeName: ResumeMarketEvent.$typeName,
3108
+ fullTypeName: composeSuiType(
3109
+ ResumeMarketEvent.$typeName,
3110
+ ...[]
3111
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::ResumeMarketEvent",
3112
+ typeArgs: [] as [],
3113
+ reifiedTypeArgs: [],
3114
+ fromFields: (fields: Record<string, any>) => ResumeMarketEvent.fromFields(fields),
3115
+ fromFieldsWithTypes: (item: FieldsWithTypes) => ResumeMarketEvent.fromFieldsWithTypes(item),
3116
+ fromBcs: (data: Uint8Array) => ResumeMarketEvent.fromBcs(data),
3117
+ bcs: ResumeMarketEvent.bcs,
3118
+ fromJSONField: (field: any) => ResumeMarketEvent.fromJSONField(field),
3119
+ fromJSON: (json: Record<string, any>) => ResumeMarketEvent.fromJSON(json),
3120
+ fromSuiParsedData: (content: SuiParsedData) => ResumeMarketEvent.fromSuiParsedData(content),
3121
+ fetch: async (client: SuiClient, id: string) => ResumeMarketEvent.fetch(client, id),
3122
+ new: (fields: ResumeMarketEventFields) => {
3123
+ return new ResumeMarketEvent([], fields);
3124
+ },
3125
+ kind: "StructClassReified",
3126
+ };
3127
+ }
3128
+
3129
+ static get r() {
3130
+ return ResumeMarketEvent.reified();
3131
+ }
3132
+
3133
+ static phantom(): PhantomReified<ToTypeStr<ResumeMarketEvent>> {
3134
+ return phantom(ResumeMarketEvent.reified());
3135
+ }
3136
+ static get p() {
3137
+ return ResumeMarketEvent.phantom();
3138
+ }
3139
+
3140
+ static get bcs() {
3141
+ return bcs.struct("ResumeMarketEvent", {
3142
+ index: bcs.u64(),
3143
+ u64_padding: bcs.vector(bcs.u64()),
3144
+ });
3145
+ }
3146
+
3147
+ static fromFields(fields: Record<string, any>): ResumeMarketEvent {
3148
+ return ResumeMarketEvent.reified().new({
3149
+ index: decodeFromFields("u64", fields.index),
3150
+ u64Padding: decodeFromFields(reified.vector("u64"), fields.u64_padding),
3151
+ });
3152
+ }
3153
+
3154
+ static fromFieldsWithTypes(item: FieldsWithTypes): ResumeMarketEvent {
3155
+ if (!isResumeMarketEvent(item.type)) {
3156
+ throw new Error("not a ResumeMarketEvent type");
3157
+ }
3158
+
3159
+ return ResumeMarketEvent.reified().new({
3160
+ index: decodeFromFieldsWithTypes("u64", item.fields.index),
3161
+ u64Padding: decodeFromFieldsWithTypes(reified.vector("u64"), item.fields.u64_padding),
3162
+ });
3163
+ }
3164
+
3165
+ static fromBcs(data: Uint8Array): ResumeMarketEvent {
3166
+ return ResumeMarketEvent.fromFields(ResumeMarketEvent.bcs.parse(data));
3167
+ }
3168
+
3169
+ toJSONField() {
3170
+ return {
3171
+ index: this.index.toString(),
3172
+ u64Padding: fieldToJSON<Vector<"u64">>(`vector<u64>`, this.u64Padding),
3173
+ };
3174
+ }
3175
+
3176
+ toJSON() {
3177
+ return { $typeName: this.$typeName, $typeArgs: this.$typeArgs, ...this.toJSONField() };
3178
+ }
3179
+
3180
+ static fromJSONField(field: any): ResumeMarketEvent {
3181
+ return ResumeMarketEvent.reified().new({
3182
+ index: decodeFromJSONField("u64", field.index),
3183
+ u64Padding: decodeFromJSONField(reified.vector("u64"), field.u64Padding),
3184
+ });
3185
+ }
3186
+
3187
+ static fromJSON(json: Record<string, any>): ResumeMarketEvent {
3188
+ if (json.$typeName !== ResumeMarketEvent.$typeName) {
3189
+ throw new Error("not a WithTwoGenerics json object");
3190
+ }
3191
+
3192
+ return ResumeMarketEvent.fromJSONField(json);
3193
+ }
3194
+
3195
+ static fromSuiParsedData(content: SuiParsedData): ResumeMarketEvent {
3196
+ if (content.dataType !== "moveObject") {
3197
+ throw new Error("not an object");
3198
+ }
3199
+ if (!isResumeMarketEvent(content.type)) {
3200
+ throw new Error(`object at ${(content.fields as any).id} is not a ResumeMarketEvent object`);
3201
+ }
3202
+ return ResumeMarketEvent.fromFieldsWithTypes(content);
3203
+ }
3204
+
3205
+ static async fetch(client: SuiClient, id: string): Promise<ResumeMarketEvent> {
3206
+ const res = await client.getObject({ id, options: { showBcs: true } });
3207
+ if (res.error) {
3208
+ throw new Error(`error fetching ResumeMarketEvent object at id ${id}: ${res.error.code}`);
3209
+ }
3210
+ if (res.data?.bcs?.dataType !== "moveObject" || !isResumeMarketEvent(res.data.bcs.type)) {
3211
+ throw new Error(`object at id ${id} is not a ResumeMarketEvent object`);
3212
+ }
3213
+ return ResumeMarketEvent.fromBcs(fromB64(res.data.bcs.bcsBytes));
3214
+ }
3215
+ }
3216
+
3217
+ /* ============================== ResumeTradingSymbolEvent =============================== */
3218
+
3219
+ export function isResumeTradingSymbolEvent(type: string): boolean {
3220
+ type = compressSuiType(type);
3221
+ return type === "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::ResumeTradingSymbolEvent";
3222
+ }
3223
+
3224
+ export interface ResumeTradingSymbolEventFields {
3225
+ index: ToField<"u64">;
3226
+ resumedBaseToken: ToField<TypeName>;
3227
+ u64Padding: ToField<Vector<"u64">>;
3228
+ }
3229
+
3230
+ export type ResumeTradingSymbolEventReified = Reified<ResumeTradingSymbolEvent, ResumeTradingSymbolEventFields>;
3231
+
3232
+ export class ResumeTradingSymbolEvent implements StructClass {
3233
+ static readonly $typeName = "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::ResumeTradingSymbolEvent";
3234
+ static readonly $numTypeParams = 0;
3235
+
3236
+ readonly $typeName = ResumeTradingSymbolEvent.$typeName;
3237
+
3238
+ readonly $fullTypeName: "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::ResumeTradingSymbolEvent";
3239
+
3240
+ readonly $typeArgs: [];
3241
+
3242
+ readonly index: ToField<"u64">;
3243
+ readonly resumedBaseToken: ToField<TypeName>;
3244
+ readonly u64Padding: ToField<Vector<"u64">>;
3245
+
3246
+ private constructor(typeArgs: [], fields: ResumeTradingSymbolEventFields) {
3247
+ this.$fullTypeName = composeSuiType(
3248
+ ResumeTradingSymbolEvent.$typeName,
3249
+ ...typeArgs
3250
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::ResumeTradingSymbolEvent";
3251
+ this.$typeArgs = typeArgs;
3252
+
3253
+ this.index = fields.index;
3254
+ this.resumedBaseToken = fields.resumedBaseToken;
3255
+ this.u64Padding = fields.u64Padding;
3256
+ }
3257
+
3258
+ static reified(): ResumeTradingSymbolEventReified {
3259
+ return {
3260
+ typeName: ResumeTradingSymbolEvent.$typeName,
3261
+ fullTypeName: composeSuiType(
3262
+ ResumeTradingSymbolEvent.$typeName,
3263
+ ...[]
3264
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::ResumeTradingSymbolEvent",
3265
+ typeArgs: [] as [],
3266
+ reifiedTypeArgs: [],
3267
+ fromFields: (fields: Record<string, any>) => ResumeTradingSymbolEvent.fromFields(fields),
3268
+ fromFieldsWithTypes: (item: FieldsWithTypes) => ResumeTradingSymbolEvent.fromFieldsWithTypes(item),
3269
+ fromBcs: (data: Uint8Array) => ResumeTradingSymbolEvent.fromBcs(data),
3270
+ bcs: ResumeTradingSymbolEvent.bcs,
3271
+ fromJSONField: (field: any) => ResumeTradingSymbolEvent.fromJSONField(field),
3272
+ fromJSON: (json: Record<string, any>) => ResumeTradingSymbolEvent.fromJSON(json),
3273
+ fromSuiParsedData: (content: SuiParsedData) => ResumeTradingSymbolEvent.fromSuiParsedData(content),
3274
+ fetch: async (client: SuiClient, id: string) => ResumeTradingSymbolEvent.fetch(client, id),
3275
+ new: (fields: ResumeTradingSymbolEventFields) => {
3276
+ return new ResumeTradingSymbolEvent([], fields);
3277
+ },
3278
+ kind: "StructClassReified",
3279
+ };
3280
+ }
3281
+
3282
+ static get r() {
3283
+ return ResumeTradingSymbolEvent.reified();
3284
+ }
3285
+
3286
+ static phantom(): PhantomReified<ToTypeStr<ResumeTradingSymbolEvent>> {
3287
+ return phantom(ResumeTradingSymbolEvent.reified());
3288
+ }
3289
+ static get p() {
3290
+ return ResumeTradingSymbolEvent.phantom();
3291
+ }
3292
+
3293
+ static get bcs() {
3294
+ return bcs.struct("ResumeTradingSymbolEvent", {
3295
+ index: bcs.u64(),
3296
+ resumed_base_token: TypeName.bcs,
3297
+ u64_padding: bcs.vector(bcs.u64()),
3298
+ });
3299
+ }
3300
+
3301
+ static fromFields(fields: Record<string, any>): ResumeTradingSymbolEvent {
3302
+ return ResumeTradingSymbolEvent.reified().new({
3303
+ index: decodeFromFields("u64", fields.index),
3304
+ resumedBaseToken: decodeFromFields(TypeName.reified(), fields.resumed_base_token),
3305
+ u64Padding: decodeFromFields(reified.vector("u64"), fields.u64_padding),
3306
+ });
3307
+ }
3308
+
3309
+ static fromFieldsWithTypes(item: FieldsWithTypes): ResumeTradingSymbolEvent {
3310
+ if (!isResumeTradingSymbolEvent(item.type)) {
3311
+ throw new Error("not a ResumeTradingSymbolEvent type");
3312
+ }
3313
+
3314
+ return ResumeTradingSymbolEvent.reified().new({
3315
+ index: decodeFromFieldsWithTypes("u64", item.fields.index),
3316
+ resumedBaseToken: decodeFromFieldsWithTypes(TypeName.reified(), item.fields.resumed_base_token),
3317
+ u64Padding: decodeFromFieldsWithTypes(reified.vector("u64"), item.fields.u64_padding),
3318
+ });
3319
+ }
3320
+
3321
+ static fromBcs(data: Uint8Array): ResumeTradingSymbolEvent {
3322
+ return ResumeTradingSymbolEvent.fromFields(ResumeTradingSymbolEvent.bcs.parse(data));
3323
+ }
3324
+
3325
+ toJSONField() {
3326
+ return {
3327
+ index: this.index.toString(),
3328
+ resumedBaseToken: this.resumedBaseToken.toJSONField(),
3329
+ u64Padding: fieldToJSON<Vector<"u64">>(`vector<u64>`, this.u64Padding),
3330
+ };
3331
+ }
3332
+
3333
+ toJSON() {
3334
+ return { $typeName: this.$typeName, $typeArgs: this.$typeArgs, ...this.toJSONField() };
3335
+ }
3336
+
3337
+ static fromJSONField(field: any): ResumeTradingSymbolEvent {
3338
+ return ResumeTradingSymbolEvent.reified().new({
3339
+ index: decodeFromJSONField("u64", field.index),
3340
+ resumedBaseToken: decodeFromJSONField(TypeName.reified(), field.resumedBaseToken),
3341
+ u64Padding: decodeFromJSONField(reified.vector("u64"), field.u64Padding),
3342
+ });
3343
+ }
3344
+
3345
+ static fromJSON(json: Record<string, any>): ResumeTradingSymbolEvent {
3346
+ if (json.$typeName !== ResumeTradingSymbolEvent.$typeName) {
3347
+ throw new Error("not a WithTwoGenerics json object");
3348
+ }
3349
+
3350
+ return ResumeTradingSymbolEvent.fromJSONField(json);
3351
+ }
3352
+
3353
+ static fromSuiParsedData(content: SuiParsedData): ResumeTradingSymbolEvent {
3354
+ if (content.dataType !== "moveObject") {
3355
+ throw new Error("not an object");
3356
+ }
3357
+ if (!isResumeTradingSymbolEvent(content.type)) {
3358
+ throw new Error(`object at ${(content.fields as any).id} is not a ResumeTradingSymbolEvent object`);
3359
+ }
3360
+ return ResumeTradingSymbolEvent.fromFieldsWithTypes(content);
3361
+ }
3362
+
3363
+ static async fetch(client: SuiClient, id: string): Promise<ResumeTradingSymbolEvent> {
3364
+ const res = await client.getObject({ id, options: { showBcs: true } });
3365
+ if (res.error) {
3366
+ throw new Error(`error fetching ResumeTradingSymbolEvent object at id ${id}: ${res.error.code}`);
3367
+ }
3368
+ if (res.data?.bcs?.dataType !== "moveObject" || !isResumeTradingSymbolEvent(res.data.bcs.type)) {
3369
+ throw new Error(`object at id ${id} is not a ResumeTradingSymbolEvent object`);
3370
+ }
3371
+ return ResumeTradingSymbolEvent.fromBcs(fromB64(res.data.bcs.bcsBytes));
3372
+ }
3373
+ }
3374
+
3375
+ /* ============================== SuspendMarketEvent =============================== */
3376
+
3377
+ export function isSuspendMarketEvent(type: string): boolean {
3378
+ type = compressSuiType(type);
3379
+ return type === "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::SuspendMarketEvent";
3380
+ }
3381
+
3382
+ export interface SuspendMarketEventFields {
3383
+ index: ToField<"u64">;
3384
+ u64Padding: ToField<Vector<"u64">>;
3385
+ }
3386
+
3387
+ export type SuspendMarketEventReified = Reified<SuspendMarketEvent, SuspendMarketEventFields>;
3388
+
3389
+ export class SuspendMarketEvent implements StructClass {
3390
+ static readonly $typeName = "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::SuspendMarketEvent";
3391
+ static readonly $numTypeParams = 0;
3392
+
3393
+ readonly $typeName = SuspendMarketEvent.$typeName;
3394
+
3395
+ readonly $fullTypeName: "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::SuspendMarketEvent";
3396
+
3397
+ readonly $typeArgs: [];
3398
+
3399
+ readonly index: ToField<"u64">;
3400
+ readonly u64Padding: ToField<Vector<"u64">>;
3401
+
3402
+ private constructor(typeArgs: [], fields: SuspendMarketEventFields) {
3403
+ this.$fullTypeName = composeSuiType(
3404
+ SuspendMarketEvent.$typeName,
3405
+ ...typeArgs
3406
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::SuspendMarketEvent";
3407
+ this.$typeArgs = typeArgs;
3408
+
3409
+ this.index = fields.index;
3410
+ this.u64Padding = fields.u64Padding;
3411
+ }
3412
+
3413
+ static reified(): SuspendMarketEventReified {
3414
+ return {
3415
+ typeName: SuspendMarketEvent.$typeName,
3416
+ fullTypeName: composeSuiType(
3417
+ SuspendMarketEvent.$typeName,
3418
+ ...[]
3419
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::SuspendMarketEvent",
3420
+ typeArgs: [] as [],
3421
+ reifiedTypeArgs: [],
3422
+ fromFields: (fields: Record<string, any>) => SuspendMarketEvent.fromFields(fields),
3423
+ fromFieldsWithTypes: (item: FieldsWithTypes) => SuspendMarketEvent.fromFieldsWithTypes(item),
3424
+ fromBcs: (data: Uint8Array) => SuspendMarketEvent.fromBcs(data),
3425
+ bcs: SuspendMarketEvent.bcs,
3426
+ fromJSONField: (field: any) => SuspendMarketEvent.fromJSONField(field),
3427
+ fromJSON: (json: Record<string, any>) => SuspendMarketEvent.fromJSON(json),
3428
+ fromSuiParsedData: (content: SuiParsedData) => SuspendMarketEvent.fromSuiParsedData(content),
3429
+ fetch: async (client: SuiClient, id: string) => SuspendMarketEvent.fetch(client, id),
3430
+ new: (fields: SuspendMarketEventFields) => {
3431
+ return new SuspendMarketEvent([], fields);
3432
+ },
3433
+ kind: "StructClassReified",
3434
+ };
3435
+ }
3436
+
3437
+ static get r() {
3438
+ return SuspendMarketEvent.reified();
3439
+ }
3440
+
3441
+ static phantom(): PhantomReified<ToTypeStr<SuspendMarketEvent>> {
3442
+ return phantom(SuspendMarketEvent.reified());
3443
+ }
3444
+ static get p() {
3445
+ return SuspendMarketEvent.phantom();
3446
+ }
3447
+
3448
+ static get bcs() {
3449
+ return bcs.struct("SuspendMarketEvent", {
3450
+ index: bcs.u64(),
3451
+ u64_padding: bcs.vector(bcs.u64()),
3452
+ });
3453
+ }
3454
+
3455
+ static fromFields(fields: Record<string, any>): SuspendMarketEvent {
3456
+ return SuspendMarketEvent.reified().new({
3457
+ index: decodeFromFields("u64", fields.index),
3458
+ u64Padding: decodeFromFields(reified.vector("u64"), fields.u64_padding),
3459
+ });
3460
+ }
3461
+
3462
+ static fromFieldsWithTypes(item: FieldsWithTypes): SuspendMarketEvent {
3463
+ if (!isSuspendMarketEvent(item.type)) {
3464
+ throw new Error("not a SuspendMarketEvent type");
3465
+ }
3466
+
3467
+ return SuspendMarketEvent.reified().new({
3468
+ index: decodeFromFieldsWithTypes("u64", item.fields.index),
3469
+ u64Padding: decodeFromFieldsWithTypes(reified.vector("u64"), item.fields.u64_padding),
3470
+ });
3471
+ }
3472
+
3473
+ static fromBcs(data: Uint8Array): SuspendMarketEvent {
3474
+ return SuspendMarketEvent.fromFields(SuspendMarketEvent.bcs.parse(data));
3475
+ }
3476
+
3477
+ toJSONField() {
3478
+ return {
3479
+ index: this.index.toString(),
3480
+ u64Padding: fieldToJSON<Vector<"u64">>(`vector<u64>`, this.u64Padding),
3481
+ };
3482
+ }
3483
+
3484
+ toJSON() {
3485
+ return { $typeName: this.$typeName, $typeArgs: this.$typeArgs, ...this.toJSONField() };
3486
+ }
3487
+
3488
+ static fromJSONField(field: any): SuspendMarketEvent {
3489
+ return SuspendMarketEvent.reified().new({
3490
+ index: decodeFromJSONField("u64", field.index),
3491
+ u64Padding: decodeFromJSONField(reified.vector("u64"), field.u64Padding),
3492
+ });
3493
+ }
3494
+
3495
+ static fromJSON(json: Record<string, any>): SuspendMarketEvent {
3496
+ if (json.$typeName !== SuspendMarketEvent.$typeName) {
3497
+ throw new Error("not a WithTwoGenerics json object");
3498
+ }
3499
+
3500
+ return SuspendMarketEvent.fromJSONField(json);
3501
+ }
3502
+
3503
+ static fromSuiParsedData(content: SuiParsedData): SuspendMarketEvent {
3504
+ if (content.dataType !== "moveObject") {
3505
+ throw new Error("not an object");
3506
+ }
3507
+ if (!isSuspendMarketEvent(content.type)) {
3508
+ throw new Error(`object at ${(content.fields as any).id} is not a SuspendMarketEvent object`);
3509
+ }
3510
+ return SuspendMarketEvent.fromFieldsWithTypes(content);
3511
+ }
3512
+
3513
+ static async fetch(client: SuiClient, id: string): Promise<SuspendMarketEvent> {
3514
+ const res = await client.getObject({ id, options: { showBcs: true } });
3515
+ if (res.error) {
3516
+ throw new Error(`error fetching SuspendMarketEvent object at id ${id}: ${res.error.code}`);
3517
+ }
3518
+ if (res.data?.bcs?.dataType !== "moveObject" || !isSuspendMarketEvent(res.data.bcs.type)) {
3519
+ throw new Error(`object at id ${id} is not a SuspendMarketEvent object`);
3520
+ }
3521
+ return SuspendMarketEvent.fromBcs(fromB64(res.data.bcs.bcsBytes));
3522
+ }
3523
+ }
3524
+
3525
+ /* ============================== SuspendTradingSymbolEvent =============================== */
3526
+
3527
+ export function isSuspendTradingSymbolEvent(type: string): boolean {
3528
+ type = compressSuiType(type);
3529
+ return type === "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::SuspendTradingSymbolEvent";
3530
+ }
3531
+
3532
+ export interface SuspendTradingSymbolEventFields {
3533
+ index: ToField<"u64">;
3534
+ suspendedBaseToken: ToField<TypeName>;
3535
+ u64Padding: ToField<Vector<"u64">>;
3536
+ }
3537
+
3538
+ export type SuspendTradingSymbolEventReified = Reified<SuspendTradingSymbolEvent, SuspendTradingSymbolEventFields>;
3539
+
3540
+ export class SuspendTradingSymbolEvent implements StructClass {
3541
+ static readonly $typeName = "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::SuspendTradingSymbolEvent";
3542
+ static readonly $numTypeParams = 0;
3543
+
3544
+ readonly $typeName = SuspendTradingSymbolEvent.$typeName;
3545
+
3546
+ readonly $fullTypeName: "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::SuspendTradingSymbolEvent";
3547
+
3548
+ readonly $typeArgs: [];
3549
+
3550
+ readonly index: ToField<"u64">;
3551
+ readonly suspendedBaseToken: ToField<TypeName>;
3552
+ readonly u64Padding: ToField<Vector<"u64">>;
3553
+
3554
+ private constructor(typeArgs: [], fields: SuspendTradingSymbolEventFields) {
3555
+ this.$fullTypeName = composeSuiType(
3556
+ SuspendTradingSymbolEvent.$typeName,
3557
+ ...typeArgs
3558
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::SuspendTradingSymbolEvent";
3559
+ this.$typeArgs = typeArgs;
3560
+
3561
+ this.index = fields.index;
3562
+ this.suspendedBaseToken = fields.suspendedBaseToken;
3563
+ this.u64Padding = fields.u64Padding;
3564
+ }
3565
+
3566
+ static reified(): SuspendTradingSymbolEventReified {
3567
+ return {
3568
+ typeName: SuspendTradingSymbolEvent.$typeName,
3569
+ fullTypeName: composeSuiType(
3570
+ SuspendTradingSymbolEvent.$typeName,
3571
+ ...[]
3572
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::SuspendTradingSymbolEvent",
3573
+ typeArgs: [] as [],
3574
+ reifiedTypeArgs: [],
3575
+ fromFields: (fields: Record<string, any>) => SuspendTradingSymbolEvent.fromFields(fields),
3576
+ fromFieldsWithTypes: (item: FieldsWithTypes) => SuspendTradingSymbolEvent.fromFieldsWithTypes(item),
3577
+ fromBcs: (data: Uint8Array) => SuspendTradingSymbolEvent.fromBcs(data),
3578
+ bcs: SuspendTradingSymbolEvent.bcs,
3579
+ fromJSONField: (field: any) => SuspendTradingSymbolEvent.fromJSONField(field),
3580
+ fromJSON: (json: Record<string, any>) => SuspendTradingSymbolEvent.fromJSON(json),
3581
+ fromSuiParsedData: (content: SuiParsedData) => SuspendTradingSymbolEvent.fromSuiParsedData(content),
3582
+ fetch: async (client: SuiClient, id: string) => SuspendTradingSymbolEvent.fetch(client, id),
3583
+ new: (fields: SuspendTradingSymbolEventFields) => {
3584
+ return new SuspendTradingSymbolEvent([], fields);
3585
+ },
3586
+ kind: "StructClassReified",
3587
+ };
3588
+ }
3589
+
3590
+ static get r() {
3591
+ return SuspendTradingSymbolEvent.reified();
3592
+ }
3593
+
3594
+ static phantom(): PhantomReified<ToTypeStr<SuspendTradingSymbolEvent>> {
3595
+ return phantom(SuspendTradingSymbolEvent.reified());
3596
+ }
3597
+ static get p() {
3598
+ return SuspendTradingSymbolEvent.phantom();
3599
+ }
3600
+
3601
+ static get bcs() {
3602
+ return bcs.struct("SuspendTradingSymbolEvent", {
3603
+ index: bcs.u64(),
3604
+ suspended_base_token: TypeName.bcs,
3605
+ u64_padding: bcs.vector(bcs.u64()),
3606
+ });
3607
+ }
3608
+
3609
+ static fromFields(fields: Record<string, any>): SuspendTradingSymbolEvent {
3610
+ return SuspendTradingSymbolEvent.reified().new({
3611
+ index: decodeFromFields("u64", fields.index),
3612
+ suspendedBaseToken: decodeFromFields(TypeName.reified(), fields.suspended_base_token),
3613
+ u64Padding: decodeFromFields(reified.vector("u64"), fields.u64_padding),
3614
+ });
3615
+ }
3616
+
3617
+ static fromFieldsWithTypes(item: FieldsWithTypes): SuspendTradingSymbolEvent {
3618
+ if (!isSuspendTradingSymbolEvent(item.type)) {
3619
+ throw new Error("not a SuspendTradingSymbolEvent type");
3620
+ }
3621
+
3622
+ return SuspendTradingSymbolEvent.reified().new({
3623
+ index: decodeFromFieldsWithTypes("u64", item.fields.index),
3624
+ suspendedBaseToken: decodeFromFieldsWithTypes(TypeName.reified(), item.fields.suspended_base_token),
3625
+ u64Padding: decodeFromFieldsWithTypes(reified.vector("u64"), item.fields.u64_padding),
3626
+ });
3627
+ }
3628
+
3629
+ static fromBcs(data: Uint8Array): SuspendTradingSymbolEvent {
3630
+ return SuspendTradingSymbolEvent.fromFields(SuspendTradingSymbolEvent.bcs.parse(data));
3631
+ }
3632
+
3633
+ toJSONField() {
3634
+ return {
3635
+ index: this.index.toString(),
3636
+ suspendedBaseToken: this.suspendedBaseToken.toJSONField(),
3637
+ u64Padding: fieldToJSON<Vector<"u64">>(`vector<u64>`, this.u64Padding),
3638
+ };
3639
+ }
3640
+
3641
+ toJSON() {
3642
+ return { $typeName: this.$typeName, $typeArgs: this.$typeArgs, ...this.toJSONField() };
3643
+ }
3644
+
3645
+ static fromJSONField(field: any): SuspendTradingSymbolEvent {
3646
+ return SuspendTradingSymbolEvent.reified().new({
3647
+ index: decodeFromJSONField("u64", field.index),
3648
+ suspendedBaseToken: decodeFromJSONField(TypeName.reified(), field.suspendedBaseToken),
3649
+ u64Padding: decodeFromJSONField(reified.vector("u64"), field.u64Padding),
3650
+ });
3651
+ }
3652
+
3653
+ static fromJSON(json: Record<string, any>): SuspendTradingSymbolEvent {
3654
+ if (json.$typeName !== SuspendTradingSymbolEvent.$typeName) {
3655
+ throw new Error("not a WithTwoGenerics json object");
3656
+ }
3657
+
3658
+ return SuspendTradingSymbolEvent.fromJSONField(json);
3659
+ }
3660
+
3661
+ static fromSuiParsedData(content: SuiParsedData): SuspendTradingSymbolEvent {
3662
+ if (content.dataType !== "moveObject") {
3663
+ throw new Error("not an object");
3664
+ }
3665
+ if (!isSuspendTradingSymbolEvent(content.type)) {
3666
+ throw new Error(`object at ${(content.fields as any).id} is not a SuspendTradingSymbolEvent object`);
3667
+ }
3668
+ return SuspendTradingSymbolEvent.fromFieldsWithTypes(content);
3669
+ }
3670
+
3671
+ static async fetch(client: SuiClient, id: string): Promise<SuspendTradingSymbolEvent> {
3672
+ const res = await client.getObject({ id, options: { showBcs: true } });
3673
+ if (res.error) {
3674
+ throw new Error(`error fetching SuspendTradingSymbolEvent object at id ${id}: ${res.error.code}`);
3675
+ }
3676
+ if (res.data?.bcs?.dataType !== "moveObject" || !isSuspendTradingSymbolEvent(res.data.bcs.type)) {
3677
+ throw new Error(`object at id ${id} is not a SuspendTradingSymbolEvent object`);
3678
+ }
3679
+ return SuspendTradingSymbolEvent.fromBcs(fromB64(res.data.bcs.bcsBytes));
3680
+ }
3681
+ }
3682
+
3683
+ /* ============================== SymbolMarket =============================== */
3684
+
3685
+ export function isSymbolMarket(type: string): boolean {
3686
+ type = compressSuiType(type);
3687
+ return type === "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::SymbolMarket";
3688
+ }
3689
+
3690
+ export interface SymbolMarketFields {
3691
+ id: ToField<UID>;
3692
+ userPositions: ToField<BigVector>;
3693
+ tokenCollateralOrders: ToField<UID>;
3694
+ optionCollateralOrders: ToField<UID>;
3695
+ marketInfo: ToField<MarketInfo>;
3696
+ marketConfig: ToField<MarketConfig>;
3697
+ }
3698
+
3699
+ export type SymbolMarketReified = Reified<SymbolMarket, SymbolMarketFields>;
3700
+
3701
+ export class SymbolMarket implements StructClass {
3702
+ static readonly $typeName = "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::SymbolMarket";
3703
+ static readonly $numTypeParams = 0;
3704
+
3705
+ readonly $typeName = SymbolMarket.$typeName;
3706
+
3707
+ readonly $fullTypeName: "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::SymbolMarket";
3708
+
3709
+ readonly $typeArgs: [];
3710
+
3711
+ readonly id: ToField<UID>;
3712
+ readonly userPositions: ToField<BigVector>;
3713
+ readonly tokenCollateralOrders: ToField<UID>;
3714
+ readonly optionCollateralOrders: ToField<UID>;
3715
+ readonly marketInfo: ToField<MarketInfo>;
3716
+ readonly marketConfig: ToField<MarketConfig>;
3717
+
3718
+ private constructor(typeArgs: [], fields: SymbolMarketFields) {
3719
+ this.$fullTypeName = composeSuiType(
3720
+ SymbolMarket.$typeName,
3721
+ ...typeArgs
3722
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::SymbolMarket";
3723
+ this.$typeArgs = typeArgs;
3724
+
3725
+ this.id = fields.id;
3726
+ this.userPositions = fields.userPositions;
3727
+ this.tokenCollateralOrders = fields.tokenCollateralOrders;
3728
+ this.optionCollateralOrders = fields.optionCollateralOrders;
3729
+ this.marketInfo = fields.marketInfo;
3730
+ this.marketConfig = fields.marketConfig;
3731
+ }
3732
+
3733
+ static reified(): SymbolMarketReified {
3734
+ return {
3735
+ typeName: SymbolMarket.$typeName,
3736
+ fullTypeName: composeSuiType(
3737
+ SymbolMarket.$typeName,
3738
+ ...[]
3739
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::SymbolMarket",
3740
+ typeArgs: [] as [],
3741
+ reifiedTypeArgs: [],
3742
+ fromFields: (fields: Record<string, any>) => SymbolMarket.fromFields(fields),
3743
+ fromFieldsWithTypes: (item: FieldsWithTypes) => SymbolMarket.fromFieldsWithTypes(item),
3744
+ fromBcs: (data: Uint8Array) => SymbolMarket.fromBcs(data),
3745
+ bcs: SymbolMarket.bcs,
3746
+ fromJSONField: (field: any) => SymbolMarket.fromJSONField(field),
3747
+ fromJSON: (json: Record<string, any>) => SymbolMarket.fromJSON(json),
3748
+ fromSuiParsedData: (content: SuiParsedData) => SymbolMarket.fromSuiParsedData(content),
3749
+ fetch: async (client: SuiClient, id: string) => SymbolMarket.fetch(client, id),
3750
+ new: (fields: SymbolMarketFields) => {
3751
+ return new SymbolMarket([], fields);
3752
+ },
3753
+ kind: "StructClassReified",
3754
+ };
3755
+ }
3756
+
3757
+ static get r() {
3758
+ return SymbolMarket.reified();
3759
+ }
3760
+
3761
+ static phantom(): PhantomReified<ToTypeStr<SymbolMarket>> {
3762
+ return phantom(SymbolMarket.reified());
3763
+ }
3764
+ static get p() {
3765
+ return SymbolMarket.phantom();
3766
+ }
3767
+
3768
+ static get bcs() {
3769
+ return bcs.struct("SymbolMarket", {
3770
+ id: UID.bcs,
3771
+ user_positions: BigVector.bcs,
3772
+ token_collateral_orders: UID.bcs,
3773
+ option_collateral_orders: UID.bcs,
3774
+ market_info: MarketInfo.bcs,
3775
+ market_config: MarketConfig.bcs,
3776
+ });
3777
+ }
3778
+
3779
+ static fromFields(fields: Record<string, any>): SymbolMarket {
3780
+ return SymbolMarket.reified().new({
3781
+ id: decodeFromFields(UID.reified(), fields.id),
3782
+ userPositions: decodeFromFields(BigVector.reified(), fields.user_positions),
3783
+ tokenCollateralOrders: decodeFromFields(UID.reified(), fields.token_collateral_orders),
3784
+ optionCollateralOrders: decodeFromFields(UID.reified(), fields.option_collateral_orders),
3785
+ marketInfo: decodeFromFields(MarketInfo.reified(), fields.market_info),
3786
+ marketConfig: decodeFromFields(MarketConfig.reified(), fields.market_config),
3787
+ });
3788
+ }
3789
+
3790
+ static fromFieldsWithTypes(item: FieldsWithTypes): SymbolMarket {
3791
+ if (!isSymbolMarket(item.type)) {
3792
+ throw new Error("not a SymbolMarket type");
3793
+ }
3794
+
3795
+ return SymbolMarket.reified().new({
3796
+ id: decodeFromFieldsWithTypes(UID.reified(), item.fields.id),
3797
+ userPositions: decodeFromFieldsWithTypes(BigVector.reified(), item.fields.user_positions),
3798
+ tokenCollateralOrders: decodeFromFieldsWithTypes(UID.reified(), item.fields.token_collateral_orders),
3799
+ optionCollateralOrders: decodeFromFieldsWithTypes(UID.reified(), item.fields.option_collateral_orders),
3800
+ marketInfo: decodeFromFieldsWithTypes(MarketInfo.reified(), item.fields.market_info),
3801
+ marketConfig: decodeFromFieldsWithTypes(MarketConfig.reified(), item.fields.market_config),
3802
+ });
3803
+ }
3804
+
3805
+ static fromBcs(data: Uint8Array): SymbolMarket {
3806
+ return SymbolMarket.fromFields(SymbolMarket.bcs.parse(data));
3807
+ }
3808
+
3809
+ toJSONField() {
3810
+ return {
3811
+ id: this.id,
3812
+ userPositions: this.userPositions.toJSONField(),
3813
+ tokenCollateralOrders: this.tokenCollateralOrders,
3814
+ optionCollateralOrders: this.optionCollateralOrders,
3815
+ marketInfo: this.marketInfo.toJSONField(),
3816
+ marketConfig: this.marketConfig.toJSONField(),
3817
+ };
3818
+ }
3819
+
3820
+ toJSON() {
3821
+ return { $typeName: this.$typeName, $typeArgs: this.$typeArgs, ...this.toJSONField() };
3822
+ }
3823
+
3824
+ static fromJSONField(field: any): SymbolMarket {
3825
+ return SymbolMarket.reified().new({
3826
+ id: decodeFromJSONField(UID.reified(), field.id),
3827
+ userPositions: decodeFromJSONField(BigVector.reified(), field.userPositions),
3828
+ tokenCollateralOrders: decodeFromJSONField(UID.reified(), field.tokenCollateralOrders),
3829
+ optionCollateralOrders: decodeFromJSONField(UID.reified(), field.optionCollateralOrders),
3830
+ marketInfo: decodeFromJSONField(MarketInfo.reified(), field.marketInfo),
3831
+ marketConfig: decodeFromJSONField(MarketConfig.reified(), field.marketConfig),
3832
+ });
3833
+ }
3834
+
3835
+ static fromJSON(json: Record<string, any>): SymbolMarket {
3836
+ if (json.$typeName !== SymbolMarket.$typeName) {
3837
+ throw new Error("not a WithTwoGenerics json object");
3838
+ }
3839
+
3840
+ return SymbolMarket.fromJSONField(json);
3841
+ }
3842
+
3843
+ static fromSuiParsedData(content: SuiParsedData): SymbolMarket {
3844
+ if (content.dataType !== "moveObject") {
3845
+ throw new Error("not an object");
3846
+ }
3847
+ if (!isSymbolMarket(content.type)) {
3848
+ throw new Error(`object at ${(content.fields as any).id} is not a SymbolMarket object`);
3849
+ }
3850
+ return SymbolMarket.fromFieldsWithTypes(content);
3851
+ }
3852
+
3853
+ static async fetch(client: SuiClient, id: string): Promise<SymbolMarket> {
3854
+ const res = await client.getObject({ id, options: { showBcs: true } });
3855
+ if (res.error) {
3856
+ throw new Error(`error fetching SymbolMarket object at id ${id}: ${res.error.code}`);
3857
+ }
3858
+ if (res.data?.bcs?.dataType !== "moveObject" || !isSymbolMarket(res.data.bcs.type)) {
3859
+ throw new Error(`object at id ${id} is not a SymbolMarket object`);
3860
+ }
3861
+ return SymbolMarket.fromBcs(fromB64(res.data.bcs.bcsBytes));
3862
+ }
3863
+ }
3864
+
3865
+ /* ============================== USD =============================== */
3866
+
3867
+ export function isUSD(type: string): boolean {
3868
+ type = compressSuiType(type);
3869
+ return type === "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::USD";
3870
+ }
3871
+
3872
+ export interface USDFields {
3873
+ dummyField: ToField<"bool">;
3874
+ }
3875
+
3876
+ export type USDReified = Reified<USD, USDFields>;
3877
+
3878
+ export class USD implements StructClass {
3879
+ static readonly $typeName = "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::USD";
3880
+ static readonly $numTypeParams = 0;
3881
+
3882
+ readonly $typeName = USD.$typeName;
3883
+
3884
+ readonly $fullTypeName: "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::USD";
3885
+
3886
+ readonly $typeArgs: [];
3887
+
3888
+ readonly dummyField: ToField<"bool">;
3889
+
3890
+ private constructor(typeArgs: [], fields: USDFields) {
3891
+ this.$fullTypeName = composeSuiType(
3892
+ USD.$typeName,
3893
+ ...typeArgs
3894
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::USD";
3895
+ this.$typeArgs = typeArgs;
3896
+
3897
+ this.dummyField = fields.dummyField;
3898
+ }
3899
+
3900
+ static reified(): USDReified {
3901
+ return {
3902
+ typeName: USD.$typeName,
3903
+ fullTypeName: composeSuiType(
3904
+ USD.$typeName,
3905
+ ...[]
3906
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::USD",
3907
+ typeArgs: [] as [],
3908
+ reifiedTypeArgs: [],
3909
+ fromFields: (fields: Record<string, any>) => USD.fromFields(fields),
3910
+ fromFieldsWithTypes: (item: FieldsWithTypes) => USD.fromFieldsWithTypes(item),
3911
+ fromBcs: (data: Uint8Array) => USD.fromBcs(data),
3912
+ bcs: USD.bcs,
3913
+ fromJSONField: (field: any) => USD.fromJSONField(field),
3914
+ fromJSON: (json: Record<string, any>) => USD.fromJSON(json),
3915
+ fromSuiParsedData: (content: SuiParsedData) => USD.fromSuiParsedData(content),
3916
+ fetch: async (client: SuiClient, id: string) => USD.fetch(client, id),
3917
+ new: (fields: USDFields) => {
3918
+ return new USD([], fields);
3919
+ },
3920
+ kind: "StructClassReified",
3921
+ };
3922
+ }
3923
+
3924
+ static get r() {
3925
+ return USD.reified();
3926
+ }
3927
+
3928
+ static phantom(): PhantomReified<ToTypeStr<USD>> {
3929
+ return phantom(USD.reified());
3930
+ }
3931
+ static get p() {
3932
+ return USD.phantom();
3933
+ }
3934
+
3935
+ static get bcs() {
3936
+ return bcs.struct("USD", {
3937
+ dummy_field: bcs.bool(),
3938
+ });
3939
+ }
3940
+
3941
+ static fromFields(fields: Record<string, any>): USD {
3942
+ return USD.reified().new({ dummyField: decodeFromFields("bool", fields.dummy_field) });
3943
+ }
3944
+
3945
+ static fromFieldsWithTypes(item: FieldsWithTypes): USD {
3946
+ if (!isUSD(item.type)) {
3947
+ throw new Error("not a USD type");
3948
+ }
3949
+
3950
+ return USD.reified().new({ dummyField: decodeFromFieldsWithTypes("bool", item.fields.dummy_field) });
3951
+ }
3952
+
3953
+ static fromBcs(data: Uint8Array): USD {
3954
+ return USD.fromFields(USD.bcs.parse(data));
3955
+ }
3956
+
3957
+ toJSONField() {
3958
+ return {
3959
+ dummyField: this.dummyField,
3960
+ };
3961
+ }
3962
+
3963
+ toJSON() {
3964
+ return { $typeName: this.$typeName, $typeArgs: this.$typeArgs, ...this.toJSONField() };
3965
+ }
3966
+
3967
+ static fromJSONField(field: any): USD {
3968
+ return USD.reified().new({ dummyField: decodeFromJSONField("bool", field.dummyField) });
3969
+ }
3970
+
3971
+ static fromJSON(json: Record<string, any>): USD {
3972
+ if (json.$typeName !== USD.$typeName) {
3973
+ throw new Error("not a WithTwoGenerics json object");
3974
+ }
3975
+
3976
+ return USD.fromJSONField(json);
3977
+ }
3978
+
3979
+ static fromSuiParsedData(content: SuiParsedData): USD {
3980
+ if (content.dataType !== "moveObject") {
3981
+ throw new Error("not an object");
3982
+ }
3983
+ if (!isUSD(content.type)) {
3984
+ throw new Error(`object at ${(content.fields as any).id} is not a USD object`);
3985
+ }
3986
+ return USD.fromFieldsWithTypes(content);
3987
+ }
3988
+
3989
+ static async fetch(client: SuiClient, id: string): Promise<USD> {
3990
+ const res = await client.getObject({ id, options: { showBcs: true } });
3991
+ if (res.error) {
3992
+ throw new Error(`error fetching USD object at id ${id}: ${res.error.code}`);
3993
+ }
3994
+ if (res.data?.bcs?.dataType !== "moveObject" || !isUSD(res.data.bcs.type)) {
3995
+ throw new Error(`object at id ${id} is not a USD object`);
3996
+ }
3997
+ return USD.fromBcs(fromB64(res.data.bcs.bcsBytes));
3998
+ }
3999
+ }
4000
+
4001
+ /* ============================== UpdateFundingRateEvent =============================== */
4002
+
4003
+ export function isUpdateFundingRateEvent(type: string): boolean {
4004
+ type = compressSuiType(type);
4005
+ return type === "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::UpdateFundingRateEvent";
4006
+ }
4007
+
4008
+ export interface UpdateFundingRateEventFields {
4009
+ baseToken: ToField<TypeName>;
4010
+ newFundingTsMs: ToField<"u64">;
4011
+ intervalsCount: ToField<"u64">;
4012
+ previousCumulativeFundingRateIndexSign: ToField<"bool">;
4013
+ previousCumulativeFundingRateIndex: ToField<"u64">;
4014
+ cumulativeFundingRateIndexSign: ToField<"bool">;
4015
+ cumulativeFundingRateIndex: ToField<"u64">;
4016
+ u64Padding: ToField<Vector<"u64">>;
4017
+ }
4018
+
4019
+ export type UpdateFundingRateEventReified = Reified<UpdateFundingRateEvent, UpdateFundingRateEventFields>;
4020
+
4021
+ export class UpdateFundingRateEvent implements StructClass {
4022
+ static readonly $typeName = "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::UpdateFundingRateEvent";
4023
+ static readonly $numTypeParams = 0;
4024
+
4025
+ readonly $typeName = UpdateFundingRateEvent.$typeName;
4026
+
4027
+ readonly $fullTypeName: "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::UpdateFundingRateEvent";
4028
+
4029
+ readonly $typeArgs: [];
4030
+
4031
+ readonly baseToken: ToField<TypeName>;
4032
+ readonly newFundingTsMs: ToField<"u64">;
4033
+ readonly intervalsCount: ToField<"u64">;
4034
+ readonly previousCumulativeFundingRateIndexSign: ToField<"bool">;
4035
+ readonly previousCumulativeFundingRateIndex: ToField<"u64">;
4036
+ readonly cumulativeFundingRateIndexSign: ToField<"bool">;
4037
+ readonly cumulativeFundingRateIndex: ToField<"u64">;
4038
+ readonly u64Padding: ToField<Vector<"u64">>;
4039
+
4040
+ private constructor(typeArgs: [], fields: UpdateFundingRateEventFields) {
4041
+ this.$fullTypeName = composeSuiType(
4042
+ UpdateFundingRateEvent.$typeName,
4043
+ ...typeArgs
4044
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::UpdateFundingRateEvent";
4045
+ this.$typeArgs = typeArgs;
4046
+
4047
+ this.baseToken = fields.baseToken;
4048
+ this.newFundingTsMs = fields.newFundingTsMs;
4049
+ this.intervalsCount = fields.intervalsCount;
4050
+ this.previousCumulativeFundingRateIndexSign = fields.previousCumulativeFundingRateIndexSign;
4051
+ this.previousCumulativeFundingRateIndex = fields.previousCumulativeFundingRateIndex;
4052
+ this.cumulativeFundingRateIndexSign = fields.cumulativeFundingRateIndexSign;
4053
+ this.cumulativeFundingRateIndex = fields.cumulativeFundingRateIndex;
4054
+ this.u64Padding = fields.u64Padding;
4055
+ }
4056
+
4057
+ static reified(): UpdateFundingRateEventReified {
4058
+ return {
4059
+ typeName: UpdateFundingRateEvent.$typeName,
4060
+ fullTypeName: composeSuiType(
4061
+ UpdateFundingRateEvent.$typeName,
4062
+ ...[]
4063
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::UpdateFundingRateEvent",
4064
+ typeArgs: [] as [],
4065
+ reifiedTypeArgs: [],
4066
+ fromFields: (fields: Record<string, any>) => UpdateFundingRateEvent.fromFields(fields),
4067
+ fromFieldsWithTypes: (item: FieldsWithTypes) => UpdateFundingRateEvent.fromFieldsWithTypes(item),
4068
+ fromBcs: (data: Uint8Array) => UpdateFundingRateEvent.fromBcs(data),
4069
+ bcs: UpdateFundingRateEvent.bcs,
4070
+ fromJSONField: (field: any) => UpdateFundingRateEvent.fromJSONField(field),
4071
+ fromJSON: (json: Record<string, any>) => UpdateFundingRateEvent.fromJSON(json),
4072
+ fromSuiParsedData: (content: SuiParsedData) => UpdateFundingRateEvent.fromSuiParsedData(content),
4073
+ fetch: async (client: SuiClient, id: string) => UpdateFundingRateEvent.fetch(client, id),
4074
+ new: (fields: UpdateFundingRateEventFields) => {
4075
+ return new UpdateFundingRateEvent([], fields);
4076
+ },
4077
+ kind: "StructClassReified",
4078
+ };
4079
+ }
4080
+
4081
+ static get r() {
4082
+ return UpdateFundingRateEvent.reified();
4083
+ }
4084
+
4085
+ static phantom(): PhantomReified<ToTypeStr<UpdateFundingRateEvent>> {
4086
+ return phantom(UpdateFundingRateEvent.reified());
4087
+ }
4088
+ static get p() {
4089
+ return UpdateFundingRateEvent.phantom();
4090
+ }
4091
+
4092
+ static get bcs() {
4093
+ return bcs.struct("UpdateFundingRateEvent", {
4094
+ base_token: TypeName.bcs,
4095
+ new_funding_ts_ms: bcs.u64(),
4096
+ intervals_count: bcs.u64(),
4097
+ previous_cumulative_funding_rate_index_sign: bcs.bool(),
4098
+ previous_cumulative_funding_rate_index: bcs.u64(),
4099
+ cumulative_funding_rate_index_sign: bcs.bool(),
4100
+ cumulative_funding_rate_index: bcs.u64(),
4101
+ u64_padding: bcs.vector(bcs.u64()),
4102
+ });
4103
+ }
4104
+
4105
+ static fromFields(fields: Record<string, any>): UpdateFundingRateEvent {
4106
+ return UpdateFundingRateEvent.reified().new({
4107
+ baseToken: decodeFromFields(TypeName.reified(), fields.base_token),
4108
+ newFundingTsMs: decodeFromFields("u64", fields.new_funding_ts_ms),
4109
+ intervalsCount: decodeFromFields("u64", fields.intervals_count),
4110
+ previousCumulativeFundingRateIndexSign: decodeFromFields("bool", fields.previous_cumulative_funding_rate_index_sign),
4111
+ previousCumulativeFundingRateIndex: decodeFromFields("u64", fields.previous_cumulative_funding_rate_index),
4112
+ cumulativeFundingRateIndexSign: decodeFromFields("bool", fields.cumulative_funding_rate_index_sign),
4113
+ cumulativeFundingRateIndex: decodeFromFields("u64", fields.cumulative_funding_rate_index),
4114
+ u64Padding: decodeFromFields(reified.vector("u64"), fields.u64_padding),
4115
+ });
4116
+ }
4117
+
4118
+ static fromFieldsWithTypes(item: FieldsWithTypes): UpdateFundingRateEvent {
4119
+ if (!isUpdateFundingRateEvent(item.type)) {
4120
+ throw new Error("not a UpdateFundingRateEvent type");
4121
+ }
4122
+
4123
+ return UpdateFundingRateEvent.reified().new({
4124
+ baseToken: decodeFromFieldsWithTypes(TypeName.reified(), item.fields.base_token),
4125
+ newFundingTsMs: decodeFromFieldsWithTypes("u64", item.fields.new_funding_ts_ms),
4126
+ intervalsCount: decodeFromFieldsWithTypes("u64", item.fields.intervals_count),
4127
+ previousCumulativeFundingRateIndexSign: decodeFromFieldsWithTypes(
4128
+ "bool",
4129
+ item.fields.previous_cumulative_funding_rate_index_sign
4130
+ ),
4131
+ previousCumulativeFundingRateIndex: decodeFromFieldsWithTypes("u64", item.fields.previous_cumulative_funding_rate_index),
4132
+ cumulativeFundingRateIndexSign: decodeFromFieldsWithTypes("bool", item.fields.cumulative_funding_rate_index_sign),
4133
+ cumulativeFundingRateIndex: decodeFromFieldsWithTypes("u64", item.fields.cumulative_funding_rate_index),
4134
+ u64Padding: decodeFromFieldsWithTypes(reified.vector("u64"), item.fields.u64_padding),
4135
+ });
4136
+ }
4137
+
4138
+ static fromBcs(data: Uint8Array): UpdateFundingRateEvent {
4139
+ return UpdateFundingRateEvent.fromFields(UpdateFundingRateEvent.bcs.parse(data));
4140
+ }
4141
+
4142
+ toJSONField() {
4143
+ return {
4144
+ baseToken: this.baseToken.toJSONField(),
4145
+ newFundingTsMs: this.newFundingTsMs.toString(),
4146
+ intervalsCount: this.intervalsCount.toString(),
4147
+ previousCumulativeFundingRateIndexSign: this.previousCumulativeFundingRateIndexSign,
4148
+ previousCumulativeFundingRateIndex: this.previousCumulativeFundingRateIndex.toString(),
4149
+ cumulativeFundingRateIndexSign: this.cumulativeFundingRateIndexSign,
4150
+ cumulativeFundingRateIndex: this.cumulativeFundingRateIndex.toString(),
4151
+ u64Padding: fieldToJSON<Vector<"u64">>(`vector<u64>`, this.u64Padding),
4152
+ };
4153
+ }
4154
+
4155
+ toJSON() {
4156
+ return { $typeName: this.$typeName, $typeArgs: this.$typeArgs, ...this.toJSONField() };
4157
+ }
4158
+
4159
+ static fromJSONField(field: any): UpdateFundingRateEvent {
4160
+ return UpdateFundingRateEvent.reified().new({
4161
+ baseToken: decodeFromJSONField(TypeName.reified(), field.baseToken),
4162
+ newFundingTsMs: decodeFromJSONField("u64", field.newFundingTsMs),
4163
+ intervalsCount: decodeFromJSONField("u64", field.intervalsCount),
4164
+ previousCumulativeFundingRateIndexSign: decodeFromJSONField("bool", field.previousCumulativeFundingRateIndexSign),
4165
+ previousCumulativeFundingRateIndex: decodeFromJSONField("u64", field.previousCumulativeFundingRateIndex),
4166
+ cumulativeFundingRateIndexSign: decodeFromJSONField("bool", field.cumulativeFundingRateIndexSign),
4167
+ cumulativeFundingRateIndex: decodeFromJSONField("u64", field.cumulativeFundingRateIndex),
4168
+ u64Padding: decodeFromJSONField(reified.vector("u64"), field.u64Padding),
4169
+ });
4170
+ }
4171
+
4172
+ static fromJSON(json: Record<string, any>): UpdateFundingRateEvent {
4173
+ if (json.$typeName !== UpdateFundingRateEvent.$typeName) {
4174
+ throw new Error("not a WithTwoGenerics json object");
4175
+ }
4176
+
4177
+ return UpdateFundingRateEvent.fromJSONField(json);
4178
+ }
4179
+
4180
+ static fromSuiParsedData(content: SuiParsedData): UpdateFundingRateEvent {
4181
+ if (content.dataType !== "moveObject") {
4182
+ throw new Error("not an object");
4183
+ }
4184
+ if (!isUpdateFundingRateEvent(content.type)) {
4185
+ throw new Error(`object at ${(content.fields as any).id} is not a UpdateFundingRateEvent object`);
4186
+ }
4187
+ return UpdateFundingRateEvent.fromFieldsWithTypes(content);
4188
+ }
4189
+
4190
+ static async fetch(client: SuiClient, id: string): Promise<UpdateFundingRateEvent> {
4191
+ const res = await client.getObject({ id, options: { showBcs: true } });
4192
+ if (res.error) {
4193
+ throw new Error(`error fetching UpdateFundingRateEvent object at id ${id}: ${res.error.code}`);
4194
+ }
4195
+ if (res.data?.bcs?.dataType !== "moveObject" || !isUpdateFundingRateEvent(res.data.bcs.type)) {
4196
+ throw new Error(`object at id ${id} is not a UpdateFundingRateEvent object`);
4197
+ }
4198
+ return UpdateFundingRateEvent.fromBcs(fromB64(res.data.bcs.bcsBytes));
4199
+ }
4200
+ }
4201
+
4202
+ /* ============================== UpdateMarketConfigEvent =============================== */
4203
+
4204
+ export function isUpdateMarketConfigEvent(type: string): boolean {
4205
+ type = compressSuiType(type);
4206
+ return type === "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::UpdateMarketConfigEvent";
4207
+ }
4208
+
4209
+ export interface UpdateMarketConfigEventFields {
4210
+ index: ToField<"u64">;
4211
+ baseTokenType: ToField<TypeName>;
4212
+ previousMarketConfig: ToField<MarketConfig>;
4213
+ newMarketConfig: ToField<MarketConfig>;
4214
+ u64Padding: ToField<Vector<"u64">>;
4215
+ }
4216
+
4217
+ export type UpdateMarketConfigEventReified = Reified<UpdateMarketConfigEvent, UpdateMarketConfigEventFields>;
4218
+
4219
+ export class UpdateMarketConfigEvent implements StructClass {
4220
+ static readonly $typeName = "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::UpdateMarketConfigEvent";
4221
+ static readonly $numTypeParams = 0;
4222
+
4223
+ readonly $typeName = UpdateMarketConfigEvent.$typeName;
4224
+
4225
+ readonly $fullTypeName: "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::UpdateMarketConfigEvent";
4226
+
4227
+ readonly $typeArgs: [];
4228
+
4229
+ readonly index: ToField<"u64">;
4230
+ readonly baseTokenType: ToField<TypeName>;
4231
+ readonly previousMarketConfig: ToField<MarketConfig>;
4232
+ readonly newMarketConfig: ToField<MarketConfig>;
4233
+ readonly u64Padding: ToField<Vector<"u64">>;
4234
+
4235
+ private constructor(typeArgs: [], fields: UpdateMarketConfigEventFields) {
4236
+ this.$fullTypeName = composeSuiType(
4237
+ UpdateMarketConfigEvent.$typeName,
4238
+ ...typeArgs
4239
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::UpdateMarketConfigEvent";
4240
+ this.$typeArgs = typeArgs;
4241
+
4242
+ this.index = fields.index;
4243
+ this.baseTokenType = fields.baseTokenType;
4244
+ this.previousMarketConfig = fields.previousMarketConfig;
4245
+ this.newMarketConfig = fields.newMarketConfig;
4246
+ this.u64Padding = fields.u64Padding;
4247
+ }
4248
+
4249
+ static reified(): UpdateMarketConfigEventReified {
4250
+ return {
4251
+ typeName: UpdateMarketConfigEvent.$typeName,
4252
+ fullTypeName: composeSuiType(
4253
+ UpdateMarketConfigEvent.$typeName,
4254
+ ...[]
4255
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::UpdateMarketConfigEvent",
4256
+ typeArgs: [] as [],
4257
+ reifiedTypeArgs: [],
4258
+ fromFields: (fields: Record<string, any>) => UpdateMarketConfigEvent.fromFields(fields),
4259
+ fromFieldsWithTypes: (item: FieldsWithTypes) => UpdateMarketConfigEvent.fromFieldsWithTypes(item),
4260
+ fromBcs: (data: Uint8Array) => UpdateMarketConfigEvent.fromBcs(data),
4261
+ bcs: UpdateMarketConfigEvent.bcs,
4262
+ fromJSONField: (field: any) => UpdateMarketConfigEvent.fromJSONField(field),
4263
+ fromJSON: (json: Record<string, any>) => UpdateMarketConfigEvent.fromJSON(json),
4264
+ fromSuiParsedData: (content: SuiParsedData) => UpdateMarketConfigEvent.fromSuiParsedData(content),
4265
+ fetch: async (client: SuiClient, id: string) => UpdateMarketConfigEvent.fetch(client, id),
4266
+ new: (fields: UpdateMarketConfigEventFields) => {
4267
+ return new UpdateMarketConfigEvent([], fields);
4268
+ },
4269
+ kind: "StructClassReified",
4270
+ };
4271
+ }
4272
+
4273
+ static get r() {
4274
+ return UpdateMarketConfigEvent.reified();
4275
+ }
4276
+
4277
+ static phantom(): PhantomReified<ToTypeStr<UpdateMarketConfigEvent>> {
4278
+ return phantom(UpdateMarketConfigEvent.reified());
4279
+ }
4280
+ static get p() {
4281
+ return UpdateMarketConfigEvent.phantom();
4282
+ }
4283
+
4284
+ static get bcs() {
4285
+ return bcs.struct("UpdateMarketConfigEvent", {
4286
+ index: bcs.u64(),
4287
+ base_token_type: TypeName.bcs,
4288
+ previous_market_config: MarketConfig.bcs,
4289
+ new_market_config: MarketConfig.bcs,
4290
+ u64_padding: bcs.vector(bcs.u64()),
4291
+ });
4292
+ }
4293
+
4294
+ static fromFields(fields: Record<string, any>): UpdateMarketConfigEvent {
4295
+ return UpdateMarketConfigEvent.reified().new({
4296
+ index: decodeFromFields("u64", fields.index),
4297
+ baseTokenType: decodeFromFields(TypeName.reified(), fields.base_token_type),
4298
+ previousMarketConfig: decodeFromFields(MarketConfig.reified(), fields.previous_market_config),
4299
+ newMarketConfig: decodeFromFields(MarketConfig.reified(), fields.new_market_config),
4300
+ u64Padding: decodeFromFields(reified.vector("u64"), fields.u64_padding),
4301
+ });
4302
+ }
4303
+
4304
+ static fromFieldsWithTypes(item: FieldsWithTypes): UpdateMarketConfigEvent {
4305
+ if (!isUpdateMarketConfigEvent(item.type)) {
4306
+ throw new Error("not a UpdateMarketConfigEvent type");
4307
+ }
4308
+
4309
+ return UpdateMarketConfigEvent.reified().new({
4310
+ index: decodeFromFieldsWithTypes("u64", item.fields.index),
4311
+ baseTokenType: decodeFromFieldsWithTypes(TypeName.reified(), item.fields.base_token_type),
4312
+ previousMarketConfig: decodeFromFieldsWithTypes(MarketConfig.reified(), item.fields.previous_market_config),
4313
+ newMarketConfig: decodeFromFieldsWithTypes(MarketConfig.reified(), item.fields.new_market_config),
4314
+ u64Padding: decodeFromFieldsWithTypes(reified.vector("u64"), item.fields.u64_padding),
4315
+ });
4316
+ }
4317
+
4318
+ static fromBcs(data: Uint8Array): UpdateMarketConfigEvent {
4319
+ return UpdateMarketConfigEvent.fromFields(UpdateMarketConfigEvent.bcs.parse(data));
4320
+ }
4321
+
4322
+ toJSONField() {
4323
+ return {
4324
+ index: this.index.toString(),
4325
+ baseTokenType: this.baseTokenType.toJSONField(),
4326
+ previousMarketConfig: this.previousMarketConfig.toJSONField(),
4327
+ newMarketConfig: this.newMarketConfig.toJSONField(),
4328
+ u64Padding: fieldToJSON<Vector<"u64">>(`vector<u64>`, this.u64Padding),
4329
+ };
4330
+ }
4331
+
4332
+ toJSON() {
4333
+ return { $typeName: this.$typeName, $typeArgs: this.$typeArgs, ...this.toJSONField() };
4334
+ }
4335
+
4336
+ static fromJSONField(field: any): UpdateMarketConfigEvent {
4337
+ return UpdateMarketConfigEvent.reified().new({
4338
+ index: decodeFromJSONField("u64", field.index),
4339
+ baseTokenType: decodeFromJSONField(TypeName.reified(), field.baseTokenType),
4340
+ previousMarketConfig: decodeFromJSONField(MarketConfig.reified(), field.previousMarketConfig),
4341
+ newMarketConfig: decodeFromJSONField(MarketConfig.reified(), field.newMarketConfig),
4342
+ u64Padding: decodeFromJSONField(reified.vector("u64"), field.u64Padding),
4343
+ });
4344
+ }
4345
+
4346
+ static fromJSON(json: Record<string, any>): UpdateMarketConfigEvent {
4347
+ if (json.$typeName !== UpdateMarketConfigEvent.$typeName) {
4348
+ throw new Error("not a WithTwoGenerics json object");
4349
+ }
4350
+
4351
+ return UpdateMarketConfigEvent.fromJSONField(json);
4352
+ }
4353
+
4354
+ static fromSuiParsedData(content: SuiParsedData): UpdateMarketConfigEvent {
4355
+ if (content.dataType !== "moveObject") {
4356
+ throw new Error("not an object");
4357
+ }
4358
+ if (!isUpdateMarketConfigEvent(content.type)) {
4359
+ throw new Error(`object at ${(content.fields as any).id} is not a UpdateMarketConfigEvent object`);
4360
+ }
4361
+ return UpdateMarketConfigEvent.fromFieldsWithTypes(content);
4362
+ }
4363
+
4364
+ static async fetch(client: SuiClient, id: string): Promise<UpdateMarketConfigEvent> {
4365
+ const res = await client.getObject({ id, options: { showBcs: true } });
4366
+ if (res.error) {
4367
+ throw new Error(`error fetching UpdateMarketConfigEvent object at id ${id}: ${res.error.code}`);
4368
+ }
4369
+ if (res.data?.bcs?.dataType !== "moveObject" || !isUpdateMarketConfigEvent(res.data.bcs.type)) {
4370
+ throw new Error(`object at id ${id} is not a UpdateMarketConfigEvent object`);
4371
+ }
4372
+ return UpdateMarketConfigEvent.fromBcs(fromB64(res.data.bcs.bcsBytes));
4373
+ }
4374
+ }
4375
+
4376
+ /* ============================== UpdateProtocolFeeShareBpEvent =============================== */
4377
+
4378
+ export function isUpdateProtocolFeeShareBpEvent(type: string): boolean {
4379
+ type = compressSuiType(type);
4380
+ return type === "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::UpdateProtocolFeeShareBpEvent";
4381
+ }
4382
+
4383
+ export interface UpdateProtocolFeeShareBpEventFields {
4384
+ index: ToField<"u64">;
4385
+ previousProtocolFeeShareBp: ToField<"u64">;
4386
+ newProtocolFeeShareBp: ToField<"u64">;
4387
+ u64Padding: ToField<Vector<"u64">>;
4388
+ }
4389
+
4390
+ export type UpdateProtocolFeeShareBpEventReified = Reified<UpdateProtocolFeeShareBpEvent, UpdateProtocolFeeShareBpEventFields>;
4391
+
4392
+ export class UpdateProtocolFeeShareBpEvent implements StructClass {
4393
+ static readonly $typeName =
4394
+ "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::UpdateProtocolFeeShareBpEvent";
4395
+ static readonly $numTypeParams = 0;
4396
+
4397
+ readonly $typeName = UpdateProtocolFeeShareBpEvent.$typeName;
4398
+
4399
+ readonly $fullTypeName: "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::UpdateProtocolFeeShareBpEvent";
4400
+
4401
+ readonly $typeArgs: [];
4402
+
4403
+ readonly index: ToField<"u64">;
4404
+ readonly previousProtocolFeeShareBp: ToField<"u64">;
4405
+ readonly newProtocolFeeShareBp: ToField<"u64">;
4406
+ readonly u64Padding: ToField<Vector<"u64">>;
4407
+
4408
+ private constructor(typeArgs: [], fields: UpdateProtocolFeeShareBpEventFields) {
4409
+ this.$fullTypeName = composeSuiType(
4410
+ UpdateProtocolFeeShareBpEvent.$typeName,
4411
+ ...typeArgs
4412
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::UpdateProtocolFeeShareBpEvent";
4413
+ this.$typeArgs = typeArgs;
4414
+
4415
+ this.index = fields.index;
4416
+ this.previousProtocolFeeShareBp = fields.previousProtocolFeeShareBp;
4417
+ this.newProtocolFeeShareBp = fields.newProtocolFeeShareBp;
4418
+ this.u64Padding = fields.u64Padding;
4419
+ }
4420
+
4421
+ static reified(): UpdateProtocolFeeShareBpEventReified {
4422
+ return {
4423
+ typeName: UpdateProtocolFeeShareBpEvent.$typeName,
4424
+ fullTypeName: composeSuiType(
4425
+ UpdateProtocolFeeShareBpEvent.$typeName,
4426
+ ...[]
4427
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::trading::UpdateProtocolFeeShareBpEvent",
4428
+ typeArgs: [] as [],
4429
+ reifiedTypeArgs: [],
4430
+ fromFields: (fields: Record<string, any>) => UpdateProtocolFeeShareBpEvent.fromFields(fields),
4431
+ fromFieldsWithTypes: (item: FieldsWithTypes) => UpdateProtocolFeeShareBpEvent.fromFieldsWithTypes(item),
4432
+ fromBcs: (data: Uint8Array) => UpdateProtocolFeeShareBpEvent.fromBcs(data),
4433
+ bcs: UpdateProtocolFeeShareBpEvent.bcs,
4434
+ fromJSONField: (field: any) => UpdateProtocolFeeShareBpEvent.fromJSONField(field),
4435
+ fromJSON: (json: Record<string, any>) => UpdateProtocolFeeShareBpEvent.fromJSON(json),
4436
+ fromSuiParsedData: (content: SuiParsedData) => UpdateProtocolFeeShareBpEvent.fromSuiParsedData(content),
4437
+ fetch: async (client: SuiClient, id: string) => UpdateProtocolFeeShareBpEvent.fetch(client, id),
4438
+ new: (fields: UpdateProtocolFeeShareBpEventFields) => {
4439
+ return new UpdateProtocolFeeShareBpEvent([], fields);
4440
+ },
4441
+ kind: "StructClassReified",
4442
+ };
4443
+ }
4444
+
4445
+ static get r() {
4446
+ return UpdateProtocolFeeShareBpEvent.reified();
4447
+ }
4448
+
4449
+ static phantom(): PhantomReified<ToTypeStr<UpdateProtocolFeeShareBpEvent>> {
4450
+ return phantom(UpdateProtocolFeeShareBpEvent.reified());
4451
+ }
4452
+ static get p() {
4453
+ return UpdateProtocolFeeShareBpEvent.phantom();
4454
+ }
4455
+
4456
+ static get bcs() {
4457
+ return bcs.struct("UpdateProtocolFeeShareBpEvent", {
4458
+ index: bcs.u64(),
4459
+ previous_protocol_fee_share_bp: bcs.u64(),
4460
+ new_protocol_fee_share_bp: bcs.u64(),
4461
+ u64_padding: bcs.vector(bcs.u64()),
4462
+ });
4463
+ }
4464
+
4465
+ static fromFields(fields: Record<string, any>): UpdateProtocolFeeShareBpEvent {
4466
+ return UpdateProtocolFeeShareBpEvent.reified().new({
4467
+ index: decodeFromFields("u64", fields.index),
4468
+ previousProtocolFeeShareBp: decodeFromFields("u64", fields.previous_protocol_fee_share_bp),
4469
+ newProtocolFeeShareBp: decodeFromFields("u64", fields.new_protocol_fee_share_bp),
4470
+ u64Padding: decodeFromFields(reified.vector("u64"), fields.u64_padding),
4471
+ });
4472
+ }
4473
+
4474
+ static fromFieldsWithTypes(item: FieldsWithTypes): UpdateProtocolFeeShareBpEvent {
4475
+ if (!isUpdateProtocolFeeShareBpEvent(item.type)) {
4476
+ throw new Error("not a UpdateProtocolFeeShareBpEvent type");
4477
+ }
4478
+
4479
+ return UpdateProtocolFeeShareBpEvent.reified().new({
4480
+ index: decodeFromFieldsWithTypes("u64", item.fields.index),
4481
+ previousProtocolFeeShareBp: decodeFromFieldsWithTypes("u64", item.fields.previous_protocol_fee_share_bp),
4482
+ newProtocolFeeShareBp: decodeFromFieldsWithTypes("u64", item.fields.new_protocol_fee_share_bp),
4483
+ u64Padding: decodeFromFieldsWithTypes(reified.vector("u64"), item.fields.u64_padding),
4484
+ });
4485
+ }
4486
+
4487
+ static fromBcs(data: Uint8Array): UpdateProtocolFeeShareBpEvent {
4488
+ return UpdateProtocolFeeShareBpEvent.fromFields(UpdateProtocolFeeShareBpEvent.bcs.parse(data));
4489
+ }
4490
+
4491
+ toJSONField() {
4492
+ return {
4493
+ index: this.index.toString(),
4494
+ previousProtocolFeeShareBp: this.previousProtocolFeeShareBp.toString(),
4495
+ newProtocolFeeShareBp: this.newProtocolFeeShareBp.toString(),
4496
+ u64Padding: fieldToJSON<Vector<"u64">>(`vector<u64>`, this.u64Padding),
4497
+ };
4498
+ }
4499
+
4500
+ toJSON() {
4501
+ return { $typeName: this.$typeName, $typeArgs: this.$typeArgs, ...this.toJSONField() };
4502
+ }
4503
+
4504
+ static fromJSONField(field: any): UpdateProtocolFeeShareBpEvent {
4505
+ return UpdateProtocolFeeShareBpEvent.reified().new({
4506
+ index: decodeFromJSONField("u64", field.index),
4507
+ previousProtocolFeeShareBp: decodeFromJSONField("u64", field.previousProtocolFeeShareBp),
4508
+ newProtocolFeeShareBp: decodeFromJSONField("u64", field.newProtocolFeeShareBp),
4509
+ u64Padding: decodeFromJSONField(reified.vector("u64"), field.u64Padding),
4510
+ });
4511
+ }
4512
+
4513
+ static fromJSON(json: Record<string, any>): UpdateProtocolFeeShareBpEvent {
4514
+ if (json.$typeName !== UpdateProtocolFeeShareBpEvent.$typeName) {
4515
+ throw new Error("not a WithTwoGenerics json object");
4516
+ }
4517
+
4518
+ return UpdateProtocolFeeShareBpEvent.fromJSONField(json);
4519
+ }
4520
+
4521
+ static fromSuiParsedData(content: SuiParsedData): UpdateProtocolFeeShareBpEvent {
4522
+ if (content.dataType !== "moveObject") {
4523
+ throw new Error("not an object");
4524
+ }
4525
+ if (!isUpdateProtocolFeeShareBpEvent(content.type)) {
4526
+ throw new Error(`object at ${(content.fields as any).id} is not a UpdateProtocolFeeShareBpEvent object`);
4527
+ }
4528
+ return UpdateProtocolFeeShareBpEvent.fromFieldsWithTypes(content);
4529
+ }
4530
+
4531
+ static async fetch(client: SuiClient, id: string): Promise<UpdateProtocolFeeShareBpEvent> {
4532
+ const res = await client.getObject({ id, options: { showBcs: true } });
4533
+ if (res.error) {
4534
+ throw new Error(`error fetching UpdateProtocolFeeShareBpEvent object at id ${id}: ${res.error.code}`);
4535
+ }
4536
+ if (res.data?.bcs?.dataType !== "moveObject" || !isUpdateProtocolFeeShareBpEvent(res.data.bcs.type)) {
4537
+ throw new Error(`object at id ${id} is not a UpdateProtocolFeeShareBpEvent object`);
4538
+ }
4539
+ return UpdateProtocolFeeShareBpEvent.fromBcs(fromB64(res.data.bcs.bcsBytes));
4540
+ }
4541
+ }