@wirexapp/wpay-baas-sdk 0.1.0

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 (323) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +566 -0
  3. package/dist/abi/accounts.abi.d.ts +405 -0
  4. package/dist/abi/accounts.abi.d.ts.map +1 -0
  5. package/dist/abi/accounts.abi.js +351 -0
  6. package/dist/abi/accounts.abi.js.map +1 -0
  7. package/dist/abi/contractRegistry.abi.d.ts +220 -0
  8. package/dist/abi/contractRegistry.abi.d.ts.map +1 -0
  9. package/dist/abi/contractRegistry.abi.js +287 -0
  10. package/dist/abi/contractRegistry.abi.js.map +1 -0
  11. package/dist/abi/corporateAccounts.abi.d.ts +42 -0
  12. package/dist/abi/corporateAccounts.abi.d.ts.map +1 -0
  13. package/dist/abi/corporateAccounts.abi.js +34 -0
  14. package/dist/abi/corporateAccounts.abi.js.map +1 -0
  15. package/dist/abi/erc20.abi.d.ts +253 -0
  16. package/dist/abi/erc20.abi.d.ts.map +1 -0
  17. package/dist/abi/erc20.abi.js +98 -0
  18. package/dist/abi/erc20.abi.js.map +1 -0
  19. package/dist/abi/executionDelayPolicy.abi.d.ts +378 -0
  20. package/dist/abi/executionDelayPolicy.abi.d.ts.map +1 -0
  21. package/dist/abi/executionDelayPolicy.abi.js +502 -0
  22. package/dist/abi/executionDelayPolicy.abi.js.map +1 -0
  23. package/dist/abi/fundsManagement.abi.d.ts +54 -0
  24. package/dist/abi/fundsManagement.abi.d.ts.map +1 -0
  25. package/dist/abi/fundsManagement.abi.js +361 -0
  26. package/dist/abi/fundsManagement.abi.js.map +1 -0
  27. package/dist/abi/index.d.ts +11 -0
  28. package/dist/abi/index.d.ts.map +1 -0
  29. package/dist/abi/index.js +11 -0
  30. package/dist/abi/index.js.map +1 -0
  31. package/dist/abi/signer.abi.d.ts +20 -0
  32. package/dist/abi/signer.abi.d.ts.map +1 -0
  33. package/dist/abi/signer.abi.js +13 -0
  34. package/dist/abi/signer.abi.js.map +1 -0
  35. package/dist/abi/synthetic.abi.d.ts +2459 -0
  36. package/dist/abi/synthetic.abi.d.ts.map +1 -0
  37. package/dist/abi/synthetic.abi.js +1739 -0
  38. package/dist/abi/synthetic.abi.js.map +1 -0
  39. package/dist/abi/tokenRegistry.abi.d.ts +209 -0
  40. package/dist/abi/tokenRegistry.abi.d.ts.map +1 -0
  41. package/dist/abi/tokenRegistry.abi.js +117 -0
  42. package/dist/abi/tokenRegistry.abi.js.map +1 -0
  43. package/dist/abi/yieldCalculator.abi.d.ts +327 -0
  44. package/dist/abi/yieldCalculator.abi.d.ts.map +1 -0
  45. package/dist/abi/yieldCalculator.abi.js +2 -0
  46. package/dist/abi/yieldCalculator.abi.js.map +1 -0
  47. package/dist/client.d.ts +23 -0
  48. package/dist/client.d.ts.map +1 -0
  49. package/dist/client.js +97 -0
  50. package/dist/client.js.map +1 -0
  51. package/dist/core/config/config.service.d.ts +18 -0
  52. package/dist/core/config/config.service.d.ts.map +1 -0
  53. package/dist/core/config/config.service.js +78 -0
  54. package/dist/core/config/config.service.js.map +1 -0
  55. package/dist/core/config/index.d.ts +4 -0
  56. package/dist/core/config/index.d.ts.map +1 -0
  57. package/dist/core/config/index.js +3 -0
  58. package/dist/core/config/index.js.map +1 -0
  59. package/dist/core/config/types.d.ts +40 -0
  60. package/dist/core/config/types.d.ts.map +1 -0
  61. package/dist/core/config/types.js +5 -0
  62. package/dist/core/config/types.js.map +1 -0
  63. package/dist/core/errors.d.ts +31 -0
  64. package/dist/core/errors.d.ts.map +1 -0
  65. package/dist/core/errors.js +63 -0
  66. package/dist/core/errors.js.map +1 -0
  67. package/dist/core/index.d.ts +8 -0
  68. package/dist/core/index.d.ts.map +1 -0
  69. package/dist/core/index.js +5 -0
  70. package/dist/core/index.js.map +1 -0
  71. package/dist/core/internal/http-client.d.ts +40 -0
  72. package/dist/core/internal/http-client.d.ts.map +1 -0
  73. package/dist/core/internal/http-client.js +113 -0
  74. package/dist/core/internal/http-client.js.map +1 -0
  75. package/dist/core/types.d.ts +82 -0
  76. package/dist/core/types.d.ts.map +1 -0
  77. package/dist/core/types.js +13 -0
  78. package/dist/core/types.js.map +1 -0
  79. package/dist/index.d.ts +14 -0
  80. package/dist/index.d.ts.map +1 -0
  81. package/dist/index.js +7 -0
  82. package/dist/index.js.map +1 -0
  83. package/dist/modules/api/api.module.d.ts +21 -0
  84. package/dist/modules/api/api.module.d.ts.map +1 -0
  85. package/dist/modules/api/api.module.js +47 -0
  86. package/dist/modules/api/api.module.js.map +1 -0
  87. package/dist/modules/api/baas/activity/activity.service.d.ts +34 -0
  88. package/dist/modules/api/baas/activity/activity.service.d.ts.map +1 -0
  89. package/dist/modules/api/baas/activity/activity.service.js +61 -0
  90. package/dist/modules/api/baas/activity/activity.service.js.map +1 -0
  91. package/dist/modules/api/baas/activity/index.d.ts +3 -0
  92. package/dist/modules/api/baas/activity/index.d.ts.map +1 -0
  93. package/dist/modules/api/baas/activity/index.js +2 -0
  94. package/dist/modules/api/baas/activity/index.js.map +1 -0
  95. package/dist/modules/api/baas/activity/types.d.ts +166 -0
  96. package/dist/modules/api/baas/activity/types.d.ts.map +1 -0
  97. package/dist/modules/api/baas/activity/types.js +5 -0
  98. package/dist/modules/api/baas/activity/types.js.map +1 -0
  99. package/dist/modules/api/baas/baas.module.d.ts +41 -0
  100. package/dist/modules/api/baas/baas.module.d.ts.map +1 -0
  101. package/dist/modules/api/baas/baas.module.js +144 -0
  102. package/dist/modules/api/baas/baas.module.js.map +1 -0
  103. package/dist/modules/api/baas/bank/bank.service.d.ts +42 -0
  104. package/dist/modules/api/baas/bank/bank.service.d.ts.map +1 -0
  105. package/dist/modules/api/baas/bank/bank.service.js +75 -0
  106. package/dist/modules/api/baas/bank/bank.service.js.map +1 -0
  107. package/dist/modules/api/baas/bank/index.d.ts +3 -0
  108. package/dist/modules/api/baas/bank/index.d.ts.map +1 -0
  109. package/dist/modules/api/baas/bank/index.js +2 -0
  110. package/dist/modules/api/baas/bank/index.js.map +1 -0
  111. package/dist/modules/api/baas/bank/types.d.ts +116 -0
  112. package/dist/modules/api/baas/bank/types.d.ts.map +1 -0
  113. package/dist/modules/api/baas/bank/types.js +5 -0
  114. package/dist/modules/api/baas/bank/types.js.map +1 -0
  115. package/dist/modules/api/baas/cards/cards.service.d.ts +118 -0
  116. package/dist/modules/api/baas/cards/cards.service.d.ts.map +1 -0
  117. package/dist/modules/api/baas/cards/cards.service.js +254 -0
  118. package/dist/modules/api/baas/cards/cards.service.js.map +1 -0
  119. package/dist/modules/api/baas/cards/index.d.ts +3 -0
  120. package/dist/modules/api/baas/cards/index.d.ts.map +1 -0
  121. package/dist/modules/api/baas/cards/index.js +2 -0
  122. package/dist/modules/api/baas/cards/index.js.map +1 -0
  123. package/dist/modules/api/baas/cards/types.d.ts +249 -0
  124. package/dist/modules/api/baas/cards/types.d.ts.map +1 -0
  125. package/dist/modules/api/baas/cards/types.js +5 -0
  126. package/dist/modules/api/baas/cards/types.js.map +1 -0
  127. package/dist/modules/api/baas/config/config.service.d.ts +21 -0
  128. package/dist/modules/api/baas/config/config.service.d.ts.map +1 -0
  129. package/dist/modules/api/baas/config/config.service.js +22 -0
  130. package/dist/modules/api/baas/config/config.service.js.map +1 -0
  131. package/dist/modules/api/baas/config/index.d.ts +3 -0
  132. package/dist/modules/api/baas/config/index.d.ts.map +1 -0
  133. package/dist/modules/api/baas/config/index.js +2 -0
  134. package/dist/modules/api/baas/config/index.js.map +1 -0
  135. package/dist/modules/api/baas/config/types.d.ts +42 -0
  136. package/dist/modules/api/baas/config/types.d.ts.map +1 -0
  137. package/dist/modules/api/baas/config/types.js +2 -0
  138. package/dist/modules/api/baas/config/types.js.map +1 -0
  139. package/dist/modules/api/baas/confirmation/confirmation.service.d.ts +30 -0
  140. package/dist/modules/api/baas/confirmation/confirmation.service.d.ts.map +1 -0
  141. package/dist/modules/api/baas/confirmation/confirmation.service.js +39 -0
  142. package/dist/modules/api/baas/confirmation/confirmation.service.js.map +1 -0
  143. package/dist/modules/api/baas/confirmation/index.d.ts +3 -0
  144. package/dist/modules/api/baas/confirmation/index.d.ts.map +1 -0
  145. package/dist/modules/api/baas/confirmation/index.js +2 -0
  146. package/dist/modules/api/baas/confirmation/index.js.map +1 -0
  147. package/dist/modules/api/baas/confirmation/types.d.ts +30 -0
  148. package/dist/modules/api/baas/confirmation/types.d.ts.map +1 -0
  149. package/dist/modules/api/baas/confirmation/types.js +5 -0
  150. package/dist/modules/api/baas/confirmation/types.js.map +1 -0
  151. package/dist/modules/api/baas/index.d.ts +12 -0
  152. package/dist/modules/api/baas/index.d.ts.map +1 -0
  153. package/dist/modules/api/baas/index.js +12 -0
  154. package/dist/modules/api/baas/index.js.map +1 -0
  155. package/dist/modules/api/baas/rates/index.d.ts +3 -0
  156. package/dist/modules/api/baas/rates/index.d.ts.map +1 -0
  157. package/dist/modules/api/baas/rates/index.js +2 -0
  158. package/dist/modules/api/baas/rates/index.js.map +1 -0
  159. package/dist/modules/api/baas/rates/rates.service.d.ts +21 -0
  160. package/dist/modules/api/baas/rates/rates.service.d.ts.map +1 -0
  161. package/dist/modules/api/baas/rates/rates.service.js +25 -0
  162. package/dist/modules/api/baas/rates/rates.service.js.map +1 -0
  163. package/dist/modules/api/baas/rates/types.d.ts +12 -0
  164. package/dist/modules/api/baas/rates/types.d.ts.map +1 -0
  165. package/dist/modules/api/baas/rates/types.js +2 -0
  166. package/dist/modules/api/baas/rates/types.js.map +1 -0
  167. package/dist/modules/api/baas/recipients/index.d.ts +3 -0
  168. package/dist/modules/api/baas/recipients/index.d.ts.map +1 -0
  169. package/dist/modules/api/baas/recipients/index.js +2 -0
  170. package/dist/modules/api/baas/recipients/index.js.map +1 -0
  171. package/dist/modules/api/baas/recipients/recipients.service.d.ts +74 -0
  172. package/dist/modules/api/baas/recipients/recipients.service.d.ts.map +1 -0
  173. package/dist/modules/api/baas/recipients/recipients.service.js +190 -0
  174. package/dist/modules/api/baas/recipients/recipients.service.js.map +1 -0
  175. package/dist/modules/api/baas/recipients/types.d.ts +208 -0
  176. package/dist/modules/api/baas/recipients/types.d.ts.map +1 -0
  177. package/dist/modules/api/baas/recipients/types.js +5 -0
  178. package/dist/modules/api/baas/recipients/types.js.map +1 -0
  179. package/dist/modules/api/baas/token/index.d.ts +3 -0
  180. package/dist/modules/api/baas/token/index.d.ts.map +1 -0
  181. package/dist/modules/api/baas/token/index.js +2 -0
  182. package/dist/modules/api/baas/token/index.js.map +1 -0
  183. package/dist/modules/api/baas/token/token.service.d.ts +21 -0
  184. package/dist/modules/api/baas/token/token.service.d.ts.map +1 -0
  185. package/dist/modules/api/baas/token/token.service.js +22 -0
  186. package/dist/modules/api/baas/token/token.service.js.map +1 -0
  187. package/dist/modules/api/baas/token/types.d.ts +12 -0
  188. package/dist/modules/api/baas/token/types.d.ts.map +1 -0
  189. package/dist/modules/api/baas/token/types.js +2 -0
  190. package/dist/modules/api/baas/token/types.js.map +1 -0
  191. package/dist/modules/api/baas/user/index.d.ts +3 -0
  192. package/dist/modules/api/baas/user/index.d.ts.map +1 -0
  193. package/dist/modules/api/baas/user/index.js +2 -0
  194. package/dist/modules/api/baas/user/index.js.map +1 -0
  195. package/dist/modules/api/baas/user/types.d.ts +145 -0
  196. package/dist/modules/api/baas/user/types.d.ts.map +1 -0
  197. package/dist/modules/api/baas/user/types.js +5 -0
  198. package/dist/modules/api/baas/user/types.js.map +1 -0
  199. package/dist/modules/api/baas/user/user.service.d.ts +73 -0
  200. package/dist/modules/api/baas/user/user.service.d.ts.map +1 -0
  201. package/dist/modules/api/baas/user/user.service.js +140 -0
  202. package/dist/modules/api/baas/user/user.service.js.map +1 -0
  203. package/dist/modules/api/baas/wallet/index.d.ts +3 -0
  204. package/dist/modules/api/baas/wallet/index.d.ts.map +1 -0
  205. package/dist/modules/api/baas/wallet/index.js +2 -0
  206. package/dist/modules/api/baas/wallet/index.js.map +1 -0
  207. package/dist/modules/api/baas/wallet/types.d.ts +26 -0
  208. package/dist/modules/api/baas/wallet/types.d.ts.map +1 -0
  209. package/dist/modules/api/baas/wallet/types.js +5 -0
  210. package/dist/modules/api/baas/wallet/types.js.map +1 -0
  211. package/dist/modules/api/baas/wallet/wallet.service.d.ts +30 -0
  212. package/dist/modules/api/baas/wallet/wallet.service.d.ts.map +1 -0
  213. package/dist/modules/api/baas/wallet/wallet.service.js +43 -0
  214. package/dist/modules/api/baas/wallet/wallet.service.js.map +1 -0
  215. package/dist/modules/api/index.d.ts +7 -0
  216. package/dist/modules/api/index.d.ts.map +1 -0
  217. package/dist/modules/api/index.js +5 -0
  218. package/dist/modules/api/index.js.map +1 -0
  219. package/dist/modules/api/internal/endpoints/wallets.api.d.ts +8 -0
  220. package/dist/modules/api/internal/endpoints/wallets.api.d.ts.map +1 -0
  221. package/dist/modules/api/internal/endpoints/wallets.api.js +9 -0
  222. package/dist/modules/api/internal/endpoints/wallets.api.js.map +1 -0
  223. package/dist/modules/api/internal/endpoints/withdrawal.api.d.ts +8 -0
  224. package/dist/modules/api/internal/endpoints/withdrawal.api.d.ts.map +1 -0
  225. package/dist/modules/api/internal/endpoints/withdrawal.api.js +10 -0
  226. package/dist/modules/api/internal/endpoints/withdrawal.api.js.map +1 -0
  227. package/dist/modules/api/types/common.types.d.ts +19 -0
  228. package/dist/modules/api/types/common.types.d.ts.map +1 -0
  229. package/dist/modules/api/types/common.types.js +2 -0
  230. package/dist/modules/api/types/common.types.js.map +1 -0
  231. package/dist/modules/api/types/wallets.types.d.ts +12 -0
  232. package/dist/modules/api/types/wallets.types.d.ts.map +1 -0
  233. package/dist/modules/api/types/wallets.types.js +2 -0
  234. package/dist/modules/api/types/wallets.types.js.map +1 -0
  235. package/dist/modules/auth/auth.service.d.ts +32 -0
  236. package/dist/modules/auth/auth.service.d.ts.map +1 -0
  237. package/dist/modules/auth/auth.service.js +182 -0
  238. package/dist/modules/auth/auth.service.js.map +1 -0
  239. package/dist/modules/auth/index.d.ts +3 -0
  240. package/dist/modules/auth/index.d.ts.map +1 -0
  241. package/dist/modules/auth/index.js +2 -0
  242. package/dist/modules/auth/index.js.map +1 -0
  243. package/dist/modules/auth/types.d.ts +82 -0
  244. package/dist/modules/auth/types.d.ts.map +1 -0
  245. package/dist/modules/auth/types.js +2 -0
  246. package/dist/modules/auth/types.js.map +1 -0
  247. package/dist/modules/crypto/chains/base/account-abstraction.service.d.ts +28 -0
  248. package/dist/modules/crypto/chains/base/account-abstraction.service.d.ts.map +1 -0
  249. package/dist/modules/crypto/chains/base/account-abstraction.service.js +173 -0
  250. package/dist/modules/crypto/chains/base/account-abstraction.service.js.map +1 -0
  251. package/dist/modules/crypto/chains/base/account.contract.service.d.ts +26 -0
  252. package/dist/modules/crypto/chains/base/account.contract.service.d.ts.map +1 -0
  253. package/dist/modules/crypto/chains/base/account.contract.service.js +109 -0
  254. package/dist/modules/crypto/chains/base/account.contract.service.js.map +1 -0
  255. package/dist/modules/crypto/chains/base/crypto.service.d.ts +32 -0
  256. package/dist/modules/crypto/chains/base/crypto.service.d.ts.map +1 -0
  257. package/dist/modules/crypto/chains/base/crypto.service.js +211 -0
  258. package/dist/modules/crypto/chains/base/crypto.service.js.map +1 -0
  259. package/dist/modules/crypto/chains/base/index.d.ts +6 -0
  260. package/dist/modules/crypto/chains/base/index.d.ts.map +1 -0
  261. package/dist/modules/crypto/chains/base/index.js +54 -0
  262. package/dist/modules/crypto/chains/base/index.js.map +1 -0
  263. package/dist/modules/crypto/chains/base/wallet.service.d.ts +53 -0
  264. package/dist/modules/crypto/chains/base/wallet.service.d.ts.map +1 -0
  265. package/dist/modules/crypto/chains/base/wallet.service.js +142 -0
  266. package/dist/modules/crypto/chains/base/wallet.service.js.map +1 -0
  267. package/dist/modules/crypto/chains/base/yield.service.d.ts +38 -0
  268. package/dist/modules/crypto/chains/base/yield.service.d.ts.map +1 -0
  269. package/dist/modules/crypto/chains/base/yield.service.js +297 -0
  270. package/dist/modules/crypto/chains/base/yield.service.js.map +1 -0
  271. package/dist/modules/crypto/chains/index.d.ts +5 -0
  272. package/dist/modules/crypto/chains/index.d.ts.map +1 -0
  273. package/dist/modules/crypto/chains/index.js +3 -0
  274. package/dist/modules/crypto/chains/index.js.map +1 -0
  275. package/dist/modules/crypto/chains/registry.d.ts +11 -0
  276. package/dist/modules/crypto/chains/registry.d.ts.map +1 -0
  277. package/dist/modules/crypto/chains/registry.js +19 -0
  278. package/dist/modules/crypto/chains/registry.js.map +1 -0
  279. package/dist/modules/crypto/chains/types.d.ts +37 -0
  280. package/dist/modules/crypto/chains/types.d.ts.map +1 -0
  281. package/dist/modules/crypto/chains/types.js +2 -0
  282. package/dist/modules/crypto/chains/types.js.map +1 -0
  283. package/dist/modules/crypto/crypto.module.d.ts +40 -0
  284. package/dist/modules/crypto/crypto.module.d.ts.map +1 -0
  285. package/dist/modules/crypto/crypto.module.js +127 -0
  286. package/dist/modules/crypto/crypto.module.js.map +1 -0
  287. package/dist/modules/crypto/index.d.ts +9 -0
  288. package/dist/modules/crypto/index.d.ts.map +1 -0
  289. package/dist/modules/crypto/index.js +8 -0
  290. package/dist/modules/crypto/index.js.map +1 -0
  291. package/dist/modules/crypto/interfaces/account-abstraction.interface.d.ts +8 -0
  292. package/dist/modules/crypto/interfaces/account-abstraction.interface.d.ts.map +1 -0
  293. package/dist/modules/crypto/interfaces/account-abstraction.interface.js +2 -0
  294. package/dist/modules/crypto/interfaces/account-abstraction.interface.js.map +1 -0
  295. package/dist/modules/crypto/interfaces/account-contract.interface.d.ts +8 -0
  296. package/dist/modules/crypto/interfaces/account-contract.interface.d.ts.map +1 -0
  297. package/dist/modules/crypto/interfaces/account-contract.interface.js +2 -0
  298. package/dist/modules/crypto/interfaces/account-contract.interface.js.map +1 -0
  299. package/dist/modules/crypto/interfaces/crypto.interface.d.ts +50 -0
  300. package/dist/modules/crypto/interfaces/crypto.interface.d.ts.map +1 -0
  301. package/dist/modules/crypto/interfaces/crypto.interface.js +2 -0
  302. package/dist/modules/crypto/interfaces/crypto.interface.js.map +1 -0
  303. package/dist/modules/crypto/interfaces/index.d.ts +5 -0
  304. package/dist/modules/crypto/interfaces/index.d.ts.map +1 -0
  305. package/dist/modules/crypto/interfaces/index.js +2 -0
  306. package/dist/modules/crypto/interfaces/index.js.map +1 -0
  307. package/dist/modules/crypto/interfaces/yield.interface.d.ts +19 -0
  308. package/dist/modules/crypto/interfaces/yield.interface.d.ts.map +1 -0
  309. package/dist/modules/crypto/interfaces/yield.interface.js +2 -0
  310. package/dist/modules/crypto/interfaces/yield.interface.js.map +1 -0
  311. package/dist/modules/crypto/internal/contract-registry.service.d.ts +14 -0
  312. package/dist/modules/crypto/internal/contract-registry.service.d.ts.map +1 -0
  313. package/dist/modules/crypto/internal/contract-registry.service.js +76 -0
  314. package/dist/modules/crypto/internal/contract-registry.service.js.map +1 -0
  315. package/dist/modules/crypto/internal/smartDepositWallet.service.d.ts +39 -0
  316. package/dist/modules/crypto/internal/smartDepositWallet.service.d.ts.map +1 -0
  317. package/dist/modules/crypto/internal/smartDepositWallet.service.js +183 -0
  318. package/dist/modules/crypto/internal/smartDepositWallet.service.js.map +1 -0
  319. package/dist/modules/crypto/types.d.ts +47 -0
  320. package/dist/modules/crypto/types.d.ts.map +1 -0
  321. package/dist/modules/crypto/types.js +2 -0
  322. package/dist/modules/crypto/types.js.map +1 -0
  323. package/package.json +96 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account.contract.service.d.ts","sourceRoot":"","sources":["../../../../../src/modules/crypto/chains/base/account.contract.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4C,YAAY,EAAE,MAAM,MAAM,CAAC;AAC9E,OAAO,EAAE,qCAAqC,EAAE,MAAM,0BAA0B,CAAC;AAGjF,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAEhE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE7D,qBAAa,0BAA2B,YAAW,uBAAuB;IACxE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAe;IAC/C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;gBAElC,MAAM,EAAE;QAClB,eAAe,EAAE,YAAY,CAAC;QAC9B,aAAa,EAAE,cAAc,CAAC;QAC9B,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,iBAAiB,CAAC;KAC9B;IAQY,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC;IA+BtC,2BAA2B,IAAI,OAAO,CAAC,OAAO,CAAC;IAkC/C,kBAAkB,IAAI,OAAO,CAAC,qCAAqC,CAAC;IAqBpE,2BAA2B,IAAI,OAAO,CAAC,qCAAqC,CAAC;YAoB5E,oBAAoB;YAQpB,WAAW;CAO1B"}
@@ -0,0 +1,109 @@
1
+ import { decodeFunctionResult, encodeFunctionData } from 'viem';
2
+ import { accountsAbi, corporateAccountsAbi } from '../../../../abi';
3
+ export class BaseAccountContractService {
4
+ constructor(config) {
5
+ this.walletService = config.walletService;
6
+ this.logger = config.logger;
7
+ this.companyId = config.companyId;
8
+ this.publicRpcClient = config.publicRpcClient;
9
+ this.contracts = config.contracts;
10
+ }
11
+ async isWalletInAccounts() {
12
+ const mainWalletClient = await this.walletService.getMainWalletClient();
13
+ try {
14
+ const data = encodeFunctionData({
15
+ abi: accountsAbi,
16
+ functionName: 'getUserAccount',
17
+ args: [mainWalletClient?.address, this.companyId],
18
+ });
19
+ const result = await this.publicRpcClient.call({
20
+ to: this.contracts.accounts,
21
+ data: data,
22
+ });
23
+ const decodedResult = decodeFunctionResult({
24
+ abi: accountsAbi,
25
+ functionName: 'getUserAccount',
26
+ data: result.data,
27
+ });
28
+ return decodedResult && decodedResult.status !== 0;
29
+ }
30
+ catch (e) {
31
+ this.logger?.warn('Error checking wallet in accounts contract:', e);
32
+ return false;
33
+ }
34
+ }
35
+ async isWalletInCorporateAccounts() {
36
+ const smartWalletClient = await this.walletService.getSmartWalletClient();
37
+ try {
38
+ const data = encodeFunctionData({
39
+ abi: corporateAccountsAbi,
40
+ functionName: 'getCorporation',
41
+ args: [
42
+ this.companyId,
43
+ smartWalletClient.account?.address,
44
+ ],
45
+ });
46
+ const result = await this.publicRpcClient.call({
47
+ to: this.contracts.corporateAccounts,
48
+ data: data,
49
+ });
50
+ const decodedResult = decodeFunctionResult({
51
+ abi: corporateAccountsAbi,
52
+ functionName: 'getCorporation',
53
+ data: result.data,
54
+ });
55
+ return decodedResult && decodedResult.status !== 0;
56
+ }
57
+ catch (e) {
58
+ this.logger?.warn('Error checking wallet in corporate accounts contract:', e);
59
+ return false;
60
+ }
61
+ }
62
+ async registerInAccounts() {
63
+ const callData = await this.getCallData();
64
+ const smartWalletClient = await this.walletService.getSmartWalletClient();
65
+ const encodedCallData = await smartWalletClient.account.encodeCalls([
66
+ {
67
+ to: this.contracts.accounts,
68
+ value: BigInt(0),
69
+ data: callData,
70
+ },
71
+ ]);
72
+ const receipt = await this.walletService.sendUserOperationsAndWaitReceipt(encodedCallData);
73
+ if (!receipt) {
74
+ throw new Error('Unable to register in accounts contract');
75
+ }
76
+ return receipt;
77
+ }
78
+ async registerInCorporateAccounts() {
79
+ const callData = await this.getCorporateCallData();
80
+ const smartWalletClient = await this.walletService.getSmartWalletClient();
81
+ const encodedCallData = await smartWalletClient.account.encodeCalls([
82
+ {
83
+ to: this.contracts.corporateAccounts,
84
+ value: BigInt(0),
85
+ data: callData,
86
+ },
87
+ ]);
88
+ const receipt = await this.walletService.sendUserOperationsAndWaitReceipt(encodedCallData);
89
+ if (!receipt) {
90
+ throw new Error('Unable to register in corporate accounts contract');
91
+ }
92
+ return receipt;
93
+ }
94
+ async getCorporateCallData() {
95
+ return encodeFunctionData({
96
+ abi: corporateAccountsAbi,
97
+ functionName: 'createCorporation',
98
+ args: [this.companyId],
99
+ });
100
+ }
101
+ async getCallData() {
102
+ return encodeFunctionData({
103
+ abi: accountsAbi,
104
+ functionName: 'createUserAccountWithWallet',
105
+ args: [this.companyId],
106
+ });
107
+ }
108
+ }
109
+ //# sourceMappingURL=account.contract.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account.contract.service.js","sourceRoot":"","sources":["../../../../../src/modules/crypto/chains/base/account.contract.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAgB,MAAM,MAAM,CAAC;AAG9E,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAOpE,MAAM,OAAO,0BAA0B;IAOrC,YAAY,MAMX;QACC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAC1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;QAClC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IACpC,CAAC;IAEM,KAAK,CAAC,kBAAkB;QAC7B,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,EAAE,CAAC;QAExE,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,kBAAkB,CAAC;gBAC9B,GAAG,EAAE,WAAW;gBAChB,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,CAAC,gBAAgB,EAAE,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC;aAClD,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;gBAC7C,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ;gBAC3B,IAAI,EAAE,IAAI;aACX,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,oBAAoB,CAAC;gBACzC,GAAG,EAAE,WAAW;gBAChB,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,MAAM,CAAC,IAAK;aACnB,CAKA,CAAC;YACF,OAAO,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,6CAA6C,EAAE,CAAC,CAAC,CAAC;YACpE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,2BAA2B;QACtC,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAC;QAE1E,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,kBAAkB,CAAC;gBAC9B,GAAG,EAAE,oBAAoB;gBACzB,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE;oBACJ,IAAI,CAAC,SAA0B;oBAC/B,iBAAiB,CAAC,OAAO,EAAE,OAAwB;iBACpD;aACF,CAAC,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;gBAC7C,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAiB;gBACpC,IAAI,EAAE,IAAI;aACX,CAAC,CAAC;YAEH,MAAM,aAAa,GAAG,oBAAoB,CAAC;gBACzC,GAAG,EAAE,oBAAoB;gBACzB,YAAY,EAAE,gBAAgB;gBAC9B,IAAI,EAAE,MAAM,CAAC,IAAK;aACnB,CAKA,CAAC;YACF,OAAO,aAAa,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC;QACrD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,uDAAuD,EAAE,CAAC,CAAC,CAAC;YAC9E,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,kBAAkB;QAC7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAC;QAE1E,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,OAAQ,CAAC,WAAW,CAAC;YACnE;gBACE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,QAAyB;gBAC5C,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;gBAChB,IAAI,EAAE,QAAQ;aACf;SACF,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,gCAAgC,CAAC,eAAe,CAAC,CAAC;QAE3F,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,2BAA2B;QACtC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACnD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE,CAAC;QAC1E,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,OAAQ,CAAC,WAAW,CAAC;YACnE;gBACE,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,iBAAkC;gBACrD,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;gBAChB,IAAI,EAAE,QAAQ;aACf;SACF,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,gCAAgC,CAAC,eAAe,CAAC,CAAC;QAE3F,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,oBAAoB;QAChC,OAAO,kBAAkB,CAAC;YACxB,GAAG,EAAE,oBAAoB;YACzB,YAAY,EAAE,mBAAmB;YACjC,IAAI,EAAE,CAAC,IAAI,CAAC,SAA0B,CAAC;SACxC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,WAAW;QACvB,OAAO,kBAAkB,CAAC;YACxB,GAAG,EAAE,WAAW;YAChB,YAAY,EAAE,6BAA6B;YAC3C,IAAI,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC;SACvB,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -0,0 +1,32 @@
1
+ import { Hex } from 'viem';
2
+ import { IWalletService } from '../types';
3
+ import type { WithdrawalApi } from '../../../api';
4
+ import type { ICryptoService, Erc20TransferParams, SyntheticTransferParams, FullTransferParams, FullTransferResult, BatchTransferParams } from '../../interfaces';
5
+ import { ContractAddresses, Logger, TokenInfo } from '../../../../core';
6
+ export declare class BaseCryptoService implements ICryptoService {
7
+ private readonly walletService;
8
+ private readonly tokens;
9
+ private readonly contracts?;
10
+ private readonly logger?;
11
+ private readonly withdrawalApi?;
12
+ constructor(config: {
13
+ contracts: ContractAddresses;
14
+ walletService: IWalletService;
15
+ tokens: TokenInfo[];
16
+ logger?: Logger;
17
+ withdrawalApi?: WithdrawalApi;
18
+ });
19
+ makeErc20TransferFirstPart(params: Erc20TransferParams): Promise<Hex>;
20
+ makeErc20TransferFinal(withdrawalCallData: string): Promise<any>;
21
+ makeErc20TransferSynthetic(params: SyntheticTransferParams): Promise<Hex>;
22
+ makeFullErc20Transfer(params: FullTransferParams): Promise<FullTransferResult>;
23
+ private delay;
24
+ batchTransfer({ responses, tokenAddress }: BatchTransferParams): Promise<Hex[]>;
25
+ private getCustomNonceToFinishRequest;
26
+ private convertGuidToBytes16;
27
+ private ercTransferCall;
28
+ private operationRequestCall;
29
+ private generateUnwrapCallData;
30
+ private generateBatchTransferCallData;
31
+ }
32
+ //# sourceMappingURL=crypto.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.service.d.ts","sourceRoot":"","sources":["../../../../../src/modules/crypto/chains/base/crypto.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAgC,GAAG,EAA8B,MAAM,MAAM,CAAC;AAGrF,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EACV,cAAc,EACd,mBAAmB,EACnB,uBAAuB,EACvB,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACpB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAQxE,qBAAa,iBAAkB,YAAW,cAAc;IACtD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAiB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAgB;gBAEnC,MAAM,EAAE;QAClB,SAAS,EAAE,iBAAiB,CAAC;QAC7B,aAAa,EAAE,cAAc,CAAC;QAC9B,MAAM,EAAE,SAAS,EAAE,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,aAAa,CAAC;KAC/B;IAQY,0BAA0B,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,GAAG,CAAC;IA6CrE,sBAAsB,CAAC,kBAAkB,EAAE,MAAM;IAcjD,0BAA0B,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,GAAG,CAAC;IA6BzE,qBAAqB,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAoE3F,OAAO,CAAC,KAAK;IAIA,aAAa,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,EAAE,mBAAmB,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YA6C9E,6BAA6B;IAQ3C,OAAO,CAAC,oBAAoB;YAKd,eAAe;YAiBf,oBAAoB;YAsBpB,sBAAsB;YAatB,6BAA6B;CAoB5C"}
@@ -0,0 +1,211 @@
1
+ import { getCustomNonceKeyFromString } from '@zerodev/sdk';
2
+ import { encodeFunctionData, erc20Abi, keccak256, pad, parseUnits } from 'viem';
3
+ import { executionDelayPolicyAbi, fundsManagementAbi, syntheticAbi } from '../../../../abi';
4
+ import { AuthService } from '../../../auth';
5
+ export class BaseCryptoService {
6
+ constructor(config) {
7
+ this.walletService = config.walletService;
8
+ this.contracts = config.contracts;
9
+ this.logger = config.logger;
10
+ this.tokens = config.tokens;
11
+ this.withdrawalApi = config.withdrawalApi;
12
+ }
13
+ async makeErc20TransferFirstPart(params) {
14
+ const smartWalletClient = await this.walletService?.getSmartWalletClient();
15
+ const tokenData = this.tokens.find(token => token.address === params.tokenAddress);
16
+ if (!tokenData) {
17
+ throw new Error('Token not found in token registry. Please check token address');
18
+ }
19
+ const baseToken = this.tokens.find(token => token.address === tokenData?.baseToken?.address);
20
+ if (!baseToken) {
21
+ throw new Error('Base token not found in token registry. Please check token address');
22
+ }
23
+ const callDataArray = [];
24
+ const unwrapCallData = await this.generateUnwrapCallData(params.tokenAddress, parseUnits(String(params.amount), tokenData?.decimals ?? 18));
25
+ callDataArray.push(unwrapCallData);
26
+ const erc20TransferCallDetails = await this.ercTransferCall(baseToken?.address, params.recipientAddress, parseUnits(String(params.amount), baseToken?.decimals ?? 18));
27
+ callDataArray.push(erc20TransferCallDetails);
28
+ if (!smartWalletClient.account) {
29
+ throw new Error('Smart wallet client account is not available.');
30
+ }
31
+ const encodedExecutionCalls = await smartWalletClient.account.encodeCalls(callDataArray);
32
+ const requestCallData = await this.operationRequestCall(encodedExecutionCalls);
33
+ const requestCalls = await smartWalletClient.account.encodeCalls([requestCallData.call]);
34
+ const { receipt: executeReceipt } = await this.walletService.sendUserOperationsAndWaitReceipt(requestCalls);
35
+ if (executeReceipt.success === false) {
36
+ throw new Error('ERC20 Transfer Execution UserOperation failed');
37
+ }
38
+ return executeReceipt.transactionHash;
39
+ }
40
+ async makeErc20TransferFinal(withdrawalCallData) {
41
+ const callData = ('0x' + withdrawalCallData);
42
+ const nonce = await this.getCustomNonceToFinishRequest(callData);
43
+ const { receipt } = await this.walletService.sendUserOperationsWithNonceAndWaitReceipt(callData, nonce);
44
+ if (receipt.success === false) {
45
+ throw new Error('ERC20 Transfer Execution UserOperation failed');
46
+ }
47
+ return receipt.transactionHash;
48
+ }
49
+ async makeErc20TransferSynthetic(params) {
50
+ const smartWalletClient = await this.walletService.getSmartWalletClient();
51
+ const tokenData = this.tokens.find(token => token.address === params.tokenAddress);
52
+ if (!smartWalletClient.account) {
53
+ throw new Error('Smart wallet client account is not available.');
54
+ }
55
+ const erc20TransferCallDetails = await this.ercTransferCall(params.tokenAddress, params.recipientAddress, parseUnits(String(params.amount), tokenData?.decimals ?? 18));
56
+ const encodedExecutionCalls = await smartWalletClient.account.encodeCalls([
57
+ erc20TransferCallDetails,
58
+ ]);
59
+ const result = await this.walletService.sendUserOperationsAndWaitReceipt(encodedExecutionCalls);
60
+ if (result.receipt.success === false) {
61
+ throw new Error('ERC20 Transfer Execution UserOperation failed');
62
+ }
63
+ return new Promise(resolve => {
64
+ setTimeout(() => {
65
+ resolve(result.receipt.transactionHash);
66
+ }, 2000);
67
+ });
68
+ }
69
+ async makeFullErc20Transfer(params) {
70
+ if (!this.withdrawalApi) {
71
+ throw new Error('Withdrawal API is required for full ERC20 transfer');
72
+ }
73
+ const authService = AuthService.getInstance();
74
+ authService.ensureAuthenticated();
75
+ const firstPartTxHash = await this.makeErc20TransferFirstPart({
76
+ tokenAddress: params.tokenAddress,
77
+ recipientAddress: params.recipientAddress,
78
+ amount: params.amount,
79
+ });
80
+ this.logger?.info('First part of ERC20 transfer completed', { txHash: firstPartTxHash });
81
+ await this.delay(6000);
82
+ const withdrawalRequests = await this.withdrawalApi.getWithdrawalRequests();
83
+ if (!withdrawalRequests || withdrawalRequests.length === 0) {
84
+ throw new Error('No withdrawal requests found after first part of transfer');
85
+ }
86
+ const tokenData = this.tokens.find(token => token.address === params.tokenAddress);
87
+ if (!tokenData) {
88
+ throw new Error('Token not found in token registry');
89
+ }
90
+ const baseToken = this.tokens.find(token => token.address === tokenData.baseToken?.address);
91
+ if (!baseToken) {
92
+ throw new Error('Base token not found in token registry');
93
+ }
94
+ const withdrawalRequest = withdrawalRequests.find(req => req.to_address === params.recipientAddress &&
95
+ req.token_address === baseToken.address &&
96
+ req.amount === params.amount);
97
+ if (!withdrawalRequest) {
98
+ throw new Error('No pending withdrawal request found');
99
+ }
100
+ const now = new Date();
101
+ const validAfterDate = new Date(withdrawalRequest.valid_after);
102
+ if (validAfterDate > now) {
103
+ const waitTime = validAfterDate.getTime() - now.getTime();
104
+ this.logger?.info(`Waiting ${waitTime}ms until valid_after time`, {
105
+ validAfter: withdrawalRequest.valid_after,
106
+ now: now.toISOString(),
107
+ });
108
+ await this.delay(waitTime + 1000);
109
+ }
110
+ const finalReceipt = await this.makeErc20TransferFinal(withdrawalRequest.call_data);
111
+ this.logger?.info('Full ERC20 transfer completed successfully');
112
+ return {
113
+ firstPartTxHash,
114
+ finalTxHash: finalReceipt,
115
+ success: true,
116
+ };
117
+ }
118
+ delay(ms) {
119
+ return new Promise(resolve => setTimeout(resolve, ms));
120
+ }
121
+ async batchTransfer({ responses, tokenAddress }) {
122
+ const smartWalletClient = await this.walletService.getSmartWalletClient();
123
+ const transactionHashes = [];
124
+ for (const response of responses) {
125
+ const transactionIdBytes16 = this.convertGuidToBytes16(response.transaction_id);
126
+ const operationIdBytes16 = this.convertGuidToBytes16(response.operation_id);
127
+ const recipients = response.crypto_transfers.map(transfer => transfer.address);
128
+ const amounts = response.crypto_transfers.map(transfer => BigInt(transfer.precise_amount));
129
+ const callData = await this.generateBatchTransferCallData(transactionIdBytes16, operationIdBytes16, tokenAddress, recipients, amounts);
130
+ if (!smartWalletClient.account) {
131
+ throw new Error('Smart wallet client account is not available.');
132
+ }
133
+ const encodedCall = await smartWalletClient.account.encodeCalls([callData]);
134
+ const nonce = await this.getCustomNonceToFinishRequest(encodedCall);
135
+ const { receipt } = await this.walletService.sendUserOperationsWithNonceAndWaitReceipt(encodedCall, nonce);
136
+ if (!receipt.transactionHash) {
137
+ throw new Error(`Bulk transfer execution failed for transaction ${response.transaction_id}`);
138
+ }
139
+ transactionHashes.push(receipt.transactionHash);
140
+ }
141
+ return transactionHashes;
142
+ }
143
+ async getCustomNonceToFinishRequest(callData) {
144
+ const smartWalletClient = await this.walletService.getSmartWalletClient();
145
+ const nonceKey = keccak256(callData);
146
+ const customNonce = getCustomNonceKeyFromString(nonceKey, '0.7');
147
+ return await smartWalletClient.account.getNonce({ key: customNonce });
148
+ }
149
+ convertGuidToBytes16(guid) {
150
+ const guidHex = `0x${guid.replace(/-/g, '')}`;
151
+ return pad(guidHex, { size: 16 });
152
+ }
153
+ async ercTransferCall(token, recipientAddress, amount) {
154
+ const callData = encodeFunctionData({
155
+ abi: erc20Abi,
156
+ functionName: 'transfer',
157
+ args: [recipientAddress, amount],
158
+ });
159
+ return {
160
+ to: token,
161
+ value: BigInt(0),
162
+ data: callData,
163
+ };
164
+ }
165
+ async operationRequestCall(callData) {
166
+ const smartWalletClient = await this.walletService.getSmartWalletClient();
167
+ const executionDelayPolicyContract = this.contracts?.executionDelayPolicy;
168
+ const nonceKey = keccak256(callData);
169
+ const customNonce = getCustomNonceKeyFromString(nonceKey, '0.7');
170
+ const nonce = await smartWalletClient.account.getNonce({ key: customNonce });
171
+ const requestCallData = encodeFunctionData({
172
+ abi: executionDelayPolicyAbi,
173
+ functionName: 'request',
174
+ args: [smartWalletClient.account?.address, nonce, callData],
175
+ });
176
+ return {
177
+ call: {
178
+ to: executionDelayPolicyContract,
179
+ value: BigInt(0),
180
+ data: requestCallData,
181
+ },
182
+ hasCustomNonce: true,
183
+ };
184
+ }
185
+ async generateUnwrapCallData(token, amount) {
186
+ const callData = encodeFunctionData({
187
+ abi: syntheticAbi,
188
+ functionName: 'withdraw',
189
+ args: [amount],
190
+ });
191
+ return {
192
+ to: token,
193
+ value: 0n,
194
+ data: callData,
195
+ };
196
+ }
197
+ async generateBatchTransferCallData(transactionId, operationId, tokenAddress, recipients, amounts) {
198
+ const fundsManagementContract = this.contracts?.fundsManagement;
199
+ const callData = encodeFunctionData({
200
+ abi: fundsManagementAbi,
201
+ functionName: 'executeOutgoingBatchTransaction',
202
+ args: [transactionId, operationId, tokenAddress, recipients, amounts],
203
+ });
204
+ return {
205
+ to: fundsManagementContract,
206
+ value: BigInt(0),
207
+ data: callData,
208
+ };
209
+ }
210
+ }
211
+ //# sourceMappingURL=crypto.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto.service.js","sourceRoot":"","sources":["../../../../../src/modules/crypto/chains/base/crypto.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ export { BaseWalletService } from './wallet.service';
2
+ export { BaseAccountAbstractionService } from './account-abstraction.service';
3
+ export { BaseCryptoService } from './crypto.service';
4
+ export { BaseYieldService } from './yield.service';
5
+ export { BaseAccountContractService } from './account.contract.service';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/modules/crypto/chains/base/index.ts"],"names":[],"mappings":"AAkEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,54 @@
1
+ import { chainRegistry } from '../registry';
2
+ import { BaseAccountAbstractionService } from './account-abstraction.service';
3
+ import { BaseAccountContractService } from './account.contract.service';
4
+ import { BaseCryptoService } from './crypto.service';
5
+ import { BaseWalletService } from './wallet.service';
6
+ import { BaseYieldService } from './yield.service';
7
+ const baseFactory = {
8
+ createWalletService(config) {
9
+ return new BaseWalletService(config);
10
+ },
11
+ createAccountAbstractionService(config, walletService) {
12
+ return new BaseAccountAbstractionService({
13
+ publicRpcClient: config.publicClient,
14
+ kernelPublicClient: config.kernelPublicClient,
15
+ contracts: config.contracts,
16
+ walletService: walletService,
17
+ logger: config.logger,
18
+ });
19
+ },
20
+ createCryptoService(config, walletService, tokens) {
21
+ return new BaseCryptoService({
22
+ contracts: config.contracts,
23
+ walletService,
24
+ tokens,
25
+ logger: config.logger,
26
+ withdrawalApi: config.withdrawalApi,
27
+ });
28
+ },
29
+ createYieldService(config, walletService, tokens) {
30
+ return new BaseYieldService({
31
+ publicClient: config.publicClient,
32
+ walletService,
33
+ contracts: config.contracts,
34
+ tokens,
35
+ });
36
+ },
37
+ createAccountContractService(config, walletService) {
38
+ return new BaseAccountContractService({
39
+ publicRpcClient: config.publicClient,
40
+ walletService,
41
+ companyId: config.companyId || '',
42
+ logger: config.logger,
43
+ contracts: config.contracts,
44
+ });
45
+ },
46
+ };
47
+ chainRegistry.register(8453, baseFactory);
48
+ chainRegistry.register(84532, baseFactory);
49
+ export { BaseWalletService } from './wallet.service';
50
+ export { BaseAccountAbstractionService } from './account-abstraction.service';
51
+ export { BaseCryptoService } from './crypto.service';
52
+ export { BaseYieldService } from './yield.service';
53
+ export { BaseAccountContractService } from './account.contract.service';
54
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/modules/crypto/chains/base/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAKnD,MAAM,WAAW,GAAyB;IACxC,mBAAmB,CAAC,MAA0B;QAC5C,OAAO,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,+BAA+B,CAAC,MAA0B,EAAE,aAA6B;QACvF,OAAO,IAAI,6BAA6B,CAAC;YACvC,eAAe,EAAE,MAAM,CAAC,YAAY;YACpC,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,aAAa,EAAE,aAAkC;YACjD,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB,CACjB,MAA0B,EAC1B,aAA6B,EAC7B,MAAmB;QAEnB,OAAO,IAAI,iBAAiB,CAAC;YAC3B,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,aAAa;YACb,MAAM;YACN,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,aAAa,EAAE,MAAM,CAAC,aAAa;SACpC,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB,CAChB,MAA0B,EAC1B,aAA6B,EAC7B,MAAmB;QAEnB,OAAO,IAAI,gBAAgB,CAAC;YAC1B,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,aAAa;YACb,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED,4BAA4B,CAAC,MAA0B,EAAE,aAA6B;QACpF,OAAO,IAAI,0BAA0B,CAAC;YACpC,eAAe,EAAE,MAAM,CAAC,YAAY;YACpC,aAAa;YACb,SAAS,EAAE,MAAM,CAAC,SAAS,IAAI,EAAE;YACjC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC,CAAC;IACL,CAAC;CACF,CAAC;AAEF,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAC1C,aAAa,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,6BAA6B,EAAE,MAAM,+BAA+B,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC"}
@@ -0,0 +1,53 @@
1
+ import { KernelAccountClient } from '@zerodev/sdk';
2
+ import { WalletClient } from 'viem';
3
+ import type { ChainServiceConfig, IWalletService } from '../types';
4
+ import type { MainWalletClient } from '../../../../core';
5
+ export declare class BaseWalletService implements IWalletService {
6
+ private readonly kernelPaymasterClient;
7
+ private readonly kernelPublicClient;
8
+ private readonly bundlerTransport;
9
+ private readonly contracts;
10
+ private readonly chain;
11
+ private readonly logger?;
12
+ private readonly _getMainWalletClient;
13
+ private smartAccountSigner?;
14
+ private smartAddress?;
15
+ private smartWalletClient?;
16
+ constructor(config: ChainServiceConfig);
17
+ getSmartWalletClientWithoutPolicy(): Promise<KernelAccountClient>;
18
+ getSmartWalletClient(): Promise<KernelAccountClient>;
19
+ getSmartWalletAddress(): Promise<`0x${string}`>;
20
+ getMainWalletClient(): Promise<MainWalletClient>;
21
+ getSmartAccountSigner(): Promise<WalletClient>;
22
+ sendUserOperationsAndWaitReceipt(callData: any, smartWalletClient?: KernelAccountClient): Promise<{
23
+ actualGasCost: bigint;
24
+ actualGasUsed: bigint;
25
+ entryPoint: import("abitype").Address;
26
+ logs: import("viem").Log<bigint, number, false>[];
27
+ nonce: bigint;
28
+ paymaster?: `0x${string}` | undefined;
29
+ reason?: string | undefined | undefined;
30
+ receipt: import("viem").TransactionReceipt<bigint, number, "success" | "reverted">;
31
+ sender: import("abitype").Address;
32
+ success: boolean;
33
+ userOpHash: import("viem").Hash;
34
+ }>;
35
+ sendUserOperationsWithNonceAndWaitReceipt(callData: any, nonce: bigint): Promise<{
36
+ actualGasCost: bigint;
37
+ actualGasUsed: bigint;
38
+ entryPoint: import("abitype").Address;
39
+ logs: import("viem").Log<bigint, number, false>[];
40
+ nonce: bigint;
41
+ paymaster?: `0x${string}` | undefined;
42
+ reason?: string | undefined | undefined;
43
+ receipt: import("viem").TransactionReceipt<bigint, number, "success" | "reverted">;
44
+ sender: import("abitype").Address;
45
+ success: boolean;
46
+ userOpHash: import("viem").Hash;
47
+ }>;
48
+ invalidateLocalCache(): void;
49
+ private createSimpleValidator;
50
+ private createKernelClient;
51
+ private createExecutionDelayValidator;
52
+ }
53
+ //# sourceMappingURL=wallet.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wallet.service.d.ts","sourceRoot":"","sources":["../../../../../src/modules/crypto/chains/base/wallet.service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkD,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGnG,OAAO,EAA6C,YAAY,EAAE,MAAM,MAAM,CAAC;AAE/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AACnE,OAAO,KAAK,EAAoC,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE3F,qBAAa,iBAAkB,YAAW,cAAc;IACtD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAM;IAC5C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAM;IACzC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkC;IACnE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoB;IAC9C,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAqD;IAC1F,OAAO,CAAC,kBAAkB,CAAC,CAAe;IAC1C,OAAO,CAAC,YAAY,CAAC,CAAgB;IACrC,OAAO,CAAC,iBAAiB,CAAC,CAAsB;gBAEpC,MAAM,EAAE,kBAAkB;IAUhC,iCAAiC,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAiBjE,oBAAoB,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAUpD,qBAAqB,IAAI,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC;IAe/C,mBAAmB,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAIhD,qBAAqB,IAAI,OAAO,CAAC,YAAY,CAAC;IAoBvC,gCAAgC,CAC3C,QAAQ,EAAE,GAAG,EACb,iBAAiB,CAAC,EAAE,mBAAmB;;;;;;;;;;;;;IAqB5B,yCAAyC,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM;;;;;;;;;;;;;IAS5E,oBAAoB,IAAI,IAAI;YAMrB,qBAAqB;YAQrB,kBAAkB;YA2BlB,6BAA6B;CAc5C"}