@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,36 @@
1
+ import { PUBLISHED_AT } from "..";
2
+ import { ObjectArg, obj } from "../../_framework/util";
3
+ import { TransactionBlock } from "@mysten/sui.js/transactions";
4
+
5
+ export function init(txb: TransactionBlock) {
6
+ return txb.moveCall({ target: `${PUBLISHED_AT}::treasury_caps::init`, arguments: [] });
7
+ }
8
+
9
+ export function getMutTreasuryCap(txb: TransactionBlock, typeArg: string, treasuryCaps: ObjectArg) {
10
+ return txb.moveCall({
11
+ target: `${PUBLISHED_AT}::treasury_caps::get_mut_treasury_cap`,
12
+ typeArguments: [typeArg],
13
+ arguments: [obj(txb, treasuryCaps)],
14
+ });
15
+ }
16
+
17
+ export function removeTreasuryCap(txb: TransactionBlock, typeArg: string, treasuryCaps: ObjectArg) {
18
+ return txb.moveCall({
19
+ target: `${PUBLISHED_AT}::treasury_caps::remove_treasury_cap`,
20
+ typeArguments: [typeArg],
21
+ arguments: [obj(txb, treasuryCaps)],
22
+ });
23
+ }
24
+
25
+ export interface StoreTreasuryCapArgs {
26
+ treasuryCaps: ObjectArg;
27
+ treasuryCap: ObjectArg;
28
+ }
29
+
30
+ export function storeTreasuryCap(txb: TransactionBlock, typeArg: string, args: StoreTreasuryCapArgs) {
31
+ return txb.moveCall({
32
+ target: `${PUBLISHED_AT}::treasury_caps::store_treasury_cap`,
33
+ typeArguments: [typeArg],
34
+ arguments: [obj(txb, args.treasuryCaps), obj(txb, args.treasuryCap)],
35
+ });
36
+ }
@@ -0,0 +1,151 @@
1
+ import { UID } from "../../_dependencies/source/0x2/object/structs";
2
+ import {
3
+ PhantomReified,
4
+ Reified,
5
+ StructClass,
6
+ ToField,
7
+ ToTypeStr,
8
+ decodeFromFields,
9
+ decodeFromFieldsWithTypes,
10
+ decodeFromJSONField,
11
+ phantom,
12
+ } from "../../_framework/reified";
13
+ import { FieldsWithTypes, composeSuiType, compressSuiType } from "../../_framework/util";
14
+ import { bcs, fromB64 } from "@mysten/bcs";
15
+ import { SuiClient, SuiParsedData } from "@mysten/sui.js/client";
16
+
17
+ /* ============================== TreasuryCaps =============================== */
18
+
19
+ export function isTreasuryCaps(type: string): boolean {
20
+ type = compressSuiType(type);
21
+ return type === "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::treasury_caps::TreasuryCaps";
22
+ }
23
+
24
+ export interface TreasuryCapsFields {
25
+ id: ToField<UID>;
26
+ }
27
+
28
+ export type TreasuryCapsReified = Reified<TreasuryCaps, TreasuryCapsFields>;
29
+
30
+ export class TreasuryCaps implements StructClass {
31
+ static readonly $typeName = "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::treasury_caps::TreasuryCaps";
32
+ static readonly $numTypeParams = 0;
33
+
34
+ readonly $typeName = TreasuryCaps.$typeName;
35
+
36
+ readonly $fullTypeName: "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::treasury_caps::TreasuryCaps";
37
+
38
+ readonly $typeArgs: [];
39
+
40
+ readonly id: ToField<UID>;
41
+
42
+ private constructor(typeArgs: [], fields: TreasuryCapsFields) {
43
+ this.$fullTypeName = composeSuiType(
44
+ TreasuryCaps.$typeName,
45
+ ...typeArgs
46
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::treasury_caps::TreasuryCaps";
47
+ this.$typeArgs = typeArgs;
48
+
49
+ this.id = fields.id;
50
+ }
51
+
52
+ static reified(): TreasuryCapsReified {
53
+ return {
54
+ typeName: TreasuryCaps.$typeName,
55
+ fullTypeName: composeSuiType(
56
+ TreasuryCaps.$typeName,
57
+ ...[]
58
+ ) as "0x4bcf9eade4480bcb9fcd3139ec8d22afda34b25af06092904fcccb06e1b8043c::treasury_caps::TreasuryCaps",
59
+ typeArgs: [] as [],
60
+ reifiedTypeArgs: [],
61
+ fromFields: (fields: Record<string, any>) => TreasuryCaps.fromFields(fields),
62
+ fromFieldsWithTypes: (item: FieldsWithTypes) => TreasuryCaps.fromFieldsWithTypes(item),
63
+ fromBcs: (data: Uint8Array) => TreasuryCaps.fromBcs(data),
64
+ bcs: TreasuryCaps.bcs,
65
+ fromJSONField: (field: any) => TreasuryCaps.fromJSONField(field),
66
+ fromJSON: (json: Record<string, any>) => TreasuryCaps.fromJSON(json),
67
+ fromSuiParsedData: (content: SuiParsedData) => TreasuryCaps.fromSuiParsedData(content),
68
+ fetch: async (client: SuiClient, id: string) => TreasuryCaps.fetch(client, id),
69
+ new: (fields: TreasuryCapsFields) => {
70
+ return new TreasuryCaps([], fields);
71
+ },
72
+ kind: "StructClassReified",
73
+ };
74
+ }
75
+
76
+ static get r() {
77
+ return TreasuryCaps.reified();
78
+ }
79
+
80
+ static phantom(): PhantomReified<ToTypeStr<TreasuryCaps>> {
81
+ return phantom(TreasuryCaps.reified());
82
+ }
83
+ static get p() {
84
+ return TreasuryCaps.phantom();
85
+ }
86
+
87
+ static get bcs() {
88
+ return bcs.struct("TreasuryCaps", {
89
+ id: UID.bcs,
90
+ });
91
+ }
92
+
93
+ static fromFields(fields: Record<string, any>): TreasuryCaps {
94
+ return TreasuryCaps.reified().new({ id: decodeFromFields(UID.reified(), fields.id) });
95
+ }
96
+
97
+ static fromFieldsWithTypes(item: FieldsWithTypes): TreasuryCaps {
98
+ if (!isTreasuryCaps(item.type)) {
99
+ throw new Error("not a TreasuryCaps type");
100
+ }
101
+
102
+ return TreasuryCaps.reified().new({ id: decodeFromFieldsWithTypes(UID.reified(), item.fields.id) });
103
+ }
104
+
105
+ static fromBcs(data: Uint8Array): TreasuryCaps {
106
+ return TreasuryCaps.fromFields(TreasuryCaps.bcs.parse(data));
107
+ }
108
+
109
+ toJSONField() {
110
+ return {
111
+ id: this.id,
112
+ };
113
+ }
114
+
115
+ toJSON() {
116
+ return { $typeName: this.$typeName, $typeArgs: this.$typeArgs, ...this.toJSONField() };
117
+ }
118
+
119
+ static fromJSONField(field: any): TreasuryCaps {
120
+ return TreasuryCaps.reified().new({ id: decodeFromJSONField(UID.reified(), field.id) });
121
+ }
122
+
123
+ static fromJSON(json: Record<string, any>): TreasuryCaps {
124
+ if (json.$typeName !== TreasuryCaps.$typeName) {
125
+ throw new Error("not a WithTwoGenerics json object");
126
+ }
127
+
128
+ return TreasuryCaps.fromJSONField(json);
129
+ }
130
+
131
+ static fromSuiParsedData(content: SuiParsedData): TreasuryCaps {
132
+ if (content.dataType !== "moveObject") {
133
+ throw new Error("not an object");
134
+ }
135
+ if (!isTreasuryCaps(content.type)) {
136
+ throw new Error(`object at ${(content.fields as any).id} is not a TreasuryCaps object`);
137
+ }
138
+ return TreasuryCaps.fromFieldsWithTypes(content);
139
+ }
140
+
141
+ static async fetch(client: SuiClient, id: string): Promise<TreasuryCaps> {
142
+ const res = await client.getObject({ id, options: { showBcs: true } });
143
+ if (res.error) {
144
+ throw new Error(`error fetching TreasuryCaps object at id ${id}: ${res.error.code}`);
145
+ }
146
+ if (res.data?.bcs?.dataType !== "moveObject" || !isTreasuryCaps(res.data.bcs.type)) {
147
+ throw new Error(`object at id ${id} is not a TreasuryCaps object`);
148
+ }
149
+ return TreasuryCaps.fromBcs(fromB64(res.data.bcs.bcsBytes));
150
+ }
151
+ }
@@ -0,0 +1,221 @@
1
+ import { SuiClient } from "@mysten/sui.js/client";
2
+ import {
3
+ createTradingOrder as _createTradingOrder,
4
+ cancelTradingOrder as _cancelTradingOrder,
5
+ increaseCollateral as _increaseCollateral,
6
+ releaseCollateral as _releaseCollateral,
7
+ } from "../trading/functions";
8
+ import { TransactionBlock } from "@mysten/sui.js/transactions";
9
+ import { CLOCK } from "src/constants";
10
+ import { PythClient, createPythClient, updatePyth } from "src/utils/pyth/pythClient";
11
+ import { priceInfoObjectIds, pythStateId } from "src/utils/pyth/constant";
12
+ import { tokenType, TOKEN, typeArgToToken } from "src/constants/token";
13
+ import { NETWORK } from "..";
14
+ import { Position, TradingOrder } from "../position/structs";
15
+
16
+ export async function createTradingOrder(
17
+ config: {
18
+ REGISTRY: {
19
+ MARKET_REGISTRY: string;
20
+ USER: string;
21
+ LEADERBOARD: string;
22
+ LP_POOL_REGISTRY: string;
23
+ };
24
+ OBJECT: {
25
+ TYPUS_VERSION: string;
26
+ TYPUS_PERP_VERSION: string;
27
+ };
28
+ },
29
+ input: {
30
+ pythClient: PythClient;
31
+ tx: TransactionBlock;
32
+ coins: string[];
33
+ cToken: TOKEN;
34
+ amount: string;
35
+ tradingToken: TOKEN;
36
+ size: string;
37
+ triggerPrice: string;
38
+ isLong: boolean;
39
+ isStopOrder: boolean;
40
+ reduceOnly: boolean;
41
+ linkedPositionId: string | null;
42
+ }
43
+ ): Promise<TransactionBlock> {
44
+ // INPUTS
45
+ const TOKEN = input.cToken;
46
+ const BASE_TOKEN = input.tradingToken;
47
+
48
+ await updatePyth(input.pythClient, input.tx, [TOKEN, BASE_TOKEN]);
49
+ const cToken = tokenType[NETWORK][TOKEN];
50
+ const baseToken = tokenType[NETWORK][BASE_TOKEN];
51
+
52
+ var coin;
53
+
54
+ if (TOKEN == "SUI") {
55
+ [coin] = input.tx.splitCoins(input.tx.gas, [input.amount]);
56
+ } else {
57
+ const destination = input.coins.pop()!;
58
+
59
+ if (input.coins.length > 0) {
60
+ input.tx.mergeCoins(destination, input.coins);
61
+ }
62
+
63
+ [coin] = input.tx.splitCoins(destination, [input.amount]);
64
+ }
65
+
66
+ _createTradingOrder(input.tx, [cToken, baseToken], {
67
+ version: config.OBJECT.TYPUS_PERP_VERSION,
68
+ registry: config.REGISTRY.MARKET_REGISTRY,
69
+ poolRegistry: config.REGISTRY.LP_POOL_REGISTRY,
70
+ marketIndex: BigInt(0),
71
+ poolIndex: BigInt(0),
72
+ pythState: pythStateId[NETWORK],
73
+ oracleCToken: priceInfoObjectIds[NETWORK][TOKEN],
74
+ oracleTradingSymbol: priceInfoObjectIds[NETWORK][BASE_TOKEN],
75
+ clock: CLOCK,
76
+ typusEcosystemVersion: config.OBJECT.TYPUS_VERSION,
77
+ typusUserRegistry: config.REGISTRY.USER,
78
+ typusLeaderboardRegistry: config.REGISTRY.LEADERBOARD,
79
+ collateral: coin,
80
+ size: BigInt(input.size),
81
+ triggerPrice: BigInt(input.triggerPrice),
82
+ isLong: input.isLong,
83
+ isStopOrder: input.isStopOrder,
84
+ reduceOnly: input.reduceOnly,
85
+ linkedPositionId: input.linkedPositionId ? BigInt(input.linkedPositionId) : null,
86
+ });
87
+
88
+ return input.tx;
89
+ }
90
+
91
+ export async function cancelTradingOrder(
92
+ config: {
93
+ REGISTRY: {
94
+ MARKET_REGISTRY: string;
95
+ };
96
+ OBJECT: {
97
+ TYPUS_PERP_VERSION: string;
98
+ };
99
+ },
100
+ input: {
101
+ tx: TransactionBlock;
102
+ order: TradingOrder;
103
+ user: string;
104
+ }
105
+ ): Promise<TransactionBlock> {
106
+ const cToken = "0x" + input.order.collateralToken.name;
107
+ const BASE_TOKEN = "0x" + input.order.symbol.baseToken.name;
108
+
109
+ const coin = _cancelTradingOrder(input.tx, [cToken, BASE_TOKEN], {
110
+ version: config.OBJECT.TYPUS_PERP_VERSION,
111
+ registry: config.REGISTRY.MARKET_REGISTRY,
112
+ marketIndex: BigInt(0),
113
+ orderId: input.order.orderId,
114
+ triggerPrice: input.order.triggerPrice,
115
+ });
116
+
117
+ input.tx.transferObjects([coin], input.user);
118
+
119
+ return input.tx;
120
+ }
121
+
122
+ export async function increaseCollateral(
123
+ config: {
124
+ REGISTRY: {
125
+ MARKET_REGISTRY: string;
126
+ LP_POOL_REGISTRY: string;
127
+ };
128
+ OBJECT: {
129
+ TYPUS_PERP_VERSION: string;
130
+ };
131
+ },
132
+ input: {
133
+ pythClient: PythClient;
134
+ tx: TransactionBlock;
135
+ coins: string[];
136
+ amount: string;
137
+ position: Position;
138
+ }
139
+ ): Promise<TransactionBlock> {
140
+ // parse from Position
141
+ const TOKEN = typeArgToToken(input.position.collateralToken.name);
142
+ const BASE_TOKEN = typeArgToToken(input.position.symbol.baseToken.name);
143
+
144
+ await updatePyth(input.pythClient, input.tx, [TOKEN, BASE_TOKEN]);
145
+ const cToken = tokenType[NETWORK][TOKEN];
146
+ const baseToken = tokenType[NETWORK][BASE_TOKEN];
147
+
148
+ var coin;
149
+
150
+ if (TOKEN == "SUI") {
151
+ [coin] = input.tx.splitCoins(input.tx.gas, [input.amount]);
152
+ } else {
153
+ const destination = input.coins.pop()!;
154
+
155
+ if (input.coins.length > 0) {
156
+ input.tx.mergeCoins(destination, input.coins);
157
+ }
158
+
159
+ [coin] = input.tx.splitCoins(destination, [input.amount]);
160
+ }
161
+
162
+ _increaseCollateral(input.tx, [cToken, baseToken], {
163
+ version: config.OBJECT.TYPUS_PERP_VERSION,
164
+ registry: config.REGISTRY.MARKET_REGISTRY,
165
+ poolRegistry: config.REGISTRY.LP_POOL_REGISTRY,
166
+ marketIndex: BigInt(0),
167
+ poolIndex: BigInt(0),
168
+ pythState: pythStateId[NETWORK],
169
+ oracleCToken: priceInfoObjectIds[NETWORK][TOKEN],
170
+ oracleTradingSymbol: priceInfoObjectIds[NETWORK][BASE_TOKEN],
171
+ clock: CLOCK,
172
+ positionId: BigInt(input.position.positionId),
173
+ collateral: coin,
174
+ });
175
+
176
+ return input.tx;
177
+ }
178
+
179
+ export async function releaseCollateral(
180
+ config: {
181
+ REGISTRY: {
182
+ MARKET_REGISTRY: string;
183
+ LP_POOL_REGISTRY: string;
184
+ };
185
+ OBJECT: {
186
+ TYPUS_PERP_VERSION: string;
187
+ };
188
+ },
189
+ input: {
190
+ pythClient: PythClient;
191
+ tx: TransactionBlock;
192
+ position: Position;
193
+ amount: string;
194
+ }
195
+ ): Promise<TransactionBlock> {
196
+ // parse from Position
197
+ const TOKEN = typeArgToToken(input.position.collateralToken.name);
198
+ const BASE_TOKEN = typeArgToToken(input.position.symbol.baseToken.name);
199
+
200
+ await updatePyth(input.pythClient, input.tx, [TOKEN, BASE_TOKEN]);
201
+ const cToken = tokenType[NETWORK][TOKEN];
202
+ const baseToken = tokenType[NETWORK][BASE_TOKEN];
203
+
204
+ const coin = _releaseCollateral(input.tx, [cToken, baseToken], {
205
+ version: config.OBJECT.TYPUS_PERP_VERSION,
206
+ registry: config.REGISTRY.MARKET_REGISTRY,
207
+ poolRegistry: config.REGISTRY.LP_POOL_REGISTRY,
208
+ marketIndex: BigInt(0),
209
+ poolIndex: BigInt(0),
210
+ pythState: pythStateId[NETWORK],
211
+ oracleCToken: priceInfoObjectIds[NETWORK][TOKEN],
212
+ oracleTradingSymbol: priceInfoObjectIds[NETWORK][BASE_TOKEN],
213
+ clock: CLOCK,
214
+ positionId: BigInt(input.position.positionId),
215
+ releaseAmount: BigInt(input.amount),
216
+ });
217
+
218
+ input.tx.transferObjects([coin], input.position.user);
219
+
220
+ return input.tx;
221
+ }
@@ -0,0 +1,176 @@
1
+ import {
2
+ createTradingOrder as _createTradingOrder,
3
+ cancelTradingOrder as _cancelTradingOrder,
4
+ increaseCollateral as _increaseCollateral,
5
+ releaseCollateral as _releaseCollateral,
6
+ createTradingOrderWithBidReceipt as _createTradingOrderWithBidReceipt,
7
+ reduceOptionCollateralPositionSize as _reduceOptionCollateralPositionSize,
8
+ } from "../trading/functions";
9
+ import { TransactionBlock } from "@mysten/sui.js/transactions";
10
+ import { CLOCK } from "src/constants";
11
+ import { PythClient, createPythClient, updatePyth, updateOracleWithPyth } from "src/utils/pyth/pythClient";
12
+ import { priceInfoObjectIds, pythStateId } from "src/utils/pyth/constant";
13
+ import { tokenType, TOKEN, typeArgToToken } from "src/constants/token";
14
+ import { NETWORK } from "..";
15
+ import { Position, TradingOrder } from "../position/structs";
16
+ import { getSplitBidReceiptTx } from "src/typus-dov-single-v2/entry/user-entry";
17
+
18
+ export async function createTradingOrderWithBidReceipt(
19
+ config: {
20
+ PACKAGE_ORIGIN: { FRAMEWORK: string };
21
+ PACKAGE: {
22
+ DOV_SINGLE: string;
23
+ ORACLE: string;
24
+ };
25
+ REGISTRY: {
26
+ DOV_SINGLE: string;
27
+ MARKET_REGISTRY: string;
28
+ USER: string;
29
+ LEADERBOARD: string;
30
+ LP_POOL_REGISTRY: string;
31
+ };
32
+ OBJECT: {
33
+ TYPUS_VERSION: string;
34
+ TYPUS_PERP_VERSION: string;
35
+ };
36
+ ORACLE: {};
37
+ },
38
+ input: {
39
+ pythClient: PythClient;
40
+ tx: TransactionBlock;
41
+ cToken: TOKEN;
42
+ tradingToken: TOKEN;
43
+ isLong: boolean;
44
+ user: string;
45
+ index: string;
46
+ bToken: string;
47
+ bidReceipt: string;
48
+ share: string | null;
49
+ }
50
+ ): Promise<TransactionBlock> {
51
+ // INPUTS
52
+ const TOKEN = input.cToken;
53
+ const BASE_TOKEN = input.tradingToken;
54
+
55
+ await updatePyth(input.pythClient, input.tx, [TOKEN, BASE_TOKEN]);
56
+ const cToken = tokenType[NETWORK][TOKEN];
57
+ const bToken = tokenType[NETWORK][input.bToken];
58
+ const baseToken = tokenType[NETWORK][BASE_TOKEN];
59
+
60
+ updateOracleWithPyth(input.pythClient, input.tx, config.PACKAGE.ORACLE, config.ORACLE[BASE_TOKEN], BASE_TOKEN, "USDC");
61
+
62
+ // split bid receipt
63
+ var collateralBidReceipt;
64
+ if (input.share) {
65
+ collateralBidReceipt = getSplitBidReceiptTx({
66
+ tx: input.tx,
67
+ typusFrameworkOriginPackageId: config.PACKAGE_ORIGIN.FRAMEWORK,
68
+ typusDovSinglePackageId: config.PACKAGE.DOV_SINGLE,
69
+ typusDovSingleRegistry: config.REGISTRY.DOV_SINGLE,
70
+ index: input.index,
71
+ receipts: [input.bidReceipt],
72
+ share: input.share,
73
+ recipient: input.user,
74
+ });
75
+ } else {
76
+ collateralBidReceipt = input.bidReceipt;
77
+ }
78
+
79
+ _createTradingOrderWithBidReceipt(input.tx, [cToken, bToken, baseToken], {
80
+ version: config.OBJECT.TYPUS_PERP_VERSION,
81
+ registry: config.REGISTRY.MARKET_REGISTRY,
82
+ poolRegistry: config.REGISTRY.LP_POOL_REGISTRY,
83
+ marketIndex: BigInt(0),
84
+ poolIndex: BigInt(0),
85
+ pythState: pythStateId[NETWORK],
86
+ oracleCToken: priceInfoObjectIds[NETWORK][TOKEN],
87
+ oracleTradingSymbol: priceInfoObjectIds[NETWORK][BASE_TOKEN],
88
+ clock: CLOCK,
89
+ typusEcosystemVersion: config.OBJECT.TYPUS_VERSION,
90
+ typusUserRegistry: config.REGISTRY.USER,
91
+ typusLeaderboardRegistry: config.REGISTRY.LEADERBOARD,
92
+ isLong: input.isLong,
93
+ dovRegistry: config.REGISTRY.DOV_SINGLE,
94
+ typusOracle: config.ORACLE[BASE_TOKEN],
95
+ collateralBidReceipt,
96
+ user: input.user,
97
+ });
98
+
99
+ return input.tx;
100
+ }
101
+
102
+ export async function reduceOptionCollateralPositionSize(
103
+ config: {
104
+ PACKAGE_ORIGIN: { FRAMEWORK: string };
105
+ PACKAGE: {
106
+ DOV_SINGLE: string;
107
+ ORACLE: string;
108
+ };
109
+ REGISTRY: {
110
+ DOV_SINGLE: string;
111
+ MARKET_REGISTRY: string;
112
+ USER: string;
113
+ LEADERBOARD: string;
114
+ LP_POOL_REGISTRY: string;
115
+ };
116
+ OBJECT: {
117
+ TYPUS_VERSION: string;
118
+ TYPUS_PERP_VERSION: string;
119
+ };
120
+ ORACLE: {};
121
+ },
122
+ input: {
123
+ pythClient: PythClient;
124
+ tx: TransactionBlock;
125
+ position: Position;
126
+ size: string | null;
127
+ }
128
+ ): Promise<TransactionBlock> {
129
+ // const TOKEN = input.cToken;
130
+ // const BASE_TOKEN = input.tradingToken;
131
+
132
+ // await updatePyth(input.pythClient, input.tx, [TOKEN, BASE_TOKEN]);
133
+ // const cToken = tokenType[NETWORK][TOKEN];
134
+ // const bToken = tokenType[NETWORK][input.bToken];
135
+ // const baseToken = tokenType[NETWORK][BASE_TOKEN];
136
+
137
+ // updateOracleWithPyth(input.pythClient, input.tx, config.PACKAGE.ORACLE, config.ORACLE[BASE_TOKEN], BASE_TOKEN, "USDC");
138
+
139
+ // // split bid receipt
140
+ // var collateralBidReceipt;
141
+ // if (input.share) {
142
+ // collateralBidReceipt = getSplitBidReceiptTx({
143
+ // tx: input.tx,
144
+ // typusFrameworkOriginPackageId: config.PACKAGE_ORIGIN.FRAMEWORK,
145
+ // typusDovSinglePackageId: config.PACKAGE.DOV_SINGLE,
146
+ // typusDovSingleRegistry: config.REGISTRY.DOV_SINGLE,
147
+ // index: input.index,
148
+ // receipts: [input.bidReceipt],
149
+ // share: input.share,
150
+ // recipient: input.user,
151
+ // });
152
+ // } else {
153
+ // collateralBidReceipt = input.bidReceipt;
154
+ // }
155
+
156
+ // _reduceOptionCollateralPositionSize(input.tx, [cToken, bToken, baseToken], {
157
+ // version: config.OBJECT.TYPUS_PERP_VERSION,
158
+ // registry: config.REGISTRY.MARKET_REGISTRY,
159
+ // poolRegistry: config.REGISTRY.LP_POOL_REGISTRY,
160
+ // marketIndex: BigInt(0),
161
+ // poolIndex: BigInt(0),
162
+ // pythState: pythStateId[NETWORK],
163
+ // oracleCToken: priceInfoObjectIds[NETWORK][TOKEN],
164
+ // oracleTradingSymbol: priceInfoObjectIds[NETWORK][BASE_TOKEN],
165
+ // clock: CLOCK,
166
+ // typusEcosystemVersion: config.OBJECT.TYPUS_VERSION,
167
+ // typusUserRegistry: config.REGISTRY.USER,
168
+ // typusLeaderboardRegistry: config.REGISTRY.LEADERBOARD,
169
+ // dovRegistry: config.REGISTRY.DOV_SINGLE,
170
+ // typusOracle: config.ORACLE[BASE_TOKEN],
171
+ // positionId: BigInt(123),
172
+ // orderSize: null,
173
+ // });
174
+
175
+ return input.tx;
176
+ }