@hinkal/common 0.2.21 → 0.2.23

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 (603) hide show
  1. package/API/API.cjs +1 -1
  2. package/API/API.d.ts +14 -14
  3. package/API/API.mjs +88 -87
  4. package/API/admin-calls.cjs +1 -1
  5. package/API/admin-calls.d.ts +1 -1
  6. package/API/admin-calls.mjs +4 -4
  7. package/API/ai-calls.cjs +1 -0
  8. package/API/ai-calls.d.ts +17 -0
  9. package/API/ai-calls.mjs +21 -0
  10. package/API/callLifiAPI.cjs +1 -1
  11. package/API/callLifiAPI.d.ts +1 -1
  12. package/API/callLifiAPI.mjs +5 -5
  13. package/API/callMonitor.cjs +1 -1
  14. package/API/callMonitor.d.ts +1 -1
  15. package/API/callMonitor.mjs +7 -7
  16. package/API/callOdosAPI.cjs +1 -1
  17. package/API/callOdosAPI.mjs +11 -11
  18. package/API/callOkxAPI.cjs +1 -1
  19. package/API/callOkxAPI.d.ts +1 -1
  20. package/API/callOkxAPI.mjs +5 -5
  21. package/API/callOneInchAPI.cjs +1 -1
  22. package/API/callOneInchAPI.mjs +11 -10
  23. package/API/callRelayer.cjs +1 -1
  24. package/API/callRelayer.d.ts +5 -6
  25. package/API/callRelayer.mjs +11 -11
  26. package/API/checkRisk.cjs +1 -1
  27. package/API/checkRisk.d.ts +1 -1
  28. package/API/checkRisk.mjs +4 -4
  29. package/API/deposit-and-withdraw-status-calls.cjs +1 -0
  30. package/API/deposit-and-withdraw-status-calls.d.ts +20 -0
  31. package/API/deposit-and-withdraw-status-calls.mjs +18 -0
  32. package/API/duneAPI.cjs +1 -0
  33. package/API/duneAPI.d.ts +11 -0
  34. package/API/duneAPI.mjs +25 -0
  35. package/API/enclaveCalls.cjs +1 -1
  36. package/API/enclaveCalls.mjs +4 -5
  37. package/API/fetchCommitmentsCache.cjs +1 -1
  38. package/API/fetchCommitmentsCache.mjs +9 -9
  39. package/API/get-token-data.cjs +1 -1
  40. package/API/get-token-data.d.ts +1 -1
  41. package/API/get-token-data.mjs +5 -5
  42. package/API/getBridgeProtocols.cjs +1 -0
  43. package/API/getBridgeProtocols.d.ts +7 -0
  44. package/API/getBridgeProtocols.mjs +8 -0
  45. package/API/getGasEstimates.cjs +1 -1
  46. package/API/getGasEstimates.mjs +9 -9
  47. package/API/getLifiStatus.cjs +1 -0
  48. package/API/getLifiStatus.d.ts +24 -0
  49. package/API/getLifiStatus.mjs +15 -0
  50. package/API/getRelayerURL.cjs +1 -0
  51. package/API/getRelayerURL.d.ts +1 -0
  52. package/API/getRelayerURL.mjs +10 -0
  53. package/API/getServerURL.cjs +1 -1
  54. package/API/getServerURL.d.ts +3 -3
  55. package/API/getServerURL.mjs +67 -51
  56. package/API/getTokenPrice.cjs +1 -1
  57. package/API/getTokenPrice.d.ts +0 -5
  58. package/API/getTokenPrice.mjs +7 -14
  59. package/API/index.d.ts +3 -1
  60. package/API/is-tx-stateless.cjs +1 -1
  61. package/API/is-tx-stateless.d.ts +1 -1
  62. package/API/is-tx-stateless.mjs +12 -10
  63. package/API/kycCalls.cjs +1 -1
  64. package/API/kycCalls.d.ts +8 -4
  65. package/API/kycCalls.mjs +26 -23
  66. package/API/passwordCalls.cjs +1 -0
  67. package/API/passwordCalls.d.ts +9 -0
  68. package/API/passwordCalls.mjs +13 -0
  69. package/API/proxyAccountsCalls.cjs +1 -1
  70. package/API/proxyAccountsCalls.d.ts +2 -7
  71. package/API/proxyAccountsCalls.mjs +21 -27
  72. package/API/relayCalls.cjs +1 -1
  73. package/API/relayCalls.mjs +4 -4
  74. package/API/restoreSnapshots.cjs +1 -0
  75. package/API/restoreSnapshots.d.ts +1 -0
  76. package/API/restoreSnapshots.mjs +10 -0
  77. package/API/scheduled-transactions-calls.cjs +1 -1
  78. package/API/scheduled-transactions-calls.d.ts +9 -1
  79. package/API/scheduled-transactions-calls.mjs +9 -5
  80. package/API/simulate-batch-tx.cjs +1 -1
  81. package/API/simulate-batch-tx.d.ts +2 -2
  82. package/API/simulate-batch-tx.mjs +6 -7
  83. package/API/solana-calls.cjs +1 -1
  84. package/API/solana-calls.d.ts +3 -6
  85. package/API/solana-calls.mjs +15 -15
  86. package/API/temporaryWalletCalls.cjs +1 -1
  87. package/API/temporaryWalletCalls.mjs +19 -13
  88. package/API/token-calls.cjs +1 -1
  89. package/API/token-calls.mjs +5 -6
  90. package/README.md +64 -256
  91. package/constants/activity.constants.cjs +1 -1
  92. package/constants/activity.constants.mjs +0 -1
  93. package/constants/addresses.constants.cjs +1 -1
  94. package/constants/addresses.constants.mjs +9 -10
  95. package/constants/chains.constants.cjs +1 -1
  96. package/constants/chains.constants.d.ts +6 -0
  97. package/constants/chains.constants.mjs +52 -58
  98. package/constants/coingecko.constants.cjs +1 -1
  99. package/constants/coingecko.constants.d.ts +0 -1
  100. package/constants/coingecko.constants.mjs +10 -11
  101. package/constants/contracts.constants.cjs +1 -1
  102. package/constants/contracts.constants.d.ts +3 -3
  103. package/constants/contracts.constants.mjs +29 -29
  104. package/constants/deploy-data/deploy-data-solana.json.cjs +1 -1
  105. package/constants/deploy-data/deploy-data-solana.json.mjs +2 -28
  106. package/constants/function-signatures.constants.cjs +1 -1
  107. package/constants/function-signatures.constants.d.ts +1 -0
  108. package/constants/function-signatures.constants.mjs +4 -3
  109. package/constants/kyc.constants.cjs +1 -1
  110. package/constants/kyc.constants.mjs +40 -39
  111. package/constants/mediaUrls.constants.cjs +1 -1
  112. package/constants/mediaUrls.constants.d.ts +0 -1
  113. package/constants/mediaUrls.constants.mjs +1 -2
  114. package/constants/permit2.constants.cjs +1 -1
  115. package/constants/permit2.constants.d.ts +1 -0
  116. package/constants/permit2.constants.mjs +11 -10
  117. package/constants/server.constants.cjs +1 -1
  118. package/constants/server.constants.d.ts +123 -19
  119. package/constants/server.constants.mjs +138 -35
  120. package/constants/tasks.constants.cjs +1 -1
  121. package/constants/tasks.constants.mjs +4 -5
  122. package/constants/vite.constants.cjs +1 -1
  123. package/constants/vite.constants.mjs +13 -36
  124. package/crypto/poseidon.cjs +1 -1
  125. package/crypto/poseidon.mjs +10 -10
  126. package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.cjs +1 -1
  127. package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.mjs +86 -83
  128. package/data-structures/Hinkal/Hinkal.cjs +1 -1
  129. package/data-structures/Hinkal/Hinkal.d.ts +56 -45
  130. package/data-structures/Hinkal/Hinkal.mjs +348 -315
  131. package/data-structures/Hinkal/IHinkal.d.ts +56 -42
  132. package/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
  133. package/data-structures/Hinkal/handleAutoDepositBack.d.ts +1 -1
  134. package/data-structures/Hinkal/handleAutoDepositBack.mjs +49 -48
  135. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.cjs +1 -0
  136. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.d.ts +7 -0
  137. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.mjs +42 -0
  138. package/data-structures/Hinkal/hinkalActionReceive.cjs +1 -1
  139. package/data-structures/Hinkal/hinkalActionReceive.mjs +24 -29
  140. package/data-structures/Hinkal/hinkalApprove.cjs +1 -0
  141. package/data-structures/Hinkal/hinkalApprove.d.ts +3 -0
  142. package/data-structures/Hinkal/hinkalApprove.mjs +114 -0
  143. package/data-structures/Hinkal/hinkalCheckTokenRegistry.cjs +1 -1
  144. package/data-structures/Hinkal/hinkalCheckTokenRegistry.mjs +19 -20
  145. package/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
  146. package/data-structures/Hinkal/hinkalDeposit.mjs +84 -89
  147. package/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
  148. package/data-structures/Hinkal/hinkalDepositAndWithdraw.d.ts +1 -1
  149. package/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +96 -78
  150. package/data-structures/Hinkal/hinkalDepositOnChainUtxos.cjs +1 -1
  151. package/data-structures/Hinkal/hinkalDepositOnChainUtxos.d.ts +4 -1
  152. package/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +79 -75
  153. package/data-structures/Hinkal/hinkalDepostAndBridge.cjs +1 -1
  154. package/data-structures/Hinkal/hinkalDepostAndBridge.d.ts +1 -1
  155. package/data-structures/Hinkal/hinkalDepostAndBridge.mjs +151 -140
  156. package/data-structures/Hinkal/hinkalGetZkMeProvider.cjs +1 -1
  157. package/data-structures/Hinkal/hinkalGetZkMeProvider.mjs +5 -4
  158. package/data-structures/Hinkal/hinkalInsideTransact.cjs +1 -0
  159. package/data-structures/Hinkal/hinkalInsideTransact.d.ts +4 -0
  160. package/data-structures/Hinkal/hinkalInsideTransact.mjs +120 -0
  161. package/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
  162. package/data-structures/Hinkal/hinkalPrivateWallet.d.ts +2 -2
  163. package/data-structures/Hinkal/hinkalPrivateWallet.mjs +118 -115
  164. package/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
  165. package/data-structures/Hinkal/hinkalProoflessDeposit.mjs +29 -30
  166. package/data-structures/Hinkal/hinkalProxySwap.cjs +1 -1
  167. package/data-structures/Hinkal/hinkalProxySwap.mjs +36 -40
  168. package/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -1
  169. package/data-structures/Hinkal/hinkalProxyToPrivate.mjs +32 -37
  170. package/data-structures/Hinkal/hinkalSignSubAccount.cjs +1 -1
  171. package/data-structures/Hinkal/hinkalSignSubAccount.d.ts +2 -1
  172. package/data-structures/Hinkal/hinkalSignSubAccount.mjs +15 -17
  173. package/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
  174. package/data-structures/Hinkal/hinkalSolanaDeposit.d.ts +3 -4
  175. package/data-structures/Hinkal/hinkalSolanaDeposit.mjs +95 -84
  176. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  177. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +1 -2
  178. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +180 -154
  179. package/data-structures/Hinkal/hinkalSolanaProxySend.cjs +1 -1
  180. package/data-structures/Hinkal/hinkalSolanaProxySend.d.ts +3 -2
  181. package/data-structures/Hinkal/hinkalSolanaProxySend.mjs +40 -43
  182. package/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -1
  183. package/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +67 -71
  184. package/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
  185. package/data-structures/Hinkal/hinkalSolanaProxySwap.d.ts +1 -1
  186. package/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +59 -63
  187. package/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
  188. package/data-structures/Hinkal/hinkalSolanaSwap.mjs +46 -50
  189. package/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
  190. package/data-structures/Hinkal/hinkalSolanaTransfer.mjs +50 -52
  191. package/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
  192. package/data-structures/Hinkal/hinkalSolanaWithdraw.d.ts +1 -2
  193. package/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +65 -69
  194. package/data-structures/Hinkal/hinkalSwap.cjs +1 -1
  195. package/data-structures/Hinkal/hinkalSwap.mjs +77 -71
  196. package/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
  197. package/data-structures/Hinkal/hinkalTransfer.mjs +70 -72
  198. package/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
  199. package/data-structures/Hinkal/hinkalWithdraw.mjs +78 -81
  200. package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
  201. package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +103 -106
  202. package/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
  203. package/data-structures/Hinkal/resetMerkleTrees.d.ts +1 -1
  204. package/data-structures/Hinkal/resetMerkleTrees.mjs +54 -108
  205. package/data-structures/IndexedDB/activity-db.cjs +1 -1
  206. package/data-structures/IndexedDB/activity-db.d.ts +0 -1
  207. package/data-structures/IndexedDB/activity-db.mjs +79 -97
  208. package/data-structures/IndexedDB/balances-db.cjs +1 -1
  209. package/data-structures/IndexedDB/balances-db.mjs +39 -43
  210. package/data-structures/IndexedDB/contact-db.cjs +1 -1
  211. package/data-structures/IndexedDB/contact-db.mjs +31 -36
  212. package/data-structures/IndexedDB/signatures-db.cjs +1 -1
  213. package/data-structures/IndexedDB/signatures-db.mjs +40 -26
  214. package/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
  215. package/data-structures/TokenDBs/EventsPublicTokensDB.mjs +82 -82
  216. package/data-structures/TokenDBs/token-visibility-db.cjs +1 -1
  217. package/data-structures/TokenDBs/token-visibility-db.mjs +36 -22
  218. package/data-structures/crypto-keys/decodeUTXO.cjs +1 -1
  219. package/data-structures/crypto-keys/decodeUTXO.mjs +45 -45
  220. package/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -1
  221. package/data-structures/crypto-keys/encryptDecryptUtxo.mjs +28 -27
  222. package/data-structures/crypto-keys/keys.cjs +1 -1
  223. package/data-structures/crypto-keys/keys.d.ts +10 -0
  224. package/data-structures/crypto-keys/keys.mjs +106 -47
  225. package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.cjs +1 -1
  226. package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.d.ts +2 -3
  227. package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.mjs +9 -9
  228. package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.cjs +1 -1
  229. package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.d.ts +2 -3
  230. package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.mjs +5 -5
  231. package/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.cjs +1 -1
  232. package/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.d.ts +2 -3
  233. package/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.mjs +6 -6
  234. package/data-structures/event-service/evm/AbstractEventService.cjs +1 -1
  235. package/data-structures/event-service/evm/AbstractEventService.d.ts +2 -4
  236. package/data-structures/event-service/evm/AbstractEventService.mjs +13 -13
  237. package/data-structures/event-service/evm/AbstractNullifierSnapshotService.cjs +1 -1
  238. package/data-structures/event-service/evm/AbstractNullifierSnapshotService.d.ts +2 -3
  239. package/data-structures/event-service/evm/AbstractNullifierSnapshotService.mjs +3 -3
  240. package/data-structures/event-service/evm/AbstractSnapshotService.cjs +1 -1
  241. package/data-structures/event-service/evm/AbstractSnapshotService.d.ts +2 -1
  242. package/data-structures/event-service/evm/AbstractSnapshotService.mjs +6 -2
  243. package/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
  244. package/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +5 -10
  245. package/data-structures/event-service/evm/BlockchainEventEmitter.mjs +40 -40
  246. package/data-structures/event-service/index.d.ts +0 -4
  247. package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.cjs +1 -1
  248. package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.d.ts +2 -3
  249. package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.mjs +6 -6
  250. package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.cjs +1 -1
  251. package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.d.ts +3 -4
  252. package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.mjs +8 -8
  253. package/data-structures/event-service/solana/AbstractSolanaEventService.cjs +1 -1
  254. package/data-structures/event-service/solana/AbstractSolanaEventService.d.ts +10 -4
  255. package/data-structures/event-service/solana/AbstractSolanaEventService.mjs +7 -10
  256. package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.cjs +1 -1
  257. package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.d.ts +2 -3
  258. package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.mjs +2 -2
  259. package/data-structures/event-service/solana/AbstractSolanaSnapshotService.cjs +1 -1
  260. package/data-structures/event-service/solana/AbstractSolanaSnapshotService.d.ts +2 -1
  261. package/data-structures/event-service/solana/AbstractSolanaSnapshotService.mjs +2 -1
  262. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.cjs +1 -1
  263. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.d.ts +16 -11
  264. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.mjs +66 -64
  265. package/data-structures/index.d.ts +0 -3
  266. package/data-structures/presale/PresaleContractWrapper.cjs +1 -1
  267. package/data-structures/presale/PresaleContractWrapper.d.ts +3 -3
  268. package/data-structures/presale/PresaleContractWrapper.mjs +10 -10
  269. package/data-structures/provider-adapter/IProviderAdapter.d.ts +16 -11
  270. package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.cjs +1 -1
  271. package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.mjs +18 -18
  272. package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.cjs +1 -1
  273. package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.mjs +9 -9
  274. package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.cjs +1 -1
  275. package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.mjs +4 -6
  276. package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.cjs +1 -1
  277. package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.mjs +4 -6
  278. package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.cjs +1 -1
  279. package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.mjs +4 -6
  280. package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.cjs +1 -1
  281. package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.mjs +4 -5
  282. package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.cjs +1 -1
  283. package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.mjs +4 -6
  284. package/error-handling/error-codes.constants.cjs +1 -1
  285. package/error-handling/error-codes.constants.d.ts +0 -1
  286. package/error-handling/error-codes.constants.mjs +3 -4
  287. package/error-handling/get-error.message.cjs +1 -1
  288. package/error-handling/get-error.message.mjs +27 -22
  289. package/error-handling/handleErrorRestore.cjs +1 -0
  290. package/error-handling/handleErrorRestore.d.ts +2 -0
  291. package/error-handling/handleErrorRestore.mjs +11 -0
  292. package/error-handling/index.d.ts +1 -0
  293. package/functions/kyc/authentoHelper.cjs +1 -0
  294. package/functions/kyc/authentoHelper.d.ts +12 -0
  295. package/functions/kyc/authentoHelper.mjs +30 -0
  296. package/functions/kyc/zkMeHelper.cjs +1 -1
  297. package/functions/kyc/zkMeHelper.mjs +16 -17
  298. package/functions/pre-transaction/constructAdminData.cjs +1 -1
  299. package/functions/pre-transaction/constructAdminData.d.ts +2 -2
  300. package/functions/pre-transaction/constructAdminData.mjs +18 -12
  301. package/functions/pre-transaction/getExternalSwapAddress.cjs +1 -1
  302. package/functions/pre-transaction/getExternalSwapAddress.d.ts +2 -1
  303. package/functions/pre-transaction/getExternalSwapAddress.mjs +8 -8
  304. package/functions/pre-transaction/getFlatFees.cjs +1 -1
  305. package/functions/pre-transaction/getFlatFees.mjs +2 -3
  306. package/functions/pre-transaction/getSolanaCalldataHash.cjs +1 -1
  307. package/functions/pre-transaction/getSolanaCalldataHash.mjs +21 -21
  308. package/functions/pre-transaction/getVolatileTransferAmount.cjs +1 -1
  309. package/functions/pre-transaction/getVolatileTransferAmount.mjs +36 -22
  310. package/functions/pre-transaction/interaction-to-action.cjs +1 -1
  311. package/functions/pre-transaction/interaction-to-action.mjs +2 -3
  312. package/functions/pre-transaction/merge-with-fee-structure-emporium.cjs +1 -1
  313. package/functions/pre-transaction/merge-with-fee-structure-emporium.d.ts +1 -1
  314. package/functions/pre-transaction/merge-with-fee-structure-emporium.mjs +17 -17
  315. package/functions/pre-transaction/outputApprovalDataProcessing.cjs +1 -1
  316. package/functions/pre-transaction/outputApprovalDataProcessing.d.ts +9 -1
  317. package/functions/pre-transaction/outputApprovalDataProcessing.mjs +34 -19
  318. package/functions/pre-transaction/sendV0Transaction.cjs +1 -1
  319. package/functions/pre-transaction/sendV0Transaction.mjs +50 -53
  320. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs +1 -1
  321. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.d.ts +1 -1
  322. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.mjs +4 -4
  323. package/functions/private-wallet/emporium.helpers.cjs +1 -1
  324. package/functions/private-wallet/emporium.helpers.d.ts +12 -10
  325. package/functions/private-wallet/emporium.helpers.mjs +139 -102
  326. package/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
  327. package/functions/private-wallet/emporium.swap.helpers.d.ts +4 -1
  328. package/functions/private-wallet/emporium.swap.helpers.mjs +106 -103
  329. package/functions/private-wallet/opProducer.cjs +1 -1
  330. package/functions/private-wallet/opProducer.mjs +1 -1
  331. package/functions/snarkjs/common.snarkjs.cjs +1 -1
  332. package/functions/snarkjs/common.snarkjs.mjs +21 -18
  333. package/functions/snarkjs/constructEmporiumProof.cjs +1 -1
  334. package/functions/snarkjs/constructEmporiumProof.mjs +49 -49
  335. package/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
  336. package/functions/snarkjs/constructSolanaZkProof.mjs +11 -10
  337. package/functions/snarkjs/fetchMerkleTreeSiblings.cjs +1 -1
  338. package/functions/snarkjs/fetchMerkleTreeSiblings.mjs +10 -11
  339. package/functions/utils/addresses.cjs +1 -1
  340. package/functions/utils/addresses.d.ts +0 -1
  341. package/functions/utils/addresses.mjs +11 -12
  342. package/functions/utils/cacheFunctions.cjs +1 -1
  343. package/functions/utils/cacheFunctions.d.ts +1 -1
  344. package/functions/utils/cacheFunctions.mjs +55 -54
  345. package/functions/utils/convertEmporiumOpToCallInfo.cjs +1 -1
  346. package/functions/utils/convertEmporiumOpToCallInfo.mjs +5 -5
  347. package/functions/utils/create-provider.cjs +1 -1
  348. package/functions/utils/create-provider.d.ts +2 -2
  349. package/functions/utils/create-provider.mjs +7 -11
  350. package/functions/utils/encryptInputForEnclave.cjs +1 -1
  351. package/functions/utils/encryptInputForEnclave.mjs +9 -9
  352. package/functions/utils/ethers-formatter.utils.d.ts +1 -1
  353. package/functions/utils/external-action.utils.cjs +1 -1
  354. package/functions/utils/external-action.utils.mjs +2 -2
  355. package/functions/utils/get-hinkal-approvals.cjs +1 -0
  356. package/functions/utils/get-hinkal-approvals.d.ts +3 -0
  357. package/functions/utils/get-hinkal-approvals.mjs +38 -0
  358. package/functions/utils/getContractAddress.cjs +1 -0
  359. package/functions/utils/getContractAddress.d.ts +2 -0
  360. package/functions/utils/getContractAddress.mjs +9 -0
  361. package/functions/utils/getDataFromTransaction.cjs +1 -1
  362. package/functions/utils/getDataFromTransaction.d.ts +0 -11
  363. package/functions/utils/getDataFromTransaction.mjs +26 -50
  364. package/functions/utils/getRecipientInfoFromUserKeys.cjs +1 -1
  365. package/functions/utils/getRecipientInfoFromUserKeys.mjs +1 -1
  366. package/functions/utils/getSignerFromContract.cjs +1 -0
  367. package/functions/utils/getSignerFromContract.d.ts +3 -0
  368. package/functions/utils/getSignerFromContract.mjs +16 -0
  369. package/functions/utils/getUtxosFromReceipt.utils.cjs +1 -1
  370. package/functions/utils/getUtxosFromReceipt.utils.d.ts +1 -1
  371. package/functions/utils/getUtxosFromReceipt.utils.mjs +14 -15
  372. package/functions/utils/inLogicMetadata.cjs +1 -1
  373. package/functions/utils/inLogicMetadata.mjs +2 -2
  374. package/functions/utils/index.d.ts +1 -0
  375. package/functions/utils/involves-permit2-op.cjs +1 -1
  376. package/functions/utils/involves-permit2-op.d.ts +1 -0
  377. package/functions/utils/involves-permit2-op.mjs +6 -4
  378. package/functions/utils/mutexes.utils.cjs +1 -1
  379. package/functions/utils/mutexes.utils.d.ts +1 -1
  380. package/functions/utils/mutexes.utils.mjs +3 -3
  381. package/functions/utils/nftTokenFunctions.cjs +1 -1
  382. package/functions/utils/nftTokenFunctions.mjs +23 -9
  383. package/functions/utils/prepareHinkal.cjs +1 -1
  384. package/functions/utils/prepareHinkal.d.ts +13 -6
  385. package/functions/utils/prepareHinkal.mjs +72 -45
  386. package/functions/utils/publicBalance.utils.cjs +1 -1
  387. package/functions/utils/publicBalance.utils.d.ts +1 -1
  388. package/functions/utils/publicBalance.utils.mjs +62 -57
  389. package/functions/utils/replaceAddressInCalldata.cjs +1 -0
  390. package/functions/utils/replaceAddressInCalldata.d.ts +1 -0
  391. package/functions/utils/replaceAddressInCalldata.mjs +7 -0
  392. package/functions/utils/rpc-int-encode.cjs +1 -1
  393. package/functions/utils/rpc-int-encode.d.ts +1 -2
  394. package/functions/utils/rpc-int-encode.mjs +3 -6
  395. package/functions/utils/solanaMint.utils.cjs +1 -1
  396. package/functions/utils/solanaMint.utils.mjs +6 -6
  397. package/functions/utils/string.utils.cjs +1 -1
  398. package/functions/utils/string.utils.d.ts +0 -1
  399. package/functions/utils/string.utils.mjs +14 -18
  400. package/functions/utils/token-check.utils.cjs +1 -1
  401. package/functions/utils/token-check.utils.d.ts +0 -3
  402. package/functions/utils/token-check.utils.mjs +7 -18
  403. package/functions/utils/upToDateState.cjs +1 -1
  404. package/functions/utils/upToDateState.d.ts +1 -1
  405. package/functions/utils/upToDateState.mjs +4 -4
  406. package/functions/utils/walletBalances.utils.cjs +1 -1
  407. package/functions/utils/walletBalances.utils.d.ts +17 -2
  408. package/functions/utils/walletBalances.utils.mjs +36 -5
  409. package/functions/web3/EIP-712.cjs +1 -1
  410. package/functions/web3/EIP-712.d.ts +4 -4
  411. package/functions/web3/EIP-712.mjs +1 -1
  412. package/functions/web3/etherFunctions.cjs +1 -1
  413. package/functions/web3/etherFunctions.mjs +32 -29
  414. package/functions/web3/events/balanceChangedCustomHandler.cjs +1 -1
  415. package/functions/web3/events/balanceChangedCustomHandler.mjs +4 -5
  416. package/functions/web3/events/balanceChangedHandler.cjs +1 -1
  417. package/functions/web3/events/balanceChangedHandler.mjs +2 -3
  418. package/functions/web3/events/getApprovedBalance.cjs +1 -1
  419. package/functions/web3/events/getApprovedBalance.d.ts +4 -3
  420. package/functions/web3/events/getApprovedBalance.mjs +44 -39
  421. package/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
  422. package/functions/web3/events/getInputUtxoAndBalance.d.ts +3 -3
  423. package/functions/web3/events/getInputUtxoAndBalance.mjs +150 -129
  424. package/functions/web3/events/getInputUtxosEnclave.cjs +1 -1
  425. package/functions/web3/events/getInputUtxosEnclave.mjs +20 -20
  426. package/functions/web3/events/getShieldedBalance.cjs +2 -2
  427. package/functions/web3/events/getShieldedBalance.d.ts +1 -1
  428. package/functions/web3/events/getShieldedBalance.mjs +75 -73
  429. package/functions/web3/events/getTransactionLogEvents.cjs +1 -1
  430. package/functions/web3/events/getTransactionLogEvents.d.ts +3 -3
  431. package/functions/web3/events/getTransactionLogEvents.mjs +41 -40
  432. package/functions/web3/events/index.d.ts +0 -1
  433. package/functions/web3/fetchSolanaMerkleTreeRootHash.cjs +1 -1
  434. package/functions/web3/fetchSolanaMerkleTreeRootHash.d.ts +1 -2
  435. package/functions/web3/fetchSolanaMerkleTreeRootHash.mjs +12 -16
  436. package/functions/web3/functionCalls/accessTokenCalls.cjs +1 -1
  437. package/functions/web3/functionCalls/accessTokenCalls.d.ts +6 -1
  438. package/functions/web3/functionCalls/accessTokenCalls.mjs +20 -12
  439. package/functions/web3/functionCalls/approveToken.cjs +1 -1
  440. package/functions/web3/functionCalls/approveToken.d.ts +1 -1
  441. package/functions/web3/functionCalls/approveToken.mjs +68 -69
  442. package/functions/web3/functionCalls/approveTokensToHinkal.cjs +1 -1
  443. package/functions/web3/functionCalls/approveTokensToHinkal.d.ts +1 -1
  444. package/functions/web3/functionCalls/approveTokensToHinkal.mjs +6 -6
  445. package/functions/web3/functionCalls/constructBatchCall.cjs +1 -1
  446. package/functions/web3/functionCalls/constructBatchCall.d.ts +2 -2
  447. package/functions/web3/functionCalls/constructBatchCall.mjs +10 -9
  448. package/functions/web3/functionCalls/estimateGasRelayer.cjs +1 -1
  449. package/functions/web3/functionCalls/estimateGasRelayer.d.ts +2 -1
  450. package/functions/web3/functionCalls/estimateGasRelayer.mjs +10 -10
  451. package/functions/web3/functionCalls/inHinkalApprovalCalls.cjs +1 -0
  452. package/functions/web3/functionCalls/inHinkalApprovalCalls.d.ts +5 -0
  453. package/functions/web3/functionCalls/inHinkalApprovalCalls.mjs +29 -0
  454. package/functions/web3/functionCalls/recoverTransactionFromError.d.ts +1 -1
  455. package/functions/web3/functionCalls/transactCallDirect.cjs +1 -1
  456. package/functions/web3/functionCalls/transactCallDirect.d.ts +1 -1
  457. package/functions/web3/functionCalls/transactCallDirect.mjs +47 -39
  458. package/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
  459. package/functions/web3/functionCalls/transactCallRelayer.d.ts +3 -3
  460. package/functions/web3/functionCalls/transactCallRelayer.mjs +54 -56
  461. package/functions/web3/getContractMetadata.cjs +1 -1
  462. package/functions/web3/getContractMetadata.d.ts +1 -1
  463. package/functions/web3/getContractMetadata.mjs +21 -16
  464. package/functions/web3/getPublicAddressBalance.cjs +1 -1
  465. package/functions/web3/getPublicAddressBalance.d.ts +1 -1
  466. package/functions/web3/getPublicAddressBalance.mjs +7 -6
  467. package/functions/web3/getTokenHolder.cjs +1 -1
  468. package/functions/web3/getTokenHolder.mjs +32 -31
  469. package/functions/web3/index.d.ts +0 -1
  470. package/functions/web3/lifiAPI.cjs +1 -1
  471. package/functions/web3/lifiAPI.d.ts +1 -1
  472. package/functions/web3/lifiAPI.mjs +12 -12
  473. package/functions/web3/odosAPI.cjs +1 -1
  474. package/functions/web3/odosAPI.mjs +15 -3
  475. package/functions/web3/okxAPI.cjs +1 -1
  476. package/functions/web3/okxAPI.mjs +13 -13
  477. package/functions/web3/oneInchAPI.cjs +1 -1
  478. package/functions/web3/oneInchAPI.mjs +20 -8
  479. package/functions/web3/runContractFunction.cjs +1 -1
  480. package/functions/web3/runContractFunction.d.ts +6 -5
  481. package/functions/web3/runContractFunction.mjs +60 -46
  482. package/functions/web3/uniswapAPI.cjs +1 -1
  483. package/functions/web3/uniswapAPI.d.ts +2 -2
  484. package/functions/web3/uniswapAPI.mjs +49 -38
  485. package/index.cjs +1 -1
  486. package/index.mjs +912 -914
  487. package/package.json +4 -6
  488. package/providers/CustomEthersProvider.d.ts +1 -1
  489. package/providers/EthersProviderAdapter.cjs +1 -1
  490. package/providers/EthersProviderAdapter.d.ts +21 -14
  491. package/providers/EthersProviderAdapter.mjs +86 -53
  492. package/providers/SolanaProviderAdapter.cjs +1 -1
  493. package/providers/SolanaProviderAdapter.d.ts +12 -8
  494. package/providers/SolanaProviderAdapter.mjs +31 -16
  495. package/providers/WagmiProviderAdapter.cjs +1 -1
  496. package/providers/WagmiProviderAdapter.d.ts +20 -14
  497. package/providers/WagmiProviderAdapter.mjs +126 -91
  498. package/providers/prepareEthersHinkal.cjs +1 -1
  499. package/providers/prepareEthersHinkal.d.ts +2 -2
  500. package/providers/prepareEthersHinkal.mjs +9 -16
  501. package/providers/prepareWagmiHinkal.cjs +1 -1
  502. package/providers/prepareWagmiHinkal.mjs +9 -17
  503. package/types/TransactionSimulator.types.d.ts +9 -2
  504. package/types/activities.types.d.ts +2 -5
  505. package/types/admin.types.cjs +1 -1
  506. package/types/admin.types.d.ts +6 -0
  507. package/types/admin.types.mjs +2 -2
  508. package/types/balances.types.d.ts +1 -0
  509. package/types/big-intable.types.d.ts +3 -2
  510. package/types/bridging.types.d.ts +29 -0
  511. package/types/cache.types.cjs +1 -1
  512. package/types/cache.types.d.ts +3 -6
  513. package/types/cache.types.mjs +1 -1
  514. package/types/coingecko.types.d.ts +0 -5
  515. package/types/duneAPI.types.d.ts +9 -0
  516. package/types/ethereum-network.types.d.ts +10 -11
  517. package/types/hinkal.types.cjs +1 -1
  518. package/types/hinkal.types.d.ts +1 -1
  519. package/types/hinkal.types.mjs +18 -18
  520. package/types/index.d.ts +2 -2
  521. package/types/proxy.types.d.ts +3 -6
  522. package/types/sandbox.types.cjs +1 -1
  523. package/types/sandbox.types.d.ts +39 -10
  524. package/types/sandbox.types.mjs +2 -2
  525. package/types/scheduled-transactions.types.cjs +1 -1
  526. package/types/scheduled-transactions.types.d.ts +6 -0
  527. package/types/scheduled-transactions.types.mjs +3 -2
  528. package/types/session.types.d.ts +0 -2
  529. package/types/solana.types.d.ts +0 -9
  530. package/types/token-prices.types.cjs +1 -1
  531. package/types/token-prices.types.d.ts +0 -7
  532. package/types/token-prices.types.mjs +2 -4
  533. package/types/transactions.types.cjs +1 -1
  534. package/types/transactions.types.d.ts +2 -3
  535. package/types/transactions.types.mjs +6 -7
  536. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.cjs +1 -1
  537. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.mjs +1 -1
  538. package/webworker/utxoWorker/utxoWorkerLauncher.cjs +1 -1
  539. package/webworker/utxoWorker/utxoWorkerLauncher.mjs +1 -1
  540. package/webworker/utxoWorker/utxoWorkerLogic.cjs +1 -1
  541. package/webworker/utxoWorker/utxoWorkerLogic.mjs +1 -1
  542. package/webworker/viteWorkerURL.constant.cjs +3 -3
  543. package/webworker/viteWorkerURL.constant.mjs +3 -3
  544. package/webworker/zkProofWorker/zkProofWorkerLauncher.cjs +1 -1
  545. package/webworker/zkProofWorker/zkProofWorkerLauncher.mjs +1 -1
  546. package/API/get-token-price-chart-data.cjs +0 -1
  547. package/API/get-token-price-chart-data.d.ts +0 -16
  548. package/API/get-token-price-chart-data.mjs +0 -13
  549. package/API/onrampCalls.cjs +0 -1
  550. package/API/onrampCalls.d.ts +0 -20
  551. package/API/onrampCalls.mjs +0 -15
  552. package/API/unspent-utxos-calls.cjs +0 -1
  553. package/API/unspent-utxos-calls.d.ts +0 -26
  554. package/API/unspent-utxos-calls.mjs +0 -26
  555. package/data-structures/AccountActions/AccountActions.cjs +0 -1
  556. package/data-structures/AccountActions/AccountActions.d.ts +0 -18
  557. package/data-structures/AccountActions/AccountActions.mjs +0 -78
  558. package/data-structures/AccountActions/index.d.ts +0 -1
  559. package/data-structures/BlockchainEvent/BlockchainEvent.cjs +0 -1
  560. package/data-structures/BlockchainEvent/BlockchainEvent.d.ts +0 -14
  561. package/data-structures/BlockchainEvent/BlockchainEvent.mjs +0 -41
  562. package/data-structures/PublicBalance/PublicBalanceWatcher.cjs +0 -1
  563. package/data-structures/PublicBalance/PublicBalanceWatcher.d.ts +0 -20
  564. package/data-structures/PublicBalance/PublicBalanceWatcher.mjs +0 -124
  565. package/data-structures/PublicBalance/SolanaPublicBalancerWatcher.cjs +0 -1
  566. package/data-structures/PublicBalance/SolanaPublicBalancerWatcher.d.ts +0 -15
  567. package/data-structures/PublicBalance/SolanaPublicBalancerWatcher.mjs +0 -64
  568. package/data-structures/PublicBalance/index.d.ts +0 -2
  569. package/data-structures/event-service/evm/ClientBlockchainEventEmitter.cjs +0 -1
  570. package/data-structures/event-service/evm/ClientBlockchainEventEmitter.d.ts +0 -11
  571. package/data-structures/event-service/evm/ClientBlockchainEventEmitter.mjs +0 -21
  572. package/data-structures/event-service/evm/PollingBlockchainEventEmitter.cjs +0 -1
  573. package/data-structures/event-service/evm/PollingBlockchainEventEmitter.d.ts +0 -6
  574. package/data-structures/event-service/evm/PollingBlockchainEventEmitter.mjs +0 -16
  575. package/data-structures/event-service/helpers/ClientEventHelper.cjs +0 -1
  576. package/data-structures/event-service/helpers/ClientEventHelper.d.ts +0 -11
  577. package/data-structures/event-service/helpers/ClientEventHelper.mjs +0 -26
  578. package/data-structures/event-service/helpers/PollingEventHelper.cjs +0 -1
  579. package/data-structures/event-service/helpers/PollingEventHelper.d.ts +0 -5
  580. package/data-structures/event-service/helpers/PollingEventHelper.mjs +0 -14
  581. package/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.cjs +0 -1
  582. package/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.d.ts +0 -11
  583. package/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.mjs +0 -22
  584. package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.cjs +0 -1
  585. package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.d.ts +0 -6
  586. package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.mjs +0 -16
  587. package/functions/utils/enum.utils.cjs +0 -1
  588. package/functions/utils/enum.utils.mjs +0 -14
  589. package/functions/utils/socket.utils.cjs +0 -1
  590. package/functions/utils/socket.utils.d.ts +0 -1
  591. package/functions/utils/socket.utils.mjs +0 -12
  592. package/functions/web3/crypto.cjs +0 -1
  593. package/functions/web3/crypto.d.ts +0 -1
  594. package/functions/web3/crypto.mjs +0 -7
  595. package/functions/web3/events/web3RetrieveEvents.cjs +0 -1
  596. package/functions/web3/events/web3RetrieveEvents.d.ts +0 -14
  597. package/functions/web3/events/web3RetrieveEvents.mjs +0 -9
  598. package/types/events.types.cjs +0 -1
  599. package/types/events.types.d.ts +0 -9
  600. package/types/events.types.mjs +0 -5
  601. package/types/onramp.types.cjs +0 -1
  602. package/types/onramp.types.d.ts +0 -58
  603. package/types/onramp.types.mjs +0 -4
@@ -1,64 +1,60 @@
1
1
  import { SWAP_ROUTER_ADDRESSES as I } from "../../constants/addresses.constants.mjs";
2
- import { getFeeStructure as P } from "../../functions/pre-transaction/getFeeStructure.mjs";
3
- import { createSwapToEmporiumOps as v } from "../../functions/private-wallet/emporium.swap.helpers.mjs";
4
- import { convertEmporiumOpToCallInfo as L } from "../../functions/utils/convertEmporiumOpToCallInfo.mjs";
5
- import { ExternalActionId as O } from "../../types/external-action.types.mjs";
6
- import { transactionErrorCodes as g } from "../../error-handling/error-codes.constants.mjs";
7
- import { HINKAL_SWAP_VARIABLE_RATE as y } from "../../constants/protocol.constants.mjs";
8
- import { validateAndGetChainId as C } from "../../functions/utils/token-check.utils.mjs";
9
- import { AccountActions as x } from "../AccountActions/AccountActions.mjs";
10
- const H = async (t, a, i, p, f, E, c, e, u, l = !1, w, S, d = !1) => {
2
+ import { getFeeStructure as _ } from "../../functions/pre-transaction/getFeeStructure.mjs";
3
+ import { createSwapToEmporiumOps as P } from "../../functions/private-wallet/emporium.swap.helpers.mjs";
4
+ import { convertEmporiumOpToCallInfo as l } from "../../functions/utils/convertEmporiumOpToCallInfo.mjs";
5
+ import { ExternalActionId as v } from "../../types/external-action.types.mjs";
6
+ import { transactionErrorCodes as L } from "../../error-handling/error-codes.constants.mjs";
7
+ import { HINKAL_SWAP_VARIABLE_RATE as O } from "../../constants/protocol.constants.mjs";
8
+ import { UserKeys as h } from "../crypto-keys/keys.mjs";
9
+ const U = async (r, p, t, s, f, A, n, e, S, u = !1, w, R, c = !1) => {
11
10
  if (!e)
12
11
  throw new Error("Fee token is required in hinkalProxySwap");
13
- const r = C(a), m = x.getAddressFromSubAccount(r, c);
12
+ const a = r.getCurrentChainId(), E = h.getSignerAddressFromPrivateKey(a, n.privateKey), i = p.map((o) => o.erc20TokenAddress), m = await r.getRandomRelay(!c);
14
13
  if (!m)
15
- throw Error("Public account address is not available");
16
- const n = a.map((o) => o.erc20TokenAddress), s = await t.getRandomRelay(r, !d);
17
- if (!s)
18
- throw Error(g.RELAYER_NOT_AVAILABLE);
19
- const A = await v(
20
- t,
14
+ throw Error(L.RELAYER_NOT_AVAILABLE);
15
+ const d = await P(
21
16
  r,
22
- p,
23
- I[p][r],
17
+ s,
18
+ I[s][a],
24
19
  f,
25
- n[0],
26
20
  i[0],
21
+ t[0],
22
+ t[1],
27
23
  i[1],
28
- n[1],
24
+ A,
29
25
  E,
30
26
  m,
31
- s,
32
27
  !0
33
- ), R = u ?? await P(
34
- r,
28
+ ), g = S ?? await _(
29
+ a,
35
30
  e,
36
- n,
37
- O.Emporium,
38
- A.map((o) => L(o, m, r)),
39
- y
40
- ), _ = a.map((o, h) => ({
31
+ i,
32
+ v.Emporium,
33
+ d.map(
34
+ (o) => l(o, E, r.getCurrentChainId())
35
+ ),
36
+ O
37
+ ), y = p.map((o, C) => ({
41
38
  token: o,
42
- amount: i[h]
39
+ amount: t[C]
43
40
  }));
44
- return t.actionPrivateWallet(
45
- r,
41
+ return r.actionPrivateWallet(
46
42
  [],
47
43
  [],
48
44
  [],
49
- A,
50
- _,
51
- c,
45
+ d,
46
+ y,
47
+ n,
52
48
  e,
53
- R,
54
- s,
55
- l,
49
+ g,
50
+ m,
51
+ u,
56
52
  w,
57
- S,
53
+ R,
58
54
  void 0,
59
- d
55
+ c
60
56
  );
61
57
  };
62
58
  export {
63
- H as hinkalProxySwap
59
+ U as hinkalProxySwap
64
60
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const P=require("../../error-handling/error-codes.constants.cjs"),f=require("../../functions/utils/addresses.cjs"),C=require("../../functions/pre-transaction/getVolatileTransferAmount.cjs"),q=require("../../functions/private-wallet/emporium.helpers.cjs"),y=require("../../functions/pre-transaction/getFeeStructure.cjs"),g=require("../../types/external-action.types.cjs"),w=require("../../functions/utils/convertEmporiumOpToCallInfo.cjs"),T=require("../../functions/utils/token-check.utils.cjs"),I=require("../AccountActions/AccountActions.cjs"),O=async(s,r,l,c,o,m,n,p,A=!1)=>{if(!n)throw Error("hinkalProxyToPrivate: subAccount should be provided");if(!o)throw new Error("Fee token is required in hinkalProxyToPrivate");if(!f.isValidPrivateAddress(c))throw Error(P.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);const e=T.validateAndGetChainId(r),i=I.AccountActions.getAddressFromSubAccount(e,n);if(!i)throw Error("Public account address is not available");const u=r.map(t=>t.erc20TokenAddress),a=await C.modifyVolatileTokenAmountChanges(e,r,l,i),d=q.createTransaferEmporiumOpsBatch(s,e,u,a),h=m??await y.getFeeStructure(e,o,u,g.ExternalActionId.Emporium,d.map(t=>w.convertEmporiumOpToCallInfo(t,i,e))),v=r.map((t,E)=>({token:t,amount:-1n*a[E]}));return s.actionPrivateWallet(e,[r[0]],[0n],[!1],d,v,n,o,h,void 0,void 0,void 0,p,{recipientInfo:c,amount:a[0],token:r[0]},A)};exports.hinkalProxyToPrivate=O;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("../../error-handling/error-codes.constants.cjs"),C=require("../../functions/utils/addresses.cjs"),f=require("../../functions/pre-transaction/getVolatileTransferAmount.cjs"),g=require("../../functions/private-wallet/emporium.helpers.cjs"),A=require("../../functions/pre-transaction/getFeeStructure.cjs"),T=require("../../types/external-action.types.cjs"),q=require("../../functions/utils/convertEmporiumOpToCallInfo.cjs"),w=require("../crypto-keys/keys.cjs"),I=async(o,e,l,u,s,m,n,p,v=!1)=>{if(!n)throw Error("hinkalProxyToPrivate: subAccount should be provided");if(!s)throw new Error("Fee token is required in hinkalProxyToPrivate");if(!C.isValidPrivateAddress(u))throw Error(E.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);const t=o.getCurrentChainId(),d=w.UserKeys.getSignerAddressFromPrivateKey(t,n.privateKey),a=e.map(r=>r.erc20TokenAddress),i=await f.modifyVolatileTokenAmountChanges(t,e,l,d),c=g.createTransaferEmporiumOpsBatch(o,a,i),y=m??await A.getFeeStructure(t,s,a,T.ExternalActionId.Emporium,c.map(r=>q.convertEmporiumOpToCallInfo(r,d,t))),P=e.map((r,h)=>({token:r,amount:-1n*i[h]}));return o.actionPrivateWallet([a[0]],[0n],[!1],c,P,n,s,y,void 0,void 0,void 0,p,{recipientInfo:u,amount:i[0],token:e[0]},v)};exports.hinkalProxyToPrivate=I;
@@ -1,50 +1,45 @@
1
- import { transactionErrorCodes as E } from "../../error-handling/error-codes.constants.mjs";
2
- import { isValidPrivateAddress as P } from "../../functions/utils/addresses.mjs";
3
- import { modifyVolatileTokenAmountChanges as w } from "../../functions/pre-transaction/getVolatileTransferAmount.mjs";
4
- import { createTransaferEmporiumOpsBatch as C } from "../../functions/private-wallet/emporium.helpers.mjs";
5
- import { getFeeStructure as I } from "../../functions/pre-transaction/getFeeStructure.mjs";
6
- import { ExternalActionId as x } from "../../types/external-action.types.mjs";
7
- import { convertEmporiumOpToCallInfo as y } from "../../functions/utils/convertEmporiumOpToCallInfo.mjs";
8
- import { validateAndGetChainId as O } from "../../functions/utils/token-check.utils.mjs";
9
- import { AccountActions as g } from "../AccountActions/AccountActions.mjs";
10
- const B = async (n, r, l, s, a, p, i, u, f = !1) => {
11
- if (!i)
12
- throw Error("hinkalProxyToPrivate: subAccount should be provided");
1
+ import { transactionErrorCodes as P } from "../../error-handling/error-codes.constants.mjs";
2
+ import { isValidPrivateAddress as C } from "../../functions/utils/addresses.mjs";
3
+ import { modifyVolatileTokenAmountChanges as y } from "../../functions/pre-transaction/getVolatileTransferAmount.mjs";
4
+ import { createTransaferEmporiumOpsBatch as A } from "../../functions/private-wallet/emporium.helpers.mjs";
5
+ import { getFeeStructure as w } from "../../functions/pre-transaction/getFeeStructure.mjs";
6
+ import { ExternalActionId as g } from "../../types/external-action.types.mjs";
7
+ import { convertEmporiumOpToCallInfo as I } from "../../functions/utils/convertEmporiumOpToCallInfo.mjs";
8
+ import { UserKeys as T } from "../crypto-keys/keys.mjs";
9
+ const _ = async (e, o, f, n, i, l, a, c, u = !1) => {
13
10
  if (!a)
11
+ throw Error("hinkalProxyToPrivate: subAccount should be provided");
12
+ if (!i)
14
13
  throw new Error("Fee token is required in hinkalProxyToPrivate");
15
- if (!P(s))
16
- throw Error(E.RECIPIENT_FORMAT_INCORRECT);
17
- const o = O(r), e = g.getAddressFromSubAccount(o, i);
18
- if (!e)
19
- throw Error("Public account address is not available");
20
- const d = r.map((t) => t.erc20TokenAddress), m = await w(o, r, l, e), c = C(n, o, d, m), h = p ?? await I(
21
- o,
22
- a,
23
- d,
24
- x.Emporium,
25
- c.map((t) => y(t, e, o))
26
- ), v = r.map((t, A) => ({
27
- token: t,
28
- amount: -1n * m[A]
14
+ if (!C(n))
15
+ throw Error(P.RECIPIENT_FORMAT_INCORRECT);
16
+ const t = e.getCurrentChainId(), d = T.getSignerAddressFromPrivateKey(t, a.privateKey), m = o.map((r) => r.erc20TokenAddress), s = await y(t, o, f, d), p = A(e, m, s), v = l ?? await w(
17
+ t,
18
+ i,
19
+ m,
20
+ g.Emporium,
21
+ p.map((r) => I(r, d, t))
22
+ ), E = o.map((r, h) => ({
23
+ token: r,
24
+ amount: -1n * s[h]
29
25
  }));
30
- return n.actionPrivateWallet(
31
- o,
32
- [r[0]],
26
+ return e.actionPrivateWallet(
27
+ [m[0]],
33
28
  [0n],
34
29
  [!1],
35
- c,
36
- v,
37
- i,
30
+ p,
31
+ E,
38
32
  a,
39
- h,
33
+ i,
34
+ v,
40
35
  void 0,
41
36
  void 0,
42
37
  void 0,
43
- u,
44
- { recipientInfo: s, amount: m[0], token: r[0] },
45
- f
38
+ c,
39
+ { recipientInfo: n, amount: s[0], token: o[0] },
40
+ u
46
41
  );
47
42
  };
48
43
  export {
49
- B as hinkalProxyToPrivate
44
+ _ as hinkalProxyToPrivate
50
45
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../AccountActions/AccountActions.cjs"),a=async(e,n,t,c)=>{let i;const o=r.AccountActions.getPrivateKeyFromSubAccount(e,c);if(!o)throw Error("Private key is not available");if(t)i=await r.AccountActions.signTypedDataFromPrivateKey(e,o,t.domain,t.types,t.value);else{if(!n)throw Error("dataHash must be provided if typedData is not provided");i=await r.AccountActions.signMessageFromPrivateKey(e,o,n)}return i};exports.hinkalSignSubAccount=a;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../crypto-keys/keys.cjs"),o=async(s,r,e,t)=>{const a=s.getCurrentChainId();let i;if(e)i=await n.UserKeys.signTypedDataFromPrivateKey(a,t.privateKey,e.domain,e.types,e.value);else{if(!r)throw Error("dataHash must be provided if typedData is not provided");i=await n.UserKeys.signMessageFromPrivateKey(a,t.privateKey,r)}return i};exports.hinkalSignSubAccount=o;
@@ -1,3 +1,4 @@
1
1
  import { SubAccount } from '../../types/proxy.types';
2
2
  import { type TypedData } from '../../types/circom-data.types';
3
- export declare const hinkalSignSubAccount: (chainId: number, messageToSign: string | undefined, typedData: TypedData | undefined, subAccount: SubAccount) => Promise<string>;
3
+ import { type IHinkal } from './IHinkal';
4
+ export declare const hinkalSignSubAccount: (hinkal: IHinkal, messageToSign: string | undefined, typedData: TypedData | undefined, subAccount: SubAccount) => Promise<string>;
@@ -1,24 +1,22 @@
1
- import { AccountActions as o } from "../AccountActions/AccountActions.mjs";
2
- const u = async (t, a, r, n) => {
3
- let e;
4
- const i = o.getPrivateKeyFromSubAccount(t, n);
5
- if (!i)
6
- throw Error("Private key is not available");
7
- if (r)
8
- e = await o.signTypedDataFromPrivateKey(
9
- t,
10
- i,
11
- r.domain,
12
- r.types,
13
- r.value
1
+ import { UserKeys as n } from "../crypto-keys/keys.mjs";
2
+ const d = async (o, i, e, t) => {
3
+ const a = o.getCurrentChainId();
4
+ let r;
5
+ if (e)
6
+ r = await n.signTypedDataFromPrivateKey(
7
+ a,
8
+ t.privateKey,
9
+ e.domain,
10
+ e.types,
11
+ e.value
14
12
  );
15
13
  else {
16
- if (!a)
14
+ if (!i)
17
15
  throw Error("dataHash must be provided if typedData is not provided");
18
- e = await o.signMessageFromPrivateKey(t, i, a);
16
+ r = await n.signMessageFromPrivateKey(a, t.privateKey, i);
19
17
  }
20
- return e;
18
+ return r;
21
19
  };
22
20
  export {
23
- u as hinkalSignSubAccount
21
+ d as hinkalSignSubAccount
24
22
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const V=require("../utxo/Utxo.cjs"),M=require("../../functions/utils/solanaMint.utils.cjs"),z=require("../../functions/web3/etherFunctions.cjs"),B=require("../../constants/chains.constants.cjs"),K=require("../../constants/protocol.constants.cjs"),d=require("@solana/web3.js"),N=require("../../functions/snarkjs/common.snarkjs.cjs"),G=require("@coral-xyz/anchor"),E=require("../../functions/utils/addresses.cjs"),H=require("../../error-handling/error-codes.constants.cjs"),i=require("../../functions/pre-transaction/solana.cjs");require("../../API/getServerURL.cjs");require("axios");require("../../constants/coingecko.constants.cjs");require("../../constants/server.constants.cjs");require("../http/HttpClient.cjs");const _=require("../../API/API.cjs");require("../../API/tenderly.api.cjs");require("../../constants/token-data/index.cjs");require("../../constants/contracts.constants.cjs");require("../../constants/kyc.constants.cjs");require("../../constants/vite.constants.cjs");require("../../constants/reorg-depths.constants.cjs");require("../../constants/addresses.constants.cjs");require("../../constants/token.limits.constants.cjs");require("../../constants/presale.constants.cjs");require("../../constants/activity.constants.cjs");require("../../constants/tasks.constants.cjs");require("../../constants/events.constants.cjs");const L=require("./hinkalCheckSolanaTokenRegistry.cjs"),O=require("../../functions/web3/signAndSendSerializedTransaction.cjs"),x=require("../../functions/utils/token-check.utils.cjs"),F=async(e,o,a,r)=>{const n=x.validateAndGetChainId([a]),c=a.erc20TokenAddress,{hinkalIdl:A,hinkalAddress:m,originalDeployer:g}=B.networkRegistry[n].contractData;if(!A)throw new Error("No IDL configured for Solana program on this network");if(!g)throw new Error("missing original deployer");const l=e.getSolanaProgram(A),D=e.getSolanaPublicKey(),t=new d.PublicKey(g),h=new d.PublicKey(m),{mintPublicKey:s}=M.formatMintAddress(c),u=s.toString(),S=i.getStorageAccountPublicKey(h,t),P=i.getStorageVaultPublicKey(h,t),f=i.getMerkleAccountPublicKey(h,t),p=i.buildAnchorStealthAddressStructure(r);if(await L.hinkalCheckSolanaTokenRegistry(l,new d.PublicKey(t),[c],[o])){const{serializedTransaction:q,blockhash:T,lastValidBlockHeight:I}=await _.API.generateProoflessDepositLimitless({amount:o.toString(),payer:e.getSolanaPublicKey().toBase58(),ethereumAddress:await e.getEthereumAddressByChain(n),mint:c,stealthAddressStructure:p,chainId:n}),{wallet:b}=l.provider;if(!b)throw new Error("missing wallet");return O.signAndSendSerializedTransaction(l.provider,q,T,I)}const k=i.getTokenLimitStorageAccountPublicKey(l.programId,t,s),v=u===K.solanaNativeAddress?null:s,w=u===K.solanaNativeAddress?null:void 0;return l.methods.prooflessDeposit(new G.BN(o.toString()),p).accounts({mint:v,signer:D,signerAta:w,originalDeployer:t,storageAccount:S,storageVault:P,merkleAccount:f,tokenLimitStorage:k,storageVaultAta:w,accessTokenOwner:null}).rpc()},$=async(e,o,a)=>{const r=e.userKeys.getShieldedPrivateKey(),n=V.Utxo.findCorrectRandomization(z.randomBigInt(31),r),c=N.calcStealthAddressStructure(n,r);return F(e,o,a,c)},J=async(e,o,a,r)=>{if(!E.isValidPrivateAddress(r))throw Error(H.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);const n=E.constructStealthAddressStructure(r);return F(e,o,a,n)},Q=async(e,o,a)=>{const r=x.validateAndGetChainId([a]),n=a.erc20TokenAddress,{hinkalIdl:c,hinkalAddress:A,originalDeployer:m}=B.networkRegistry[r].contractData;if(!c)throw new Error("No IDL configured for Solana program on this network");if(!m)throw new Error("missing original deployer");const g=e.userKeys.getShieldedPrivateKey(),l=V.Utxo.findCorrectRandomization(z.randomBigInt(31),g),D=N.calcStealthAddressStructure(l,g),t=e.getSolanaProgram(c),h=e.getSolanaPublicKey(),s=new d.PublicKey(m),u=new d.PublicKey(A),{mintPublicKey:S}=M.formatMintAddress(n),P=S.toString(),f=i.getStorageAccountPublicKey(u,s),p=i.getStorageVaultPublicKey(u,s),C=i.getMerkleAccountPublicKey(u,s),k=i.buildAnchorStealthAddressStructure(D),v=o.reduce((y,R)=>y+R,0n),w=await L.hinkalCheckSolanaTokenRegistry(t,new d.PublicKey(s),[n],[v]),q=o.map(y=>`${y}`);if(w){const{serializedTransaction:y,blockhash:R,lastValidBlockHeight:j}=await _.API.generateMultiPaymentDepositLimitless({amounts:q,payer:e.getSolanaPublicKey().toBase58(),ethereumAddress:await e.getEthereumAddressByChain(r),mint:n,stealthAddressStructure:k,chainId:r}),{wallet:U}=t.provider;if(!U)throw new Error("missing wallet");return O.signAndSendSerializedTransaction(t.provider,y,R,j)}const T=i.getTokenLimitStorageAccountPublicKey(t.programId,s,S),I=P===K.solanaNativeAddress?null:S,b=P===K.solanaNativeAddress?null:void 0;return t.methods.multiPaymentDeposit(q,k).accounts({mint:I,signer:h,signerAta:b,originalDeployer:s,storageAccount:f,storageVault:p,merkleAccount:C,tokenLimitStorage:T,storageVaultAta:b,accessTokenOwner:null}).rpc()};exports.hinkalSolanaDeposit=$;exports.hinkalSolanaDepositForOther=J;exports.hinkalSolanaMultiPaymentDeposit=Q;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const E=require("../utxo/Utxo.cjs"),V=require("../../functions/utils/solanaMint.utils.cjs"),M=require("../../functions/web3/etherFunctions.cjs"),z=require("../../constants/chains.constants.cjs"),q=require("../../constants/protocol.constants.cjs"),d=require("@solana/web3.js"),N=require("../../functions/snarkjs/common.snarkjs.cjs"),j=require("@coral-xyz/anchor"),T=require("../../functions/utils/addresses.cjs"),U=require("../../error-handling/error-codes.constants.cjs"),i=require("../../functions/pre-transaction/solana.cjs");require("../../API/getServerURL.cjs");require("axios");require("../../constants/coingecko.constants.cjs");require("../../constants/server.constants.cjs");require("../http/HttpClient.cjs");require("../../constants/vite.constants.cjs");const L=require("../../API/API.cjs");require("../../constants/token-data/index.cjs");require("../../constants/contracts.constants.cjs");require("../../constants/kyc.constants.cjs");require("../../constants/reorg-depths.constants.cjs");require("../../constants/addresses.constants.cjs");require("../../constants/token.limits.constants.cjs");require("../../constants/presale.constants.cjs");require("../../constants/activity.constants.cjs");require("../../constants/tasks.constants.cjs");require("../../constants/events.constants.cjs");require("../../API/tenderly.api.cjs");const _=require("./hinkalCheckSolanaTokenRegistry.cjs"),B=require("../../functions/web3/signAndSendSerializedTransaction.cjs"),O=async(e,o,r,n)=>{const{hinkalIdl:a,hinkalAddress:l,originalDeployer:g}=z.networkRegistry[e.getCurrentChainId()].contractData;if(!a)throw new Error("No IDL configured for Solana program on this network");if(!g)throw new Error("missing original deployer");const c=e.getSolanaProgram(a),k=e.getSolanaPublicKey(),t=new d.PublicKey(g),S=new d.PublicKey(l),{mintPublicKey:s}=V.formatMintAddress(r),u=s.toString(),h=i.getStorageAccountPublicKey(S,t),m=i.getStorageVaultPublicKey(S,t),b=i.getMerkleAccountPublicKey(S,t),A=i.buildAnchorStealthAddressStructure(n),K=e.getCurrentChainId();if(await _.hinkalCheckSolanaTokenRegistry(c,new d.PublicKey(t),[r],[o])){const{serializedTransaction:p,blockhash:C,lastValidBlockHeight:v}=await L.API.generateProoflessDepositLimitless(K,{amount:o.toString(),payer:e.getSolanaPublicKey().toBase58(),ethereumAddress:await e.getEthereumAddress(),mint:r,stealthAddressStructure:A}),{wallet:w}=c.provider;if(!w)throw new Error("missing wallet");return B.signAndSendSerializedTransaction(c.provider,p,C,v)}const f=i.getTokenLimitStorageAccountPublicKey(c.programId,t,s),I=u===q.solanaNativeAddress?null:s,P=u===q.solanaNativeAddress?null:void 0;return c.methods.prooflessDeposit(new j.BN(o.toString()),A).accounts({mint:I,signer:k,signerAta:P,originalDeployer:t,storageAccount:h,storageVault:m,merkleAccount:b,tokenLimitStorage:f,storageVaultAta:P,accessTokenOwner:null}).rpc()},H=async(e,o,r)=>{const n=e.userKeys.getShieldedPrivateKey(),a=E.Utxo.findCorrectRandomization(M.randomBigInt(31),n),l=N.calcStealthAddressStructure(a,n);return O(e,o,r,l)},$=async(e,o,r,n)=>{if(!T.isValidPrivateAddress(n))throw Error(U.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);const a=T.constructStealthAddressStructure(n);return O(e,o,r,a)},G=async(e,o,r)=>{const{hinkalIdl:n,hinkalAddress:a,originalDeployer:l}=z.networkRegistry[e.getCurrentChainId()].contractData;if(!n)throw new Error("No IDL configured for Solana program on this network");if(!l)throw new Error("missing original deployer");const g=e.userKeys.getShieldedPrivateKey(),c=E.Utxo.findCorrectRandomization(M.randomBigInt(31),g),k=N.calcStealthAddressStructure(c,g),t=e.getSolanaProgram(n),S=e.getSolanaPublicKey(),s=new d.PublicKey(l),u=new d.PublicKey(a),{mintPublicKey:h}=V.formatMintAddress(r),m=h.toString(),b=i.getStorageAccountPublicKey(u,s),A=i.getStorageVaultPublicKey(u,s),K=i.getMerkleAccountPublicKey(u,s),D=i.buildAnchorStealthAddressStructure(k),f=e.getCurrentChainId(),I=o.reduce((y,R)=>y+R,0n),P=await _.hinkalCheckSolanaTokenRegistry(t,new d.PublicKey(s),[r],[I]),p=o.map(y=>`${y}`);if(P){const{serializedTransaction:y,blockhash:R,lastValidBlockHeight:x}=await L.API.generateMultiPaymentDepositLimitless(f,{amounts:p,payer:e.getSolanaPublicKey().toBase58(),ethereumAddress:await e.getEthereumAddress(),mint:r,stealthAddressStructure:D}),{wallet:F}=t.provider;if(!F)throw new Error("missing wallet");return B.signAndSendSerializedTransaction(t.provider,y,R,x)}const C=i.getTokenLimitStorageAccountPublicKey(t.programId,s,h),v=m===q.solanaNativeAddress?null:h,w=m===q.solanaNativeAddress?null:void 0;return t.methods.multiPaymentDeposit(p,D).accounts({mint:v,signer:S,signerAta:w,originalDeployer:s,storageAccount:b,storageVault:A,merkleAccount:K,tokenLimitStorage:C,storageVaultAta:w,accessTokenOwner:null}).rpc()};exports.hinkalSolanaDeposit=H;exports.hinkalSolanaDepositForOther=$;exports.hinkalSolanaMultiPaymentDeposit=G;
@@ -1,5 +1,4 @@
1
1
  import { IHinkal } from './IHinkal';
2
- import { ERC20Token } from '../../types/token.types';
3
- export declare const hinkalSolanaDeposit: (hinkal: IHinkal, amount: bigint, token: ERC20Token) => Promise<string>;
4
- export declare const hinkalSolanaDepositForOther: (hinkal: IHinkal, amount: bigint, token: ERC20Token, recipientInfo: string) => Promise<string>;
5
- export declare const hinkalSolanaMultiPaymentDeposit: (hinkal: IHinkal, amounts: bigint[], token: ERC20Token) => Promise<string>;
2
+ export declare const hinkalSolanaDeposit: (hinkal: IHinkal, amount: bigint, mintAddress: string) => Promise<string>;
3
+ export declare const hinkalSolanaDepositForOther: (hinkal: IHinkal, amount: bigint, mintAddress: string, recipientInfo: string) => Promise<string>;
4
+ export declare const hinkalSolanaMultiPaymentDeposit: (hinkal: IHinkal, amounts: bigint[], mintAddress: string) => Promise<string>;
@@ -1,25 +1,24 @@
1
- import { Utxo as C } from "../utxo/Utxo.mjs";
2
- import { formatMintAddress as V } from "../../functions/utils/solanaMint.utils.mjs";
3
- import { randomBigInt as B } from "../../functions/web3/etherFunctions.mjs";
1
+ import { Utxo as v } from "../utxo/Utxo.mjs";
2
+ import { formatMintAddress as T } from "../../functions/utils/solanaMint.utils.mjs";
3
+ import { randomBigInt as V } from "../../functions/web3/etherFunctions.mjs";
4
4
  import { networkRegistry as z } from "../../constants/chains.constants.mjs";
5
- import { solanaNativeAddress as K } from "../../constants/protocol.constants.mjs";
6
- import { PublicKey as d } from "@solana/web3.js";
5
+ import { solanaNativeAddress as f } from "../../constants/protocol.constants.mjs";
6
+ import { PublicKey as m } from "@solana/web3.js";
7
7
  import { calcStealthAddressStructure as L } from "../../functions/snarkjs/common.snarkjs.mjs";
8
- import { BN as J } from "@coral-xyz/anchor";
9
- import { isValidPrivateAddress as Q, constructStealthAddressStructure as W } from "../../functions/utils/addresses.mjs";
10
- import { transactionErrorCodes as X } from "../../error-handling/error-codes.constants.mjs";
11
- import { getStorageAccountPublicKey as N, getStorageVaultPublicKey as M, getMerkleAccountPublicKey as O, buildAnchorStealthAddressStructure as x, getTokenLimitStorageAccountPublicKey as q } from "../../functions/pre-transaction/solana.mjs";
8
+ import { BN as j } from "@coral-xyz/anchor";
9
+ import { isValidPrivateAddress as G, constructStealthAddressStructure as J } from "../../functions/utils/addresses.mjs";
10
+ import { transactionErrorCodes as Q } from "../../error-handling/error-codes.constants.mjs";
11
+ import { getStorageAccountPublicKey as B, getStorageVaultPublicKey as N, getMerkleAccountPublicKey as M, buildAnchorStealthAddressStructure as O, getTokenLimitStorageAccountPublicKey as x } from "../../functions/pre-transaction/solana.mjs";
12
12
  import "../../API/getServerURL.mjs";
13
13
  import "axios";
14
14
  import "../../constants/coingecko.constants.mjs";
15
15
  import "../../constants/server.constants.mjs";
16
16
  import "../http/HttpClient.mjs";
17
- import { API as F } from "../../API/API.mjs";
18
- import "../../API/tenderly.api.mjs";
17
+ import "../../constants/vite.constants.mjs";
18
+ import { API as q } from "../../API/API.mjs";
19
19
  import "../../constants/token-data/index.mjs";
20
20
  import "../../constants/contracts.constants.mjs";
21
21
  import "../../constants/kyc.constants.mjs";
22
- import "../../constants/vite.constants.mjs";
23
22
  import "../../constants/reorg-depths.constants.mjs";
24
23
  import "../../constants/addresses.constants.mjs";
25
24
  import "../../constants/token.limits.constants.mjs";
@@ -27,96 +26,108 @@ import "../../constants/presale.constants.mjs";
27
26
  import "../../constants/activity.constants.mjs";
28
27
  import "../../constants/tasks.constants.mjs";
29
28
  import "../../constants/events.constants.mjs";
30
- import { hinkalCheckSolanaTokenRegistry as H } from "./hinkalCheckSolanaTokenRegistry.mjs";
31
- import { signAndSendSerializedTransaction as _ } from "../../functions/web3/signAndSendSerializedTransaction.mjs";
32
- import { validateAndGetChainId as G } from "../../functions/utils/token-check.utils.mjs";
33
- const U = async (t, n, s, o) => {
34
- const e = G([s]), a = s.erc20TokenAddress, { hinkalIdl: h, hinkalAddress: S, originalDeployer: m } = z[e].contractData;
35
- if (!h)
29
+ import "../../API/tenderly.api.mjs";
30
+ import { hinkalCheckSolanaTokenRegistry as F } from "./hinkalCheckSolanaTokenRegistry.mjs";
31
+ import { signAndSendSerializedTransaction as H } from "../../functions/web3/signAndSendSerializedTransaction.mjs";
32
+ const _ = async (t, e, o, n) => {
33
+ const {
34
+ hinkalIdl: s,
35
+ hinkalAddress: c,
36
+ originalDeployer: d
37
+ } = z[t.getCurrentChainId()].contractData;
38
+ if (!s)
36
39
  throw new Error("No IDL configured for Solana program on this network");
37
- if (!m)
40
+ if (!d)
38
41
  throw new Error("missing original deployer");
39
- const c = t.getSolanaProgram(h), D = t.getSolanaPublicKey(), r = new d(m), u = new d(S), { mintPublicKey: i } = V(a), l = i.toString(), g = N(u, r), y = M(u, r), b = O(u, r), A = x(o);
40
- if (await H(
41
- c,
42
- new d(r),
43
- [a],
44
- [n]
42
+ const a = t.getSolanaProgram(s), P = t.getSolanaPublicKey(), r = new m(d), u = new m(c), { mintPublicKey: i } = T(o), l = i.toString(), g = B(u, r), S = N(u, r), K = M(u, r), h = O(n), k = t.getCurrentChainId();
43
+ if (await F(
44
+ a,
45
+ new m(r),
46
+ [o],
47
+ [e]
45
48
  )) {
46
- const { serializedTransaction: P, blockhash: E, lastValidBlockHeight: I } = await F.generateProoflessDepositLimitless({
47
- amount: n.toString(),
48
- payer: t.getSolanaPublicKey().toBase58(),
49
- ethereumAddress: await t.getEthereumAddressByChain(e),
50
- mint: a,
51
- stealthAddressStructure: A,
52
- chainId: e
53
- }), { wallet: k } = c.provider;
54
- if (!k)
49
+ const { serializedTransaction: w, blockhash: C, lastValidBlockHeight: E } = await q.generateProoflessDepositLimitless(
50
+ k,
51
+ {
52
+ amount: e.toString(),
53
+ payer: t.getSolanaPublicKey().toBase58(),
54
+ ethereumAddress: await t.getEthereumAddress(),
55
+ mint: o,
56
+ stealthAddressStructure: h
57
+ }
58
+ ), { wallet: A } = a.provider;
59
+ if (!A)
55
60
  throw new Error("missing wallet");
56
- return _(c.provider, P, E, I);
61
+ return H(a.provider, w, C, E);
57
62
  }
58
- const w = q(c.programId, r, i), v = l === K ? null : i, f = l === K ? null : void 0;
59
- return c.methods.prooflessDeposit(new J(n.toString()), A).accounts({
60
- mint: v,
61
- signer: D,
62
- signerAta: f,
63
+ const b = x(a.programId, r, i), I = l === f ? null : i, y = l === f ? null : void 0;
64
+ return a.methods.prooflessDeposit(new j(e.toString()), h).accounts({
65
+ mint: I,
66
+ signer: P,
67
+ signerAta: y,
63
68
  originalDeployer: r,
64
69
  storageAccount: g,
65
- storageVault: y,
66
- merkleAccount: b,
67
- tokenLimitStorage: w,
68
- storageVaultAta: f,
70
+ storageVault: S,
71
+ merkleAccount: K,
72
+ tokenLimitStorage: b,
73
+ storageVaultAta: y,
69
74
  accessTokenOwner: null
70
75
  }).rpc();
71
- }, Tt = async (t, n, s) => {
72
- const o = t.userKeys.getShieldedPrivateKey(), e = C.findCorrectRandomization(B(31), o), a = L(e, o);
73
- return U(t, n, s, a);
74
- }, Ct = async (t, n, s, o) => {
75
- if (!Q(o))
76
- throw Error(X.RECIPIENT_FORMAT_INCORRECT);
77
- const e = W(o);
78
- return U(t, n, s, e);
79
- }, Vt = async (t, n, s) => {
80
- const o = G([s]), e = s.erc20TokenAddress, { hinkalIdl: a, hinkalAddress: h, originalDeployer: S } = z[o].contractData;
81
- if (!a)
76
+ }, Ct = async (t, e, o) => {
77
+ const n = t.userKeys.getShieldedPrivateKey(), s = v.findCorrectRandomization(V(31), n), c = L(s, n);
78
+ return _(t, e, o, c);
79
+ }, Et = async (t, e, o, n) => {
80
+ if (!G(n))
81
+ throw Error(Q.RECIPIENT_FORMAT_INCORRECT);
82
+ const s = J(n);
83
+ return _(t, e, o, s);
84
+ }, Rt = async (t, e, o) => {
85
+ const {
86
+ hinkalIdl: n,
87
+ hinkalAddress: s,
88
+ originalDeployer: c
89
+ } = z[t.getCurrentChainId()].contractData;
90
+ if (!n)
82
91
  throw new Error("No IDL configured for Solana program on this network");
83
- if (!S)
92
+ if (!c)
84
93
  throw new Error("missing original deployer");
85
- const m = t.userKeys.getShieldedPrivateKey(), c = C.findCorrectRandomization(B(31), m), D = L(c, m), r = t.getSolanaProgram(a), u = t.getSolanaPublicKey(), i = new d(S), l = new d(h), { mintPublicKey: g } = V(e), y = g.toString(), b = N(l, i), A = M(l, i), T = O(l, i), w = x(D), v = n.reduce((p, R) => p + R, 0n), f = await H(
94
+ const d = t.userKeys.getShieldedPrivateKey(), a = v.findCorrectRandomization(V(31), d), P = L(a, d), r = t.getSolanaProgram(n), u = t.getSolanaPublicKey(), i = new m(c), l = new m(s), { mintPublicKey: g } = T(o), S = g.toString(), K = B(l, i), h = N(l, i), k = M(l, i), D = O(P), b = t.getCurrentChainId(), I = e.reduce((p, R) => p + R, 0n), y = await F(
86
95
  r,
87
- new d(i),
88
- [e],
89
- [v]
90
- ), P = n.map((p) => `${p}`);
91
- if (f) {
92
- const { serializedTransaction: p, blockhash: R, lastValidBlockHeight: $ } = await F.generateMultiPaymentDepositLimitless({
93
- amounts: P,
94
- payer: t.getSolanaPublicKey().toBase58(),
95
- ethereumAddress: await t.getEthereumAddressByChain(o),
96
- mint: e,
97
- stealthAddressStructure: w,
98
- chainId: o
99
- }), { wallet: j } = r.provider;
100
- if (!j)
96
+ new m(i),
97
+ [o],
98
+ [I]
99
+ ), w = e.map((p) => `${p}`);
100
+ if (y) {
101
+ const { serializedTransaction: p, blockhash: R, lastValidBlockHeight: U } = await q.generateMultiPaymentDepositLimitless(
102
+ b,
103
+ {
104
+ amounts: w,
105
+ payer: t.getSolanaPublicKey().toBase58(),
106
+ ethereumAddress: await t.getEthereumAddress(),
107
+ mint: o,
108
+ stealthAddressStructure: D
109
+ }
110
+ ), { wallet: $ } = r.provider;
111
+ if (!$)
101
112
  throw new Error("missing wallet");
102
- return _(r.provider, p, R, $);
113
+ return H(r.provider, p, R, U);
103
114
  }
104
- const E = q(r.programId, i, g), I = y === K ? null : g, k = y === K ? null : void 0;
105
- return r.methods.multiPaymentDeposit(P, w).accounts({
106
- mint: I,
115
+ const C = x(r.programId, i, g), E = S === f ? null : g, A = S === f ? null : void 0;
116
+ return r.methods.multiPaymentDeposit(w, D).accounts({
117
+ mint: E,
107
118
  signer: u,
108
- signerAta: k,
119
+ signerAta: A,
109
120
  originalDeployer: i,
110
- storageAccount: b,
111
- storageVault: A,
112
- merkleAccount: T,
113
- tokenLimitStorage: E,
114
- storageVaultAta: k,
121
+ storageAccount: K,
122
+ storageVault: h,
123
+ merkleAccount: k,
124
+ tokenLimitStorage: C,
125
+ storageVaultAta: A,
115
126
  accessTokenOwner: null
116
127
  }).rpc();
117
128
  };
118
129
  export {
119
- Tt as hinkalSolanaDeposit,
120
- Ct as hinkalSolanaDepositForOther,
121
- Vt as hinkalSolanaMultiPaymentDeposit
130
+ Ct as hinkalSolanaDeposit,
131
+ Et as hinkalSolanaDepositForOther,
132
+ Rt as hinkalSolanaMultiPaymentDeposit
122
133
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const I=require("../../functions/web3/etherFunctions.cjs");require("../../functions/web3/events/getInputUtxoAndBalance.cjs");require("../../constants/token-data/index.cjs");const B=require("../../constants/protocol.constants.cjs"),L=require("../../constants/chains.constants.cjs"),F=require("../utxo/Utxo.cjs"),W=require("../../error-handling/error-codes.constants.cjs");require("idb-keyval");const $=require("../../API/API.cjs");require("../../constants/vite.constants.cjs");const Z=require("../../functions/utils/token-check.utils.cjs");require("async-mutex");const M=require("../../functions/utils/solanaMint.utils.cjs");require("../../types/circom-data.types.cjs");const G=require("../../types/external-action.types.cjs");require("../../types/transactions.types.cjs");require("../../types/activities.types.cjs");require("../../functions/web3/events/getApprovedBalance.cjs");const X=require("ethers"),z=require("@solana/web3.js");require("../http/HttpClient.cjs");require("../../functions/utils/convertIntegrationProviderToExternalActionId.cjs");require("../../constants/server.constants.cjs");require("../../API/getServerURL.cjs");require("axios");const Y=require("../../functions/utils/addresses.cjs"),x=require("../../functions/pre-transaction/solana.cjs");require("@solana/spl-token");require("ethers-v6h");require("tweetnacl");require("bs58");const J=require("@coral-xyz/anchor");require("buffer");require("../../constants/contracts.constants.cjs");require("../../constants/kyc.constants.cjs");require("../../constants/coingecko.constants.cjs");require("../../constants/reorg-depths.constants.cjs");require("../../constants/addresses.constants.cjs");require("../../constants/token.limits.constants.cjs");require("../../constants/presale.constants.cjs");require("../../constants/activity.constants.cjs");require("../../constants/tasks.constants.cjs");require("../../constants/events.constants.cjs");require("../../functions/utils/userAgent.cjs");const Q=require("../../functions/utils/time.utils.cjs");require("circomlibjs-hinkal-fork");require("../crypto-keys/keys.cjs");require("libsodium-wrappers");require("multiformats");require("process");require("../../providers/EthersProviderAdapter.cjs");const ee=require("../../functions/utils/fees.utils.cjs");require("../../functions/web3/getTokenHolder.cjs");const te=require("../../functions/web3/signAndSendSerializedTransaction.cjs"),H=require("../../functions/snarkjs/common.snarkjs.cjs"),re=require("./hinkalCheckSolanaTokenRegistry.cjs"),oe=require("../../functions/utils/getUtxosFromReceiptSolana.cjs"),ne=require("../../functions/snarkjs/constructSolanaZkProof.cjs"),se=require("../../functions/web3/functionCalls/transactCallRelayer.cjs"),ie=require("../../functions/pre-transaction/getFeeStructure.cjs"),ae=async(e,t,p,l,d,A)=>{const i=p.erc20TokenAddress,n=l.map(r=>r+ee.calculateTotalFee(r,A)),{hinkalIdl:m,hinkalAddress:g,originalDeployer:h}=L.networkRegistry[t].contractData;if(!m)throw new Error("No IDL configured for Solana program on this network");if(!h)throw new Error("missing original deployer");const y=e.userKeys.getShieldedPrivateKey(),C=F.Utxo.findCorrectRandomization(I.randomBigInt(31),y),K=H.calcStealthAddressStructure(C,y),o=e.getSolanaProgram(m),V=e.getSolanaPublicKey(),s=new z.PublicKey(h),w=new z.PublicKey(g),{mintPublicKey:S}=M.formatMintAddress(i),f=S.toString(),U=x.getStorageAccountPublicKey(w,s),D=x.getStorageVaultPublicKey(w,s),R=x.getMerkleAccountPublicKey(w,s),P=x.buildAnchorStealthAddressStructure(K),k=n.reduce((r,a)=>r+a,0n),_=await re.hinkalCheckSolanaTokenRegistry(o,new z.PublicKey(s),[i],[k]),b=n.map(r=>`${r}`);let q="";if(_){const{serializedTransaction:r,blockhash:a,lastValidBlockHeight:c}=await $.API.generateMultiPaymentDepositLimitless({amounts:b,payer:e.getSolanaPublicKey().toBase58(),ethereumAddress:await e.getEthereumAddressByChain(t),mint:i,stealthAddressStructure:P,chainId:t}),{wallet:u}=o.provider;if(!u)throw new Error("missing wallet");q=await te.signAndSendSerializedTransaction(o.provider,r,a,c)}else{const r=x.getTokenLimitStorageAccountPublicKey(o.programId,s,S),a=f===B.solanaNativeAddress?null:S,c=f===B.solanaNativeAddress?null:void 0;q=await o.methods.multiPaymentDeposit(b.map(O=>new J.BN(O)),P).accounts({mint:a,signer:V,signerAta:c,originalDeployer:s,storageAccount:U,storageVault:D,merkleAccount:R,tokenLimitStorage:r,storageVaultAta:c,accessTokenOwner:null}).rpc();const u=await o.provider.connection.getLatestBlockhash();await o.provider.connection.confirmTransaction({blockhash:u.blockhash,lastValidBlockHeight:u.lastValidBlockHeight,signature:q},"confirmed")}const T=await o.provider.connection.getTransaction(q,{commitment:"confirmed",maxSupportedTransactionVersion:0});if(!T)throw new Error("Transaction missing");const N=oe.getUtxosFromReceiptSolana(T,o,e.userKeys),E=[],v=[...N];return d.forEach((r,a)=>{const c=n[a],u=v.find(j=>j.amount===c);if(!u)throw new Error(`Could not find newly created UTXO with amount ${c} for recipient ${r}.`);E.push({recipientAddress:r,utxo:u});const O=v.indexOf(u);v.splice(O,1)}),E},ce=async(e,t,p,l,d,A,i)=>{const n=p.erc20TokenAddress;if(l.length===0)throw new Error("userDepositedUtxos must not be empty");const{hinkalIdl:m,originalDeployer:g}=L.networkRegistry[t].contractData;if(!g||!m)throw new Error("missing data");const h=e.getSolanaProgram(m),y=await e.getRandomRelay(t,!0);if(!y)throw new Error(W.transactionErrorCodes.RELAYER_NOT_AVAILABLE);const C=Q.getCurrentTimeInSeconds().toString(),K=e.generateProofRemotely?5:1,o=[];for(let s=0;s<l.length;s+=K){const w=l.slice(s,s+K),S=await Promise.all(w.map(async({recipientAddress:f,utxo:U})=>{const{compressedAddress:D}=M.formatMintAddress(B.solanaNativeAddress),R=new F.Utxo({amount:0n,mintAddress:n,erc20TokenAddress:D,shieldedPrivateKey:e.userKeys.getShieldedPrivateKey(),timeStamp:C,tokenId:0}),P=[U,R],k=[R],_=F.Utxo.findCorrectRandomization(I.randomBigInt(31),e.userKeys.getShieldedPrivateKey()),b={tokenNumber:1,nullifierAmount:P.length,outputAmount:k.length},q=H.calcEncryptedOutputs([k])[0][0],T=Array.from(X.ethers.utils.arrayify(q)),{proofAArr:N,proofBArr:E,proofCArr:v,publicInputsArr:r}=await ne.constructSolanaZkProof(e.generateProofRemotely,g,e.merkleTreeHinkalByChain[t],e.merkleTreeAccessTokenByChain[t],e.userKeys,h,[n],[P],[k],_,d.flatFee,d.variableRate,f,y,b,[T],t,void 0,void 0,void 0,void 0,void 0,!1),a=n===B.solanaNativeAddress,c={recipient:f,mint:a?void 0:n};return{relayAddress:y,functionName:"transact",chainId:t,args:{proofAArr:N,proofBArr:E,proofCArr:v,publicInputsArr:r,encryptedOutputs:[T],relayerFee:d.flatFee.toString(),dimensions:b},accounts:c}}));o.push(...S)}return await se.solanaTransactCallRelayerBatch(t,o,A,i)},ue=async(e,t,p,l,d,A)=>{const i=Z.validateAndGetChainId([t]),n=t.erc20TokenAddress,m=Y.hashEthereumAddress(await e.getEthereumAddressByChain(i)),g=A??await ie.getFeeStructure(i,n,[n],G.ExternalActionId.Transact,[],0n),h=await ae(e,i,t,p,l,g);return ce(e,i,t,h,g,m,d)};exports.hinkalSolanaDepositAndWithdraw=ue;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const M=require("../../functions/web3/etherFunctions.cjs"),z=require("../utxo/Utxo.cjs"),Y=require("../../error-handling/error-codes.constants.cjs");require("idb-keyval");const j=require("../../constants/chains.constants.cjs"),G=require("ethers");require("../crypto-keys/keys.cjs");require("node-forge");require("../../constants/vite.constants.cjs");require("libsodium-wrappers");require("../http/HttpClient.cjs");require("axios");const $=require("../../functions/utils/solanaMint.utils.cjs"),N=require("@solana/web3.js"),J=require("../../functions/utils/addresses.cjs");require("../../constants/server.constants.cjs");require("../../constants/token-data/index.cjs");const _=require("../../constants/protocol.constants.cjs"),Q=require("../../API/API.cjs");require("../../functions/utils/mutexes.utils.cjs");require("../../types/circom-data.types.cjs");const ee=require("../../types/external-action.types.cjs");require("../../types/activities.types.cjs");const B=require("../../types/scheduled-transactions.types.cjs");require("../../functions/web3/events/getApprovedBalance.cjs");require("../../constants/contracts.constants.cjs");require("../../constants/kyc.constants.cjs");require("../../constants/coingecko.constants.cjs");require("../../constants/reorg-depths.constants.cjs");require("../../constants/addresses.constants.cjs");require("../../constants/token.limits.constants.cjs");require("../../constants/presale.constants.cjs");require("../../constants/activity.constants.cjs");require("../../constants/tasks.constants.cjs");require("../../constants/events.constants.cjs");require("../../functions/utils/convertIntegrationProviderToExternalActionId.cjs");require("../../API/getServerURL.cjs");require("circomlibjs-hinkal-fork");require("process");require("buffer");require("../../constants/save-depths.cjs");const te=require("@coral-xyz/anchor"),E=require("../../functions/pre-transaction/solana.cjs");require("@solana/spl-token");require("../../functions/utils/userAgent.cjs");const re=require("../../functions/utils/time.utils.cjs");require("multiformats");require("../../API/tenderly.api.cjs");const oe=require("../../functions/utils/fees.utils.cjs");require("../../functions/web3/getTokenHolder.cjs");const ne=require("../../functions/web3/signAndSendSerializedTransaction.cjs"),Z=require("../../functions/snarkjs/common.snarkjs.cjs"),ae=require("./hinkalCheckSolanaTokenRegistry.cjs"),se=require("../../functions/utils/getUtxosFromReceiptSolana.cjs"),ie=require("../../functions/snarkjs/constructSolanaZkProof.cjs"),ce=require("../../functions/web3/functionCalls/transactCallRelayer.cjs"),ue=require("../../functions/pre-transaction/getFeeStructure.cjs"),W=require("../../API/deposit-and-withdraw-status-calls.cjs"),de=async(e,r,d,l,g,h)=>{const p=d.map(t=>t+oe.calculateTotalFee(t,g)),{hinkalIdl:m,hinkalAddress:q,originalDeployer:i}=j.networkRegistry[e.getCurrentChainId()].contractData;if(!m)throw new Error("No IDL configured for Solana program on this network");if(!i)throw new Error("missing original deployer");const w=e.userKeys.getShieldedPrivateKey(),P=z.Utxo.findCorrectRandomization(M.randomBigInt(31),w),S=Z.calcStealthAddressStructure(P,w),o=e.getSolanaProgram(m),b=e.getSolanaPublicKey(),n=new N.PublicKey(i),A=new N.PublicKey(q),{mintPublicKey:c}=$.formatMintAddress(r),D=c.toString(),O=E.getStorageAccountPublicKey(A,n),R=E.getStorageVaultPublicKey(A,n),F=E.getMerkleAccountPublicKey(A,n),v=E.buildAnchorStealthAddressStructure(S),f=e.getCurrentChainId(),x=p.reduce((t,s)=>t+s,0n),I=await ae.hinkalCheckSolanaTokenRegistry(o,new N.PublicKey(n),[r],[x]),K=p.map(t=>`${t}`);let a="";const T=(await W.updateDepositAndWithdrawStatus(f,{hashedEthereumAddress:h,phase:B.DepositAndWithdrawPhase.BEFORE_DEPOSIT})).id??void 0;if(I){const{serializedTransaction:t,blockhash:s,lastValidBlockHeight:y}=await Q.API.generateMultiPaymentDepositLimitless(f,{amounts:K,payer:e.getSolanaPublicKey().toBase58(),ethereumAddress:await e.getEthereumAddress(),mint:r,stealthAddressStructure:v}),{wallet:u}=o.provider;if(!u)throw new Error("missing wallet");a=await ne.signAndSendSerializedTransaction(o.provider,t,s,y)}else{const t=E.getTokenLimitStorageAccountPublicKey(o.programId,n,c),s=D===_.solanaNativeAddress?null:c,y=D===_.solanaNativeAddress?null:void 0;a=await o.methods.multiPaymentDeposit(K.map(L=>new te.BN(L)),v).accounts({mint:s,signer:b,signerAta:y,originalDeployer:n,storageAccount:O,storageVault:R,merkleAccount:F,tokenLimitStorage:t,storageVaultAta:y,accessTokenOwner:null}).rpc();const u=await o.provider.connection.getLatestBlockhash();await o.provider.connection.confirmTransaction({blockhash:u.blockhash,lastValidBlockHeight:u.lastValidBlockHeight,signature:a},"confirmed")}const k=await o.provider.connection.getTransaction(a,{commitment:"confirmed",maxSupportedTransactionVersion:0});if(!k)throw new Error("Transaction missing");await W.safeUpdateDepositAndWithdrawStatus(f,{id:T,hashedEthereumAddress:h,phase:B.DepositAndWithdrawPhase.AFTER_DEPOSIT,depositTxHash:a});const H=se.getUtxosFromReceiptSolana(k,o,e.userKeys),U=[],C=[...H];return l.forEach((t,s)=>{const y=p[s],u=C.find(X=>X.amount===y);if(!u)throw new Error(`Could not find newly created UTXO with amount ${y} for recipient ${t}.`);U.push({recipientAddress:t,utxo:u});const L=C.indexOf(u);C.splice(L,1)}),{userDepositedUtxos:U,signature:a,statusId:T}},le=async(e,r,d,l,g,h,p,m)=>{const q=e.getCurrentChainId();if(d.length===0)throw new Error("userDepositedUtxos must not be empty");const{hinkalIdl:i,originalDeployer:w}=j.networkRegistry[e.getCurrentChainId()].contractData;if(!w||!i)throw new Error("missing data");const P=e.getSolanaProgram(i),S=await e.getRandomRelay(!0);if(!S)throw new Error(Y.transactionErrorCodes.RELAYER_NOT_AVAILABLE);const o=re.getCurrentTimeInSeconds().toString(),b=e.generateProofRemotely?5:1,n=[];for(let c=0;c<d.length;c+=b){const D=d.slice(c,c+b),O=await Promise.all(D.map(async({recipientAddress:R,utxo:F})=>{const{compressedAddress:v}=$.formatMintAddress(_.solanaNativeAddress),f=new z.Utxo({amount:0n,mintAddress:r,erc20TokenAddress:v,shieldedPrivateKey:e.userKeys.getShieldedPrivateKey(),timeStamp:o,tokenId:0}),x=[F,f],I=[f],K=z.Utxo.findCorrectRandomization(M.randomBigInt(31),e.userKeys.getShieldedPrivateKey()),a={tokenNumber:1,nullifierAmount:x.length,outputAmount:I.length},V=Z.calcEncryptedOutputs([I])[0][0],T=Array.from(G.ethers.getBytes(V)),{proofAArr:k,proofBArr:H,proofCArr:U,publicInputsArr:C}=await ie.constructSolanaZkProof(e.generateProofRemotely,w,e.merkleTreeHinkal,e.merkleTreeAccessToken,e.userKeys,P,[r],[x],[I],K,l.flatFee,l.variableRate,R,S,a,[T],e.getCurrentChainId(),void 0,void 0,void 0,void 0,void 0,!1),t=r===_.solanaNativeAddress,s={recipient:R,mint:t?void 0:r};return{relayAddress:S,functionName:"transact",args:{proofAArr:k,proofBArr:H,proofCArr:U,publicInputsArr:C,encryptedOutputs:[T],relayerFee:l.flatFee.toString(),dimensions:a},accounts:s}}));n.push(...O)}await W.safeUpdateDepositAndWithdrawStatus(q,{id:h,hashedEthereumAddress:g,phase:B.DepositAndWithdrawPhase.BEFORE_SCHEDULE_WITHDRAW});const A=await ce.solanaTransactCallRelayerBatch(e.getCurrentChainId(),n,g,p,m);return await W.safeUpdateDepositAndWithdrawStatus(q,{id:h,hashedEthereumAddress:g,phase:B.DepositAndWithdrawPhase.AFTER_SCHEDULE_WITHDRAW,scheduleId:A}),A},ge=async(e,r,d,l,g,h,p)=>{const m=J.hashEthereumAddress(await e.getEthereumAddress()),q=e.getCurrentChainId(),i=h??await ue.getFeeStructure(q,r,[r],ee.ExternalActionId.Transact,[],0n),{userDepositedUtxos:w,statusId:P}=await de(e,r,d,l,i,m);return await le(e,r,w,i,m,P,g,p)};exports.hinkalSolanaDepositAndWithdraw=ge;
@@ -1,4 +1,3 @@
1
1
  import { FeeStructure } from '../../types/hinkal.types';
2
2
  import { IHinkal } from './IHinkal';
3
- import { ERC20Token } from '../../types/token.types';
4
- export declare const hinkalSolanaDepositAndWithdraw: (hinkal: IHinkal, token: ERC20Token, recipientAmounts: bigint[], recipientAddresses: string[], txCompletionTime?: number, feeStructureOverride?: FeeStructure) => Promise<string>;
3
+ export declare const hinkalSolanaDepositAndWithdraw: (hinkal: IHinkal, mintAddress: string, recipientAmounts: bigint[], recipientAddresses: string[], txCompletionTime?: number, feeStructureOverride?: FeeStructure, ref?: string) => Promise<string>;