@suilend/sdk 1.0.9 → 1.1.1

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 (288) hide show
  1. package/core/client.d.ts +58 -52
  2. package/core/client.js +186 -122
  3. package/core/parsers/apiReserveAssetDataEvent.js +1 -1
  4. package/core/parsers/lendingMarket.d.ts +2 -2
  5. package/core/parsers/lendingMarket.js +13 -1
  6. package/core/parsers/obligation.d.ts +3 -2
  7. package/core/parsers/obligation.js +2 -1
  8. package/core/parsers/reserve.d.ts +3 -3
  9. package/core/parsers/reserve.js +1 -1
  10. package/core/types.d.ts +65 -60
  11. package/core/types.js +7 -5
  12. package/core/utils/events.d.ts +2 -2
  13. package/core/utils/simulate.d.ts +1 -1
  14. package/core/utils/simulate.js +3 -3
  15. package/core/utils.d.ts +3 -1
  16. package/core/utils.js +12 -2
  17. package/mainnet/_generated/_dependencies/source/0x1/ascii/structs.d.ts +16 -6
  18. package/mainnet/_generated/_dependencies/source/0x1/ascii/structs.js +43 -7
  19. package/mainnet/_generated/_dependencies/source/0x1/index.d.ts +1 -0
  20. package/mainnet/_generated/_dependencies/source/0x1/index.js +2 -1
  21. package/mainnet/_generated/_dependencies/source/0x1/option/structs.d.ts +10 -4
  22. package/mainnet/_generated/_dependencies/source/0x1/option/structs.js +32 -4
  23. package/mainnet/_generated/_dependencies/source/0x1/type-name/structs.d.ts +8 -3
  24. package/mainnet/_generated/_dependencies/source/0x1/type-name/structs.js +23 -4
  25. package/mainnet/_generated/_dependencies/source/0x2/bag/structs.d.ts +8 -3
  26. package/mainnet/_generated/_dependencies/source/0x2/bag/structs.js +23 -4
  27. package/mainnet/_generated/_dependencies/source/0x2/balance/structs.d.ts +14 -5
  28. package/mainnet/_generated/_dependencies/source/0x2/balance/structs.js +61 -7
  29. package/mainnet/_generated/_dependencies/source/0x2/index.d.ts +1 -0
  30. package/mainnet/_generated/_dependencies/source/0x2/index.js +2 -1
  31. package/mainnet/_generated/_dependencies/source/0x2/object/structs.d.ts +14 -5
  32. package/mainnet/_generated/_dependencies/source/0x2/object/structs.js +45 -9
  33. package/mainnet/_generated/_dependencies/source/0x2/object-table/structs.d.ts +8 -3
  34. package/mainnet/_generated/_dependencies/source/0x2/object-table/structs.js +34 -4
  35. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/index.d.ts +2 -0
  36. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/index.js +3 -1
  37. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs.d.ts +10 -4
  38. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs.js +24 -5
  39. package/mainnet/_generated/_framework/reified.d.ts +28 -20
  40. package/mainnet/_generated/_framework/reified.js +11 -34
  41. package/mainnet/_generated/_framework/util.d.ts +26 -38
  42. package/mainnet/_generated/_framework/util.js +142 -56
  43. package/mainnet/_generated/_framework/vector.d.ts +35 -0
  44. package/mainnet/_generated/_framework/vector.js +77 -0
  45. package/mainnet/_generated/suilend/cell/structs.d.ts +8 -3
  46. package/mainnet/_generated/suilend/cell/structs.js +33 -5
  47. package/mainnet/_generated/suilend/decimal/structs.d.ts +8 -3
  48. package/mainnet/_generated/suilend/decimal/structs.js +23 -5
  49. package/mainnet/_generated/suilend/index.d.ts +2 -1
  50. package/mainnet/_generated/suilend/index.js +3 -2
  51. package/mainnet/_generated/suilend/lending-market/functions.d.ts +106 -107
  52. package/mainnet/_generated/suilend/lending-market/functions.js +191 -189
  53. package/mainnet/_generated/suilend/lending-market/structs.d.ts +88 -30
  54. package/mainnet/_generated/suilend/lending-market/structs.js +388 -110
  55. package/mainnet/_generated/suilend/lending-market-registry/functions.d.ts +3 -4
  56. package/mainnet/_generated/suilend/lending-market-registry/functions.js +5 -5
  57. package/mainnet/_generated/suilend/liquidity-mining/structs.d.ts +34 -12
  58. package/mainnet/_generated/suilend/liquidity-mining/structs.js +117 -22
  59. package/mainnet/_generated/suilend/obligation/structs.d.ts +40 -14
  60. package/mainnet/_generated/suilend/obligation/structs.js +144 -33
  61. package/mainnet/_generated/suilend/rate-limiter/functions.d.ts +13 -14
  62. package/mainnet/_generated/suilend/rate-limiter/functions.js +21 -21
  63. package/mainnet/_generated/suilend/rate-limiter/structs.d.ts +14 -5
  64. package/mainnet/_generated/suilend/rate-limiter/structs.js +44 -9
  65. package/mainnet/_generated/suilend/reserve/structs.d.ts +38 -13
  66. package/mainnet/_generated/suilend/reserve/structs.js +164 -30
  67. package/mainnet/_generated/suilend/reserve-config/functions.d.ts +65 -65
  68. package/mainnet/_generated/suilend/reserve-config/functions.js +146 -146
  69. package/mainnet/_generated/suilend/reserve-config/structs.d.ts +16 -6
  70. package/mainnet/_generated/suilend/reserve-config/structs.js +45 -9
  71. package/mainnet/client.d.ts +5 -6
  72. package/mainnet/client.js +4 -5
  73. package/mainnet/parsers/lendingMarket.d.ts +2 -2
  74. package/mainnet/parsers/reserve.d.ts +3 -3
  75. package/mainnet/utils/index.d.ts +0 -1
  76. package/mainnet/utils/index.js +0 -1
  77. package/mainnet/utils/obligation.d.ts +1 -1
  78. package/mainnet/utils/obligation.js +3 -3
  79. package/mainnet/utils/simulate.d.ts +1 -1
  80. package/package.json +1 -1
  81. package/core/utils/utils.d.ts +0 -61
  82. package/core/utils/utils.js +0 -157
  83. package/mainnet/_generated/_dependencies/source/0x1/bit-vector/structs.d.ts +0 -50
  84. package/mainnet/_generated/_dependencies/source/0x1/bit-vector/structs.js +0 -154
  85. package/mainnet/_generated/_dependencies/source/0x1/fixed-point32/structs.d.ts +0 -41
  86. package/mainnet/_generated/_dependencies/source/0x1/fixed-point32/structs.js +0 -124
  87. package/mainnet/_generated/_dependencies/source/0x1/init.d.ts +0 -2
  88. package/mainnet/_generated/_dependencies/source/0x1/init.js +0 -42
  89. package/mainnet/_generated/_dependencies/source/0x1/string/structs.d.ts +0 -44
  90. package/mainnet/_generated/_dependencies/source/0x1/string/structs.js +0 -148
  91. package/mainnet/_generated/_dependencies/source/0x2/authenticator-state/structs.d.ts +0 -442
  92. package/mainnet/_generated/_dependencies/source/0x2/authenticator-state/structs.js +0 -633
  93. package/mainnet/_generated/_dependencies/source/0x2/bcs/structs.d.ts +0 -44
  94. package/mainnet/_generated/_dependencies/source/0x2/bcs/structs.js +0 -147
  95. package/mainnet/_generated/_dependencies/source/0x2/bls12381/structs.d.ts +0 -155
  96. package/mainnet/_generated/_dependencies/source/0x2/bls12381/structs.js +0 -448
  97. package/mainnet/_generated/_dependencies/source/0x2/borrow/structs.d.ts +0 -104
  98. package/mainnet/_generated/_dependencies/source/0x2/borrow/structs.js +0 -260
  99. package/mainnet/_generated/_dependencies/source/0x2/clock/structs.d.ts +0 -56
  100. package/mainnet/_generated/_dependencies/source/0x2/clock/structs.js +0 -131
  101. package/mainnet/_generated/_dependencies/source/0x2/coin/structs.d.ts +0 -379
  102. package/mainnet/_generated/_dependencies/source/0x2/coin/structs.js +0 -741
  103. package/mainnet/_generated/_dependencies/source/0x2/deny-list/structs.d.ts +0 -178
  104. package/mainnet/_generated/_dependencies/source/0x2/deny-list/structs.js +0 -279
  105. package/mainnet/_generated/_dependencies/source/0x2/display/structs.d.ts +0 -228
  106. package/mainnet/_generated/_dependencies/source/0x2/display/structs.js +0 -375
  107. package/mainnet/_generated/_dependencies/source/0x2/dynamic-field/structs.d.ts +0 -63
  108. package/mainnet/_generated/_dependencies/source/0x2/dynamic-field/structs.js +0 -139
  109. package/mainnet/_generated/_dependencies/source/0x2/dynamic-object-field/structs.d.ts +0 -42
  110. package/mainnet/_generated/_dependencies/source/0x2/dynamic-object-field/structs.js +0 -127
  111. package/mainnet/_generated/_dependencies/source/0x2/groth16/structs.d.ts +0 -186
  112. package/mainnet/_generated/_dependencies/source/0x2/groth16/structs.js +0 -489
  113. package/mainnet/_generated/_dependencies/source/0x2/group-ops/structs.d.ts +0 -44
  114. package/mainnet/_generated/_dependencies/source/0x2/group-ops/structs.js +0 -150
  115. package/mainnet/_generated/_dependencies/source/0x2/init.d.ts +0 -2
  116. package/mainnet/_generated/_dependencies/source/0x2/init.js +0 -151
  117. package/mainnet/_generated/_dependencies/source/0x2/kiosk/structs.d.ts +0 -565
  118. package/mainnet/_generated/_dependencies/source/0x2/kiosk/structs.js +0 -1235
  119. package/mainnet/_generated/_dependencies/source/0x2/kiosk-extension/structs.d.ts +0 -112
  120. package/mainnet/_generated/_dependencies/source/0x2/kiosk-extension/structs.js +0 -248
  121. package/mainnet/_generated/_dependencies/source/0x2/linked-table/structs.d.ts +0 -144
  122. package/mainnet/_generated/_dependencies/source/0x2/linked-table/structs.js +0 -269
  123. package/mainnet/_generated/_dependencies/source/0x2/object-bag/structs.d.ts +0 -56
  124. package/mainnet/_generated/_dependencies/source/0x2/object-bag/structs.js +0 -131
  125. package/mainnet/_generated/_dependencies/source/0x2/package/structs.d.ts +0 -262
  126. package/mainnet/_generated/_dependencies/source/0x2/package/structs.js +0 -531
  127. package/mainnet/_generated/_dependencies/source/0x2/priority-queue/structs.d.ts +0 -101
  128. package/mainnet/_generated/_dependencies/source/0x2/priority-queue/structs.js +0 -269
  129. package/mainnet/_generated/_dependencies/source/0x2/random/structs.d.ts +0 -190
  130. package/mainnet/_generated/_dependencies/source/0x2/random/structs.js +0 -404
  131. package/mainnet/_generated/_dependencies/source/0x2/sui/structs.d.ts +0 -41
  132. package/mainnet/_generated/_dependencies/source/0x2/sui/structs.js +0 -123
  133. package/mainnet/_generated/_dependencies/source/0x2/table/structs.d.ts +0 -56
  134. package/mainnet/_generated/_dependencies/source/0x2/table/structs.js +0 -133
  135. package/mainnet/_generated/_dependencies/source/0x2/table-vec/structs.d.ts +0 -63
  136. package/mainnet/_generated/_dependencies/source/0x2/table-vec/structs.js +0 -151
  137. package/mainnet/_generated/_dependencies/source/0x2/token/structs.d.ts +0 -424
  138. package/mainnet/_generated/_dependencies/source/0x2/token/structs.js +0 -758
  139. package/mainnet/_generated/_dependencies/source/0x2/transfer/structs.d.ts +0 -52
  140. package/mainnet/_generated/_dependencies/source/0x2/transfer/structs.js +0 -133
  141. package/mainnet/_generated/_dependencies/source/0x2/transfer-policy/structs.d.ts +0 -345
  142. package/mainnet/_generated/_dependencies/source/0x2/transfer-policy/structs.js +0 -746
  143. package/mainnet/_generated/_dependencies/source/0x2/tx-context/structs.d.ts +0 -68
  144. package/mainnet/_generated/_dependencies/source/0x2/tx-context/structs.js +0 -177
  145. package/mainnet/_generated/_dependencies/source/0x2/url/structs.d.ts +0 -48
  146. package/mainnet/_generated/_dependencies/source/0x2/url/structs.js +0 -124
  147. package/mainnet/_generated/_dependencies/source/0x2/vec-map/structs.d.ts +0 -101
  148. package/mainnet/_generated/_dependencies/source/0x2/vec-map/structs.js +0 -267
  149. package/mainnet/_generated/_dependencies/source/0x2/vec-set/structs.d.ts +0 -45
  150. package/mainnet/_generated/_dependencies/source/0x2/vec-set/structs.js +0 -151
  151. package/mainnet/_generated/_dependencies/source/0x2/versioned/structs.d.ts +0 -104
  152. package/mainnet/_generated/_dependencies/source/0x2/versioned/structs.js +0 -246
  153. package/mainnet/_generated/_dependencies/source/0x2/zklogin-verified-id/structs.d.ts +0 -105
  154. package/mainnet/_generated/_dependencies/source/0x2/zklogin-verified-id/structs.js +0 -161
  155. package/mainnet/_generated/_dependencies/source/0x2/zklogin-verified-issuer/structs.d.ts +0 -69
  156. package/mainnet/_generated/_dependencies/source/0x2/zklogin-verified-issuer/structs.js +0 -143
  157. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/bytes20/structs.d.ts +0 -44
  158. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/bytes20/structs.js +0 -149
  159. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/bytes32/structs.d.ts +0 -44
  160. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/bytes32/structs.js +0 -149
  161. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/consumed-vaas/structs.d.ts +0 -72
  162. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/consumed-vaas/structs.js +0 -151
  163. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/cursor/structs.d.ts +0 -45
  164. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/cursor/structs.js +0 -151
  165. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/emitter/structs.d.ts +0 -140
  166. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/emitter/structs.js +0 -352
  167. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/external-address/structs.d.ts +0 -52
  168. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/external-address/structs.js +0 -126
  169. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/fee-collector/structs.d.ts +0 -58
  170. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/fee-collector/structs.js +0 -157
  171. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/governance-message/structs.d.ts +0 -158
  172. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/governance-message/structs.js +0 -299
  173. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/guardian/structs.d.ts +0 -52
  174. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/guardian/structs.js +0 -126
  175. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/guardian-set/structs.d.ts +0 -75
  176. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/guardian-set/structs.js +0 -162
  177. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/guardian-signature/structs.d.ts +0 -80
  178. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/guardian-signature/structs.js +0 -144
  179. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/index.d.ts +0 -2
  180. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/index.js +0 -5
  181. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/init.d.ts +0 -2
  182. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/init.js +0 -91
  183. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/migrate/structs.d.ts +0 -46
  184. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/migrate/structs.js +0 -126
  185. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/package-utils/structs.d.ts +0 -177
  186. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/package-utils/structs.js +0 -463
  187. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/publish-message/structs.d.ts +0 -141
  188. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/publish-message/structs.js +0 -308
  189. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/set/structs.d.ts +0 -101
  190. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/set/structs.js +0 -260
  191. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/set-fee/structs.d.ts +0 -79
  192. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/set-fee/structs.js +0 -235
  193. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/setup/structs.d.ts +0 -50
  194. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/setup/structs.js +0 -126
  195. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/state/structs.d.ts +0 -269
  196. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/state/structs.js +0 -314
  197. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/transfer-fee/structs.d.ts +0 -85
  198. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/transfer-fee/structs.js +0 -246
  199. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/update-guardian-set/structs.d.ts +0 -145
  200. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/update-guardian-set/structs.js +0 -376
  201. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/upgrade-contract/structs.d.ts +0 -143
  202. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/upgrade-contract/structs.js +0 -353
  203. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/vaa/structs.d.ts +0 -122
  204. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/vaa/structs.js +0 -198
  205. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/version-control/structs.d.ts +0 -79
  206. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/version-control/structs.js +0 -235
  207. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/batch-price-attestation/structs.d.ts +0 -279
  208. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/batch-price-attestation/structs.js +0 -302
  209. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/contract-upgrade/structs.d.ts +0 -105
  210. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/contract-upgrade/structs.js +0 -243
  211. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/data-source/structs.d.ts +0 -66
  212. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/data-source/structs.js +0 -132
  213. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/event/structs.d.ts +0 -200
  214. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/event/structs.js +0 -242
  215. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/governance/structs.d.ts +0 -67
  216. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/governance/structs.js +0 -162
  217. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/governance-action/structs.d.ts +0 -41
  218. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/governance-action/structs.js +0 -125
  219. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/governance-instruction/structs.d.ts +0 -71
  220. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/governance-instruction/structs.js +0 -168
  221. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/hot-potato-vector/structs.d.ts +0 -45
  222. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/hot-potato-vector/structs.js +0 -151
  223. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/i64/structs.d.ts +0 -47
  224. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/i64/structs.js +0 -130
  225. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/init.d.ts +0 -2
  226. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/init.js +0 -86
  227. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/migrate/structs.d.ts +0 -46
  228. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/migrate/structs.js +0 -126
  229. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price/structs.d.ts +0 -84
  230. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price/structs.js +0 -144
  231. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-feed/structs.d.ts +0 -153
  232. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-feed/structs.js +0 -139
  233. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-info/structs.d.ts +0 -351
  234. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-info/structs.js +0 -255
  235. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-status/structs.d.ts +0 -41
  236. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-status/structs.js +0 -125
  237. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set/structs.d.ts +0 -110
  238. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set/structs.js +0 -267
  239. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-data-sources/structs.d.ts +0 -75
  240. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-data-sources/structs.js +0 -150
  241. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-fee-recipient/structs.d.ts +0 -41
  242. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-fee-recipient/structs.js +0 -130
  243. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-governance-data-source/structs.d.ts +0 -72
  244. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-governance-data-source/structs.js +0 -138
  245. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-stale-price-threshold/structs.d.ts +0 -41
  246. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-stale-price-threshold/structs.js +0 -125
  247. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-update-fee/structs.d.ts +0 -47
  248. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-update-fee/structs.js +0 -131
  249. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/setup/structs.d.ts +0 -50
  250. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/setup/structs.js +0 -126
  251. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/state/structs.d.ts +0 -269
  252. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/state/structs.js +0 -396
  253. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/version-control/structs.d.ts +0 -117
  254. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/version-control/structs.js +0 -345
  255. package/mainnet/_generated/_framework/init-source.d.ts +0 -1
  256. package/mainnet/_generated/_framework/init-source.js +0 -45
  257. package/mainnet/_generated/_framework/loader.d.ts +0 -17
  258. package/mainnet/_generated/_framework/loader.js +0 -46
  259. package/mainnet/_generated/suilend/cell/functions.d.ts +0 -10
  260. package/mainnet/_generated/suilend/cell/functions.js +0 -37
  261. package/mainnet/_generated/suilend/decimal/functions.d.ts +0 -75
  262. package/mainnet/_generated/suilend/decimal/functions.js +0 -152
  263. package/mainnet/_generated/suilend/init.d.ts +0 -2
  264. package/mainnet/_generated/suilend/init.js +0 -79
  265. package/mainnet/_generated/suilend/launch/functions.d.ts +0 -3
  266. package/mainnet/_generated/suilend/launch/functions.js +0 -12
  267. package/mainnet/_generated/suilend/launch/structs.d.ts +0 -41
  268. package/mainnet/_generated/suilend/launch/structs.js +0 -125
  269. package/mainnet/_generated/suilend/lending-market-registry/structs.d.ts +0 -123
  270. package/mainnet/_generated/suilend/lending-market-registry/structs.js +0 -274
  271. package/mainnet/_generated/suilend/liquidity-mining/functions.d.ts +0 -68
  272. package/mainnet/_generated/suilend/liquidity-mining/functions.js +0 -149
  273. package/mainnet/_generated/suilend/obligation/functions.d.ts +0 -132
  274. package/mainnet/_generated/suilend/obligation/functions.js +0 -286
  275. package/mainnet/_generated/suilend/oracles/functions.d.ts +0 -8
  276. package/mainnet/_generated/suilend/oracles/functions.js +0 -19
  277. package/mainnet/_generated/suilend/reserve/functions.d.ts +0 -138
  278. package/mainnet/_generated/suilend/reserve/functions.js +0 -356
  279. package/mainnet/_generated/suilend/suilend/structs.d.ts +0 -41
  280. package/mainnet/_generated/suilend/suilend/structs.js +0 -125
  281. package/mainnet/utils/utils.d.ts +0 -1
  282. package/mainnet/utils/utils.js +0 -17
  283. package/pyth-sdk/SuiPriceServiceConnection.d.ts +0 -14
  284. package/pyth-sdk/SuiPriceServiceConnection.js +0 -32
  285. package/pyth-sdk/client.d.ts +0 -74
  286. package/pyth-sdk/client.js +0 -322
  287. package/pyth-sdk/index.d.ts +0 -4
  288. package/pyth-sdk/index.js +0 -10
package/core/client.js CHANGED
@@ -10,19 +10,19 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.SuilendClient = void 0;
13
- const bcs_1 = require("@mysten/bcs");
14
- const utils_1 = require("@mysten/sui.js/utils");
15
- const src_1 = require("../pyth-sdk");
13
+ const utils_1 = require("@mysten/sui/utils");
14
+ const pyth_sui_js_1 = require("@pythnetwork/pyth-sui-js");
16
15
  const types_1 = require("./types");
16
+ const utils_2 = require("./utils");
17
17
  const WORMHOLE_STATE_ID = "0xaeab97f96cf9877fee2883315d459552b2b921edc16d7ceac6eab944dd88919c";
18
18
  const PYTH_STATE_ID = "0x1f9310238ee9298fb703c3419030b35b22bb1cc37113e3bb5007c99aec79e5b8";
19
19
  const SUI_COINTYPE = "0x2::sui::SUI";
20
20
  class SuilendClient {
21
- constructor(lendingMarket, client, { phantom, PACKAGE_ID, PUBLISHED_AT, LendingMarket, Obligation, ObligationOwnerCap, createLendingMarket, createReserveConfig, updateReserveConfig, addReserve, addPoolReward, cancelPoolReward, closePoolReward, claimRewards, claimRewardsAndDeposit, createRateLimiterConfig, updateRateLimiterConfig, refreshReservePrice, depositLiquidityAndMintCtokens, depositCtokensIntoObligation, withdrawCtokens, borrow, repay, liquidate, migrate, }) {
21
+ constructor(lendingMarket, client, { phantom, PACKAGE_ID, PUBLISHED_AT, LendingMarket, Obligation, ObligationOwnerCap, createLendingMarket, createReserveConfig, updateReserveConfig, addReserve, addPoolReward, cancelPoolReward, closePoolReward, claimRewards, claimRewardsAndDeposit, createRateLimiterConfig, updateRateLimiterConfig, refreshReservePrice, depositLiquidityAndMintCtokens, depositCtokensIntoObligation, withdrawCtokens, borrow, repay, liquidate, migrate, claimFees, redeemCtokensAndWithdrawLiquidity, }) {
22
22
  this.lendingMarket = lendingMarket;
23
23
  this.client = client;
24
- this.pythClient = new src_1.SuiPythClient(client, PYTH_STATE_ID, WORMHOLE_STATE_ID);
25
- this.pythConnection = new src_1.SuiPriceServiceConnection("https://hermes.pyth.network");
24
+ this.pythClient = new pyth_sui_js_1.SuiPythClient(client, PYTH_STATE_ID, WORMHOLE_STATE_ID);
25
+ this.pythConnection = new pyth_sui_js_1.SuiPriceServiceConnection("https://hermes.pyth.network");
26
26
  this.phantom = phantom;
27
27
  this.PACKAGE_ID = PACKAGE_ID;
28
28
  this.PUBLISHED_AT = PUBLISHED_AT;
@@ -49,6 +49,9 @@ class SuilendClient {
49
49
  this.repayFunction = repay;
50
50
  this.liquidateFunction = liquidate;
51
51
  this.migrateFunction = migrate;
52
+ this.claimFeesFunction = claimFees;
53
+ this.redeemCtokensAndWithdrawLiquidityFunction =
54
+ redeemCtokensAndWithdrawLiquidity;
52
55
  }
53
56
  static initialize(lendingMarketId, lendingMarketType, client, deps) {
54
57
  return __awaiter(this, void 0, void 0, function* () {
@@ -72,10 +75,10 @@ class SuilendClient {
72
75
  return objs.data.length > 0;
73
76
  });
74
77
  }
75
- static createNewLendingMarket(registryId_1, lendingMarketType_1, txb_1, _a) {
76
- return __awaiter(this, arguments, void 0, function* (registryId, lendingMarketType, txb, { LendingMarket, createLendingMarket, }) {
77
- const [ownerCap, lendingMarket] = createLendingMarket(txb, lendingMarketType, txb.object(registryId));
78
- txb.moveCall({
78
+ static createNewLendingMarket(registryId_1, lendingMarketType_1, transaction_1, _a) {
79
+ return __awaiter(this, arguments, void 0, function* (registryId, lendingMarketType, transaction, { LendingMarket, createLendingMarket, }) {
80
+ const [ownerCap, lendingMarket] = createLendingMarket(transaction, lendingMarketType, transaction.object(registryId));
81
+ transaction.moveCall({
79
82
  target: `0x2::transfer::public_share_object`,
80
83
  typeArguments: [`${LendingMarket.$typeName}<${lendingMarketType}>}`],
81
84
  arguments: [lendingMarket],
@@ -104,7 +107,7 @@ class SuilendClient {
104
107
  var _a, _b, _c, _d;
105
108
  if (((_b = (_a = obj.data) === null || _a === void 0 ? void 0 : _a.bcs) === null || _b === void 0 ? void 0 : _b.dataType) !== "moveObject")
106
109
  throw new Error("Error: invalid data type");
107
- obligationOwnerCaps.push(ObligationOwnerCap.fromBcs(phantom(lendingMarketTypeArgs[0]), (0, bcs_1.fromB64)((_d = (_c = obj.data) === null || _c === void 0 ? void 0 : _c.bcs) === null || _d === void 0 ? void 0 : _d.bcsBytes)));
110
+ obligationOwnerCaps.push(ObligationOwnerCap.fromBcs(phantom(lendingMarketTypeArgs[0]), (0, utils_1.fromBase64)((_d = (_c = obj.data) === null || _c === void 0 ? void 0 : _c.bcs) === null || _d === void 0 ? void 0 : _d.bcsBytes)));
108
111
  });
109
112
  return obligationOwnerCaps;
110
113
  }
@@ -123,7 +126,7 @@ class SuilendClient {
123
126
  if (((_c = (_b = obligationData.data) === null || _b === void 0 ? void 0 : _b.bcs) === null || _c === void 0 ? void 0 : _c.dataType) !== "moveObject") {
124
127
  throw new Error("Error: invalid data type");
125
128
  }
126
- const obligation = Obligation.fromBcs(phantom(lendingMarketTypeArgs[0]), (0, bcs_1.fromB64)(obligationData.data.bcs.bcsBytes));
129
+ const obligation = Obligation.fromBcs(phantom(lendingMarketTypeArgs[0]), (0, utils_1.fromBase64)(obligationData.data.bcs.bcsBytes));
127
130
  return obligation;
128
131
  });
129
132
  }
@@ -150,20 +153,20 @@ class SuilendClient {
150
153
  return SuilendClient.getLendingMarketOwnerCapId(ownerId, this.lendingMarket.$typeArgs, this.client, { PACKAGE_ID: this.PACKAGE_ID });
151
154
  });
152
155
  }
153
- createReserve(lendingMarketOwnerCapId, txb, pythPriceId, coinType, createReserveConfigArgs) {
156
+ createReserve(lendingMarketOwnerCapId, transaction, pythPriceId, coinType, createReserveConfigArgs) {
154
157
  return __awaiter(this, void 0, void 0, function* () {
155
- const [config] = this.createReserveConfigFunction(txb, createReserveConfigArgs);
158
+ const [config] = this.createReserveConfigFunction(transaction, createReserveConfigArgs);
156
159
  const priceUpdateData = yield this.pythConnection.getPriceFeedsUpdateData([
157
160
  pythPriceId,
158
161
  ]);
159
- const priceInfoObjectIds = yield this.pythClient.updatePriceFeeds(txb, priceUpdateData, [pythPriceId]);
162
+ const priceInfoObjectIds = yield this.pythClient.updatePriceFeeds(transaction, priceUpdateData, [pythPriceId]);
160
163
  const coin_metadata = yield this.client.getCoinMetadata({
161
164
  coinType: coinType,
162
165
  });
163
166
  if (coin_metadata === null) {
164
167
  throw new Error("Error: coin metadata not found");
165
168
  }
166
- return this.addReserveFunction(txb, [this.lendingMarket.$typeArgs[0], coinType], {
169
+ return this.addReserveFunction(transaction, [this.lendingMarket.$typeArgs[0], coinType], {
167
170
  lendingMarketOwnerCap: lendingMarketOwnerCapId,
168
171
  lendingMarket: this.lendingMarket.id,
169
172
  priceInfo: priceInfoObjectIds[0],
@@ -173,19 +176,19 @@ class SuilendClient {
173
176
  });
174
177
  });
175
178
  }
176
- addReward(ownerId, lendingMarketOwnerCapId, reserveArrayIndex, isDepositReward, rewardCoinType, rewardValue, startTimeMs, endTimeMs, txb) {
179
+ addReward(ownerId, lendingMarketOwnerCapId, reserveArrayIndex, isDepositReward, rewardCoinType, rewardValue, startTimeMs, endTimeMs, transaction) {
177
180
  return __awaiter(this, void 0, void 0, function* () {
178
181
  const isSui = (0, utils_1.normalizeStructTag)(rewardCoinType) === (0, utils_1.normalizeStructTag)(SUI_COINTYPE);
179
182
  const coins = (yield this.client.getCoins({
180
183
  owner: ownerId,
181
184
  coinType: rewardCoinType,
182
185
  })).data;
183
- const mergedCoin = coins[0];
186
+ const mergeCoin = coins[0];
184
187
  if (coins.length > 1 && !isSui) {
185
- txb.mergeCoins(txb.object(mergedCoin.coinObjectId), coins.map((c) => txb.object(c.coinObjectId)).slice(1));
188
+ transaction.mergeCoins(transaction.object(mergeCoin.coinObjectId), coins.map((c) => transaction.object(c.coinObjectId)).slice(1));
186
189
  }
187
- const [rewardCoin] = txb.splitCoins(isSui ? txb.gas : txb.object(mergedCoin.coinObjectId), [txb.pure(rewardValue)]);
188
- return this.addPoolRewardFunction(txb, [this.lendingMarket.$typeArgs[0], rewardCoinType], {
190
+ const [rewardCoin] = transaction.splitCoins(isSui ? transaction.gas : transaction.object(mergeCoin.coinObjectId), [rewardValue]);
191
+ return this.addPoolRewardFunction(transaction, [this.lendingMarket.$typeArgs[0], rewardCoinType], {
189
192
  lendingMarketOwnerCap: lendingMarketOwnerCapId,
190
193
  lendingMarket: this.lendingMarket.id,
191
194
  reserveArrayIndex,
@@ -197,8 +200,8 @@ class SuilendClient {
197
200
  });
198
201
  });
199
202
  }
200
- cancelReward(lendingMarketOwnerCapId, reserveArrayIndex, isDepositReward, rewardIndex, rewardCoinType, txb) {
201
- return this.cancelPoolRewardFunction(txb, [this.lendingMarket.$typeArgs[0], rewardCoinType], {
203
+ cancelReward(lendingMarketOwnerCapId, reserveArrayIndex, isDepositReward, rewardIndex, rewardCoinType, transaction) {
204
+ return this.cancelPoolRewardFunction(transaction, [this.lendingMarket.$typeArgs[0], rewardCoinType], {
202
205
  lendingMarketOwnerCap: lendingMarketOwnerCapId,
203
206
  lendingMarket: this.lendingMarket.id,
204
207
  reserveArrayIndex,
@@ -207,8 +210,8 @@ class SuilendClient {
207
210
  clock: utils_1.SUI_CLOCK_OBJECT_ID,
208
211
  });
209
212
  }
210
- closeReward(lendingMarketOwnerCapId, reserveArrayIndex, isDepositReward, rewardIndex, rewardCoinType, txb) {
211
- return this.closePoolRewardFunction(txb, [this.lendingMarket.$typeArgs[0], rewardCoinType], {
213
+ closeReward(lendingMarketOwnerCapId, reserveArrayIndex, isDepositReward, rewardIndex, rewardCoinType, transaction) {
214
+ return this.closePoolRewardFunction(transaction, [this.lendingMarket.$typeArgs[0], rewardCoinType], {
212
215
  lendingMarketOwnerCap: lendingMarketOwnerCapId,
213
216
  lendingMarket: this.lendingMarket.id,
214
217
  reserveArrayIndex,
@@ -217,38 +220,43 @@ class SuilendClient {
217
220
  clock: utils_1.SUI_CLOCK_OBJECT_ID,
218
221
  });
219
222
  }
220
- claimReward(obligationOwnerCapId, reserveArrayIndex, rewardIndex, rewardType, side, txb) {
221
- return this.claimRewardsFunction(txb, [this.lendingMarket.$typeArgs[0], rewardType], {
222
- lendingMarket: txb.object(this.lendingMarket.id),
223
- cap: txb.object(obligationOwnerCapId),
223
+ claimReward(obligationOwnerCapId, reserveArrayIndex, rewardIndex, rewardType, side, transaction) {
224
+ return this.claimRewardsFunction(transaction, [this.lendingMarket.$typeArgs[0], rewardType], {
225
+ lendingMarket: transaction.object(this.lendingMarket.id),
226
+ cap: transaction.object(obligationOwnerCapId),
224
227
  clock: utils_1.SUI_CLOCK_OBJECT_ID,
225
228
  reserveId: reserveArrayIndex,
226
229
  rewardIndex,
227
230
  isDepositReward: side === types_1.Side.DEPOSIT,
228
231
  });
229
232
  }
230
- claimRewardsAndDeposit(obligationId, rewardReserveArrayIndex, rewardIndex, rewardType, side, depositReserveArrayIndex, txb) {
231
- return this.claimRewardsAndDepositFunction(txb, [this.lendingMarket.$typeArgs[0], rewardType], {
232
- lendingMarket: txb.object(this.lendingMarket.id),
233
+ claimRewardsAndDeposit(obligationId, rewardReserveArrayIndex, rewardIndex, rewardType, side, depositReserveArrayIndex, transaction) {
234
+ return this.claimRewardsAndDepositFunction(transaction, [this.lendingMarket.$typeArgs[0], rewardType], {
235
+ lendingMarket: transaction.object(this.lendingMarket.id),
233
236
  obligationId,
234
- clock: txb.object(utils_1.SUI_CLOCK_OBJECT_ID),
237
+ clock: transaction.object(utils_1.SUI_CLOCK_OBJECT_ID),
235
238
  rewardReserveId: rewardReserveArrayIndex,
236
239
  rewardIndex,
237
240
  isDepositReward: side === types_1.Side.DEPOSIT,
238
241
  depositReserveId: depositReserveArrayIndex,
239
242
  });
240
243
  }
241
- claimRewardsToObligation(ownerId, rewards, txb) {
244
+ claimRewardsToObligation(ownerId, rewards, transaction) {
242
245
  return __awaiter(this, void 0, void 0, function* () {
243
- const claimedCoins = rewards.map((r) => {
244
- const [claimedCoin] = this.claimReward(r.obligationOwnerCapId, r.reserveArrayIndex, r.rewardIndex, r.rewardType, r.side, txb);
245
- return claimedCoin;
246
- });
247
- const mergedCoin = claimedCoins[0];
248
- if (claimedCoins.length > 1) {
249
- txb.mergeCoins(mergedCoin, claimedCoins.slice(1));
246
+ const mergeCoinsMap = {};
247
+ for (const reward of rewards) {
248
+ const [claimedCoin] = this.claimReward(reward.obligationOwnerCapId, reward.reserveArrayIndex, reward.rewardIndex, reward.rewardType, reward.side, transaction);
249
+ if (mergeCoinsMap[reward.rewardType] === undefined)
250
+ mergeCoinsMap[reward.rewardType] = [];
251
+ mergeCoinsMap[reward.rewardType].push(claimedCoin);
252
+ }
253
+ for (const mergeCoins of Object.values(mergeCoinsMap)) {
254
+ const mergeCoin = mergeCoins[0];
255
+ if (mergeCoins.length > 1) {
256
+ transaction.mergeCoins(mergeCoin, mergeCoins.slice(1));
257
+ }
258
+ transaction.transferObjects([mergeCoin], transaction.pure.address(ownerId));
250
259
  }
251
- txb.transferObjects([mergedCoin], txb.pure(ownerId));
252
260
  });
253
261
  }
254
262
  findReserveArrayIndex(coinType) {
@@ -256,21 +264,21 @@ class SuilendClient {
256
264
  const array_index = this.lendingMarket.reserves.findIndex((r) => (0, utils_1.normalizeStructTag)(r.coinType.name) == normalizedCoinType);
257
265
  return BigInt(array_index);
258
266
  }
259
- updateReserveConfig(ownerId, lendingMarketOwnerCapId, txb, coinType, createReserveConfigArgs) {
267
+ updateReserveConfig(ownerId, lendingMarketOwnerCapId, transaction, coinType, createReserveConfigArgs) {
260
268
  return __awaiter(this, void 0, void 0, function* () {
261
- const [config] = this.createReserveConfigFunction(txb, createReserveConfigArgs);
262
- return this.updateReserveConfigFunction(txb, [...this.lendingMarket.$typeArgs, coinType], {
269
+ const [config] = this.createReserveConfigFunction(transaction, createReserveConfigArgs);
270
+ return this.updateReserveConfigFunction(transaction, [...this.lendingMarket.$typeArgs, coinType], {
263
271
  lendingMarketOwnerCap: lendingMarketOwnerCapId,
264
272
  lendingMarket: this.lendingMarket.id,
265
- config,
266
273
  reserveArrayIndex: this.findReserveArrayIndex(coinType),
274
+ config,
267
275
  });
268
276
  });
269
277
  }
270
- updateRateLimiterConfig(lendingMarketOwnerCapId, txb, newRateLimiterConfigArgs) {
278
+ updateRateLimiterConfig(lendingMarketOwnerCapId, transaction, newRateLimiterConfigArgs) {
271
279
  return __awaiter(this, void 0, void 0, function* () {
272
- const [config] = this.createRateLimiterConfigFunction(txb, newRateLimiterConfigArgs);
273
- return this.updateRateLimiterConfigFunction(txb, this.lendingMarket.$typeArgs[0], {
280
+ const [config] = this.createRateLimiterConfigFunction(transaction, newRateLimiterConfigArgs);
281
+ return this.updateRateLimiterConfigFunction(transaction, this.lendingMarket.$typeArgs[0], {
274
282
  lendingMarketOwnerCap: lendingMarketOwnerCapId,
275
283
  lendingMarket: this.lendingMarket.id,
276
284
  clock: utils_1.SUI_CLOCK_OBJECT_ID,
@@ -278,225 +286,281 @@ class SuilendClient {
278
286
  });
279
287
  });
280
288
  }
281
- createObligation(txb) {
282
- return txb.moveCall({
289
+ createObligation(transaction) {
290
+ return transaction.moveCall({
283
291
  target: `${this.PUBLISHED_AT}::lending_market::create_obligation`,
284
- arguments: [txb.object(this.lendingMarket.id)],
292
+ arguments: [transaction.object(this.lendingMarket.id)],
285
293
  typeArguments: this.lendingMarket.$typeArgs,
286
294
  });
287
295
  }
288
- refreshAll(txb, obligation, extraReserveArrayIndex) {
296
+ refreshAll(transaction, obligation, extraReserveArrayIndex) {
289
297
  return __awaiter(this, void 0, void 0, function* () {
290
298
  const reserveArrayIndexToPriceId = new Map();
291
299
  obligation.deposits.forEach((deposit) => {
292
300
  const reserve = this.lendingMarket.reserves[deposit.reserveArrayIndex];
293
- reserveArrayIndexToPriceId.set(deposit.reserveArrayIndex, (0, bcs_1.toHEX)(new Uint8Array(reserve.priceIdentifier.bytes)));
301
+ reserveArrayIndexToPriceId.set(deposit.reserveArrayIndex, (0, utils_1.toHex)(new Uint8Array(reserve.priceIdentifier.bytes)));
294
302
  });
295
303
  obligation.borrows.forEach((borrow) => {
296
304
  const reserve = this.lendingMarket.reserves[borrow.reserveArrayIndex];
297
- reserveArrayIndexToPriceId.set(borrow.reserveArrayIndex, (0, bcs_1.toHEX)(new Uint8Array(reserve.priceIdentifier.bytes)));
305
+ reserveArrayIndexToPriceId.set(borrow.reserveArrayIndex, (0, utils_1.toHex)(new Uint8Array(reserve.priceIdentifier.bytes)));
298
306
  });
299
307
  if (extraReserveArrayIndex != undefined &&
300
308
  extraReserveArrayIndex >= 0 &&
301
309
  extraReserveArrayIndex < this.lendingMarket.reserves.length) {
302
310
  const reserve = this.lendingMarket.reserves[extraReserveArrayIndex];
303
- reserveArrayIndexToPriceId.set(extraReserveArrayIndex, (0, bcs_1.toHEX)(new Uint8Array(reserve.priceIdentifier.bytes)));
311
+ reserveArrayIndexToPriceId.set(extraReserveArrayIndex, (0, utils_1.toHex)(new Uint8Array(reserve.priceIdentifier.bytes)));
304
312
  }
305
313
  const tuples = Array.from(reserveArrayIndexToPriceId.entries()).sort();
306
- const priceIds = Array.from(new Set(tuples.map((tuple) => tuple[1])));
314
+ const priceIds = Array.from(tuples.map((tuple) => tuple[1]));
307
315
  const priceUpdateData = yield this.pythConnection.getPriceFeedsUpdateData(priceIds);
308
- const priceInfoObjectIds = yield this.pythClient.updatePriceFeeds(txb, priceUpdateData, priceIds);
316
+ const priceInfoObjectIds = yield this.pythClient.updatePriceFeeds(transaction, priceUpdateData, priceIds);
309
317
  for (let i = 0; i < tuples.length; i++) {
310
- this.refreshReservePrices(txb, priceInfoObjectIds[i], tuples[i][0]);
318
+ this.refreshReservePrices(transaction, priceInfoObjectIds[i], tuples[i][0]);
311
319
  }
312
320
  });
313
321
  }
314
- refreshReservePrices(txb, priceInfoObjectId, reserveArrayIndex) {
322
+ refreshReservePrices(transaction, priceInfoObjectId, reserveArrayIndex) {
315
323
  return __awaiter(this, void 0, void 0, function* () {
316
324
  if (priceInfoObjectId == null) {
317
325
  return;
318
326
  }
319
- this.refreshReservePriceFunction(txb, this.lendingMarket.$typeArgs[0], {
327
+ this.refreshReservePriceFunction(transaction, this.lendingMarket.$typeArgs[0], {
320
328
  lendingMarket: this.lendingMarket.id,
329
+ reserveArrayIndex,
321
330
  clock: utils_1.SUI_CLOCK_OBJECT_ID,
322
331
  priceInfo: priceInfoObjectId,
323
- reserveArrayIndex,
324
332
  });
325
333
  });
326
334
  }
327
- deposit(sendCoin, coinType, obligationOwnerCap, txb) {
335
+ deposit(sendCoin, coinType, obligationOwnerCap, transaction) {
328
336
  return __awaiter(this, void 0, void 0, function* () {
329
- const [ctokens] = this.depositLiquidityAndMintCtokensFunction(txb, [this.lendingMarket.$typeArgs[0], coinType], {
337
+ const [ctokens] = this.depositLiquidityAndMintCtokensFunction(transaction, [this.lendingMarket.$typeArgs[0], coinType], {
330
338
  lendingMarket: this.lendingMarket.id,
339
+ reserveArrayIndex: this.findReserveArrayIndex(coinType),
331
340
  clock: utils_1.SUI_CLOCK_OBJECT_ID,
332
341
  deposit: sendCoin,
333
- reserveArrayIndex: this.findReserveArrayIndex(coinType),
334
342
  });
335
- this.depositCtokensIntoObligationFunction(txb, [this.lendingMarket.$typeArgs[0], coinType], {
343
+ this.depositCtokensIntoObligationFunction(transaction, [this.lendingMarket.$typeArgs[0], coinType], {
336
344
  lendingMarket: this.lendingMarket.id,
345
+ reserveArrayIndex: this.findReserveArrayIndex(coinType),
337
346
  obligationOwnerCap,
338
- deposit: ctokens,
339
347
  clock: utils_1.SUI_CLOCK_OBJECT_ID,
340
- reserveArrayIndex: this.findReserveArrayIndex(coinType),
348
+ deposit: ctokens,
341
349
  });
342
350
  });
343
351
  }
344
- depositCoin(ownerId, sendCoin, coinType, txb, obligationOwnerCapId) {
352
+ depositCoin(ownerId, sendCoin, coinType, transaction, obligationOwnerCapId) {
345
353
  return __awaiter(this, void 0, void 0, function* () {
346
354
  let createdObligationOwnerCap;
347
355
  if (!obligationOwnerCapId) {
348
- createdObligationOwnerCap = this.createObligation(txb)[0];
356
+ createdObligationOwnerCap = this.createObligation(transaction)[0];
349
357
  }
350
- this.deposit(sendCoin, coinType, (obligationOwnerCapId !== null && obligationOwnerCapId !== void 0 ? obligationOwnerCapId : createdObligationOwnerCap), txb);
358
+ this.deposit(sendCoin, coinType, (obligationOwnerCapId !== null && obligationOwnerCapId !== void 0 ? obligationOwnerCapId : createdObligationOwnerCap), transaction);
351
359
  if (createdObligationOwnerCap) {
352
- txb.transferObjects([createdObligationOwnerCap], txb.pure(ownerId));
360
+ transaction.transferObjects([createdObligationOwnerCap], transaction.pure.address(ownerId));
353
361
  }
354
362
  });
355
363
  }
356
- depositIntoObligation(ownerId, coinType, value, txb, obligationOwnerCapId) {
364
+ depositIntoObligation(ownerId, coinType, value, transaction, obligationOwnerCapId) {
357
365
  return __awaiter(this, void 0, void 0, function* () {
358
366
  const isSui = (0, utils_1.normalizeStructTag)(coinType) === (0, utils_1.normalizeStructTag)(SUI_COINTYPE);
359
367
  const coins = (yield this.client.getCoins({
360
368
  owner: ownerId,
361
369
  coinType,
362
370
  })).data;
363
- const mergedCoin = coins[0];
371
+ const mergeCoin = coins[0];
364
372
  if (coins.length > 1 && !isSui) {
365
- txb.mergeCoins(txb.object(mergedCoin.coinObjectId), coins.map((c) => txb.object(c.coinObjectId)).slice(1));
373
+ transaction.mergeCoins(transaction.object(mergeCoin.coinObjectId), coins.map((c) => transaction.object(c.coinObjectId)).slice(1));
366
374
  }
367
- const [sendCoin] = txb.splitCoins(isSui ? txb.gas : txb.object(mergedCoin.coinObjectId), [txb.pure(value)]);
368
- this.depositCoin(ownerId, sendCoin, coinType, txb, obligationOwnerCapId);
375
+ const [sendCoin] = transaction.splitCoins(isSui ? transaction.gas : transaction.object(mergeCoin.coinObjectId), [value]);
376
+ this.depositCoin(ownerId, sendCoin, coinType, transaction, obligationOwnerCapId);
369
377
  });
370
378
  }
371
- withdraw(obligationOwnerCapId, obligationId, coinType, value, txb) {
379
+ depositLiquidityAndGetCTokens(ownerId, coinType, value, transaction) {
380
+ return __awaiter(this, void 0, void 0, function* () {
381
+ const isSui = (0, utils_1.normalizeStructTag)(coinType) === (0, utils_1.normalizeStructTag)(SUI_COINTYPE);
382
+ const coins = (yield this.client.getCoins({
383
+ owner: ownerId,
384
+ coinType,
385
+ })).data;
386
+ const mergeCoin = coins[0];
387
+ if (coins.length > 1 && !isSui) {
388
+ transaction.mergeCoins(transaction.object(mergeCoin.coinObjectId), coins.map((c) => transaction.object(c.coinObjectId)).slice(1));
389
+ }
390
+ const [sendCoin] = transaction.splitCoins(isSui ? transaction.gas : transaction.object(mergeCoin.coinObjectId), [value]);
391
+ const [ctokens] = this.depositLiquidityAndMintCtokensFunction(transaction, [this.lendingMarket.$typeArgs[0], coinType], {
392
+ lendingMarket: this.lendingMarket.id,
393
+ reserveArrayIndex: this.findReserveArrayIndex(coinType),
394
+ clock: utils_1.SUI_CLOCK_OBJECT_ID,
395
+ deposit: sendCoin,
396
+ });
397
+ transaction.transferObjects([ctokens], transaction.pure.address(ownerId));
398
+ });
399
+ }
400
+ withdraw(obligationOwnerCapId, obligationId, coinType, value, transaction) {
372
401
  return __awaiter(this, void 0, void 0, function* () {
373
402
  const obligation = yield this.getObligation(obligationId);
374
403
  if (!obligation)
375
404
  throw new Error("Error: no obligation");
376
- yield this.refreshAll(txb, obligation);
377
- const [ctokens] = this.withdrawCtokensFunction(txb, [this.lendingMarket.$typeArgs[0], coinType], {
405
+ yield this.refreshAll(transaction, obligation);
406
+ const [ctokens] = this.withdrawCtokensFunction(transaction, [this.lendingMarket.$typeArgs[0], coinType], {
378
407
  lendingMarket: this.lendingMarket.id,
408
+ reserveArrayIndex: this.findReserveArrayIndex(coinType),
379
409
  obligationOwnerCap: obligationOwnerCapId,
380
410
  clock: utils_1.SUI_CLOCK_OBJECT_ID,
381
411
  amount: BigInt(value),
382
- reserveArrayIndex: this.findReserveArrayIndex(coinType),
383
412
  });
384
- const [exemption] = txb.moveCall({
413
+ const [exemption] = transaction.moveCall({
385
414
  target: `0x1::option::none`,
386
415
  typeArguments: [
387
416
  `${this.PACKAGE_ID}::lending_market::RateLimiterExemption<${this.lendingMarket.$typeArgs[0]}, ${coinType}>`,
388
417
  ],
389
418
  arguments: [],
390
419
  });
391
- return txb.moveCall({
420
+ return transaction.moveCall({
392
421
  target: `${this.PUBLISHED_AT}::lending_market::redeem_ctokens_and_withdraw_liquidity`,
393
422
  typeArguments: [this.lendingMarket.$typeArgs[0], coinType],
394
423
  arguments: [
395
- txb.object(this.lendingMarket.id),
396
- txb.pure(this.findReserveArrayIndex(coinType)),
397
- txb.object(utils_1.SUI_CLOCK_OBJECT_ID),
424
+ transaction.object(this.lendingMarket.id),
425
+ transaction.pure.u64(this.findReserveArrayIndex(coinType)),
426
+ transaction.object(utils_1.SUI_CLOCK_OBJECT_ID),
398
427
  ctokens,
399
428
  exemption,
400
429
  ],
401
430
  });
402
431
  });
403
432
  }
404
- withdrawFromObligation(ownerId, obligationOwnerCapId, obligationId, coinType, value, txb) {
433
+ withdrawFromObligation(ownerId, obligationOwnerCapId, obligationId, coinType, value, transaction) {
405
434
  return __awaiter(this, void 0, void 0, function* () {
406
- const [withdrawCoin] = yield this.withdraw(obligationOwnerCapId, obligationId, coinType, value, txb);
407
- txb.transferObjects([withdrawCoin], txb.pure(ownerId));
435
+ const [withdrawCoin] = yield this.withdraw(obligationOwnerCapId, obligationId, coinType, value, transaction);
436
+ transaction.transferObjects([withdrawCoin], transaction.pure.address(ownerId));
408
437
  });
409
438
  }
410
- borrow(obligationOwnerCapId, obligationId, coinType, value, txb) {
439
+ borrow(obligationOwnerCapId, obligationId, coinType, value, transaction) {
411
440
  return __awaiter(this, void 0, void 0, function* () {
412
441
  const obligation = yield this.getObligation(obligationId);
413
442
  if (!obligation)
414
443
  throw new Error("Error: no obligation");
415
- yield this.refreshAll(txb, obligation, this.findReserveArrayIndex(coinType));
416
- const result = this.borrowFunction(txb, [this.lendingMarket.$typeArgs[0], coinType], {
444
+ yield this.refreshAll(transaction, obligation, this.findReserveArrayIndex(coinType));
445
+ const result = this.borrowFunction(transaction, [this.lendingMarket.$typeArgs[0], coinType], {
417
446
  lendingMarket: this.lendingMarket.id,
447
+ reserveArrayIndex: this.findReserveArrayIndex(coinType),
418
448
  obligationOwnerCap: obligationOwnerCapId,
419
449
  clock: utils_1.SUI_CLOCK_OBJECT_ID,
420
450
  amount: BigInt(value),
421
- reserveArrayIndex: this.findReserveArrayIndex(coinType),
422
451
  });
423
452
  return result;
424
453
  });
425
454
  }
426
- borrowFromObligation(ownerId, obligationOwnerCapId, obligationId, coinType, value, txb) {
455
+ borrowFromObligation(ownerId, obligationOwnerCapId, obligationId, coinType, value, transaction) {
427
456
  return __awaiter(this, void 0, void 0, function* () {
428
- const [borrowCoin] = yield this.borrow(obligationOwnerCapId, obligationId, coinType, value, txb);
429
- txb.transferObjects([borrowCoin], txb.pure(ownerId));
457
+ const [borrowCoin] = yield this.borrow(obligationOwnerCapId, obligationId, coinType, value, transaction);
458
+ transaction.transferObjects([borrowCoin], transaction.pure.address(ownerId));
430
459
  });
431
460
  }
432
- repay(obligationId, coinType, coin, txb) {
433
- return this.repayFunction(txb, [this.lendingMarket.$typeArgs[0], coinType], {
461
+ repay(obligationId, coinType, coin, transaction) {
462
+ return this.repayFunction(transaction, [this.lendingMarket.$typeArgs[0], coinType], {
434
463
  lendingMarket: this.lendingMarket.id,
464
+ reserveArrayIndex: this.findReserveArrayIndex(coinType),
435
465
  obligationId: obligationId,
436
466
  clock: utils_1.SUI_CLOCK_OBJECT_ID,
437
467
  maxRepayCoins: coin,
438
- reserveArrayIndex: this.findReserveArrayIndex(coinType),
439
468
  });
440
469
  }
441
- repayIntoObligation(ownerId, obligationId, coinType, value, txb) {
470
+ repayIntoObligation(ownerId, obligationId, coinType, value, transaction) {
442
471
  return __awaiter(this, void 0, void 0, function* () {
443
472
  const isSui = (0, utils_1.normalizeStructTag)(coinType) === (0, utils_1.normalizeStructTag)(SUI_COINTYPE);
444
473
  const coins = (yield this.client.getCoins({
445
474
  owner: ownerId,
446
475
  coinType,
447
476
  })).data;
448
- const mergedCoin = coins[0];
477
+ const mergeCoin = coins[0];
449
478
  if (coins.length > 1 && !isSui) {
450
- txb.mergeCoins(txb.object(mergedCoin.coinObjectId), coins.map((c) => txb.object(c.coinObjectId)).slice(1));
479
+ transaction.mergeCoins(transaction.object(mergeCoin.coinObjectId), coins.map((c) => transaction.object(c.coinObjectId)).slice(1));
451
480
  }
452
- const [sendCoin] = txb.splitCoins(isSui ? txb.gas : txb.object(mergedCoin.coinObjectId), [txb.pure(value)]);
453
- const result = this.repay(obligationId, coinType, sendCoin, txb);
454
- txb.transferObjects([sendCoin], ownerId);
481
+ const [sendCoin] = transaction.splitCoins(isSui ? transaction.gas : transaction.object(mergeCoin.coinObjectId), [value]);
482
+ const result = this.repay(obligationId, coinType, sendCoin, transaction);
483
+ transaction.transferObjects([sendCoin], ownerId);
455
484
  return result;
456
485
  });
457
486
  }
458
- liquidateAndRedeem(txb, obligation, repayCoinType, withdrawCoinType, repayCoinId) {
487
+ liquidateAndRedeem(transaction, obligation, repayCoinType, withdrawCoinType, repayCoinId) {
459
488
  return __awaiter(this, void 0, void 0, function* () {
460
- const [ctokens, exemption] = yield this.liquidate(txb, obligation, repayCoinType, withdrawCoinType, repayCoinId);
461
- const [optionalExemption] = txb.moveCall({
489
+ const [ctokens, exemption] = yield this.liquidate(transaction, obligation, repayCoinType, withdrawCoinType, repayCoinId);
490
+ const [optionalExemption] = transaction.moveCall({
462
491
  target: `0x1::option::some`,
463
492
  typeArguments: [
464
493
  `${this.PUBLISHED_AT}::lending_market::RateLimiterExemption<${this.lendingMarket.$typeArgs[0]}, ${withdrawCoinType}>`,
465
494
  ],
466
495
  arguments: [exemption],
467
496
  });
468
- return txb.moveCall({
497
+ return transaction.moveCall({
469
498
  target: `${this.PUBLISHED_AT}::lending_market::redeem_ctokens_and_withdraw_liquidity`,
470
499
  typeArguments: [this.lendingMarket.$typeArgs[0], withdrawCoinType],
471
500
  arguments: [
472
- txb.object(this.lendingMarket.id),
473
- txb.pure(this.findReserveArrayIndex(withdrawCoinType)),
474
- txb.object(utils_1.SUI_CLOCK_OBJECT_ID),
501
+ transaction.object(this.lendingMarket.id),
502
+ transaction.pure.u64(this.findReserveArrayIndex(withdrawCoinType)),
503
+ transaction.object(utils_1.SUI_CLOCK_OBJECT_ID),
475
504
  ctokens,
476
505
  optionalExemption,
477
506
  ],
478
507
  });
479
508
  });
480
509
  }
481
- liquidate(txb, obligation, repayCoinType, withdrawCoinType, repayCoinId) {
510
+ liquidate(transaction, obligation, repayCoinType, withdrawCoinType, repayCoinId) {
482
511
  return __awaiter(this, void 0, void 0, function* () {
483
- yield this.refreshAll(txb, obligation);
484
- return this.liquidateFunction(txb, [this.lendingMarket.$typeArgs[0], repayCoinType, withdrawCoinType], {
512
+ yield this.refreshAll(transaction, obligation);
513
+ return this.liquidateFunction(transaction, [this.lendingMarket.$typeArgs[0], repayCoinType, withdrawCoinType], {
485
514
  lendingMarket: this.lendingMarket.id,
486
515
  obligationId: obligation.id,
487
- clock: utils_1.SUI_CLOCK_OBJECT_ID,
488
- repayCoins: repayCoinId,
489
516
  repayReserveArrayIndex: this.findReserveArrayIndex(repayCoinType),
490
517
  withdrawReserveArrayIndex: this.findReserveArrayIndex(withdrawCoinType),
518
+ clock: utils_1.SUI_CLOCK_OBJECT_ID,
519
+ repayCoins: repayCoinId,
491
520
  });
492
521
  });
493
522
  }
494
- migrate(txb, lendingMarketOwnerCapId) {
523
+ migrate(transaction, lendingMarketOwnerCapId) {
524
+ return this.migrateFunction(transaction, this.lendingMarket.$typeArgs[0], {
525
+ lendingMarketOwnerCap: lendingMarketOwnerCapId,
526
+ lendingMarket: this.lendingMarket.id,
527
+ });
528
+ }
529
+ claimFees(transaction, coinType) {
530
+ return this.claimFeesFunction(transaction, [this.lendingMarket.$typeArgs[0], coinType], {
531
+ lendingMarket: this.lendingMarket.id,
532
+ reserveArrayIndex: this.findReserveArrayIndex(coinType),
533
+ });
534
+ }
535
+ redeemCtokensAndWithdrawLiquidity(ownerId, ctokenCoinTypes, transaction) {
495
536
  return __awaiter(this, void 0, void 0, function* () {
496
- return this.migrateFunction(txb, this.lendingMarket.$typeArgs[0], {
497
- lendingMarket: this.lendingMarket.id,
498
- lendingMarketOwnerCap: lendingMarketOwnerCapId,
499
- });
537
+ const mergeCoinsMap = {};
538
+ for (const ctokenCoinType of ctokenCoinTypes) {
539
+ const coins = (yield this.client.getCoins({
540
+ owner: ownerId,
541
+ coinType: ctokenCoinType,
542
+ })).data;
543
+ if (coins.length === 0)
544
+ continue;
545
+ if (mergeCoinsMap[ctokenCoinType] === undefined)
546
+ mergeCoinsMap[ctokenCoinType] = [];
547
+ mergeCoinsMap[ctokenCoinType].push(...coins);
548
+ }
549
+ for (const [ctokenCoinType, mergeCoins] of Object.entries(mergeCoinsMap)) {
550
+ const mergeCoin = mergeCoins[0];
551
+ if (mergeCoins.length > 1) {
552
+ transaction.mergeCoins(transaction.object(mergeCoin.coinObjectId), mergeCoins.map((mc) => transaction.object(mc.coinObjectId)).slice(1));
553
+ }
554
+ const coinType = (0, utils_2.extractCTokenCoinType)(ctokenCoinType);
555
+ const [redeemCoin] = this.redeemCtokensAndWithdrawLiquidityFunction(transaction, [this.lendingMarket.$typeArgs[0], coinType], {
556
+ lendingMarket: this.lendingMarket.id,
557
+ reserveArrayIndex: this.findReserveArrayIndex(coinType),
558
+ clock: utils_1.SUI_CLOCK_OBJECT_ID,
559
+ ctokens: transaction.object(mergeCoin.coinObjectId),
560
+ rateLimiterExemption: null,
561
+ });
562
+ transaction.transferObjects([redeemCoin], transaction.pure.address(ownerId));
563
+ }
500
564
  });
501
565
  }
502
566
  }
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.parseDownsampledApiReserveAssetDataEvent = exports.parseReserveAssetDataEvent = void 0;
7
- const utils_1 = require("@mysten/sui.js/utils");
7
+ const utils_1 = require("@mysten/sui/utils");
8
8
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
9
9
  const constants_1 = require("../constants");
10
10
  const parseReserveAssetDataEvent = (event, reserve) => {
@@ -1,4 +1,4 @@
1
- import { CoinMetadata } from "@mysten/sui.js/client";
1
+ import { CoinMetadata } from "@mysten/sui/client";
2
2
  import BigNumber from "bignumber.js";
3
3
  import { Deps } from "./deps";
4
4
  export type ParsedLendingMarket = ReturnType<typeof parseLendingMarket>;
@@ -21,7 +21,7 @@ export declare const parseLendingMarket: ({ LendingMarket, Reserve, PoolRewardMa
21
21
  borrowFeeBps: number;
22
22
  spreadFeeBps: number;
23
23
  protocolLiquidationFeeBps: number;
24
- isolated: any;
24
+ isolated: boolean;
25
25
  openAttributedBorrowLimitUsd: number;
26
26
  closeAttributedBorrowLimitUsd: number;
27
27
  interestRate: {
@@ -10,7 +10,19 @@ const reserve_1 = require("./reserve");
10
10
  const parseLendingMarket = ({ LendingMarket, Reserve, PoolRewardManager, PoolReward, simulate, RateLimiter, }, lendingMarket, reserves, coinMetadataMap, currentTime) => {
11
11
  const id = lendingMarket.id;
12
12
  const version = lendingMarket.version;
13
- const parsedReserves = reserves.map((reserve) => (0, reserve_1.parseReserve)({ Reserve, PoolRewardManager, PoolReward, simulate }, reserve, coinMetadataMap));
13
+ const parsedReserves = reserves
14
+ .map((reserve) => (0, reserve_1.parseReserve)({ Reserve, PoolRewardManager, PoolReward, simulate }, reserve, coinMetadataMap))
15
+ .sort((a, b) => {
16
+ const customOrder = ["SUI", "wUSDC", "USDC"];
17
+ const aCustomOrderIndex = customOrder.indexOf(a.symbol);
18
+ const bCustomOrderIndex = customOrder.indexOf(b.symbol);
19
+ if (aCustomOrderIndex > -1 && bCustomOrderIndex > -1)
20
+ return aCustomOrderIndex - bCustomOrderIndex;
21
+ else if (aCustomOrderIndex === -1 && bCustomOrderIndex === -1)
22
+ return 0;
23
+ else
24
+ return aCustomOrderIndex > -1 ? -1 : 1;
25
+ });
14
26
  const obligations = lendingMarket.obligations;
15
27
  const parsedRateLimiter = (0, rateLimiter_1.parseRateLimiter)({ RateLimiter }, lendingMarket.rateLimiter, currentTime);
16
28
  const feeReceiver = lendingMarket.feeReceiver;