@suilend/sdk 1.0.8 → 1.1.0

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 (294) hide show
  1. package/core/client.d.ts +58 -51
  2. package/core/client.js +189 -120
  3. package/core/constants.d.ts +4 -0
  4. package/core/constants.js +6 -1
  5. package/core/parsers/apiReserveAssetDataEvent.js +1 -1
  6. package/core/parsers/lendingMarket.d.ts +3 -3
  7. package/core/parsers/lendingMarket.js +13 -1
  8. package/core/parsers/obligation.d.ts +6 -3
  9. package/core/parsers/obligation.js +9 -5
  10. package/core/parsers/rateLimiter.d.ts +2 -2
  11. package/core/parsers/reserve.d.ts +7 -7
  12. package/core/parsers/reserve.js +1 -1
  13. package/core/types.d.ts +65 -60
  14. package/core/types.js +9 -7
  15. package/core/utils/events.d.ts +2 -2
  16. package/core/utils/events.js +3 -3
  17. package/core/utils/simulate.d.ts +1 -1
  18. package/core/utils/simulate.js +16 -21
  19. package/core/utils.d.ts +6 -0
  20. package/core/utils.js +35 -1
  21. package/mainnet/_generated/_dependencies/source/0x1/ascii/structs.d.ts +16 -6
  22. package/mainnet/_generated/_dependencies/source/0x1/ascii/structs.js +46 -10
  23. package/mainnet/_generated/_dependencies/source/0x1/index.d.ts +1 -0
  24. package/mainnet/_generated/_dependencies/source/0x1/index.js +2 -1
  25. package/mainnet/_generated/_dependencies/source/0x1/option/structs.d.ts +11 -5
  26. package/mainnet/_generated/_dependencies/source/0x1/option/structs.js +34 -6
  27. package/mainnet/_generated/_dependencies/source/0x1/type-name/structs.d.ts +8 -3
  28. package/mainnet/_generated/_dependencies/source/0x1/type-name/structs.js +25 -6
  29. package/mainnet/_generated/_dependencies/source/0x2/bag/structs.d.ts +8 -3
  30. package/mainnet/_generated/_dependencies/source/0x2/bag/structs.js +25 -6
  31. package/mainnet/_generated/_dependencies/source/0x2/balance/structs.d.ts +14 -5
  32. package/mainnet/_generated/_dependencies/source/0x2/balance/structs.js +64 -10
  33. package/mainnet/_generated/_dependencies/source/0x2/index.d.ts +1 -0
  34. package/mainnet/_generated/_dependencies/source/0x2/index.js +2 -1
  35. package/mainnet/_generated/_dependencies/source/0x2/object/structs.d.ts +14 -5
  36. package/mainnet/_generated/_dependencies/source/0x2/object/structs.js +48 -12
  37. package/mainnet/_generated/_dependencies/source/0x2/object-table/structs.d.ts +8 -3
  38. package/mainnet/_generated/_dependencies/source/0x2/object-table/structs.js +36 -6
  39. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/index.d.ts +2 -0
  40. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/index.js +3 -1
  41. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs.d.ts +10 -4
  42. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-identifier/structs.js +26 -7
  43. package/mainnet/_generated/_framework/reified.d.ts +28 -20
  44. package/mainnet/_generated/_framework/reified.js +20 -43
  45. package/mainnet/_generated/_framework/util.d.ts +20 -38
  46. package/mainnet/_generated/_framework/util.js +152 -67
  47. package/mainnet/_generated/_framework/vector.d.ts +35 -0
  48. package/mainnet/_generated/_framework/vector.js +77 -0
  49. package/mainnet/_generated/suilend/cell/structs.d.ts +9 -4
  50. package/mainnet/_generated/suilend/cell/structs.js +35 -7
  51. package/mainnet/_generated/suilend/decimal/structs.d.ts +8 -3
  52. package/mainnet/_generated/suilend/decimal/structs.js +25 -7
  53. package/mainnet/_generated/suilend/index.d.ts +2 -1
  54. package/mainnet/_generated/suilend/index.js +3 -2
  55. package/mainnet/_generated/suilend/lending-market/functions.d.ts +106 -107
  56. package/mainnet/_generated/suilend/lending-market/functions.js +219 -218
  57. package/mainnet/_generated/suilend/lending-market/structs.d.ts +88 -30
  58. package/mainnet/_generated/suilend/lending-market/structs.js +403 -125
  59. package/mainnet/_generated/suilend/lending-market-registry/functions.d.ts +3 -4
  60. package/mainnet/_generated/suilend/lending-market-registry/functions.js +7 -8
  61. package/mainnet/_generated/suilend/liquidity-mining/structs.d.ts +34 -12
  62. package/mainnet/_generated/suilend/liquidity-mining/structs.js +123 -28
  63. package/mainnet/_generated/suilend/obligation/structs.d.ts +40 -14
  64. package/mainnet/_generated/suilend/obligation/structs.js +151 -40
  65. package/mainnet/_generated/suilend/rate-limiter/functions.d.ts +13 -14
  66. package/mainnet/_generated/suilend/rate-limiter/functions.js +27 -28
  67. package/mainnet/_generated/suilend/rate-limiter/structs.d.ts +14 -5
  68. package/mainnet/_generated/suilend/rate-limiter/structs.js +47 -12
  69. package/mainnet/_generated/suilend/reserve/structs.d.ts +38 -13
  70. package/mainnet/_generated/suilend/reserve/structs.js +171 -37
  71. package/mainnet/_generated/suilend/reserve-config/functions.d.ts +65 -65
  72. package/mainnet/_generated/suilend/reserve-config/functions.js +185 -186
  73. package/mainnet/_generated/suilend/reserve-config/structs.d.ts +16 -6
  74. package/mainnet/_generated/suilend/reserve-config/structs.js +48 -12
  75. package/mainnet/client.d.ts +5 -6
  76. package/mainnet/client.js +4 -5
  77. package/mainnet/constants.d.ts +2 -0
  78. package/mainnet/constants.js +3 -0
  79. package/mainnet/parsers/lendingMarket.d.ts +2 -2
  80. package/mainnet/parsers/reserve.d.ts +3 -3
  81. package/mainnet/utils/index.d.ts +0 -1
  82. package/mainnet/utils/index.js +0 -1
  83. package/mainnet/utils/obligation.d.ts +1 -1
  84. package/mainnet/utils/obligation.js +7 -8
  85. package/mainnet/utils/simulate.d.ts +1 -1
  86. package/package.json +1 -1
  87. package/core/utils/utils.d.ts +0 -61
  88. package/core/utils/utils.js +0 -157
  89. package/mainnet/_generated/_dependencies/source/0x1/bit-vector/structs.d.ts +0 -50
  90. package/mainnet/_generated/_dependencies/source/0x1/bit-vector/structs.js +0 -154
  91. package/mainnet/_generated/_dependencies/source/0x1/fixed-point32/structs.d.ts +0 -41
  92. package/mainnet/_generated/_dependencies/source/0x1/fixed-point32/structs.js +0 -124
  93. package/mainnet/_generated/_dependencies/source/0x1/init.d.ts +0 -2
  94. package/mainnet/_generated/_dependencies/source/0x1/init.js +0 -42
  95. package/mainnet/_generated/_dependencies/source/0x1/string/structs.d.ts +0 -44
  96. package/mainnet/_generated/_dependencies/source/0x1/string/structs.js +0 -148
  97. package/mainnet/_generated/_dependencies/source/0x2/authenticator-state/structs.d.ts +0 -442
  98. package/mainnet/_generated/_dependencies/source/0x2/authenticator-state/structs.js +0 -633
  99. package/mainnet/_generated/_dependencies/source/0x2/bcs/structs.d.ts +0 -44
  100. package/mainnet/_generated/_dependencies/source/0x2/bcs/structs.js +0 -147
  101. package/mainnet/_generated/_dependencies/source/0x2/bls12381/structs.d.ts +0 -155
  102. package/mainnet/_generated/_dependencies/source/0x2/bls12381/structs.js +0 -448
  103. package/mainnet/_generated/_dependencies/source/0x2/borrow/structs.d.ts +0 -104
  104. package/mainnet/_generated/_dependencies/source/0x2/borrow/structs.js +0 -260
  105. package/mainnet/_generated/_dependencies/source/0x2/clock/structs.d.ts +0 -56
  106. package/mainnet/_generated/_dependencies/source/0x2/clock/structs.js +0 -131
  107. package/mainnet/_generated/_dependencies/source/0x2/coin/structs.d.ts +0 -379
  108. package/mainnet/_generated/_dependencies/source/0x2/coin/structs.js +0 -741
  109. package/mainnet/_generated/_dependencies/source/0x2/deny-list/structs.d.ts +0 -178
  110. package/mainnet/_generated/_dependencies/source/0x2/deny-list/structs.js +0 -279
  111. package/mainnet/_generated/_dependencies/source/0x2/display/structs.d.ts +0 -228
  112. package/mainnet/_generated/_dependencies/source/0x2/display/structs.js +0 -375
  113. package/mainnet/_generated/_dependencies/source/0x2/dynamic-field/structs.d.ts +0 -63
  114. package/mainnet/_generated/_dependencies/source/0x2/dynamic-field/structs.js +0 -139
  115. package/mainnet/_generated/_dependencies/source/0x2/dynamic-object-field/structs.d.ts +0 -42
  116. package/mainnet/_generated/_dependencies/source/0x2/dynamic-object-field/structs.js +0 -127
  117. package/mainnet/_generated/_dependencies/source/0x2/groth16/structs.d.ts +0 -186
  118. package/mainnet/_generated/_dependencies/source/0x2/groth16/structs.js +0 -489
  119. package/mainnet/_generated/_dependencies/source/0x2/group-ops/structs.d.ts +0 -44
  120. package/mainnet/_generated/_dependencies/source/0x2/group-ops/structs.js +0 -150
  121. package/mainnet/_generated/_dependencies/source/0x2/init.d.ts +0 -2
  122. package/mainnet/_generated/_dependencies/source/0x2/init.js +0 -151
  123. package/mainnet/_generated/_dependencies/source/0x2/kiosk/structs.d.ts +0 -565
  124. package/mainnet/_generated/_dependencies/source/0x2/kiosk/structs.js +0 -1235
  125. package/mainnet/_generated/_dependencies/source/0x2/kiosk-extension/structs.d.ts +0 -112
  126. package/mainnet/_generated/_dependencies/source/0x2/kiosk-extension/structs.js +0 -248
  127. package/mainnet/_generated/_dependencies/source/0x2/linked-table/structs.d.ts +0 -144
  128. package/mainnet/_generated/_dependencies/source/0x2/linked-table/structs.js +0 -269
  129. package/mainnet/_generated/_dependencies/source/0x2/object-bag/structs.d.ts +0 -56
  130. package/mainnet/_generated/_dependencies/source/0x2/object-bag/structs.js +0 -131
  131. package/mainnet/_generated/_dependencies/source/0x2/package/structs.d.ts +0 -262
  132. package/mainnet/_generated/_dependencies/source/0x2/package/structs.js +0 -531
  133. package/mainnet/_generated/_dependencies/source/0x2/priority-queue/structs.d.ts +0 -101
  134. package/mainnet/_generated/_dependencies/source/0x2/priority-queue/structs.js +0 -269
  135. package/mainnet/_generated/_dependencies/source/0x2/random/structs.d.ts +0 -190
  136. package/mainnet/_generated/_dependencies/source/0x2/random/structs.js +0 -404
  137. package/mainnet/_generated/_dependencies/source/0x2/sui/structs.d.ts +0 -41
  138. package/mainnet/_generated/_dependencies/source/0x2/sui/structs.js +0 -123
  139. package/mainnet/_generated/_dependencies/source/0x2/table/structs.d.ts +0 -56
  140. package/mainnet/_generated/_dependencies/source/0x2/table/structs.js +0 -133
  141. package/mainnet/_generated/_dependencies/source/0x2/table-vec/structs.d.ts +0 -63
  142. package/mainnet/_generated/_dependencies/source/0x2/table-vec/structs.js +0 -151
  143. package/mainnet/_generated/_dependencies/source/0x2/token/structs.d.ts +0 -424
  144. package/mainnet/_generated/_dependencies/source/0x2/token/structs.js +0 -758
  145. package/mainnet/_generated/_dependencies/source/0x2/transfer/structs.d.ts +0 -52
  146. package/mainnet/_generated/_dependencies/source/0x2/transfer/structs.js +0 -133
  147. package/mainnet/_generated/_dependencies/source/0x2/transfer-policy/structs.d.ts +0 -345
  148. package/mainnet/_generated/_dependencies/source/0x2/transfer-policy/structs.js +0 -746
  149. package/mainnet/_generated/_dependencies/source/0x2/tx-context/structs.d.ts +0 -68
  150. package/mainnet/_generated/_dependencies/source/0x2/tx-context/structs.js +0 -177
  151. package/mainnet/_generated/_dependencies/source/0x2/url/structs.d.ts +0 -48
  152. package/mainnet/_generated/_dependencies/source/0x2/url/structs.js +0 -124
  153. package/mainnet/_generated/_dependencies/source/0x2/vec-map/structs.d.ts +0 -101
  154. package/mainnet/_generated/_dependencies/source/0x2/vec-map/structs.js +0 -267
  155. package/mainnet/_generated/_dependencies/source/0x2/vec-set/structs.d.ts +0 -45
  156. package/mainnet/_generated/_dependencies/source/0x2/vec-set/structs.js +0 -151
  157. package/mainnet/_generated/_dependencies/source/0x2/versioned/structs.d.ts +0 -104
  158. package/mainnet/_generated/_dependencies/source/0x2/versioned/structs.js +0 -246
  159. package/mainnet/_generated/_dependencies/source/0x2/zklogin-verified-id/structs.d.ts +0 -105
  160. package/mainnet/_generated/_dependencies/source/0x2/zklogin-verified-id/structs.js +0 -161
  161. package/mainnet/_generated/_dependencies/source/0x2/zklogin-verified-issuer/structs.d.ts +0 -69
  162. package/mainnet/_generated/_dependencies/source/0x2/zklogin-verified-issuer/structs.js +0 -143
  163. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/bytes20/structs.d.ts +0 -44
  164. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/bytes20/structs.js +0 -149
  165. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/bytes32/structs.d.ts +0 -44
  166. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/bytes32/structs.js +0 -149
  167. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/consumed-vaas/structs.d.ts +0 -72
  168. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/consumed-vaas/structs.js +0 -151
  169. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/cursor/structs.d.ts +0 -45
  170. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/cursor/structs.js +0 -151
  171. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/emitter/structs.d.ts +0 -140
  172. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/emitter/structs.js +0 -352
  173. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/external-address/structs.d.ts +0 -52
  174. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/external-address/structs.js +0 -126
  175. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/fee-collector/structs.d.ts +0 -58
  176. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/fee-collector/structs.js +0 -157
  177. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/governance-message/structs.d.ts +0 -158
  178. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/governance-message/structs.js +0 -299
  179. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/guardian/structs.d.ts +0 -52
  180. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/guardian/structs.js +0 -126
  181. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/guardian-set/structs.d.ts +0 -75
  182. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/guardian-set/structs.js +0 -162
  183. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/guardian-signature/structs.d.ts +0 -80
  184. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/guardian-signature/structs.js +0 -144
  185. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/index.d.ts +0 -2
  186. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/index.js +0 -5
  187. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/init.d.ts +0 -2
  188. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/init.js +0 -91
  189. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/migrate/structs.d.ts +0 -46
  190. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/migrate/structs.js +0 -126
  191. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/package-utils/structs.d.ts +0 -177
  192. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/package-utils/structs.js +0 -463
  193. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/publish-message/structs.d.ts +0 -141
  194. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/publish-message/structs.js +0 -308
  195. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/set/structs.d.ts +0 -101
  196. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/set/structs.js +0 -260
  197. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/set-fee/structs.d.ts +0 -79
  198. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/set-fee/structs.js +0 -235
  199. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/setup/structs.d.ts +0 -50
  200. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/setup/structs.js +0 -126
  201. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/state/structs.d.ts +0 -269
  202. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/state/structs.js +0 -314
  203. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/transfer-fee/structs.d.ts +0 -85
  204. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/transfer-fee/structs.js +0 -246
  205. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/update-guardian-set/structs.d.ts +0 -145
  206. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/update-guardian-set/structs.js +0 -376
  207. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/upgrade-contract/structs.d.ts +0 -143
  208. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/upgrade-contract/structs.js +0 -353
  209. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/vaa/structs.d.ts +0 -122
  210. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/vaa/structs.js +0 -198
  211. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/version-control/structs.d.ts +0 -79
  212. package/mainnet/_generated/_dependencies/source/0x5306f64e312b581766351c07af79c72fcb1cd25147157fdc2f8ad76de9a3fb6a/version-control/structs.js +0 -235
  213. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/batch-price-attestation/structs.d.ts +0 -279
  214. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/batch-price-attestation/structs.js +0 -302
  215. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/contract-upgrade/structs.d.ts +0 -105
  216. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/contract-upgrade/structs.js +0 -243
  217. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/data-source/structs.d.ts +0 -66
  218. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/data-source/structs.js +0 -132
  219. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/event/structs.d.ts +0 -200
  220. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/event/structs.js +0 -242
  221. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/governance/structs.d.ts +0 -67
  222. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/governance/structs.js +0 -162
  223. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/governance-action/structs.d.ts +0 -41
  224. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/governance-action/structs.js +0 -125
  225. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/governance-instruction/structs.d.ts +0 -71
  226. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/governance-instruction/structs.js +0 -168
  227. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/hot-potato-vector/structs.d.ts +0 -45
  228. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/hot-potato-vector/structs.js +0 -151
  229. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/i64/structs.d.ts +0 -47
  230. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/i64/structs.js +0 -130
  231. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/init.d.ts +0 -2
  232. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/init.js +0 -86
  233. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/migrate/structs.d.ts +0 -46
  234. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/migrate/structs.js +0 -126
  235. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price/structs.d.ts +0 -84
  236. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price/structs.js +0 -144
  237. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-feed/structs.d.ts +0 -153
  238. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-feed/structs.js +0 -139
  239. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-info/structs.d.ts +0 -351
  240. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-info/structs.js +0 -255
  241. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-status/structs.d.ts +0 -41
  242. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/price-status/structs.js +0 -125
  243. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set/structs.d.ts +0 -110
  244. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set/structs.js +0 -267
  245. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-data-sources/structs.d.ts +0 -75
  246. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-data-sources/structs.js +0 -150
  247. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-fee-recipient/structs.d.ts +0 -41
  248. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-fee-recipient/structs.js +0 -130
  249. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-governance-data-source/structs.d.ts +0 -72
  250. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-governance-data-source/structs.js +0 -138
  251. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-stale-price-threshold/structs.d.ts +0 -41
  252. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-stale-price-threshold/structs.js +0 -125
  253. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-update-fee/structs.d.ts +0 -47
  254. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/set-update-fee/structs.js +0 -131
  255. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/setup/structs.d.ts +0 -50
  256. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/setup/structs.js +0 -126
  257. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/state/structs.d.ts +0 -269
  258. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/state/structs.js +0 -396
  259. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/version-control/structs.d.ts +0 -117
  260. package/mainnet/_generated/_dependencies/source/0x8d97f1cd6ac663735be08d1d2b6d02a159e711586461306ce60a2b7a6a565a9e/version-control/structs.js +0 -345
  261. package/mainnet/_generated/_framework/init-source.d.ts +0 -1
  262. package/mainnet/_generated/_framework/init-source.js +0 -45
  263. package/mainnet/_generated/_framework/loader.d.ts +0 -17
  264. package/mainnet/_generated/_framework/loader.js +0 -46
  265. package/mainnet/_generated/suilend/cell/functions.d.ts +0 -10
  266. package/mainnet/_generated/suilend/cell/functions.js +0 -37
  267. package/mainnet/_generated/suilend/decimal/functions.d.ts +0 -75
  268. package/mainnet/_generated/suilend/decimal/functions.js +0 -152
  269. package/mainnet/_generated/suilend/init.d.ts +0 -2
  270. package/mainnet/_generated/suilend/init.js +0 -79
  271. package/mainnet/_generated/suilend/launch/functions.d.ts +0 -3
  272. package/mainnet/_generated/suilend/launch/functions.js +0 -12
  273. package/mainnet/_generated/suilend/launch/structs.d.ts +0 -41
  274. package/mainnet/_generated/suilend/launch/structs.js +0 -125
  275. package/mainnet/_generated/suilend/lending-market-registry/structs.d.ts +0 -123
  276. package/mainnet/_generated/suilend/lending-market-registry/structs.js +0 -274
  277. package/mainnet/_generated/suilend/liquidity-mining/functions.d.ts +0 -68
  278. package/mainnet/_generated/suilend/liquidity-mining/functions.js +0 -149
  279. package/mainnet/_generated/suilend/obligation/functions.d.ts +0 -132
  280. package/mainnet/_generated/suilend/obligation/functions.js +0 -286
  281. package/mainnet/_generated/suilend/oracles/functions.d.ts +0 -8
  282. package/mainnet/_generated/suilend/oracles/functions.js +0 -19
  283. package/mainnet/_generated/suilend/reserve/functions.d.ts +0 -138
  284. package/mainnet/_generated/suilend/reserve/functions.js +0 -356
  285. package/mainnet/_generated/suilend/suilend/structs.d.ts +0 -41
  286. package/mainnet/_generated/suilend/suilend/structs.js +0 -125
  287. package/mainnet/utils/utils.d.ts +0 -1
  288. package/mainnet/utils/utils.js +0 -17
  289. package/pyth-sdk/SuiPriceServiceConnection.d.ts +0 -14
  290. package/pyth-sdk/SuiPriceServiceConnection.js +0 -32
  291. package/pyth-sdk/client.d.ts +0 -74
  292. package/pyth-sdk/client.js +0 -322
  293. package/pyth-sdk/index.d.ts +0 -4
  294. package/pyth-sdk/index.js +0 -10
@@ -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;
@@ -3,7 +3,7 @@ import { Deps } from "./deps";
3
3
  import { ParsedReserve } from "./reserve";
4
4
  export type ParsedObligation = ReturnType<typeof parseObligation>;
5
5
  export type ParsedPosition = ParsedObligation["deposits"][0] | ParsedObligation["borrows"][0];
6
- export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">, obligation: any, parsedReserveMap: {
6
+ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">, obligation: typeof Obligation, parsedReserveMap: {
7
7
  [coinType: string]: ParsedReserve;
8
8
  }) => {
9
9
  id: any;
@@ -15,6 +15,8 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
15
15
  borrowLimitUsd: BigNumber;
16
16
  minPriceBorrowLimitUsd: BigNumber;
17
17
  unhealthyBorrowValueUsd: BigNumber;
18
+ depositPositionCount: number;
19
+ borrowPositionCount: number;
18
20
  positionCount: number;
19
21
  deposits: {
20
22
  coinType: string;
@@ -23,6 +25,7 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
23
25
  userRewardManager: any;
24
26
  depositedAmount: BigNumber;
25
27
  depositedAmountUsd: BigNumber;
28
+ depositedCtokenAmount: BigNumber;
26
29
  reserve: {
27
30
  config: {
28
31
  $typeName: any;
@@ -39,7 +42,7 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
39
42
  borrowFeeBps: number;
40
43
  spreadFeeBps: number;
41
44
  protocolLiquidationFeeBps: number;
42
- isolated: any;
45
+ isolated: boolean;
43
46
  openAttributedBorrowLimitUsd: number;
44
47
  closeAttributedBorrowLimitUsd: number;
45
48
  interestRate: {
@@ -147,7 +150,7 @@ export declare const parseObligation: ({ Obligation }: Pick<Deps, "Obligation">,
147
150
  borrowFeeBps: number;
148
151
  spreadFeeBps: number;
149
152
  protocolLiquidationFeeBps: number;
150
- isolated: any;
153
+ isolated: boolean;
151
154
  openAttributedBorrowLimitUsd: number;
152
155
  closeAttributedBorrowLimitUsd: number;
153
156
  interestRate: {
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.parseObligation = 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 parseObligation = ({ Obligation }, obligation, parsedReserveMap) => {
@@ -15,13 +15,14 @@ const parseObligation = ({ Obligation }, obligation, parsedReserveMap) => {
15
15
  let borrowLimitUsd = new bignumber_js_1.default(0);
16
16
  let minPriceBorrowLimitUsd = new bignumber_js_1.default(0);
17
17
  let unhealthyBorrowValueUsd = new bignumber_js_1.default(0);
18
- let positionCount = 0;
18
+ let depositPositionCount = 0;
19
+ let borrowPositionCount = 0;
19
20
  const deposits = obligation.deposits.map((deposit) => {
20
21
  const coinType = (0, utils_1.normalizeStructTag)(deposit.coinType.name);
21
22
  const reserve = parsedReserveMap[coinType];
22
23
  if (!reserve)
23
24
  throw new Error(`Reserve with coinType ${deposit.coinType.name} not found`);
24
- positionCount++;
25
+ depositPositionCount++;
25
26
  const depositedCtokenAmount = new bignumber_js_1.default(deposit.depositedCtokenAmount.toString()).div(10 ** reserve.mintDecimals);
26
27
  const depositedAmount = depositedCtokenAmount.times(reserve.cTokenExchangeRate);
27
28
  const depositedAmountUsd = depositedAmount.times(reserve.price);
@@ -41,6 +42,7 @@ const parseObligation = ({ Obligation }, obligation, parsedReserveMap) => {
41
42
  userRewardManager,
42
43
  depositedAmount,
43
44
  depositedAmountUsd,
45
+ depositedCtokenAmount,
44
46
  reserve,
45
47
  original: obligation,
46
48
  };
@@ -50,7 +52,7 @@ const parseObligation = ({ Obligation }, obligation, parsedReserveMap) => {
50
52
  const reserve = parsedReserveMap[coinType];
51
53
  if (!reserve)
52
54
  throw new Error(`Reserve with coinType ${borrow.coinType.name} not found`);
53
- positionCount++;
55
+ borrowPositionCount++;
54
56
  const cumulativeBorrowRate = new bignumber_js_1.default(borrow.cumulativeBorrowRate.value.toString()).div(constants_1.WAD);
55
57
  const borrowedAmountInitial = new bignumber_js_1.default(borrow.borrowedAmount.value.toString())
56
58
  .div(constants_1.WAD)
@@ -90,7 +92,9 @@ const parseObligation = ({ Obligation }, obligation, parsedReserveMap) => {
90
92
  borrowLimitUsd,
91
93
  minPriceBorrowLimitUsd,
92
94
  unhealthyBorrowValueUsd,
93
- positionCount,
95
+ depositPositionCount,
96
+ borrowPositionCount,
97
+ positionCount: depositPositionCount + borrowPositionCount,
94
98
  deposits,
95
99
  borrows,
96
100
  weightedConservativeBorrowUtilizationPercent,
@@ -2,7 +2,7 @@ import BigNumber from "bignumber.js";
2
2
  import { Deps } from "./deps";
3
3
  export type ParsedRateLimiter = ReturnType<typeof parseRateLimiter>;
4
4
  export type ParsedRateLimiterConfig = ReturnType<typeof parseRateLimiterConfig>;
5
- export declare const parseRateLimiter: ({ RateLimiter }: Pick<Deps, "RateLimiter">, rateLimiter: any, currentTime: number) => {
5
+ export declare const parseRateLimiter: ({ RateLimiter }: Pick<Deps, "RateLimiter">, rateLimiter: typeof RateLimiter, currentTime: number) => {
6
6
  config: {
7
7
  windowDuration: any;
8
8
  maxOutflow: any;
@@ -13,7 +13,7 @@ export declare const parseRateLimiter: ({ RateLimiter }: Pick<Deps, "RateLimiter
13
13
  curQty: any;
14
14
  remainingOutflow: BigNumber;
15
15
  };
16
- export declare const parseRateLimiterConfig: ({ RateLimiter }: Pick<Deps, "RateLimiter">, rateLimiter: any) => {
16
+ export declare const parseRateLimiterConfig: ({ RateLimiter }: Pick<Deps, "RateLimiter">, rateLimiter: typeof RateLimiter) => {
17
17
  windowDuration: any;
18
18
  maxOutflow: any;
19
19
  };
@@ -1,11 +1,11 @@
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 ParsedReserve = ReturnType<typeof parseReserve>;
5
5
  export type ParsedReserveConfig = ReturnType<typeof parseReserveConfig>;
6
6
  export type ParsedPoolRewardManager = ReturnType<typeof parsePoolRewardManager>;
7
7
  export type ParsedPoolReward = NonNullable<ReturnType<typeof parsePoolReward>>;
8
- export declare const parseReserve: ({ Reserve, PoolRewardManager, PoolReward, simulate, }: Pick<Deps, "Reserve" | "PoolRewardManager" | "PoolReward" | "simulate">, reserve: any, coinMetadataMap: Record<string, CoinMetadata>) => {
8
+ export declare const parseReserve: ({ Reserve, PoolRewardManager, PoolReward, simulate, }: Pick<Deps, "Reserve" | "PoolRewardManager" | "PoolReward" | "simulate">, reserve: typeof Reserve, coinMetadataMap: Record<string, CoinMetadata>) => {
9
9
  config: {
10
10
  $typeName: any;
11
11
  openLtvPct: any;
@@ -21,7 +21,7 @@ export declare const parseReserve: ({ Reserve, PoolRewardManager, PoolReward, si
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: {
@@ -107,7 +107,7 @@ export declare const parseReserve: ({ Reserve, PoolRewardManager, PoolReward, si
107
107
  */
108
108
  totalDeposits: BigNumber;
109
109
  };
110
- export declare const parseReserveConfig: ({ Reserve }: Pick<Deps, "Reserve">, reserve: any) => {
110
+ export declare const parseReserveConfig: ({ Reserve }: Pick<Deps, "Reserve">, reserve: typeof Reserve) => {
111
111
  $typeName: any;
112
112
  openLtvPct: any;
113
113
  closeLtvPct: any;
@@ -122,7 +122,7 @@ export declare const parseReserveConfig: ({ Reserve }: Pick<Deps, "Reserve">, re
122
122
  borrowFeeBps: number;
123
123
  spreadFeeBps: number;
124
124
  protocolLiquidationFeeBps: number;
125
- isolated: any;
125
+ isolated: boolean;
126
126
  openAttributedBorrowLimitUsd: number;
127
127
  closeAttributedBorrowLimitUsd: number;
128
128
  interestRate: {
@@ -131,7 +131,7 @@ export declare const parseReserveConfig: ({ Reserve }: Pick<Deps, "Reserve">, re
131
131
  aprPercent: BigNumber;
132
132
  }[];
133
133
  };
134
- export declare const parsePoolRewardManager: ({ PoolRewardManager, PoolReward, }: Pick<Deps, "PoolRewardManager" | "PoolReward">, poolRewardManager: any, coinMetadataMap: Record<string, CoinMetadata>) => {
134
+ export declare const parsePoolRewardManager: ({ PoolRewardManager, PoolReward, }: Pick<Deps, "PoolRewardManager" | "PoolReward">, poolRewardManager: typeof PoolRewardManager, coinMetadataMap: Record<string, CoinMetadata>) => {
135
135
  $typeName: any;
136
136
  id: any;
137
137
  totalShares: any;
@@ -152,7 +152,7 @@ export declare const parsePoolRewardManager: ({ PoolRewardManager, PoolReward, }
152
152
  }[];
153
153
  lastUpdateTimeMs: any;
154
154
  };
155
- export declare const parsePoolReward: ({ PoolReward }: Pick<Deps, "PoolReward">, poolReward: any, rewardIndex: number, coinMetadataMap: Record<string, CoinMetadata>) => {
155
+ export declare const parsePoolReward: ({ PoolReward }: Pick<Deps, "PoolReward">, poolReward: typeof PoolReward | null, rewardIndex: number, coinMetadataMap: Record<string, CoinMetadata>) => {
156
156
  $typeName: any;
157
157
  id: any;
158
158
  poolRewardManagerId: any;
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.parsePoolReward = exports.parsePoolRewardManager = exports.parseReserveConfig = exports.parseReserve = 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 uuid_1 = require("uuid");
10
10
  const constants_1 = require("../constants");
package/core/types.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import { BcsType, InferBcsType } from "@mysten/bcs";
2
- import { ObjectArg as SuiObjectArg } from "@mysten/sui.js/bcs";
3
- import { SuiClient } from "@mysten/sui.js/client";
4
- import { TransactionArgument } from "@mysten/sui.js/transactions";
2
+ import { SuiClient } from "@mysten/sui/client";
3
+ import { TransactionArgument, TransactionObjectInput } from "@mysten/sui/transactions";
5
4
  export declare const ID: BcsType<{
6
5
  bytes: string;
7
6
  }, {
@@ -524,22 +523,17 @@ export declare enum Side {
524
523
  DEPOSIT = "deposit",
525
524
  BORROW = "borrow"
526
525
  }
527
- export type ObjectId = string;
528
- export type ObjectCallArg = {
529
- Object: SuiObjectArg;
530
- };
531
- export type ObjectArg = string | ObjectCallArg | TransactionArgument;
532
526
  export interface PhantomReified<P> {
533
527
  phantomType: P;
534
528
  kind: "PhantomReified";
535
529
  }
536
530
  export interface AddReserveArgs {
537
- lendingMarketOwnerCap: ObjectArg;
538
- lendingMarket: ObjectArg;
539
- priceInfo: ObjectArg;
540
- config: ObjectArg;
541
- coinMetadata: ObjectArg;
542
- clock: ObjectArg;
531
+ lendingMarketOwnerCap: TransactionObjectInput;
532
+ lendingMarket: TransactionObjectInput;
533
+ priceInfo: TransactionObjectInput;
534
+ config: TransactionObjectInput;
535
+ coinMetadata: TransactionObjectInput;
536
+ clock: TransactionObjectInput;
543
537
  }
544
538
  export interface CreateReserveConfigArgs {
545
539
  openLtvPct: number | TransactionArgument;
@@ -562,49 +556,49 @@ export interface CreateReserveConfigArgs {
562
556
  closeAttributedBorrowLimitUsd: bigint | TransactionArgument;
563
557
  }
564
558
  export interface UpdateReserveConfigArgs {
565
- lendingMarketOwnerCap: ObjectArg;
566
- lendingMarket: ObjectArg;
559
+ lendingMarketOwnerCap: TransactionObjectInput;
560
+ lendingMarket: TransactionObjectInput;
567
561
  reserveArrayIndex: bigint | TransactionArgument;
568
- config: ObjectArg;
562
+ config: TransactionObjectInput;
569
563
  }
570
564
  export interface AddPoolRewardArgs {
571
- lendingMarketOwnerCap: ObjectArg;
572
- lendingMarket: ObjectArg;
565
+ lendingMarketOwnerCap: TransactionObjectInput;
566
+ lendingMarket: TransactionObjectInput;
573
567
  reserveArrayIndex: bigint | TransactionArgument;
574
568
  isDepositReward: boolean | TransactionArgument;
575
- rewards: ObjectArg;
569
+ rewards: TransactionObjectInput;
576
570
  startTimeMs: bigint | TransactionArgument;
577
571
  endTimeMs: bigint | TransactionArgument;
578
- clock: ObjectArg;
572
+ clock: TransactionObjectInput;
579
573
  }
580
574
  export interface CancelPoolRewardArgs {
581
- lendingMarketOwnerCap: ObjectArg;
582
- lendingMarket: ObjectArg;
575
+ lendingMarketOwnerCap: TransactionObjectInput;
576
+ lendingMarket: TransactionObjectInput;
583
577
  reserveArrayIndex: bigint | TransactionArgument;
584
578
  isDepositReward: boolean | TransactionArgument;
585
579
  rewardIndex: bigint | TransactionArgument;
586
- clock: ObjectArg;
580
+ clock: TransactionObjectInput;
587
581
  }
588
582
  export interface ClosePoolRewardArgs {
589
- lendingMarketOwnerCap: ObjectArg;
590
- lendingMarket: ObjectArg;
583
+ lendingMarketOwnerCap: TransactionObjectInput;
584
+ lendingMarket: TransactionObjectInput;
591
585
  reserveArrayIndex: bigint | TransactionArgument;
592
586
  isDepositReward: boolean | TransactionArgument;
593
587
  rewardIndex: bigint | TransactionArgument;
594
- clock: ObjectArg;
588
+ clock: TransactionObjectInput;
595
589
  }
596
590
  export interface ClaimRewardsArgs {
597
- lendingMarket: ObjectArg;
598
- cap: ObjectArg;
599
- clock: ObjectArg;
591
+ lendingMarket: TransactionObjectInput;
592
+ cap: TransactionObjectInput;
593
+ clock: TransactionObjectInput;
600
594
  reserveId: bigint | TransactionArgument;
601
595
  rewardIndex: bigint | TransactionArgument;
602
596
  isDepositReward: boolean | TransactionArgument;
603
597
  }
604
598
  export interface ClaimRewardsAndDepositArgs {
605
- lendingMarket: ObjectArg;
599
+ lendingMarket: TransactionObjectInput;
606
600
  obligationId: string | TransactionArgument;
607
- clock: ObjectArg;
601
+ clock: TransactionObjectInput;
608
602
  rewardReserveId: bigint | TransactionArgument;
609
603
  rewardIndex: bigint | TransactionArgument;
610
604
  isDepositReward: boolean | TransactionArgument;
@@ -615,62 +609,73 @@ export interface CreateRateLimiterConfigArgs {
615
609
  maxOutflow: bigint | TransactionArgument;
616
610
  }
617
611
  export interface UpdateRateLimiterConfigArgs {
618
- lendingMarketOwnerCap: ObjectArg;
619
- lendingMarket: ObjectArg;
620
- clock: ObjectArg;
621
- config: ObjectArg;
612
+ lendingMarketOwnerCap: TransactionObjectInput;
613
+ lendingMarket: TransactionObjectInput;
614
+ clock: TransactionObjectInput;
615
+ config: TransactionObjectInput;
622
616
  }
623
617
  export interface RefreshReservePriceArgs {
624
- lendingMarket: ObjectArg;
618
+ lendingMarket: TransactionObjectInput;
625
619
  reserveArrayIndex: bigint | TransactionArgument;
626
- clock: ObjectArg;
627
- priceInfo: ObjectArg;
620
+ clock: TransactionObjectInput;
621
+ priceInfo: TransactionObjectInput;
628
622
  }
629
623
  export interface DepositLiquidityAndMintCtokensArgs {
630
- lendingMarket: ObjectArg;
624
+ lendingMarket: TransactionObjectInput;
631
625
  reserveArrayIndex: bigint | TransactionArgument;
632
- clock: ObjectArg;
633
- deposit: ObjectArg;
626
+ clock: TransactionObjectInput;
627
+ deposit: TransactionObjectInput;
634
628
  }
635
629
  export interface DepositCtokensIntoObligationArgs {
636
- lendingMarket: ObjectArg;
630
+ lendingMarket: TransactionObjectInput;
637
631
  reserveArrayIndex: bigint | TransactionArgument;
638
- obligationOwnerCap: ObjectArg;
639
- clock: ObjectArg;
640
- deposit: ObjectArg;
632
+ obligationOwnerCap: TransactionObjectInput;
633
+ clock: TransactionObjectInput;
634
+ deposit: TransactionObjectInput;
641
635
  }
642
636
  export interface WithdrawCtokensArgs {
643
- lendingMarket: ObjectArg;
637
+ lendingMarket: TransactionObjectInput;
644
638
  reserveArrayIndex: bigint | TransactionArgument;
645
- obligationOwnerCap: ObjectArg;
646
- clock: ObjectArg;
639
+ obligationOwnerCap: TransactionObjectInput;
640
+ clock: TransactionObjectInput;
647
641
  amount: bigint | TransactionArgument;
648
642
  }
649
643
  export interface BorrowArgs {
650
- lendingMarket: ObjectArg;
644
+ lendingMarket: TransactionObjectInput;
651
645
  reserveArrayIndex: bigint | TransactionArgument;
652
- obligationOwnerCap: ObjectArg;
653
- clock: ObjectArg;
646
+ obligationOwnerCap: TransactionObjectInput;
647
+ clock: TransactionObjectInput;
654
648
  amount: bigint | TransactionArgument;
655
649
  }
656
650
  export interface RepayArgs {
657
- lendingMarket: ObjectArg;
651
+ lendingMarket: TransactionObjectInput;
658
652
  reserveArrayIndex: bigint | TransactionArgument;
659
653
  obligationId: string | TransactionArgument;
660
- clock: ObjectArg;
661
- maxRepayCoins: ObjectArg;
654
+ clock: TransactionObjectInput;
655
+ maxRepayCoins: TransactionObjectInput;
662
656
  }
663
657
  export interface LiquidateArgs {
664
- lendingMarket: ObjectArg;
658
+ lendingMarket: TransactionObjectInput;
665
659
  obligationId: string | TransactionArgument;
666
660
  repayReserveArrayIndex: bigint | TransactionArgument;
667
661
  withdrawReserveArrayIndex: bigint | TransactionArgument;
668
- clock: ObjectArg;
669
- repayCoins: ObjectArg;
662
+ clock: TransactionObjectInput;
663
+ repayCoins: TransactionObjectInput;
670
664
  }
671
665
  export interface MigrateArgs {
672
- lendingMarketOwnerCap: ObjectArg;
673
- lendingMarket: ObjectArg;
666
+ lendingMarketOwnerCap: TransactionObjectInput;
667
+ lendingMarket: TransactionObjectInput;
668
+ }
669
+ export interface ClaimFeesArgs {
670
+ lendingMarket: TransactionObjectInput;
671
+ reserveArrayIndex: bigint | TransactionArgument;
672
+ }
673
+ export interface RedeemCtokensAndWithdrawLiquidityArgs {
674
+ lendingMarket: TransactionObjectInput;
675
+ reserveArrayIndex: bigint | TransactionArgument;
676
+ clock: TransactionObjectInput;
677
+ ctokens: TransactionObjectInput;
678
+ rateLimiterExemption: TransactionObjectInput | TransactionArgument | null;
674
679
  }
675
680
  export type ApiInterestUpdateEvent = {
676
681
  id: number;
package/core/types.js CHANGED
@@ -9,12 +9,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.Side = exports.load = exports.LendingMarket = exports.ObjectBag = exports.Reserve = exports.PriceIdentifier = exports.ReserveConfig = exports.InterestRateModel = exports.Obligation = exports.Bag = exports.Deposit = exports.Borrow = exports.Decimal = exports.ObligationOwnerCap = exports.UID = exports.ID = void 0;
12
+ exports.Side = exports.LendingMarket = exports.ObjectBag = exports.Reserve = exports.PriceIdentifier = exports.ReserveConfig = exports.InterestRateModel = exports.Obligation = exports.Bag = exports.Deposit = exports.Borrow = exports.Decimal = exports.ObligationOwnerCap = exports.UID = exports.ID = void 0;
13
+ exports.load = load;
13
14
  const bcs_1 = require("@mysten/bcs");
15
+ const utils_1 = require("@mysten/sui/utils");
14
16
  exports.ID = bcs_1.bcs.struct("ID", {
15
17
  bytes: bcs_1.bcs.bytes(32).transform({
16
- input: (val) => (0, bcs_1.fromHEX)(val),
17
- output: (val) => (0, bcs_1.toHEX)(val),
18
+ input: (val) => (0, utils_1.fromHex)(val),
19
+ output: (val) => (0, utils_1.toHex)(val),
18
20
  }),
19
21
  });
20
22
  exports.UID = bcs_1.bcs.struct("UID", {
@@ -45,8 +47,8 @@ exports.Bag = bcs_1.bcs.struct("Bag", {
45
47
  exports.Obligation = bcs_1.bcs.struct("Obligation", {
46
48
  id: exports.UID,
47
49
  owner: bcs_1.bcs.bytes(32).transform({
48
- input: (val) => (0, bcs_1.fromHEX)(val),
49
- output: (val) => (0, bcs_1.toHEX)(val),
50
+ input: (val) => (0, utils_1.fromHex)(val),
51
+ output: (val) => (0, utils_1.toHex)(val),
50
52
  }),
51
53
  deposits: bcs_1.bcs.vector(exports.Deposit),
52
54
  borrows: bcs_1.bcs.vector(exports.Borrow),
@@ -112,10 +114,10 @@ function load(client, type, id) {
112
114
  if (((_b = (_a = data.data) === null || _a === void 0 ? void 0 : _a.bcs) === null || _b === void 0 ? void 0 : _b.dataType) !== "moveObject") {
113
115
  throw new Error("Error: invalid data type");
114
116
  }
115
- return type.parse((0, bcs_1.fromB64)(data.data.bcs.bcsBytes));
117
+ return type.parse((0, utils_1.fromBase64)(data.data.bcs.bcsBytes));
116
118
  });
117
119
  }
118
- exports.load = load;
120
+ //
119
121
  var Side;
120
122
  (function (Side) {
121
123
  Side["DEPOSIT"] = "deposit";
@@ -1,4 +1,4 @@
1
- import { SuiClient, SuiEvent } from "@mysten/sui.js/client";
1
+ import { SuiClient, SuiEvent } from "@mysten/sui/client";
2
2
  type TypeName = {
3
3
  name: string;
4
4
  };
@@ -30,7 +30,7 @@ declare class TypedParamsSuiEvent<T> {
30
30
  params(): T;
31
31
  isType(module: SuilendTransactionModule, eventType: SuilendEventType): boolean;
32
32
  }
33
- export declare class GenericSuilendEvent extends TypedParamsSuiEvent<{}> {
33
+ export declare class GenericSuilendEvent extends TypedParamsSuiEvent<object> {
34
34
  }
35
35
  export declare class InterestUpdateEvent extends TypedParamsSuiEvent<{
36
36
  lending_market_id: address;
@@ -9,7 +9,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.getRedeemEvent = exports.getEvents = exports.ObligationDataEvent = exports.ClaimRewardEvent = exports.LiquidateEvent = exports.RepayEvent = exports.BorrowEvent = exports.WithdrawEvent = exports.DepositEvent = exports.RedeemEvent = exports.MintEvent = exports.ReserveAssetDataEvent = exports.InterestUpdateEvent = exports.GenericSuilendEvent = exports.SuilendTransactionModule = exports.SuilendEventType = void 0;
12
+ exports.ObligationDataEvent = exports.ClaimRewardEvent = exports.LiquidateEvent = exports.RepayEvent = exports.BorrowEvent = exports.WithdrawEvent = exports.DepositEvent = exports.RedeemEvent = exports.MintEvent = exports.ReserveAssetDataEvent = exports.InterestUpdateEvent = exports.GenericSuilendEvent = exports.SuilendTransactionModule = exports.SuilendEventType = void 0;
13
+ exports.getEvents = getEvents;
14
+ exports.getRedeemEvent = getRedeemEvent;
13
15
  var SuilendEventType;
14
16
  (function (SuilendEventType) {
15
17
  SuilendEventType["InterestUpdateEvent"] = "InterestUpdateEvent";
@@ -89,7 +91,6 @@ function getEvents(client, digest) {
89
91
  return events;
90
92
  });
91
93
  }
92
- exports.getEvents = getEvents;
93
94
  function getRedeemEvent(client, digest) {
94
95
  return __awaiter(this, void 0, void 0, function* () {
95
96
  const events = yield getEvents(client, digest);
@@ -101,4 +102,3 @@ function getRedeemEvent(client, digest) {
101
102
  return null;
102
103
  });
103
104
  }
104
- exports.getRedeemEvent = getRedeemEvent;
@@ -1,5 +1,5 @@
1
+ import { SuiPriceServiceConnection } from "@pythnetwork/pyth-sui-js";
1
2
  import BigNumber from "bignumber.js";
2
- import { SuiPriceServiceConnection } from "../../pyth-sdk";
3
3
  interface Deps {
4
4
  Decimal: any;
5
5
  Obligation: any;
@@ -13,10 +13,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.Simulate = void 0;
16
- const bcs_1 = require("@mysten/sui.js/bcs");
17
- const utils_1 = require("@mysten/sui.js/utils");
16
+ const bcs_1 = require("@mysten/sui/bcs");
17
+ const utils_1 = require("@mysten/sui/utils");
18
18
  const bignumber_js_1 = __importDefault(require("bignumber.js"));
19
+ const uuid_1 = require("uuid");
19
20
  const constants_1 = require("../constants");
21
+ const utils_2 = require("../utils");
20
22
  class Simulate {
21
23
  constructor({ Decimal, Obligation, Deposit, Borrow, Reserve, ReserveConfig, PoolRewardManager, PoolReward, UserRewardManager, UserReward, }) {
22
24
  this.Decimal = Decimal;
@@ -35,7 +37,7 @@ class Simulate {
35
37
  */
36
38
  calculateUtilizationRate(reserve) {
37
39
  const { mintDecimals } = reserve;
38
- // Parsing logic from core/parsers/reserve.ts
40
+ // From core/parsers/reserve.ts > parseReserve
39
41
  const availableAmount = new bignumber_js_1.default(reserve.availableAmount.toString()).div(10 ** mintDecimals);
40
42
  const borrowedAmount = new bignumber_js_1.default(reserve.borrowedAmount.value.toString())
41
43
  .div(constants_1.WAD)
@@ -59,22 +61,13 @@ class Simulate {
59
61
  calculateBorrowApr(reserve) {
60
62
  const config = reserve.config.element;
61
63
  const utilizationPercent = this.calculateUtilizationPercent(reserve);
62
- let i = 1;
63
- while (i < config.interestRateUtils.length) {
64
- // Parsing logic from core/parsers/reserve.ts
65
- const leftUtilPercent = new bignumber_js_1.default(config.interestRateUtils[i - 1]);
66
- const rightUtilPercent = new bignumber_js_1.default(config.interestRateUtils[i]);
67
- if (utilizationPercent.gte(leftUtilPercent) &&
68
- utilizationPercent.lte(rightUtilPercent)) {
69
- const leftAprPercent = new bignumber_js_1.default(config.interestRateAprs[i - 1].toString()).div(100);
70
- const rightAprPercent = new bignumber_js_1.default(config.interestRateAprs[i].toString()).div(100);
71
- const weight = new bignumber_js_1.default(utilizationPercent.minus(leftUtilPercent)).div(rightUtilPercent.minus(leftUtilPercent));
72
- return leftAprPercent.plus(weight.times(rightAprPercent.minus(leftAprPercent)));
73
- }
74
- i = i + 1;
75
- }
76
- // Should never reach here
77
- return new bignumber_js_1.default(0);
64
+ // From core/parsers/reserve.ts > parseReserveConfig
65
+ const interestRate = config.interestRateUtils.map((util, index) => ({
66
+ id: (0, uuid_1.v4)(),
67
+ utilPercent: new bignumber_js_1.default(util.toString()),
68
+ aprPercent: new bignumber_js_1.default(config.interestRateAprs[index].toString()).div(100),
69
+ }));
70
+ return (0, utils_2.linearlyInterpolate)(interestRate, "utilPercent", "aprPercent", utilizationPercent);
78
71
  }
79
72
  calculateBorrowAprPercent(reserve) {
80
73
  return this.calculateBorrowApr(reserve);
@@ -86,9 +79,11 @@ class Simulate {
86
79
  const config = reserve.config.element;
87
80
  const utilizationPercent = this.calculateUtilizationPercent(reserve);
88
81
  const borrowAprPercent = this.calculateBorrowAprPercent(reserve);
82
+ // From core/parsers/reserve.ts > parseReserveConfig
83
+ const spreadFeeBps = Number(config.spreadFeeBps.toString());
89
84
  return new bignumber_js_1.default(utilizationPercent.div(100))
90
85
  .times(borrowAprPercent.div(100))
91
- .times(1 - +config.spreadFeeBps.toString() / 10000)
86
+ .times(1 - spreadFeeBps / 10000)
92
87
  .times(100);
93
88
  }
94
89
  calculateDepositAprPercent(reserve) {
@@ -157,7 +152,7 @@ class Simulate {
157
152
  }
158
153
  refreshReservePrice(reserves, pythConnection) {
159
154
  return __awaiter(this, void 0, void 0, function* () {
160
- const priceIdentifiers = reserves.map((r) => (0, utils_1.toHEX)(new Uint8Array(r.priceIdentifier.bytes)));
155
+ const priceIdentifiers = reserves.map((r) => (0, utils_1.toHex)(new Uint8Array(r.priceIdentifier.bytes)));
161
156
  const priceData = yield pythConnection.getLatestPriceFeeds(priceIdentifiers);
162
157
  if (!priceData)
163
158
  return reserves;
package/core/utils.d.ts CHANGED
@@ -1 +1,7 @@
1
+ import BigNumber from "bignumber.js";
2
+ import { ParsedReserve } from "./parsers/reserve";
1
3
  export declare const toHexString: (bytes: number[]) => string;
4
+ export declare const reserveSort: (reserves: ParsedReserve[], aCoinType: string, bCoinType: string) => number;
5
+ export declare const linearlyInterpolate: (array: any[], xKey: string, yKey: string, _xValue: number | BigNumber) => BigNumber;
6
+ export declare const isCTokenCoinType: (coinType: string) => boolean;
7
+ export declare const extractCTokenCoinType: (coinType: string) => string;
package/core/utils.js CHANGED
@@ -1,7 +1,41 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.toHexString = void 0;
6
+ exports.extractCTokenCoinType = exports.isCTokenCoinType = exports.linearlyInterpolate = exports.reserveSort = exports.toHexString = void 0;
7
+ const utils_1 = require("@mysten/sui/utils");
8
+ const bignumber_js_1 = __importDefault(require("bignumber.js"));
4
9
  const toHexString = (bytes) => Array.from(bytes, function (byte) {
5
10
  return ("0" + (byte & 0xff).toString(16)).slice(-2);
6
11
  }).join("");
7
12
  exports.toHexString = toHexString;
13
+ const reserveSort = (reserves, aCoinType, bCoinType) => reserves.findIndex((r) => r.coinType === aCoinType) -
14
+ reserves.findIndex((r) => r.coinType === bCoinType);
15
+ exports.reserveSort = reserveSort;
16
+ const linearlyInterpolate = (array, xKey, yKey, _xValue) => {
17
+ let i = 1;
18
+ while (i < array.length) {
19
+ const leftXValue = new bignumber_js_1.default(array[i - 1][xKey]);
20
+ const leftYValue = new bignumber_js_1.default(array[i - 1][yKey]);
21
+ const xValue = new bignumber_js_1.default(_xValue);
22
+ const rightXValue = new bignumber_js_1.default(array[i][xKey]);
23
+ const rightYValue = new bignumber_js_1.default(array[i][yKey]);
24
+ if (xValue.gte(leftXValue) && xValue.lte(rightXValue)) {
25
+ const weight = new bignumber_js_1.default(xValue.minus(leftXValue)).div(rightXValue.minus(leftXValue));
26
+ return leftYValue.plus(weight.times(rightYValue.minus(leftYValue)));
27
+ }
28
+ i = i + 1;
29
+ }
30
+ // Should never reach here
31
+ return new bignumber_js_1.default(0);
32
+ };
33
+ exports.linearlyInterpolate = linearlyInterpolate;
34
+ const isCTokenCoinType = (coinType) => coinType.includes("::reserve::CToken<") && coinType.endsWith(">");
35
+ exports.isCTokenCoinType = isCTokenCoinType;
36
+ const extractCTokenCoinType = (coinType) => {
37
+ if (!(0, exports.isCTokenCoinType)(coinType))
38
+ throw new Error("Not a CToken ");
39
+ return (0, utils_1.normalizeStructTag)(coinType.split("::reserve::CToken")[1].split(",")[1].slice(0, -1));
40
+ };
41
+ exports.extractCTokenCoinType = extractCTokenCoinType;