@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,19 @@
1
+ import type { GenericAddress } from "./address.js";
2
+ import type { Branded } from "./brand.js";
3
+
4
+ export enum MessageDirection {
5
+ SpokeToHub,
6
+ HubToSpoke,
7
+ }
8
+
9
+ export type WormholeData = {
10
+ wormholeChainId: number;
11
+ wormholeRelayer: GenericAddress;
12
+ };
13
+
14
+ export type CCIPData = {
15
+ ccipChainId: bigint;
16
+ ccipRouter: GenericAddress;
17
+ };
18
+
19
+ export type MessageId = Branded<`0x${string}`, "MessageId">;
@@ -0,0 +1,26 @@
1
+ import type { Branded } from './brand.js';
2
+
3
+ export type Nonce = Branded<`0x${string}`, 'Nonce'>;
4
+ export type AccountId = Branded<`0x${string}`, 'AccountId'>;
5
+ export type LoanId = Branded<`0x${string}`, 'LoanId'>;
6
+ export type LoanName = Branded<`0x${string}`, 'LoanName'>;
7
+
8
+ export const MAINNET_LOAN_TYPE_ID = {
9
+ DEPOSIT: 1, // no support for borrows
10
+ GENERAL: 2,
11
+ MON_EFFICIENCY: 3,
12
+ STABLE_EFFICIENCY: 4,
13
+ } as const;
14
+ export type MainnetLoanTypeId =
15
+ (typeof MAINNET_LOAN_TYPE_ID)[keyof typeof MAINNET_LOAN_TYPE_ID];
16
+
17
+ export const TESTNET_LOAN_TYPE_ID = {
18
+ DEPOSIT: 2, // no support for borrows
19
+ GENERAL: 1,
20
+ MON_EFFICIENCY: 3,
21
+ STABLE_EFFICIENCY: 4,
22
+ } as const;
23
+ export type TestnetLoanTypeId =
24
+ (typeof TESTNET_LOAN_TYPE_ID)[keyof typeof TESTNET_LOAN_TYPE_ID];
25
+
26
+ export type LoanTypeId = MainnetLoanTypeId | TestnetLoanTypeId;
@@ -0,0 +1,401 @@
1
+ import type { MessageAdapterParamsType } from './adapter.js';
2
+ import type { GenericAddress } from './address.js';
3
+ import type { TSChainId } from './chain.js';
4
+ import type {
5
+ AccountId,
6
+ LoanId,
7
+ LoanName,
8
+ LoanTypeId,
9
+ Nonce,
10
+ } from './lending.js';
11
+ import type {
12
+ TSTokenId as LendingTokenId,
13
+ TsSpokeTokenType,
14
+ TsHubTokenType,
15
+ } from './token.js';
16
+ import type { NonEmptyArray } from '../../types/generics.js';
17
+ import type {
18
+ FINALITY,
19
+ HUB_ACTIONS,
20
+ RECEIVE_TOKEN_ACTIONS,
21
+ REVERSIBLE_HUB_ACTIONS,
22
+ SEND_TOKEN_ACTIONS,
23
+ } from '../constants/message.js';
24
+ import type { Hex } from 'viem';
25
+
26
+ export enum AdapterType {
27
+ HUB = 1,
28
+ WORMHOLE_DATA = 1,
29
+ }
30
+
31
+ export enum Action {
32
+ // SPOKE -> HUB
33
+ CreateAccount,
34
+ InviteAddress,
35
+ AcceptInviteAddress,
36
+ UnregisterAddress,
37
+ AddDelegate,
38
+ RemoveDelegate,
39
+ CreateLoan,
40
+ DeleteLoan,
41
+ InitiateLoanAccountWithDeposit,
42
+ Deposit,
43
+ DepositTsToken,
44
+ Withdraw,
45
+ WithdrawTsToken,
46
+ Borrow,
47
+ Repay,
48
+ RepayWithCollateral,
49
+ Liquidate,
50
+ ChangeBorrowMode,
51
+ // HUB -> SPOKE
52
+ SendToken,
53
+ // CUSTOM,
54
+ ClaimRewardsV2,
55
+ }
56
+
57
+ export type SendTokenAction = Extract<
58
+ Action,
59
+ (typeof SEND_TOKEN_ACTIONS)[number]
60
+ >;
61
+ export type ReceiveTokenAction = Extract<
62
+ Action,
63
+ (typeof RECEIVE_TOKEN_ACTIONS)[number]
64
+ >;
65
+ export type HubAction = Extract<Action, (typeof HUB_ACTIONS)[number]>;
66
+
67
+ export type ReversibleHubAction = Extract<
68
+ Action,
69
+ (typeof REVERSIBLE_HUB_ACTIONS)[number]
70
+ >;
71
+
72
+ export type DataAction = Extract<
73
+ Action,
74
+ | Action.CreateAccount
75
+ | Action.InviteAddress
76
+ | Action.AcceptInviteAddress
77
+ | Action.UnregisterAddress
78
+ | Action.AddDelegate
79
+ | Action.RemoveDelegate
80
+ | Action.CreateLoan
81
+ | Action.DeleteLoan
82
+ | Action.RepayWithCollateral
83
+ | Action.ChangeBorrowMode
84
+ >;
85
+
86
+ export type ClaimRewardAction = Extract<Action, Action.ClaimRewardsV2>;
87
+
88
+ export type Finality = (typeof FINALITY)[keyof typeof FINALITY];
89
+
90
+ export type MessageAdapters = {
91
+ adapterId: AdapterType;
92
+ returnAdapterId: AdapterType;
93
+ };
94
+
95
+ export type SupportedMessageAdapters = {
96
+ adapterIds: NonEmptyArray<AdapterType>;
97
+ returnAdapterIds: NonEmptyArray<AdapterType>;
98
+ };
99
+
100
+ export type SupportedMessageAdaptersMap = {
101
+ [MessageAdapterParamsType.SendToken]: SupportedMessageAdapters;
102
+ [MessageAdapterParamsType.ReceiveToken]: SupportedMessageAdapters;
103
+ [MessageAdapterParamsType.Data]: SupportedMessageAdapters;
104
+ };
105
+
106
+ export type FeeParams = {
107
+ receiverValue: bigint;
108
+ gasLimit: bigint;
109
+ returnGasLimit: bigint;
110
+ };
111
+
112
+ export type MessageParams = FeeParams & MessageAdapters;
113
+
114
+ export type OptionalFeeParams = Partial<FeeParams>;
115
+
116
+ export type Payload = {
117
+ action: Action;
118
+ accountId: AccountId;
119
+ userAddr: GenericAddress;
120
+ data: Hex;
121
+ };
122
+
123
+ export type MessageToSend = {
124
+ params: MessageParams;
125
+ sender: GenericAddress;
126
+ destinationChainId: number;
127
+ handler: GenericAddress;
128
+ payload: Hex;
129
+ finalityLevel: Finality;
130
+ extraArgs: Hex;
131
+ };
132
+
133
+ // Data
134
+ export type DefaultMessageData = '0x';
135
+
136
+ // Data: account
137
+ export type CreateAccountMessageData = {
138
+ nonce: Nonce;
139
+ refAccountId: AccountId;
140
+ };
141
+
142
+ export type InviteAddressMessageData = {
143
+ tsChainIdToInvite: TSChainId;
144
+ addressToInvite: GenericAddress;
145
+ refAccountId: AccountId;
146
+ };
147
+
148
+ export type UnregisterAddressMessageData = {
149
+ tsChainIdToUnregister: TSChainId;
150
+ };
151
+
152
+ // Data: loan
153
+ export type CreateLoanMessageData = {
154
+ nonce: Nonce;
155
+ loanTypeId: LoanTypeId;
156
+ loanName: LoanName;
157
+ };
158
+
159
+ export type DeleteLoanMessageData = {
160
+ accountId: AccountId;
161
+ loanId: LoanId;
162
+ };
163
+
164
+ export type CreateLoanAndDepositMessageData = {
165
+ nonce: Nonce;
166
+ poolId: number;
167
+ amount: bigint;
168
+ loanTypeId: LoanTypeId;
169
+ loanName: LoanName;
170
+ };
171
+
172
+ export type DepositMessageData = {
173
+ loanId: LoanId;
174
+ poolId: number;
175
+ amount: bigint;
176
+ };
177
+
178
+ export type WithdrawMessageData = {
179
+ loanId: LoanId;
180
+ poolId: number;
181
+ receiverTsChainId: TSChainId;
182
+ amount: bigint;
183
+ isFAmount: boolean;
184
+ };
185
+
186
+ export type BorrowMessageData = {
187
+ loanId: LoanId;
188
+ poolId: number;
189
+ receiverTsChainId: TSChainId;
190
+ amount: bigint;
191
+ maxStableRate: bigint;
192
+ };
193
+
194
+ export type RepayMessageData = {
195
+ loanId: LoanId;
196
+ poolId: number;
197
+ amount: bigint;
198
+ maxOverRepayment: bigint;
199
+ };
200
+
201
+ export type RepayWithCollateralMessageData = {
202
+ loanId: LoanId;
203
+ poolId: number;
204
+ amount: bigint;
205
+ };
206
+
207
+ export type SwitchBorrowTypeMessageData = {
208
+ loanId: LoanId;
209
+ poolId: number;
210
+ maxStableRate: bigint;
211
+ };
212
+
213
+ export type LiquidateMessageData = {
214
+ violatorLoanId: LoanId;
215
+ liquidatorLoanId: LoanId;
216
+ colPoolId: number;
217
+ borPoolId: number;
218
+ repayingAmount: bigint;
219
+ minSeizedAmount: bigint;
220
+ };
221
+
222
+ export type SendTokenMessageData = {
223
+ amount: bigint;
224
+ };
225
+
226
+ // Extra args
227
+ export type DefaultExtraArgs = '0x';
228
+
229
+ // Extra args: loan
230
+ export type DepositExtraArgs = {
231
+ token: TsSpokeTokenType;
232
+ recipient: GenericAddress;
233
+ amount: bigint;
234
+ };
235
+
236
+ export type RepayExtraArgs = {
237
+ token: TsSpokeTokenType;
238
+ recipient: GenericAddress;
239
+ amount: bigint;
240
+ };
241
+
242
+ export type SendTokenExtraArgs = {
243
+ tsTokenId: LendingTokenId;
244
+ token: TsHubTokenType;
245
+ recipient: GenericAddress;
246
+ amount: bigint;
247
+ };
248
+
249
+ export type OverrideTokenData = {
250
+ tsTokenId: LendingTokenId;
251
+ token: TsSpokeTokenType;
252
+ address: GenericAddress;
253
+ amount: bigint;
254
+ };
255
+
256
+ export type MessageDataMap = {
257
+ [Action.AcceptInviteAddress]: DefaultMessageData;
258
+ [Action.AddDelegate]: DefaultMessageData;
259
+ [Action.RemoveDelegate]: DefaultMessageData;
260
+ [Action.DepositTsToken]: DefaultMessageData;
261
+ [Action.WithdrawTsToken]: DefaultMessageData;
262
+ [Action.CreateAccount]: CreateAccountMessageData;
263
+ [Action.InviteAddress]: InviteAddressMessageData;
264
+ [Action.UnregisterAddress]: UnregisterAddressMessageData;
265
+ [Action.CreateLoan]: CreateLoanMessageData;
266
+ [Action.DeleteLoan]: DeleteLoanMessageData;
267
+ [Action.InitiateLoanAccountWithDeposit]: CreateLoanAndDepositMessageData;
268
+ [Action.Deposit]: DepositMessageData;
269
+ [Action.Withdraw]: WithdrawMessageData;
270
+ [Action.Borrow]: BorrowMessageData;
271
+ [Action.Repay]: RepayMessageData;
272
+ [Action.RepayWithCollateral]: RepayWithCollateralMessageData;
273
+ [Action.ChangeBorrowMode]: SwitchBorrowTypeMessageData;
274
+ [Action.Liquidate]: LiquidateMessageData;
275
+ [Action.SendToken]: SendTokenMessageData;
276
+ };
277
+
278
+ // Params
279
+ export type DefaultMessageDataParams = {
280
+ action:
281
+ | Action.AcceptInviteAddress
282
+ | Action.AddDelegate
283
+ | Action.RemoveDelegate
284
+ | Action.DepositTsToken
285
+ | Action.WithdrawTsToken;
286
+ data: DefaultMessageData;
287
+ extraArgs: DefaultExtraArgs;
288
+ };
289
+
290
+ // Params: account
291
+ export type CreateAccountMessageDataParams = {
292
+ action: Action.CreateAccount;
293
+ data: CreateAccountMessageData;
294
+ extraArgs: DefaultExtraArgs;
295
+ };
296
+
297
+ export type InviteAddressMessageDataParams = {
298
+ action: Action.InviteAddress;
299
+ data: InviteAddressMessageData;
300
+ extraArgs: DefaultExtraArgs;
301
+ };
302
+
303
+ export type UnregisterAddressMessageDataParams = {
304
+ action: Action.UnregisterAddress;
305
+ data: UnregisterAddressMessageData;
306
+ extraArgs: DefaultExtraArgs;
307
+ };
308
+
309
+ // Params: loan
310
+ export type CreateLoanMessageDataParams = {
311
+ action: Action.CreateLoan;
312
+ data: CreateLoanMessageData;
313
+ extraArgs: DefaultExtraArgs;
314
+ };
315
+
316
+ export type DeleteLoanMessageDataParams = {
317
+ action: Action.DeleteLoan;
318
+ data: DeleteLoanMessageData;
319
+ extraArgs: DefaultExtraArgs;
320
+ };
321
+
322
+ export type CreateLoanAndDepositMessageDataParams = {
323
+ action: Action.InitiateLoanAccountWithDeposit;
324
+ data: CreateLoanAndDepositMessageData;
325
+ extraArgs: DepositExtraArgs;
326
+ };
327
+
328
+ export type DepositMessageDataParams = {
329
+ action: Action.Deposit;
330
+ data: DepositMessageData;
331
+ extraArgs: DepositExtraArgs;
332
+ };
333
+
334
+ export type WithdrawMessageDataParams = {
335
+ action: Action.Withdraw;
336
+ data: WithdrawMessageData;
337
+ extraArgs: DefaultExtraArgs;
338
+ };
339
+
340
+ export type BorrowMessageDataParams = {
341
+ action: Action.Borrow;
342
+ data: BorrowMessageData;
343
+ extraArgs: DefaultExtraArgs;
344
+ };
345
+
346
+ export type RepayMessageDataParams = {
347
+ action: Action.Repay;
348
+ data: RepayMessageData;
349
+ extraArgs: RepayExtraArgs;
350
+ };
351
+
352
+ export type RepayWithCollateralMessageDataParams = {
353
+ action: Action.RepayWithCollateral;
354
+ data: RepayWithCollateralMessageData;
355
+ extraArgs: DefaultExtraArgs;
356
+ };
357
+
358
+ export type SwitchBorrowTypeMessageDataParams = {
359
+ action: Action.ChangeBorrowMode;
360
+ data: SwitchBorrowTypeMessageData;
361
+ extraArgs: DefaultExtraArgs;
362
+ };
363
+
364
+ export type LiquidateMessageDataParams = {
365
+ action: Action.Liquidate;
366
+ data: LiquidateMessageData;
367
+ extraArgs: DefaultExtraArgs;
368
+ };
369
+
370
+ export type SendTokenMessageDataParams = {
371
+ action: Action.SendToken;
372
+ data: SendTokenMessageData;
373
+ extraArgs: SendTokenExtraArgs;
374
+ overrideData: OverrideTokenData;
375
+ };
376
+
377
+ export type MessageDataParams =
378
+ | DefaultMessageDataParams
379
+ | CreateAccountMessageDataParams
380
+ | InviteAddressMessageDataParams
381
+ | UnregisterAddressMessageDataParams
382
+ | CreateLoanMessageDataParams
383
+ | DeleteLoanMessageDataParams
384
+ | CreateLoanAndDepositMessageDataParams
385
+ | DepositMessageDataParams
386
+ | WithdrawMessageDataParams
387
+ | BorrowMessageDataParams
388
+ | RepayMessageDataParams
389
+ | RepayWithCollateralMessageDataParams
390
+ | SwitchBorrowTypeMessageDataParams
391
+ | LiquidateMessageDataParams
392
+ | SendTokenMessageDataParams;
393
+
394
+ export type MessageBuilderParams = {
395
+ userAddress: GenericAddress;
396
+ accountId: AccountId;
397
+ adapters: MessageAdapters;
398
+ sender: GenericAddress;
399
+ destinationChainId: TSChainId;
400
+ handler: GenericAddress;
401
+ } & MessageDataParams;
@@ -0,0 +1,46 @@
1
+ import type {
2
+ PrepareCreateAccountCall as PrepareCreateAccountEVMCall,
3
+ PrepareInviteAddressCall as PrepareInviteAddressEVMCall,
4
+ PrepareAcceptInviteAddressCall as PrepareAcceptInviteAddressEVMCall,
5
+ PrepareUnregisterAddressCall as PrepareUnregisterAddressEVMCall,
6
+ PrepareCreateLoanCall as PrepareCreateLoanEVMCall,
7
+ PrepareDeleteLoanCall as PrepareDeleteLoanEVMCall,
8
+ PrepareCreateLoanAndDepositCall as PrepareCreateLoanAndDepositEVMCall,
9
+ PrepareDepositCall as PrepareDepositEVMCall,
10
+ PrepareWithdrawCall as PrepareWithdrawEVMCall,
11
+ PrepareCall as PrepareEVMCall,
12
+ PrepareBorrowCall as PrepareBorrowEVMCall,
13
+ PrepareRepayCall as PrepareRepayEVMCall,
14
+ PrepareRepayWithCollateralCall as PrepareRepayWithCollateralEVMCall,
15
+ PrepareSwitchBorrowTypeCall as PrepareSwitchBorrowTypeEVMCall,
16
+ PrepareLiquidateCall as PrepareLiquidateEVMCall,
17
+ PrepareUpdateUserPointsInLoansCall as PrepareUpdateUserPointsInLoansEVMCall,
18
+ PrepareRetryMessageCall as PrepareRetryMessageEVMCall,
19
+ PrepareReverseMessageCall as PrepareReverseMessageEVMCall,
20
+ PrepareResendWormholeMessageCall as PrepareResendWormholeMessageEVMCall,
21
+ } from '../../chains/evm/common/types/module.js';
22
+
23
+ export type PrepareCall = PrepareEVMCall;
24
+
25
+ export type PrepareCreateAccountCall = PrepareCreateAccountEVMCall;
26
+ export type PrepareInviteAddressCall = PrepareInviteAddressEVMCall;
27
+ export type PrepareAcceptInviteAddressCall = PrepareAcceptInviteAddressEVMCall;
28
+ export type PrepareUnregisterAddressCall = PrepareUnregisterAddressEVMCall;
29
+
30
+ export type PrepareCreateLoanCall = PrepareCreateLoanEVMCall;
31
+ export type PrepareDeleteLoanCall = PrepareDeleteLoanEVMCall;
32
+ export type PrepareCreateLoanAndDepositCall =
33
+ PrepareCreateLoanAndDepositEVMCall;
34
+ export type PrepareDepositCall = PrepareDepositEVMCall;
35
+ export type PrepareWithdrawCall = PrepareWithdrawEVMCall;
36
+ export type PrepareBorrowCall = PrepareBorrowEVMCall;
37
+ export type PrepareRepayCall = PrepareRepayEVMCall;
38
+ export type PrepareRepayWithCollateralCall = PrepareRepayWithCollateralEVMCall;
39
+ export type PrepareSwitchBorrowTypeCall = PrepareSwitchBorrowTypeEVMCall;
40
+ export type PrepareLiquidateCall = PrepareLiquidateEVMCall;
41
+ export type PrepareUpdateUserPointsInLoansCall =
42
+ PrepareUpdateUserPointsInLoansEVMCall;
43
+ export type PrepareRetryMessageCall = PrepareRetryMessageEVMCall;
44
+ export type PrepareReverseMessageCall = PrepareReverseMessageEVMCall;
45
+ export type PrepareResendWormholeMessageCall =
46
+ PrepareResendWormholeMessageEVMCall;
@@ -0,0 +1,72 @@
1
+ import type { GenericAddress } from './address.js';
2
+ import type { AdapterType } from './message.js';
3
+
4
+ export const MAINNET_TS_TOKEN_ID = {
5
+ USDC: 'USDC',
6
+ MON: 'MON',
7
+ wMON: 'wMON',
8
+ AZND: 'AZND',
9
+ muBOND: 'muBOND',
10
+ AUSD: 'AUSD',
11
+ // earnAUSD: 'earnAUSD',
12
+ // IoAZND: 'IoAZND',
13
+ USD1: 'USD1',
14
+ WETH: 'WETH',
15
+ WBTC: 'WBTC',
16
+ // shMON: 'shMON',
17
+ // aprMON: 'aprMON',
18
+ // gMON: 'gMON',
19
+ // sMON: 'sMON',
20
+ } as const;
21
+ export type MainnetTsTokenId =
22
+ (typeof MAINNET_TS_TOKEN_ID)[keyof typeof MAINNET_TS_TOKEN_ID];
23
+
24
+ export type TSTokenId = MainnetTsTokenId;
25
+
26
+ export enum TokenType {
27
+ NATIVE = 'NATIVE',
28
+ ERC20 = 'ERC20',
29
+ CROSS_CHAIN = 'CROSS_CHAIN',
30
+ }
31
+
32
+ export type ITokenData = {
33
+ TsTokenId: TSTokenId;
34
+ };
35
+
36
+ export type Erc20SpokeTokenType = {
37
+ type: TokenType.ERC20;
38
+ address: GenericAddress;
39
+ decimals: number;
40
+ };
41
+
42
+ export type Erc20HubTokenType = {
43
+ type: TokenType.ERC20;
44
+ decimals: number;
45
+ };
46
+
47
+ export type CrossChainTokenType = {
48
+ type: TokenType.CROSS_CHAIN;
49
+ adapters: Array<AdapterType>;
50
+ address: GenericAddress;
51
+ decimals: number;
52
+ };
53
+
54
+ export type NativeTokenType = {
55
+ type: TokenType.NATIVE;
56
+ decimals: number;
57
+ };
58
+
59
+ export type TsSpokeTokenType =
60
+ | Erc20SpokeTokenType
61
+ | CrossChainTokenType
62
+ | NativeTokenType;
63
+ export type TsHubTokenType =
64
+ | Erc20HubTokenType
65
+ | CrossChainTokenType
66
+ | NativeTokenType;
67
+
68
+ export type SpokeTokenData = {
69
+ poolId: number;
70
+ spokeAddress: GenericAddress;
71
+ token: TsSpokeTokenType;
72
+ } & ITokenData;