@townsq/mm-sdk 1.0.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 (390) hide show
  1. package/README.md +95 -0
  2. package/dist/chains/evm/common/constant/abi/arbitrum-node-interface-abi.d.ts +25 -0
  3. package/dist/chains/evm/common/constant/abi/arbitrum-node-interface-abi.js +18 -0
  4. package/dist/chains/evm/common/constant/abi/arbitrum-node-interface-abi.js.map +1 -0
  5. package/dist/chains/evm/common/constant/abi/bridge-router-abi.d.ts +1030 -0
  6. package/dist/chains/evm/common/constant/abi/bridge-router-abi.js +794 -0
  7. package/dist/chains/evm/common/constant/abi/bridge-router-abi.js.map +1 -0
  8. package/dist/chains/evm/common/constant/abi/ccip-data-adapter-abi.d.ts +796 -0
  9. package/dist/chains/evm/common/constant/abi/ccip-data-adapter-abi.js +622 -0
  10. package/dist/chains/evm/common/constant/abi/ccip-data-adapter-abi.js.map +1 -0
  11. package/dist/chains/evm/common/constant/abi/erc-20-abi.d.ts +235 -0
  12. package/dist/chains/evm/common/constant/abi/erc-20-abi.js +157 -0
  13. package/dist/chains/evm/common/constant/abi/erc-20-abi.js.map +1 -0
  14. package/dist/chains/evm/common/constant/abi/wormhole-data-adapter-abi.d.ts +821 -0
  15. package/dist/chains/evm/common/constant/abi/wormhole-data-adapter-abi.js +645 -0
  16. package/dist/chains/evm/common/constant/abi/wormhole-data-adapter-abi.js.map +1 -0
  17. package/dist/chains/evm/common/constant/abi/wormhole-relayer-abi.d.ts +783 -0
  18. package/dist/chains/evm/common/constant/abi/wormhole-relayer-abi.js +501 -0
  19. package/dist/chains/evm/common/constant/abi/wormhole-relayer-abi.js.map +1 -0
  20. package/dist/chains/evm/common/constant/chain.d.ts +128 -0
  21. package/dist/chains/evm/common/constant/chain.js +62 -0
  22. package/dist/chains/evm/common/constant/chain.js.map +1 -0
  23. package/dist/chains/evm/common/constant/contract.d.ts +9 -0
  24. package/dist/chains/evm/common/constant/contract.js +13 -0
  25. package/dist/chains/evm/common/constant/contract.js.map +1 -0
  26. package/dist/chains/evm/common/constant/tokens.d.ts +6 -0
  27. package/dist/chains/evm/common/constant/tokens.js +21 -0
  28. package/dist/chains/evm/common/constant/tokens.js.map +1 -0
  29. package/dist/chains/evm/common/types/chain.d.ts +9 -0
  30. package/dist/chains/evm/common/types/chain.js +2 -0
  31. package/dist/chains/evm/common/types/chain.js.map +1 -0
  32. package/dist/chains/evm/common/types/contract.d.ts +8 -0
  33. package/dist/chains/evm/common/types/contract.js +2 -0
  34. package/dist/chains/evm/common/types/contract.js.map +1 -0
  35. package/dist/chains/evm/common/types/gmp.d.ts +37 -0
  36. package/dist/chains/evm/common/types/gmp.js +2 -0
  37. package/dist/chains/evm/common/types/gmp.js.map +1 -0
  38. package/dist/chains/evm/common/types/module.d.ts +90 -0
  39. package/dist/chains/evm/common/types/module.js +2 -0
  40. package/dist/chains/evm/common/types/module.js.map +1 -0
  41. package/dist/chains/evm/common/types/token.d.ts +28 -0
  42. package/dist/chains/evm/common/types/token.js +2 -0
  43. package/dist/chains/evm/common/types/token.js.map +1 -0
  44. package/dist/chains/evm/common/utils/chain.d.ts +7 -0
  45. package/dist/chains/evm/common/utils/chain.js +24 -0
  46. package/dist/chains/evm/common/utils/chain.js.map +1 -0
  47. package/dist/chains/evm/common/utils/contract.d.ts +7387 -0
  48. package/dist/chains/evm/common/utils/contract.js +67 -0
  49. package/dist/chains/evm/common/utils/contract.js.map +1 -0
  50. package/dist/chains/evm/common/utils/gmp.d.ts +7 -0
  51. package/dist/chains/evm/common/utils/gmp.js +32 -0
  52. package/dist/chains/evm/common/utils/gmp.js.map +1 -0
  53. package/dist/chains/evm/common/utils/message.d.ts +21 -0
  54. package/dist/chains/evm/common/utils/message.js +426 -0
  55. package/dist/chains/evm/common/utils/message.js.map +1 -0
  56. package/dist/chains/evm/common/utils/provider.d.ts +5 -0
  57. package/dist/chains/evm/common/utils/provider.js +24 -0
  58. package/dist/chains/evm/common/utils/provider.js.map +1 -0
  59. package/dist/chains/evm/common/utils/tokens.d.ts +11 -0
  60. package/dist/chains/evm/common/utils/tokens.js +58 -0
  61. package/dist/chains/evm/common/utils/tokens.js.map +1 -0
  62. package/dist/chains/evm/hub/constants/abi/account-manager-abi.d.ts +945 -0
  63. package/dist/chains/evm/hub/constants/abi/account-manager-abi.js +709 -0
  64. package/dist/chains/evm/hub/constants/abi/account-manager-abi.js.map +1 -0
  65. package/dist/chains/evm/hub/constants/abi/bridge-router-hub-abi.d.ts +1062 -0
  66. package/dist/chains/evm/hub/constants/abi/bridge-router-hub-abi.js +816 -0
  67. package/dist/chains/evm/hub/constants/abi/bridge-router-hub-abi.js.map +1 -0
  68. package/dist/chains/evm/hub/constants/abi/hub-abi.d.ts +344 -0
  69. package/dist/chains/evm/hub/constants/abi/hub-abi.js +229 -0
  70. package/dist/chains/evm/hub/constants/abi/hub-abi.js.map +1 -0
  71. package/dist/chains/evm/hub/constants/abi/hub-pool-abi.d.ts +1999 -0
  72. package/dist/chains/evm/hub/constants/abi/hub-pool-abi.js +1558 -0
  73. package/dist/chains/evm/hub/constants/abi/hub-pool-abi.js.map +1 -0
  74. package/dist/chains/evm/hub/constants/abi/hub-rewards-v1-abi.d.ts +850 -0
  75. package/dist/chains/evm/hub/constants/abi/hub-rewards-v1-abi.js +649 -0
  76. package/dist/chains/evm/hub/constants/abi/hub-rewards-v1-abi.js.map +1 -0
  77. package/dist/chains/evm/hub/constants/abi/hub-rewards-v2-abi.d.ts +1213 -0
  78. package/dist/chains/evm/hub/constants/abi/hub-rewards-v2-abi.js +890 -0
  79. package/dist/chains/evm/hub/constants/abi/hub-rewards-v2-abi.js.map +1 -0
  80. package/dist/chains/evm/hub/constants/abi/loan-manager-abi.d.ts +1573 -0
  81. package/dist/chains/evm/hub/constants/abi/loan-manager-abi.js +1055 -0
  82. package/dist/chains/evm/hub/constants/abi/loan-manager-abi.js.map +1 -0
  83. package/dist/chains/evm/hub/constants/abi/node-manager-abi.d.ts +269 -0
  84. package/dist/chains/evm/hub/constants/abi/node-manager-abi.js +228 -0
  85. package/dist/chains/evm/hub/constants/abi/node-manager-abi.js.map +1 -0
  86. package/dist/chains/evm/hub/constants/abi/oracle-manager-abi.d.ts +495 -0
  87. package/dist/chains/evm/hub/constants/abi/oracle-manager-abi.js +391 -0
  88. package/dist/chains/evm/hub/constants/abi/oracle-manager-abi.js.map +1 -0
  89. package/dist/chains/evm/hub/constants/chain.d.ts +3 -0
  90. package/dist/chains/evm/hub/constants/chain.js +242 -0
  91. package/dist/chains/evm/hub/constants/chain.js.map +1 -0
  92. package/dist/chains/evm/hub/modules/index.d.ts +5 -0
  93. package/dist/chains/evm/hub/modules/index.js +6 -0
  94. package/dist/chains/evm/hub/modules/index.js.map +1 -0
  95. package/dist/chains/evm/hub/modules/ts-hub-account.d.ts +8 -0
  96. package/dist/chains/evm/hub/modules/ts-hub-account.js +75 -0
  97. package/dist/chains/evm/hub/modules/ts-hub-account.js.map +1 -0
  98. package/dist/chains/evm/hub/modules/ts-hub-gmp.d.ts +18 -0
  99. package/dist/chains/evm/hub/modules/ts-hub-gmp.js +98 -0
  100. package/dist/chains/evm/hub/modules/ts-hub-gmp.js.map +1 -0
  101. package/dist/chains/evm/hub/modules/ts-hub-loan.d.ts +27 -0
  102. package/dist/chains/evm/hub/modules/ts-hub-loan.js +484 -0
  103. package/dist/chains/evm/hub/modules/ts-hub-loan.js.map +1 -0
  104. package/dist/chains/evm/hub/modules/ts-hub-oracle.d.ts +8 -0
  105. package/dist/chains/evm/hub/modules/ts-hub-oracle.js +58 -0
  106. package/dist/chains/evm/hub/modules/ts-hub-oracle.js.map +1 -0
  107. package/dist/chains/evm/hub/modules/ts-hub-pool.d.ts +5 -0
  108. package/dist/chains/evm/hub/modules/ts-hub-pool.js +138 -0
  109. package/dist/chains/evm/hub/modules/ts-hub-pool.js.map +1 -0
  110. package/dist/chains/evm/hub/types/account.d.ts +23 -0
  111. package/dist/chains/evm/hub/types/account.js +2 -0
  112. package/dist/chains/evm/hub/types/account.js.map +1 -0
  113. package/dist/chains/evm/hub/types/chain.d.ts +20 -0
  114. package/dist/chains/evm/hub/types/chain.js +2 -0
  115. package/dist/chains/evm/hub/types/chain.js.map +1 -0
  116. package/dist/chains/evm/hub/types/loan.d.ts +148 -0
  117. package/dist/chains/evm/hub/types/loan.js +9 -0
  118. package/dist/chains/evm/hub/types/loan.js.map +1 -0
  119. package/dist/chains/evm/hub/types/oracle.d.ts +19 -0
  120. package/dist/chains/evm/hub/types/oracle.js +2 -0
  121. package/dist/chains/evm/hub/types/oracle.js.map +1 -0
  122. package/dist/chains/evm/hub/types/pool.d.ts +66 -0
  123. package/dist/chains/evm/hub/types/pool.js +2 -0
  124. package/dist/chains/evm/hub/types/pool.js.map +1 -0
  125. package/dist/chains/evm/hub/types/token.d.ts +9 -0
  126. package/dist/chains/evm/hub/types/token.js +2 -0
  127. package/dist/chains/evm/hub/types/token.js.map +1 -0
  128. package/dist/chains/evm/hub/utils/chain.d.ts +15 -0
  129. package/dist/chains/evm/hub/utils/chain.js +37 -0
  130. package/dist/chains/evm/hub/utils/chain.js.map +1 -0
  131. package/dist/chains/evm/hub/utils/contract.d.ts +26 -0
  132. package/dist/chains/evm/hub/utils/contract.js +76 -0
  133. package/dist/chains/evm/hub/utils/contract.js.map +1 -0
  134. package/dist/chains/evm/hub/utils/events.d.ts +23 -0
  135. package/dist/chains/evm/hub/utils/events.js +100 -0
  136. package/dist/chains/evm/hub/utils/events.js.map +1 -0
  137. package/dist/chains/evm/hub/utils/loan.d.ts +4 -0
  138. package/dist/chains/evm/hub/utils/loan.js +37 -0
  139. package/dist/chains/evm/hub/utils/loan.js.map +1 -0
  140. package/dist/chains/evm/spoke/constants/abi/bridge-router-spoke-abi.d.ts +1044 -0
  141. package/dist/chains/evm/spoke/constants/abi/bridge-router-spoke-abi.js +806 -0
  142. package/dist/chains/evm/spoke/constants/abi/bridge-router-spoke-abi.js.map +1 -0
  143. package/dist/chains/evm/spoke/constants/abi/spoke-common-abi.d.ts +1152 -0
  144. package/dist/chains/evm/spoke/constants/abi/spoke-common-abi.js +735 -0
  145. package/dist/chains/evm/spoke/constants/abi/spoke-common-abi.js.map +1 -0
  146. package/dist/chains/evm/spoke/constants/abi/spoke-rewards-v2-common-abi.d.ts +697 -0
  147. package/dist/chains/evm/spoke/constants/abi/spoke-rewards-v2-common-abi.js +501 -0
  148. package/dist/chains/evm/spoke/constants/abi/spoke-rewards-v2-common-abi.js.map +1 -0
  149. package/dist/chains/evm/spoke/constants/abi/spoke-token-abi.d.ts +986 -0
  150. package/dist/chains/evm/spoke/constants/abi/spoke-token-abi.js +705 -0
  151. package/dist/chains/evm/spoke/constants/abi/spoke-token-abi.js.map +1 -0
  152. package/dist/chains/evm/spoke/modules/index.d.ts +3 -0
  153. package/dist/chains/evm/spoke/modules/index.js +4 -0
  154. package/dist/chains/evm/spoke/modules/index.js.map +1 -0
  155. package/dist/chains/evm/spoke/modules/ts-evm-account.d.ts +18 -0
  156. package/dist/chains/evm/spoke/modules/ts-evm-account.js +141 -0
  157. package/dist/chains/evm/spoke/modules/ts-evm-account.js.map +1 -0
  158. package/dist/chains/evm/spoke/modules/ts-evm-gmp.d.ts +20 -0
  159. package/dist/chains/evm/spoke/modules/ts-evm-gmp.js +163 -0
  160. package/dist/chains/evm/spoke/modules/ts-evm-gmp.js.map +1 -0
  161. package/dist/chains/evm/spoke/modules/ts-evm-loan.d.ts +38 -0
  162. package/dist/chains/evm/spoke/modules/ts-evm-loan.js +461 -0
  163. package/dist/chains/evm/spoke/modules/ts-evm-loan.js.map +1 -0
  164. package/dist/chains/evm/spoke/types/pool.d.ts +7 -0
  165. package/dist/chains/evm/spoke/types/pool.js +2 -0
  166. package/dist/chains/evm/spoke/types/pool.js.map +1 -0
  167. package/dist/chains/evm/spoke/utils/contract.d.ts +18 -0
  168. package/dist/chains/evm/spoke/utils/contract.js +46 -0
  169. package/dist/chains/evm/spoke/utils/contract.js.map +1 -0
  170. package/dist/common/constants/adapter.d.ts +2 -0
  171. package/dist/common/constants/adapter.js +6 -0
  172. package/dist/common/constants/adapter.js.map +1 -0
  173. package/dist/common/constants/byte.d.ts +6 -0
  174. package/dist/common/constants/byte.js +7 -0
  175. package/dist/common/constants/byte.js.map +1 -0
  176. package/dist/common/constants/chain.d.ts +10 -0
  177. package/dist/common/constants/chain.js +224 -0
  178. package/dist/common/constants/chain.js.map +1 -0
  179. package/dist/common/constants/gmp.d.ts +3 -0
  180. package/dist/common/constants/gmp.js +10 -0
  181. package/dist/common/constants/gmp.js.map +1 -0
  182. package/dist/common/constants/lending.d.ts +2 -0
  183. package/dist/common/constants/lending.js +4 -0
  184. package/dist/common/constants/lending.js.map +1 -0
  185. package/dist/common/constants/message.d.ts +9 -0
  186. package/dist/common/constants/message.js +23 -0
  187. package/dist/common/constants/message.js.map +1 -0
  188. package/dist/common/constants/pool.d.ts +14 -0
  189. package/dist/common/constants/pool.js +24 -0
  190. package/dist/common/constants/pool.js.map +1 -0
  191. package/dist/common/types/adapter.d.ts +30 -0
  192. package/dist/common/types/adapter.js +7 -0
  193. package/dist/common/types/adapter.js.map +1 -0
  194. package/dist/common/types/address.d.ts +9 -0
  195. package/dist/common/types/address.js +2 -0
  196. package/dist/common/types/address.js.map +1 -0
  197. package/dist/common/types/brand.d.ts +6 -0
  198. package/dist/common/types/brand.js +2 -0
  199. package/dist/common/types/brand.js.map +1 -0
  200. package/dist/common/types/chain.d.ts +29 -0
  201. package/dist/common/types/chain.js +9 -0
  202. package/dist/common/types/chain.js.map +1 -0
  203. package/dist/common/types/core.d.ts +28 -0
  204. package/dist/common/types/core.js +2 -0
  205. package/dist/common/types/core.js.map +1 -0
  206. package/dist/common/types/gmp.d.ts +15 -0
  207. package/dist/common/types/gmp.js +6 -0
  208. package/dist/common/types/gmp.js.map +1 -0
  209. package/dist/common/types/lending.d.ts +20 -0
  210. package/dist/common/types/lending.js +13 -0
  211. package/dist/common/types/lending.js.map +1 -0
  212. package/dist/common/types/message.d.ts +280 -0
  213. package/dist/common/types/message.js +32 -0
  214. package/dist/common/types/message.js.map +1 -0
  215. package/dist/common/types/module.d.ts +20 -0
  216. package/dist/common/types/module.js +2 -0
  217. package/dist/common/types/module.js.map +1 -0
  218. package/dist/common/types/token.d.ts +49 -0
  219. package/dist/common/types/token.js +24 -0
  220. package/dist/common/types/token.js.map +1 -0
  221. package/dist/common/utils/adapter.d.ts +17 -0
  222. package/dist/common/utils/adapter.js +98 -0
  223. package/dist/common/utils/adapter.js.map +1 -0
  224. package/dist/common/utils/address.d.ts +6 -0
  225. package/dist/common/utils/address.js +32 -0
  226. package/dist/common/utils/address.js.map +1 -0
  227. package/dist/common/utils/bytes.d.ts +6 -0
  228. package/dist/common/utils/bytes.js +25 -0
  229. package/dist/common/utils/bytes.js.map +1 -0
  230. package/dist/common/utils/chain.d.ts +20 -0
  231. package/dist/common/utils/chain.js +79 -0
  232. package/dist/common/utils/chain.js.map +1 -0
  233. package/dist/common/utils/formulae.d.ts +19 -0
  234. package/dist/common/utils/formulae.js +118 -0
  235. package/dist/common/utils/formulae.js.map +1 -0
  236. package/dist/common/utils/gmp.d.ts +3 -0
  237. package/dist/common/utils/gmp.js +5 -0
  238. package/dist/common/utils/gmp.js.map +1 -0
  239. package/dist/common/utils/lending.d.ts +7 -0
  240. package/dist/common/utils/lending.js +16 -0
  241. package/dist/common/utils/lending.js.map +1 -0
  242. package/dist/common/utils/math-lib.d.ts +10 -0
  243. package/dist/common/utils/math-lib.js +41 -0
  244. package/dist/common/utils/math-lib.js.map +1 -0
  245. package/dist/common/utils/messages.d.ts +16 -0
  246. package/dist/common/utils/messages.js +124 -0
  247. package/dist/common/utils/messages.js.map +1 -0
  248. package/dist/common/utils/token.d.ts +3 -0
  249. package/dist/common/utils/token.js +8 -0
  250. package/dist/common/utils/token.js.map +1 -0
  251. package/dist/common/utils/transaction.d.ts +4 -0
  252. package/dist/common/utils/transaction.js +18 -0
  253. package/dist/common/utils/transaction.js.map +1 -0
  254. package/dist/index.d.ts +38 -0
  255. package/dist/index.js +50 -0
  256. package/dist/index.js.map +1 -0
  257. package/dist/lifeline/core/ts-core.d.ts +24 -0
  258. package/dist/lifeline/core/ts-core.js +101 -0
  259. package/dist/lifeline/core/ts-core.js.map +1 -0
  260. package/dist/lifeline/modules/index.d.ts +5 -0
  261. package/dist/lifeline/modules/index.js +6 -0
  262. package/dist/lifeline/modules/index.js.map +1 -0
  263. package/dist/lifeline/modules/ts-account.d.ts +23 -0
  264. package/dist/lifeline/modules/ts-account.js +205 -0
  265. package/dist/lifeline/modules/ts-account.js.map +1 -0
  266. package/dist/lifeline/modules/ts-gmp.d.ts +3 -0
  267. package/dist/lifeline/modules/ts-gmp.js +4 -0
  268. package/dist/lifeline/modules/ts-gmp.js.map +1 -0
  269. package/dist/lifeline/modules/ts-loan.d.ts +48 -0
  270. package/dist/lifeline/modules/ts-loan.js +580 -0
  271. package/dist/lifeline/modules/ts-loan.js.map +1 -0
  272. package/dist/lifeline/modules/ts-oracle.d.ts +8 -0
  273. package/dist/lifeline/modules/ts-oracle.js +27 -0
  274. package/dist/lifeline/modules/ts-oracle.js.map +1 -0
  275. package/dist/lifeline/modules/ts-pool.d.ts +5 -0
  276. package/dist/lifeline/modules/ts-pool.js +8 -0
  277. package/dist/lifeline/modules/ts-pool.js.map +1 -0
  278. package/dist/types/generics.d.ts +1 -0
  279. package/dist/types/generics.js +2 -0
  280. package/dist/types/generics.js.map +1 -0
  281. package/dist/utils/address.d.ts +1 -0
  282. package/dist/utils/address.js +2 -0
  283. package/dist/utils/address.js.map +1 -0
  284. package/dist/utils/array.d.ts +3 -0
  285. package/dist/utils/array.js +7 -0
  286. package/dist/utils/array.js.map +1 -0
  287. package/dist/utils/exhaustive-check.d.ts +1 -0
  288. package/dist/utils/exhaustive-check.js +4 -0
  289. package/dist/utils/exhaustive-check.js.map +1 -0
  290. package/dist/utils/random.d.ts +1 -0
  291. package/dist/utils/random.js +4 -0
  292. package/dist/utils/random.js.map +1 -0
  293. package/package.json +56 -0
  294. package/src/chains/evm/common/constant/abi/arbitrum-node-interface-abi.ts +17 -0
  295. package/src/chains/evm/common/constant/abi/bridge-router-abi.ts +793 -0
  296. package/src/chains/evm/common/constant/abi/ccip-data-adapter-abi.ts +621 -0
  297. package/src/chains/evm/common/constant/abi/erc-20-abi.ts +156 -0
  298. package/src/chains/evm/common/constant/abi/wormhole-data-adapter-abi.ts +644 -0
  299. package/src/chains/evm/common/constant/abi/wormhole-relayer-abi.ts +500 -0
  300. package/src/chains/evm/common/constant/chain.ts +88 -0
  301. package/src/chains/evm/common/constant/contract.ts +15 -0
  302. package/src/chains/evm/common/constant/tokens.ts +33 -0
  303. package/src/chains/evm/common/types/chain.ts +26 -0
  304. package/src/chains/evm/common/types/contract.ts +17 -0
  305. package/src/chains/evm/common/types/gmp.ts +43 -0
  306. package/src/chains/evm/common/types/module.ts +115 -0
  307. package/src/chains/evm/common/types/token.ts +35 -0
  308. package/src/chains/evm/common/utils/chain.ts +33 -0
  309. package/src/chains/evm/common/utils/contract.ts +120 -0
  310. package/src/chains/evm/common/utils/gmp.ts +54 -0
  311. package/src/chains/evm/common/utils/message.ts +648 -0
  312. package/src/chains/evm/common/utils/provider.ts +38 -0
  313. package/src/chains/evm/common/utils/tokens.ts +102 -0
  314. package/src/chains/evm/hub/constants/abi/account-manager-abi.ts +708 -0
  315. package/src/chains/evm/hub/constants/abi/bridge-router-hub-abi.ts +815 -0
  316. package/src/chains/evm/hub/constants/abi/hub-abi.ts +228 -0
  317. package/src/chains/evm/hub/constants/abi/hub-pool-abi.ts +1557 -0
  318. package/src/chains/evm/hub/constants/abi/hub-rewards-v1-abi.ts +648 -0
  319. package/src/chains/evm/hub/constants/abi/hub-rewards-v2-abi.ts +889 -0
  320. package/src/chains/evm/hub/constants/abi/loan-manager-abi.ts +1054 -0
  321. package/src/chains/evm/hub/constants/abi/node-manager-abi.ts +227 -0
  322. package/src/chains/evm/hub/constants/abi/oracle-manager-abi.ts +390 -0
  323. package/src/chains/evm/hub/constants/chain.ts +305 -0
  324. package/src/chains/evm/hub/modules/index.ts +5 -0
  325. package/src/chains/evm/hub/modules/ts-hub-account.ts +117 -0
  326. package/src/chains/evm/hub/modules/ts-hub-gmp.ts +231 -0
  327. package/src/chains/evm/hub/modules/ts-hub-loan.ts +915 -0
  328. package/src/chains/evm/hub/modules/ts-hub-oracle.ts +131 -0
  329. package/src/chains/evm/hub/modules/ts-hub-pool.ts +241 -0
  330. package/src/chains/evm/hub/types/account.ts +30 -0
  331. package/src/chains/evm/hub/types/chain.ts +22 -0
  332. package/src/chains/evm/hub/types/loan.ts +188 -0
  333. package/src/chains/evm/hub/types/oracle.ts +25 -0
  334. package/src/chains/evm/hub/types/pool.ts +75 -0
  335. package/src/chains/evm/hub/types/token.ts +10 -0
  336. package/src/chains/evm/hub/utils/chain.ts +78 -0
  337. package/src/chains/evm/hub/utils/contract.ts +178 -0
  338. package/src/chains/evm/hub/utils/events.ts +160 -0
  339. package/src/chains/evm/hub/utils/loan.ts +72 -0
  340. package/src/chains/evm/spoke/constants/abi/bridge-router-spoke-abi.ts +805 -0
  341. package/src/chains/evm/spoke/constants/abi/spoke-common-abi.ts +734 -0
  342. package/src/chains/evm/spoke/constants/abi/spoke-rewards-v2-common-abi.ts +500 -0
  343. package/src/chains/evm/spoke/constants/abi/spoke-token-abi.ts +704 -0
  344. package/src/chains/evm/spoke/modules/index.ts +3 -0
  345. package/src/chains/evm/spoke/modules/ts-evm-account.ts +341 -0
  346. package/src/chains/evm/spoke/modules/ts-evm-gmp.ts +353 -0
  347. package/src/chains/evm/spoke/modules/ts-evm-loan.ts +1032 -0
  348. package/src/chains/evm/spoke/types/pool.ts +7 -0
  349. package/src/chains/evm/spoke/utils/contract.ts +123 -0
  350. package/src/common/constants/adapter.ts +6 -0
  351. package/src/common/constants/byte.ts +7 -0
  352. package/src/common/constants/chain.ts +319 -0
  353. package/src/common/constants/gmp.ts +19 -0
  354. package/src/common/constants/lending.ts +9 -0
  355. package/src/common/constants/message.ts +25 -0
  356. package/src/common/constants/pool.ts +30 -0
  357. package/src/common/types/adapter.ts +44 -0
  358. package/src/common/types/address.ts +11 -0
  359. package/src/common/types/brand.ts +3 -0
  360. package/src/common/types/chain.ts +42 -0
  361. package/src/common/types/core.ts +31 -0
  362. package/src/common/types/gmp.ts +19 -0
  363. package/src/common/types/lending.ts +26 -0
  364. package/src/common/types/message.ts +401 -0
  365. package/src/common/types/module.ts +46 -0
  366. package/src/common/types/token.ts +72 -0
  367. package/src/common/utils/adapter.ts +197 -0
  368. package/src/common/utils/address.ts +50 -0
  369. package/src/common/utils/bytes.ts +36 -0
  370. package/src/common/utils/chain.ts +163 -0
  371. package/src/common/utils/formulae.ts +270 -0
  372. package/src/common/utils/gmp.ts +8 -0
  373. package/src/common/utils/lending.ts +31 -0
  374. package/src/common/utils/math-lib.ts +50 -0
  375. package/src/common/utils/messages.ts +283 -0
  376. package/src/common/utils/token.ts +13 -0
  377. package/src/common/utils/transaction.ts +27 -0
  378. package/src/index.ts +73 -0
  379. package/src/lifeline/core/ts-core.ts +136 -0
  380. package/src/lifeline/modules/index.ts +5 -0
  381. package/src/lifeline/modules/ts-account.ts +420 -0
  382. package/src/lifeline/modules/ts-gmp.ts +5 -0
  383. package/src/lifeline/modules/ts-loan.ts +1268 -0
  384. package/src/lifeline/modules/ts-oracle.ts +68 -0
  385. package/src/lifeline/modules/ts-pool.ts +19 -0
  386. package/src/types/generics.ts +1 -0
  387. package/src/utils/address.ts +0 -0
  388. package/src/utils/array.ts +11 -0
  389. package/src/utils/exhaustive-check.ts +3 -0
  390. package/src/utils/random.ts +3 -0
@@ -0,0 +1,461 @@
1
+ import { multicall, waitForTransactionReceipt } from 'viem/actions';
2
+ import { ChainType } from '../../../../common/types/chain.js';
3
+ import { TokenType } from '../../../../common/types/token.js';
4
+ import { convertFromGenericAddress } from '../../../../common/utils/address.js';
5
+ import { calcNextPeriodReset, calcPeriodNumber, } from '../../../../common/utils/formulae.js';
6
+ import { GAS_LIMIT_ESTIMATE_INCREASE } from '../../common/constant/contract.js';
7
+ import { getEvmSignerAccount } from '../../common/utils/chain.js';
8
+ import { sendERC20Approve } from '../../common/utils/contract.js';
9
+ import { getAllowanceStateOverride } from '../../common/utils/tokens.js';
10
+ import { getHubTokenData } from '../../hub/utils/chain.js';
11
+ import { getSpokeMessageDispatcherContract, getSpokeOperationContract, getSpokeTokenContract, } from '../utils/contract.js';
12
+ export const prepare = {
13
+ async createLoan(provider, sender, messageToSend, accountId, nonce, loanTypeId, loanName, spokeChain, transactionOptions = { account: sender }) {
14
+ const spokeOperationAddress = spokeChain.spokeOperationAddress;
15
+ const spokeOperation = getSpokeOperationContract(provider, spokeOperationAddress);
16
+ const bridgeRouter = getSpokeMessageDispatcherContract(provider, spokeChain.messageDispatcherAddress);
17
+ // get adapter fees
18
+ const msgValue = await bridgeRouter.read.getSendFee([messageToSend]);
19
+ // get gas limits
20
+ const gasLimit = await spokeOperation.estimateGas.createLoan([messageToSend.params, accountId, nonce, loanTypeId, loanName], {
21
+ value: msgValue,
22
+ ...transactionOptions,
23
+ });
24
+ return {
25
+ msgValue,
26
+ gasLimit: gasLimit + GAS_LIMIT_ESTIMATE_INCREASE,
27
+ messageParams: messageToSend.params,
28
+ spokeOperationAddress,
29
+ };
30
+ },
31
+ async deleteLoan(provider, sender, messageToSend, accountId, loanId, spokeChain, transactionOptions = { account: sender }) {
32
+ const spokeOperationAddress = spokeChain.spokeOperationAddress;
33
+ const spokeOperation = getSpokeOperationContract(provider, spokeOperationAddress);
34
+ const bridgeRouter = getSpokeMessageDispatcherContract(provider, spokeChain.messageDispatcherAddress);
35
+ // get adapter fees
36
+ const msgValue = await bridgeRouter.read.getSendFee([messageToSend]);
37
+ // get gas limits
38
+ const gasLimit = await spokeOperation.estimateGas.deleteLoan([messageToSend.params, accountId, loanId], {
39
+ value: msgValue,
40
+ ...transactionOptions,
41
+ });
42
+ return {
43
+ msgValue,
44
+ gasLimit: gasLimit + GAS_LIMIT_ESTIMATE_INCREASE,
45
+ messageParams: messageToSend.params,
46
+ spokeOperationAddress,
47
+ };
48
+ },
49
+ async createLoanAndDeposit(provider, sender, messageToSend, accountId, nonce, loanTypeId, loanName, amount, spokeChain, spokeTokenData, transactionOptions = { account: sender }) {
50
+ const spokeToken = getSpokeTokenContract(provider, spokeTokenData.spokeAddress);
51
+ const bridgeRouter = getSpokeMessageDispatcherContract(provider, spokeChain.messageDispatcherAddress);
52
+ const spender = convertFromGenericAddress(spokeTokenData.spokeAddress, ChainType.EVM);
53
+ // get state override
54
+ let stateOverride;
55
+ if (spokeTokenData.token.type === TokenType.ERC20 ||
56
+ spokeTokenData.token.type === TokenType.CROSS_CHAIN) {
57
+ const erc20Address = convertFromGenericAddress(spokeTokenData.token.address, ChainType.EVM);
58
+ stateOverride = getAllowanceStateOverride([
59
+ {
60
+ erc20Address,
61
+ stateDiff: [
62
+ {
63
+ owner: sender,
64
+ spender,
65
+ tsChainId: spokeChain.tsChainId,
66
+ tsTokenId: spokeTokenData.TsTokenId,
67
+ tokenType: spokeTokenData.token.type,
68
+ amount,
69
+ },
70
+ ],
71
+ },
72
+ ]);
73
+ }
74
+ // get adapter fees
75
+ const adapterFees = await bridgeRouter.read.getSendFee([messageToSend]);
76
+ const value = spokeTokenData.token.type === TokenType.NATIVE ? amount : BigInt(0);
77
+ const msgValue = adapterFees + value;
78
+ // get gas limits
79
+ const gasLimit = await spokeToken.estimateGas.initiateLoanAccountWithDeposit([messageToSend.params, accountId, nonce, amount, loanTypeId, loanName], {
80
+ value: msgValue,
81
+ ...transactionOptions,
82
+ stateOverride,
83
+ });
84
+ return {
85
+ msgValue,
86
+ gasLimit: gasLimit + GAS_LIMIT_ESTIMATE_INCREASE,
87
+ messageParams: messageToSend.params,
88
+ spokeTokenData: spokeTokenData,
89
+ };
90
+ },
91
+ async deposit(provider, sender, messageToSend, accountId, loanId, amount, spokeChain, spokeTokenData, transactionOptions = { account: sender }) {
92
+ const spokeToken = getSpokeTokenContract(provider, spokeTokenData.spokeAddress);
93
+ const bridgeRouter = getSpokeMessageDispatcherContract(provider, spokeChain.messageDispatcherAddress);
94
+ const spender = convertFromGenericAddress(spokeTokenData.spokeAddress, ChainType.EVM);
95
+ // get state override
96
+ let stateOverride;
97
+ if (spokeTokenData.token.type === TokenType.ERC20 ||
98
+ spokeTokenData.token.type === TokenType.CROSS_CHAIN) {
99
+ const erc20Address = convertFromGenericAddress(spokeTokenData.token.address, ChainType.EVM);
100
+ stateOverride = getAllowanceStateOverride([
101
+ {
102
+ erc20Address,
103
+ stateDiff: [
104
+ {
105
+ owner: sender,
106
+ spender,
107
+ tsChainId: spokeChain.tsChainId,
108
+ tsTokenId: spokeTokenData.TsTokenId,
109
+ tokenType: spokeTokenData.token.type,
110
+ amount,
111
+ },
112
+ ],
113
+ },
114
+ ]);
115
+ }
116
+ // get adapter fees
117
+ const adapterFees = await bridgeRouter.read.getSendFee([messageToSend]);
118
+ const value = spokeTokenData.token.type === TokenType.NATIVE ? amount : BigInt(0);
119
+ const msgValue = adapterFees + value;
120
+ // get gas limits
121
+ const gasLimit = await spokeToken.estimateGas.topup([messageToSend.params, accountId, loanId, amount], {
122
+ value: msgValue,
123
+ ...transactionOptions,
124
+ stateOverride,
125
+ });
126
+ return {
127
+ msgValue,
128
+ gasLimit: gasLimit + GAS_LIMIT_ESTIMATE_INCREASE,
129
+ messageParams: messageToSend.params,
130
+ spokeTokenData: spokeTokenData,
131
+ };
132
+ },
133
+ async withdraw(provider, sender, messageToSend, network, accountId, loanId, tsTokenId, amount, isTAmount, receiverTsChainId, spokeChain, transactionOptions = { account: sender }) {
134
+ const hubTokenData = getHubTokenData(tsTokenId, network);
135
+ const spokeOperationAddress = spokeChain.spokeOperationAddress;
136
+ const spokeOperation = getSpokeOperationContract(provider, spokeOperationAddress);
137
+ const spokeBridgeRouter = getSpokeMessageDispatcherContract(provider, spokeChain.messageDispatcherAddress);
138
+ // get adapter fee
139
+ const msgValue = await spokeBridgeRouter.read.getSendFee([messageToSend]);
140
+ // get gas limits
141
+ const gasLimit = await spokeOperation.estimateGas.withdraw([
142
+ messageToSend.params,
143
+ accountId,
144
+ loanId,
145
+ hubTokenData.poolId,
146
+ receiverTsChainId,
147
+ amount,
148
+ isTAmount,
149
+ ], {
150
+ value: msgValue,
151
+ ...transactionOptions,
152
+ });
153
+ return {
154
+ msgValue,
155
+ gasLimit: gasLimit + GAS_LIMIT_ESTIMATE_INCREASE,
156
+ messageParams: messageToSend.params,
157
+ spokeOperationAddress,
158
+ };
159
+ },
160
+ async borrow(provider, sender, messageToSend, network, accountId, loanId, tsTokenId, amount, maxStableRate, receiverTSChainId, spokeChain, transactionOptions = { account: sender }) {
161
+ const hubTokenData = getHubTokenData(tsTokenId, network);
162
+ const spokeOperationAddress = spokeChain.spokeOperationAddress;
163
+ const spokeOperation = getSpokeOperationContract(provider, spokeOperationAddress);
164
+ const spokeBridgeRouter = getSpokeMessageDispatcherContract(provider, spokeChain.messageDispatcherAddress);
165
+ // get adapter fee
166
+ const msgValue = await spokeBridgeRouter.read.getSendFee([messageToSend]);
167
+ // get gas limits
168
+ const gasLimit = await spokeOperation.estimateGas.borrow([
169
+ messageToSend.params,
170
+ accountId,
171
+ loanId,
172
+ hubTokenData.poolId,
173
+ receiverTSChainId,
174
+ amount,
175
+ maxStableRate,
176
+ ], {
177
+ value: msgValue,
178
+ ...transactionOptions,
179
+ });
180
+ return {
181
+ msgValue,
182
+ gasLimit: gasLimit + GAS_LIMIT_ESTIMATE_INCREASE,
183
+ messageParams: messageToSend.params,
184
+ spokeOperationAddress,
185
+ };
186
+ },
187
+ async repay(provider, sender, messageToSend, accountId, loanId, amount, maxOverRepayment, spokeChain, spokeTokenData, transactionOptions = { account: sender }) {
188
+ const spokeToken = getSpokeTokenContract(provider, spokeTokenData.spokeAddress);
189
+ const bridgeRouter = getSpokeMessageDispatcherContract(provider, spokeChain.messageDispatcherAddress);
190
+ const spender = convertFromGenericAddress(spokeTokenData.spokeAddress, ChainType.EVM);
191
+ // get state override
192
+ let stateOverride;
193
+ if (spokeTokenData.token.type === TokenType.ERC20 ||
194
+ spokeTokenData.token.type === TokenType.CROSS_CHAIN) {
195
+ const erc20Address = convertFromGenericAddress(spokeTokenData.token.address, ChainType.EVM);
196
+ stateOverride = getAllowanceStateOverride([
197
+ {
198
+ erc20Address,
199
+ stateDiff: [
200
+ {
201
+ owner: sender,
202
+ spender,
203
+ tsChainId: spokeChain.tsChainId,
204
+ tsTokenId: spokeTokenData.TsTokenId,
205
+ tokenType: spokeTokenData.token.type,
206
+ amount,
207
+ },
208
+ ],
209
+ },
210
+ ]);
211
+ }
212
+ // get adapter fees
213
+ const adapterFees = await bridgeRouter.read.getSendFee([messageToSend]);
214
+ const value = spokeTokenData.token.type === TokenType.NATIVE ? amount : BigInt(0);
215
+ const msgValue = adapterFees + value;
216
+ // get gas limits
217
+ const gasLimit = await spokeToken.estimateGas.repay([messageToSend.params, accountId, loanId, amount, maxOverRepayment], {
218
+ value: msgValue,
219
+ ...transactionOptions,
220
+ stateOverride,
221
+ });
222
+ return {
223
+ msgValue,
224
+ gasLimit: gasLimit + GAS_LIMIT_ESTIMATE_INCREASE,
225
+ messageParams: messageToSend.params,
226
+ spokeTokenData: spokeTokenData,
227
+ };
228
+ },
229
+ async repayWithCollateral(provider, sender, messageToSend, network, accountId, loanId, tsTokenId, amount, spokeChain, transactionOptions = { account: sender }) {
230
+ const hubTokenData = getHubTokenData(tsTokenId, network);
231
+ const spokeOperationAddress = spokeChain.spokeOperationAddress;
232
+ const spokeOperation = getSpokeOperationContract(provider, spokeOperationAddress);
233
+ const bridgeRouter = getSpokeMessageDispatcherContract(provider, spokeChain.messageDispatcherAddress);
234
+ // get adapter fees
235
+ const msgValue = await bridgeRouter.read.getSendFee([messageToSend]);
236
+ // get gas limits
237
+ const gasLimit = await spokeOperation.estimateGas.repayWithCollateral([messageToSend.params, accountId, loanId, hubTokenData.poolId, amount], {
238
+ value: msgValue,
239
+ ...transactionOptions,
240
+ });
241
+ return {
242
+ msgValue,
243
+ gasLimit: gasLimit + GAS_LIMIT_ESTIMATE_INCREASE,
244
+ messageParams: messageToSend.params,
245
+ spokeOperationAddress,
246
+ };
247
+ },
248
+ async switchBorrowType(provider, sender, messageToSend, network, accountId, loanId, tsTokenId, maxStableRate, spokeChain, transactionOptions = { account: sender }) {
249
+ const hubTokenData = getHubTokenData(tsTokenId, network);
250
+ const spokeOperationAddress = spokeChain.spokeOperationAddress;
251
+ const spokeOperation = getSpokeOperationContract(provider, spokeOperationAddress);
252
+ const bridgeRouter = getSpokeMessageDispatcherContract(provider, spokeChain.messageDispatcherAddress);
253
+ // get adapter fees
254
+ const msgValue = await bridgeRouter.read.getSendFee([messageToSend]);
255
+ // get gas limits
256
+ const gasLimit = await spokeOperation.estimateGas.changeBorrowMode([
257
+ messageToSend.params,
258
+ accountId,
259
+ loanId,
260
+ hubTokenData.poolId,
261
+ maxStableRate,
262
+ ], {
263
+ value: msgValue,
264
+ ...transactionOptions,
265
+ });
266
+ return {
267
+ msgValue,
268
+ gasLimit: gasLimit + GAS_LIMIT_ESTIMATE_INCREASE,
269
+ messageParams: messageToSend.params,
270
+ spokeOperationAddress,
271
+ };
272
+ },
273
+ };
274
+ export const write = {
275
+ async createLoan(provider, signer, accountId, nonce, loanTypeId, loanName, prepareCall) {
276
+ const { msgValue, gasLimit, maxFeePerGas, maxPriorityFeePerGas, messageParams, spokeOperationAddress, } = prepareCall;
277
+ const spokeOperation = getSpokeOperationContract(provider, spokeOperationAddress, signer);
278
+ return await spokeOperation.write.createLoan([messageParams, accountId, nonce, loanTypeId, loanName], {
279
+ account: getEvmSignerAccount(signer),
280
+ chain: signer.chain,
281
+ gas: gasLimit,
282
+ maxFeePerGas,
283
+ maxPriorityFeePerGas,
284
+ value: msgValue,
285
+ });
286
+ },
287
+ async deleteLoan(provider, signer, accountId, loanId, prepareCall) {
288
+ const { msgValue, gasLimit, maxFeePerGas, maxPriorityFeePerGas, messageParams, spokeOperationAddress, } = prepareCall;
289
+ const spokeOperation = getSpokeOperationContract(provider, spokeOperationAddress, signer);
290
+ return await spokeOperation.write.deleteLoan([messageParams, accountId, loanId], {
291
+ account: getEvmSignerAccount(signer),
292
+ chain: signer.chain,
293
+ gas: gasLimit,
294
+ maxFeePerGas,
295
+ maxPriorityFeePerGas,
296
+ value: msgValue,
297
+ });
298
+ },
299
+ async createLoanAndDeposit(provider, signer, accountId, nonce, loanTypeId, loanName, amount, includeApprove = true, prepareCall) {
300
+ const { msgValue, gasLimit, maxFeePerGas, maxPriorityFeePerGas, messageParams, spokeTokenData, } = prepareCall;
301
+ const { token } = spokeTokenData;
302
+ const spokeToken = getSpokeTokenContract(provider, spokeTokenData.spokeAddress, signer);
303
+ if (includeApprove &&
304
+ (token.type === TokenType.CROSS_CHAIN || token.type === TokenType.ERC20)) {
305
+ const approveTxId = await sendERC20Approve(provider, token.address, signer, convertFromGenericAddress(spokeTokenData.spokeAddress, ChainType.EVM), amount);
306
+ if (approveTxId !== null)
307
+ await waitForTransactionReceipt(provider, { hash: approveTxId });
308
+ }
309
+ return await spokeToken.write.initiateLoanAccountWithDeposit([messageParams, accountId, nonce, amount, loanTypeId, loanName], {
310
+ account: getEvmSignerAccount(signer),
311
+ chain: signer.chain,
312
+ gas: gasLimit,
313
+ maxFeePerGas,
314
+ maxPriorityFeePerGas,
315
+ value: msgValue,
316
+ });
317
+ },
318
+ async deposit(provider, signer, accountId, loanId, amount, includeApprove = true, prepareCall) {
319
+ const { msgValue, gasLimit, maxFeePerGas, maxPriorityFeePerGas, messageParams, spokeTokenData, } = prepareCall;
320
+ const { token } = spokeTokenData;
321
+ const spokeToken = getSpokeTokenContract(provider, spokeTokenData.spokeAddress, signer);
322
+ if (includeApprove &&
323
+ (token.type === TokenType.CROSS_CHAIN || token.type === TokenType.ERC20)) {
324
+ const approveTxId = await sendERC20Approve(provider, token.address, signer, convertFromGenericAddress(spokeTokenData.spokeAddress, ChainType.EVM), amount);
325
+ if (approveTxId !== null)
326
+ await waitForTransactionReceipt(provider, { hash: approveTxId });
327
+ }
328
+ return await spokeToken.write.topup([messageParams, accountId, loanId, amount], {
329
+ account: getEvmSignerAccount(signer),
330
+ chain: signer.chain,
331
+ gas: gasLimit,
332
+ maxFeePerGas,
333
+ maxPriorityFeePerGas,
334
+ value: msgValue,
335
+ });
336
+ },
337
+ async withdraw(provider, signer, accountId, loanId, poolId, amount, isTAmount, receiverChainId, prepareCall) {
338
+ const { msgValue, gasLimit, maxFeePerGas, maxPriorityFeePerGas, messageParams, spokeOperationAddress, } = prepareCall;
339
+ const spokeOperation = getSpokeOperationContract(provider, spokeOperationAddress, signer);
340
+ return await spokeOperation.write.withdraw([
341
+ messageParams,
342
+ accountId,
343
+ loanId,
344
+ poolId,
345
+ receiverChainId,
346
+ amount,
347
+ isTAmount,
348
+ ], {
349
+ account: getEvmSignerAccount(signer),
350
+ chain: signer.chain,
351
+ gas: gasLimit,
352
+ maxFeePerGas,
353
+ maxPriorityFeePerGas,
354
+ value: msgValue,
355
+ });
356
+ },
357
+ async borrow(provider, signer, accountId, loanId, poolId, amount, maxStableRate, receiverChainId, prepareCall) {
358
+ const { msgValue, gasLimit, maxFeePerGas, maxPriorityFeePerGas, messageParams, spokeOperationAddress, } = prepareCall;
359
+ const spokeOperation = getSpokeOperationContract(provider, spokeOperationAddress, signer);
360
+ return await spokeOperation.write.borrow([
361
+ messageParams,
362
+ accountId,
363
+ loanId,
364
+ poolId,
365
+ receiverChainId,
366
+ amount,
367
+ maxStableRate,
368
+ ], {
369
+ account: getEvmSignerAccount(signer),
370
+ chain: signer.chain,
371
+ gas: gasLimit,
372
+ maxFeePerGas,
373
+ maxPriorityFeePerGas,
374
+ value: msgValue,
375
+ });
376
+ },
377
+ async repay(provider, signer, accountId, loanId, amount, maxOverRepayment, includeApprove = true, prepareCall) {
378
+ const { msgValue, gasLimit, maxFeePerGas, maxPriorityFeePerGas, messageParams, spokeTokenData, } = prepareCall;
379
+ const { token } = spokeTokenData;
380
+ const spokeToken = getSpokeTokenContract(provider, spokeTokenData.spokeAddress, signer);
381
+ if (includeApprove &&
382
+ (token.type === TokenType.CROSS_CHAIN || token.type === TokenType.ERC20)) {
383
+ const approveTxId = await sendERC20Approve(provider, token.address, signer, convertFromGenericAddress(spokeTokenData.spokeAddress, ChainType.EVM), amount);
384
+ if (approveTxId !== null)
385
+ await waitForTransactionReceipt(provider, { hash: approveTxId });
386
+ }
387
+ return await spokeToken.write.repay([messageParams, accountId, loanId, amount, maxOverRepayment], {
388
+ account: getEvmSignerAccount(signer),
389
+ chain: signer.chain,
390
+ gas: gasLimit,
391
+ maxFeePerGas,
392
+ maxPriorityFeePerGas,
393
+ value: msgValue,
394
+ });
395
+ },
396
+ async repayWithCollateral(provider, signer, accountId, loanId, poolId, amount, prepareCall) {
397
+ const { msgValue, gasLimit, maxFeePerGas, maxPriorityFeePerGas, messageParams, spokeOperationAddress, } = prepareCall;
398
+ const spokeOperation = getSpokeOperationContract(provider, spokeOperationAddress, signer);
399
+ return await spokeOperation.write.repayWithCollateral([messageParams, accountId, loanId, poolId, amount], {
400
+ account: getEvmSignerAccount(signer),
401
+ chain: signer.chain,
402
+ gas: gasLimit,
403
+ maxFeePerGas,
404
+ maxPriorityFeePerGas,
405
+ value: msgValue,
406
+ });
407
+ },
408
+ async switchBorrowType(provider, signer, accountId, loanId, poolId, maxStableRate, prepareCall) {
409
+ const { msgValue, gasLimit, maxFeePerGas, maxPriorityFeePerGas, messageParams, spokeOperationAddress, } = prepareCall;
410
+ const spokeOperation = getSpokeOperationContract(provider, spokeOperationAddress, signer);
411
+ return await spokeOperation.write.changeBorrowMode([messageParams, accountId, loanId, poolId, maxStableRate], {
412
+ account: getEvmSignerAccount(signer),
413
+ chain: signer.chain,
414
+ gas: gasLimit,
415
+ maxFeePerGas,
416
+ maxPriorityFeePerGas,
417
+ value: msgValue,
418
+ });
419
+ },
420
+ };
421
+ export const read = {
422
+ async rateLimitInfo(provider, token) {
423
+ const spokeToken = getSpokeTokenContract(provider, token.spokeAddress);
424
+ // get rate limit data
425
+ const [bucketConfig, oldPeriodNumber, oldCurrentCapacity] = await multicall(provider, {
426
+ contracts: [
427
+ {
428
+ address: spokeToken.address,
429
+ abi: spokeToken.abi,
430
+ functionName: 'bucketConfig',
431
+ },
432
+ {
433
+ address: spokeToken.address,
434
+ abi: spokeToken.abi,
435
+ functionName: 'currentPeriodNumber',
436
+ },
437
+ {
438
+ address: spokeToken.address,
439
+ abi: spokeToken.abi,
440
+ functionName: 'currentCapacity',
441
+ },
442
+ ],
443
+ allowFailure: false,
444
+ });
445
+ // TODO consider min limit
446
+ const [periodLength, periodOffset, periodLimit] = bucketConfig;
447
+ const newPeriodNumber = calcPeriodNumber(BigInt(periodOffset), BigInt(periodLength));
448
+ const isNewPeriod = newPeriodNumber !== BigInt(oldPeriodNumber);
449
+ const currentCapacity = isNewPeriod ? periodLimit : oldCurrentCapacity;
450
+ const nextPeriodReset = calcNextPeriodReset(newPeriodNumber, BigInt(periodOffset), BigInt(periodLength));
451
+ // build rate limit info
452
+ return {
453
+ periodLength: BigInt(periodLength),
454
+ periodOffset: BigInt(periodOffset),
455
+ periodLimit: BigInt(periodLimit),
456
+ currentCapacity,
457
+ nextPeriodReset,
458
+ };
459
+ },
460
+ };
461
+ //# sourceMappingURL=ts-evm-loan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ts-evm-loan.js","sourceRoot":"","sources":["../../../../../src/chains/evm/spoke/modules/ts-evm-loan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ export type TokenRateLimit = {
2
+ periodLength: bigint;
3
+ periodOffset: bigint;
4
+ periodLimit: bigint;
5
+ currentCapacity: bigint;
6
+ nextPeriodReset: bigint;
7
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pool.js","sourceRoot":"","sources":["../../../../../src/chains/evm/spoke/types/pool.ts"],"names":[],"mappings":""}
@@ -0,0 +1,18 @@
1
+ import { SpokeMessageDispatcherAbi } from '../constants/abi/bridge-router-spoke-abi.js';
2
+ import { SpokeOperationAbi } from '../constants/abi/spoke-common-abi.js';
3
+ import { SpokeRewardsV2CommonAbi } from '../constants/abi/spoke-rewards-v2-common-abi.js';
4
+ import { SpokeTokenAbi } from '../constants/abi/spoke-token-abi.js';
5
+ import type { GenericAddress } from '../../../../common/types/address.js';
6
+ import type { TSChainId, NetworkType } from '../../../../common/types/chain.js';
7
+ import type { TSTokenId } from '../../../../common/types/token.js';
8
+ import type { GetReadContractReturnType } from '../../common/types/contract.js';
9
+ import type { Client, GetContractReturnType, WalletClient } from 'viem';
10
+ export declare function getSpokeOperationContract(provider: Client, address: GenericAddress): GetReadContractReturnType<typeof SpokeOperationAbi>;
11
+ export declare function getSpokeOperationContract(provider: Client, address: GenericAddress, signer: WalletClient): GetContractReturnType<typeof SpokeOperationAbi, Client>;
12
+ export declare function getSpokeMessageDispatcherContract(provider: Client, address: GenericAddress): GetReadContractReturnType<typeof SpokeMessageDispatcherAbi>;
13
+ export declare function getSpokeMessageDispatcherContract(provider: Client, address: GenericAddress, signer: WalletClient): GetContractReturnType<typeof SpokeMessageDispatcherAbi, Client>;
14
+ export declare function getSpokeTokenContract(provider: Client, address: GenericAddress): GetReadContractReturnType<typeof SpokeTokenAbi>;
15
+ export declare function getSpokeTokenContract(provider: Client, address: GenericAddress, signer: WalletClient): GetContractReturnType<typeof SpokeTokenAbi, Client>;
16
+ export declare function getSpokeRewardsV2CommonContract(provider: Client, address: GenericAddress): GetReadContractReturnType<typeof SpokeRewardsV2CommonAbi>;
17
+ export declare function getSpokeRewardsV2CommonContract(provider: Client, address: GenericAddress, signer: WalletClient): GetContractReturnType<typeof SpokeRewardsV2CommonAbi, Client>;
18
+ export declare function getSpokeEvmTokenAddress(network: NetworkType, tsChainId: TSChainId, tsTokenId: TSTokenId): import("../../../../common/types/address.js").EvmAddress;
@@ -0,0 +1,46 @@
1
+ import { getContract } from 'viem';
2
+ import { SPOKE_CHAIN } from '../../../../common/constants/chain.js';
3
+ import { ChainType } from '../../../../common/types/chain.js';
4
+ import { TokenType } from '../../../../common/types/token.js';
5
+ import { convertFromGenericAddress } from '../../../../common/utils/address.js';
6
+ import { SpokeMessageDispatcherAbi } from '../constants/abi/bridge-router-spoke-abi.js';
7
+ import { SpokeOperationAbi } from '../constants/abi/spoke-common-abi.js';
8
+ import { SpokeRewardsV2CommonAbi } from '../constants/abi/spoke-rewards-v2-common-abi.js';
9
+ import { SpokeTokenAbi } from '../constants/abi/spoke-token-abi.js';
10
+ export function getSpokeOperationContract(provider, address, signer) {
11
+ return getContract({
12
+ abi: SpokeOperationAbi,
13
+ address: convertFromGenericAddress(address, ChainType.EVM),
14
+ client: { wallet: signer, public: provider },
15
+ });
16
+ }
17
+ export function getSpokeMessageDispatcherContract(provider, address, signer) {
18
+ return getContract({
19
+ abi: SpokeMessageDispatcherAbi,
20
+ address: convertFromGenericAddress(address, ChainType.EVM),
21
+ client: { wallet: signer, public: provider },
22
+ });
23
+ }
24
+ export function getSpokeTokenContract(provider, address, signer) {
25
+ return getContract({
26
+ abi: SpokeTokenAbi,
27
+ address: convertFromGenericAddress(address, ChainType.EVM),
28
+ client: { wallet: signer, public: provider },
29
+ });
30
+ }
31
+ export function getSpokeRewardsV2CommonContract(provider, address, signer) {
32
+ return getContract({
33
+ abi: SpokeRewardsV2CommonAbi,
34
+ address: convertFromGenericAddress(address, ChainType.EVM),
35
+ client: { wallet: signer, public: provider },
36
+ });
37
+ }
38
+ export function getSpokeEvmTokenAddress(network, tsChainId, tsTokenId) {
39
+ const spokeToken = SPOKE_CHAIN[network][tsChainId]?.tokens[tsTokenId]?.token;
40
+ if (!spokeToken)
41
+ throw new Error(`Spoke token not found for network: ${network}, tsChainId: ${tsChainId}, tsTokenId: ${tsTokenId}`);
42
+ if (spokeToken.type === TokenType.NATIVE)
43
+ throw new Error(`Spoke token is native for network: ${network}, tsChainId: ${tsChainId}, tsTokenId: ${tsTokenId}`);
44
+ return convertFromGenericAddress(spokeToken.address, ChainType.EVM);
45
+ }
46
+ //# sourceMappingURL=contract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../../../../src/chains/evm/spoke/utils/contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAChF,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AACxF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sCAAsC,CAAC;AACzE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iDAAiD,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAiBpE,MAAM,UAAU,yBAAyB,CACvC,QAAgB,EAChB,OAAuB,EACvB,MAAqB;IAIrB,OAAO,WAAW,CAAC;QACjB,GAAG,EAAE,iBAAiB;QACtB,OAAO,EAAE,yBAAyB,CAAgB,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC;QACzE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE;KAC7C,CAAC,CAAC;AACL,CAAC;AAWD,MAAM,UAAU,iCAAiC,CAC/C,QAAgB,EAChB,OAAuB,EACvB,MAAqB;IAErB,OAAO,WAAW,CAAC;QACjB,GAAG,EAAE,yBAAyB;QAC9B,OAAO,EAAE,yBAAyB,CAAgB,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC;QACzE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE;KAC7C,CAAC,CAAC;AACL,CAAC;AAWD,MAAM,UAAU,qBAAqB,CACnC,QAAgB,EAChB,OAAuB,EACvB,MAAqB;IAIrB,OAAO,WAAW,CAAC;QACjB,GAAG,EAAE,aAAa;QAClB,OAAO,EAAE,yBAAyB,CAAgB,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC;QACzE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE;KAC7C,CAAC,CAAC;AACL,CAAC;AAWD,MAAM,UAAU,+BAA+B,CAC7C,QAAgB,EAChB,OAAuB,EACvB,MAAqB;IAIrB,OAAO,WAAW,CAAC;QACjB,GAAG,EAAE,uBAAuB;QAC5B,OAAO,EAAE,yBAAyB,CAAgB,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC;QACzE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE;KAC7C,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,OAAoB,EACpB,SAAoB,EACpB,SAAoB;IAEpB,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC;IAC7E,IAAI,CAAC,UAAU;QACb,MAAM,IAAI,KAAK,CACb,sCAAsC,OAAO,gBAAgB,SAAS,gBAAgB,SAAS,EAAE,CAClG,CAAC;IACJ,IAAI,UAAU,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM;QACtC,MAAM,IAAI,KAAK,CACb,sCAAsC,OAAO,gBAAgB,SAAS,gBAAgB,SAAS,EAAE,CAClG,CAAC;IACJ,OAAO,yBAAyB,CAAC,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,CAAC,CAAC;AACtE,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { AdapterType } from '../types/message.js';
2
+ export declare const DATA_ADAPTERS: readonly [AdapterType];
@@ -0,0 +1,6 @@
1
+ import { AdapterType } from '../types/message.js';
2
+ export const DATA_ADAPTERS = [
3
+ AdapterType.HUB,
4
+ // AdapterType.WORMHOLE_DATA,
5
+ ];
6
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/common/constants/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,WAAW,CAAC,GAAG;IACf,6BAA6B;CACrB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare const UINT8_LENGTH = 1;
2
+ export declare const UINT16_LENGTH = 2;
3
+ export declare const UINT256_LENGTH = 32;
4
+ export declare const BYTES4_LENGTH = 4;
5
+ export declare const BYTES32_LENGTH = 32;
6
+ export declare const EVM_ADDRESS_BYTES_LENGTH = 20;
@@ -0,0 +1,7 @@
1
+ export const UINT8_LENGTH = 1;
2
+ export const UINT16_LENGTH = 2;
3
+ export const UINT256_LENGTH = 32;
4
+ export const BYTES4_LENGTH = 4;
5
+ export const BYTES32_LENGTH = 32;
6
+ export const EVM_ADDRESS_BYTES_LENGTH = 20;
7
+ //# sourceMappingURL=byte.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"byte.js","sourceRoot":"","sources":["../../../src/common/constants/byte.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC;AAC9B,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC;AAC/B,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AACjC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAC;AAC/B,MAAM,CAAC,MAAM,cAAc,GAAG,EAAE,CAAC;AAEjC,MAAM,CAAC,MAAM,wBAAwB,GAAG,EAAE,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { NetworkType } from '../types/chain.js';
2
+ import type { TSChainId, TSChain, SpokeChain } from '../types/chain.js';
3
+ export declare const MAINNET_TS_CHAIN_ID: {
4
+ readonly MONAD: 143;
5
+ };
6
+ export declare const TS_CHAIN_ID: {
7
+ MONAD: 143;
8
+ };
9
+ export declare const TS_CHAIN: Record<NetworkType, Partial<Record<TSChainId, TSChain>>>;
10
+ export declare const SPOKE_CHAIN: Record<NetworkType, Partial<Record<TSChainId, SpokeChain>>>;