@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,265 @@
1
+ import { TransactionArgument, TransactionBlock, TransactionObjectArgument } from "@mysten/sui.js/transactions";
2
+ import { bcs, ObjectArg as SuiObjectArg } from "@mysten/sui.js/bcs";
3
+ import { BcsType } from "@mysten/bcs";
4
+
5
+ export interface FieldsWithTypes {
6
+ /* eslint-disable @typescript-eslint/no-explicit-any */
7
+ fields: Record<string, any>;
8
+ type: string;
9
+ }
10
+
11
+ export type ObjectId = string;
12
+
13
+ export type ObjectCallArg = { Object: SuiObjectArg };
14
+
15
+ export type ObjectArg = string | ObjectCallArg | TransactionArgument;
16
+
17
+ export type PureArg = bigint | string | number | boolean | null | TransactionArgument | Array<PureArg>;
18
+ export type GenericArg = ObjectArg | PureArg | Array<ObjectArg> | Array<PureArg> | Array<GenericArg>;
19
+
20
+ export function parseTypeName(name: string): { typeName: string; typeArgs: string[] } {
21
+ const parsed = bcs.parseTypeName(name);
22
+ return { typeName: parsed.name, typeArgs: parsed.params as string[] };
23
+ }
24
+
25
+ export function isTransactionArgument(arg: GenericArg): arg is TransactionArgument {
26
+ if (!arg || typeof arg !== "object" || Array.isArray(arg)) {
27
+ return false;
28
+ }
29
+
30
+ return "kind" in arg;
31
+ }
32
+
33
+ export function isTransactionObjectArgument(arg: GenericArg): arg is TransactionObjectArgument {
34
+ if (!isTransactionArgument(arg)) {
35
+ return false;
36
+ }
37
+
38
+ if (arg.kind === "Input" && arg.type === "pure") {
39
+ return false;
40
+ }
41
+
42
+ return true;
43
+ }
44
+
45
+ export function obj(txb: TransactionBlock, arg: ObjectArg) {
46
+ return isTransactionArgument(arg) ? arg : txb.object(arg);
47
+ }
48
+
49
+ export function pure(txb: TransactionBlock, arg: PureArg, type: string) {
50
+ if (isTransactionArgument(arg)) {
51
+ return obj(txb, arg);
52
+ }
53
+
54
+ function getBcsForType(type: string): BcsType<any> {
55
+ const { typeName, typeArgs } = parseTypeName(type);
56
+ switch (typeName) {
57
+ case "bool":
58
+ return bcs.Bool;
59
+ case "u8":
60
+ return bcs.U8;
61
+ case "u16":
62
+ return bcs.U16;
63
+ case "u32":
64
+ return bcs.U32;
65
+ case "u64":
66
+ return bcs.U64;
67
+ case "u128":
68
+ return bcs.U128;
69
+ case "u256":
70
+ return bcs.U256;
71
+ case "address":
72
+ return bcs.Address;
73
+ case "0x1::string::String":
74
+ case "0x1::ascii::String":
75
+ return bcs.String;
76
+ case "0x2::object::ID":
77
+ return bcs.Address;
78
+ case "0x1::option::Option":
79
+ return bcs.option(getBcsForType(typeArgs[0]));
80
+ case "vector":
81
+ return bcs.vector(getBcsForType(typeArgs[0]));
82
+ default:
83
+ throw new Error(`invalid primitive type ${type}`);
84
+ }
85
+ }
86
+
87
+ function isOrHasNestedTransactionArgument(arg: PureArg): boolean {
88
+ if (Array.isArray(arg)) {
89
+ return arg.some((item) => isOrHasNestedTransactionArgument(item));
90
+ }
91
+ return isTransactionArgument(arg);
92
+ }
93
+
94
+ // handle some cases when TransactionArgument is nested within a vector or option
95
+ const { typeName, typeArgs } = parseTypeName(type);
96
+ switch (typeName) {
97
+ case "0x1::option::Option":
98
+ if (arg === null) {
99
+ return txb.pure(bcs.option(bcs.Bool).serialize(null)); // bcs.Bool is arbitrary
100
+ }
101
+ if (isOrHasNestedTransactionArgument(arg)) {
102
+ throw new Error("nesting TransactionArgument is not supported");
103
+ }
104
+ break;
105
+ case "vector":
106
+ if (!Array.isArray(arg)) {
107
+ throw new Error("expected an array for vector type");
108
+ }
109
+ if (arg.length === 0) {
110
+ return txb.pure(bcs.vector(bcs.Bool).serialize([])); // bcs.Bool is arbitrary
111
+ }
112
+ if (arg.some((arg) => Array.isArray(arg) && isOrHasNestedTransactionArgument(arg))) {
113
+ throw new Error("nesting TransactionArgument is not supported");
114
+ }
115
+ if (isTransactionArgument(arg[0]) && arg.filter((arg) => !isTransactionArgument(arg)).length > 0) {
116
+ throw new Error("mixing TransactionArgument with other types is not supported");
117
+ }
118
+ if (isTransactionObjectArgument(arg[0])) {
119
+ return txb.makeMoveVec({
120
+ objects: arg as Array<TransactionObjectArgument>,
121
+ type: typeArgs[0],
122
+ });
123
+ }
124
+ }
125
+
126
+ return txb.pure(getBcsForType(type).serialize(arg));
127
+ }
128
+
129
+ export function option(txb: TransactionBlock, type: string, arg: GenericArg | null) {
130
+ if (isTransactionArgument(arg)) {
131
+ return arg;
132
+ }
133
+ if (typeArgIsPure(type)) {
134
+ return pure(txb, arg as PureArg | TransactionArgument, `0x1::option::Option<${type}>`);
135
+ }
136
+ if (arg === null) {
137
+ return txb.moveCall({
138
+ target: `0x1::option::none`,
139
+ typeArguments: [type],
140
+ arguments: [],
141
+ });
142
+ }
143
+ // wrap it with some
144
+ const val = generic(txb, type, arg);
145
+ return txb.moveCall({
146
+ target: `0x1::option::some`,
147
+ typeArguments: [type],
148
+ arguments: [val],
149
+ });
150
+ }
151
+
152
+ export function generic(txb: TransactionBlock, type: string, arg: GenericArg) {
153
+ if (typeArgIsPure(type)) {
154
+ return pure(txb, arg as PureArg | TransactionArgument, type);
155
+ } else {
156
+ const { typeName, typeArgs } = parseTypeName(type);
157
+ if (typeName === "vector" && Array.isArray(arg)) {
158
+ const itemType = typeArgs[0];
159
+
160
+ return txb.makeMoveVec({
161
+ objects: arg.map((item) => obj(txb, item as ObjectArg)) as Array<TransactionObjectArgument>,
162
+ type: itemType,
163
+ });
164
+ } else {
165
+ return obj(txb, arg as ObjectArg);
166
+ }
167
+ }
168
+ }
169
+
170
+ export function vector(txb: TransactionBlock, itemType: string, items: Array<GenericArg> | TransactionArgument) {
171
+ if (typeArgIsPure(itemType)) {
172
+ return pure(txb, items as PureArg, `vector<${itemType}>`);
173
+ } else if (isTransactionArgument(items)) {
174
+ return items;
175
+ } else {
176
+ const { typeName: itemTypeName, typeArgs: itemTypeArgs } = parseTypeName(itemType);
177
+ if (itemTypeName === "0x1::option::Option") {
178
+ const objects = items.map((item) => option(txb, itemTypeArgs[0], item)) as Array<TransactionObjectArgument>;
179
+ return txb.makeMoveVec({
180
+ objects,
181
+ type: itemType,
182
+ });
183
+ }
184
+
185
+ return txb.makeMoveVec({
186
+ objects: items as Array<TransactionObjectArgument>,
187
+ type: itemType,
188
+ });
189
+ }
190
+ }
191
+
192
+ export function typeArgIsPure(type: string): boolean {
193
+ const { typeName, typeArgs } = parseTypeName(type);
194
+ switch (typeName) {
195
+ case "bool":
196
+ case "u8":
197
+ case "u16":
198
+ case "u32":
199
+ case "u64":
200
+ case "u128":
201
+ case "u256":
202
+ case "address":
203
+ case "signer":
204
+ return true;
205
+ case "vector":
206
+ return typeArgIsPure(typeArgs[0]);
207
+ case "0x1::string::String":
208
+ case "0x1::ascii::String":
209
+ case "0x2::object::ID":
210
+ return true;
211
+ case "0x1::option::Option":
212
+ return typeArgIsPure(typeArgs[0]);
213
+ default:
214
+ return false;
215
+ }
216
+ }
217
+
218
+ export function compressSuiAddress(addr: string): string {
219
+ // remove leading zeros
220
+ const stripped = addr.split("0x").join("");
221
+ for (let i = 0; i < stripped.length; i++) {
222
+ if (stripped[i] !== "0") {
223
+ return `0x${stripped.substring(i)}`;
224
+ }
225
+ }
226
+ return "0x0";
227
+ }
228
+
229
+ // Recursively removes leading zeros from a type.
230
+ // e.g. `0x00000002::module::Name<0x00001::a::C>` -> `0x2::module::Name<0x1::a::C>`
231
+ export function compressSuiType(type: string): string {
232
+ const { typeName, typeArgs } = parseTypeName(type);
233
+ switch (typeName) {
234
+ case "bool":
235
+ case "u8":
236
+ case "u16":
237
+ case "u32":
238
+ case "u64":
239
+ case "u128":
240
+ case "u256":
241
+ case "address":
242
+ case "signer":
243
+ return typeName;
244
+ case "vector":
245
+ return `vector<${compressSuiType(typeArgs[0])}>`;
246
+ default: {
247
+ const tok = typeName.split("::");
248
+ tok[0] = compressSuiAddress(tok[0]);
249
+ const compressedName = tok.join("::");
250
+ if (typeArgs.length > 0) {
251
+ return `${compressedName}<${typeArgs.map((typeArg) => compressSuiType(typeArg)).join(",")}>`;
252
+ } else {
253
+ return compressedName;
254
+ }
255
+ }
256
+ }
257
+ }
258
+
259
+ export function composeSuiType(typeName: string, ...typeArgs: string[]): string {
260
+ if (typeArgs.length > 0) {
261
+ return `${typeName}<${typeArgs.join(", ")}>`;
262
+ } else {
263
+ return typeName;
264
+ }
265
+ }
@@ -0,0 +1,101 @@
1
+ import { TransactionBlock } from "@mysten/sui.js/transactions";
2
+
3
+ /**
4
+ public fun remove_airdrop<TOKEN>(
5
+ version: &Version,
6
+ typus_airdrop_registry: &mut TypusAirdropRegistry,
7
+ key: String,
8
+ ctx: &mut TxContext,
9
+ ): Balance<TOKEN>
10
+ */
11
+ export async function getRemoveAirdropTx(
12
+ gasBudget: number,
13
+ packageId: string,
14
+ version: string,
15
+ typusLeaderboardRegistry: string,
16
+ key: string,
17
+ typeArguments: string[],
18
+ sender: string
19
+ ) {
20
+ let tx = new TransactionBlock();
21
+
22
+ const balance = tx.moveCall({
23
+ target: `${packageId}::airdrop::remove_airdrop`,
24
+ typeArguments,
25
+ arguments: [tx.object(version), tx.object(typusLeaderboardRegistry), tx.object(key)],
26
+ });
27
+
28
+ const coin = tx.moveCall({
29
+ target: `0x2::coin::from_balance`,
30
+ typeArguments,
31
+ arguments: [balance],
32
+ });
33
+
34
+ tx.transferObjects([coin], sender);
35
+
36
+ tx.setGasBudget(gasBudget);
37
+
38
+ return tx;
39
+ }
40
+
41
+ /**
42
+ public fun set_airdrop<TOKEN>(
43
+ version: &Version,
44
+ typus_airdrop_registry: &mut TypusAirdropRegistry,
45
+ key: String,
46
+ mut coins: vector<Coin<TOKEN>>,
47
+ mut users: vector<address>,
48
+ mut values: vector<u64>,
49
+ ctx: &mut TxContext,
50
+ )
51
+ */
52
+ export async function getSetAirdropTx(
53
+ gasBudget: number,
54
+ packageId: string,
55
+ version: string,
56
+ typusLeaderboardRegistry: string,
57
+ key: string,
58
+ coins: string[],
59
+ amount: string,
60
+ users: string[],
61
+ values: string[],
62
+ typeArguments: string[]
63
+ ) {
64
+ let tx = new TransactionBlock();
65
+
66
+ if (
67
+ typeArguments[0] == "0x2::sui::SUI" ||
68
+ typeArguments[0] == "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
69
+ ) {
70
+ let [coin] = tx.splitCoins(tx.gas, [tx.pure(amount)]);
71
+ tx.moveCall({
72
+ target: `${packageId}::airdrop::set_airdrop`,
73
+ typeArguments,
74
+ arguments: [
75
+ tx.object(version),
76
+ tx.object(typusLeaderboardRegistry),
77
+ tx.object(key),
78
+ tx.makeMoveVec({ objects: [coin] }),
79
+ tx.pure(users),
80
+ tx.pure(values),
81
+ ],
82
+ });
83
+ } else {
84
+ tx.moveCall({
85
+ target: `${packageId}::airdrop::set_airdrop`,
86
+ typeArguments,
87
+ arguments: [
88
+ tx.object(version),
89
+ tx.object(typusLeaderboardRegistry),
90
+ tx.object(key),
91
+ tx.makeMoveVec({ objects: coins.map((id) => tx.object(id)) }),
92
+ tx.pure(users),
93
+ tx.pure(values),
94
+ ],
95
+ });
96
+ }
97
+
98
+ tx.setGasBudget(gasBudget);
99
+
100
+ return tx;
101
+ }
@@ -0,0 +1,3 @@
1
+ export * from "./authority-entry";
2
+ export * from "./user-entry";
3
+ export * from "./view-function";
@@ -0,0 +1,24 @@
1
+ import { TransactionBlock, TransactionObjectArgument } from "@mysten/sui.js/transactions";
2
+
3
+ export function getClaimAirdropTx(input: {
4
+ tx: TransactionBlock;
5
+ typusPackageId: string;
6
+ typusEcosystemVersion: string;
7
+ typusAirdropRegistry: string;
8
+ typeArguments: string[];
9
+ key: string;
10
+ user: string;
11
+ }) {
12
+ let result = input.tx.moveCall({
13
+ target: `${input.typusPackageId}::airdrop::claim_airdrop`,
14
+ typeArguments: input.typeArguments,
15
+ arguments: [input.tx.object(input.typusEcosystemVersion), input.tx.object(input.typusAirdropRegistry), input.tx.pure(input.key)],
16
+ });
17
+ input.tx.moveCall({
18
+ target: `${input.typusPackageId}::utility::transfer_balance_opt`,
19
+ typeArguments: [input.typeArguments[0]],
20
+ arguments: [input.tx.object(result[0]), input.tx.pure(input.user)],
21
+ });
22
+
23
+ return input.tx;
24
+ }
@@ -0,0 +1,36 @@
1
+ import { TransactionBlock } from "@mysten/sui.js/transactions";
2
+ import { SuiClient } from "@mysten/sui.js/client";
3
+ import { BcsReader } from "@mysten/bcs";
4
+
5
+ export async function getAirdrop(input: {
6
+ provider: SuiClient;
7
+ typusPackageId: string;
8
+ typusEcosystemVersion: string;
9
+ typusAirdropRegistry: string;
10
+ key: string;
11
+ user: string;
12
+ }): Promise<string[]> {
13
+ let transactionBlock = new TransactionBlock();
14
+ transactionBlock.moveCall({
15
+ target: `${input.typusPackageId}::airdrop::get_airdrop`,
16
+ typeArguments: [],
17
+ arguments: [
18
+ transactionBlock.pure(input.typusEcosystemVersion),
19
+ transactionBlock.pure(input.typusAirdropRegistry),
20
+ transactionBlock.pure(input.key),
21
+ transactionBlock.pure(input.user),
22
+ ],
23
+ });
24
+ let results = (
25
+ await input.provider.devInspectTransactionBlock({
26
+ sender: "0xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA",
27
+ transactionBlock,
28
+ })
29
+ ).results;
30
+ // @ts-ignore
31
+ let bytes = results[results.length - 1].returnValues[0][0];
32
+ let reader = new BcsReader(new Uint8Array(bytes));
33
+ return reader.readVec((reader) => {
34
+ return reader.read64();
35
+ });
36
+ }
@@ -0,0 +1,2 @@
1
+ export * from "./user-entry";
2
+ export * from "./view-function";
@@ -0,0 +1,256 @@
1
+ import { TransactionBlock } from "@mysten/sui.js/transactions";
2
+
3
+ /**
4
+ entry fun new_strategy<B_TOKEN>(
5
+ strategy_pool: &mut StrategyPool,
6
+ vault_index: u64,
7
+ signal_index: u64,
8
+ size: u64,
9
+ price_percentage: u64,
10
+ max_times: u64,
11
+ target_rounds: vector<u64>,
12
+ coin: Coin<B_TOKEN>,
13
+ ctx: &mut TxContext
14
+ )
15
+ */
16
+
17
+ export function getNewStrategyTx(
18
+ gasBudget: number,
19
+ packageId: string,
20
+ typeArguments: string[], // D_TOKEN, B_TOKEN
21
+ registry: string,
22
+ strategy_pool: string,
23
+ vault_index: string,
24
+ signal_index: string,
25
+ coins: string[],
26
+ amount: string,
27
+ size: string,
28
+ price_percentage: string,
29
+ max_times: string,
30
+ target_rounds: string[]
31
+ ) {
32
+ let tx = new TransactionBlock();
33
+
34
+ if (
35
+ // B_TOKEN
36
+ typeArguments[1] == "0x2::sui::SUI" ||
37
+ typeArguments[1] == "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
38
+ ) {
39
+ let [input_coin] = tx.splitCoins(tx.gas, [tx.pure(amount)]);
40
+ tx.moveCall({
41
+ target: `${packageId}::auto_bid::new_strategy`,
42
+ typeArguments,
43
+ arguments: [
44
+ tx.object(registry),
45
+ tx.object(strategy_pool),
46
+ tx.pure(vault_index),
47
+ tx.pure(signal_index),
48
+ tx.pure(size),
49
+ tx.pure(price_percentage),
50
+ tx.pure(max_times),
51
+ tx.pure(target_rounds),
52
+ input_coin,
53
+ ],
54
+ });
55
+ } else {
56
+ const coin = coins.pop()!;
57
+
58
+ if (coins.length > 0) {
59
+ tx.mergeCoins(
60
+ tx.object(coin),
61
+ coins.map((coin) => tx.object(coin))
62
+ );
63
+ }
64
+
65
+ let [input_coin] = tx.splitCoins(tx.object(coin), [tx.pure(amount)]);
66
+
67
+ tx.moveCall({
68
+ target: `${packageId}::auto_bid::new_strategy`,
69
+ typeArguments,
70
+ arguments: [
71
+ tx.object(registry),
72
+ tx.object(strategy_pool),
73
+ tx.pure(vault_index),
74
+ tx.pure(signal_index),
75
+ tx.pure(size),
76
+ tx.pure(price_percentage),
77
+ tx.pure(max_times),
78
+ tx.pure(target_rounds),
79
+ input_coin,
80
+ ],
81
+ });
82
+ }
83
+ tx.setGasBudget(gasBudget);
84
+
85
+ return tx;
86
+ }
87
+
88
+ /**
89
+ entry fun close_strategy<D_TOKEN, B_TOKEN>(
90
+ strategy_pool: &mut StrategyPoolV2,
91
+ vault_index: u64,
92
+ signal_index: u64,
93
+ strategy_index: u64,
94
+ ctx: &mut TxContext
95
+ )
96
+ */
97
+
98
+ export function getCloseStrategyTx(
99
+ gasBudget: number,
100
+ packageId: string,
101
+ typeArguments: string[], // D_TOKEN, B_TOKEN
102
+ registry: string,
103
+ strategy_pool: string,
104
+ vault_index: string,
105
+ signal_index: string,
106
+ strategy_index: string,
107
+ sender: string,
108
+ txBlock?: TransactionBlock
109
+ ) {
110
+ let tx = txBlock ? txBlock : new TransactionBlock();
111
+
112
+ let [d_token, b_token] = tx.moveCall({
113
+ target: `${packageId}::auto_bid::close_strategy`,
114
+ typeArguments,
115
+ arguments: [tx.object(registry), tx.object(strategy_pool), tx.pure(vault_index), tx.pure(signal_index), tx.pure(strategy_index)],
116
+ });
117
+
118
+ tx.transferObjects([d_token, b_token], sender);
119
+ tx.setGasBudget(gasBudget);
120
+
121
+ return tx;
122
+ }
123
+
124
+ export function getWithdrawProfitStrategyTx(
125
+ gasBudget: number,
126
+ packageId: string,
127
+ typeArguments: string[], // D_TOKEN, B_TOKEN
128
+ registry: string,
129
+ strategy_pool: string,
130
+ vault_index: string,
131
+ signal_index: string,
132
+ strategy_index: string,
133
+ sender: string,
134
+ txBlock?: TransactionBlock
135
+ ) {
136
+ let tx = txBlock ? txBlock : new TransactionBlock();
137
+ let d_token = tx.moveCall({
138
+ target: `${packageId}::auto_bid::withdraw_profit`,
139
+ typeArguments,
140
+ arguments: [tx.object(registry), tx.object(strategy_pool), tx.pure(vault_index), tx.pure(signal_index), tx.pure(strategy_index)],
141
+ });
142
+
143
+ tx.transferObjects([d_token], sender);
144
+ tx.setGasBudget(gasBudget);
145
+
146
+ return tx;
147
+ }
148
+
149
+ /**
150
+ entry fun update_strategy<D_TOKEN, B_TOKEN>(
151
+ strategy_pool: &mut StrategyPoolV2,
152
+ vault_index: u64,
153
+ signal_index: u64,
154
+ strategy_index: u64,
155
+ size: Option<u64>,
156
+ price_percentage: Option<u64>,
157
+ max_times: Option<u64>,
158
+ target_rounds: vector<u64>,
159
+ coins: vector<Coin<B_TOKEN>>,
160
+ ctx: & TxContext
161
+ )
162
+ */
163
+
164
+ export function getUpdateStrategyTx(
165
+ gasBudget: number,
166
+ packageId: string,
167
+ typeArguments: string[], // D_TOKEN, B_TOKEN
168
+ registry: string,
169
+ strategy_pool: string,
170
+ vault_index: string,
171
+ signal_index: string,
172
+ strategy_index: string,
173
+ coins: string[],
174
+ amount: string,
175
+ size: string | null,
176
+ price_percentage: string | null,
177
+ max_times: string | null,
178
+ target_rounds: string[]
179
+ ) {
180
+ let tx = new TransactionBlock();
181
+
182
+ if (
183
+ // B_TOKEN
184
+ typeArguments[1] == "0x2::sui::SUI" ||
185
+ typeArguments[1] == "0x0000000000000000000000000000000000000000000000000000000000000002::sui::SUI"
186
+ ) {
187
+ if (amount) {
188
+ const [input_coin] = tx.splitCoins(tx.gas, [tx.pure(amount)]);
189
+
190
+ tx.moveCall({
191
+ target: `${packageId}::auto_bid::update_strategy`,
192
+ typeArguments,
193
+ arguments: [
194
+ tx.object(registry),
195
+ tx.object(strategy_pool),
196
+ tx.pure(vault_index),
197
+ tx.pure(signal_index),
198
+ tx.pure(strategy_index),
199
+ tx.pure(size ? [size] : []),
200
+ tx.pure(price_percentage ? [price_percentage] : []),
201
+ tx.pure(max_times ? [max_times] : []),
202
+ tx.pure(target_rounds),
203
+ tx.makeMoveVec({ objects: [input_coin] }),
204
+ ],
205
+ });
206
+ } else {
207
+ tx.moveCall({
208
+ target: `${packageId}::auto_bid::update_strategy`,
209
+ typeArguments,
210
+ arguments: [
211
+ tx.object(registry),
212
+ tx.object(strategy_pool),
213
+ tx.pure(vault_index),
214
+ tx.pure(signal_index),
215
+ tx.pure(strategy_index),
216
+ tx.pure(size ? [size] : []),
217
+ tx.pure(price_percentage ? [price_percentage] : []),
218
+ tx.pure(max_times ? [max_times] : []),
219
+ tx.pure(target_rounds),
220
+ tx.makeMoveVec({ objects: [] }),
221
+ ],
222
+ });
223
+ }
224
+ } else {
225
+ const coin = coins.pop()!;
226
+
227
+ if (coins.length > 0) {
228
+ tx.mergeCoins(
229
+ tx.object(coin),
230
+ coins.map((coin) => tx.object(coin))
231
+ );
232
+ }
233
+
234
+ const [input_coin] = tx.splitCoins(tx.object(coin), [tx.pure(amount)]);
235
+
236
+ tx.moveCall({
237
+ target: `${packageId}::auto_bid::update_strategy`,
238
+ typeArguments,
239
+ arguments: [
240
+ tx.object(registry),
241
+ tx.object(strategy_pool),
242
+ tx.pure(vault_index),
243
+ tx.pure(signal_index),
244
+ tx.pure(strategy_index),
245
+ tx.pure(size ? [size] : []),
246
+ tx.pure(price_percentage ? [price_percentage] : []),
247
+ tx.pure(max_times ? [max_times] : []),
248
+ tx.pure(target_rounds),
249
+ tx.makeMoveVec({ objects: [input_coin] }),
250
+ ],
251
+ });
252
+ }
253
+ tx.setGasBudget(gasBudget);
254
+
255
+ return tx;
256
+ }