@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,280 @@
1
+ import type { MessageAdapterParamsType } from './adapter.js';
2
+ import type { GenericAddress } from './address.js';
3
+ import type { TSChainId } from './chain.js';
4
+ import type { AccountId, LoanId, LoanName, LoanTypeId, Nonce } from './lending.js';
5
+ import type { TSTokenId as LendingTokenId, TsSpokeTokenType, TsHubTokenType } from './token.js';
6
+ import type { NonEmptyArray } from '../../types/generics.js';
7
+ import type { FINALITY, HUB_ACTIONS, RECEIVE_TOKEN_ACTIONS, REVERSIBLE_HUB_ACTIONS, SEND_TOKEN_ACTIONS } from '../constants/message.js';
8
+ import type { Hex } from 'viem';
9
+ export declare enum AdapterType {
10
+ HUB = 1,
11
+ WORMHOLE_DATA = 1
12
+ }
13
+ export declare enum Action {
14
+ CreateAccount = 0,
15
+ InviteAddress = 1,
16
+ AcceptInviteAddress = 2,
17
+ UnregisterAddress = 3,
18
+ AddDelegate = 4,
19
+ RemoveDelegate = 5,
20
+ CreateLoan = 6,
21
+ DeleteLoan = 7,
22
+ InitiateLoanAccountWithDeposit = 8,
23
+ Deposit = 9,
24
+ DepositTsToken = 10,
25
+ Withdraw = 11,
26
+ WithdrawTsToken = 12,
27
+ Borrow = 13,
28
+ Repay = 14,
29
+ RepayWithCollateral = 15,
30
+ Liquidate = 16,
31
+ ChangeBorrowMode = 17,
32
+ SendToken = 18,
33
+ ClaimRewardsV2 = 19
34
+ }
35
+ export type SendTokenAction = Extract<Action, (typeof SEND_TOKEN_ACTIONS)[number]>;
36
+ export type ReceiveTokenAction = Extract<Action, (typeof RECEIVE_TOKEN_ACTIONS)[number]>;
37
+ export type HubAction = Extract<Action, (typeof HUB_ACTIONS)[number]>;
38
+ export type ReversibleHubAction = Extract<Action, (typeof REVERSIBLE_HUB_ACTIONS)[number]>;
39
+ export type DataAction = Extract<Action, Action.CreateAccount | Action.InviteAddress | Action.AcceptInviteAddress | Action.UnregisterAddress | Action.AddDelegate | Action.RemoveDelegate | Action.CreateLoan | Action.DeleteLoan | Action.RepayWithCollateral | Action.ChangeBorrowMode>;
40
+ export type ClaimRewardAction = Extract<Action, Action.ClaimRewardsV2>;
41
+ export type Finality = (typeof FINALITY)[keyof typeof FINALITY];
42
+ export type MessageAdapters = {
43
+ adapterId: AdapterType;
44
+ returnAdapterId: AdapterType;
45
+ };
46
+ export type SupportedMessageAdapters = {
47
+ adapterIds: NonEmptyArray<AdapterType>;
48
+ returnAdapterIds: NonEmptyArray<AdapterType>;
49
+ };
50
+ export type SupportedMessageAdaptersMap = {
51
+ [MessageAdapterParamsType.SendToken]: SupportedMessageAdapters;
52
+ [MessageAdapterParamsType.ReceiveToken]: SupportedMessageAdapters;
53
+ [MessageAdapterParamsType.Data]: SupportedMessageAdapters;
54
+ };
55
+ export type FeeParams = {
56
+ receiverValue: bigint;
57
+ gasLimit: bigint;
58
+ returnGasLimit: bigint;
59
+ };
60
+ export type MessageParams = FeeParams & MessageAdapters;
61
+ export type OptionalFeeParams = Partial<FeeParams>;
62
+ export type Payload = {
63
+ action: Action;
64
+ accountId: AccountId;
65
+ userAddr: GenericAddress;
66
+ data: Hex;
67
+ };
68
+ export type MessageToSend = {
69
+ params: MessageParams;
70
+ sender: GenericAddress;
71
+ destinationChainId: number;
72
+ handler: GenericAddress;
73
+ payload: Hex;
74
+ finalityLevel: Finality;
75
+ extraArgs: Hex;
76
+ };
77
+ export type DefaultMessageData = '0x';
78
+ export type CreateAccountMessageData = {
79
+ nonce: Nonce;
80
+ refAccountId: AccountId;
81
+ };
82
+ export type InviteAddressMessageData = {
83
+ tsChainIdToInvite: TSChainId;
84
+ addressToInvite: GenericAddress;
85
+ refAccountId: AccountId;
86
+ };
87
+ export type UnregisterAddressMessageData = {
88
+ tsChainIdToUnregister: TSChainId;
89
+ };
90
+ export type CreateLoanMessageData = {
91
+ nonce: Nonce;
92
+ loanTypeId: LoanTypeId;
93
+ loanName: LoanName;
94
+ };
95
+ export type DeleteLoanMessageData = {
96
+ accountId: AccountId;
97
+ loanId: LoanId;
98
+ };
99
+ export type CreateLoanAndDepositMessageData = {
100
+ nonce: Nonce;
101
+ poolId: number;
102
+ amount: bigint;
103
+ loanTypeId: LoanTypeId;
104
+ loanName: LoanName;
105
+ };
106
+ export type DepositMessageData = {
107
+ loanId: LoanId;
108
+ poolId: number;
109
+ amount: bigint;
110
+ };
111
+ export type WithdrawMessageData = {
112
+ loanId: LoanId;
113
+ poolId: number;
114
+ receiverTsChainId: TSChainId;
115
+ amount: bigint;
116
+ isFAmount: boolean;
117
+ };
118
+ export type BorrowMessageData = {
119
+ loanId: LoanId;
120
+ poolId: number;
121
+ receiverTsChainId: TSChainId;
122
+ amount: bigint;
123
+ maxStableRate: bigint;
124
+ };
125
+ export type RepayMessageData = {
126
+ loanId: LoanId;
127
+ poolId: number;
128
+ amount: bigint;
129
+ maxOverRepayment: bigint;
130
+ };
131
+ export type RepayWithCollateralMessageData = {
132
+ loanId: LoanId;
133
+ poolId: number;
134
+ amount: bigint;
135
+ };
136
+ export type SwitchBorrowTypeMessageData = {
137
+ loanId: LoanId;
138
+ poolId: number;
139
+ maxStableRate: bigint;
140
+ };
141
+ export type LiquidateMessageData = {
142
+ violatorLoanId: LoanId;
143
+ liquidatorLoanId: LoanId;
144
+ colPoolId: number;
145
+ borPoolId: number;
146
+ repayingAmount: bigint;
147
+ minSeizedAmount: bigint;
148
+ };
149
+ export type SendTokenMessageData = {
150
+ amount: bigint;
151
+ };
152
+ export type DefaultExtraArgs = '0x';
153
+ export type DepositExtraArgs = {
154
+ token: TsSpokeTokenType;
155
+ recipient: GenericAddress;
156
+ amount: bigint;
157
+ };
158
+ export type RepayExtraArgs = {
159
+ token: TsSpokeTokenType;
160
+ recipient: GenericAddress;
161
+ amount: bigint;
162
+ };
163
+ export type SendTokenExtraArgs = {
164
+ tsTokenId: LendingTokenId;
165
+ token: TsHubTokenType;
166
+ recipient: GenericAddress;
167
+ amount: bigint;
168
+ };
169
+ export type OverrideTokenData = {
170
+ tsTokenId: LendingTokenId;
171
+ token: TsSpokeTokenType;
172
+ address: GenericAddress;
173
+ amount: bigint;
174
+ };
175
+ export type MessageDataMap = {
176
+ [Action.AcceptInviteAddress]: DefaultMessageData;
177
+ [Action.AddDelegate]: DefaultMessageData;
178
+ [Action.RemoveDelegate]: DefaultMessageData;
179
+ [Action.DepositTsToken]: DefaultMessageData;
180
+ [Action.WithdrawTsToken]: DefaultMessageData;
181
+ [Action.CreateAccount]: CreateAccountMessageData;
182
+ [Action.InviteAddress]: InviteAddressMessageData;
183
+ [Action.UnregisterAddress]: UnregisterAddressMessageData;
184
+ [Action.CreateLoan]: CreateLoanMessageData;
185
+ [Action.DeleteLoan]: DeleteLoanMessageData;
186
+ [Action.InitiateLoanAccountWithDeposit]: CreateLoanAndDepositMessageData;
187
+ [Action.Deposit]: DepositMessageData;
188
+ [Action.Withdraw]: WithdrawMessageData;
189
+ [Action.Borrow]: BorrowMessageData;
190
+ [Action.Repay]: RepayMessageData;
191
+ [Action.RepayWithCollateral]: RepayWithCollateralMessageData;
192
+ [Action.ChangeBorrowMode]: SwitchBorrowTypeMessageData;
193
+ [Action.Liquidate]: LiquidateMessageData;
194
+ [Action.SendToken]: SendTokenMessageData;
195
+ };
196
+ export type DefaultMessageDataParams = {
197
+ action: Action.AcceptInviteAddress | Action.AddDelegate | Action.RemoveDelegate | Action.DepositTsToken | Action.WithdrawTsToken;
198
+ data: DefaultMessageData;
199
+ extraArgs: DefaultExtraArgs;
200
+ };
201
+ export type CreateAccountMessageDataParams = {
202
+ action: Action.CreateAccount;
203
+ data: CreateAccountMessageData;
204
+ extraArgs: DefaultExtraArgs;
205
+ };
206
+ export type InviteAddressMessageDataParams = {
207
+ action: Action.InviteAddress;
208
+ data: InviteAddressMessageData;
209
+ extraArgs: DefaultExtraArgs;
210
+ };
211
+ export type UnregisterAddressMessageDataParams = {
212
+ action: Action.UnregisterAddress;
213
+ data: UnregisterAddressMessageData;
214
+ extraArgs: DefaultExtraArgs;
215
+ };
216
+ export type CreateLoanMessageDataParams = {
217
+ action: Action.CreateLoan;
218
+ data: CreateLoanMessageData;
219
+ extraArgs: DefaultExtraArgs;
220
+ };
221
+ export type DeleteLoanMessageDataParams = {
222
+ action: Action.DeleteLoan;
223
+ data: DeleteLoanMessageData;
224
+ extraArgs: DefaultExtraArgs;
225
+ };
226
+ export type CreateLoanAndDepositMessageDataParams = {
227
+ action: Action.InitiateLoanAccountWithDeposit;
228
+ data: CreateLoanAndDepositMessageData;
229
+ extraArgs: DepositExtraArgs;
230
+ };
231
+ export type DepositMessageDataParams = {
232
+ action: Action.Deposit;
233
+ data: DepositMessageData;
234
+ extraArgs: DepositExtraArgs;
235
+ };
236
+ export type WithdrawMessageDataParams = {
237
+ action: Action.Withdraw;
238
+ data: WithdrawMessageData;
239
+ extraArgs: DefaultExtraArgs;
240
+ };
241
+ export type BorrowMessageDataParams = {
242
+ action: Action.Borrow;
243
+ data: BorrowMessageData;
244
+ extraArgs: DefaultExtraArgs;
245
+ };
246
+ export type RepayMessageDataParams = {
247
+ action: Action.Repay;
248
+ data: RepayMessageData;
249
+ extraArgs: RepayExtraArgs;
250
+ };
251
+ export type RepayWithCollateralMessageDataParams = {
252
+ action: Action.RepayWithCollateral;
253
+ data: RepayWithCollateralMessageData;
254
+ extraArgs: DefaultExtraArgs;
255
+ };
256
+ export type SwitchBorrowTypeMessageDataParams = {
257
+ action: Action.ChangeBorrowMode;
258
+ data: SwitchBorrowTypeMessageData;
259
+ extraArgs: DefaultExtraArgs;
260
+ };
261
+ export type LiquidateMessageDataParams = {
262
+ action: Action.Liquidate;
263
+ data: LiquidateMessageData;
264
+ extraArgs: DefaultExtraArgs;
265
+ };
266
+ export type SendTokenMessageDataParams = {
267
+ action: Action.SendToken;
268
+ data: SendTokenMessageData;
269
+ extraArgs: SendTokenExtraArgs;
270
+ overrideData: OverrideTokenData;
271
+ };
272
+ export type MessageDataParams = DefaultMessageDataParams | CreateAccountMessageDataParams | InviteAddressMessageDataParams | UnregisterAddressMessageDataParams | CreateLoanMessageDataParams | DeleteLoanMessageDataParams | CreateLoanAndDepositMessageDataParams | DepositMessageDataParams | WithdrawMessageDataParams | BorrowMessageDataParams | RepayMessageDataParams | RepayWithCollateralMessageDataParams | SwitchBorrowTypeMessageDataParams | LiquidateMessageDataParams | SendTokenMessageDataParams;
273
+ export type MessageBuilderParams = {
274
+ userAddress: GenericAddress;
275
+ accountId: AccountId;
276
+ adapters: MessageAdapters;
277
+ sender: GenericAddress;
278
+ destinationChainId: TSChainId;
279
+ handler: GenericAddress;
280
+ } & MessageDataParams;
@@ -0,0 +1,32 @@
1
+ export var AdapterType;
2
+ (function (AdapterType) {
3
+ AdapterType[AdapterType["HUB"] = 1] = "HUB";
4
+ AdapterType[AdapterType["WORMHOLE_DATA"] = 1] = "WORMHOLE_DATA";
5
+ })(AdapterType || (AdapterType = {}));
6
+ export var Action;
7
+ (function (Action) {
8
+ // SPOKE -> HUB
9
+ Action[Action["CreateAccount"] = 0] = "CreateAccount";
10
+ Action[Action["InviteAddress"] = 1] = "InviteAddress";
11
+ Action[Action["AcceptInviteAddress"] = 2] = "AcceptInviteAddress";
12
+ Action[Action["UnregisterAddress"] = 3] = "UnregisterAddress";
13
+ Action[Action["AddDelegate"] = 4] = "AddDelegate";
14
+ Action[Action["RemoveDelegate"] = 5] = "RemoveDelegate";
15
+ Action[Action["CreateLoan"] = 6] = "CreateLoan";
16
+ Action[Action["DeleteLoan"] = 7] = "DeleteLoan";
17
+ Action[Action["InitiateLoanAccountWithDeposit"] = 8] = "InitiateLoanAccountWithDeposit";
18
+ Action[Action["Deposit"] = 9] = "Deposit";
19
+ Action[Action["DepositTsToken"] = 10] = "DepositTsToken";
20
+ Action[Action["Withdraw"] = 11] = "Withdraw";
21
+ Action[Action["WithdrawTsToken"] = 12] = "WithdrawTsToken";
22
+ Action[Action["Borrow"] = 13] = "Borrow";
23
+ Action[Action["Repay"] = 14] = "Repay";
24
+ Action[Action["RepayWithCollateral"] = 15] = "RepayWithCollateral";
25
+ Action[Action["Liquidate"] = 16] = "Liquidate";
26
+ Action[Action["ChangeBorrowMode"] = 17] = "ChangeBorrowMode";
27
+ // HUB -> SPOKE
28
+ Action[Action["SendToken"] = 18] = "SendToken";
29
+ // CUSTOM,
30
+ Action[Action["ClaimRewardsV2"] = 19] = "ClaimRewardsV2";
31
+ })(Action || (Action = {}));
32
+ //# sourceMappingURL=message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.js","sourceRoot":"","sources":["../../../src/common/types/message.ts"],"names":[],"mappings":"AAyBA,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,2CAAO,CAAA;IACP,+DAAiB,CAAA;AACnB,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB;AAED,MAAM,CAAN,IAAY,MAwBX;AAxBD,WAAY,MAAM;IAChB,eAAe;IACf,qDAAa,CAAA;IACb,qDAAa,CAAA;IACb,iEAAmB,CAAA;IACnB,6DAAiB,CAAA;IACjB,iDAAW,CAAA;IACX,uDAAc,CAAA;IACd,+CAAU,CAAA;IACV,+CAAU,CAAA;IACV,uFAA8B,CAAA;IAC9B,yCAAO,CAAA;IACP,wDAAc,CAAA;IACd,4CAAQ,CAAA;IACR,0DAAe,CAAA;IACf,wCAAM,CAAA;IACN,sCAAK,CAAA;IACL,kEAAmB,CAAA;IACnB,8CAAS,CAAA;IACT,4DAAgB,CAAA;IAChB,eAAe;IACf,8CAAS,CAAA;IACT,UAAU;IACV,wDAAc,CAAA;AAChB,CAAC,EAxBW,MAAM,KAAN,MAAM,QAwBjB"}
@@ -0,0 +1,20 @@
1
+ import type { PrepareCreateAccountCall as PrepareCreateAccountEVMCall, PrepareInviteAddressCall as PrepareInviteAddressEVMCall, PrepareAcceptInviteAddressCall as PrepareAcceptInviteAddressEVMCall, PrepareUnregisterAddressCall as PrepareUnregisterAddressEVMCall, PrepareCreateLoanCall as PrepareCreateLoanEVMCall, PrepareDeleteLoanCall as PrepareDeleteLoanEVMCall, PrepareCreateLoanAndDepositCall as PrepareCreateLoanAndDepositEVMCall, PrepareDepositCall as PrepareDepositEVMCall, PrepareWithdrawCall as PrepareWithdrawEVMCall, PrepareCall as PrepareEVMCall, PrepareBorrowCall as PrepareBorrowEVMCall, PrepareRepayCall as PrepareRepayEVMCall, PrepareRepayWithCollateralCall as PrepareRepayWithCollateralEVMCall, PrepareSwitchBorrowTypeCall as PrepareSwitchBorrowTypeEVMCall, PrepareLiquidateCall as PrepareLiquidateEVMCall, PrepareUpdateUserPointsInLoansCall as PrepareUpdateUserPointsInLoansEVMCall, PrepareRetryMessageCall as PrepareRetryMessageEVMCall, PrepareReverseMessageCall as PrepareReverseMessageEVMCall, PrepareResendWormholeMessageCall as PrepareResendWormholeMessageEVMCall } from '../../chains/evm/common/types/module.js';
2
+ export type PrepareCall = PrepareEVMCall;
3
+ export type PrepareCreateAccountCall = PrepareCreateAccountEVMCall;
4
+ export type PrepareInviteAddressCall = PrepareInviteAddressEVMCall;
5
+ export type PrepareAcceptInviteAddressCall = PrepareAcceptInviteAddressEVMCall;
6
+ export type PrepareUnregisterAddressCall = PrepareUnregisterAddressEVMCall;
7
+ export type PrepareCreateLoanCall = PrepareCreateLoanEVMCall;
8
+ export type PrepareDeleteLoanCall = PrepareDeleteLoanEVMCall;
9
+ export type PrepareCreateLoanAndDepositCall = PrepareCreateLoanAndDepositEVMCall;
10
+ export type PrepareDepositCall = PrepareDepositEVMCall;
11
+ export type PrepareWithdrawCall = PrepareWithdrawEVMCall;
12
+ export type PrepareBorrowCall = PrepareBorrowEVMCall;
13
+ export type PrepareRepayCall = PrepareRepayEVMCall;
14
+ export type PrepareRepayWithCollateralCall = PrepareRepayWithCollateralEVMCall;
15
+ export type PrepareSwitchBorrowTypeCall = PrepareSwitchBorrowTypeEVMCall;
16
+ export type PrepareLiquidateCall = PrepareLiquidateEVMCall;
17
+ export type PrepareUpdateUserPointsInLoansCall = PrepareUpdateUserPointsInLoansEVMCall;
18
+ export type PrepareRetryMessageCall = PrepareRetryMessageEVMCall;
19
+ export type PrepareReverseMessageCall = PrepareReverseMessageEVMCall;
20
+ export type PrepareResendWormholeMessageCall = PrepareResendWormholeMessageEVMCall;
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/common/types/module.ts"],"names":[],"mappings":""}
@@ -0,0 +1,49 @@
1
+ import type { GenericAddress } from './address.js';
2
+ import type { AdapterType } from './message.js';
3
+ export declare const MAINNET_TS_TOKEN_ID: {
4
+ readonly USDC: "USDC";
5
+ readonly MON: "MON";
6
+ readonly wMON: "wMON";
7
+ readonly AZND: "AZND";
8
+ readonly muBOND: "muBOND";
9
+ readonly AUSD: "AUSD";
10
+ readonly USD1: "USD1";
11
+ readonly WETH: "WETH";
12
+ readonly WBTC: "WBTC";
13
+ };
14
+ export type MainnetTsTokenId = (typeof MAINNET_TS_TOKEN_ID)[keyof typeof MAINNET_TS_TOKEN_ID];
15
+ export type TSTokenId = MainnetTsTokenId;
16
+ export declare enum TokenType {
17
+ NATIVE = "NATIVE",
18
+ ERC20 = "ERC20",
19
+ CROSS_CHAIN = "CROSS_CHAIN"
20
+ }
21
+ export type ITokenData = {
22
+ TsTokenId: TSTokenId;
23
+ };
24
+ export type Erc20SpokeTokenType = {
25
+ type: TokenType.ERC20;
26
+ address: GenericAddress;
27
+ decimals: number;
28
+ };
29
+ export type Erc20HubTokenType = {
30
+ type: TokenType.ERC20;
31
+ decimals: number;
32
+ };
33
+ export type CrossChainTokenType = {
34
+ type: TokenType.CROSS_CHAIN;
35
+ adapters: Array<AdapterType>;
36
+ address: GenericAddress;
37
+ decimals: number;
38
+ };
39
+ export type NativeTokenType = {
40
+ type: TokenType.NATIVE;
41
+ decimals: number;
42
+ };
43
+ export type TsSpokeTokenType = Erc20SpokeTokenType | CrossChainTokenType | NativeTokenType;
44
+ export type TsHubTokenType = Erc20HubTokenType | CrossChainTokenType | NativeTokenType;
45
+ export type SpokeTokenData = {
46
+ poolId: number;
47
+ spokeAddress: GenericAddress;
48
+ token: TsSpokeTokenType;
49
+ } & ITokenData;
@@ -0,0 +1,24 @@
1
+ export const MAINNET_TS_TOKEN_ID = {
2
+ USDC: 'USDC',
3
+ MON: 'MON',
4
+ wMON: 'wMON',
5
+ AZND: 'AZND',
6
+ muBOND: 'muBOND',
7
+ AUSD: 'AUSD',
8
+ // earnAUSD: 'earnAUSD',
9
+ // IoAZND: 'IoAZND',
10
+ USD1: 'USD1',
11
+ WETH: 'WETH',
12
+ WBTC: 'WBTC',
13
+ // shMON: 'shMON',
14
+ // aprMON: 'aprMON',
15
+ // gMON: 'gMON',
16
+ // sMON: 'sMON',
17
+ };
18
+ export var TokenType;
19
+ (function (TokenType) {
20
+ TokenType["NATIVE"] = "NATIVE";
21
+ TokenType["ERC20"] = "ERC20";
22
+ TokenType["CROSS_CHAIN"] = "CROSS_CHAIN";
23
+ })(TokenType || (TokenType = {}));
24
+ //# sourceMappingURL=token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/common/types/token.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,MAAM;IACZ,wBAAwB;IACxB,oBAAoB;IACpB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,kBAAkB;IAClB,oBAAoB;IACpB,gBAAgB;IAChB,gBAAgB;CACR,CAAC;AAMX,MAAM,CAAN,IAAY,SAIX;AAJD,WAAY,SAAS;IACnB,8BAAiB,CAAA;IACjB,4BAAe,CAAA;IACf,wCAA2B,CAAA;AAC7B,CAAC,EAJW,SAAS,KAAT,SAAS,QAIpB"}
@@ -0,0 +1,17 @@
1
+ import { AdapterType } from '../types/message.js';
2
+ import type { NonEmptyArray } from '../../types/generics.js';
3
+ import type { MessageAdapterParams } from '../types/adapter.js';
4
+ import type { TSChainId, NetworkType } from '../types/chain.js';
5
+ import type { SupportedMessageAdaptersMap } from '../types/message.js';
6
+ import type { CrossChainTokenType } from '../types/token.js';
7
+ export declare function getSpokeAdapterIds(tsChainId: TSChainId, network: NetworkType): NonEmptyArray<AdapterType>;
8
+ export declare function doesAdapterSupportDataMessage(tsChainId: TSChainId, adapterId: AdapterType): boolean;
9
+ export declare function assertAdapterSupportsDataMessage(tsChainId: TSChainId, adapterId: AdapterType): void;
10
+ export declare function doesAdapterSupportTokenMessage(tsChainId: TSChainId, adapterId: AdapterType): boolean;
11
+ export declare function assertAdapterSupportsTokenMessage(tsChainId: TSChainId, adapterId: AdapterType): void;
12
+ export declare function doesAdapterSupportCrossChainToken(crossChainToken: CrossChainTokenType, tsChainId: TSChainId, adapterId: AdapterType): boolean;
13
+ export declare function assertCrossChainTokenSupportedByAdapter(crossChainToken: CrossChainTokenType, tsChainId: TSChainId, adapterId: AdapterType): void;
14
+ export declare function assertAdapterSupportsCrossChainToken(tsChainId: TSChainId, crossChainToken: CrossChainTokenType, adapterId: AdapterType): void;
15
+ export declare function doesAdapterSupportReceiverValue(tsChainId: TSChainId, adapterId: AdapterType): boolean;
16
+ export declare function assertAdapterSupportsReceiverValue(tsChainId: TSChainId, adapterId: AdapterType): void;
17
+ export declare function getSupportedMessageAdapters<T extends MessageAdapterParams>(params: T): SupportedMessageAdaptersMap[T['messageAdapterParamType']];
@@ -0,0 +1,98 @@
1
+ import { getHubTokenData, isHubChain, } from '../../chains/evm/hub/utils/chain.js';
2
+ import { ensureNonEmpty, intersect } from '../../utils/array.js';
3
+ import { exhaustiveCheck } from '../../utils/exhaustive-check.js';
4
+ import { TSCore } from '../../lifeline/core/ts-core.js';
5
+ import { DATA_ADAPTERS } from '../constants/adapter.js';
6
+ import { MessageAdapterParamsType } from '../types/adapter.js';
7
+ import { AdapterType } from '../types/message.js';
8
+ import { TokenType } from '../types/token.js';
9
+ import { getSpokeChain } from './chain.js';
10
+ export function getSpokeAdapterIds(tsChainId, network) {
11
+ const spokeChain = getSpokeChain(tsChainId, network);
12
+ const { adapters } = spokeChain;
13
+ const adapterIds = Object.keys(adapters).map(Number);
14
+ return ensureNonEmpty(adapterIds, `No adapters found for chain ${tsChainId}`);
15
+ }
16
+ export function doesAdapterSupportDataMessage(tsChainId, adapterId) {
17
+ const isHub = isHubChain(tsChainId, TSCore.getSelectedNetwork());
18
+ return ((isHub && adapterId === AdapterType.HUB) ||
19
+ (!isHub && adapterId === AdapterType.WORMHOLE_DATA));
20
+ }
21
+ export function assertAdapterSupportsDataMessage(tsChainId, adapterId) {
22
+ if (!doesAdapterSupportDataMessage(tsChainId, adapterId))
23
+ throw Error(`Adapter ${adapterId} does not support data message for tsChainId: ${tsChainId}`);
24
+ }
25
+ export function doesAdapterSupportTokenMessage(tsChainId, adapterId) {
26
+ const isHub = isHubChain(tsChainId, TSCore.getSelectedNetwork());
27
+ return ((isHub && adapterId === AdapterType.HUB) ||
28
+ (!isHub && adapterId === AdapterType.WORMHOLE_DATA));
29
+ }
30
+ export function assertAdapterSupportsTokenMessage(tsChainId, adapterId) {
31
+ if (!doesAdapterSupportTokenMessage(tsChainId, adapterId))
32
+ throw Error(`Adapter ${adapterId} does not support token message for tsChainId: ${tsChainId}`);
33
+ }
34
+ export function doesAdapterSupportCrossChainToken(crossChainToken, tsChainId, adapterId) {
35
+ const isHub = isHubChain(tsChainId, TSCore.getSelectedNetwork());
36
+ return ((isHub && adapterId === AdapterType.HUB) ||
37
+ (!isHub && crossChainToken.adapters.includes(adapterId)));
38
+ }
39
+ export function assertCrossChainTokenSupportedByAdapter(crossChainToken, tsChainId, adapterId) {
40
+ if (!doesAdapterSupportCrossChainToken(crossChainToken, tsChainId, adapterId))
41
+ throw Error(`Adapter ${adapterId} does not support cross chain token: ${crossChainToken.address}`);
42
+ }
43
+ export function assertAdapterSupportsCrossChainToken(tsChainId, crossChainToken, adapterId) {
44
+ assertAdapterSupportsTokenMessage(tsChainId, adapterId);
45
+ assertCrossChainTokenSupportedByAdapter(crossChainToken, tsChainId, adapterId);
46
+ }
47
+ export function doesAdapterSupportReceiverValue(tsChainId, adapterId) {
48
+ const isHub = isHubChain(tsChainId, TSCore.getSelectedNetwork());
49
+ return ((isHub && adapterId === AdapterType.HUB) ||
50
+ (!isHub && adapterId === AdapterType.WORMHOLE_DATA));
51
+ }
52
+ export function assertAdapterSupportsReceiverValue(tsChainId, adapterId) {
53
+ if (!doesAdapterSupportReceiverValue(tsChainId, adapterId))
54
+ throw Error(`Adapter ${adapterId} does not support receiver value for tsChainId: ${tsChainId}`);
55
+ }
56
+ function getSendTokenAdapterIds(tsTokenId, network) {
57
+ const hubTokenData = getHubTokenData(tsTokenId, network);
58
+ if (hubTokenData.token.type == TokenType.CROSS_CHAIN)
59
+ return hubTokenData.token.adapters;
60
+ return DATA_ADAPTERS;
61
+ }
62
+ function getMessageAdapterIds(messageAdapterParams) {
63
+ const { network, messageAdapterParamType } = messageAdapterParams;
64
+ if (messageAdapterParamType === MessageAdapterParamsType.SendToken)
65
+ return getSendTokenAdapterIds(messageAdapterParams.tsTokenId, network);
66
+ return DATA_ADAPTERS;
67
+ }
68
+ function getReturnMessageAdapterIds({ tsTokenId, network, }) {
69
+ return getSendTokenAdapterIds(tsTokenId, network);
70
+ }
71
+ export function getSupportedMessageAdapters(params) {
72
+ const { messageAdapterParamType, sourceTsChainId, network } = params;
73
+ const spokeAdapterIds = getSpokeAdapterIds(sourceTsChainId, network);
74
+ const supportedAdapterIds = ensureNonEmpty(getMessageAdapterIds(params).filter(intersect(spokeAdapterIds)), `No supported adapters found for chain ${sourceTsChainId}`);
75
+ switch (messageAdapterParamType) {
76
+ case MessageAdapterParamsType.SendToken:
77
+ return {
78
+ adapterIds: supportedAdapterIds,
79
+ returnAdapterIds: supportedAdapterIds,
80
+ };
81
+ case MessageAdapterParamsType.ReceiveToken: {
82
+ const destSpokeAdapterIds = getSpokeAdapterIds(params.destTsChainId, network);
83
+ const supportedReturnAdapterIds = ensureNonEmpty(getReturnMessageAdapterIds(params).filter(intersect(destSpokeAdapterIds)), `No supported return adapters found for chain ${params.destTsChainId}`);
84
+ return {
85
+ adapterIds: supportedAdapterIds,
86
+ returnAdapterIds: supportedReturnAdapterIds,
87
+ };
88
+ }
89
+ case MessageAdapterParamsType.Data:
90
+ return {
91
+ adapterIds: supportedAdapterIds,
92
+ returnAdapterIds: [AdapterType.HUB],
93
+ };
94
+ default:
95
+ return exhaustiveCheck(messageAdapterParamType);
96
+ }
97
+ }
98
+ //# sourceMappingURL=adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/common/utils/adapter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { ChainType } from '../types/chain.js';
2
+ import type { AddressType, GenericAddress } from '../types/address.js';
3
+ export declare function getRandomGenericAddress(): GenericAddress;
4
+ export declare function isGenericAddress(address: GenericAddress): boolean;
5
+ export declare function convertToGenericAddress<T extends ChainType>(address: AddressType<T>, fromChainType: ChainType): GenericAddress;
6
+ export declare function convertFromGenericAddress<T extends ChainType>(address: GenericAddress, toChainType: ChainType): AddressType<T>;
@@ -0,0 +1,32 @@
1
+ import { getAddress, pad, sliceHex } from 'viem';
2
+ import { generatePrivateKey, privateKeyToAccount } from 'viem/accounts';
3
+ import { exhaustiveCheck } from '../../utils/exhaustive-check.js';
4
+ import { BYTES32_LENGTH, EVM_ADDRESS_BYTES_LENGTH } from '../constants/byte.js';
5
+ import { ChainType } from '../types/chain.js';
6
+ export function getRandomGenericAddress() {
7
+ return pad(privateKeyToAccount(generatePrivateKey()).address, {
8
+ size: BYTES32_LENGTH,
9
+ }).toLowerCase();
10
+ }
11
+ export function isGenericAddress(address) {
12
+ return address.length === 64 + 2;
13
+ }
14
+ export function convertToGenericAddress(address, fromChainType) {
15
+ switch (fromChainType) {
16
+ case ChainType.EVM:
17
+ return pad(address, {
18
+ size: BYTES32_LENGTH,
19
+ }).toLowerCase();
20
+ default:
21
+ return exhaustiveCheck(fromChainType);
22
+ }
23
+ }
24
+ export function convertFromGenericAddress(address, toChainType) {
25
+ switch (toChainType) {
26
+ case ChainType.EVM:
27
+ return getAddress(sliceHex(address, BYTES32_LENGTH - EVM_ADDRESS_BYTES_LENGTH));
28
+ default:
29
+ return exhaustiveCheck(toChainType);
30
+ }
31
+ }
32
+ //# sourceMappingURL=address.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"address.js","sourceRoot":"","sources":["../../../src/common/utils/address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAQ9C,MAAM,UAAU,uBAAuB;IACrC,OAAO,GAAG,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE;QAC5D,IAAI,EAAE,cAAc;KACrB,CAAC,CAAC,WAAW,EAAoB,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAuB;IACtD,OAAO,OAAO,CAAC,MAAM,KAAK,EAAE,GAAG,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,OAAuB,EACvB,aAAwB;IAExB,QAAQ,aAAa,EAAE,CAAC;QACtB,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,GAAG,CAAC,OAAqB,EAAE;gBAChC,IAAI,EAAE,cAAc;aACrB,CAAC,CAAC,WAAW,EAAoB,CAAC;QACrC;YACE,OAAO,eAAe,CAAC,aAAa,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,OAAuB,EACvB,WAAsB;IAEtB,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,SAAS,CAAC,GAAG;YAChB,OAAO,UAAU,CACf,QAAQ,CAAC,OAAO,EAAE,cAAc,GAAG,wBAAwB,CAAC,CAC/C,CAAC;QAClB;YACE,OAAO,eAAe,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { Hex } from 'viem';
2
+ export declare function getEmptyBytes(length: number): string;
3
+ export declare function convertNumberToBytes(num: number | bigint, length: number): Hex;
4
+ export declare function convertStringToBytes(str: string): Hex;
5
+ export declare function convertBooleanToByte(bool: boolean): Hex;
6
+ export declare function getRandomBytes(length: number): Hex;
@@ -0,0 +1,25 @@
1
+ import { bytesToHex, pad, toHex } from 'viem';
2
+ export function getEmptyBytes(length) {
3
+ return pad('0x', { size: length });
4
+ }
5
+ export function convertNumberToBytes(num, length) {
6
+ // insert 0s at the beginning if data is smaller than length bytes
7
+ const buf = Buffer.alloc(length, 0);
8
+ // convert num to bytes
9
+ const hex = num.toString(16);
10
+ const isEven = hex.length % 2 === 0;
11
+ const bytes = Buffer.from(isEven ? hex : '0' + hex, 'hex');
12
+ // write bytes to fixed length buf
13
+ bytes.copy(buf, buf.length - bytes.length);
14
+ return toHex(buf);
15
+ }
16
+ export function convertStringToBytes(str) {
17
+ return toHex('0x' + Buffer.from(str).toString('hex'));
18
+ }
19
+ export function convertBooleanToByte(bool) {
20
+ return bool ? '0x01' : '0x00';
21
+ }
22
+ export function getRandomBytes(length) {
23
+ return bytesToHex(crypto.getRandomValues(new Uint8Array(length)));
24
+ }
25
+ //# sourceMappingURL=bytes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bytes.js","sourceRoot":"","sources":["../../../src/common/utils/bytes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAI9C,MAAM,UAAU,aAAa,CAAC,MAAc;IAC1C,OAAO,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,GAAoB,EACpB,MAAc;IAEd,kEAAkE;IAClE,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAEpC,uBAAuB;IACvB,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;IAE3D,kCAAkC;IAClC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3C,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,OAAO,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,IAAa;IAChD,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,OAAO,UAAU,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC"}
@@ -0,0 +1,20 @@
1
+ import type { GenericAddress } from '../types/address.js';
2
+ import type { TSChain, TSChainId, NetworkType, SpokeChain } from '../types/chain.js';
3
+ import type { TSChainSigner } from '../types/core.js';
4
+ import type { AdapterType } from '../types/message.js';
5
+ import type { TSTokenId, SpokeTokenData } from '../types/token.js';
6
+ export declare function getTsChain(tsChainId: TSChainId, network: NetworkType): TSChain;
7
+ export declare function getTsChainsByNetwork(network: NetworkType): Array<TSChain>;
8
+ export declare function getTsChainIdsByNetwork(networkType: NetworkType): Array<TSChainId>;
9
+ export declare function isSpokeChainSupported(tsChainId: TSChainId, network: NetworkType): boolean;
10
+ export declare function assertSpokeChainSupported(tsChainId: TSChainId, network: NetworkType): void;
11
+ export declare function getSpokeChain(tsChainId: TSChainId, network: NetworkType): SpokeChain;
12
+ export declare function doesSpokeSupportTsToken(spokeChain: SpokeChain, tsTokenId: TSTokenId): boolean;
13
+ export declare function getSpokeTokenData(spokeChain: SpokeChain, tsTokenId: TSTokenId): SpokeTokenData;
14
+ export declare function isTsTokenSupported(tsTokenId: TSTokenId, tsChainId: TSChainId, network: NetworkType): boolean;
15
+ export declare function assertSpokeChainSupportTsToken(tsChainId: TSChainId, tsTokenId: TSTokenId, network: NetworkType): void;
16
+ export declare function getSpokeChainAdapterAddress(tsChainId: TSChainId, network: NetworkType, adapterType: AdapterType): GenericAddress;
17
+ export declare function getAdapterAddress(tsChainId: TSChainId, network: NetworkType, adapterType: AdapterType): GenericAddress;
18
+ export declare function getSpokeChainBridgeRouterAddress(spokeChain: SpokeChain): GenericAddress;
19
+ export declare function getSignerGenericAddress(tsChainSigner: TSChainSigner): GenericAddress;
20
+ export declare function assertHubChainSelected(tsChainId: TSChainId, network: NetworkType): void;