@folks-finance/xchain-sdk 0.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 (346) hide show
  1. package/README.md +1 -0
  2. package/dist/chains/evm/common/constants/abi/ccip-data-adapter-abi.d.ts +796 -0
  3. package/dist/chains/evm/common/constants/abi/ccip-data-adapter-abi.js +614 -0
  4. package/dist/chains/evm/common/constants/abi/ccip-data-adapter-abi.js.map +1 -0
  5. package/dist/chains/evm/common/constants/abi/erc-20-abi.d.ts +235 -0
  6. package/dist/chains/evm/common/constants/abi/erc-20-abi.js +157 -0
  7. package/dist/chains/evm/common/constants/abi/erc-20-abi.js.map +1 -0
  8. package/dist/chains/evm/common/constants/abi/wormhole-data-adapter-abi.d.ts +807 -0
  9. package/dist/chains/evm/common/constants/abi/wormhole-data-adapter-abi.js +621 -0
  10. package/dist/chains/evm/common/constants/abi/wormhole-data-adapter-abi.js.map +1 -0
  11. package/dist/chains/evm/common/constants/chain.d.ts +2349 -0
  12. package/dist/chains/evm/common/constants/chain.js +45 -0
  13. package/dist/chains/evm/common/constants/chain.js.map +1 -0
  14. package/dist/chains/evm/common/constants/contract.d.ts +2 -0
  15. package/dist/chains/evm/common/constants/contract.js +6 -0
  16. package/dist/chains/evm/common/constants/contract.js.map +1 -0
  17. package/dist/chains/evm/common/constants/tokens.d.ts +6 -0
  18. package/dist/chains/evm/common/constants/tokens.js +33 -0
  19. package/dist/chains/evm/common/constants/tokens.js.map +1 -0
  20. package/dist/chains/evm/common/types/chain.d.ts +10 -0
  21. package/dist/chains/evm/common/types/chain.js +2 -0
  22. package/dist/chains/evm/common/types/chain.js.map +1 -0
  23. package/dist/chains/evm/common/types/contract.d.ts +8 -0
  24. package/dist/chains/evm/common/types/contract.js +2 -0
  25. package/dist/chains/evm/common/types/contract.js.map +1 -0
  26. package/dist/chains/evm/common/types/gmp.d.ts +14 -0
  27. package/dist/chains/evm/common/types/gmp.js +2 -0
  28. package/dist/chains/evm/common/types/gmp.js.map +1 -0
  29. package/dist/chains/evm/common/types/index.d.ts +3 -0
  30. package/dist/chains/evm/common/types/index.js +4 -0
  31. package/dist/chains/evm/common/types/index.js.map +1 -0
  32. package/dist/chains/evm/common/types/module.d.ts +66 -0
  33. package/dist/chains/evm/common/types/module.js +2 -0
  34. package/dist/chains/evm/common/types/module.js.map +1 -0
  35. package/dist/chains/evm/common/types/tokens.d.ts +28 -0
  36. package/dist/chains/evm/common/types/tokens.js +2 -0
  37. package/dist/chains/evm/common/types/tokens.js.map +1 -0
  38. package/dist/chains/evm/common/utils/chain.d.ts +6 -0
  39. package/dist/chains/evm/common/utils/chain.js +16 -0
  40. package/dist/chains/evm/common/utils/chain.js.map +1 -0
  41. package/dist/chains/evm/common/utils/contract.d.ts +6006 -0
  42. package/dist/chains/evm/common/utils/contract.js +54 -0
  43. package/dist/chains/evm/common/utils/contract.js.map +1 -0
  44. package/dist/chains/evm/common/utils/gmp.d.ts +4 -0
  45. package/dist/chains/evm/common/utils/gmp.js +13 -0
  46. package/dist/chains/evm/common/utils/gmp.js.map +1 -0
  47. package/dist/chains/evm/common/utils/message.d.ts +22 -0
  48. package/dist/chains/evm/common/utils/message.js +398 -0
  49. package/dist/chains/evm/common/utils/message.js.map +1 -0
  50. package/dist/chains/evm/common/utils/provider.d.ts +5 -0
  51. package/dist/chains/evm/common/utils/provider.js +24 -0
  52. package/dist/chains/evm/common/utils/provider.js.map +1 -0
  53. package/dist/chains/evm/common/utils/tokens.d.ts +10 -0
  54. package/dist/chains/evm/common/utils/tokens.js +37 -0
  55. package/dist/chains/evm/common/utils/tokens.js.map +1 -0
  56. package/dist/chains/evm/hub/constants/abi/account-manager-abi.d.ts +907 -0
  57. package/dist/chains/evm/hub/constants/abi/account-manager-abi.js +686 -0
  58. package/dist/chains/evm/hub/constants/abi/account-manager-abi.js.map +1 -0
  59. package/dist/chains/evm/hub/constants/abi/bridge-router-hub-abi.d.ts +969 -0
  60. package/dist/chains/evm/hub/constants/abi/bridge-router-hub-abi.js +764 -0
  61. package/dist/chains/evm/hub/constants/abi/bridge-router-hub-abi.js.map +1 -0
  62. package/dist/chains/evm/hub/constants/abi/hub-abi.d.ts +285 -0
  63. package/dist/chains/evm/hub/constants/abi/hub-abi.js +187 -0
  64. package/dist/chains/evm/hub/constants/abi/hub-abi.js.map +1 -0
  65. package/dist/chains/evm/hub/constants/abi/hub-pool-abi.d.ts +1742 -0
  66. package/dist/chains/evm/hub/constants/abi/hub-pool-abi.js +1346 -0
  67. package/dist/chains/evm/hub/constants/abi/hub-pool-abi.js.map +1 -0
  68. package/dist/chains/evm/hub/constants/abi/loan-manager-abi.d.ts +1559 -0
  69. package/dist/chains/evm/hub/constants/abi/loan-manager-abi.js +1040 -0
  70. package/dist/chains/evm/hub/constants/abi/loan-manager-abi.js.map +1 -0
  71. package/dist/chains/evm/hub/constants/abi/oracle-manager-abi.d.ts +495 -0
  72. package/dist/chains/evm/hub/constants/abi/oracle-manager-abi.js +389 -0
  73. package/dist/chains/evm/hub/constants/abi/oracle-manager-abi.js.map +1 -0
  74. package/dist/chains/evm/hub/constants/chain.d.ts +3 -0
  75. package/dist/chains/evm/hub/constants/chain.js +96 -0
  76. package/dist/chains/evm/hub/constants/chain.js.map +1 -0
  77. package/dist/chains/evm/hub/modules/folks-hub-account.d.ts +15 -0
  78. package/dist/chains/evm/hub/modules/folks-hub-account.js +98 -0
  79. package/dist/chains/evm/hub/modules/folks-hub-account.js.map +1 -0
  80. package/dist/chains/evm/hub/modules/folks-hub-gmp.d.ts +14 -0
  81. package/dist/chains/evm/hub/modules/folks-hub-gmp.js +57 -0
  82. package/dist/chains/evm/hub/modules/folks-hub-gmp.js.map +1 -0
  83. package/dist/chains/evm/hub/modules/folks-hub-loan.d.ts +25 -0
  84. package/dist/chains/evm/hub/modules/folks-hub-loan.js +397 -0
  85. package/dist/chains/evm/hub/modules/folks-hub-loan.js.map +1 -0
  86. package/dist/chains/evm/hub/modules/folks-hub-oracle.d.ts +5 -0
  87. package/dist/chains/evm/hub/modules/folks-hub-oracle.js +24 -0
  88. package/dist/chains/evm/hub/modules/folks-hub-oracle.js.map +1 -0
  89. package/dist/chains/evm/hub/modules/folks-hub-pool.d.ts +5 -0
  90. package/dist/chains/evm/hub/modules/folks-hub-pool.js +114 -0
  91. package/dist/chains/evm/hub/modules/folks-hub-pool.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/types/account.d.ts +23 -0
  96. package/dist/chains/evm/hub/types/account.js +2 -0
  97. package/dist/chains/evm/hub/types/account.js.map +1 -0
  98. package/dist/chains/evm/hub/types/chain.d.ts +15 -0
  99. package/dist/chains/evm/hub/types/chain.js +2 -0
  100. package/dist/chains/evm/hub/types/chain.js.map +1 -0
  101. package/dist/chains/evm/hub/types/loan.d.ts +126 -0
  102. package/dist/chains/evm/hub/types/loan.js +9 -0
  103. package/dist/chains/evm/hub/types/loan.js.map +1 -0
  104. package/dist/chains/evm/hub/types/oracle.d.ts +4 -0
  105. package/dist/chains/evm/hub/types/oracle.js +2 -0
  106. package/dist/chains/evm/hub/types/oracle.js.map +1 -0
  107. package/dist/chains/evm/hub/types/pool.d.ts +60 -0
  108. package/dist/chains/evm/hub/types/pool.js +2 -0
  109. package/dist/chains/evm/hub/types/pool.js.map +1 -0
  110. package/dist/chains/evm/hub/types/token.d.ts +9 -0
  111. package/dist/chains/evm/hub/types/token.js +2 -0
  112. package/dist/chains/evm/hub/types/token.js.map +1 -0
  113. package/dist/chains/evm/hub/utils/chain.d.ts +13 -0
  114. package/dist/chains/evm/hub/utils/chain.js +29 -0
  115. package/dist/chains/evm/hub/utils/chain.js.map +1 -0
  116. package/dist/chains/evm/hub/utils/contract.d.ts +17 -0
  117. package/dist/chains/evm/hub/utils/contract.js +52 -0
  118. package/dist/chains/evm/hub/utils/contract.js.map +1 -0
  119. package/dist/chains/evm/hub/utils/events.d.ts +24 -0
  120. package/dist/chains/evm/hub/utils/events.js +97 -0
  121. package/dist/chains/evm/hub/utils/events.js.map +1 -0
  122. package/dist/chains/evm/hub/utils/loan.d.ts +4 -0
  123. package/dist/chains/evm/hub/utils/loan.js +36 -0
  124. package/dist/chains/evm/hub/utils/loan.js.map +1 -0
  125. package/dist/chains/evm/spoke/constants/abi/bridge-router-spoke-abi.d.ts +951 -0
  126. package/dist/chains/evm/spoke/constants/abi/bridge-router-spoke-abi.js +754 -0
  127. package/dist/chains/evm/spoke/constants/abi/bridge-router-spoke-abi.js.map +1 -0
  128. package/dist/chains/evm/spoke/constants/abi/spoke-common-abi.d.ts +1101 -0
  129. package/dist/chains/evm/spoke/constants/abi/spoke-common-abi.js +710 -0
  130. package/dist/chains/evm/spoke/constants/abi/spoke-common-abi.js.map +1 -0
  131. package/dist/chains/evm/spoke/constants/abi/spoke-token-abi.d.ts +882 -0
  132. package/dist/chains/evm/spoke/constants/abi/spoke-token-abi.js +643 -0
  133. package/dist/chains/evm/spoke/constants/abi/spoke-token-abi.js.map +1 -0
  134. package/dist/chains/evm/spoke/modules/folks-evm-account.d.ts +18 -0
  135. package/dist/chains/evm/spoke/modules/folks-evm-account.js +119 -0
  136. package/dist/chains/evm/spoke/modules/folks-evm-account.js.map +1 -0
  137. package/dist/chains/evm/spoke/modules/folks-evm-gmp.d.ts +14 -0
  138. package/dist/chains/evm/spoke/modules/folks-evm-gmp.js +57 -0
  139. package/dist/chains/evm/spoke/modules/folks-evm-gmp.js.map +1 -0
  140. package/dist/chains/evm/spoke/modules/folks-evm-loan.d.ts +39 -0
  141. package/dist/chains/evm/spoke/modules/folks-evm-loan.js +396 -0
  142. package/dist/chains/evm/spoke/modules/folks-evm-loan.js.map +1 -0
  143. package/dist/chains/evm/spoke/modules/index.d.ts +3 -0
  144. package/dist/chains/evm/spoke/modules/index.js +4 -0
  145. package/dist/chains/evm/spoke/modules/index.js.map +1 -0
  146. package/dist/chains/evm/spoke/types/pool.d.ts +7 -0
  147. package/dist/chains/evm/spoke/types/pool.js +2 -0
  148. package/dist/chains/evm/spoke/types/pool.js.map +1 -0
  149. package/dist/chains/evm/spoke/utils/contract.d.ts +12 -0
  150. package/dist/chains/evm/spoke/utils/contract.js +28 -0
  151. package/dist/chains/evm/spoke/utils/contract.js.map +1 -0
  152. package/dist/common/constants/adapter.d.ts +4 -0
  153. package/dist/common/constants/adapter.js +5 -0
  154. package/dist/common/constants/adapter.js.map +1 -0
  155. package/dist/common/constants/bytes.d.ts +5 -0
  156. package/dist/common/constants/bytes.js +6 -0
  157. package/dist/common/constants/bytes.js.map +1 -0
  158. package/dist/common/constants/chain.d.ts +15 -0
  159. package/dist/common/constants/chain.js +152 -0
  160. package/dist/common/constants/chain.js.map +1 -0
  161. package/dist/common/constants/gmp.d.ts +4 -0
  162. package/dist/common/constants/gmp.js +32 -0
  163. package/dist/common/constants/gmp.js.map +1 -0
  164. package/dist/common/constants/lending.d.ts +1 -0
  165. package/dist/common/constants/lending.js +3 -0
  166. package/dist/common/constants/lending.js.map +1 -0
  167. package/dist/common/constants/message.d.ts +4 -0
  168. package/dist/common/constants/message.js +5 -0
  169. package/dist/common/constants/message.js.map +1 -0
  170. package/dist/common/constants/pool.d.ts +8 -0
  171. package/dist/common/constants/pool.js +10 -0
  172. package/dist/common/constants/pool.js.map +1 -0
  173. package/dist/common/constants/token.d.ts +2 -0
  174. package/dist/common/constants/token.js +3 -0
  175. package/dist/common/constants/token.js.map +1 -0
  176. package/dist/common/types/adapter.d.ts +30 -0
  177. package/dist/common/types/adapter.js +7 -0
  178. package/dist/common/types/adapter.js.map +1 -0
  179. package/dist/common/types/address.d.ts +9 -0
  180. package/dist/common/types/address.js +2 -0
  181. package/dist/common/types/address.js.map +1 -0
  182. package/dist/common/types/brand.d.ts +6 -0
  183. package/dist/common/types/brand.js +2 -0
  184. package/dist/common/types/brand.js.map +1 -0
  185. package/dist/common/types/chain.d.ts +29 -0
  186. package/dist/common/types/chain.js +10 -0
  187. package/dist/common/types/chain.js.map +1 -0
  188. package/dist/common/types/core.d.ts +28 -0
  189. package/dist/common/types/core.js +2 -0
  190. package/dist/common/types/core.js.map +1 -0
  191. package/dist/common/types/gmp.d.ts +17 -0
  192. package/dist/common/types/gmp.js +6 -0
  193. package/dist/common/types/gmp.js.map +1 -0
  194. package/dist/common/types/lending.d.ts +4 -0
  195. package/dist/common/types/lending.js +2 -0
  196. package/dist/common/types/lending.js.map +1 -0
  197. package/dist/common/types/message.d.ts +239 -0
  198. package/dist/common/types/message.js +33 -0
  199. package/dist/common/types/message.js.map +1 -0
  200. package/dist/common/types/module.d.ts +21 -0
  201. package/dist/common/types/module.js +6 -0
  202. package/dist/common/types/module.js.map +1 -0
  203. package/dist/common/types/token.d.ts +42 -0
  204. package/dist/common/types/token.js +15 -0
  205. package/dist/common/types/token.js.map +1 -0
  206. package/dist/common/utils/adapter.d.ts +11 -0
  207. package/dist/common/utils/adapter.js +63 -0
  208. package/dist/common/utils/adapter.js.map +1 -0
  209. package/dist/common/utils/address.d.ts +8 -0
  210. package/dist/common/utils/address.js +35 -0
  211. package/dist/common/utils/address.js.map +1 -0
  212. package/dist/common/utils/bytes.d.ts +9 -0
  213. package/dist/common/utils/bytes.js +34 -0
  214. package/dist/common/utils/bytes.js.map +1 -0
  215. package/dist/common/utils/chain.d.ts +19 -0
  216. package/dist/common/utils/chain.js +74 -0
  217. package/dist/common/utils/chain.js.map +1 -0
  218. package/dist/common/utils/formulae.d.ts +15 -0
  219. package/dist/common/utils/formulae.js +77 -0
  220. package/dist/common/utils/formulae.js.map +1 -0
  221. package/dist/common/utils/gmp.d.ts +4 -0
  222. package/dist/common/utils/gmp.js +14 -0
  223. package/dist/common/utils/gmp.js.map +1 -0
  224. package/dist/common/utils/math-lib.d.ts +9 -0
  225. package/dist/common/utils/math-lib.js +38 -0
  226. package/dist/common/utils/math-lib.js.map +1 -0
  227. package/dist/common/utils/messages.d.ts +7 -0
  228. package/dist/common/utils/messages.js +93 -0
  229. package/dist/common/utils/messages.js.map +1 -0
  230. package/dist/common/utils/token.d.ts +2 -0
  231. package/dist/common/utils/token.js +5 -0
  232. package/dist/common/utils/token.js.map +1 -0
  233. package/dist/index.d.ts +30 -0
  234. package/dist/index.js +38 -0
  235. package/dist/index.js.map +1 -0
  236. package/dist/utils/exhaustive-check.d.ts +1 -0
  237. package/dist/utils/exhaustive-check.js +4 -0
  238. package/dist/utils/exhaustive-check.js.map +1 -0
  239. package/dist/xchain/core/folks-core.d.ts +24 -0
  240. package/dist/xchain/core/folks-core.js +100 -0
  241. package/dist/xchain/core/folks-core.js.map +1 -0
  242. package/dist/xchain/modules/folks-account.d.ts +30 -0
  243. package/dist/xchain/modules/folks-account.js +205 -0
  244. package/dist/xchain/modules/folks-account.js.map +1 -0
  245. package/dist/xchain/modules/folks-gmp.d.ts +12 -0
  246. package/dist/xchain/modules/folks-gmp.js +53 -0
  247. package/dist/xchain/modules/folks-gmp.js.map +1 -0
  248. package/dist/xchain/modules/folks-loan.d.ts +68 -0
  249. package/dist/xchain/modules/folks-loan.js +598 -0
  250. package/dist/xchain/modules/folks-loan.js.map +1 -0
  251. package/dist/xchain/modules/folks-oracle.d.ts +4 -0
  252. package/dist/xchain/modules/folks-oracle.js +11 -0
  253. package/dist/xchain/modules/folks-oracle.js.map +1 -0
  254. package/dist/xchain/modules/folks-pool.d.ts +5 -0
  255. package/dist/xchain/modules/folks-pool.js +8 -0
  256. package/dist/xchain/modules/folks-pool.js.map +1 -0
  257. package/dist/xchain/modules/index.d.ts +5 -0
  258. package/dist/xchain/modules/index.js +6 -0
  259. package/dist/xchain/modules/index.js.map +1 -0
  260. package/package.json +79 -0
  261. package/src/chains/evm/common/constants/abi/ccip-data-adapter-abi.ts +613 -0
  262. package/src/chains/evm/common/constants/abi/erc-20-abi.ts +156 -0
  263. package/src/chains/evm/common/constants/abi/wormhole-data-adapter-abi.ts +620 -0
  264. package/src/chains/evm/common/constants/chain.ts +56 -0
  265. package/src/chains/evm/common/constants/contract.ts +7 -0
  266. package/src/chains/evm/common/constants/tokens.ts +39 -0
  267. package/src/chains/evm/common/types/chain.ts +23 -0
  268. package/src/chains/evm/common/types/contract.ts +7 -0
  269. package/src/chains/evm/common/types/gmp.ts +15 -0
  270. package/src/chains/evm/common/types/index.ts +3 -0
  271. package/src/chains/evm/common/types/module.ts +85 -0
  272. package/src/chains/evm/common/types/tokens.ts +31 -0
  273. package/src/chains/evm/common/utils/chain.ts +20 -0
  274. package/src/chains/evm/common/utils/contract.ts +84 -0
  275. package/src/chains/evm/common/utils/gmp.ts +24 -0
  276. package/src/chains/evm/common/utils/message.ts +496 -0
  277. package/src/chains/evm/common/utils/provider.ts +32 -0
  278. package/src/chains/evm/common/utils/tokens.ts +52 -0
  279. package/src/chains/evm/hub/constants/abi/account-manager-abi.ts +685 -0
  280. package/src/chains/evm/hub/constants/abi/bridge-router-hub-abi.ts +763 -0
  281. package/src/chains/evm/hub/constants/abi/hub-abi.ts +186 -0
  282. package/src/chains/evm/hub/constants/abi/hub-pool-abi.ts +1345 -0
  283. package/src/chains/evm/hub/constants/abi/loan-manager-abi.ts +1039 -0
  284. package/src/chains/evm/hub/constants/abi/oracle-manager-abi.ts +388 -0
  285. package/src/chains/evm/hub/constants/chain.ts +130 -0
  286. package/src/chains/evm/hub/modules/folks-hub-account.ts +137 -0
  287. package/src/chains/evm/hub/modules/folks-hub-gmp.ts +105 -0
  288. package/src/chains/evm/hub/modules/folks-hub-loan.ts +603 -0
  289. package/src/chains/evm/hub/modules/folks-hub-oracle.ts +38 -0
  290. package/src/chains/evm/hub/modules/folks-hub-pool.ts +171 -0
  291. package/src/chains/evm/hub/modules/index.ts +5 -0
  292. package/src/chains/evm/hub/types/account.ts +27 -0
  293. package/src/chains/evm/hub/types/chain.ts +16 -0
  294. package/src/chains/evm/hub/types/loan.ts +147 -0
  295. package/src/chains/evm/hub/types/oracle.ts +6 -0
  296. package/src/chains/evm/hub/types/pool.ts +66 -0
  297. package/src/chains/evm/hub/types/token.ts +10 -0
  298. package/src/chains/evm/hub/utils/chain.ts +41 -0
  299. package/src/chains/evm/hub/utils/contract.ts +98 -0
  300. package/src/chains/evm/hub/utils/events.ts +112 -0
  301. package/src/chains/evm/hub/utils/loan.ts +60 -0
  302. package/src/chains/evm/spoke/constants/abi/bridge-router-spoke-abi.ts +753 -0
  303. package/src/chains/evm/spoke/constants/abi/spoke-common-abi.ts +709 -0
  304. package/src/chains/evm/spoke/constants/abi/spoke-token-abi.ts +642 -0
  305. package/src/chains/evm/spoke/modules/folks-evm-account.ts +228 -0
  306. package/src/chains/evm/spoke/modules/folks-evm-gmp.ts +105 -0
  307. package/src/chains/evm/spoke/modules/folks-evm-loan.ts +721 -0
  308. package/src/chains/evm/spoke/modules/index.ts +3 -0
  309. package/src/chains/evm/spoke/types/pool.ts +7 -0
  310. package/src/chains/evm/spoke/utils/contract.ts +74 -0
  311. package/src/common/constants/adapter.ts +5 -0
  312. package/src/common/constants/bytes.ts +6 -0
  313. package/src/common/constants/chain.ts +227 -0
  314. package/src/common/constants/gmp.ts +38 -0
  315. package/src/common/constants/lending.ts +3 -0
  316. package/src/common/constants/message.ts +4 -0
  317. package/src/common/constants/pool.ts +11 -0
  318. package/src/common/constants/token.ts +3 -0
  319. package/src/common/types/adapter.ts +38 -0
  320. package/src/common/types/address.ts +11 -0
  321. package/src/common/types/brand.ts +3 -0
  322. package/src/common/types/chain.ts +35 -0
  323. package/src/common/types/core.ts +31 -0
  324. package/src/common/types/gmp.ts +22 -0
  325. package/src/common/types/lending.ts +5 -0
  326. package/src/common/types/message.ts +330 -0
  327. package/src/common/types/module.ts +42 -0
  328. package/src/common/types/token.ts +50 -0
  329. package/src/common/utils/adapter.ts +75 -0
  330. package/src/common/utils/address.ts +49 -0
  331. package/src/common/utils/bytes.ts +46 -0
  332. package/src/common/utils/chain.ts +103 -0
  333. package/src/common/utils/formulae.ts +124 -0
  334. package/src/common/utils/gmp.ts +16 -0
  335. package/src/common/utils/math-lib.ts +46 -0
  336. package/src/common/utils/messages.ts +192 -0
  337. package/src/common/utils/token.ts +7 -0
  338. package/src/index.ts +47 -0
  339. package/src/utils/exhaustive-check.ts +3 -0
  340. package/src/xchain/core/folks-core.ts +128 -0
  341. package/src/xchain/modules/folks-account.ts +385 -0
  342. package/src/xchain/modules/folks-gmp.ts +129 -0
  343. package/src/xchain/modules/folks-loan.ts +1175 -0
  344. package/src/xchain/modules/folks-oracle.ts +15 -0
  345. package/src/xchain/modules/folks-pool.ts +11 -0
  346. package/src/xchain/modules/index.ts +5 -0
@@ -0,0 +1,205 @@
1
+ import { FolksHubAccount } from "../../chains/evm/hub/modules/index.js";
2
+ import { getHubChain } from "../../chains/evm/hub/utils/chain.js";
3
+ import { FolksEvmAccount } from "../../chains/evm/spoke/modules/index.js";
4
+ import { NULL_ACCOUNT_ID } from "../../common/constants/lending.js";
5
+ import { ChainType } from "../../common/types/chain.js";
6
+ import { MessageDirection } from "../../common/types/gmp.js";
7
+ import { Action } from "../../common/types/message.js";
8
+ import { assertAdapterSupportsDataMessage } from "../../common/utils/adapter.js";
9
+ import { convertFromGenericAddress } from "../../common/utils/address.js";
10
+ import { assertSpokeChainSupported, getSignerGenericAddress, getSpokeChain } from "../../common/utils/chain.js";
11
+ import { buildMessageToSend, estimateAdapterReceiveGasLimit } from "../../common/utils/messages.js";
12
+ import { exhaustiveCheck } from "../../utils/exhaustive-check.js";
13
+ import { FolksCore } from "../core/folks-core.js";
14
+ export const prepare = {
15
+ async createAccount(accountId, adapters, refAccountId = NULL_ACCOUNT_ID) {
16
+ const folksChain = FolksCore.getSelectedFolksChain();
17
+ // check adapters are compatible
18
+ assertAdapterSupportsDataMessage(folksChain.folksChainId, adapters.adapterId);
19
+ const spokeChain = getSpokeChain(folksChain.folksChainId, folksChain.network);
20
+ const hubChain = getHubChain(folksChain.network);
21
+ const userAddress = getSignerGenericAddress({
22
+ signer: FolksCore.getFolksSigner().signer,
23
+ chainType: folksChain.chainType,
24
+ });
25
+ const data = { refAccountId };
26
+ const messageBuilderParams = {
27
+ userAddress,
28
+ accountId,
29
+ adapters,
30
+ action: Action.CreateAccount,
31
+ sender: spokeChain.spokeCommonAddress,
32
+ destinationChainId: hubChain.folksChainId,
33
+ handler: hubChain.hubAddress,
34
+ data,
35
+ extraArgs: "0x",
36
+ };
37
+ const feeParams = {};
38
+ feeParams.gasLimit = await estimateAdapterReceiveGasLimit(folksChain.folksChainId, hubChain.folksChainId, FolksCore.getHubProvider(), folksChain.network, MessageDirection.SpokeToHub, messageBuilderParams);
39
+ const messageToSend = buildMessageToSend(folksChain.chainType, messageBuilderParams, feeParams);
40
+ switch (folksChain.chainType) {
41
+ case ChainType.EVM:
42
+ return await FolksEvmAccount.prepare.createAccount(FolksCore.getProvider(folksChain.folksChainId), convertFromGenericAddress(userAddress, folksChain.chainType), messageToSend, accountId, refAccountId, spokeChain);
43
+ default:
44
+ return exhaustiveCheck(folksChain.chainType);
45
+ }
46
+ },
47
+ async inviteAddress(accountId, folksChainIdToInvite, addressToInvite, adapters, refAccountId = NULL_ACCOUNT_ID) {
48
+ const folksChain = FolksCore.getSelectedFolksChain();
49
+ // check adapters are compatible
50
+ assertAdapterSupportsDataMessage(folksChain.folksChainId, adapters.adapterId);
51
+ const spokeChain = getSpokeChain(folksChain.folksChainId, folksChain.network);
52
+ const hubChain = getHubChain(folksChain.network);
53
+ const userAddress = getSignerGenericAddress({
54
+ signer: FolksCore.getFolksSigner().signer,
55
+ chainType: folksChain.chainType,
56
+ });
57
+ const data = {
58
+ folksChainIdToInvite,
59
+ addressToInvite,
60
+ refAccountId,
61
+ };
62
+ const messageBuilderParams = {
63
+ userAddress,
64
+ accountId,
65
+ adapters,
66
+ action: Action.InviteAddress,
67
+ sender: spokeChain.spokeCommonAddress,
68
+ destinationChainId: hubChain.folksChainId,
69
+ handler: hubChain.hubAddress,
70
+ data,
71
+ extraArgs: "0x",
72
+ };
73
+ const feeParams = {};
74
+ feeParams.gasLimit = await estimateAdapterReceiveGasLimit(folksChain.folksChainId, hubChain.folksChainId, FolksCore.getHubProvider(), folksChain.network, MessageDirection.SpokeToHub, messageBuilderParams);
75
+ const messageToSend = buildMessageToSend(folksChain.chainType, messageBuilderParams, feeParams);
76
+ switch (folksChain.chainType) {
77
+ case ChainType.EVM:
78
+ return await FolksEvmAccount.prepare.inviteAddress(FolksCore.getProvider(folksChain.folksChainId), convertFromGenericAddress(userAddress, folksChain.chainType), messageToSend, accountId, folksChainIdToInvite, addressToInvite, refAccountId, spokeChain);
79
+ default:
80
+ return exhaustiveCheck(folksChain.chainType);
81
+ }
82
+ },
83
+ async acceptInvite(accountId, adapters) {
84
+ const folksChain = FolksCore.getSelectedFolksChain();
85
+ // check adapters are compatible
86
+ assertAdapterSupportsDataMessage(folksChain.folksChainId, adapters.adapterId);
87
+ const spokeChain = getSpokeChain(folksChain.folksChainId, folksChain.network);
88
+ const hubChain = getHubChain(folksChain.network);
89
+ const userAddress = getSignerGenericAddress({
90
+ signer: FolksCore.getFolksSigner().signer,
91
+ chainType: folksChain.chainType,
92
+ });
93
+ const messageBuilderParams = {
94
+ userAddress,
95
+ accountId,
96
+ adapters,
97
+ action: Action.AcceptInviteAddress,
98
+ sender: spokeChain.spokeCommonAddress,
99
+ destinationChainId: hubChain.folksChainId,
100
+ handler: hubChain.hubAddress,
101
+ data: "0x",
102
+ extraArgs: "0x",
103
+ };
104
+ const feeParams = {};
105
+ feeParams.gasLimit = await estimateAdapterReceiveGasLimit(folksChain.folksChainId, hubChain.folksChainId, FolksCore.getHubProvider(), folksChain.network, MessageDirection.SpokeToHub, messageBuilderParams);
106
+ const messageToSend = buildMessageToSend(folksChain.chainType, messageBuilderParams, feeParams);
107
+ switch (folksChain.chainType) {
108
+ case ChainType.EVM:
109
+ return await FolksEvmAccount.prepare.acceptInvite(FolksCore.getProvider(folksChain.folksChainId), convertFromGenericAddress(userAddress, folksChain.chainType), messageToSend, accountId, spokeChain);
110
+ default:
111
+ return exhaustiveCheck(folksChain.chainType);
112
+ }
113
+ },
114
+ async unregisterAddress(accountId, folksChainIdToUnregister, adapters) {
115
+ const folksChain = FolksCore.getSelectedFolksChain();
116
+ // check adapters are compatible
117
+ assertAdapterSupportsDataMessage(folksChain.folksChainId, adapters.adapterId);
118
+ const spokeChain = getSpokeChain(folksChain.folksChainId, folksChain.network);
119
+ const hubChain = getHubChain(folksChain.network);
120
+ const userAddress = getSignerGenericAddress({
121
+ signer: FolksCore.getFolksSigner().signer,
122
+ chainType: folksChain.chainType,
123
+ });
124
+ const data = {
125
+ folksChainIdToUnregister,
126
+ };
127
+ const messageBuilderParams = {
128
+ userAddress,
129
+ accountId,
130
+ adapters,
131
+ action: Action.UnregisterAddress,
132
+ sender: spokeChain.spokeCommonAddress,
133
+ destinationChainId: hubChain.folksChainId,
134
+ handler: hubChain.hubAddress,
135
+ data,
136
+ extraArgs: "0x",
137
+ };
138
+ const feeParams = {};
139
+ feeParams.gasLimit = await estimateAdapterReceiveGasLimit(folksChain.folksChainId, hubChain.folksChainId, FolksCore.getHubProvider(), folksChain.network, MessageDirection.SpokeToHub, messageBuilderParams);
140
+ const messageToSend = buildMessageToSend(folksChain.chainType, messageBuilderParams, feeParams);
141
+ switch (folksChain.chainType) {
142
+ case ChainType.EVM:
143
+ return await FolksEvmAccount.prepare.unregisterAddress(FolksCore.getProvider(folksChain.folksChainId), convertFromGenericAddress(userAddress, folksChain.chainType), messageToSend, accountId, folksChainIdToUnregister, spokeChain);
144
+ default:
145
+ return exhaustiveCheck(folksChain.chainType);
146
+ }
147
+ },
148
+ };
149
+ export const write = {
150
+ async createAccount(accountId, prepareCall, refAccountId = NULL_ACCOUNT_ID) {
151
+ const folksChain = FolksCore.getSelectedFolksChain();
152
+ assertSpokeChainSupported(folksChain.folksChainId, folksChain.network);
153
+ switch (folksChain.chainType) {
154
+ case ChainType.EVM:
155
+ return await FolksEvmAccount.write.createAccount(FolksCore.getProvider(folksChain.folksChainId), FolksCore.getSigner(), accountId, refAccountId, prepareCall);
156
+ default:
157
+ return exhaustiveCheck(folksChain.chainType);
158
+ }
159
+ },
160
+ async inviteAddress(accountId, folksChainIdToInvite, addressToInvite, prepareCall, refAccountId = NULL_ACCOUNT_ID) {
161
+ const folksChain = FolksCore.getSelectedFolksChain();
162
+ assertSpokeChainSupported(folksChain.folksChainId, folksChain.network);
163
+ switch (folksChain.chainType) {
164
+ case ChainType.EVM:
165
+ return await FolksEvmAccount.write.inviteAddress(FolksCore.getProvider(folksChain.folksChainId), FolksCore.getSigner(), accountId, folksChainIdToInvite, addressToInvite, refAccountId, prepareCall);
166
+ default:
167
+ return exhaustiveCheck(folksChain.chainType);
168
+ }
169
+ },
170
+ async acceptInvite(accountId, prepareCall) {
171
+ const folksChain = FolksCore.getSelectedFolksChain();
172
+ assertSpokeChainSupported(folksChain.folksChainId, folksChain.network);
173
+ switch (folksChain.chainType) {
174
+ case ChainType.EVM:
175
+ return await FolksEvmAccount.write.acceptInvite(FolksCore.getProvider(folksChain.folksChainId), FolksCore.getSigner(), accountId, prepareCall);
176
+ default:
177
+ return exhaustiveCheck(folksChain.chainType);
178
+ }
179
+ },
180
+ async unregisterAddress(accountId, folksChainIdToUnregister, prepareCall) {
181
+ const folksChain = FolksCore.getSelectedFolksChain();
182
+ assertSpokeChainSupported(folksChain.folksChainId, folksChain.network);
183
+ switch (folksChain.chainType) {
184
+ case ChainType.EVM:
185
+ return await FolksEvmAccount.write.unregisterAddress(FolksCore.getProvider(folksChain.folksChainId), FolksCore.getSigner(), accountId, folksChainIdToUnregister, prepareCall);
186
+ default:
187
+ return exhaustiveCheck(folksChain.chainType);
188
+ }
189
+ },
190
+ };
191
+ export const read = {
192
+ async accountInfo(accountId, folksChainIds) {
193
+ return FolksHubAccount.getAccountInfo(FolksCore.getHubProvider(), FolksCore.getSelectedNetwork(), accountId, folksChainIds);
194
+ },
195
+ async accountIdByAddress(address) {
196
+ return FolksHubAccount.getAccountIdByAddress(FolksCore.getHubProvider(), FolksCore.getSelectedNetwork(), address);
197
+ },
198
+ async accountIdByAddressOnChain(address, folksChainId) {
199
+ return FolksHubAccount.getAccountIdByAddressOnChain(FolksCore.getHubProvider(), FolksCore.getSelectedNetwork(), address, folksChainId);
200
+ },
201
+ async invitationByAddress(address, folksChainId) {
202
+ return FolksHubAccount.getInvitationByAddress(FolksCore.getHubProvider(), FolksCore.getSelectedNetwork(), address, folksChainId);
203
+ },
204
+ };
205
+ //# sourceMappingURL=folks-account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"folks-account.js","sourceRoot":"","sources":["../../../src/xchain/modules/folks-account.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import type { PrepareReverseMessageCall } from "../../chains/evm/common/types/module.js";
2
+ import type { MessageId, ReverseMessageExtraAgrs } from "../../common/types/gmp.js";
3
+ import type { AdapterType } from "../../common/types/message.js";
4
+ import type { PrepareRetryMessageCall } from "../../common/types/module.js";
5
+ export declare const prepare: {
6
+ retryMessage(adapterId: AdapterType, messageId: MessageId, value: bigint, isHub?: boolean): Promise<import("../../chains/evm/common/types/module.js").PrepareRetryMessageCall>;
7
+ reverseMessage(adapterId: AdapterType, messageId: MessageId, extraArgs: ReverseMessageExtraAgrs, value: bigint, isHub?: boolean): Promise<import("../../chains/evm/common/types/module.js").PrepareRetryMessageCall>;
8
+ };
9
+ export declare const write: {
10
+ retryMessage(adapterId: AdapterType, messageId: MessageId, prepareCall: PrepareRetryMessageCall): Promise<`0x${string}`>;
11
+ reverseMessage(adapterId: AdapterType, messageId: MessageId, extraArgs: ReverseMessageExtraAgrs, prepareCall: PrepareReverseMessageCall): Promise<`0x${string}`>;
12
+ };
@@ -0,0 +1,53 @@
1
+ import { getEvmSignerAddress } from "../../chains/evm/common/utils/chain.js";
2
+ import { FolksHubGmp } from "../../chains/evm/hub/modules/index.js";
3
+ import { getHubChain } from "../../chains/evm/hub/utils/chain.js";
4
+ import { FolksEvmGmp } from "../../chains/evm/spoke/modules/index.js";
5
+ import { assertHubChainSelected, getSpokeChain } from "../../common/utils/chain.js";
6
+ import { FolksCore } from "../core/folks-core.js";
7
+ export const prepare = {
8
+ async retryMessage(adapterId, messageId, value, isHub = true) {
9
+ const folksChain = FolksCore.getSelectedFolksChain();
10
+ if (isHub) {
11
+ assertHubChainSelected(folksChain.folksChainId, folksChain.network);
12
+ return await FolksHubGmp.prepare.retryMessage(FolksCore.getProvider(folksChain.folksChainId), getEvmSignerAddress(FolksCore.getSigner()), adapterId, messageId, value, getHubChain(folksChain.network));
13
+ }
14
+ else {
15
+ return await FolksEvmGmp.prepare.retryMessage(FolksCore.getProvider(folksChain.folksChainId), getEvmSignerAddress(FolksCore.getSigner()), adapterId, messageId, value, getSpokeChain(folksChain.folksChainId, folksChain.network));
16
+ }
17
+ },
18
+ async reverseMessage(adapterId, messageId, extraArgs, value, isHub = true) {
19
+ const folksChain = FolksCore.getSelectedFolksChain();
20
+ if (isHub) {
21
+ assertHubChainSelected(folksChain.folksChainId, folksChain.network);
22
+ return await FolksHubGmp.prepare.reverseMessage(FolksCore.getProvider(folksChain.folksChainId), getEvmSignerAddress(FolksCore.getSigner()), adapterId, messageId, extraArgs, value, getHubChain(folksChain.network));
23
+ }
24
+ else {
25
+ return await FolksEvmGmp.prepare.reverseMessage(FolksCore.getProvider(folksChain.folksChainId), getEvmSignerAddress(FolksCore.getSigner()), adapterId, messageId, extraArgs, value, getSpokeChain(folksChain.folksChainId, folksChain.network));
26
+ }
27
+ },
28
+ };
29
+ export const write = {
30
+ async retryMessage(adapterId, messageId, prepareCall) {
31
+ const folksChain = FolksCore.getSelectedFolksChain();
32
+ const { isHub } = prepareCall;
33
+ if (isHub) {
34
+ assertHubChainSelected(folksChain.folksChainId, folksChain.network);
35
+ return await FolksHubGmp.write.retryMessage(FolksCore.getHubProvider(), FolksCore.getSigner(), adapterId, messageId, prepareCall);
36
+ }
37
+ else {
38
+ return await FolksEvmGmp.write.retryMessage(FolksCore.getHubProvider(), FolksCore.getSigner(), adapterId, messageId, prepareCall);
39
+ }
40
+ },
41
+ async reverseMessage(adapterId, messageId, extraArgs, prepareCall) {
42
+ const folksChain = FolksCore.getSelectedFolksChain();
43
+ const { isHub } = prepareCall;
44
+ if (isHub) {
45
+ assertHubChainSelected(folksChain.folksChainId, folksChain.network);
46
+ return await FolksHubGmp.write.reverseMessage(FolksCore.getHubProvider(), FolksCore.getSigner(), adapterId, messageId, extraArgs, prepareCall);
47
+ }
48
+ else {
49
+ return await FolksEvmGmp.write.reverseMessage(FolksCore.getHubProvider(), FolksCore.getSigner(), adapterId, messageId, extraArgs, prepareCall);
50
+ }
51
+ },
52
+ };
53
+ //# sourceMappingURL=folks-gmp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"folks-gmp.js","sourceRoot":"","sources":["../../../src/xchain/modules/folks-gmp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAQlD,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,KAAK,CAAC,YAAY,CAAC,SAAsB,EAAE,SAAoB,EAAE,KAAa,EAAE,KAAK,GAAG,IAAI;QAC1F,MAAM,UAAU,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;QAErD,IAAI,KAAK,EAAE,CAAC;YACV,sBAAsB,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;YACpE,OAAO,MAAM,WAAW,CAAC,OAAO,CAAC,YAAY,CAC3C,SAAS,CAAC,WAAW,CAAgB,UAAU,CAAC,YAAY,CAAC,EAC7D,mBAAmB,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,EAC1C,SAAS,EACT,SAAS,EACT,KAAK,EACL,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAChC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,WAAW,CAAC,OAAO,CAAC,YAAY,CAC3C,SAAS,CAAC,WAAW,CAAgB,UAAU,CAAC,YAAY,CAAC,EAC7D,mBAAmB,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,EAC1C,SAAS,EACT,SAAS,EACT,KAAK,EACL,aAAa,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,OAAO,CAAC,CAC3D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,SAAsB,EACtB,SAAoB,EACpB,SAAkC,EAClC,KAAa,EACb,KAAK,GAAG,IAAI;QAEZ,MAAM,UAAU,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;QAErD,IAAI,KAAK,EAAE,CAAC;YACV,sBAAsB,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;YACpE,OAAO,MAAM,WAAW,CAAC,OAAO,CAAC,cAAc,CAC7C,SAAS,CAAC,WAAW,CAAgB,UAAU,CAAC,YAAY,CAAC,EAC7D,mBAAmB,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,EAC1C,SAAS,EACT,SAAS,EACT,SAAS,EACT,KAAK,EACL,WAAW,CAAC,UAAU,CAAC,OAAO,CAAC,CAChC,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,WAAW,CAAC,OAAO,CAAC,cAAc,CAC7C,SAAS,CAAC,WAAW,CAAgB,UAAU,CAAC,YAAY,CAAC,EAC7D,mBAAmB,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,EAC1C,SAAS,EACT,SAAS,EACT,SAAS,EACT,KAAK,EACL,aAAa,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,OAAO,CAAC,CAC3D,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,KAAK,CAAC,YAAY,CAAC,SAAsB,EAAE,SAAoB,EAAE,WAAoC;QACnG,MAAM,UAAU,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;QACrD,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC;QAE9B,IAAI,KAAK,EAAE,CAAC;YACV,sBAAsB,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;YACpE,OAAO,MAAM,WAAW,CAAC,KAAK,CAAC,YAAY,CACzC,SAAS,CAAC,cAAc,EAAE,EAC1B,SAAS,CAAC,SAAS,EAAiB,EACpC,SAAS,EACT,SAAS,EACT,WAAW,CACZ,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,WAAW,CAAC,KAAK,CAAC,YAAY,CACzC,SAAS,CAAC,cAAc,EAAE,EAC1B,SAAS,CAAC,SAAS,EAAiB,EACpC,SAAS,EACT,SAAS,EACT,WAAW,CACZ,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,SAAsB,EACtB,SAAoB,EACpB,SAAkC,EAClC,WAAsC;QAEtC,MAAM,UAAU,GAAG,SAAS,CAAC,qBAAqB,EAAE,CAAC;QACrD,MAAM,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC;QAE9B,IAAI,KAAK,EAAE,CAAC;YACV,sBAAsB,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;YACpE,OAAO,MAAM,WAAW,CAAC,KAAK,CAAC,cAAc,CAC3C,SAAS,CAAC,cAAc,EAAE,EAC1B,SAAS,CAAC,SAAS,EAAiB,EACpC,SAAS,EACT,SAAS,EACT,SAAS,EACT,WAAW,CACZ,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,MAAM,WAAW,CAAC,KAAK,CAAC,cAAc,CAC3C,SAAS,CAAC,cAAc,EAAE,EAC1B,SAAS,CAAC,SAAS,EAAiB,EACpC,SAAS,EACT,SAAS,EACT,SAAS,EACT,WAAW,CACZ,CAAC;QACJ,CAAC;IACH,CAAC;CACF,CAAC"}
@@ -0,0 +1,68 @@
1
+ import type { LoanChange, LoanManagerUserLoan, LoanTypeInfo, UserLoanInfo } from "../../chains/evm/hub/types/loan.js";
2
+ import type { OraclePrices } from "../../chains/evm/hub/types/oracle.js";
3
+ import type { PoolInfo } from "../../chains/evm/hub/types/pool.js";
4
+ import type { TokenRateLimit } from "../../chains/evm/spoke/types/pool.js";
5
+ import type { FolksChainId } from "../../common/types/chain.js";
6
+ import type { AccountId, LoanId, LoanName } from "../../common/types/lending.js";
7
+ import type { MessageAdapters } from "../../common/types/message.js";
8
+ import type { LoanTypeId, PrepareBorrowCall, PrepareCreateLoanAndDepositCall, PrepareCreateLoanCall, PrepareDepositCall, PrepareLiquidateCall, PrepareRepayCall, PrepareRepayWithCollateralCall, PrepareSwitchBorrowTypeCall, PrepareWithdrawCall } from "../../common/types/module.js";
9
+ import type { FolksTokenId } from "../../common/types/token.js";
10
+ export declare const prepare: {
11
+ createLoan(accountId: AccountId, loanId: LoanId, loanTypeId: LoanTypeId, loanName: LoanName, adapters: MessageAdapters): Promise<import("../../chains/evm/common/types/module.js").PrepareCreateLoanCall>;
12
+ deleteLoan(accountId: AccountId, loanId: LoanId, adapters: MessageAdapters): Promise<import("../../chains/evm/common/types/module.js").PrepareDeleteLoanCall>;
13
+ createLoanAndDeposit(accountId: AccountId, loanId: LoanId, loanTypeId: LoanTypeId, loanName: LoanName, folksTokenId: FolksTokenId, amount: bigint, adapters: MessageAdapters): Promise<{
14
+ msgValue: bigint;
15
+ gasLimit: bigint;
16
+ messageParams: import("../../common/types/message.js").MessageParams;
17
+ spokeTokenData: import("../../common/types/token.js").SpokeTokenData;
18
+ }>;
19
+ deposit(accountId: AccountId, loanId: LoanId, loanTypeId: LoanTypeId, folksTokenId: FolksTokenId, amount: bigint, adapters: MessageAdapters): Promise<import("../../chains/evm/common/types/module.js").PrepareDepositCall>;
20
+ withdraw(accountId: AccountId, loanId: LoanId, folksTokenId: FolksTokenId, amount: bigint, isFAmount: boolean, receiverFolksChainId: FolksChainId, adapters: MessageAdapters): Promise<import("../../chains/evm/common/types/module.js").PrepareWithdrawCall>;
21
+ borrow(accountId: AccountId, loanId: LoanId, folksTokenId: FolksTokenId, amount: bigint, maxStableRate: bigint, receiverFolksChainId: FolksChainId, adapters: MessageAdapters): Promise<import("../../chains/evm/common/types/module.js").PrepareBorrowCall>;
22
+ repay(accountId: AccountId, loanId: LoanId, loanTypeId: LoanTypeId, folksTokenId: FolksTokenId, amount: bigint, maxOverRepayment: bigint, adapters: MessageAdapters): Promise<PrepareRepayCall>;
23
+ repayWithCollateral(accountId: AccountId, loanId: LoanId, folksTokenId: FolksTokenId, amount: bigint, adapters: MessageAdapters): Promise<import("../../chains/evm/common/types/module.js").PrepareRepayWithCollateralCall>;
24
+ switchBorrowType(accountId: AccountId, loanId: LoanId, folksTokenId: FolksTokenId, maxStableRate: bigint, adapters: MessageAdapters): Promise<import("../../chains/evm/common/types/module.js").PrepareSwitchBorrowTypeCall>;
25
+ liquidate(accountId: AccountId, liquidatorLoanId: LoanId, violatorLoanId: LoanId, folksTokenIdToLiq: FolksTokenId, folksTokenIdToSeize: FolksTokenId, repayingAmount: bigint, minSeizedAmount: bigint): Promise<import("../../chains/evm/common/types/module.js").PrepareLiquidateCall>;
26
+ };
27
+ export declare const write: {
28
+ createLoan(accountId: AccountId, loanId: LoanId, loanTypeId: LoanTypeId, loanName: LoanName, prepareCall: PrepareCreateLoanCall): Promise<`0x${string}`>;
29
+ deleteLoan(accountId: AccountId, loanId: LoanId, prepareCall: PrepareCreateLoanCall): Promise<`0x${string}`>;
30
+ createLoanAndDeposit(accountId: AccountId, loanId: LoanId, loanTypeId: LoanTypeId, loanName: LoanName, amount: bigint, includeApproval: boolean, prepareCall: PrepareCreateLoanAndDepositCall): Promise<`0x${string}`>;
31
+ deposit(accountId: AccountId, loanId: LoanId, amount: bigint, includeApproval: boolean, prepareCall: PrepareDepositCall): Promise<`0x${string}`>;
32
+ withdraw(accountId: AccountId, loanId: LoanId, folksTokenId: FolksTokenId, amount: bigint, isFAmount: boolean, receiverFolksChainId: FolksChainId, prepareCall: PrepareWithdrawCall): Promise<`0x${string}`>;
33
+ borrow(accountId: AccountId, loanId: LoanId, folksTokenId: FolksTokenId, amount: bigint, maxStableRate: bigint, receiverFolksChainId: FolksChainId, prepareCall: PrepareBorrowCall): Promise<`0x${string}`>;
34
+ repay(accountId: AccountId, loanId: LoanId, amount: bigint, maxOverRepayment: bigint, includeApproval: boolean, prepareCall: PrepareRepayCall): Promise<`0x${string}`>;
35
+ repayWithCollateral(accountId: AccountId, loanId: LoanId, folksTokenId: FolksTokenId, amount: bigint, prepareCall: PrepareRepayWithCollateralCall): Promise<`0x${string}`>;
36
+ switchBorrowType(accountId: AccountId, loanId: LoanId, folksTokenId: FolksTokenId, maxStableRate: bigint, prepareCall: PrepareSwitchBorrowTypeCall): Promise<`0x${string}`>;
37
+ liquidate(accountId: AccountId, prepareCall: PrepareLiquidateCall): Promise<`0x${string}`>;
38
+ };
39
+ export declare const read: {
40
+ rateLimit(folksTokenId: FolksTokenId, folksChainId: FolksChainId): Promise<TokenRateLimit>;
41
+ loanTypeInfo(loanTypeId: LoanTypeId): Promise<LoanTypeInfo>;
42
+ userLoansIds(accountId: AccountId, loanTypeIdsFilter?: Array<LoanTypeId>): Promise<Map<LoanTypeId, Array<LoanId>>>;
43
+ userLoans(loanIds: Array<LoanId>): Promise<Map<LoanId, LoanManagerUserLoan>>;
44
+ };
45
+ export declare const util: {
46
+ userLoansInfo(userLoansMap: Map<LoanId, LoanManagerUserLoan>, poolsInfo: Partial<Record<FolksTokenId, PoolInfo>>, loanTypesInfo: Partial<Record<LoanTypeId, LoanTypeInfo>>, oraclePrices: OraclePrices): Record<LoanId, UserLoanInfo>;
47
+ simulateLoanChanges(loan: readonly [`0x${string}`, number, readonly number[], readonly number[], readonly {
48
+ balance: bigint;
49
+ rewardIndex: bigint;
50
+ }[], readonly {
51
+ amount: bigint;
52
+ balance: bigint;
53
+ lastInterestIndex: bigint;
54
+ stableInterestRate: bigint;
55
+ lastStableUpdateTimestamp: bigint;
56
+ rewardIndex: bigint;
57
+ }[]], changes: Array<LoanChange>): readonly [`0x${string}`, number, readonly number[], readonly number[], readonly {
58
+ balance: bigint;
59
+ rewardIndex: bigint;
60
+ }[], readonly {
61
+ amount: bigint;
62
+ balance: bigint;
63
+ lastInterestIndex: bigint;
64
+ stableInterestRate: bigint;
65
+ lastStableUpdateTimestamp: bigint;
66
+ rewardIndex: bigint;
67
+ }[]];
68
+ };