@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,500 @@
1
+ export const IWormholeRelayerAbi = [
2
+ {
3
+ anonymous: false,
4
+ inputs: [
5
+ {
6
+ indexed: true,
7
+ internalType: "address",
8
+ name: "recipientContract",
9
+ type: "address",
10
+ },
11
+ {
12
+ indexed: true,
13
+ internalType: "uint16",
14
+ name: "sourceChain",
15
+ type: "uint16",
16
+ },
17
+ {
18
+ indexed: true,
19
+ internalType: "uint64",
20
+ name: "sequence",
21
+ type: "uint64",
22
+ },
23
+ {
24
+ indexed: false,
25
+ internalType: "bytes32",
26
+ name: "deliveryVaaHash",
27
+ type: "bytes32",
28
+ },
29
+ {
30
+ indexed: false,
31
+ internalType: "enum IWormholeRelayerDelivery.DeliveryStatus",
32
+ name: "status",
33
+ type: "uint8",
34
+ },
35
+ {
36
+ indexed: false,
37
+ internalType: "uint256",
38
+ name: "gasUsed",
39
+ type: "uint256",
40
+ },
41
+ {
42
+ indexed: false,
43
+ internalType: "enum IWormholeRelayerDelivery.RefundStatus",
44
+ name: "refundStatus",
45
+ type: "uint8",
46
+ },
47
+ {
48
+ indexed: false,
49
+ internalType: "bytes",
50
+ name: "additionalStatusInfo",
51
+ type: "bytes",
52
+ },
53
+ {
54
+ indexed: false,
55
+ internalType: "bytes",
56
+ name: "overridesInfo",
57
+ type: "bytes",
58
+ },
59
+ ],
60
+ name: "Delivery",
61
+ type: "event",
62
+ },
63
+ {
64
+ anonymous: false,
65
+ inputs: [
66
+ {
67
+ indexed: true,
68
+ internalType: "uint64",
69
+ name: "sequence",
70
+ type: "uint64",
71
+ },
72
+ {
73
+ indexed: false,
74
+ internalType: "uint256",
75
+ name: "deliveryQuote",
76
+ type: "uint256",
77
+ },
78
+ {
79
+ indexed: false,
80
+ internalType: "uint256",
81
+ name: "paymentForExtraReceiverValue",
82
+ type: "uint256",
83
+ },
84
+ ],
85
+ name: "SendEvent",
86
+ type: "event",
87
+ },
88
+ {
89
+ inputs: [
90
+ { internalType: "bytes[]", name: "encodedVMs", type: "bytes[]" },
91
+ { internalType: "bytes", name: "encodedDeliveryVAA", type: "bytes" },
92
+ {
93
+ internalType: "address payable",
94
+ name: "relayerRefundAddress",
95
+ type: "address",
96
+ },
97
+ { internalType: "bytes", name: "deliveryOverrides", type: "bytes" },
98
+ ],
99
+ name: "deliver",
100
+ outputs: [],
101
+ stateMutability: "payable",
102
+ type: "function",
103
+ },
104
+ {
105
+ inputs: [{ internalType: "bytes32", name: "deliveryHash", type: "bytes32" }],
106
+ name: "deliveryAttempted",
107
+ outputs: [{ internalType: "bool", name: "attempted", type: "bool" }],
108
+ stateMutability: "view",
109
+ type: "function",
110
+ },
111
+ {
112
+ inputs: [{ internalType: "bytes32", name: "deliveryHash", type: "bytes32" }],
113
+ name: "deliveryFailureBlock",
114
+ outputs: [{ internalType: "uint256", name: "blockNumber", type: "uint256" }],
115
+ stateMutability: "view",
116
+ type: "function",
117
+ },
118
+ {
119
+ inputs: [{ internalType: "bytes32", name: "deliveryHash", type: "bytes32" }],
120
+ name: "deliverySuccessBlock",
121
+ outputs: [{ internalType: "uint256", name: "blockNumber", type: "uint256" }],
122
+ stateMutability: "view",
123
+ type: "function",
124
+ },
125
+ {
126
+ inputs: [],
127
+ name: "getDefaultDeliveryProvider",
128
+ outputs: [{ internalType: "address", name: "deliveryProvider", type: "address" }],
129
+ stateMutability: "view",
130
+ type: "function",
131
+ },
132
+ {
133
+ inputs: [{ internalType: "uint16", name: "chainId", type: "uint16" }],
134
+ name: "getRegisteredWormholeRelayerContract",
135
+ outputs: [{ internalType: "bytes32", name: "", type: "bytes32" }],
136
+ stateMutability: "view",
137
+ type: "function",
138
+ },
139
+ {
140
+ inputs: [
141
+ { internalType: "uint16", name: "targetChain", type: "uint16" },
142
+ { internalType: "uint256", name: "receiverValue", type: "uint256" },
143
+ {
144
+ internalType: "bytes",
145
+ name: "encodedExecutionParameters",
146
+ type: "bytes",
147
+ },
148
+ {
149
+ internalType: "address",
150
+ name: "deliveryProviderAddress",
151
+ type: "address",
152
+ },
153
+ ],
154
+ name: "quoteDeliveryPrice",
155
+ outputs: [
156
+ { internalType: "uint256", name: "nativePriceQuote", type: "uint256" },
157
+ { internalType: "bytes", name: "encodedExecutionInfo", type: "bytes" },
158
+ ],
159
+ stateMutability: "view",
160
+ type: "function",
161
+ },
162
+ {
163
+ inputs: [
164
+ { internalType: "uint16", name: "targetChain", type: "uint16" },
165
+ { internalType: "uint256", name: "receiverValue", type: "uint256" },
166
+ { internalType: "uint256", name: "gasLimit", type: "uint256" },
167
+ {
168
+ internalType: "address",
169
+ name: "deliveryProviderAddress",
170
+ type: "address",
171
+ },
172
+ ],
173
+ name: "quoteEVMDeliveryPrice",
174
+ outputs: [
175
+ { internalType: "uint256", name: "nativePriceQuote", type: "uint256" },
176
+ {
177
+ internalType: "uint256",
178
+ name: "targetChainRefundPerGasUnused",
179
+ type: "uint256",
180
+ },
181
+ ],
182
+ stateMutability: "view",
183
+ type: "function",
184
+ },
185
+ {
186
+ inputs: [
187
+ { internalType: "uint16", name: "targetChain", type: "uint16" },
188
+ { internalType: "uint256", name: "receiverValue", type: "uint256" },
189
+ { internalType: "uint256", name: "gasLimit", type: "uint256" },
190
+ ],
191
+ name: "quoteEVMDeliveryPrice",
192
+ outputs: [
193
+ { internalType: "uint256", name: "nativePriceQuote", type: "uint256" },
194
+ {
195
+ internalType: "uint256",
196
+ name: "targetChainRefundPerGasUnused",
197
+ type: "uint256",
198
+ },
199
+ ],
200
+ stateMutability: "view",
201
+ type: "function",
202
+ },
203
+ {
204
+ inputs: [
205
+ { internalType: "uint16", name: "targetChain", type: "uint16" },
206
+ { internalType: "uint256", name: "currentChainAmount", type: "uint256" },
207
+ {
208
+ internalType: "address",
209
+ name: "deliveryProviderAddress",
210
+ type: "address",
211
+ },
212
+ ],
213
+ name: "quoteNativeForChain",
214
+ outputs: [{ internalType: "uint256", name: "targetChainAmount", type: "uint256" }],
215
+ stateMutability: "view",
216
+ type: "function",
217
+ },
218
+ {
219
+ inputs: [
220
+ {
221
+ components: [
222
+ { internalType: "uint16", name: "chainId", type: "uint16" },
223
+ { internalType: "bytes32", name: "emitterAddress", type: "bytes32" },
224
+ { internalType: "uint64", name: "sequence", type: "uint64" },
225
+ ],
226
+ internalType: "struct VaaKey",
227
+ name: "deliveryVaaKey",
228
+ type: "tuple",
229
+ },
230
+ { internalType: "uint16", name: "targetChain", type: "uint16" },
231
+ { internalType: "uint256", name: "newReceiverValue", type: "uint256" },
232
+ {
233
+ internalType: "bytes",
234
+ name: "newEncodedExecutionParameters",
235
+ type: "bytes",
236
+ },
237
+ {
238
+ internalType: "address",
239
+ name: "newDeliveryProviderAddress",
240
+ type: "address",
241
+ },
242
+ ],
243
+ name: "resend",
244
+ outputs: [{ internalType: "uint64", name: "sequence", type: "uint64" }],
245
+ stateMutability: "payable",
246
+ type: "function",
247
+ },
248
+ {
249
+ inputs: [
250
+ {
251
+ components: [
252
+ { internalType: "uint16", name: "chainId", type: "uint16" },
253
+ { internalType: "bytes32", name: "emitterAddress", type: "bytes32" },
254
+ { internalType: "uint64", name: "sequence", type: "uint64" },
255
+ ],
256
+ internalType: "struct VaaKey",
257
+ name: "deliveryVaaKey",
258
+ type: "tuple",
259
+ },
260
+ { internalType: "uint16", name: "targetChain", type: "uint16" },
261
+ { internalType: "uint256", name: "newReceiverValue", type: "uint256" },
262
+ { internalType: "uint256", name: "newGasLimit", type: "uint256" },
263
+ {
264
+ internalType: "address",
265
+ name: "newDeliveryProviderAddress",
266
+ type: "address",
267
+ },
268
+ ],
269
+ name: "resendToEvm",
270
+ outputs: [{ internalType: "uint64", name: "sequence", type: "uint64" }],
271
+ stateMutability: "payable",
272
+ type: "function",
273
+ },
274
+ {
275
+ inputs: [
276
+ { internalType: "uint16", name: "targetChain", type: "uint16" },
277
+ { internalType: "bytes32", name: "targetAddress", type: "bytes32" },
278
+ { internalType: "bytes", name: "payload", type: "bytes" },
279
+ { internalType: "uint256", name: "receiverValue", type: "uint256" },
280
+ {
281
+ internalType: "uint256",
282
+ name: "paymentForExtraReceiverValue",
283
+ type: "uint256",
284
+ },
285
+ {
286
+ internalType: "bytes",
287
+ name: "encodedExecutionParameters",
288
+ type: "bytes",
289
+ },
290
+ { internalType: "uint16", name: "refundChain", type: "uint16" },
291
+ { internalType: "bytes32", name: "refundAddress", type: "bytes32" },
292
+ {
293
+ internalType: "address",
294
+ name: "deliveryProviderAddress",
295
+ type: "address",
296
+ },
297
+ {
298
+ components: [
299
+ { internalType: "uint16", name: "chainId", type: "uint16" },
300
+ { internalType: "bytes32", name: "emitterAddress", type: "bytes32" },
301
+ { internalType: "uint64", name: "sequence", type: "uint64" },
302
+ ],
303
+ internalType: "struct VaaKey[]",
304
+ name: "vaaKeys",
305
+ type: "tuple[]",
306
+ },
307
+ { internalType: "uint8", name: "consistencyLevel", type: "uint8" },
308
+ ],
309
+ name: "send",
310
+ outputs: [{ internalType: "uint64", name: "sequence", type: "uint64" }],
311
+ stateMutability: "payable",
312
+ type: "function",
313
+ },
314
+ {
315
+ inputs: [
316
+ { internalType: "uint16", name: "targetChain", type: "uint16" },
317
+ { internalType: "bytes32", name: "targetAddress", type: "bytes32" },
318
+ { internalType: "bytes", name: "payload", type: "bytes" },
319
+ { internalType: "uint256", name: "receiverValue", type: "uint256" },
320
+ {
321
+ internalType: "uint256",
322
+ name: "paymentForExtraReceiverValue",
323
+ type: "uint256",
324
+ },
325
+ {
326
+ internalType: "bytes",
327
+ name: "encodedExecutionParameters",
328
+ type: "bytes",
329
+ },
330
+ { internalType: "uint16", name: "refundChain", type: "uint16" },
331
+ { internalType: "bytes32", name: "refundAddress", type: "bytes32" },
332
+ {
333
+ internalType: "address",
334
+ name: "deliveryProviderAddress",
335
+ type: "address",
336
+ },
337
+ {
338
+ components: [
339
+ { internalType: "uint8", name: "keyType", type: "uint8" },
340
+ { internalType: "bytes", name: "encodedKey", type: "bytes" },
341
+ ],
342
+ internalType: "struct MessageKey[]",
343
+ name: "messageKeys",
344
+ type: "tuple[]",
345
+ },
346
+ { internalType: "uint8", name: "consistencyLevel", type: "uint8" },
347
+ ],
348
+ name: "send",
349
+ outputs: [{ internalType: "uint64", name: "sequence", type: "uint64" }],
350
+ stateMutability: "payable",
351
+ type: "function",
352
+ },
353
+ {
354
+ inputs: [
355
+ { internalType: "uint16", name: "targetChain", type: "uint16" },
356
+ { internalType: "address", name: "targetAddress", type: "address" },
357
+ { internalType: "bytes", name: "payload", type: "bytes" },
358
+ { internalType: "uint256", name: "receiverValue", type: "uint256" },
359
+ { internalType: "uint256", name: "gasLimit", type: "uint256" },
360
+ { internalType: "uint16", name: "refundChain", type: "uint16" },
361
+ { internalType: "address", name: "refundAddress", type: "address" },
362
+ ],
363
+ name: "sendPayloadToEvm",
364
+ outputs: [{ internalType: "uint64", name: "sequence", type: "uint64" }],
365
+ stateMutability: "payable",
366
+ type: "function",
367
+ },
368
+ {
369
+ inputs: [
370
+ { internalType: "uint16", name: "targetChain", type: "uint16" },
371
+ { internalType: "address", name: "targetAddress", type: "address" },
372
+ { internalType: "bytes", name: "payload", type: "bytes" },
373
+ { internalType: "uint256", name: "receiverValue", type: "uint256" },
374
+ { internalType: "uint256", name: "gasLimit", type: "uint256" },
375
+ ],
376
+ name: "sendPayloadToEvm",
377
+ outputs: [{ internalType: "uint64", name: "sequence", type: "uint64" }],
378
+ stateMutability: "payable",
379
+ type: "function",
380
+ },
381
+ {
382
+ inputs: [
383
+ { internalType: "uint16", name: "targetChain", type: "uint16" },
384
+ { internalType: "address", name: "targetAddress", type: "address" },
385
+ { internalType: "bytes", name: "payload", type: "bytes" },
386
+ { internalType: "uint256", name: "receiverValue", type: "uint256" },
387
+ {
388
+ internalType: "uint256",
389
+ name: "paymentForExtraReceiverValue",
390
+ type: "uint256",
391
+ },
392
+ { internalType: "uint256", name: "gasLimit", type: "uint256" },
393
+ { internalType: "uint16", name: "refundChain", type: "uint16" },
394
+ { internalType: "address", name: "refundAddress", type: "address" },
395
+ {
396
+ internalType: "address",
397
+ name: "deliveryProviderAddress",
398
+ type: "address",
399
+ },
400
+ {
401
+ components: [
402
+ { internalType: "uint16", name: "chainId", type: "uint16" },
403
+ { internalType: "bytes32", name: "emitterAddress", type: "bytes32" },
404
+ { internalType: "uint64", name: "sequence", type: "uint64" },
405
+ ],
406
+ internalType: "struct VaaKey[]",
407
+ name: "vaaKeys",
408
+ type: "tuple[]",
409
+ },
410
+ { internalType: "uint8", name: "consistencyLevel", type: "uint8" },
411
+ ],
412
+ name: "sendToEvm",
413
+ outputs: [{ internalType: "uint64", name: "sequence", type: "uint64" }],
414
+ stateMutability: "payable",
415
+ type: "function",
416
+ },
417
+ {
418
+ inputs: [
419
+ { internalType: "uint16", name: "targetChain", type: "uint16" },
420
+ { internalType: "address", name: "targetAddress", type: "address" },
421
+ { internalType: "bytes", name: "payload", type: "bytes" },
422
+ { internalType: "uint256", name: "receiverValue", type: "uint256" },
423
+ {
424
+ internalType: "uint256",
425
+ name: "paymentForExtraReceiverValue",
426
+ type: "uint256",
427
+ },
428
+ { internalType: "uint256", name: "gasLimit", type: "uint256" },
429
+ { internalType: "uint16", name: "refundChain", type: "uint16" },
430
+ { internalType: "address", name: "refundAddress", type: "address" },
431
+ {
432
+ internalType: "address",
433
+ name: "deliveryProviderAddress",
434
+ type: "address",
435
+ },
436
+ {
437
+ components: [
438
+ { internalType: "uint8", name: "keyType", type: "uint8" },
439
+ { internalType: "bytes", name: "encodedKey", type: "bytes" },
440
+ ],
441
+ internalType: "struct MessageKey[]",
442
+ name: "messageKeys",
443
+ type: "tuple[]",
444
+ },
445
+ { internalType: "uint8", name: "consistencyLevel", type: "uint8" },
446
+ ],
447
+ name: "sendToEvm",
448
+ outputs: [{ internalType: "uint64", name: "sequence", type: "uint64" }],
449
+ stateMutability: "payable",
450
+ type: "function",
451
+ },
452
+ {
453
+ inputs: [
454
+ { internalType: "uint16", name: "targetChain", type: "uint16" },
455
+ { internalType: "address", name: "targetAddress", type: "address" },
456
+ { internalType: "bytes", name: "payload", type: "bytes" },
457
+ { internalType: "uint256", name: "receiverValue", type: "uint256" },
458
+ { internalType: "uint256", name: "gasLimit", type: "uint256" },
459
+ {
460
+ components: [
461
+ { internalType: "uint16", name: "chainId", type: "uint16" },
462
+ { internalType: "bytes32", name: "emitterAddress", type: "bytes32" },
463
+ { internalType: "uint64", name: "sequence", type: "uint64" },
464
+ ],
465
+ internalType: "struct VaaKey[]",
466
+ name: "vaaKeys",
467
+ type: "tuple[]",
468
+ },
469
+ ],
470
+ name: "sendVaasToEvm",
471
+ outputs: [{ internalType: "uint64", name: "sequence", type: "uint64" }],
472
+ stateMutability: "payable",
473
+ type: "function",
474
+ },
475
+ {
476
+ inputs: [
477
+ { internalType: "uint16", name: "targetChain", type: "uint16" },
478
+ { internalType: "address", name: "targetAddress", type: "address" },
479
+ { internalType: "bytes", name: "payload", type: "bytes" },
480
+ { internalType: "uint256", name: "receiverValue", type: "uint256" },
481
+ { internalType: "uint256", name: "gasLimit", type: "uint256" },
482
+ {
483
+ components: [
484
+ { internalType: "uint16", name: "chainId", type: "uint16" },
485
+ { internalType: "bytes32", name: "emitterAddress", type: "bytes32" },
486
+ { internalType: "uint64", name: "sequence", type: "uint64" },
487
+ ],
488
+ internalType: "struct VaaKey[]",
489
+ name: "vaaKeys",
490
+ type: "tuple[]",
491
+ },
492
+ { internalType: "uint16", name: "refundChain", type: "uint16" },
493
+ { internalType: "address", name: "refundAddress", type: "address" },
494
+ ],
495
+ name: "sendVaasToEvm",
496
+ outputs: [{ internalType: "uint64", name: "sequence", type: "uint64" }],
497
+ stateMutability: "payable",
498
+ type: "function",
499
+ },
500
+ ] as const;
@@ -0,0 +1,88 @@
1
+ import {
2
+ arbitrum,
3
+ arbitrumSepolia,
4
+ avalanche,
5
+ avalancheFuji,
6
+ base,
7
+ baseSepolia,
8
+ bsc,
9
+ bscTestnet,
10
+ mainnet,
11
+ polygon,
12
+ sepolia,
13
+ } from 'viem/chains';
14
+
15
+ import type { EvmChainName, EvmTsChainId } from '../types/chain.js';
16
+ import type { Chain } from 'viem';
17
+ import { defineChain } from 'viem';
18
+ export const monadMainnet = /*#__PURE__*/ defineChain({
19
+ id: 143,
20
+ name: 'Monad',
21
+ nativeCurrency: {
22
+ name: 'Mainnet MON Token',
23
+ symbol: 'MON',
24
+ decimals: 18,
25
+ },
26
+ rpcUrls: {
27
+ default: {
28
+ http: [
29
+ 'https://rpc-mainnet.monadinfra.com/rpc/4TvOS5nC96kJ0ruECksFYLGchPAELyf2',
30
+ ],
31
+ },
32
+ },
33
+ blockExplorers: {
34
+ default: {
35
+ name: 'Monad Testnet explorer',
36
+ url: 'https://mainnet-beta.monvision.io',
37
+ },
38
+ },
39
+
40
+ contracts: {
41
+ multicall3: {
42
+ address: '0xcA11bde05977b3631167028862bE2a173976CA11',
43
+ blockCreated: 9248132,
44
+ },
45
+ },
46
+ testnet: false,
47
+ });
48
+
49
+ export const MAINNET_EVM_CHAIN_NAMES = [] as const;
50
+ export const TESTNET_EVM_CHAIN_NAMES = ['MONAD_TESTNET'] as const;
51
+ export const EVM_CHAIN_NAMES = [
52
+ ...MAINNET_EVM_CHAIN_NAMES,
53
+ ...TESTNET_EVM_CHAIN_NAMES,
54
+ ] as const;
55
+
56
+ export const MAINNET_EVM_CHAIN_ID = {
57
+ MONAD: monadMainnet.id,
58
+ } as const;
59
+
60
+ export const EVM_CHAIN_ID = {
61
+ ...MAINNET_EVM_CHAIN_ID,
62
+ } as const;
63
+
64
+ export const MAINNET_EVM_TS_CHAIN_ID = {
65
+ MONAD: 143,
66
+ } as const;
67
+
68
+ export const TESTNET_EVM_TS_CHAIN_ID = {} as const;
69
+
70
+ export const EVM_TS_CHAIN_ID = {
71
+ ...MAINNET_EVM_TS_CHAIN_ID,
72
+ } as const;
73
+
74
+ export const MAINNET_CHAIN_VIEM = {
75
+ [EVM_TS_CHAIN_ID.MONAD]: monadMainnet,
76
+ } as const;
77
+
78
+ export const CHAIN_VIEM = {
79
+ ...MAINNET_CHAIN_VIEM,
80
+ } as const satisfies Record<EvmTsChainId, Chain>;
81
+
82
+ export const MAINNET_CHAIN_NODE = {
83
+ [EVM_TS_CHAIN_ID.MONAD]: [...monadMainnet.rpcUrls.default.http],
84
+ };
85
+
86
+ export const CHAIN_NODE = {
87
+ ...MAINNET_CHAIN_NODE,
88
+ } as const satisfies Record<EvmTsChainId, Array<string>>;
@@ -0,0 +1,15 @@
1
+ import type { EventParams } from '../types/contract.js';
2
+
3
+ export const defaultEventParams: EventParams = {
4
+ fromBlock: 'earliest',
5
+ toBlock: 'latest',
6
+ strict: true,
7
+ };
8
+
9
+ export const GAS_LIMIT_ESTIMATE_INCREASE = 10_000n;
10
+ export const SEND_TOKEN_ACTION_RETURN_GAS_LIMIT = 500_000n;
11
+ export const RECEIVER_VALUE_SLIPPAGE = 0.01;
12
+ export const RETRY_REVERSE_GAS_LIMIT_SLIPPAGE = 0.05;
13
+ export const UPDATE_USER_POINTS_IN_LOANS_GAS_LIMIT_SLIPPAGE = 0.1;
14
+ export const UPDATE_ACCOUNT_POINTS_FOR_REWARDS_GAS_LIMIT_SLIPPAGE = 0.01;
15
+ export const CLAIM_REWARDS_GAS_LIMIT_SLIPPAGE = 0;
@@ -0,0 +1,33 @@
1
+ import { MAINNET_TS_TOKEN_ID } from '../../../../common/types/token.js';
2
+
3
+ import { EVM_TS_CHAIN_ID } from './chain.js';
4
+
5
+ import type { TSTokenId as LendingTokenId } from '../../../../common/types/token.js';
6
+ import type { EvmTsChainId } from '../types/chain.js';
7
+ import type { Erc20ContractSlot } from '../types/token.js';
8
+
9
+ export const CONTRACT_SLOT: Partial<
10
+ Record<
11
+ EvmTsChainId,
12
+ {
13
+ erc20: Partial<Record<LendingTokenId, Erc20ContractSlot>>;
14
+ }
15
+ >
16
+ > = {
17
+ [EVM_TS_CHAIN_ID.MONAD]: {
18
+ erc20: {
19
+ [MAINNET_TS_TOKEN_ID.MON]: {
20
+ balanceOf: 9n,
21
+ allowance: 10n,
22
+ },
23
+ [MAINNET_TS_TOKEN_ID.wMON]: {
24
+ balanceOf: 9n,
25
+ allowance: 10n,
26
+ },
27
+ [MAINNET_TS_TOKEN_ID.USDC]: {
28
+ balanceOf: 9n,
29
+ allowance: 10n,
30
+ },
31
+ },
32
+ },
33
+ } as const;
@@ -0,0 +1,26 @@
1
+ import type {
2
+ EVM_CHAIN_ID,
3
+ MAINNET_EVM_CHAIN_ID,
4
+ EVM_CHAIN_NAMES,
5
+ MAINNET_EVM_CHAIN_NAMES,
6
+ TESTNET_EVM_CHAIN_NAMES,
7
+ EVM_TS_CHAIN_ID,
8
+ MAINNET_EVM_TS_CHAIN_ID,
9
+ TESTNET_EVM_TS_CHAIN_ID,
10
+ } from '../constant/chain.js';
11
+
12
+ export type MainnetEvmChainName = (typeof MAINNET_EVM_CHAIN_NAMES)[number];
13
+ export type TestnetEvmChainName = (typeof TESTNET_EVM_CHAIN_NAMES)[number];
14
+ export type EvmChainName = (typeof EVM_CHAIN_NAMES)[number];
15
+
16
+ export type MainnetEvmChainId =
17
+ (typeof MAINNET_EVM_CHAIN_ID)[keyof typeof MAINNET_EVM_CHAIN_ID];
18
+
19
+ export type EvmChainId = (typeof EVM_CHAIN_ID)[keyof typeof EVM_CHAIN_ID];
20
+
21
+ export type MainnetEvmTsChainId =
22
+ (typeof MAINNET_EVM_TS_CHAIN_ID)[keyof typeof MAINNET_EVM_TS_CHAIN_ID];
23
+ export type TestnetEvmTsChainId =
24
+ (typeof TESTNET_EVM_TS_CHAIN_ID)[keyof typeof TESTNET_EVM_TS_CHAIN_ID];
25
+ export type EvmTsChainId =
26
+ (typeof EVM_TS_CHAIN_ID)[keyof typeof EVM_TS_CHAIN_ID];
@@ -0,0 +1,17 @@
1
+ import type {
2
+ Abi,
3
+ GetContractReturnType,
4
+ Client,
5
+ GetContractEventsParameters,
6
+ } from 'viem';
7
+
8
+ type OmitWrite<T> = Omit<T, 'write'>;
9
+ export type GetReadContractReturnType<TAbi extends Abi> = OmitWrite<
10
+ GetContractReturnType<TAbi, Client>
11
+ >;
12
+
13
+ export type EventParams = Pick<
14
+ GetContractEventsParameters,
15
+ 'strict' | 'fromBlock' | 'toBlock'
16
+ >;
17
+ export type GetEventParams = { eventParams: EventParams };