@hinkal/common 0.2.18 → 0.2.19

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 (454) hide show
  1. package/API/API.cjs +1 -1
  2. package/API/API.d.ts +8 -13
  3. package/API/API.mjs +86 -94
  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/callLifiAPI.cjs +1 -1
  8. package/API/callLifiAPI.d.ts +1 -1
  9. package/API/callLifiAPI.mjs +5 -5
  10. package/API/callMonitor.cjs +1 -1
  11. package/API/callMonitor.d.ts +1 -1
  12. package/API/callMonitor.mjs +7 -7
  13. package/API/callOdosAPI.cjs +1 -1
  14. package/API/callOdosAPI.mjs +11 -11
  15. package/API/callOkxAPI.cjs +1 -1
  16. package/API/callOkxAPI.d.ts +1 -1
  17. package/API/callOkxAPI.mjs +5 -5
  18. package/API/callOneInchAPI.cjs +1 -1
  19. package/API/callOneInchAPI.mjs +10 -11
  20. package/API/callRelayer.cjs +1 -1
  21. package/API/callRelayer.d.ts +6 -3
  22. package/API/callRelayer.mjs +11 -11
  23. package/API/checkRisk.cjs +1 -1
  24. package/API/checkRisk.d.ts +1 -1
  25. package/API/checkRisk.mjs +4 -4
  26. package/API/fetchCommitmentsCache.cjs +1 -1
  27. package/API/fetchCommitmentsCache.mjs +9 -9
  28. package/API/get-token-data.cjs +1 -1
  29. package/API/get-token-data.d.ts +1 -1
  30. package/API/get-token-data.mjs +5 -5
  31. package/API/get-token-price-chart-data.cjs +1 -0
  32. package/API/get-token-price-chart-data.d.ts +16 -0
  33. package/API/get-token-price-chart-data.mjs +13 -0
  34. package/API/getGasEstimates.cjs +1 -1
  35. package/API/getGasEstimates.mjs +9 -9
  36. package/API/getServerURL.cjs +1 -1
  37. package/API/getServerURL.d.ts +3 -3
  38. package/API/getServerURL.mjs +51 -67
  39. package/API/getTokenPrice.cjs +1 -1
  40. package/API/getTokenPrice.d.ts +5 -0
  41. package/API/getTokenPrice.mjs +14 -7
  42. package/API/index.d.ts +0 -3
  43. package/API/is-tx-stateless.cjs +1 -1
  44. package/API/is-tx-stateless.d.ts +1 -1
  45. package/API/is-tx-stateless.mjs +10 -12
  46. package/API/kycCalls.cjs +1 -1
  47. package/API/kycCalls.d.ts +4 -8
  48. package/API/kycCalls.mjs +23 -26
  49. package/API/onrampCalls.cjs +1 -0
  50. package/API/onrampCalls.d.ts +20 -0
  51. package/API/onrampCalls.mjs +15 -0
  52. package/API/proxyAccountsCalls.cjs +1 -1
  53. package/API/proxyAccountsCalls.d.ts +2 -2
  54. package/API/proxyAccountsCalls.mjs +19 -19
  55. package/API/relayCalls.cjs +1 -1
  56. package/API/relayCalls.mjs +4 -4
  57. package/API/scheduled-transactions-calls.cjs +1 -1
  58. package/API/scheduled-transactions-calls.d.ts +1 -1
  59. package/API/scheduled-transactions-calls.mjs +4 -4
  60. package/API/simulate-batch-tx.cjs +1 -1
  61. package/API/simulate-batch-tx.d.ts +2 -2
  62. package/API/simulate-batch-tx.mjs +7 -6
  63. package/API/solana-calls.cjs +1 -1
  64. package/API/solana-calls.d.ts +6 -3
  65. package/API/solana-calls.mjs +15 -15
  66. package/API/token-calls.cjs +1 -1
  67. package/API/token-calls.mjs +6 -5
  68. package/API/unspent-utxos-calls.cjs +1 -1
  69. package/API/unspent-utxos-calls.d.ts +1 -1
  70. package/API/unspent-utxos-calls.mjs +15 -18
  71. package/README.md +233 -64
  72. package/constants/addresses.constants.cjs +1 -1
  73. package/constants/addresses.constants.d.ts +0 -1
  74. package/constants/addresses.constants.mjs +7 -8
  75. package/constants/chains.constants.cjs +1 -1
  76. package/constants/chains.constants.d.ts +0 -5
  77. package/constants/chains.constants.mjs +19 -24
  78. package/constants/coingecko.constants.cjs +1 -1
  79. package/constants/coingecko.constants.d.ts +1 -0
  80. package/constants/coingecko.constants.mjs +11 -10
  81. package/constants/contracts.constants.cjs +1 -1
  82. package/constants/contracts.constants.mjs +34 -41
  83. package/constants/function-signatures.constants.cjs +1 -1
  84. package/constants/function-signatures.constants.d.ts +0 -1
  85. package/constants/function-signatures.constants.mjs +3 -4
  86. package/constants/mystery-boxes.constants.d.ts +0 -0
  87. package/constants/permit2.constants.cjs +1 -1
  88. package/constants/permit2.constants.d.ts +0 -1
  89. package/constants/permit2.constants.mjs +10 -11
  90. package/constants/server.constants.cjs +1 -1
  91. package/constants/server.constants.d.ts +14 -122
  92. package/constants/server.constants.mjs +44 -152
  93. package/constants/token-data/ethMainnetRegistry.json.cjs +1 -1
  94. package/constants/token-data/ethMainnetRegistry.json.mjs +0 -24
  95. package/constants/token-data/ethMainnetRegistryFixed.json.cjs +1 -1
  96. package/constants/token-data/ethMainnetRegistryFixed.json.mjs +0 -24
  97. package/constants/token-data/index.d.ts +32 -88
  98. package/constants/token-data/localhostRegistry.json.cjs +1 -1
  99. package/constants/token-data/localhostRegistry.json.mjs +0 -26
  100. package/constants/token-data/popularTokens.constants.cjs +1 -1
  101. package/constants/token-data/popularTokens.constants.mjs +0 -1
  102. package/data-structures/Hinkal/Hinkal.cjs +1 -1
  103. package/data-structures/Hinkal/Hinkal.d.ts +33 -48
  104. package/data-structures/Hinkal/Hinkal.mjs +237 -300
  105. package/data-structures/Hinkal/IHinkal.d.ts +32 -47
  106. package/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
  107. package/data-structures/Hinkal/handleAutoDepositBack.d.ts +1 -1
  108. package/data-structures/Hinkal/handleAutoDepositBack.mjs +42 -42
  109. package/data-structures/Hinkal/hinkalActionReceive.cjs +1 -1
  110. package/data-structures/Hinkal/hinkalActionReceive.mjs +25 -23
  111. package/data-structures/Hinkal/hinkalCheckTokenRegistry.cjs +1 -1
  112. package/data-structures/Hinkal/hinkalCheckTokenRegistry.mjs +9 -9
  113. package/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
  114. package/data-structures/Hinkal/hinkalDeposit.mjs +95 -93
  115. package/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
  116. package/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +111 -115
  117. package/data-structures/Hinkal/hinkalGetZkMeProvider.cjs +1 -1
  118. package/data-structures/Hinkal/hinkalGetZkMeProvider.mjs +1 -2
  119. package/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
  120. package/data-structures/Hinkal/hinkalPrivateWallet.d.ts +1 -1
  121. package/data-structures/Hinkal/hinkalPrivateWallet.mjs +107 -115
  122. package/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
  123. package/data-structures/Hinkal/hinkalProoflessDeposit.mjs +36 -34
  124. package/data-structures/Hinkal/hinkalProxySwap.cjs +1 -1
  125. package/data-structures/Hinkal/hinkalProxySwap.mjs +34 -33
  126. package/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -1
  127. package/data-structures/Hinkal/hinkalProxyToPrivate.mjs +26 -24
  128. package/data-structures/Hinkal/hinkalSignSubAccount.cjs +1 -1
  129. package/data-structures/Hinkal/hinkalSignSubAccount.d.ts +1 -2
  130. package/data-structures/Hinkal/hinkalSignSubAccount.mjs +8 -9
  131. package/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
  132. package/data-structures/Hinkal/hinkalSolanaDeposit.d.ts +4 -3
  133. package/data-structures/Hinkal/hinkalSolanaDeposit.mjs +86 -97
  134. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  135. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +2 -1
  136. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +146 -146
  137. package/data-structures/Hinkal/hinkalSolanaProxySend.cjs +1 -1
  138. package/data-structures/Hinkal/hinkalSolanaProxySend.d.ts +2 -3
  139. package/data-structures/Hinkal/hinkalSolanaProxySend.mjs +38 -38
  140. package/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -1
  141. package/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +57 -56
  142. package/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
  143. package/data-structures/Hinkal/hinkalSolanaProxySwap.d.ts +1 -1
  144. package/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +59 -58
  145. package/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
  146. package/data-structures/Hinkal/hinkalSolanaSwap.d.ts +1 -1
  147. package/data-structures/Hinkal/hinkalSolanaSwap.mjs +83 -79
  148. package/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
  149. package/data-structures/Hinkal/hinkalSolanaTransfer.mjs +49 -48
  150. package/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
  151. package/data-structures/Hinkal/hinkalSolanaWithdraw.d.ts +2 -1
  152. package/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +67 -64
  153. package/data-structures/Hinkal/hinkalSwap.cjs +1 -1
  154. package/data-structures/Hinkal/hinkalSwap.mjs +75 -87
  155. package/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
  156. package/data-structures/Hinkal/hinkalTransfer.mjs +55 -58
  157. package/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
  158. package/data-structures/Hinkal/hinkalWithdraw.mjs +80 -82
  159. package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
  160. package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +98 -102
  161. package/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
  162. package/data-structures/Hinkal/resetMerkleTrees.d.ts +1 -1
  163. package/data-structures/Hinkal/resetMerkleTrees.mjs +105 -53
  164. package/data-structures/IndexedDB/activity-db.cjs +1 -1
  165. package/data-structures/IndexedDB/activity-db.mjs +7 -7
  166. package/data-structures/IndexedDB/balances-db.cjs +1 -1
  167. package/data-structures/IndexedDB/balances-db.mjs +8 -8
  168. package/data-structures/IndexedDB/contact-db.cjs +1 -1
  169. package/data-structures/IndexedDB/contact-db.mjs +10 -10
  170. package/data-structures/IndexedDB/signatures-db.cjs +1 -1
  171. package/data-structures/IndexedDB/signatures-db.mjs +25 -40
  172. package/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
  173. package/data-structures/TokenDBs/EventsPublicTokensDB.mjs +10 -11
  174. package/data-structures/TokenDBs/token-visibility-db.cjs +1 -1
  175. package/data-structures/TokenDBs/token-visibility-db.mjs +22 -36
  176. package/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -1
  177. package/data-structures/crypto-keys/encryptDecryptUtxo.d.ts +1 -1
  178. package/data-structures/crypto-keys/encryptDecryptUtxo.mjs +14 -14
  179. package/data-structures/event-service/evm/AbstractEventService.cjs +1 -1
  180. package/data-structures/event-service/evm/AbstractEventService.d.ts +1 -0
  181. package/data-structures/event-service/evm/AbstractEventService.mjs +7 -4
  182. package/data-structures/event-service/evm/AbstractSnapshotService.cjs +1 -1
  183. package/data-structures/event-service/evm/AbstractSnapshotService.d.ts +0 -1
  184. package/data-structures/event-service/evm/AbstractSnapshotService.mjs +3 -4
  185. package/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
  186. package/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +3 -1
  187. package/data-structures/event-service/evm/BlockchainEventEmitter.mjs +17 -14
  188. package/data-structures/event-service/solana/AbstractSolanaEventService.cjs +1 -1
  189. package/data-structures/event-service/solana/AbstractSolanaEventService.d.ts +1 -0
  190. package/data-structures/event-service/solana/AbstractSolanaEventService.mjs +9 -6
  191. package/data-structures/event-service/solana/AbstractSolanaSnapshotService.cjs +1 -1
  192. package/data-structures/event-service/solana/AbstractSolanaSnapshotService.d.ts +0 -1
  193. package/data-structures/event-service/solana/AbstractSolanaSnapshotService.mjs +1 -2
  194. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.cjs +1 -1
  195. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.d.ts +3 -2
  196. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.mjs +42 -45
  197. package/data-structures/provider-adapter/IProviderAdapter.d.ts +8 -13
  198. package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.cjs +1 -1
  199. package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.mjs +3 -4
  200. package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.cjs +1 -1
  201. package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.mjs +3 -4
  202. package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.cjs +1 -1
  203. package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.mjs +3 -4
  204. package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.cjs +1 -1
  205. package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.mjs +3 -4
  206. package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.cjs +1 -1
  207. package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.mjs +3 -4
  208. package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.cjs +1 -1
  209. package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.mjs +2 -4
  210. package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.cjs +1 -1
  211. package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.mjs +3 -4
  212. package/data-structures/utxo/Utxo.cjs +1 -1
  213. package/data-structures/utxo/Utxo.d.ts +1 -7
  214. package/data-structures/utxo/Utxo.mjs +26 -36
  215. package/error-handling/error-codes.constants.cjs +1 -1
  216. package/error-handling/error-codes.constants.d.ts +1 -0
  217. package/error-handling/error-codes.constants.mjs +2 -1
  218. package/error-handling/get-error.message.cjs +1 -1
  219. package/error-handling/get-error.message.mjs +21 -27
  220. package/error-handling/index.d.ts +0 -1
  221. package/functions/index.d.ts +0 -1
  222. package/functions/kyc/zkMeHelper.cjs +1 -1
  223. package/functions/kyc/zkMeHelper.mjs +18 -17
  224. package/functions/pre-transaction/constructAdminData.cjs +1 -1
  225. package/functions/pre-transaction/constructAdminData.d.ts +2 -2
  226. package/functions/pre-transaction/constructAdminData.mjs +12 -18
  227. package/functions/pre-transaction/getExternalSwapAddress.cjs +1 -1
  228. package/functions/pre-transaction/getExternalSwapAddress.d.ts +1 -2
  229. package/functions/pre-transaction/getExternalSwapAddress.mjs +8 -8
  230. package/functions/pre-transaction/getFlatFees.cjs +1 -1
  231. package/functions/pre-transaction/getFlatFees.mjs +22 -30
  232. package/functions/pre-transaction/getVolatileTransferAmount.cjs +1 -1
  233. package/functions/pre-transaction/getVolatileTransferAmount.mjs +21 -36
  234. package/functions/pre-transaction/merge-with-fee-structure-emporium.cjs +1 -1
  235. package/functions/pre-transaction/merge-with-fee-structure-emporium.d.ts +1 -1
  236. package/functions/pre-transaction/merge-with-fee-structure-emporium.mjs +17 -17
  237. package/functions/pre-transaction/outputApprovalDataProcessing.cjs +1 -1
  238. package/functions/pre-transaction/outputApprovalDataProcessing.d.ts +1 -9
  239. package/functions/pre-transaction/outputApprovalDataProcessing.mjs +19 -34
  240. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs +1 -1
  241. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.d.ts +1 -1
  242. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.mjs +4 -4
  243. package/functions/pre-transaction/solana-public-signals.cjs +1 -1
  244. package/functions/pre-transaction/solana-public-signals.d.ts +1 -0
  245. package/functions/pre-transaction/solana-public-signals.mjs +29 -26
  246. package/functions/pre-transaction/solana.cjs +1 -1
  247. package/functions/pre-transaction/solana.d.ts +2 -1
  248. package/functions/pre-transaction/solana.mjs +60 -51
  249. package/functions/private-wallet/emporium.helpers.cjs +1 -1
  250. package/functions/private-wallet/emporium.helpers.d.ts +3 -5
  251. package/functions/private-wallet/emporium.helpers.mjs +95 -135
  252. package/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
  253. package/functions/private-wallet/emporium.swap.helpers.d.ts +1 -4
  254. package/functions/private-wallet/emporium.swap.helpers.mjs +100 -102
  255. package/functions/snarkjs/common.snarkjs.cjs +1 -1
  256. package/functions/snarkjs/common.snarkjs.d.ts +1 -1
  257. package/functions/snarkjs/common.snarkjs.mjs +64 -64
  258. package/functions/snarkjs/constructEmporiumProof.cjs +1 -1
  259. package/functions/snarkjs/constructEmporiumProof.mjs +1 -1
  260. package/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
  261. package/functions/snarkjs/constructGeneralZkProof.d.ts +1 -2
  262. package/functions/snarkjs/constructGeneralZkProof.mjs +117 -121
  263. package/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
  264. package/functions/snarkjs/constructSolanaZkProof.d.ts +1 -1
  265. package/functions/snarkjs/constructSolanaZkProof.mjs +54 -59
  266. package/functions/snarkjs/fetchMerkleTreeSiblings.cjs +1 -1
  267. package/functions/snarkjs/fetchMerkleTreeSiblings.mjs +11 -10
  268. package/functions/utils/addresses.cjs +1 -1
  269. package/functions/utils/addresses.d.ts +1 -0
  270. package/functions/utils/addresses.mjs +13 -12
  271. package/functions/utils/cacheFunctions.cjs +1 -1
  272. package/functions/utils/cacheFunctions.mjs +2 -2
  273. package/functions/utils/erc20tokenFunctions.cjs +1 -1
  274. package/functions/utils/erc20tokenFunctions.d.ts +0 -1
  275. package/functions/utils/erc20tokenFunctions.mjs +22 -29
  276. package/functions/utils/get-hinkal-approvals.cjs +1 -1
  277. package/functions/utils/get-hinkal-approvals.d.ts +1 -1
  278. package/functions/utils/get-hinkal-approvals.mjs +16 -16
  279. package/functions/utils/getUtxosFromReceipt.utils.cjs +1 -1
  280. package/functions/utils/getUtxosFromReceipt.utils.d.ts +1 -1
  281. package/functions/utils/getUtxosFromReceipt.utils.mjs +11 -11
  282. package/functions/utils/involves-permit2-op.cjs +1 -1
  283. package/functions/utils/involves-permit2-op.d.ts +0 -1
  284. package/functions/utils/involves-permit2-op.mjs +4 -6
  285. package/functions/utils/mutexes.utils.cjs +1 -1
  286. package/functions/utils/mutexes.utils.d.ts +1 -1
  287. package/functions/utils/mutexes.utils.mjs +3 -3
  288. package/functions/utils/nftTokenFunctions.cjs +1 -1
  289. package/functions/utils/nftTokenFunctions.mjs +8 -23
  290. package/functions/utils/prepareHinkal.cjs +1 -1
  291. package/functions/utils/prepareHinkal.d.ts +0 -6
  292. package/functions/utils/prepareHinkal.mjs +41 -60
  293. package/functions/utils/token-check.utils.cjs +1 -1
  294. package/functions/utils/token-check.utils.d.ts +3 -0
  295. package/functions/utils/token-check.utils.mjs +18 -7
  296. package/functions/utils/upToDateState.cjs +1 -1
  297. package/functions/utils/upToDateState.d.ts +1 -1
  298. package/functions/utils/upToDateState.mjs +4 -4
  299. package/functions/utils/walletBalances.utils.cjs +1 -1
  300. package/functions/utils/walletBalances.utils.d.ts +1 -16
  301. package/functions/utils/walletBalances.utils.mjs +4 -35
  302. package/functions/web3/events/getApprovedBalance.cjs +1 -1
  303. package/functions/web3/events/getApprovedBalance.d.ts +3 -4
  304. package/functions/web3/events/getApprovedBalance.mjs +39 -44
  305. package/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
  306. package/functions/web3/events/getInputUtxoAndBalance.d.ts +1 -1
  307. package/functions/web3/events/getInputUtxoAndBalance.mjs +114 -121
  308. package/functions/web3/events/getShieldedBalance.cjs +2 -2
  309. package/functions/web3/events/getShieldedBalance.d.ts +1 -1
  310. package/functions/web3/events/getShieldedBalance.mjs +71 -70
  311. package/functions/web3/events/getTransactionLogEvents.cjs +1 -1
  312. package/functions/web3/events/getTransactionLogEvents.mjs +7 -7
  313. package/functions/web3/fetchSolanaMerkleTreeRootHash.cjs +1 -1
  314. package/functions/web3/fetchSolanaMerkleTreeRootHash.mjs +7 -7
  315. package/functions/web3/functionCalls/accessTokenCalls.cjs +1 -1
  316. package/functions/web3/functionCalls/accessTokenCalls.d.ts +1 -6
  317. package/functions/web3/functionCalls/accessTokenCalls.mjs +12 -21
  318. package/functions/web3/functionCalls/approveToken.cjs +1 -1
  319. package/functions/web3/functionCalls/approveToken.d.ts +1 -1
  320. package/functions/web3/functionCalls/approveToken.mjs +50 -46
  321. package/functions/web3/functionCalls/approveTokensToHinkal.cjs +1 -1
  322. package/functions/web3/functionCalls/approveTokensToHinkal.d.ts +1 -1
  323. package/functions/web3/functionCalls/approveTokensToHinkal.mjs +6 -6
  324. package/functions/web3/functionCalls/estimateGasRelayer.cjs +1 -1
  325. package/functions/web3/functionCalls/estimateGasRelayer.d.ts +1 -2
  326. package/functions/web3/functionCalls/estimateGasRelayer.mjs +10 -10
  327. package/functions/web3/functionCalls/transactCallDirect.cjs +1 -1
  328. package/functions/web3/functionCalls/transactCallDirect.d.ts +1 -1
  329. package/functions/web3/functionCalls/transactCallDirect.mjs +38 -42
  330. package/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
  331. package/functions/web3/functionCalls/transactCallRelayer.d.ts +1 -1
  332. package/functions/web3/functionCalls/transactCallRelayer.mjs +34 -34
  333. package/functions/web3/getPublicAddressBalance.cjs +1 -1
  334. package/functions/web3/getPublicAddressBalance.d.ts +1 -1
  335. package/functions/web3/getPublicAddressBalance.mjs +6 -6
  336. package/functions/web3/getTokenHolder.cjs +1 -1
  337. package/functions/web3/getTokenHolder.mjs +8 -8
  338. package/functions/web3/lifiAPI.cjs +1 -1
  339. package/functions/web3/lifiAPI.d.ts +1 -1
  340. package/functions/web3/lifiAPI.mjs +12 -12
  341. package/functions/web3/odosAPI.cjs +1 -1
  342. package/functions/web3/odosAPI.mjs +6 -19
  343. package/functions/web3/okxAPI.cjs +1 -1
  344. package/functions/web3/okxAPI.mjs +22 -22
  345. package/functions/web3/oneInchAPI.cjs +1 -1
  346. package/functions/web3/oneInchAPI.mjs +7 -20
  347. package/functions/web3/runContractFunction.cjs +1 -1
  348. package/functions/web3/runContractFunction.mjs +38 -56
  349. package/functions/web3/uniswapAPI.cjs +1 -1
  350. package/functions/web3/uniswapAPI.mjs +22 -34
  351. package/index.cjs +1 -1
  352. package/index.mjs +939 -970
  353. package/package.json +1 -1
  354. package/providers/EthersProviderAdapter.cjs +1 -1
  355. package/providers/EthersProviderAdapter.d.ts +10 -17
  356. package/providers/EthersProviderAdapter.mjs +48 -76
  357. package/providers/SolanaProviderAdapter.cjs +1 -1
  358. package/providers/SolanaProviderAdapter.d.ts +7 -11
  359. package/providers/SolanaProviderAdapter.mjs +16 -31
  360. package/providers/WagmiProviderAdapter.cjs +1 -1
  361. package/providers/WagmiProviderAdapter.d.ts +11 -17
  362. package/providers/WagmiProviderAdapter.mjs +86 -117
  363. package/providers/prepareEthersHinkal.cjs +1 -1
  364. package/providers/prepareEthersHinkal.mjs +6 -7
  365. package/providers/prepareWagmiHinkal.cjs +1 -1
  366. package/providers/prepareWagmiHinkal.mjs +5 -5
  367. package/types/TransactionSimulator.types.d.ts +2 -9
  368. package/types/admin.types.cjs +1 -1
  369. package/types/admin.types.d.ts +0 -6
  370. package/types/admin.types.mjs +2 -2
  371. package/types/balances.types.d.ts +0 -1
  372. package/types/cache.types.cjs +1 -1
  373. package/types/cache.types.d.ts +2 -3
  374. package/types/cache.types.mjs +1 -1
  375. package/types/coingecko.types.d.ts +5 -0
  376. package/types/ethereum-network.types.cjs +1 -1
  377. package/types/ethereum-network.types.d.ts +1 -8
  378. package/types/ethereum-network.types.mjs +1 -1
  379. package/types/external-action.types.cjs +1 -1
  380. package/types/external-action.types.d.ts +0 -1
  381. package/types/external-action.types.mjs +1 -1
  382. package/types/hinkal.types.cjs +1 -1
  383. package/types/hinkal.types.d.ts +1 -7
  384. package/types/hinkal.types.mjs +22 -23
  385. package/types/index.d.ts +1 -3
  386. package/types/onramp.types.cjs +1 -0
  387. package/types/onramp.types.d.ts +58 -0
  388. package/types/onramp.types.mjs +4 -0
  389. package/types/proxy.types.d.ts +1 -0
  390. package/types/sandbox.types.cjs +1 -1
  391. package/types/sandbox.types.d.ts +8 -39
  392. package/types/sandbox.types.mjs +2 -2
  393. package/types/session.types.d.ts +2 -0
  394. package/types/solana.types.d.ts +1 -0
  395. package/types/token-prices.types.cjs +1 -1
  396. package/types/token-prices.types.d.ts +7 -0
  397. package/types/token-prices.types.mjs +4 -2
  398. package/types/transactions.types.cjs +1 -1
  399. package/types/transactions.types.d.ts +2 -4
  400. package/types/transactions.types.mjs +3 -3
  401. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.cjs +1 -1
  402. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.mjs +1 -1
  403. package/webworker/utxoWorker/utxoWorkerLauncher.cjs +1 -1
  404. package/webworker/utxoWorker/utxoWorkerLauncher.mjs +1 -1
  405. package/webworker/zkProofWorker/zkProofWorkerLauncher.cjs +1 -1
  406. package/webworker/zkProofWorker/zkProofWorkerLauncher.mjs +2 -2
  407. package/API/ai-calls.cjs +0 -1
  408. package/API/ai-calls.d.ts +0 -17
  409. package/API/ai-calls.mjs +0 -21
  410. package/API/duneAPI.cjs +0 -1
  411. package/API/duneAPI.d.ts +0 -11
  412. package/API/duneAPI.mjs +0 -25
  413. package/API/getBridgeProtocols.cjs +0 -1
  414. package/API/getBridgeProtocols.d.ts +0 -7
  415. package/API/getBridgeProtocols.mjs +0 -8
  416. package/API/getLifiStatus.cjs +0 -1
  417. package/API/getLifiStatus.d.ts +0 -24
  418. package/API/getLifiStatus.mjs +0 -15
  419. package/API/getRelayerURL.cjs +0 -1
  420. package/API/getRelayerURL.d.ts +0 -1
  421. package/API/getRelayerURL.mjs +0 -10
  422. package/API/passwordCalls.cjs +0 -1
  423. package/API/passwordCalls.d.ts +0 -9
  424. package/API/passwordCalls.mjs +0 -13
  425. package/API/restoreSnapshots.cjs +0 -1
  426. package/API/restoreSnapshots.d.ts +0 -1
  427. package/API/restoreSnapshots.mjs +0 -10
  428. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.cjs +0 -1
  429. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.d.ts +0 -7
  430. package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.mjs +0 -42
  431. package/data-structures/Hinkal/hinkalActionStake.d.ts +0 -3
  432. package/data-structures/Hinkal/hinkalApprove.cjs +0 -1
  433. package/data-structures/Hinkal/hinkalApprove.d.ts +0 -3
  434. package/data-structures/Hinkal/hinkalApprove.mjs +0 -115
  435. package/data-structures/Hinkal/hinkalInsideTransact.cjs +0 -1
  436. package/data-structures/Hinkal/hinkalInsideTransact.d.ts +0 -4
  437. package/data-structures/Hinkal/hinkalInsideTransact.mjs +0 -121
  438. package/error-handling/handleErrorRestore.cjs +0 -1
  439. package/error-handling/handleErrorRestore.d.ts +0 -2
  440. package/error-handling/handleErrorRestore.mjs +0 -11
  441. package/functions/staking/index.cjs +0 -1
  442. package/functions/staking/index.d.ts +0 -11
  443. package/functions/staking/index.mjs +0 -42
  444. package/functions/utils/replaceAddressInCalldata.cjs +0 -1
  445. package/functions/utils/replaceAddressInCalldata.d.ts +0 -1
  446. package/functions/utils/replaceAddressInCalldata.mjs +0 -7
  447. package/functions/web3/functionCalls/inHinkalApprovalCalls.cjs +0 -1
  448. package/functions/web3/functionCalls/inHinkalApprovalCalls.d.ts +0 -5
  449. package/functions/web3/functionCalls/inHinkalApprovalCalls.mjs +0 -32
  450. package/types/bridging.types.d.ts +0 -29
  451. package/types/duneAPI.types.d.ts +0 -9
  452. package/types/hinkal.stake.types.cjs +0 -1
  453. package/types/hinkal.stake.types.d.ts +0 -11
  454. package/types/hinkal.stake.types.mjs +0 -4
@@ -1,22 +1,21 @@
1
- import { UserKeys as n } from "../crypto-keys/keys.mjs";
2
- const d = async (o, i, e, t) => {
3
- const a = o.getCurrentChainId();
1
+ import { UserKeys as o } from "../crypto-keys/keys.mjs";
2
+ const n = async (i, t, e, a) => {
4
3
  let r;
5
4
  if (e)
6
- r = await n.signTypedDataFromPrivateKey(
7
- a,
8
- t.privateKey,
5
+ r = await o.signTypedDataFromPrivateKey(
6
+ i,
7
+ a.privateKey,
9
8
  e.domain,
10
9
  e.types,
11
10
  e.value
12
11
  );
13
12
  else {
14
- if (!i)
13
+ if (!t)
15
14
  throw Error("dataHash must be provided if typedData is not provided");
16
- r = await n.signMessageFromPrivateKey(a, t.privateKey, i);
15
+ r = await o.signMessageFromPrivateKey(i, a.privateKey, t);
17
16
  }
18
17
  return r;
19
18
  };
20
19
  export {
21
- d as hinkalSignSubAccount
20
+ n as hinkalSignSubAccount
22
21
  };
@@ -1 +1 @@
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
+ "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"),N=require("../../constants/chains.constants.cjs"),K=require("../../constants/protocol.constants.cjs"),d=require("@solana/web3.js"),_=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 L=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 B=require("./hinkalCheckSolanaTokenRegistry.cjs"),O=require("../../functions/web3/signAndSendSerializedTransaction.cjs"),x=require("../../functions/utils/token-check.utils.cjs"),F=async(e,r,a,n)=>{const o=x.validateAndGetChainId([a]),c=a.erc20TokenAddress,{hinkalIdl:m,hinkalAddress:y,originalDeployer:g}=N.networkRegistry[o].contractData;if(!m)throw new Error("No IDL configured for Solana program on this network");if(!g)throw new Error("missing original deployer");const l=e.getSolanaProgram(m),D=e.getSolanaPublicKey(),t=new d.PublicKey(g),S=new d.PublicKey(y),{mintPublicKey:s}=M.formatMintAddress(c),u=s.toString(),h=i.getStorageAccountPublicKey(S,t),P=i.getStorageVaultPublicKey(S,t),f=i.getMerkleAccountPublicKey(S,t),p=i.buildAnchorStealthAddressStructure(n);if(await B.hinkalCheckSolanaTokenRegistry(l,new d.PublicKey(t),[c],[r])){const{serializedTransaction:q,blockhash:T,lastValidBlockHeight:I}=await L.API.generateProoflessDepositLimitless({amount:r.toString(),payer:e.getSolanaPublicKey().toBase58(),ethereumAddress:await e.getEthereumAddress(),mint:c,stealthAddressStructure:p,chainId:o}),{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(r.toString()),p).accounts({mint:v,signer:D,signerAta:w,originalDeployer:t,storageAccount:h,storageVault:P,merkleAccount:f,tokenLimitStorage:k,storageVaultAta:w,accessTokenOwner:null}).rpc()},$=async(e,r,a)=>{const n=e.userKeys.getShieldedPrivateKey(),o=V.Utxo.findCorrectRandomization(z.randomBigInt(31),n),c=_.calcStealthAddressStructure(o,n);return F(e,r,a,c)},J=async(e,r,a,n)=>{if(!E.isValidPrivateAddress(n))throw Error(H.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);const o=E.constructStealthAddressStructure(n);return F(e,r,a,o)},Q=async(e,r,a)=>{const n=x.validateAndGetChainId([a]),o=a.erc20TokenAddress,{hinkalIdl:c,hinkalAddress:m,originalDeployer:y}=N.networkRegistry[n].contractData;if(!c)throw new Error("No IDL configured for Solana program on this network");if(!y)throw new Error("missing original deployer");const g=e.userKeys.getShieldedPrivateKey(),l=V.Utxo.findCorrectRandomization(z.randomBigInt(31),g),D=_.calcStealthAddressStructure(l,g),t=e.getSolanaProgram(c),S=e.getSolanaPublicKey(),s=new d.PublicKey(y),u=new d.PublicKey(m),{mintPublicKey:h}=M.formatMintAddress(o),P=h.toString(),f=i.getStorageAccountPublicKey(u,s),p=i.getStorageVaultPublicKey(u,s),C=i.getMerkleAccountPublicKey(u,s),k=i.buildAnchorStealthAddressStructure(D),v=r.reduce((A,R)=>A+R,0n),w=await B.hinkalCheckSolanaTokenRegistry(t,new d.PublicKey(s),[o],[v]),q=r.map(A=>`${A}`);if(w){const{serializedTransaction:A,blockhash:R,lastValidBlockHeight:j}=await L.API.generateMultiPaymentDepositLimitless({amounts:q,payer:e.getSolanaPublicKey().toBase58(),ethereumAddress:await e.getEthereumAddress(),mint:o,stealthAddressStructure:k,chainId:n}),{wallet:U}=t.provider;if(!U)throw new Error("missing wallet");return O.signAndSendSerializedTransaction(t.provider,A,R,j)}const T=i.getTokenLimitStorageAccountPublicKey(t.programId,s,h),I=P===K.solanaNativeAddress?null:h,b=P===K.solanaNativeAddress?null:void 0;return t.methods.multiPaymentDeposit(q,k).accounts({mint:I,signer:S,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,4 +1,5 @@
1
1
  import { IHinkal } from './IHinkal';
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>;
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>;
@@ -1,24 +1,25 @@
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
- import { networkRegistry as z } from "../../constants/chains.constants.mjs";
5
- import { solanaNativeAddress as f } from "../../constants/protocol.constants.mjs";
6
- import { PublicKey as m } from "@solana/web3.js";
7
- import { calcStealthAddressStructure as L } from "../../functions/snarkjs/common.snarkjs.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";
1
+ import { Utxo as V } from "../utxo/Utxo.mjs";
2
+ import { formatMintAddress as C } from "../../functions/utils/solanaMint.utils.mjs";
3
+ import { randomBigInt as z } from "../../functions/web3/etherFunctions.mjs";
4
+ import { networkRegistry as L } from "../../constants/chains.constants.mjs";
5
+ import { solanaNativeAddress as K } from "../../constants/protocol.constants.mjs";
6
+ import { PublicKey as d } from "@solana/web3.js";
7
+ import { calcStealthAddressStructure as B } 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";
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 "../../constants/vite.constants.mjs";
18
- import { API as q } from "../../API/API.mjs";
17
+ import { API as F } from "../../API/API.mjs";
18
+ import "../../API/tenderly.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";
22
23
  import "../../constants/reorg-depths.constants.mjs";
23
24
  import "../../constants/addresses.constants.mjs";
24
25
  import "../../constants/token.limits.constants.mjs";
@@ -26,108 +27,96 @@ import "../../constants/presale.constants.mjs";
26
27
  import "../../constants/activity.constants.mjs";
27
28
  import "../../constants/tasks.constants.mjs";
28
29
  import "../../constants/events.constants.mjs";
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)
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, o, s, e) => {
34
+ const n = G([s]), a = s.erc20TokenAddress, { hinkalIdl: h, hinkalAddress: S, originalDeployer: m } = L[n].contractData;
35
+ if (!h)
39
36
  throw new Error("No IDL configured for Solana program on this network");
40
- if (!d)
37
+ if (!m)
41
38
  throw new Error("missing original deployer");
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]
39
+ const c = t.getSolanaProgram(h), D = t.getSolanaPublicKey(), r = new d(m), u = new d(S), { mintPublicKey: i } = C(a), l = i.toString(), g = N(u, r), A = M(u, r), b = O(u, r), y = x(e);
40
+ if (await H(
41
+ c,
42
+ new d(r),
43
+ [a],
44
+ [o]
48
45
  )) {
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)
46
+ const { serializedTransaction: P, blockhash: E, lastValidBlockHeight: I } = await F.generateProoflessDepositLimitless({
47
+ amount: o.toString(),
48
+ payer: t.getSolanaPublicKey().toBase58(),
49
+ ethereumAddress: await t.getEthereumAddress(),
50
+ mint: a,
51
+ stealthAddressStructure: y,
52
+ chainId: n
53
+ }), { wallet: k } = c.provider;
54
+ if (!k)
60
55
  throw new Error("missing wallet");
61
- return H(a.provider, w, C, E);
56
+ return _(c.provider, P, E, I);
62
57
  }
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,
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(o.toString()), y).accounts({
60
+ mint: v,
61
+ signer: D,
62
+ signerAta: f,
68
63
  originalDeployer: r,
69
64
  storageAccount: g,
70
- storageVault: S,
71
- merkleAccount: K,
72
- tokenLimitStorage: b,
73
- storageVaultAta: y,
65
+ storageVault: A,
66
+ merkleAccount: b,
67
+ tokenLimitStorage: w,
68
+ storageVaultAta: f,
74
69
  accessTokenOwner: null
75
70
  }).rpc();
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)
71
+ }, Tt = async (t, o, s) => {
72
+ const e = t.userKeys.getShieldedPrivateKey(), n = V.findCorrectRandomization(z(31), e), a = B(n, e);
73
+ return U(t, o, s, a);
74
+ }, Vt = async (t, o, s, e) => {
75
+ if (!Q(e))
76
+ throw Error(X.RECIPIENT_FORMAT_INCORRECT);
77
+ const n = W(e);
78
+ return U(t, o, s, n);
79
+ }, Ct = async (t, o, s) => {
80
+ const e = G([s]), n = s.erc20TokenAddress, { hinkalIdl: a, hinkalAddress: h, originalDeployer: S } = L[e].contractData;
81
+ if (!a)
91
82
  throw new Error("No IDL configured for Solana program on this network");
92
- if (!c)
83
+ if (!S)
93
84
  throw new Error("missing original deployer");
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(
85
+ const m = t.userKeys.getShieldedPrivateKey(), c = V.findCorrectRandomization(z(31), m), D = B(c, m), r = t.getSolanaProgram(a), u = t.getSolanaPublicKey(), i = new d(S), l = new d(h), { mintPublicKey: g } = C(n), A = g.toString(), b = N(l, i), y = M(l, i), T = O(l, i), w = x(D), v = o.reduce((p, R) => p + R, 0n), f = await H(
95
86
  r,
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 (!$)
87
+ new d(i),
88
+ [n],
89
+ [v]
90
+ ), P = o.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.getEthereumAddress(),
96
+ mint: n,
97
+ stealthAddressStructure: w,
98
+ chainId: e
99
+ }), { wallet: j } = r.provider;
100
+ if (!j)
112
101
  throw new Error("missing wallet");
113
- return H(r.provider, p, R, U);
102
+ return _(r.provider, p, R, $);
114
103
  }
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,
104
+ const E = q(r.programId, i, g), I = A === K ? null : g, k = A === K ? null : void 0;
105
+ return r.methods.multiPaymentDeposit(P, w).accounts({
106
+ mint: I,
118
107
  signer: u,
119
- signerAta: A,
108
+ signerAta: k,
120
109
  originalDeployer: i,
121
- storageAccount: K,
122
- storageVault: h,
123
- merkleAccount: k,
124
- tokenLimitStorage: C,
125
- storageVaultAta: A,
110
+ storageAccount: b,
111
+ storageVault: y,
112
+ merkleAccount: T,
113
+ tokenLimitStorage: E,
114
+ storageVaultAta: k,
126
115
  accessTokenOwner: null
127
116
  }).rpc();
128
117
  };
129
118
  export {
130
- Ct as hinkalSolanaDeposit,
131
- Et as hinkalSolanaDepositForOther,
132
- Rt as hinkalSolanaMultiPaymentDeposit
119
+ Tt as hinkalSolanaDeposit,
120
+ Vt as hinkalSolanaDepositForOther,
121
+ Ct as hinkalSolanaMultiPaymentDeposit
133
122
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const F=require("../../functions/web3/etherFunctions.cjs"),O=require("../utxo/Utxo.cjs"),j=require("../../error-handling/error-codes.constants.cjs"),W=require("ethers");require("idb-keyval");const V=require("../../constants/chains.constants.cjs");require("../crypto-keys/keys.cjs");require("node-forge");require("../../constants/vite.constants.cjs");require("libsodium-wrappers");require("../http/HttpClient.cjs");require("axios");const L=require("../../functions/utils/solanaMint.utils.cjs"),N=require("@solana/web3.js"),$=require("../../functions/utils/addresses.cjs");require("../../constants/server.constants.cjs");require("../../constants/token-data/index.cjs");const R=require("../../constants/protocol.constants.cjs"),Z=require("../../API/API.cjs");require("../../functions/utils/mutexes.utils.cjs");require("../../types/circom-data.types.cjs");const X=require("../../types/external-action.types.cjs");require("../../types/transactions.types.cjs");require("../../types/activities.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 Y=require("@coral-xyz/anchor"),b=require("../../functions/pre-transaction/solana.cjs");require("@solana/spl-token");require("../../functions/utils/userAgent.cjs");const G=require("../../functions/utils/time.utils.cjs");require("multiformats");require("../../API/tenderly.api.cjs");const J=require("../../functions/utils/fees.utils.cjs");require("../../functions/web3/getTokenHolder.cjs");const Q=require("../../functions/web3/signAndSendSerializedTransaction.cjs"),M=require("../../functions/snarkjs/common.snarkjs.cjs"),ee=require("./hinkalCheckSolanaTokenRegistry.cjs"),te=require("../../functions/utils/getUtxosFromReceiptSolana.cjs"),re=require("../../functions/snarkjs/constructSolanaZkProof.cjs"),oe=require("../../functions/web3/functionCalls/transactCallRelayer.cjs"),ne=require("../../functions/pre-transaction/getFeeStructure.cjs"),ae=async(e,r,i,c,p)=>{const u=i.map(t=>t+J.calculateTotalFee(t,p)),{hinkalIdl:l,hinkalAddress:d,originalDeployer:h}=V.networkRegistry[e.getCurrentChainId()].contractData;if(!l)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(),k=O.Utxo.findCorrectRandomization(F.randomBigInt(31),y),v=M.calcStealthAddressStructure(k,y),o=e.getSolanaProgram(l),z=e.getSolanaPublicKey(),n=new N.PublicKey(h),q=new N.PublicKey(d),{mintPublicKey:w}=L.formatMintAddress(r),S=w.toString(),E=b.getStorageAccountPublicKey(q,n),B=b.getStorageVaultPublicKey(q,n),x=b.getMerkleAccountPublicKey(q,n),A=b.buildAnchorStealthAddressStructure(v),f=e.getCurrentChainId(),U=u.reduce((t,a)=>t+a,0n),T=await ee.hinkalCheckSolanaTokenRegistry(o,new N.PublicKey(n),[r],[U]),C=u.map(t=>`${t}`);let g="";if(T){const{serializedTransaction:t,blockhash:a,lastValidBlockHeight:m}=await Z.API.generateMultiPaymentDepositLimitless(f,{amounts:C,payer:e.getSolanaPublicKey().toBase58(),ethereumAddress:await e.getEthereumAddress(),mint:r,stealthAddressStructure:A}),{wallet:s}=o.provider;if(!s)throw new Error("missing wallet");g=await Q.signAndSendSerializedTransaction(o.provider,t,a,m)}else{const t=b.getTokenLimitStorageAccountPublicKey(o.programId,n,w),a=S===R.solanaNativeAddress?null:w,m=S===R.solanaNativeAddress?null:void 0;g=await o.methods.multiPaymentDeposit(C.map(_=>new Y.BN(_)),A).accounts({mint:a,signer:z,signerAta:m,originalDeployer:n,storageAccount:E,storageVault:B,merkleAccount:x,tokenLimitStorage:t,storageVaultAta:m,accessTokenOwner:null}).rpc();const s=await o.provider.connection.getLatestBlockhash();await o.provider.connection.confirmTransaction({blockhash:s.blockhash,lastValidBlockHeight:s.lastValidBlockHeight,signature:g},"confirmed")}const I=await o.provider.connection.getTransaction(g,{commitment:"confirmed",maxSupportedTransactionVersion:0});if(!I)throw new Error("Transaction missing");const D=te.getUtxosFromReceiptSolana(I,o,e.userKeys),K=[],P=[...D];return c.forEach((t,a)=>{const m=u[a],s=P.find(H=>H.amount===m);if(!s)throw new Error(`Could not find newly created UTXO with amount ${m} for recipient ${t}.`);K.push({recipientAddress:t,utxo:s});const _=P.indexOf(s);P.splice(_,1)}),K},se=async(e,r,i,c,p,u)=>{if(i.length===0)throw new Error("userDepositedUtxos must not be empty");const{hinkalIdl:l,originalDeployer:d}=V.networkRegistry[e.getCurrentChainId()].contractData;if(!d||!l)throw new Error("missing data");const h=e.getSolanaProgram(l),y=await e.getRandomRelay(!0);if(!y)throw new Error(j.transactionErrorCodes.RELAYER_NOT_AVAILABLE);const k=G.getCurrentTimeInSeconds().toString(),v=e.generateProofRemotely?5:1,o=[];for(let n=0;n<i.length;n+=v){const q=i.slice(n,n+v),w=await Promise.all(q.map(async({recipientAddress:S,utxo:E})=>{const{compressedAddress:B}=L.formatMintAddress(R.solanaNativeAddress),x=new O.Utxo({amount:0n,mintAddress:r,erc20TokenAddress:B,shieldedPrivateKey:e.userKeys.getShieldedPrivateKey(),timeStamp:k,tokenId:0}),A=[E,x],f=[x],U=O.Utxo.findCorrectRandomization(F.randomBigInt(31),e.userKeys.getShieldedPrivateKey()),T={tokenNumber:1,nullifierAmount:A.length,outputAmount:f.length},C=M.calcEncryptedOutputs([f],!1)[0][0],g=Array.from(W.ethers.utils.arrayify(C)),{proofAArr:I,proofBArr:D,proofCArr:K,publicInputsArr:P}=await re.constructSolanaZkProof(e.generateProofRemotely,d,e.merkleTreeHinkal,e.merkleTreeAccessToken,e.userKeys,h,[r],[A],[f],U,c.flatFee,c.variableRate,S,y,T,[g],e.getCurrentChainId(),void 0,void 0,void 0,void 0,!1),t=r===R.solanaNativeAddress,a={recipient:S,mint:t?void 0:r};return{relayAddress:y,functionName:"transact",args:{proofAArr:I,proofBArr:D,proofCArr:K,publicInputsArr:P,encryptedOutputs:[g],relayerFee:c.flatFee.toString(),dimensions:T},accounts:a}}));o.push(...w)}return await oe.solanaTransactCallRelayerBatch(e.getCurrentChainId(),o,p,u)},ie=async(e,r,i,c,p,u)=>{const l=$.hashEthereumAddress(await e.getEthereumAddress()),d=u??await ne.getFeeStructure(e.getCurrentChainId(),r,[r],X.ExternalActionId.Transact,[],0n),h=await ae(e,r,i,c,d);return se(e,r,h,d,l,p)};exports.hinkalSolanaDepositAndWithdraw=ie;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const V=require("../../functions/web3/etherFunctions.cjs"),F=require("../utxo/Utxo.cjs"),W=require("../../error-handling/error-codes.constants.cjs"),$=require("ethers");require("idb-keyval");const L=require("../../constants/chains.constants.cjs");require("../crypto-keys/keys.cjs");require("node-forge");require("../../constants/vite.constants.cjs");require("libsodium-wrappers");require("../http/HttpClient.cjs");require("axios");const M=require("../../functions/utils/solanaMint.utils.cjs"),z=require("@solana/web3.js"),Z=require("../../functions/utils/addresses.cjs");require("../../constants/server.constants.cjs");require("../../API/getServerURL.cjs");require("../../constants/token-data/index.cjs");const B=require("../../constants/protocol.constants.cjs"),G=require("../../API/API.cjs"),X=require("../../functions/utils/token-check.utils.cjs");require("async-mutex");require("../../types/circom-data.types.cjs");const Y=require("../../types/external-action.types.cjs");require("../../types/transactions.types.cjs");require("../../types/activities.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");const x=require("../../functions/pre-transaction/solana.cjs");require("@solana/spl-token");const J=require("@coral-xyz/anchor");require("../../functions/utils/userAgent.cjs");const Q=require("../../functions/utils/time.utils.cjs");require("circomlibjs-hinkal-fork");require("multiformats");require("../../API/tenderly.api.cjs");require("process");require("buffer");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,q,l,d,A)=>{const i=q.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(V.randomBigInt(31),y),K=H.calcStealthAddressStructure(C,y),o=e.getSolanaProgram(m),I=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 p="";if(_){const{serializedTransaction:r,blockhash:a,lastValidBlockHeight:c}=await G.API.generateMultiPaymentDepositLimitless({amounts:b,payer:e.getSolanaPublicKey().toBase58(),ethereumAddress:await e.getEthereumAddress(),mint:i,stealthAddressStructure:P,chainId:t}),{wallet:u}=o.provider;if(!u)throw new Error("missing wallet");p=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;p=await o.methods.multiPaymentDeposit(b.map(O=>new J.BN(O)),P).accounts({mint:a,signer:I,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:p},"confirmed")}const T=await o.provider.connection.getTransaction(p,{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,q,l,d,A,i)=>{const n=q.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(V.randomBigInt(31),e.userKeys.getShieldedPrivateKey()),b={tokenNumber:1,nullifierAmount:P.length,outputAmount:k.length},p=H.calcEncryptedOutputs([k])[0][0],T=Array.from($.ethers.utils.arrayify(p)),{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,q,l,d,A)=>{const i=X.validateAndGetChainId([t]),n=t.erc20TokenAddress,m=Z.hashEthereumAddress(await e.getEthereumAddress()),g=A??await ie.getFeeStructure(i,n,[n],Y.ExternalActionId.Transact,[],0n),h=await ae(e,i,t,q,l,g);return ce(e,i,t,h,g,m,d)};exports.hinkalSolanaDepositAndWithdraw=ue;
@@ -1,3 +1,4 @@
1
1
  import { FeeStructure } from '../../types/hinkal.types';
2
2
  import { IHinkal } from './IHinkal';
3
- export declare const hinkalSolanaDepositAndWithdraw: (hinkal: IHinkal, mintAddress: string, recipientAmounts: bigint[], recipientAddresses: string[], txCompletionTime?: number, feeStructureOverride?: FeeStructure) => Promise<string>;
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>;