@kapa123456789/sdk 0.0.25 → 0.0.36

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 (509) hide show
  1. package/common/src/API/accessCodeCalls.cjs +1 -1
  2. package/common/src/API/accessCodeCalls.mjs +0 -1
  3. package/common/src/API/admin-calls.cjs +1 -1
  4. package/common/src/API/admin-calls.mjs +0 -1
  5. package/common/src/API/brotherhoodCalls.cjs +1 -1
  6. package/common/src/API/brotherhoodCalls.mjs +0 -1
  7. package/common/src/API/callLifiAPI.cjs +1 -1
  8. package/common/src/API/callLifiAPI.mjs +0 -1
  9. package/common/src/API/callMonitor.cjs +1 -1
  10. package/common/src/API/callMonitor.mjs +0 -1
  11. package/common/src/API/callOdosAPI.cjs +1 -1
  12. package/common/src/API/callOdosAPI.mjs +0 -1
  13. package/common/src/API/callOkxAPI.cjs +1 -1
  14. package/common/src/API/callOkxAPI.mjs +0 -1
  15. package/common/src/API/callOneInchAPI.cjs +1 -1
  16. package/common/src/API/callOneInchAPI.mjs +0 -1
  17. package/common/src/API/callRelayer.cjs +1 -1
  18. package/common/src/API/callRelayer.mjs +0 -1
  19. package/common/src/API/dashboardAccountCalls.cjs +1 -1
  20. package/common/src/API/dashboardAccountCalls.mjs +0 -1
  21. package/common/src/API/dashboardAccountMemberCalls.cjs +1 -1
  22. package/common/src/API/dashboardAccountMemberCalls.mjs +0 -1
  23. package/common/src/API/dashboardBalanceCalls.cjs +1 -1
  24. package/common/src/API/dashboardBalanceCalls.mjs +0 -1
  25. package/common/src/API/dashboardContactCalls.cjs +1 -1
  26. package/common/src/API/dashboardContactCalls.mjs +0 -1
  27. package/common/src/API/dashboardPayoutCalls.cjs +1 -1
  28. package/common/src/API/dashboardPayoutCalls.mjs +0 -1
  29. package/common/src/API/dashboardTransactionCalls.cjs +1 -1
  30. package/common/src/API/dashboardTransactionCalls.mjs +0 -1
  31. package/common/src/API/enclaveSignatureCalls.cjs +1 -1
  32. package/common/src/API/enclaveSignatureCalls.mjs +0 -1
  33. package/common/src/API/enclaveUtxoCalls.cjs +1 -1
  34. package/common/src/API/enclaveUtxoCalls.mjs +0 -1
  35. package/common/src/API/fetchCommitmentsCache.cjs +1 -1
  36. package/common/src/API/fetchCommitmentsCache.mjs +0 -1
  37. package/common/src/API/generate-trading-points.cjs +1 -1
  38. package/common/src/API/generate-trading-points.mjs +0 -1
  39. package/common/src/API/get-token-data.cjs +1 -1
  40. package/common/src/API/get-token-data.mjs +0 -1
  41. package/common/src/API/getGasEstimates.cjs +1 -1
  42. package/common/src/API/getGasEstimates.mjs +0 -1
  43. package/common/src/API/getTokenPrice.cjs +1 -1
  44. package/common/src/API/getTokenPrice.mjs +0 -1
  45. package/common/src/API/kycCalls.cjs +1 -1
  46. package/common/src/API/kycCalls.mjs +0 -1
  47. package/common/src/API/leaderboardCalls.cjs +1 -1
  48. package/common/src/API/leaderboardCalls.mjs +0 -1
  49. package/common/src/API/onrampCalls.cjs +1 -1
  50. package/common/src/API/onrampCalls.mjs +0 -1
  51. package/common/src/API/privacy-score-calls.cjs +1 -1
  52. package/common/src/API/privacy-score-calls.mjs +0 -1
  53. package/common/src/API/privateSendEmailNotificationsCalls.cjs +1 -1
  54. package/common/src/API/privateSendEmailNotificationsCalls.mjs +0 -1
  55. package/common/src/API/privateSendNonceCalls.cjs +1 -1
  56. package/common/src/API/privateSendNonceCalls.mjs +0 -1
  57. package/common/src/API/privateSendRecipientInfoCalls.cjs +1 -1
  58. package/common/src/API/privateSendRecipientInfoCalls.mjs +0 -1
  59. package/common/src/API/proxyAccountsCalls.cjs +1 -1
  60. package/common/src/API/proxyAccountsCalls.mjs +0 -1
  61. package/common/src/API/referralsCalls.cjs +1 -1
  62. package/common/src/API/referralsCalls.mjs +0 -1
  63. package/common/src/API/relayCalls.cjs +1 -1
  64. package/common/src/API/relayCalls.mjs +0 -1
  65. package/common/src/API/rewardsUserCalls.cjs +1 -1
  66. package/common/src/API/rewardsUserCalls.mjs +0 -1
  67. package/common/src/API/seedless-calls.cjs +1 -1
  68. package/common/src/API/seedless-calls.mjs +0 -1
  69. package/common/src/API/send-telegram-callback.cjs +1 -1
  70. package/common/src/API/send-telegram-callback.mjs +0 -1
  71. package/common/src/API/simulate-batch-tx.cjs +1 -1
  72. package/common/src/API/simulate-batch-tx.mjs +0 -1
  73. package/common/src/API/simulate-transaction.cjs +1 -1
  74. package/common/src/API/simulate-transaction.mjs +0 -1
  75. package/common/src/API/snapshot-event-calls.cjs +1 -1
  76. package/common/src/API/snapshot-event-calls.mjs +0 -1
  77. package/common/src/API/solana-calls.cjs +1 -1
  78. package/common/src/API/solana-calls.mjs +0 -1
  79. package/common/src/API/temporaryWalletCalls.cjs +1 -1
  80. package/common/src/API/temporaryWalletCalls.mjs +0 -1
  81. package/common/src/API/token-calls.cjs +1 -1
  82. package/common/src/API/token-calls.mjs +0 -1
  83. package/common/src/API/tronSubsidyCalls.cjs +1 -1
  84. package/common/src/API/tronSubsidyCalls.mjs +0 -1
  85. package/common/src/API/weeklyAnalyticCalls.cjs +1 -1
  86. package/common/src/API/weeklyAnalyticCalls.mjs +0 -1
  87. package/common/src/constants/addresses.constants.cjs +1 -1
  88. package/common/src/constants/addresses.constants.mjs +0 -1
  89. package/common/src/constants/chains.constants.cjs +1 -1
  90. package/common/src/constants/chains.constants.mjs +30 -30
  91. package/common/src/constants/contracts.constants.cjs +1 -1
  92. package/common/src/constants/contracts.constants.mjs +1 -1
  93. package/common/src/constants/kyc.constants.cjs +1 -1
  94. package/common/src/constants/kyc.constants.mjs +1 -1
  95. package/common/src/constants/lifi.constants.cjs +1 -1
  96. package/common/src/constants/lifi.constants.mjs +1 -1
  97. package/common/src/constants/permit2.constants.cjs +1 -1
  98. package/common/src/constants/permit2.constants.mjs +7 -8
  99. package/common/src/constants/protocol.constants.cjs +1 -1
  100. package/common/src/constants/protocol.constants.mjs +3 -8
  101. package/common/src/constants/server.constants.cjs +1 -1
  102. package/common/src/constants/server.constants.mjs +1 -2
  103. package/common/src/constants/vite.constants.cjs +1 -1
  104. package/common/src/constants/vite.constants.mjs +2 -2
  105. package/common/src/crypto/babyJub.cjs +1 -1
  106. package/common/src/crypto/babyJub.mjs +6 -5
  107. package/common/src/crypto/poseidon.cjs +1 -1
  108. package/common/src/crypto/poseidon.mjs +11 -10
  109. package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
  110. package/common/src/data-structures/Hinkal/Hinkal.d.ts +0 -4
  111. package/common/src/data-structures/Hinkal/Hinkal.mjs +2 -13
  112. package/common/src/data-structures/Hinkal/IHinkal.d.ts +0 -3
  113. package/common/src/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
  114. package/common/src/data-structures/Hinkal/handleAutoDepositBack.mjs +0 -4
  115. package/common/src/data-structures/Hinkal/hinkalCheckTokenRegistry.cjs +1 -1
  116. package/common/src/data-structures/Hinkal/hinkalCheckTokenRegistry.mjs +0 -1
  117. package/common/src/data-structures/Hinkal/hinkalClaimUtxo.cjs +1 -1
  118. package/common/src/data-structures/Hinkal/hinkalClaimUtxo.mjs +0 -1
  119. package/common/src/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
  120. package/common/src/data-structures/Hinkal/hinkalDeposit.mjs +0 -1
  121. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.cjs +1 -1
  122. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.mjs +0 -4
  123. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
  124. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +0 -3
  125. package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.cjs +1 -1
  126. package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +0 -1
  127. package/common/src/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
  128. package/common/src/data-structures/Hinkal/hinkalPrivateWallet.mjs +0 -2
  129. package/common/src/data-structures/Hinkal/hinkalSignSubAccount.cjs +1 -1
  130. package/common/src/data-structures/Hinkal/hinkalSignSubAccount.mjs +0 -1
  131. package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.cjs +1 -1
  132. package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.mjs +0 -2
  133. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
  134. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.mjs +0 -1
  135. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  136. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +0 -4
  137. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
  138. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +0 -3
  139. package/common/src/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
  140. package/common/src/data-structures/Hinkal/hinkalSolanaSwap.mjs +0 -1
  141. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
  142. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.mjs +0 -2
  143. package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
  144. package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +0 -3
  145. package/common/src/data-structures/Hinkal/hinkalSwap.cjs +1 -1
  146. package/common/src/data-structures/Hinkal/hinkalSwap.mjs +0 -1
  147. package/common/src/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
  148. package/common/src/data-structures/Hinkal/hinkalTransfer.mjs +0 -2
  149. package/common/src/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
  150. package/common/src/data-structures/Hinkal/hinkalWithdraw.mjs +0 -2
  151. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
  152. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +0 -2
  153. package/common/src/data-structures/Hinkal/index.d.ts +0 -1
  154. package/common/src/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
  155. package/common/src/data-structures/Hinkal/resetMerkleTrees.mjs +0 -3
  156. package/common/src/data-structures/IndexedDB/activity-db.cjs +1 -1
  157. package/common/src/data-structures/IndexedDB/activity-db.mjs +3 -7
  158. package/common/src/data-structures/IndexedDB/index.d.ts +0 -1
  159. package/common/src/data-structures/TokenDBs/PrivateTokensDB.cjs +1 -1
  160. package/common/src/data-structures/TokenDBs/PrivateTokensDB.mjs +3 -4
  161. package/common/src/data-structures/crypto-keys/decodeUTXO.cjs +1 -1
  162. package/common/src/data-structures/crypto-keys/decodeUTXO.mjs +1 -2
  163. package/common/src/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -1
  164. package/common/src/data-structures/crypto-keys/encryptDecryptUtxo.mjs +0 -2
  165. package/common/src/data-structures/crypto-keys/keyUtils.cjs +1 -1
  166. package/common/src/data-structures/crypto-keys/keyUtils.mjs +1 -1
  167. package/common/src/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.cjs +1 -1
  168. package/common/src/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.mjs +0 -2
  169. package/common/src/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.cjs +1 -1
  170. package/common/src/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.mjs +0 -2
  171. package/common/src/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.cjs +1 -1
  172. package/common/src/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.mjs +0 -2
  173. package/common/src/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.cjs +1 -1
  174. package/common/src/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.mjs +0 -2
  175. package/common/src/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.cjs +1 -1
  176. package/common/src/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.mjs +0 -1
  177. package/common/src/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.cjs +1 -1
  178. package/common/src/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.mjs +0 -1
  179. package/common/src/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.cjs +1 -1
  180. package/common/src/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.mjs +0 -1
  181. package/common/src/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.cjs +1 -1
  182. package/common/src/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.mjs +0 -1
  183. package/common/src/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.cjs +1 -1
  184. package/common/src/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.mjs +0 -1
  185. package/common/src/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.cjs +1 -1
  186. package/common/src/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.mjs +0 -1
  187. package/common/src/error-handling/customErrors/customErrors.helpers.cjs +1 -1
  188. package/common/src/error-handling/customErrors/customErrors.helpers.mjs +0 -2
  189. package/common/src/error-handling/get-error.message.cjs +1 -1
  190. package/common/src/error-handling/get-error.message.mjs +1 -3
  191. package/common/src/functions/auto-deposit-back-helpers/get-gas-token-records.cjs +1 -1
  192. package/common/src/functions/auto-deposit-back-helpers/get-gas-token-records.mjs +0 -2
  193. package/common/src/functions/auto-deposit-back-helpers/get-tokens-to-deposit-back.cjs +1 -1
  194. package/common/src/functions/auto-deposit-back-helpers/get-tokens-to-deposit-back.mjs +0 -1
  195. package/common/src/functions/auto-deposit-back-helpers/select-gas-token.cjs +1 -1
  196. package/common/src/functions/auto-deposit-back-helpers/select-gas-token.mjs +0 -4
  197. package/common/src/functions/kyc/checkTokenLimitsUSD.cjs +1 -1
  198. package/common/src/functions/kyc/checkTokenLimitsUSD.mjs +0 -5
  199. package/common/src/functions/pre-transaction/getVolatileTransferAmount.cjs +1 -1
  200. package/common/src/functions/pre-transaction/getVolatileTransferAmount.mjs +0 -1
  201. package/common/src/functions/pre-transaction/sendV0Transaction.cjs +1 -1
  202. package/common/src/functions/pre-transaction/sendV0Transaction.mjs +1 -1
  203. package/common/src/functions/pre-transaction/solana.cjs +1 -1
  204. package/common/src/functions/pre-transaction/solana.mjs +1 -1
  205. package/common/src/functions/private-wallet/emporium.helpers.cjs +1 -1
  206. package/common/src/functions/private-wallet/emporium.helpers.mjs +1 -2
  207. package/common/src/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
  208. package/common/src/functions/private-wallet/emporium.swap.helpers.mjs +1 -2
  209. package/common/src/functions/snarkjs/constructEmporiumProof.cjs +1 -1
  210. package/common/src/functions/snarkjs/constructEmporiumProof.mjs +0 -1
  211. package/common/src/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
  212. package/common/src/functions/snarkjs/constructSolanaZkProof.mjs +0 -1
  213. package/common/src/functions/snarkjs/generateZkProofEnclave.cjs +1 -1
  214. package/common/src/functions/snarkjs/generateZkProofEnclave.mjs +0 -1
  215. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.cjs +1 -1
  216. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.mjs +0 -1
  217. package/common/src/functions/utils/addresses.cjs +1 -1
  218. package/common/src/functions/utils/addresses.mjs +0 -1
  219. package/common/src/functions/utils/cacheDevice.utils.cjs +1 -1
  220. package/common/src/functions/utils/cacheDevice.utils.mjs +0 -2
  221. package/common/src/functions/utils/cacheFunctions.cjs +1 -1
  222. package/common/src/functions/utils/cacheFunctions.mjs +1 -1
  223. package/common/src/functions/utils/encryptInputForEnclave.cjs +1 -1
  224. package/common/src/functions/utils/encryptInputForEnclave.mjs +0 -1
  225. package/common/src/functions/utils/erc20tokenFunctions.cjs +1 -1
  226. package/common/src/functions/utils/erc20tokenFunctions.mjs +2 -14
  227. package/common/src/functions/utils/getRecipientInfoFromUserKeys.cjs +1 -1
  228. package/common/src/functions/utils/getRecipientInfoFromUserKeys.mjs +0 -1
  229. package/common/src/functions/utils/getUtxosFromReceipt.utils.cjs +1 -1
  230. package/common/src/functions/utils/getUtxosFromReceipt.utils.mjs +0 -3
  231. package/common/src/functions/utils/getUtxosFromReceiptSolana.cjs +1 -1
  232. package/common/src/functions/utils/getUtxosFromReceiptSolana.mjs +0 -1
  233. package/common/src/functions/utils/process.utils.cjs +1 -1
  234. package/common/src/functions/utils/process.utils.mjs +1 -1
  235. package/common/src/functions/utils/publicBalance.utils.cjs +1 -1
  236. package/common/src/functions/utils/publicBalance.utils.mjs +6 -20
  237. package/common/src/functions/utils/solanaMint.utils.cjs +1 -1
  238. package/common/src/functions/utils/solanaMint.utils.mjs +1 -1
  239. package/common/src/functions/utils/string.utils.cjs +1 -1
  240. package/common/src/functions/utils/string.utils.mjs +7 -10
  241. package/common/src/functions/utils/token-check.utils.cjs +1 -1
  242. package/common/src/functions/utils/token-check.utils.mjs +0 -2
  243. package/common/src/functions/utils/tron.utils.cjs +1 -1
  244. package/common/src/functions/utils/tron.utils.mjs +1 -1
  245. package/common/src/functions/utils/tx-confirmation.utils.cjs +1 -1
  246. package/common/src/functions/utils/tx-confirmation.utils.mjs +1 -2
  247. package/common/src/functions/web3/events/balanceChangedHandler.cjs +1 -1
  248. package/common/src/functions/web3/events/balanceChangedHandler.d.ts +1 -1
  249. package/common/src/functions/web3/events/balanceChangedHandler.mjs +0 -1
  250. package/common/src/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
  251. package/common/src/functions/web3/events/getInputUtxoAndBalance.mjs +1 -1
  252. package/common/src/functions/web3/events/getShieldedBalance.cjs +1 -1
  253. package/common/src/functions/web3/events/getShieldedBalance.mjs +0 -1
  254. package/common/src/functions/web3/fetchSolanaMerkleTreeRootHash.cjs +1 -1
  255. package/common/src/functions/web3/fetchSolanaMerkleTreeRootHash.mjs +0 -1
  256. package/common/src/functions/web3/functionCalls/accessTokenCalls.cjs +1 -1
  257. package/common/src/functions/web3/functionCalls/accessTokenCalls.mjs +0 -1
  258. package/common/src/functions/web3/functionCalls/recoverTransactionFromError.cjs +1 -1
  259. package/common/src/functions/web3/functionCalls/recoverTransactionFromError.mjs +0 -1
  260. package/common/src/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
  261. package/common/src/functions/web3/functionCalls/transactCallRelayer.mjs +0 -2
  262. package/common/src/functions/web3/getSolanaPriorityFee.cjs +1 -1
  263. package/common/src/functions/web3/getSolanaPriorityFee.mjs +0 -1
  264. package/common/src/functions/web3/odosAPI.cjs +1 -1
  265. package/common/src/functions/web3/odosAPI.mjs +0 -2
  266. package/common/src/functions/web3/okxAPI.cjs +1 -1
  267. package/common/src/functions/web3/okxAPI.mjs +1 -1
  268. package/common/src/functions/web3/oneInchAPI.cjs +1 -1
  269. package/common/src/functions/web3/oneInchAPI.mjs +0 -3
  270. package/common/src/functions/web3/uniswapAPI.cjs +1 -1
  271. package/common/src/functions/web3/uniswapAPI.mjs +1 -4
  272. package/common/src/providers/TronProviderAdapter.cjs +1 -1
  273. package/common/src/providers/TronProviderAdapter.mjs +0 -1
  274. package/common/src/types/balances.types.d.ts +0 -22
  275. package/common/src/types/hinkal.types.cjs +1 -1
  276. package/common/src/types/hinkal.types.mjs +1 -1
  277. package/common/src/types/kyc.types.cjs +1 -1
  278. package/common/src/types/kyc.types.mjs +1 -1
  279. package/common/src/types/new-rewards.type.cjs +1 -1
  280. package/common/src/types/new-rewards.type.mjs +1 -5
  281. package/common/src/webworker/logError-FeCdVeea.js +1 -0
  282. package/common/src/webworker/package.json +1 -1
  283. package/common/src/webworker/snarkjsWorker/snarkjsWorkerNode.d.ts +1 -0
  284. package/common/src/webworker/snarkjsWorkerNode.cjs +122 -11
  285. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
  286. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
  287. package/common/src/webworker/utxoWorker/utxoWorkerNode.d.ts +1 -0
  288. package/common/src/webworker/utxoWorkerNode.cjs +1 -1
  289. package/common/src/webworker/workerProxy-5NFtWSKK.js +1 -0
  290. package/common/src/webworker/workerThreadsPatch.d.ts +2 -1
  291. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
  292. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
  293. package/common/src/webworker/zkProofWorker/zkProofWorkerNode.d.ts +1 -0
  294. package/common/src/webworker/zkProofWorkerNode.cjs +1 -1
  295. package/functions/index.mjs +0 -1
  296. package/functions/utils/index.mjs +0 -1
  297. package/index.cjs +1 -1
  298. package/index.mjs +0 -1
  299. package/package.json +1 -1
  300. package/services/Hinkal.cjs +1 -1
  301. package/services/Hinkal.d.ts +3 -3
  302. package/services/Hinkal.mjs +7 -10
  303. package/types/IHinkal.d.ts +3 -4
  304. package/types/balances.types.d.ts +1 -1
  305. package/common/src/API/checkRisk.cjs +0 -1
  306. package/common/src/API/checkRisk.mjs +0 -3
  307. package/common/src/API/enclaveRecipientInfoCalls.cjs +0 -1
  308. package/common/src/API/enclaveRecipientInfoCalls.mjs +0 -2
  309. package/common/src/API/getCoingeckoPrice.cjs +0 -1
  310. package/common/src/API/getCoingeckoPrice.mjs +0 -2
  311. package/common/src/API/getWebsiteURL.cjs +0 -1
  312. package/common/src/API/getWebsiteURL.mjs +0 -1
  313. package/common/src/API/index.cjs +0 -1
  314. package/common/src/API/index.mjs +0 -24
  315. package/common/src/API/resolve-sns.cjs +0 -1
  316. package/common/src/API/resolve-sns.mjs +0 -1
  317. package/common/src/API/tenderly.api.cjs +0 -1
  318. package/common/src/API/tenderly.api.mjs +0 -4
  319. package/common/src/constants/activity.constants.cjs +0 -1
  320. package/common/src/constants/activity.constants.mjs +0 -4
  321. package/common/src/constants/assets.constants.cjs +0 -1
  322. package/common/src/constants/assets.constants.mjs +0 -4
  323. package/common/src/constants/coingecko.constants.cjs +0 -1
  324. package/common/src/constants/coingecko.constants.mjs +0 -6
  325. package/common/src/constants/events.constants.cjs +0 -1
  326. package/common/src/constants/events.constants.mjs +0 -12
  327. package/common/src/constants/index.cjs +0 -1
  328. package/common/src/constants/index.mjs +0 -34
  329. package/common/src/constants/presale.constants.cjs +0 -1
  330. package/common/src/constants/presale.constants.mjs +0 -3
  331. package/common/src/constants/schedule.constants.cjs +0 -1
  332. package/common/src/constants/schedule.constants.mjs +0 -3
  333. package/common/src/constants/tasks.constants.cjs +0 -1
  334. package/common/src/constants/tasks.constants.mjs +0 -124
  335. package/common/src/constants/token-data/arbMainnetRegistryFixed.json.cjs +0 -1
  336. package/common/src/constants/token-data/arbMainnetRegistryFixed.json.mjs +0 -1841
  337. package/common/src/constants/token-data/baseRegistryFixed.json.cjs +0 -1
  338. package/common/src/constants/token-data/baseRegistryFixed.json.mjs +0 -1142
  339. package/common/src/constants/token-data/ethMainnetRegistryFixed.json.cjs +0 -1
  340. package/common/src/constants/token-data/ethMainnetRegistryFixed.json.mjs +0 -4274
  341. package/common/src/constants/token-data/index.cjs +0 -1
  342. package/common/src/constants/token-data/index.mjs +0 -17
  343. package/common/src/constants/token-data/optimismRegistryFixed.json.cjs +0 -1
  344. package/common/src/constants/token-data/optimismRegistryFixed.json.mjs +0 -709
  345. package/common/src/constants/token-data/polygonRegistryFixed.json.cjs +0 -1
  346. package/common/src/constants/token-data/polygonRegistryFixed.json.mjs +0 -2317
  347. package/common/src/constants/token.limits.constants.cjs +0 -1
  348. package/common/src/constants/token.limits.constants.mjs +0 -5
  349. package/common/src/constants/tokens.constants.cjs +0 -1
  350. package/common/src/constants/tokens.constants.mjs +0 -3
  351. package/common/src/crypto/index.cjs +0 -1
  352. package/common/src/crypto/index.mjs +0 -3
  353. package/common/src/data-structures/AccountActions/index.cjs +0 -1
  354. package/common/src/data-structures/AccountActions/index.mjs +0 -1
  355. package/common/src/data-structures/Hinkal/HinkalPrivateBalanceController.cjs +0 -1
  356. package/common/src/data-structures/Hinkal/HinkalPrivateBalanceController.d.ts +0 -19
  357. package/common/src/data-structures/Hinkal/HinkalPrivateBalanceController.mjs +0 -239
  358. package/common/src/data-structures/IndexedDB/balances-db.cjs +0 -1
  359. package/common/src/data-structures/IndexedDB/balances-db.mjs +0 -47
  360. package/common/src/data-structures/IndexedDB/contact-db.cjs +0 -1
  361. package/common/src/data-structures/IndexedDB/contact-db.mjs +0 -45
  362. package/common/src/data-structures/IndexedDB/index.cjs +0 -1
  363. package/common/src/data-structures/IndexedDB/index.mjs +0 -8
  364. package/common/src/data-structures/IndexedDB/key-val-store.cjs +0 -1
  365. package/common/src/data-structures/IndexedDB/key-val-store.d.ts +0 -6
  366. package/common/src/data-structures/IndexedDB/key-val-store.mjs +0 -41
  367. package/common/src/data-structures/IndexedDB/pay-activity-db.cjs +0 -1
  368. package/common/src/data-structures/IndexedDB/pay-activity-db.mjs +0 -21
  369. package/common/src/data-structures/IndexedDB/prices-db.cjs +0 -1
  370. package/common/src/data-structures/IndexedDB/prices-db.mjs +0 -54
  371. package/common/src/data-structures/IndexedDB/private-balances-db.cjs +0 -1
  372. package/common/src/data-structures/IndexedDB/private-balances-db.mjs +0 -21
  373. package/common/src/data-structures/IndexedDB/signatures-db.cjs +0 -1
  374. package/common/src/data-structures/IndexedDB/signatures-db.mjs +0 -40
  375. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +0 -1
  376. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +0 -168
  377. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.cjs +0 -1
  378. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.mjs +0 -94
  379. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.cjs +0 -1
  380. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.mjs +0 -144
  381. package/common/src/data-structures/TokenDBs/PublicTokensDB.cjs +0 -1
  382. package/common/src/data-structures/TokenDBs/PublicTokensDB.mjs +0 -29
  383. package/common/src/data-structures/TokenDBs/index.cjs +0 -1
  384. package/common/src/data-structures/TokenDBs/index.mjs +0 -4
  385. package/common/src/data-structures/cacheDevices/index.cjs +0 -1
  386. package/common/src/data-structures/cacheDevices/index.mjs +0 -2
  387. package/common/src/data-structures/crypto-keys/index.cjs +0 -1
  388. package/common/src/data-structures/crypto-keys/index.mjs +0 -4
  389. package/common/src/data-structures/event-service/evm/PollingBlockchainEventEmitter.cjs +0 -1
  390. package/common/src/data-structures/event-service/evm/PollingBlockchainEventEmitter.mjs +0 -1
  391. package/common/src/data-structures/event-service/index.cjs +0 -1
  392. package/common/src/data-structures/event-service/index.mjs +0 -16
  393. package/common/src/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.cjs +0 -1
  394. package/common/src/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.mjs +0 -1
  395. package/common/src/data-structures/http/index.cjs +0 -1
  396. package/common/src/data-structures/http/index.mjs +0 -2
  397. package/common/src/data-structures/merkle-tree/index.cjs +0 -1
  398. package/common/src/data-structures/merkle-tree/index.mjs +0 -3
  399. package/common/src/data-structures/snapshot/index.cjs +0 -1
  400. package/common/src/data-structures/snapshot/index.mjs +0 -7
  401. package/common/src/error-handling/customErrors/index.cjs +0 -1
  402. package/common/src/error-handling/customErrors/index.mjs +0 -4
  403. package/common/src/error-handling/index.cjs +0 -1
  404. package/common/src/error-handling/index.mjs +0 -10
  405. package/common/src/functions/auto-deposit-back-helpers/index.cjs +0 -1
  406. package/common/src/functions/auto-deposit-back-helpers/index.mjs +0 -4
  407. package/common/src/functions/index.cjs +0 -1
  408. package/common/src/functions/index.mjs +0 -82
  409. package/common/src/functions/kyc/index.cjs +0 -1
  410. package/common/src/functions/kyc/index.mjs +0 -4
  411. package/common/src/functions/kyc/passportHelper.cjs +0 -1
  412. package/common/src/functions/kyc/passportHelper.mjs +0 -1
  413. package/common/src/functions/pre-transaction/addressTableLookup.cjs +0 -1
  414. package/common/src/functions/pre-transaction/addressTableLookup.mjs +0 -2
  415. package/common/src/functions/pre-transaction/calculateSolanaNullifierCount.cjs +0 -1
  416. package/common/src/functions/pre-transaction/calculateSolanaNullifierCount.mjs +0 -5
  417. package/common/src/functions/pre-transaction/getFlatFees.cjs +0 -1
  418. package/common/src/functions/pre-transaction/getFlatFees.mjs +0 -4
  419. package/common/src/functions/pre-transaction/index.cjs +0 -1
  420. package/common/src/functions/pre-transaction/index.mjs +0 -21
  421. package/common/src/functions/pre-transaction/initTokenLimitIfNeeded.cjs +0 -1
  422. package/common/src/functions/pre-transaction/initTokenLimitIfNeeded.mjs +0 -3
  423. package/common/src/functions/pre-transaction/interaction-to-action.cjs +0 -1
  424. package/common/src/functions/pre-transaction/interaction-to-action.mjs +0 -1
  425. package/common/src/functions/pre-transaction/sendInitNullifiersTransaction.cjs +0 -1
  426. package/common/src/functions/pre-transaction/sendInitNullifiersTransaction.mjs +0 -3
  427. package/common/src/functions/pre-transaction/store-instructions.cjs +0 -1
  428. package/common/src/functions/pre-transaction/store-instructions.mjs +0 -2
  429. package/common/src/functions/pre-transaction/store-proof.cjs +0 -1
  430. package/common/src/functions/pre-transaction/store-proof.mjs +0 -3
  431. package/common/src/functions/private-wallet/index.cjs +0 -1
  432. package/common/src/functions/private-wallet/index.mjs +0 -3
  433. package/common/src/functions/private-wallet/opProducer.cjs +0 -1
  434. package/common/src/functions/private-wallet/opProducer.mjs +0 -3
  435. package/common/src/functions/snarkjs/index.cjs +0 -1
  436. package/common/src/functions/snarkjs/index.mjs +0 -7
  437. package/common/src/functions/snarkjs/verifyCommitmentValidationData.cjs +0 -1
  438. package/common/src/functions/snarkjs/verifyCommitmentValidationData.mjs +0 -6
  439. package/common/src/functions/utils/buildClaimableDepositPlan.cjs +0 -1
  440. package/common/src/functions/utils/buildClaimableDepositPlan.mjs +0 -3
  441. package/common/src/functions/utils/convertIntegrationProviderToExternalActionId.cjs +0 -1
  442. package/common/src/functions/utils/convertIntegrationProviderToExternalActionId.mjs +0 -4
  443. package/common/src/functions/utils/deposit-claimable.utils.cjs +0 -1
  444. package/common/src/functions/utils/deposit-claimable.utils.mjs +0 -12
  445. package/common/src/functions/utils/dispatchBalanceRefreshes.cjs +0 -1
  446. package/common/src/functions/utils/dispatchBalanceRefreshes.mjs +0 -4
  447. package/common/src/functions/utils/enclave-recipient-info-storage.cjs +0 -1
  448. package/common/src/functions/utils/enclave-recipient-info-storage.mjs +0 -2
  449. package/common/src/functions/utils/enclave-signature-storage.cjs +0 -1
  450. package/common/src/functions/utils/enclave-signature-storage.mjs +0 -2
  451. package/common/src/functions/utils/enclave-utxo-storage.cjs +0 -1
  452. package/common/src/functions/utils/enclave-utxo-storage.mjs +0 -4
  453. package/common/src/functions/utils/evmNetworkFunctions.cjs +0 -1
  454. package/common/src/functions/utils/evmNetworkFunctions.mjs +0 -1
  455. package/common/src/functions/utils/formatter.cjs +0 -1
  456. package/common/src/functions/utils/formatter.mjs +0 -1
  457. package/common/src/functions/utils/getBlockExplorerUrl.cjs +0 -1
  458. package/common/src/functions/utils/getBlockExplorerUrl.mjs +0 -1
  459. package/common/src/functions/utils/inLogicMetadata.cjs +0 -1
  460. package/common/src/functions/utils/inLogicMetadata.mjs +0 -1
  461. package/common/src/functions/utils/index.cjs +0 -1
  462. package/common/src/functions/utils/index.mjs +0 -68
  463. package/common/src/functions/utils/ipfs.cjs +0 -1
  464. package/common/src/functions/utils/ipfs.mjs +0 -1
  465. package/common/src/functions/utils/lifi.utils.cjs +0 -1
  466. package/common/src/functions/utils/lifi.utils.mjs +0 -4
  467. package/common/src/functions/utils/networks.utils.cjs +0 -1
  468. package/common/src/functions/utils/networks.utils.mjs +0 -1
  469. package/common/src/functions/utils/nftTokenFunctions.cjs +0 -1
  470. package/common/src/functions/utils/nftTokenFunctions.mjs +0 -2
  471. package/common/src/functions/utils/prepareHinkal.cjs +0 -1
  472. package/common/src/functions/utils/prepareHinkal.mjs +0 -7
  473. package/common/src/functions/utils/rpc-int-encode.cjs +0 -1
  474. package/common/src/functions/utils/rpc-int-encode.mjs +0 -1
  475. package/common/src/functions/utils/transfer-claimable.utils.cjs +0 -1
  476. package/common/src/functions/utils/transfer-claimable.utils.mjs +0 -12
  477. package/common/src/functions/utils/userAgent.cjs +0 -1
  478. package/common/src/functions/utils/userAgent.mjs +0 -3
  479. package/common/src/functions/utils/walletBalances.utils.cjs +0 -1
  480. package/common/src/functions/utils/walletBalances.utils.mjs +0 -1
  481. package/common/src/functions/web3/EIP-712.cjs +0 -1
  482. package/common/src/functions/web3/EIP-712.mjs +0 -1
  483. package/common/src/functions/web3/connectors.utils.cjs +0 -1
  484. package/common/src/functions/web3/connectors.utils.mjs +0 -1
  485. package/common/src/functions/web3/events/getTransactionLogEvents.cjs +0 -1
  486. package/common/src/functions/web3/events/getTransactionLogEvents.mjs +0 -2
  487. package/common/src/functions/web3/events/index.cjs +0 -1
  488. package/common/src/functions/web3/events/index.mjs +0 -4
  489. package/common/src/functions/web3/getTokenHolder.cjs +0 -1
  490. package/common/src/functions/web3/getTokenHolder.mjs +0 -7
  491. package/common/src/functions/web3/index.cjs +0 -1
  492. package/common/src/functions/web3/index.mjs +0 -16
  493. package/common/src/functions/web3/runContractFunction.cjs +0 -1
  494. package/common/src/functions/web3/runContractFunction.mjs +0 -1
  495. package/common/src/mutexes/mutex.cjs +0 -1
  496. package/common/src/mutexes/mutex.mjs +0 -3
  497. package/common/src/types/index.cjs +0 -1
  498. package/common/src/types/index.mjs +0 -19
  499. package/common/src/types/schedule.types.cjs +0 -1
  500. package/common/src/types/schedule.types.mjs +0 -6
  501. package/common/src/webworker/workerProxy-DPSmXOIl.js +0 -122
  502. package/functions/integrations/index.mjs +0 -5
  503. package/functions/utils/getFeeStructure.mjs +0 -1
  504. package/types/balances.types.cjs +0 -1
  505. package/types/balances.types.mjs +0 -2
  506. package/types/external-action.types.cjs +0 -1
  507. package/types/external-action.types.mjs +0 -2
  508. package/types/index.cjs +0 -1
  509. package/types/index.mjs +0 -4
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../functions/utils/serialize.utils.cjs`),t=require(`../../constants/vite.constants.cjs`),n=require(`../../constants/chains.constants.cjs`),r=require(`../../types/hinkal.types.cjs`),i=require(`../../types/ethereum-network.types.cjs`),a=require(`../../crypto/poseidon.cjs`),o=require(`../../functions/pre-transaction/solana.cjs`),s=require(`./hinkalCheckSolanaTokenRegistry.cjs`),c=require(`../../functions/web3/functionCalls/accessTokenCalls.cjs`),l=require(`../../error-handling/error-codes.constants.cjs`),u=require(`../../functions/utils/erc20tokenFunctions.cjs`),d=require(`../crypto-keys/keys.cjs`),f=require(`../../API/API.cjs`),p=require(`../../functions/utils/token-check.utils.cjs`),m=require(`../TokenDBs/PrivateTokensDB.cjs`),ee=require(`../../functions/web3/events/getShieldedBalance.cjs`),h=require(`../../constants/kyc.constants.cjs`),g=require(`../../functions/utils/reloadPage.cjs`),te=require(`../../functions/utils/cacheDevice.utils.cjs`),_=require(`../../functions/web3/getContractMetadata.cjs`),v=require(`../../providers/SolanaProviderAdapter.cjs`),y=require(`./hinkalCheckTokenRegistry.cjs`),b=require(`../merkle-tree/MerkleTree.cjs`);require(`../merkle-tree/index.cjs`);const x=require(`../../functions/web3/fetchSolanaMerkleTreeRootHash.cjs`),S=require(`./hinkalDeposit.cjs`),C=require(`../../functions/private-wallet/emporium.helpers.cjs`);require(`../../API/index.cjs`);const w=require(`../../functions/kyc/checkTokenLimitsUSD.cjs`),T=require(`./hinkalDepositAndWithdraw.cjs`),E=require(`./hinkalSolanaDeposit.cjs`),D=require(`./hinkalSwap.cjs`),O=require(`./hinkalWithdraw.cjs`),k=require(`./resetMerkleTrees.cjs`),A=require(`../MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs`),j=require(`./hinkalPrivateWallet.cjs`),M=require(`./hinkalGetRecipientInfo.cjs`),N=require(`./hinkalSignSubAccount.cjs`),P=require(`./hinkalActionReceive.cjs`);require(`../TokenDBs/index.cjs`);const F=require(`./hinkalProoflessDeposit.cjs`),I=require(`./hinkalProxySwap.cjs`),L=require(`./hinkalMultiSend.cjs`),ne=require(`./hinkalTransfer.cjs`),R=require(`./hinkalProxyToPrivate.cjs`),z=require(`../../providers/TronProviderAdapter.cjs`),B=require(`./hinkalSolanaDepositAndWithdraw.cjs`),V=require(`./hinkalSolanaWithdraw.cjs`),H=require(`./hinkalSolanaTransfer.cjs`),U=require(`./hinkalSolanaSwap.cjs`),W=require(`./hinkalSolanaProxySend.cjs`),G=require(`./hinkalSolanaProxySwap.cjs`),K=require(`./hinkalSolanaProxyShield.cjs`),q=require(`./hinkalDepositAndBridge.cjs`),J=require(`./hinkalClaimUtxo.cjs`),Y=require(`./hinkalSolanaProoflessDeposit.cjs`),X=require(`./hinkalSolanaClaimUtxo.cjs`),Z=require(`./hinkalWithdrawStuckUtxos.cjs`),re=require(`./HinkalPrivateBalanceController.cjs`);let Q=require(`ethers`),$=require(`@solana/web3.js`);var ie=class{ethereumProviderAdapter;solanaProviderAdapter;tronProviderAdapter;userKeys;signingMessage=`Login to Hinkal Protocol`;privateTransferSigningMessage=`Login to Hinkal's Private Transfer App`;merkleTreeHinkalByChain={};merkleTreeAccessTokenByChain={};nullifiersByChain={};encryptedOutputsByChain={};commitmentsSnapshotServiceByChain={};nullifierSnapshotServiceByChain={};accessTokenSnapshotServiceByChain={};utxoUtils;lastCallState=new Map;cacheDevice;generateProofRemotely;disableMerkleTreeUpdates;privateBalances=new re.HinkalPrivateBalanceController(this);constructor(e){this.userKeys=new d.UserKeys(void 0),n.HINKAL_SUPPORTED_CHAINS.forEach(e=>{this.merkleTreeHinkalByChain[e]=b.MerkleTree.create(a.poseidonFunction,0n),this.merkleTreeAccessTokenByChain[e]=b.MerkleTree.create(a.poseidonFunction,0n),this.nullifiersByChain[e]=new Set,this.encryptedOutputsByChain[e]=[]}),this.generateProofRemotely=e?.generateProofRemotely??!0,this.utxoUtils=new A.MultiThreadedUtxoUtils,this.cacheDevice=te.createCacheDevice(e),this.disableMerkleTreeUpdates=e?.disableMerkleTreeUpdates??!1}enforceRateLimit(t,n,r=1e3){let i=Date.now(),a=e.CustomJSONStringify(n),o=this.lastCallState.get(t);if(o&&o.argsKey===a&&i-o.timestamp<r)throw Error(`${t} was already called with the same arguments`);this.lastCallState.set(t,{timestamp:i,argsKey:a})}getProviderAdapter(e){let t=e;t||=this.ethereumProviderAdapter?n.chainIds.ethMainnet:this.solanaProviderAdapter?n.chainIds.solanaMainnet:n.chainIds.tronMainnet;let r;if(r=n.isSolanaLike(t)?this.solanaProviderAdapter:n.isTronLike(t)?this.tronProviderAdapter:this.ethereumProviderAdapter,!r)throw Error(`ProviderAdapter is not initialized`);return r}async initProviderAdapter(e,t){let r=n.chainIds.ethMainnet;t instanceof v.SolanaProviderAdapter?r=n.chainIds.solanaMainnet:t instanceof z.TronProviderAdapter&&(r=n.currentTronChainId),await this.updateProviderAdapter(r,t),t.initConnector(e);let i=await t.connectAndPatchProvider(e);await t.init(i),await this.setListeners()}getSigningMessage(e=r.LoginMessageMode.PROTOCOL){switch(e){case r.LoginMessageMode.PRIVATE_TRANSFER:return this.privateTransferSigningMessage;case r.LoginMessageMode.PROTOCOL:default:return this.signingMessage}}async initUserKeys(e=r.LoginMessageMode.PROTOCOL){let t=this.getSigningMessage(e);this.userKeys=new d.UserKeys(await this.getProviderAdapter().signMessage(t))}initUserKeysWithSignature(e){this.userKeys=new d.UserKeys(e)}async initUserKeysFromSeedPhrases(e){let t=e.join(` `),n=Q.ethers.toUtf8Bytes(t),r=Q.ethers.keccak256(n);this.userKeys=new d.UserKeys(r)}async resetMerkle(e){this.disableMerkleTreeUpdates||(e?.every(e=>this.isSelectedNetworkSupported(e))??!0)&&await k.resetMerkleTrees(this,e)}getTronWeb(){let e=this.tronProviderAdapter;if(!e)throw Error(`Tron provider adapter not initialized`);if(!(e instanceof z.TronProviderAdapter))throw Error(`Tron provider adapter is not a TronProviderAdapter`);let t=e.getTronWeb();if(!t)throw Error(`TronWeb not available`);return t}getSupportedChains(){return this.ethereumProviderAdapter&&this.solanaProviderAdapter?n.WALLET_SUPPORTED_CHAINS:this.ethereumProviderAdapter?n.HINKAL_SUPPORTED_CHAINS.filter(e=>!n.isSolanaLike(e)&&!n.isTronLike(e)):this.solanaProviderAdapter?n.HINKAL_SUPPORTED_CHAINS.filter(e=>n.isSolanaLike(e)):this.tronProviderAdapter?n.HINKAL_SUPPORTED_CHAINS.filter(e=>n.isTronLike(e)):[]}async waitForTransaction(e,t,n=1){return!!await this.getProviderAdapter(e).waitForTransaction(e,t,n)}getContract(e,t,n=void 0){return this.getProviderAdapter(e).getContract(e,t,n)}getContractWithFetcherByChainId(e,t,n=void 0){return _.getContractWithFetcherByChainId(e,t,n)}async signMessage(e){return await this.getProviderAdapter().signMessage(e)}async signTypedData(e,t,n){return await this.getProviderAdapter().signTypedData(e,t,n)}async signWithSubAccount(e,t,n,r){return N.hinkalSignSubAccount(e,t,n,r)}getContractWithSigner(e,t,n=``){return this.getProviderAdapter(e).getContractWithSigner(e,t,n)}getContractWithFetcher(e,t,n=``){return this.getProviderAdapter(e).getContractWithFetcher(e,t,n)}isSelectedNetworkSupported(e){return!!n.networkRegistry[e]}async switchNetwork(e){try{await this.getProviderAdapter().switchNetwork(e)}catch{throw Error(l.transactionErrorCodes.FAILED_TO_SWITCH_NETWORKS)}}isPermitterAvailable(e){return this.getProviderAdapter(e).isPermitterAvailable()}async disconnectFromConnector(){await this.ethereumProviderAdapter?.disconnectFromConnector(),await this.solanaProviderAdapter?.disconnectFromConnector(),await this.tronProviderAdapter?.disconnectFromConnector()}async resetProviderAdapters(){this.ethereumProviderAdapter=void 0,this.solanaProviderAdapter=void 0,this.tronProviderAdapter=void 0}async updateProviderAdapter(e,t){try{n.isSolanaLike(e)?(this.solanaProviderAdapter&&this.solanaProviderAdapter.release(),this.solanaProviderAdapter=t):n.isTronLike(e)?(this.tronProviderAdapter&&this.tronProviderAdapter.release(),this.tronProviderAdapter=t):(this.ethereumProviderAdapter&&this.ethereumProviderAdapter.release(),this.ethereumProviderAdapter=t)}catch(e){throw console.error(e),Error(`updateProviderAdapter failed, please try again.`)}}async setListeners(){this.ethereumProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}}),this.solanaProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}}),this.tronProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}})}async onAccountChanged(){await this.ethereumProviderAdapter?.onAccountChanged(),await this.solanaProviderAdapter?.onAccountChanged(),await this.tronProviderAdapter?.onAccountChanged();let e=r.EventType.AccountChanged;typeof document<`u`?document?.dispatchEvent(new Event(e)):process?.emit(`message`,e,void 0)}async onChainChanged(e){e?await this.getProviderAdapter(e).onChainChanged(e):(await this.disconnectFromConnector(),g.reloadPage())}async monitorConnectedAddress(e){await f.API.monitor(await this.getEthereumAddressByChain(e))}async getBalances(e,t,n,r,i=!1,a,o=!1){return ee.getShieldedBalance(this,e,t,n,r,i,this.generateProofRemotely,a,o)}async getTotalBalance(e,n,r,i=!1,a,o=!1){let s=r??await this.getEthereumAddressByChain(e),c=n??this.userKeys,l=await this.getBalances(e,c.getShieldedPrivateKey(),c.getShieldedPublicKey(),s,i,a,o),d=t.isExtension?await m.privateTokensDB.getPrivateTokens(e,s):u.getErc20TokensForChain(e),f=[];return d.forEach(e=>{let t=e.erc20TokenAddress.toLowerCase(),n=l.get(t),r={token:e,balance:n?.balance??0n,timestamp:n?.timestamp||`0`,nfts:n?.nfts||[]};f.push(r)}),f}async getStuckShieldedBalances(e,t,n,r=!1,i=!1){return(await this.getTotalBalance(e,t,n,r,i,!0)).filter(e=>e.balance>0n)}get privateBalancesWithUSD(){return this.privateBalances.getSnapshot()}onPrivateBalancesWithUSDChange(e){return this.privateBalances.onPrivateBalancesWithUSDChange(e)}getSupportedPassportLinks(){return h.supportedPassportLinks}checkAccessToken(e,t){return c.checkHinkalAccessToken(this,e,t)}checkExternalTokenLimitsUSD(e,t,n){return w.checkTokenLimitsUSD(e,t,n)}async getHinkalTreeRootHash(e){if(n.isSolanaLike(e)){let{hinkalIdl:t,hinkalAddress:r,originalDeployer:i}=n.networkRegistry[e].contractData;if(!t||!r||!i)throw Error(`Missing Solana configuration for chain ${e}`);let a=new $.PublicKey(i),s=o.getMerkleAccountPublicKey(new $.PublicKey(r),a);return x.fetchSolanaMerkleTreeRootHash(this.getSolanaProgram(t),s)}return this.getContractWithFetcherByChainId(e,i.ContractType.HinkalContract).getRootHash()}async getAccessTokenTreeRootHash(e){if(n.isSolanaLike(e)){let{hinkalIdl:t,hinkalAddress:r,originalDeployer:i}=n.networkRegistry[e].contractData;if(!t||!r||!i)throw Error(`Missing Solana configuration for chain ${e}`);let a=new $.PublicKey(i),s=o.getAccessTokenMerkleAccountPublicKey(new $.PublicKey(r),a);return x.fetchSolanaMerkleTreeRootHash(this.getSolanaProgram(t),s)}return this.getContractWithFetcherByChainId(e,i.ContractType.AccessTokenContract).getRootHash()}async resetMerkleTreesIfNecessary(e){let t=(await Promise.all((e??this.getSupportedChains()).map(async e=>{let[t,n]=await Promise.all([this.getHinkalTreeRootHash(e),this.getAccessTokenTreeRootHash(e)]);return{chainId:e,needsReset:BigInt(t)!==this.merkleTreeHinkalByChain[e].getRootHash()||BigInt(n)!==this.merkleTreeAccessTokenByChain[e].getRootHash()}}))).filter(e=>e.needsReset).map(e=>e.chainId);t.length>0&&(console.log(`resetting merkle tree in resetMerkleTreesIfNecessary for chains:`,t),await this.resetMerkle(t))}async getEthereumAddress(){let e=this.ethereumProviderAdapter??this.solanaProviderAdapter??this.tronProviderAdapter;if(!e)throw Error(`No provider adapter initialized`);return e.getAddress()}getEthereumAddressByChain(e){return this.getProviderAdapter(e).getAddress()}async getRandomRelay(e,t=!1){return(await f.API.getIdleRelay(e,t)).relay}getGasPrice(e){let t=this.getProviderAdapter(e);if(!t)throw Error(`Illegal State of providerAdapter in Hinkal: no providerAdapter initialized`);return t.getGasPrice(e)}getAPI(){return f.API}snapshotsClearInterval(){this.getSupportedChains().forEach(e=>{this.commitmentsSnapshotServiceByChain[e]?.intervalClear(),this.accessTokenSnapshotServiceByChain[e]?.intervalClear(),this.nullifierSnapshotServiceByChain[e]?.intervalClear()})}checkTokenRegistry(e,t,r){if(n.isSolanaLike(e)){let{hinkalIdl:i,hinkalAddress:a,originalDeployer:o}=n.networkRegistry[e].contractData;if(!i||!a||!o)throw Error(`missing solana data`);return s.hinkalCheckSolanaTokenRegistry(this.getSolanaProgram(i),new $.PublicKey(o),t,r)}return n.isTronLike(e)?y.hinkalCheckTronTokenRegistry(t,r,e):y.hinkalCheckTokenRegistry(this.getContractWithFetcher(e,i.ContractType.HinkalHelperContract),t,r)}getRecipientInfo(){return M.getRecipientInfo(this)}async deposit(e,t,n=!0,r=!1){return S.hinkalDeposit(this,e,t,n,r)}async depositSolana(e,t){return E.hinkalSolanaDeposit(this,e,t)}async depositForOther(e,t,n,r=!0,i=!1){return this.enforceRateLimit(this.depositForOther.name,[e,t,n]),S.hinkalDepositForOther(this,e,t,n,r,i)}async depositSolanaForOther(e,t,n){return this.enforceRateLimit(this.depositSolanaForOther.name,[e,t,n]),E.hinkalSolanaDepositForOther(this,e,t,n)}async depositAndWithdraw(e,t,r,i,a,o,s,c,l=!0){return n.isSolanaLike(p.validateAndGetChainId([e]))?B.hinkalSolanaDepositAndWithdraw(this,e,t,r,i,a,o,s,c):T.hinkalDepositAndWithdraw(this,e,t,r,i,a,o,s,c,l)}async claimUtxo(e,t,r,i){return n.isSolanaLike(p.validateAndGetChainId([e]))?X.hinkalSolanaClaimUtxo(this,e,t,r,i):J.hinkalClaimUtxo(this,e,t,r,i)}async depositAndBridge(e,t,n,r,i,a,o,s=!0){return q.hinkalDepositAndBridge(this,e,t,n,r,i,a,o,s)}async prooflessDeposit(e,t,r,i){return n.isSolanaLike(p.validateAndGetChainId(e))?Y.hinkalSolanaProoflessDeposit(this,e,t,r,i):F.hinkalProoflessDeposit(this,e,t,r,i)}getSolanaProgram(e){if(!this.solanaProviderAdapter)throw Error(`No provider adapter initialized`);if(!(`getSolanaProgram`in this.solanaProviderAdapter))throw Error(`Current provider adapter is not a Solana provider adapter`);return this.solanaProviderAdapter.getSolanaProgram(e)}getSolanaPublicKey(){if(!this.solanaProviderAdapter)throw Error(`No provider adapter initialized`);if(!(`getSolanaPublicKey`in this.solanaProviderAdapter))throw Error(`Current provider adapter is not a Solana provider adapter`);return this.solanaProviderAdapter.getSolanaPublicKey()}async transfer(e,t,r,i,a,o){return n.isSolanaLike(p.validateAndGetChainId(e))?H.hinkalSolanaTransfer(this,e,t,r,i,a,o):ne.hinkalTransfer(this,e,t,r,i,a,o)}async withdraw(e,t,r,i,a,o,s){return n.isSolanaLike(p.validateAndGetChainId(e))?V.hinkalSolanaWithdraw(this,e,t,r,a,o,s):O.hinkalWithdraw(this,e,t,r,i,a,o,s)}async withdrawStuckUtxos(e,t){return Z.hinkalWithdrawStuckUtxos(this,e,t)}async swap(e,t,r,i,a,o,s){return n.isSolanaLike(p.validateAndGetChainId(e))?this.swapSolana(e,t,i,a,o):D.hinkalSwap(this,e,t,r,i,a,o,s)}async swapSolana(e,t,n,r,i){let a=JSON.parse(n),o=BigInt(a.swapperAccountSalt),{instructionLists:s,addressLookupTableAccount:c}=a.data;return U.hinkalSolanaSwap(this,e,t,o,s,c,r,i)}async actionReceive(e,t,r,i,a,o){if(!a)throw Error(`subAccount is required`);return n.isSolanaLike(p.validateAndGetChainId(e))?K.hinkalSolanaProxyShield(this,e[0],t[0],a,void 0,o):P.hinkalActionReceive(this,e,t,r,i,a,o)}async actionPrivateWallet(e,t,n,r,i,a,o,s,c,l,u=!1,d,f,p){return this.enforceRateLimit(this.actionPrivateWallet.name,[e,t,n,r,i,a,o,s,c,p]),j.hinkalPrivateWallet(this,e,t,n,r,i,a,o,s,c,l,u,d,f,p)}async proxySwap(e,t,r,i,a,o,s,c,l=!1,u,d){return n.isSolanaLike(p.validateAndGetChainId(e))?G.hinkalSolanaProxySwap(this,e,t,i,o,r,s,c,d):I.hinkalProxySwap(this,e,t,r,i,a,o,s,c,l,u,d)}async proxyToPrivate(e,t,r,i,a,o,s){return n.isSolanaLike(p.validateAndGetChainId(e))?(this.enforceRateLimit(this.proxyToPrivate.name,[e[0],t[0],r,i]),K.hinkalSolanaProxyShield(this,e[0],t[0],r,i,s)):R.hinkalProxyToPrivate(this,e,t,i,a,o,r,s)}async proxySend(e,t,r,i,a,o,s){let c=p.validateAndGetChainId(e);if(n.isSolanaLike(c))return W.hinkalSolanaProxySend(this,e[0],t[0],r,i,s);let l=C.createTransaferEmporiumOpsBatch(this,c,e.map(e=>e.erc20TokenAddress),t,i),u=e.map((e,n)=>({token:e,amount:-1n*t[n]}));return await this.actionPrivateWallet(c,[],[],[],l,u,r,a,o,void 0,void 0,void 0,s,void 0)}async multiSendPrivateRecipients(e,t,n){return this.enforceRateLimit(this.multiSendPrivateRecipients.name,[e,t,n]),L.hinkalMultiSendPrivateRecipients(this,e,t,n)}areMerkleTreeUpdatesDisabled(){return this.disableMerkleTreeUpdates}updateMerkleTreeUpdates(e){this.disableMerkleTreeUpdates=e}};exports.Hinkal=ie;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../functions/utils/serialize.utils.cjs`),t=require(`../../constants/vite.constants.cjs`),n=require(`../../constants/chains.constants.cjs`),r=require(`../../types/hinkal.types.cjs`),i=require(`../../types/ethereum-network.types.cjs`),a=require(`../../crypto/poseidon.cjs`),o=require(`../../functions/pre-transaction/solana.cjs`),s=require(`./hinkalCheckSolanaTokenRegistry.cjs`),c=require(`../../functions/web3/functionCalls/accessTokenCalls.cjs`),l=require(`../../error-handling/error-codes.constants.cjs`),u=require(`../../functions/utils/erc20tokenFunctions.cjs`),d=require(`../crypto-keys/keys.cjs`),f=require(`../../API/API.cjs`),p=require(`../../functions/utils/token-check.utils.cjs`),m=require(`../TokenDBs/PrivateTokensDB.cjs`),ee=require(`../../functions/web3/events/getShieldedBalance.cjs`),h=require(`../../constants/kyc.constants.cjs`),g=require(`../../functions/utils/reloadPage.cjs`),te=require(`../../functions/utils/cacheDevice.utils.cjs`),_=require(`../../functions/web3/getContractMetadata.cjs`),v=require(`../../providers/SolanaProviderAdapter.cjs`),y=require(`./hinkalCheckTokenRegistry.cjs`),b=require(`../merkle-tree/MerkleTree.cjs`),x=require(`../../functions/web3/fetchSolanaMerkleTreeRootHash.cjs`),S=require(`./hinkalDeposit.cjs`),C=require(`../../functions/private-wallet/emporium.helpers.cjs`),w=require(`../../functions/kyc/checkTokenLimitsUSD.cjs`),T=require(`./hinkalDepositAndWithdraw.cjs`),E=require(`./hinkalSolanaDeposit.cjs`),D=require(`./hinkalSwap.cjs`),O=require(`./hinkalWithdraw.cjs`),k=require(`./resetMerkleTrees.cjs`),A=require(`../MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs`),j=require(`./hinkalPrivateWallet.cjs`),M=require(`./hinkalGetRecipientInfo.cjs`),N=require(`./hinkalSignSubAccount.cjs`),P=require(`./hinkalActionReceive.cjs`),F=require(`./hinkalProoflessDeposit.cjs`),I=require(`./hinkalProxySwap.cjs`),L=require(`./hinkalMultiSend.cjs`),ne=require(`./hinkalTransfer.cjs`),R=require(`./hinkalProxyToPrivate.cjs`),z=require(`../../providers/TronProviderAdapter.cjs`),B=require(`./hinkalSolanaDepositAndWithdraw.cjs`),V=require(`./hinkalSolanaWithdraw.cjs`),H=require(`./hinkalSolanaTransfer.cjs`),U=require(`./hinkalSolanaSwap.cjs`),W=require(`./hinkalSolanaProxySend.cjs`),G=require(`./hinkalSolanaProxySwap.cjs`),K=require(`./hinkalSolanaProxyShield.cjs`),q=require(`./hinkalDepositAndBridge.cjs`),J=require(`./hinkalClaimUtxo.cjs`),Y=require(`./hinkalSolanaProoflessDeposit.cjs`),X=require(`./hinkalSolanaClaimUtxo.cjs`),Z=require(`./hinkalWithdrawStuckUtxos.cjs`);let Q=require(`ethers`),$=require(`@solana/web3.js`);var re=class{ethereumProviderAdapter;solanaProviderAdapter;tronProviderAdapter;userKeys;signingMessage=`Login to Hinkal Protocol`;privateTransferSigningMessage=`Login to Hinkal's Private Transfer App`;merkleTreeHinkalByChain={};merkleTreeAccessTokenByChain={};nullifiersByChain={};encryptedOutputsByChain={};commitmentsSnapshotServiceByChain={};nullifierSnapshotServiceByChain={};accessTokenSnapshotServiceByChain={};utxoUtils;lastCallState=new Map;cacheDevice;generateProofRemotely;disableMerkleTreeUpdates;constructor(e){this.userKeys=new d.UserKeys(void 0),n.HINKAL_SUPPORTED_CHAINS.forEach(e=>{this.merkleTreeHinkalByChain[e]=b.MerkleTree.create(a.poseidonFunction,0n),this.merkleTreeAccessTokenByChain[e]=b.MerkleTree.create(a.poseidonFunction,0n),this.nullifiersByChain[e]=new Set,this.encryptedOutputsByChain[e]=[]}),this.generateProofRemotely=e?.generateProofRemotely??!0,this.utxoUtils=new A.MultiThreadedUtxoUtils,this.cacheDevice=te.createCacheDevice(e),this.disableMerkleTreeUpdates=e?.disableMerkleTreeUpdates??!1}enforceRateLimit(t,n,r=1e3){let i=Date.now(),a=e.CustomJSONStringify(n),o=this.lastCallState.get(t);if(o&&o.argsKey===a&&i-o.timestamp<r)throw Error(`${t} was already called with the same arguments`);this.lastCallState.set(t,{timestamp:i,argsKey:a})}getProviderAdapter(e){let t=e;t||=this.ethereumProviderAdapter?n.chainIds.ethMainnet:this.solanaProviderAdapter?n.chainIds.solanaMainnet:n.chainIds.tronMainnet;let r;if(r=n.isSolanaLike(t)?this.solanaProviderAdapter:n.isTronLike(t)?this.tronProviderAdapter:this.ethereumProviderAdapter,!r)throw Error(`ProviderAdapter is not initialized`);return r}async initProviderAdapter(e,t){let r=n.chainIds.ethMainnet;t instanceof v.SolanaProviderAdapter?r=n.chainIds.solanaMainnet:t instanceof z.TronProviderAdapter&&(r=n.currentTronChainId),await this.updateProviderAdapter(r,t),t.initConnector(e);let i=await t.connectAndPatchProvider(e);await t.init(i),await this.setListeners()}getSigningMessage(e=r.LoginMessageMode.PROTOCOL){switch(e){case r.LoginMessageMode.PRIVATE_TRANSFER:return this.privateTransferSigningMessage;case r.LoginMessageMode.PROTOCOL:default:return this.signingMessage}}async initUserKeys(e=r.LoginMessageMode.PROTOCOL){let t=this.getSigningMessage(e);this.userKeys=new d.UserKeys(await this.getProviderAdapter().signMessage(t))}initUserKeysWithSignature(e){this.userKeys=new d.UserKeys(e)}async initUserKeysFromSeedPhrases(e){let t=e.join(` `),n=Q.ethers.toUtf8Bytes(t),r=Q.ethers.keccak256(n);this.userKeys=new d.UserKeys(r)}async resetMerkle(e){this.disableMerkleTreeUpdates||(e?.every(e=>this.isSelectedNetworkSupported(e))??!0)&&await k.resetMerkleTrees(this,e)}getTronWeb(){let e=this.tronProviderAdapter;if(!e)throw Error(`Tron provider adapter not initialized`);if(!(e instanceof z.TronProviderAdapter))throw Error(`Tron provider adapter is not a TronProviderAdapter`);let t=e.getTronWeb();if(!t)throw Error(`TronWeb not available`);return t}getSupportedChains(){return this.ethereumProviderAdapter&&this.solanaProviderAdapter?n.WALLET_SUPPORTED_CHAINS:this.ethereumProviderAdapter?n.HINKAL_SUPPORTED_CHAINS.filter(e=>!n.isSolanaLike(e)&&!n.isTronLike(e)):this.solanaProviderAdapter?n.HINKAL_SUPPORTED_CHAINS.filter(e=>n.isSolanaLike(e)):this.tronProviderAdapter?n.HINKAL_SUPPORTED_CHAINS.filter(e=>n.isTronLike(e)):[]}async waitForTransaction(e,t,n=1){return!!await this.getProviderAdapter(e).waitForTransaction(e,t,n)}getContract(e,t,n=void 0){return this.getProviderAdapter(e).getContract(e,t,n)}getContractWithFetcherByChainId(e,t,n=void 0){return _.getContractWithFetcherByChainId(e,t,n)}async signMessage(e){return await this.getProviderAdapter().signMessage(e)}async signTypedData(e,t,n){return await this.getProviderAdapter().signTypedData(e,t,n)}async signWithSubAccount(e,t,n,r){return N.hinkalSignSubAccount(e,t,n,r)}getContractWithSigner(e,t,n=``){return this.getProviderAdapter(e).getContractWithSigner(e,t,n)}getContractWithFetcher(e,t,n=``){return this.getProviderAdapter(e).getContractWithFetcher(e,t,n)}isSelectedNetworkSupported(e){return!!n.networkRegistry[e]}async switchNetwork(e){try{await this.getProviderAdapter().switchNetwork(e)}catch{throw Error(l.transactionErrorCodes.FAILED_TO_SWITCH_NETWORKS)}}isPermitterAvailable(e){return this.getProviderAdapter(e).isPermitterAvailable()}async disconnectFromConnector(){await this.ethereumProviderAdapter?.disconnectFromConnector(),await this.solanaProviderAdapter?.disconnectFromConnector(),await this.tronProviderAdapter?.disconnectFromConnector()}async resetProviderAdapters(){this.ethereumProviderAdapter=void 0,this.solanaProviderAdapter=void 0,this.tronProviderAdapter=void 0}async updateProviderAdapter(e,t){try{n.isSolanaLike(e)?(this.solanaProviderAdapter&&this.solanaProviderAdapter.release(),this.solanaProviderAdapter=t):n.isTronLike(e)?(this.tronProviderAdapter&&this.tronProviderAdapter.release(),this.tronProviderAdapter=t):(this.ethereumProviderAdapter&&this.ethereumProviderAdapter.release(),this.ethereumProviderAdapter=t)}catch(e){throw console.error(e),Error(`updateProviderAdapter failed, please try again.`)}}async setListeners(){this.ethereumProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}}),this.solanaProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}}),this.tronProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}})}async onAccountChanged(){await this.ethereumProviderAdapter?.onAccountChanged(),await this.solanaProviderAdapter?.onAccountChanged(),await this.tronProviderAdapter?.onAccountChanged();let e=r.EventType.AccountChanged;typeof document<`u`?document?.dispatchEvent(new Event(e)):process?.emit(`message`,e,void 0)}async onChainChanged(e){e?await this.getProviderAdapter(e).onChainChanged(e):(await this.disconnectFromConnector(),g.reloadPage())}async monitorConnectedAddress(e){await f.API.monitor(await this.getEthereumAddressByChain(e))}async getBalances(e,t,n,r,i=!1,a,o=!1){return ee.getShieldedBalance(this,e,t,n,r,i,this.generateProofRemotely,a,o)}async getTotalBalance(e,n,r,i=!1,a,o=!1){let s=r??await this.getEthereumAddressByChain(e),c=n??this.userKeys,l=await this.getBalances(e,c.getShieldedPrivateKey(),c.getShieldedPublicKey(),s,i,a,o),d=t.isExtension?await m.privateTokensDB.getPrivateTokens(e,s):u.getErc20TokensForChain(e),f=[];return d.forEach(e=>{let t=e.erc20TokenAddress.toLowerCase(),n=l.get(t),r={token:e,balance:n?.balance??0n,timestamp:n?.timestamp||`0`,nfts:n?.nfts||[]};f.push(r)}),f}async getStuckShieldedBalances(e,t,n,r=!1,i=!1){return(await this.getTotalBalance(e,t,n,r,i,!0)).filter(e=>e.balance>0n)}getSupportedPassportLinks(){return h.supportedPassportLinks}checkAccessToken(e,t){return c.checkHinkalAccessToken(this,e,t)}checkExternalTokenLimitsUSD(e,t,n){return w.checkTokenLimitsUSD(e,t,n)}async getHinkalTreeRootHash(e){if(n.isSolanaLike(e)){let{hinkalIdl:t,hinkalAddress:r,originalDeployer:i}=n.networkRegistry[e].contractData;if(!t||!r||!i)throw Error(`Missing Solana configuration for chain ${e}`);let a=new $.PublicKey(i),s=o.getMerkleAccountPublicKey(new $.PublicKey(r),a);return x.fetchSolanaMerkleTreeRootHash(this.getSolanaProgram(t),s)}return this.getContractWithFetcherByChainId(e,i.ContractType.HinkalContract).getRootHash()}async getAccessTokenTreeRootHash(e){if(n.isSolanaLike(e)){let{hinkalIdl:t,hinkalAddress:r,originalDeployer:i}=n.networkRegistry[e].contractData;if(!t||!r||!i)throw Error(`Missing Solana configuration for chain ${e}`);let a=new $.PublicKey(i),s=o.getAccessTokenMerkleAccountPublicKey(new $.PublicKey(r),a);return x.fetchSolanaMerkleTreeRootHash(this.getSolanaProgram(t),s)}return this.getContractWithFetcherByChainId(e,i.ContractType.AccessTokenContract).getRootHash()}async resetMerkleTreesIfNecessary(e){let t=(await Promise.all((e??this.getSupportedChains()).map(async e=>{let[t,n]=await Promise.all([this.getHinkalTreeRootHash(e),this.getAccessTokenTreeRootHash(e)]);return{chainId:e,needsReset:BigInt(t)!==this.merkleTreeHinkalByChain[e].getRootHash()||BigInt(n)!==this.merkleTreeAccessTokenByChain[e].getRootHash()}}))).filter(e=>e.needsReset).map(e=>e.chainId);t.length>0&&(console.log(`resetting merkle tree in resetMerkleTreesIfNecessary for chains:`,t),await this.resetMerkle(t))}async getEthereumAddress(){let e=this.ethereumProviderAdapter??this.solanaProviderAdapter??this.tronProviderAdapter;if(!e)throw Error(`No provider adapter initialized`);return e.getAddress()}getEthereumAddressByChain(e){return this.getProviderAdapter(e).getAddress()}async getRandomRelay(e,t=!1){return(await f.API.getIdleRelay(e,t)).relay}getGasPrice(e){let t=this.getProviderAdapter(e);if(!t)throw Error(`Illegal State of providerAdapter in Hinkal: no providerAdapter initialized`);return t.getGasPrice(e)}getAPI(){return f.API}snapshotsClearInterval(){this.getSupportedChains().forEach(e=>{this.commitmentsSnapshotServiceByChain[e]?.intervalClear(),this.accessTokenSnapshotServiceByChain[e]?.intervalClear(),this.nullifierSnapshotServiceByChain[e]?.intervalClear()})}checkTokenRegistry(e,t,r){if(n.isSolanaLike(e)){let{hinkalIdl:i,hinkalAddress:a,originalDeployer:o}=n.networkRegistry[e].contractData;if(!i||!a||!o)throw Error(`missing solana data`);return s.hinkalCheckSolanaTokenRegistry(this.getSolanaProgram(i),new $.PublicKey(o),t,r)}return n.isTronLike(e)?y.hinkalCheckTronTokenRegistry(t,r,e):y.hinkalCheckTokenRegistry(this.getContractWithFetcher(e,i.ContractType.HinkalHelperContract),t,r)}getRecipientInfo(){return M.getRecipientInfo(this)}async deposit(e,t,n=!0,r=!1){return S.hinkalDeposit(this,e,t,n,r)}async depositSolana(e,t){return E.hinkalSolanaDeposit(this,e,t)}async depositForOther(e,t,n,r=!0,i=!1){return this.enforceRateLimit(this.depositForOther.name,[e,t,n]),S.hinkalDepositForOther(this,e,t,n,r,i)}async depositSolanaForOther(e,t,n){return this.enforceRateLimit(this.depositSolanaForOther.name,[e,t,n]),E.hinkalSolanaDepositForOther(this,e,t,n)}async depositAndWithdraw(e,t,r,i,a,o,s,c,l=!0){return n.isSolanaLike(p.validateAndGetChainId([e]))?B.hinkalSolanaDepositAndWithdraw(this,e,t,r,i,a,o,s,c):T.hinkalDepositAndWithdraw(this,e,t,r,i,a,o,s,c,l)}async claimUtxo(e,t,r,i){return n.isSolanaLike(p.validateAndGetChainId([e]))?X.hinkalSolanaClaimUtxo(this,e,t,r,i):J.hinkalClaimUtxo(this,e,t,r,i)}async depositAndBridge(e,t,n,r,i,a,o,s=!0){return q.hinkalDepositAndBridge(this,e,t,n,r,i,a,o,s)}async prooflessDeposit(e,t,r,i){return n.isSolanaLike(p.validateAndGetChainId(e))?Y.hinkalSolanaProoflessDeposit(this,e,t,r,i):F.hinkalProoflessDeposit(this,e,t,r,i)}getSolanaProgram(e){if(!this.solanaProviderAdapter)throw Error(`No provider adapter initialized`);if(!(`getSolanaProgram`in this.solanaProviderAdapter))throw Error(`Current provider adapter is not a Solana provider adapter`);return this.solanaProviderAdapter.getSolanaProgram(e)}getSolanaPublicKey(){if(!this.solanaProviderAdapter)throw Error(`No provider adapter initialized`);if(!(`getSolanaPublicKey`in this.solanaProviderAdapter))throw Error(`Current provider adapter is not a Solana provider adapter`);return this.solanaProviderAdapter.getSolanaPublicKey()}async transfer(e,t,r,i,a,o){return n.isSolanaLike(p.validateAndGetChainId(e))?H.hinkalSolanaTransfer(this,e,t,r,i,a,o):ne.hinkalTransfer(this,e,t,r,i,a,o)}async withdraw(e,t,r,i,a,o,s){return n.isSolanaLike(p.validateAndGetChainId(e))?V.hinkalSolanaWithdraw(this,e,t,r,a,o,s):O.hinkalWithdraw(this,e,t,r,i,a,o,s)}async withdrawStuckUtxos(e,t){return Z.hinkalWithdrawStuckUtxos(this,e,t)}async swap(e,t,r,i,a,o,s){return n.isSolanaLike(p.validateAndGetChainId(e))?this.swapSolana(e,t,i,a,o):D.hinkalSwap(this,e,t,r,i,a,o,s)}async swapSolana(e,t,n,r,i){let a=JSON.parse(n),o=BigInt(a.swapperAccountSalt),{instructionLists:s,addressLookupTableAccount:c}=a.data;return U.hinkalSolanaSwap(this,e,t,o,s,c,r,i)}async actionReceive(e,t,r,i,a,o){if(!a)throw Error(`subAccount is required`);return n.isSolanaLike(p.validateAndGetChainId(e))?K.hinkalSolanaProxyShield(this,e[0],t[0],a,void 0,o):P.hinkalActionReceive(this,e,t,r,i,a,o)}async actionPrivateWallet(e,t,n,r,i,a,o,s,c,l,u=!1,d,f,p){return this.enforceRateLimit(this.actionPrivateWallet.name,[e,t,n,r,i,a,o,s,c,p]),j.hinkalPrivateWallet(this,e,t,n,r,i,a,o,s,c,l,u,d,f,p)}async proxySwap(e,t,r,i,a,o,s,c,l=!1,u,d){return n.isSolanaLike(p.validateAndGetChainId(e))?G.hinkalSolanaProxySwap(this,e,t,i,o,r,s,c,d):I.hinkalProxySwap(this,e,t,r,i,a,o,s,c,l,u,d)}async proxyToPrivate(e,t,r,i,a,o,s){return n.isSolanaLike(p.validateAndGetChainId(e))?(this.enforceRateLimit(this.proxyToPrivate.name,[e[0],t[0],r,i]),K.hinkalSolanaProxyShield(this,e[0],t[0],r,i,s)):R.hinkalProxyToPrivate(this,e,t,i,a,o,r,s)}async proxySend(e,t,r,i,a,o,s){let c=p.validateAndGetChainId(e);if(n.isSolanaLike(c))return W.hinkalSolanaProxySend(this,e[0],t[0],r,i,s);let l=C.createTransaferEmporiumOpsBatch(this,c,e.map(e=>e.erc20TokenAddress),t,i),u=e.map((e,n)=>({token:e,amount:-1n*t[n]}));return await this.actionPrivateWallet(c,[],[],[],l,u,r,a,o,void 0,void 0,void 0,s,void 0)}async multiSendPrivateRecipients(e,t,n){return this.enforceRateLimit(this.multiSendPrivateRecipients.name,[e,t,n]),L.hinkalMultiSendPrivateRecipients(this,e,t,n)}areMerkleTreeUpdatesDisabled(){return this.disableMerkleTreeUpdates}updateMerkleTreeUpdates(e){this.disableMerkleTreeUpdates=e}};exports.Hinkal=re;
@@ -19,7 +19,6 @@ import { Idl, Program } from '@coral-xyz/anchor';
19
19
  import { PublicKey } from '@solana/web3.js';
20
20
  import { BridgeRecipient } from '../../types/bridging-tx.types';
21
21
  import { Utxo } from '../utxo/Utxo';
22
- import { PrivateBalancesState } from '../../types/balances.types';
23
22
  export declare class Hinkal<ConnectorType> implements IHinkal {
24
23
  private ethereumProviderAdapter?;
25
24
  private solanaProviderAdapter?;
@@ -39,7 +38,6 @@ export declare class Hinkal<ConnectorType> implements IHinkal {
39
38
  cacheDevice: ICacheDevice;
40
39
  generateProofRemotely: boolean;
41
40
  private disableMerkleTreeUpdates;
42
- private readonly privateBalances;
43
41
  constructor(hinkalConfig?: HinkalConfig);
44
42
  private enforceRateLimit;
45
43
  getProviderAdapter(chainId?: number): IProviderAdapter<ConnectorType>;
@@ -72,8 +70,6 @@ export declare class Hinkal<ConnectorType> implements IHinkal {
72
70
  getBalances(chainId: number, passedShieldedPrivateKey: string, passedShieldedPublicKey: string, ethAddress: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean, useBlockedUtxos?: boolean): Promise<Map<string, TokenBalance>>;
73
71
  getTotalBalance(chainId: number, _userKeys?: UserKeys, _ethAddress?: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean, useBlockedUtxos?: boolean): Promise<TokenBalance[]>;
74
72
  getStuckShieldedBalances(chainId: number, _userKeys?: UserKeys, _ethAddress?: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean): Promise<TokenBalance[]>;
75
- get privateBalancesWithUSD(): PrivateBalancesState;
76
- onPrivateBalancesWithUSDChange(callback: (state: PrivateBalancesState) => void): () => void;
77
73
  getSupportedPassportLinks(): string[];
78
74
  checkAccessToken(chainId: number, accessKeyOverride?: string): Promise<boolean>;
79
75
  checkExternalTokenLimitsUSD(chainId: number, tokenAddresses: string[], amounts: bigint[]): Promise<boolean>;
@@ -21,11 +21,9 @@ import { getContractWithFetcherByChainId as C } from "../../functions/web3/getCo
21
21
  import { SolanaProviderAdapter as w } from "../../providers/SolanaProviderAdapter.mjs";
22
22
  import { hinkalCheckTokenRegistry as T, hinkalCheckTronTokenRegistry as E } from "./hinkalCheckTokenRegistry.mjs";
23
23
  import { MerkleTree as D } from "../merkle-tree/MerkleTree.mjs";
24
- import "../merkle-tree/index.mjs";
25
24
  import { fetchSolanaMerkleTreeRootHash as O } from "../../functions/web3/fetchSolanaMerkleTreeRootHash.mjs";
26
25
  import { hinkalDeposit as k, hinkalDepositForOther as A } from "./hinkalDeposit.mjs";
27
26
  import { createTransaferEmporiumOpsBatch as j } from "../../functions/private-wallet/emporium.helpers.mjs";
28
- import "../../API/index.mjs";
29
27
  import { checkTokenLimitsUSD as M } from "../../functions/kyc/checkTokenLimitsUSD.mjs";
30
28
  import { hinkalDepositAndWithdraw as N } from "./hinkalDepositAndWithdraw.mjs";
31
29
  import { hinkalSolanaDeposit as P, hinkalSolanaDepositForOther as F } from "./hinkalSolanaDeposit.mjs";
@@ -37,7 +35,6 @@ import { hinkalPrivateWallet as ie } from "./hinkalPrivateWallet.mjs";
37
35
  import { getRecipientInfo as B } from "./hinkalGetRecipientInfo.mjs";
38
36
  import { hinkalSignSubAccount as V } from "./hinkalSignSubAccount.mjs";
39
37
  import { hinkalActionReceive as H } from "./hinkalActionReceive.mjs";
40
- import "../TokenDBs/index.mjs";
41
38
  import { hinkalProoflessDeposit as U } from "./hinkalProoflessDeposit.mjs";
42
39
  import { hinkalProxySwap as W } from "./hinkalProxySwap.mjs";
43
40
  import { hinkalMultiSendPrivateRecipients as G } from "./hinkalMultiSend.mjs";
@@ -56,11 +53,10 @@ import { hinkalClaimUtxo as de } from "./hinkalClaimUtxo.mjs";
56
53
  import { hinkalSolanaProoflessDeposit as Z } from "./hinkalSolanaProoflessDeposit.mjs";
57
54
  import { hinkalSolanaClaimUtxo as fe } from "./hinkalSolanaClaimUtxo.mjs";
58
55
  import { hinkalWithdrawStuckUtxos as pe } from "./hinkalWithdrawStuckUtxos.mjs";
59
- import { HinkalPrivateBalanceController as me } from "./HinkalPrivateBalanceController.mjs";
60
56
  import { ethers as Q } from "ethers";
61
57
  import { PublicKey as $ } from "@solana/web3.js";
62
58
  //#region libs/shared/common/src/data-structures/Hinkal/Hinkal.ts
63
- var he = class {
59
+ var me = class {
64
60
  ethereumProviderAdapter;
65
61
  solanaProviderAdapter;
66
62
  tronProviderAdapter;
@@ -79,7 +75,6 @@ var he = class {
79
75
  cacheDevice;
80
76
  generateProofRemotely;
81
77
  disableMerkleTreeUpdates;
82
- privateBalances = new me(this);
83
78
  constructor(e) {
84
79
  this.userKeys = new _(void 0), n.forEach((e) => {
85
80
  this.merkleTreeHinkalByChain[e] = D.create(f, 0n), this.merkleTreeAccessTokenByChain[e] = D.create(f, 0n), this.nullifiersByChain[e] = /* @__PURE__ */ new Set(), this.encryptedOutputsByChain[e] = [];
@@ -241,12 +236,6 @@ var he = class {
241
236
  async getStuckShieldedBalances(e, t, n, r = !1, i = !1) {
242
237
  return (await this.getTotalBalance(e, t, n, r, i, !0)).filter((e) => e.balance > 0n);
243
238
  }
244
- get privateBalancesWithUSD() {
245
- return this.privateBalances.getSnapshot();
246
- }
247
- onPrivateBalancesWithUSDChange(e) {
248
- return this.privateBalances.onPrivateBalancesWithUSDChange(e);
249
- }
250
239
  getSupportedPassportLinks() {
251
240
  return b;
252
241
  }
@@ -430,4 +419,4 @@ var he = class {
430
419
  }
431
420
  };
432
421
  //#endregion
433
- export { he as Hinkal };
422
+ export { me as Hinkal };
@@ -17,7 +17,6 @@ import { AdminTransactionType } from '../../types/admin.types';
17
17
  import { Idl, Program } from '@coral-xyz/anchor';
18
18
  import { PublicKey } from '@solana/web3.js';
19
19
  import { BridgeRecipient } from '../../types/bridging-tx.types';
20
- import { PrivateBalancesState } from '../../types/balances.types';
21
20
  import { Utxo } from '../utxo/Utxo';
22
21
  import { TronWeb } from 'tronweb';
23
22
  export interface IHinkal<ConnectorType = unknown> {
@@ -37,8 +36,6 @@ export interface IHinkal<ConnectorType = unknown> {
37
36
  getBalances(chainId: number, passedShieldedPrivateKey: string, passedShieldedPublicKey: string, ethAddress: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean): Promise<Map<string, TokenBalance>>;
38
37
  getTotalBalance(chainId: number, userKeys?: UserKeys, ethAddress?: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean, useBlockedUtxos?: boolean): Promise<TokenBalance[]>;
39
38
  getStuckShieldedBalances(chainId: number, userKeys?: UserKeys, ethAddress?: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean): Promise<TokenBalance[]>;
40
- privateBalancesWithUSD: PrivateBalancesState;
41
- onPrivateBalancesWithUSDChange(callback: (state: PrivateBalancesState) => void): () => void;
42
39
  getSupportedPassportLinks(): string[];
43
40
  checkAccessToken(chainId: number, accessKeyOverride?: string): Promise<boolean>;
44
41
  checkExternalTokenLimitsUSD(chainId: number, tokenAddresses: string[], amounts: bigint[]): Promise<boolean>;
@@ -1 +1 @@
1
- const e=require(`../../constants/chains.constants.cjs`),t=require(`../../types/external-action.types.cjs`),n=require(`../../types/transactions.types.cjs`),r=require(`../../types/admin.types.cjs`),i=require(`../../types/activities.types.cjs`),a=require(`../../types/transaction.types.cjs`),o=require(`../../types/offscreen.types.cjs`);require(`../../types/index.cjs`);const s=require(`../../error-handling/error-codes.constants.cjs`),c=require(`../../functions/web3/etherFunctions.cjs`),l=require(`../../functions/utils/erc20tokenFunctions.cjs`),u=require(`../../functions/utils/caseInsensitive.utils.cjs`),d=require(`../../functions/utils/time.utils.cjs`),f=require(`../../error-handling/customErrors/ErrorWithTx.cjs`),p=require(`../../API/API.cjs`),m=require(`../../error-handling/logger.cjs`),h=require(`../../functions/utils/fees.utils.cjs`),g=require(`../../functions/utils/create-provider.cjs`),_=require(`../../error-handling/get-error.message.cjs`);require(`../../error-handling/index.cjs`);const v=require(`../../functions/pre-transaction/getVolatileTransferAmount.cjs`),y=require(`../../functions/pre-transaction/getFeeStructure.cjs`),b=require(`../../functions/utils/convertEmporiumOpToCallInfo.cjs`),x=require(`../../functions/utils/postToOffscreen.cjs`),S=require(`../../functions/private-wallet/emporium.helpers.cjs`),C=require(`../../functions/auto-deposit-back-helpers/get-tokens-to-deposit-back.cjs`),w=require(`../../functions/auto-deposit-back-helpers/get-gas-token-records.cjs`),T=require(`../../functions/auto-deposit-back-helpers/select-gas-token.cjs`),ee=require(`../../functions/auto-deposit-back-helpers/update-hinkal.cjs`);require(`../../functions/index.cjs`);const E=require(`../IndexedDB/activity-db.cjs`);require(`../IndexedDB/index.cjs`);var D=3*1e3,O=13*1e3,k=async(k,A,j,M,N,P,F,I)=>{if(!j||F.length===0)return;let L;try{let a=g.createJsonRpcProvider(A);await d.waitLittle(A===e.chainIds.ethMainnet?O:D);let f=await C.getTokensToDepositBack(F,N,j,a);if(!f.length){x.postToOffscreen(o.MessagesFromOffscreen.AutoShieldTxStatus,{message:s.transactionErrorCodes.AUTO_SHIELD_SKIPPED});return}let m=h.getGasTokenSymbols(A).map(e=>l.getERC20TokenBySymbol(e,A)).filter(e=>e!==void 0),{prices:_}=await p.API.getTokenPrices(A,m.map(e=>e.erc20TokenAddress)),R=new Map(_.map((e,t)=>[m[t].erc20TokenAddress.toLowerCase(),e])),z=f.map(({token:e})=>e),B=f.map(({balance:e})=>e),V=z.map(({erc20TokenAddress:e})=>e),H=S.createTransaferEmporiumOpsBatch(k,A,V,await v.modifyVolatileTokenAmountChanges(A,z,B,j)),U=await y.getFeeStructure(A,N,V,t.ExternalActionId.Emporium,H.map(e=>b.convertEmporiumOpToCallInfo(e,j,A))),{flatFee:W}=U??{},G=l.getERC20Token(U.feeToken,A);if(!G)return;let K=c.getAmountInToken(G,W),q=(R.get(G.erc20TokenAddress.toLowerCase())??0)*Number(K),J=await T.selectGasToken(N,q,A,z,H,await w.getGasTokenRecords(m,A,k,j,a,R),U,V,j);if(!J)return;let{feeToken:Y,feeStructure:X}=J??{};if(P&&Number(P)<q){x.postToOffscreen(o.MessagesFromOffscreen.AutoShieldTxStatus,{message:s.gasErrorCodes.GAS_PRICE_EXCEEDS_AUTOSHIELD_LIMIT});return}let Z=z.findIndex(e=>u.caseInsensitiveEqual(e.erc20TokenAddress,Y));Z!==-1&&(B[Z]-=X?.flatFee??0n);let{hinkalAddress:Q}=e.networkRegistry[A].contractData,$={activityType:i.ActivityTypes.AUTO_SHIELD,chainId:A,from:j,to:Q,gasInDollar:q.toString(),tokensReceive:z.map((e,t)=>({amount:c.getAmountInToken(e,B[t]),token:e}))};L=await E.activityStorage.saveTxRequest($),x.postToOffscreen(o.MessagesFromOffscreen.AutoShieldTxStatus,{status:n.TransactionStatus.Loading}),ee.updateHinkal(I,A,k);let te={id:0,success:!0,txHash:await k.actionReceive(z,B,Y,X,M,r.AdminTransactionType.AutoShield)};await E.activityStorage.updatePendingTransactions(te,L),x.postToOffscreen(o.MessagesFromOffscreen.AutoShieldTxStatus,{status:n.TransactionStatus.Confirmed,activityRequest:$})}catch(e){let t;e instanceof f.ErrorWithRelayerTransaction&&(t=e.txHash);let r={error:e,id:0,success:!1,...t?{erroredTx:t}:{}};L&&await E.activityStorage.updatePendingTransactions(r,L),x.postToOffscreen(o.MessagesFromOffscreen.AutoShieldTxStatus,{status:n.TransactionStatus.Failed,error:_.getErrorMessageFromTransactionRequest(e,a.TransactionRequestType.ReceiveFromShieldedAccount)}),m.Logger.error(`Error in auto deposit back:`,e)}};exports.handleAutoDepositBack=k;
1
+ const e=require(`../../constants/chains.constants.cjs`),t=require(`../../types/external-action.types.cjs`),n=require(`../../types/transactions.types.cjs`),r=require(`../../types/admin.types.cjs`),i=require(`../../types/activities.types.cjs`),a=require(`../../types/transaction.types.cjs`),o=require(`../../types/offscreen.types.cjs`),s=require(`../../error-handling/error-codes.constants.cjs`),c=require(`../../functions/web3/etherFunctions.cjs`),l=require(`../../functions/utils/erc20tokenFunctions.cjs`),u=require(`../../functions/utils/caseInsensitive.utils.cjs`),d=require(`../../functions/utils/time.utils.cjs`),f=require(`../../error-handling/customErrors/ErrorWithTx.cjs`),p=require(`../../API/API.cjs`),m=require(`../../error-handling/logger.cjs`),h=require(`../../functions/utils/fees.utils.cjs`),g=require(`../../functions/utils/create-provider.cjs`),_=require(`../../error-handling/get-error.message.cjs`),v=require(`../../functions/pre-transaction/getVolatileTransferAmount.cjs`),y=require(`../../functions/pre-transaction/getFeeStructure.cjs`),b=require(`../../functions/utils/convertEmporiumOpToCallInfo.cjs`),x=require(`../../functions/utils/postToOffscreen.cjs`),S=require(`../../functions/private-wallet/emporium.helpers.cjs`),C=require(`../../functions/auto-deposit-back-helpers/get-tokens-to-deposit-back.cjs`),w=require(`../../functions/auto-deposit-back-helpers/get-gas-token-records.cjs`),T=require(`../../functions/auto-deposit-back-helpers/select-gas-token.cjs`),ee=require(`../../functions/auto-deposit-back-helpers/update-hinkal.cjs`),E=require(`../IndexedDB/activity-db.cjs`);var D=3*1e3,O=13*1e3,k=async(k,A,j,M,N,P,F,I)=>{if(!j||F.length===0)return;let L;try{let a=g.createJsonRpcProvider(A);await d.waitLittle(A===e.chainIds.ethMainnet?O:D);let f=await C.getTokensToDepositBack(F,N,j,a);if(!f.length){x.postToOffscreen(o.MessagesFromOffscreen.AutoShieldTxStatus,{message:s.transactionErrorCodes.AUTO_SHIELD_SKIPPED});return}let m=h.getGasTokenSymbols(A).map(e=>l.getERC20TokenBySymbol(e,A)).filter(e=>e!==void 0),{prices:_}=await p.API.getTokenPrices(A,m.map(e=>e.erc20TokenAddress)),R=new Map(_.map((e,t)=>[m[t].erc20TokenAddress.toLowerCase(),e])),z=f.map(({token:e})=>e),B=f.map(({balance:e})=>e),V=z.map(({erc20TokenAddress:e})=>e),H=S.createTransaferEmporiumOpsBatch(k,A,V,await v.modifyVolatileTokenAmountChanges(A,z,B,j)),U=await y.getFeeStructure(A,N,V,t.ExternalActionId.Emporium,H.map(e=>b.convertEmporiumOpToCallInfo(e,j,A))),{flatFee:W}=U??{},G=l.getERC20Token(U.feeToken,A);if(!G)return;let K=c.getAmountInToken(G,W),q=(R.get(G.erc20TokenAddress.toLowerCase())??0)*Number(K),J=await T.selectGasToken(N,q,A,z,H,await w.getGasTokenRecords(m,A,k,j,a,R),U,V,j);if(!J)return;let{feeToken:Y,feeStructure:X}=J??{};if(P&&Number(P)<q){x.postToOffscreen(o.MessagesFromOffscreen.AutoShieldTxStatus,{message:s.gasErrorCodes.GAS_PRICE_EXCEEDS_AUTOSHIELD_LIMIT});return}let Z=z.findIndex(e=>u.caseInsensitiveEqual(e.erc20TokenAddress,Y));Z!==-1&&(B[Z]-=X?.flatFee??0n);let{hinkalAddress:Q}=e.networkRegistry[A].contractData,$={activityType:i.ActivityTypes.AUTO_SHIELD,chainId:A,from:j,to:Q,gasInDollar:q.toString(),tokensReceive:z.map((e,t)=>({amount:c.getAmountInToken(e,B[t]),token:e}))};L=await E.activityStorage.saveTxRequest($),x.postToOffscreen(o.MessagesFromOffscreen.AutoShieldTxStatus,{status:n.TransactionStatus.Loading}),ee.updateHinkal(I,A,k);let te={id:0,success:!0,txHash:await k.actionReceive(z,B,Y,X,M,r.AdminTransactionType.AutoShield)};await E.activityStorage.updatePendingTransactions(te,L),x.postToOffscreen(o.MessagesFromOffscreen.AutoShieldTxStatus,{status:n.TransactionStatus.Confirmed,activityRequest:$})}catch(e){let t;e instanceof f.ErrorWithRelayerTransaction&&(t=e.txHash);let r={error:e,id:0,success:!1,...t?{erroredTx:t}:{}};L&&await E.activityStorage.updatePendingTransactions(r,L),x.postToOffscreen(o.MessagesFromOffscreen.AutoShieldTxStatus,{status:n.TransactionStatus.Failed,error:_.getErrorMessageFromTransactionRequest(e,a.TransactionRequestType.ReceiveFromShieldedAccount)}),m.Logger.error(`Error in auto deposit back:`,e)}};exports.handleAutoDepositBack=k;
@@ -5,7 +5,6 @@ import { AdminTransactionType as i } from "../../types/admin.types.mjs";
5
5
  import { ActivityTypes as a } from "../../types/activities.types.mjs";
6
6
  import { TransactionRequestType as o } from "../../types/transaction.types.mjs";
7
7
  import { MessagesFromOffscreen as s } from "../../types/offscreen.types.mjs";
8
- import "../../types/index.mjs";
9
8
  import { gasErrorCodes as c, transactionErrorCodes as l } from "../../error-handling/error-codes.constants.mjs";
10
9
  import { getAmountInToken as u } from "../../functions/web3/etherFunctions.mjs";
11
10
  import { getERC20Token as d, getERC20TokenBySymbol as f } from "../../functions/utils/erc20tokenFunctions.mjs";
@@ -17,7 +16,6 @@ import { Logger as _ } from "../../error-handling/logger.mjs";
17
16
  import { getGasTokenSymbols as ee } from "../../functions/utils/fees.utils.mjs";
18
17
  import { createJsonRpcProvider as v } from "../../functions/utils/create-provider.mjs";
19
18
  import { getErrorMessageFromTransactionRequest as y } from "../../error-handling/get-error.message.mjs";
20
- import "../../error-handling/index.mjs";
21
19
  import { modifyVolatileTokenAmountChanges as b } from "../../functions/pre-transaction/getVolatileTransferAmount.mjs";
22
20
  import { getFeeStructure as x } from "../../functions/pre-transaction/getFeeStructure.mjs";
23
21
  import { convertEmporiumOpToCallInfo as S } from "../../functions/utils/convertEmporiumOpToCallInfo.mjs";
@@ -27,9 +25,7 @@ import { getTokensToDepositBack as T } from "../../functions/auto-deposit-back-h
27
25
  import { getGasTokenRecords as E } from "../../functions/auto-deposit-back-helpers/get-gas-token-records.mjs";
28
26
  import { selectGasToken as D } from "../../functions/auto-deposit-back-helpers/select-gas-token.mjs";
29
27
  import { updateHinkal as O } from "../../functions/auto-deposit-back-helpers/update-hinkal.mjs";
30
- import "../../functions/index.mjs";
31
28
  import { activityStorage as k } from "../IndexedDB/activity-db.mjs";
32
- import "../IndexedDB/index.mjs";
33
29
  //#region libs/shared/common/src/data-structures/Hinkal/handleAutoDepositBack.ts
34
30
  var te = 3 * 1e3, ne = 13 * 1e3, A = async (A, j, M, N, P, F, I, L) => {
35
31
  if (!M || I.length === 0) return;
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../functions/utils/tron.utils.cjs`),n=require(`../../functions/utils/create-provider.cjs`);require(`../../functions/utils/index.cjs`);let r=require(`ethers`);var i=async(e,t,n)=>await e.checkTokenRegistry(t,n),a=t=>{let i=e.networkRegistry[t].contractData,a=n.createJsonRpcProvider(t);if(!i.hinkalHelperAddress||!i.hinkalHelperABI)throw Error(`hinkal helpercontract data not found`);return new r.ethers.Contract(i.hinkalHelperAddress,i.hinkalHelperABI,a)},o=async(n,r,i)=>{let a=t.createTronWeb(i),{contractData:o}=e.networkRegistry[i],{hinkalHelperAddress:s,hinkalHelperABI:c}=o;if(!s||!c)throw Error(`hinkal helper contract data not found`);let l=a.contract(c,t.evmHexToTronBase58Address(s)),u=n.map(t.evmHexToTronBase58Address);return!!await l.checkTokenRegistry(u,r.map(String)).call()};exports.createHinkalHelperFromData=a,exports.hinkalCheckTokenRegistry=i,exports.hinkalCheckTronTokenRegistry=o;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../functions/utils/tron.utils.cjs`),n=require(`../../functions/utils/create-provider.cjs`);let r=require(`ethers`);var i=async(e,t,n)=>await e.checkTokenRegistry(t,n),a=t=>{let i=e.networkRegistry[t].contractData,a=n.createJsonRpcProvider(t);if(!i.hinkalHelperAddress||!i.hinkalHelperABI)throw Error(`hinkal helpercontract data not found`);return new r.ethers.Contract(i.hinkalHelperAddress,i.hinkalHelperABI,a)},o=async(n,r,i)=>{let a=t.createTronWeb(i),{contractData:o}=e.networkRegistry[i],{hinkalHelperAddress:s,hinkalHelperABI:c}=o;if(!s||!c)throw Error(`hinkal helper contract data not found`);let l=a.contract(c,t.evmHexToTronBase58Address(s)),u=n.map(t.evmHexToTronBase58Address);return!!await l.checkTokenRegistry(u,r.map(String)).call()};exports.createHinkalHelperFromData=a,exports.hinkalCheckTokenRegistry=i,exports.hinkalCheckTronTokenRegistry=o;
@@ -1,7 +1,6 @@
1
1
  import { networkRegistry as e } from "../../constants/chains.constants.mjs";
2
2
  import { createTronWeb as t, evmHexToTronBase58Address as n } from "../../functions/utils/tron.utils.mjs";
3
3
  import { createJsonRpcProvider as r } from "../../functions/utils/create-provider.mjs";
4
- import "../../functions/utils/index.mjs";
5
4
  import { ethers as i } from "ethers";
6
5
  //#region libs/shared/common/src/data-structures/Hinkal/hinkalCheckTokenRegistry.ts
7
6
  var a = async (e, t, n) => await e.checkTokenRegistry(t, n), o = (t) => {
@@ -1 +1 @@
1
- const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/ethereum-network.types.cjs`),r=require(`../../types/external-action.types.cjs`),i=require(`../../types/admin.types.cjs`),a=require(`../../error-handling/error-codes.constants.cjs`),o=require(`../../functions/utils/caseInsensitive.utils.cjs`),s=require(`../crypto-keys/keys.cjs`),c=require(`../../functions/utils/time.utils.cjs`),l=require(`../utxo/Utxo.cjs`),u=require(`../../functions/utils/tron.utils.cjs`),d=require(`../../functions/utils/token-check.utils.cjs`),f=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),p=require(`../../functions/pre-transaction/constructAdminData.cjs`),m=require(`../../functions/pre-transaction/getFeeStructure.cjs`),h=require(`../../functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs`),g=require(`../../functions/pre-transaction/getSignatureDataForTransact.cjs`),_=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`);require(`../../functions/pre-transaction/index.cjs`);const v=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),y=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`);var b=async(b,x,S,C,w)=>{let T=d.validateAndGetChainId([x]),ee=e.isTronLike(T),E=x.erc20TokenAddress,D=u.addressToHexFormat(await b.getEthereumAddressByChain(T));if(!o.caseInsensitiveEqual(E,S.erc20TokenAddress))throw Error(`Off-chain UTXO token mismatch`);if(!S.shieldedPrivateKey)throw Error(`Claimable UTXO shieldedPrivateKey is missing`);let O=new s.UserKeys(void 0,S.shieldedPrivateKey),k=b.getRecipientInfo(),A=l.Utxo.createFrom(S,{shieldedPrivateKey:O.getShieldedPrivateKey()}),j=new l.Utxo({amount:0n,erc20TokenAddress:A.erc20TokenAddress,mintAddress:A.mintAddress,tokenId:A.tokenId,shieldedPrivateKey:O.getShieldedPrivateKey()}),M=[E],N=C??await m.getFeeStructure(T,E,[E],r.ExternalActionId.Transact);if(!o.caseInsensitiveEqual(N.feeToken,E))throw Error(`Claim fee token mismatch: fee must be paid from claimed UTXO token`);let P=N.variableRate>0n?N.variableRate:t.HINKAL_PRIVATE_SEND_VARIABLE_RATE;if(A.amount<=N.flatFee)throw Error(a.transactionErrorCodes.INSUFFICIENT_FUNDS_TO_TRANSACT);let F=A.amount-N.flatFee,I=F*P/10000n,L=F-I;if(L<=0n)throw Error(a.transactionErrorCodes.RECIPIENT_AMOUNT_INVALID);let R={feeToken:N.feeToken,flatFee:N.flatFee+I,variableRate:0n},z=[-A.amount],B=await b.getRandomRelay(T,!0);if(!B)throw Error(a.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let V={externalActionId:0n,externalAddress:B??D,externalActionMetadata:`0x00`},H=[[A,j]],U=[],W=c.getCurrentTimeInSeconds().toString(),{outputUtxos:G}=f.outputUtxoProcessing(O,H[0],z[0],W,A.tokenId,!0,k,L);U.push(G);let{patchAccessTokenMerkleTree:K,kycRequired:q,hasAccessToken:J}=await h.shouldPatchAccessTokenMerkleTree(b,T,M,z,O.getAccessKey()),Y=await g.getSignatureDataForTransact(T,D,O,q,J),X=`swapperM${z.length}x${H[0].length}x2`,[{zkCallData:Z,circomData:Q,dimData:$},te]=await Promise.all([v.constructZkProof(b.merkleTreeHinkalByChain[T],b.merkleTreeAccessTokenByChain[T],H,U,O,X,V.externalActionId,V.externalAddress,V.externalActionMetadata,b.generateProofRemotely,B,T,void 0,void 0,void 0,K,void 0,R,b.getContractWithFetcher(T,n.ContractType.HinkalHelperContract),Y),_.buildCommitmentValidationData(T,O,M,H)]),ne=await u.reorderZkCallData(ee,Z,$,Q);return y.transactCallRelayer(T,Z,$,Q,te,void 0,void 0,p.constructAdminData(w??i.AdminTransactionType.ClaimUtxo,T,M,z,D),ne)};exports.hinkalClaimUtxo=b;
1
+ const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/ethereum-network.types.cjs`),r=require(`../../types/external-action.types.cjs`),i=require(`../../types/admin.types.cjs`),a=require(`../../error-handling/error-codes.constants.cjs`),o=require(`../../functions/utils/caseInsensitive.utils.cjs`),s=require(`../crypto-keys/keys.cjs`),c=require(`../../functions/utils/time.utils.cjs`),l=require(`../utxo/Utxo.cjs`),u=require(`../../functions/utils/tron.utils.cjs`),d=require(`../../functions/utils/token-check.utils.cjs`),f=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),p=require(`../../functions/pre-transaction/constructAdminData.cjs`),m=require(`../../functions/pre-transaction/getFeeStructure.cjs`),h=require(`../../functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs`),g=require(`../../functions/pre-transaction/getSignatureDataForTransact.cjs`),_=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`),v=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),y=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`);var b=async(b,x,S,C,w)=>{let T=d.validateAndGetChainId([x]),ee=e.isTronLike(T),E=x.erc20TokenAddress,D=u.addressToHexFormat(await b.getEthereumAddressByChain(T));if(!o.caseInsensitiveEqual(E,S.erc20TokenAddress))throw Error(`Off-chain UTXO token mismatch`);if(!S.shieldedPrivateKey)throw Error(`Claimable UTXO shieldedPrivateKey is missing`);let O=new s.UserKeys(void 0,S.shieldedPrivateKey),k=b.getRecipientInfo(),A=l.Utxo.createFrom(S,{shieldedPrivateKey:O.getShieldedPrivateKey()}),j=new l.Utxo({amount:0n,erc20TokenAddress:A.erc20TokenAddress,mintAddress:A.mintAddress,tokenId:A.tokenId,shieldedPrivateKey:O.getShieldedPrivateKey()}),M=[E],N=C??await m.getFeeStructure(T,E,[E],r.ExternalActionId.Transact);if(!o.caseInsensitiveEqual(N.feeToken,E))throw Error(`Claim fee token mismatch: fee must be paid from claimed UTXO token`);let P=N.variableRate>0n?N.variableRate:t.HINKAL_PRIVATE_SEND_VARIABLE_RATE;if(A.amount<=N.flatFee)throw Error(a.transactionErrorCodes.INSUFFICIENT_FUNDS_TO_TRANSACT);let F=A.amount-N.flatFee,I=F*P/10000n,L=F-I;if(L<=0n)throw Error(a.transactionErrorCodes.RECIPIENT_AMOUNT_INVALID);let R={feeToken:N.feeToken,flatFee:N.flatFee+I,variableRate:0n},z=[-A.amount],B=await b.getRandomRelay(T,!0);if(!B)throw Error(a.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let V={externalActionId:0n,externalAddress:B??D,externalActionMetadata:`0x00`},H=[[A,j]],U=[],W=c.getCurrentTimeInSeconds().toString(),{outputUtxos:G}=f.outputUtxoProcessing(O,H[0],z[0],W,A.tokenId,!0,k,L);U.push(G);let{patchAccessTokenMerkleTree:K,kycRequired:q,hasAccessToken:J}=await h.shouldPatchAccessTokenMerkleTree(b,T,M,z,O.getAccessKey()),Y=await g.getSignatureDataForTransact(T,D,O,q,J),X=`swapperM${z.length}x${H[0].length}x2`,[{zkCallData:Z,circomData:Q,dimData:$},te]=await Promise.all([v.constructZkProof(b.merkleTreeHinkalByChain[T],b.merkleTreeAccessTokenByChain[T],H,U,O,X,V.externalActionId,V.externalAddress,V.externalActionMetadata,b.generateProofRemotely,B,T,void 0,void 0,void 0,K,void 0,R,b.getContractWithFetcher(T,n.ContractType.HinkalHelperContract),Y),_.buildCommitmentValidationData(T,O,M,H)]),ne=await u.reorderZkCallData(ee,Z,$,Q);return y.transactCallRelayer(T,Z,$,Q,te,void 0,void 0,p.constructAdminData(w??i.AdminTransactionType.ClaimUtxo,T,M,z,D),ne)};exports.hinkalClaimUtxo=b;
@@ -16,7 +16,6 @@ import { getFeeStructure as h } from "../../functions/pre-transaction/getFeeStru
16
16
  import { shouldPatchAccessTokenMerkleTree as g } from "../../functions/pre-transaction/shouldPatchAccessTokenMerkleTree.mjs";
17
17
  import { getSignatureDataForTransact as _ } from "../../functions/pre-transaction/getSignatureDataForTransact.mjs";
18
18
  import { buildCommitmentValidationData as ee } from "../../functions/pre-transaction/buildCommitmentValidationData.mjs";
19
- import "../../functions/pre-transaction/index.mjs";
20
19
  import { constructZkProof as v } from "../../functions/snarkjs/constructGeneralZkProof.mjs";
21
20
  import { transactCallRelayer as y } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
22
21
  //#region libs/shared/common/src/data-structures/Hinkal/hinkalClaimUtxo.ts
@@ -1 +1 @@
1
- const e=require(`../../constants/protocol.constants.cjs`),t=require(`../../types/ethereum-network.types.cjs`),n=require(`../../types/admin.types.cjs`);require(`../../types/index.cjs`);const r=require(`../../error-handling/error-codes.constants.cjs`),i=require(`../../functions/utils/time.utils.cjs`),a=require(`../utxo/Utxo.cjs`),o=require(`../../functions/utils/addresses.cjs`),s=require(`../../functions/utils/token-check.utils.cjs`),c=require(`../../functions/web3/events/getShieldedBalance.cjs`),l=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),u=require(`../../functions/pre-transaction/constructAdminData.cjs`),d=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`),f=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),p=require(`../../functions/web3/functionCalls/transactCallDirect.cjs`),m=require(`../../API/admin-calls.cjs`);var h=async(e,t,n,r)=>{let i=await e.getEthereumAddressByChain(t),{patchAccessTokenMerkleTree:a,signatureData:o}=await d.getKycAndSignatureData(e,t,n,r,i);return{signatureData:o,externalActionData:{externalActionId:0n,externalAddress:i,externalActionMetadata:`0x00`},contractTransaction:void 0,contractToApprove:void 0,patchAccessTokenMerkleTree:a}},g=async(e,t,n,r)=>{let a=[...await c.addPaddingToUtxos(e,t,n,r)],o=[],s=i.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=l.outputUtxoProcessing(e.userKeys,a[t],r[t],s);o.push(n)}return{inputUtxosArray:a,outputUtxosArray:o}},_=async(r,i,a,o=!0,c=!1)=>{let l=s.validateAndGetChainId(i),d=i.map(e=>e.erc20TokenAddress),[{externalActionData:_,contractTransaction:v,contractToApprove:y,patchAccessTokenMerkleTree:b,signatureData:x},{inputUtxosArray:S,outputUtxosArray:C}]=await Promise.all([h(r,l,d,a),g(r,l,d,a)]),w=`swapperM${a.length.toString()}x${S[0].length}x1`,{zkCallData:T,circomData:E,dimData:D}=await f.constructZkProof(r.merkleTreeHinkalByChain[l],r.merkleTreeAccessTokenByChain[l],S,C,r.userKeys,w,_.externalActionId,_.externalAddress,_.externalActionMetadata,r.generateProofRemotely,e.zeroAddress,l,void 0,void 0,void 0,b,void 0,void 0,r.getContractWithFetcher(l,t.ContractType.HinkalHelperContract),x),O=await p.transactCallDirect(r,l,a,i,T,E,D,y,v,o,c);return m.emitTxPublicData(u.constructAdminData(n.AdminTransactionType.Onboarding,l,d,a,await r.getEthereumAddress())),O},v=async(i,c,l,d,g=!0,_=!1)=>{let v=s.validateAndGetChainId(c),y=c.map(e=>e.erc20TokenAddress),[b,x,S]=d.split(`,`);if(!o.isValidPrivateAddress(d))throw Error(r.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);let C=y.map(e=>[new a.Utxo({amount:0n,erc20TokenAddress:e,shieldedPrivateKey:i.userKeys.getShieldedPrivateKey()}),new a.Utxo({amount:0n,erc20TokenAddress:e,shieldedPrivateKey:i.userKeys.getShieldedPrivateKey()})]),w=`swapperM${l.length.toString()}x${C[0].length}x1`,T=y.map((e,t)=>[new a.Utxo({amount:l[t],erc20TokenAddress:e,randomization:BigInt(b),stealthAddress:x,encryptionKey:S})]),{externalActionData:E,contractTransaction:D,contractToApprove:O,patchAccessTokenMerkleTree:k}=await h(i,v,y,l),{zkCallData:A,circomData:j,dimData:M}=await f.constructZkProof(i.merkleTreeHinkalByChain[v],i.merkleTreeAccessTokenByChain[v],C,T,i.userKeys,w,E.externalActionId,E.externalAddress,E.externalActionMetadata,i.generateProofRemotely,e.zeroAddress,v,void 0,void 0,void 0,k,void 0,void 0,i.getContractWithFetcher(v,t.ContractType.HinkalHelperContract)),N=await p.transactCallDirect(i,v,l,c,A,j,M,O,D,g,_);return m.emitTxPublicData(u.constructAdminData(n.AdminTransactionType.PaymentLink,v,y,l,await i.getEthereumAddress())),N};exports.hinkalDeposit=_,exports.hinkalDepositForOther=v;
1
+ const e=require(`../../constants/protocol.constants.cjs`),t=require(`../../types/ethereum-network.types.cjs`),n=require(`../../types/admin.types.cjs`),r=require(`../../error-handling/error-codes.constants.cjs`),i=require(`../../functions/utils/time.utils.cjs`),a=require(`../utxo/Utxo.cjs`),o=require(`../../functions/utils/addresses.cjs`),s=require(`../../functions/utils/token-check.utils.cjs`),c=require(`../../functions/web3/events/getShieldedBalance.cjs`),l=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),u=require(`../../functions/pre-transaction/constructAdminData.cjs`),d=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`),f=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),p=require(`../../functions/web3/functionCalls/transactCallDirect.cjs`),m=require(`../../API/admin-calls.cjs`);var h=async(e,t,n,r)=>{let i=await e.getEthereumAddressByChain(t),{patchAccessTokenMerkleTree:a,signatureData:o}=await d.getKycAndSignatureData(e,t,n,r,i);return{signatureData:o,externalActionData:{externalActionId:0n,externalAddress:i,externalActionMetadata:`0x00`},contractTransaction:void 0,contractToApprove:void 0,patchAccessTokenMerkleTree:a}},g=async(e,t,n,r)=>{let a=[...await c.addPaddingToUtxos(e,t,n,r)],o=[],s=i.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=l.outputUtxoProcessing(e.userKeys,a[t],r[t],s);o.push(n)}return{inputUtxosArray:a,outputUtxosArray:o}},_=async(r,i,a,o=!0,c=!1)=>{let l=s.validateAndGetChainId(i),d=i.map(e=>e.erc20TokenAddress),[{externalActionData:_,contractTransaction:v,contractToApprove:y,patchAccessTokenMerkleTree:b,signatureData:x},{inputUtxosArray:S,outputUtxosArray:C}]=await Promise.all([h(r,l,d,a),g(r,l,d,a)]),w=`swapperM${a.length.toString()}x${S[0].length}x1`,{zkCallData:T,circomData:E,dimData:D}=await f.constructZkProof(r.merkleTreeHinkalByChain[l],r.merkleTreeAccessTokenByChain[l],S,C,r.userKeys,w,_.externalActionId,_.externalAddress,_.externalActionMetadata,r.generateProofRemotely,e.zeroAddress,l,void 0,void 0,void 0,b,void 0,void 0,r.getContractWithFetcher(l,t.ContractType.HinkalHelperContract),x),O=await p.transactCallDirect(r,l,a,i,T,E,D,y,v,o,c);return m.emitTxPublicData(u.constructAdminData(n.AdminTransactionType.Onboarding,l,d,a,await r.getEthereumAddress())),O},v=async(i,c,l,d,g=!0,_=!1)=>{let v=s.validateAndGetChainId(c),y=c.map(e=>e.erc20TokenAddress),[b,x,S]=d.split(`,`);if(!o.isValidPrivateAddress(d))throw Error(r.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);let C=y.map(e=>[new a.Utxo({amount:0n,erc20TokenAddress:e,shieldedPrivateKey:i.userKeys.getShieldedPrivateKey()}),new a.Utxo({amount:0n,erc20TokenAddress:e,shieldedPrivateKey:i.userKeys.getShieldedPrivateKey()})]),w=`swapperM${l.length.toString()}x${C[0].length}x1`,T=y.map((e,t)=>[new a.Utxo({amount:l[t],erc20TokenAddress:e,randomization:BigInt(b),stealthAddress:x,encryptionKey:S})]),{externalActionData:E,contractTransaction:D,contractToApprove:O,patchAccessTokenMerkleTree:k}=await h(i,v,y,l),{zkCallData:A,circomData:j,dimData:M}=await f.constructZkProof(i.merkleTreeHinkalByChain[v],i.merkleTreeAccessTokenByChain[v],C,T,i.userKeys,w,E.externalActionId,E.externalAddress,E.externalActionMetadata,i.generateProofRemotely,e.zeroAddress,v,void 0,void 0,void 0,k,void 0,void 0,i.getContractWithFetcher(v,t.ContractType.HinkalHelperContract)),N=await p.transactCallDirect(i,v,l,c,A,j,M,O,D,g,_);return m.emitTxPublicData(u.constructAdminData(n.AdminTransactionType.PaymentLink,v,y,l,await i.getEthereumAddress())),N};exports.hinkalDeposit=_,exports.hinkalDepositForOther=v;
@@ -1,7 +1,6 @@
1
1
  import { zeroAddress as e } from "../../constants/protocol.constants.mjs";
2
2
  import { ContractType as t } from "../../types/ethereum-network.types.mjs";
3
3
  import { AdminTransactionType as n } from "../../types/admin.types.mjs";
4
- import "../../types/index.mjs";
5
4
  import { transactionErrorCodes as r } from "../../error-handling/error-codes.constants.mjs";
6
5
  import { getCurrentTimeInSeconds as i } from "../../functions/utils/time.utils.mjs";
7
6
  import { Utxo as a } from "../utxo/Utxo.mjs";
@@ -1 +1 @@
1
- const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/ethereum-network.types.cjs`),r=require(`../../types/external-action.types.cjs`),i=require(`../../types/scheduled-transactions.types.cjs`);require(`../../types/index.cjs`);const a=require(`../../error-handling/error-codes.constants.cjs`),o=require(`../../functions/utils/erc20tokenFunctions.cjs`),s=require(`../../functions/utils/caseInsensitive.utils.cjs`),c=require(`../../functions/utils/time.utils.cjs`),l=require(`../utxo/Utxo.cjs`),u=require(`../../functions/utils/addresses.cjs`),d=require(`../../API/API.cjs`),f=require(`../../functions/utils/token-check.utils.cjs`),p=require(`../../functions/utils/fees.utils.cjs`),m=require(`../../functions/pre-transaction/constructAdminData.cjs`),h=require(`../../functions/pre-transaction/getFeeStructure.cjs`),g=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`),_=require(`../../functions/pre-transaction/waitForDepositedUtxosInMerkleTree.cjs`),v=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`);require(`../../functions/pre-transaction/index.cjs`);const y=require(`../../constants/addresses.constants.cjs`),b=require(`../../functions/utils/convertEmporiumOpToCallInfo.cjs`);require(`../../functions/utils/index.cjs`);const x=require(`../../functions/private-wallet/emporium.helpers.cjs`),S=require(`../../functions/snarkjs/constructEmporiumProof.cjs`),C=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),w=require(`../../API/deposit-and-withdraw-status-calls.cjs`),T=require(`./hinkalDepositOnChainUtxos.cjs`);require(`../../functions/index.cjs`);var E=async(o,u,f,h,_,b,T,E,D,O,k)=>{if(h.length===0)throw Error(`No recipients to bridge`);let A=f.erc20TokenAddress,{contractData:j}=e.networkRegistry[u],{emporiumAddress:M}=j;if(!M)throw Error(`No Emporium Address`);let N=y.SWAP_ROUTER_ADDRESSES[r.ExternalActionId.Lifi][u];if(!N)throw Error(`LIFI not configured for chain ${u}`);let P=await o.getRandomRelay(u);if(!P)throw Error(a.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let F=await o.getEthereumAddressByChain(u),I=c.getCurrentTimeInSeconds().toString(),L=o.generateProofRemotely?5:1,R=[];for(let e=0;e<h.length;e+=L){let r=h.slice(e,e+L),i=await Promise.all(r.map(async({utxo:e,nativeUtxo:r,bridgeAmount:i,quote:a,temporarySubAccount:c,recipientAddress:f})=>{await d.API.addTemporaryWalletNonce(u,b,c.index);let h=a.nativeFee>0n&&!s.caseInsensitiveEqual(A,t.zeroAddress),y=[A],C=[-e.amount],w=[!1],T=new l.Utxo({amount:0n,erc20TokenAddress:A,shieldedPrivateKey:o.userKeys.getShieldedPrivateKey(),timeStamp:I,tokenId:0}),E=[[e,T]],D=[[T]];if(h&&r){let e=new l.Utxo({amount:0n,erc20TokenAddress:t.zeroAddress,shieldedPrivateKey:o.userKeys.getShieldedPrivateKey(),timeStamp:I,tokenId:0});y.push(t.zeroAddress),C.push(-r.amount),w.push(!1),E.push([r,e]),D.push([e])}let k=x.createLifiBridgeOps(o,u,c.ethAddress,N,A,e.amount,i,a),{patchAccessTokenMerkleTree:j,signatureData:L}=await g.getKycAndSignatureData(o,u,y,C,F),R=p.calculateTotalFee(i,_),z={feeToken:_.feeToken,flatFee:R,variableRate:0n},B=m.constructAdminData(O,u,y,[-e.amount],F),[{zkCallData:V,circomData:H,dimData:U,authorizationData:W},G]=await Promise.all([S.constructEmporiumProof(o.merkleTreeHinkalByChain[u],o.merkleTreeAccessTokenByChain[u],y,y.map(()=>0),E,D,o.userKeys,y.length,E[0].length,M,k,o.generateProofRemotely,P??t.zeroAddress,u,w,void 0,c.privateKey,j,void 0,z,o.getContractWithFetcher(u,n.ContractType.HinkalHelperContract),L),v.buildCommitmentValidationData(u,o.userKeys,y,E)]);return{zkCallData:V,dimData:U,circomData:H,commitmentValidationData:G,authorizationData:W,recipientAddress:f,adminData:B}}));R.push(...i)}await w.safeUpdateDepositAndWithdrawStatus({id:T,chainId:u,hashedEthereumAddress:b,phase:i.DepositAndWithdrawPhase.BEFORE_SCHEDULE_WITHDRAW});let z=await C.transactCallRelayerBatch(u,R,b,E,D,k);return await w.safeUpdateDepositAndWithdrawStatus({id:T,chainId:u,hashedEthereumAddress:b,phase:i.DepositAndWithdrawPhase.AFTER_SCHEDULE_WITHDRAW,scheduleId:z}),z},D=async(e,n,i,a,c,l,d,p,m=!0)=>{let g=n.erc20TokenAddress,v=f.validateAndGetChainId([n]),S=p?u.hashString(p):void 0,C=u.hashEthereumAddress(await e.getEthereumAddressByChain(v)),w=y.SWAP_ROUTER_ADDRESSES[r.ExternalActionId.Lifi][v];if(!w)throw Error(`LIFI router not configured`);let D;if(c)D=c;else{let n=i[0],a=x.createLifiBridgeOps(e,v,n.temporarySubAccount.ethAddress,w,g,n.bridgeAmount,n.bridgeAmount,n.quote).map(e=>b.convertEmporiumOpToCallInfo(e,n.temporarySubAccount.ethAddress,v));D=await h.getFeeStructure(v,g,[g],r.ExternalActionId.Emporium,a,t.PAY_SEND_VARIABLE_RATE)}let O={feeToken:D.feeToken,flatFee:0n,variableRate:0n},k=i.reduce((e,t)=>e+t.quote.nativeFee,0n)>0n&&!s.caseInsensitiveEqual(g,t.zeroAddress),A=i.map(e=>e.bridgeAmount),j=i.map(e=>e.recipientAddress),{userDepositedUtxos:M,statusId:N,depositTxHash:P}=await T.hinkalDepositOnChainUtxos(e,v,n,A,j,D,C,m),F=[];if(k){let n=o.getERC20Token(t.zeroAddress,v);if(!n)throw Error(`No native token`);let{userDepositedUtxos:r}=await T.hinkalDepositOnChainUtxos(e,v,n,i.map(e=>e.quote.nativeFee),j,O,C,m);F=r}return await _.waitForDepositedUtxosInMerkleTree(e,v,[...M,...F]),await E(e,v,n,i.map((e,t)=>({...e,utxo:M[t].utxo,nativeUtxo:k?F[t]?.utxo:void 0})),D,C,N,a,l,d,S),P};exports.hinkalDepositAndBridge=D;
1
+ const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/ethereum-network.types.cjs`),r=require(`../../types/external-action.types.cjs`),i=require(`../../types/scheduled-transactions.types.cjs`),a=require(`../../error-handling/error-codes.constants.cjs`),o=require(`../../functions/utils/erc20tokenFunctions.cjs`),s=require(`../../functions/utils/caseInsensitive.utils.cjs`),c=require(`../../functions/utils/time.utils.cjs`),l=require(`../utxo/Utxo.cjs`),u=require(`../../functions/utils/addresses.cjs`),d=require(`../../API/API.cjs`),f=require(`../../functions/utils/token-check.utils.cjs`),p=require(`../../functions/utils/fees.utils.cjs`),m=require(`../../functions/pre-transaction/constructAdminData.cjs`),h=require(`../../functions/pre-transaction/getFeeStructure.cjs`),g=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`),_=require(`../../functions/pre-transaction/waitForDepositedUtxosInMerkleTree.cjs`),v=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`),y=require(`../../constants/addresses.constants.cjs`),b=require(`../../functions/utils/convertEmporiumOpToCallInfo.cjs`),x=require(`../../functions/private-wallet/emporium.helpers.cjs`),S=require(`../../functions/snarkjs/constructEmporiumProof.cjs`),C=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),w=require(`../../API/deposit-and-withdraw-status-calls.cjs`),T=require(`./hinkalDepositOnChainUtxos.cjs`);var E=async(o,u,f,h,_,b,T,E,D,O,k)=>{if(h.length===0)throw Error(`No recipients to bridge`);let A=f.erc20TokenAddress,{contractData:j}=e.networkRegistry[u],{emporiumAddress:M}=j;if(!M)throw Error(`No Emporium Address`);let N=y.SWAP_ROUTER_ADDRESSES[r.ExternalActionId.Lifi][u];if(!N)throw Error(`LIFI not configured for chain ${u}`);let P=await o.getRandomRelay(u);if(!P)throw Error(a.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let F=await o.getEthereumAddressByChain(u),I=c.getCurrentTimeInSeconds().toString(),L=o.generateProofRemotely?5:1,R=[];for(let e=0;e<h.length;e+=L){let r=h.slice(e,e+L),i=await Promise.all(r.map(async({utxo:e,nativeUtxo:r,bridgeAmount:i,quote:a,temporarySubAccount:c,recipientAddress:f})=>{await d.API.addTemporaryWalletNonce(u,b,c.index);let h=a.nativeFee>0n&&!s.caseInsensitiveEqual(A,t.zeroAddress),y=[A],C=[-e.amount],w=[!1],T=new l.Utxo({amount:0n,erc20TokenAddress:A,shieldedPrivateKey:o.userKeys.getShieldedPrivateKey(),timeStamp:I,tokenId:0}),E=[[e,T]],D=[[T]];if(h&&r){let e=new l.Utxo({amount:0n,erc20TokenAddress:t.zeroAddress,shieldedPrivateKey:o.userKeys.getShieldedPrivateKey(),timeStamp:I,tokenId:0});y.push(t.zeroAddress),C.push(-r.amount),w.push(!1),E.push([r,e]),D.push([e])}let k=x.createLifiBridgeOps(o,u,c.ethAddress,N,A,e.amount,i,a),{patchAccessTokenMerkleTree:j,signatureData:L}=await g.getKycAndSignatureData(o,u,y,C,F),R=p.calculateTotalFee(i,_),z={feeToken:_.feeToken,flatFee:R,variableRate:0n},B=m.constructAdminData(O,u,y,[-e.amount],F),[{zkCallData:V,circomData:H,dimData:U,authorizationData:W},G]=await Promise.all([S.constructEmporiumProof(o.merkleTreeHinkalByChain[u],o.merkleTreeAccessTokenByChain[u],y,y.map(()=>0),E,D,o.userKeys,y.length,E[0].length,M,k,o.generateProofRemotely,P??t.zeroAddress,u,w,void 0,c.privateKey,j,void 0,z,o.getContractWithFetcher(u,n.ContractType.HinkalHelperContract),L),v.buildCommitmentValidationData(u,o.userKeys,y,E)]);return{zkCallData:V,dimData:U,circomData:H,commitmentValidationData:G,authorizationData:W,recipientAddress:f,adminData:B}}));R.push(...i)}await w.safeUpdateDepositAndWithdrawStatus({id:T,chainId:u,hashedEthereumAddress:b,phase:i.DepositAndWithdrawPhase.BEFORE_SCHEDULE_WITHDRAW});let z=await C.transactCallRelayerBatch(u,R,b,E,D,k);return await w.safeUpdateDepositAndWithdrawStatus({id:T,chainId:u,hashedEthereumAddress:b,phase:i.DepositAndWithdrawPhase.AFTER_SCHEDULE_WITHDRAW,scheduleId:z}),z},D=async(e,n,i,a,c,l,d,p,m=!0)=>{let g=n.erc20TokenAddress,v=f.validateAndGetChainId([n]),S=p?u.hashString(p):void 0,C=u.hashEthereumAddress(await e.getEthereumAddressByChain(v)),w=y.SWAP_ROUTER_ADDRESSES[r.ExternalActionId.Lifi][v];if(!w)throw Error(`LIFI router not configured`);let D;if(c)D=c;else{let n=i[0],a=x.createLifiBridgeOps(e,v,n.temporarySubAccount.ethAddress,w,g,n.bridgeAmount,n.bridgeAmount,n.quote).map(e=>b.convertEmporiumOpToCallInfo(e,n.temporarySubAccount.ethAddress,v));D=await h.getFeeStructure(v,g,[g],r.ExternalActionId.Emporium,a,t.PAY_SEND_VARIABLE_RATE)}let O={feeToken:D.feeToken,flatFee:0n,variableRate:0n},k=i.reduce((e,t)=>e+t.quote.nativeFee,0n)>0n&&!s.caseInsensitiveEqual(g,t.zeroAddress),A=i.map(e=>e.bridgeAmount),j=i.map(e=>e.recipientAddress),{userDepositedUtxos:M,statusId:N,depositTxHash:P}=await T.hinkalDepositOnChainUtxos(e,v,n,A,j,D,C,m),F=[];if(k){let n=o.getERC20Token(t.zeroAddress,v);if(!n)throw Error(`No native token`);let{userDepositedUtxos:r}=await T.hinkalDepositOnChainUtxos(e,v,n,i.map(e=>e.quote.nativeFee),j,O,C,m);F=r}return await _.waitForDepositedUtxosInMerkleTree(e,v,[...M,...F]),await E(e,v,n,i.map((e,t)=>({...e,utxo:M[t].utxo,nativeUtxo:k?F[t]?.utxo:void 0})),D,C,N,a,l,d,S),P};exports.hinkalDepositAndBridge=D;
@@ -3,7 +3,6 @@ import { PAY_SEND_VARIABLE_RATE as t, zeroAddress as n } from "../../constants/p
3
3
  import { ContractType as r } from "../../types/ethereum-network.types.mjs";
4
4
  import { ExternalActionId as i } from "../../types/external-action.types.mjs";
5
5
  import { DepositAndWithdrawPhase as a } from "../../types/scheduled-transactions.types.mjs";
6
- import "../../types/index.mjs";
7
6
  import { transactionErrorCodes as o } from "../../error-handling/error-codes.constants.mjs";
8
7
  import { getERC20Token as s } from "../../functions/utils/erc20tokenFunctions.mjs";
9
8
  import { caseInsensitiveEqual as c } from "../../functions/utils/caseInsensitive.utils.mjs";
@@ -18,16 +17,13 @@ import { getFeeStructure as _ } from "../../functions/pre-transaction/getFeeStru
18
17
  import { getKycAndSignatureData as v } from "../../functions/pre-transaction/getKycAndSignatureData.mjs";
19
18
  import { waitForDepositedUtxosInMerkleTree as y } from "../../functions/pre-transaction/waitForDepositedUtxosInMerkleTree.mjs";
20
19
  import { buildCommitmentValidationData as b } from "../../functions/pre-transaction/buildCommitmentValidationData.mjs";
21
- import "../../functions/pre-transaction/index.mjs";
22
20
  import { SWAP_ROUTER_ADDRESSES as x } from "../../constants/addresses.constants.mjs";
23
21
  import { convertEmporiumOpToCallInfo as S } from "../../functions/utils/convertEmporiumOpToCallInfo.mjs";
24
- import "../../functions/utils/index.mjs";
25
22
  import { createLifiBridgeOps as C } from "../../functions/private-wallet/emporium.helpers.mjs";
26
23
  import { constructEmporiumProof as w } from "../../functions/snarkjs/constructEmporiumProof.mjs";
27
24
  import { transactCallRelayerBatch as T } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
28
25
  import { safeUpdateDepositAndWithdrawStatus as E } from "../../API/deposit-and-withdraw-status-calls.mjs";
29
26
  import { hinkalDepositOnChainUtxos as D } from "./hinkalDepositOnChainUtxos.mjs";
30
- import "../../functions/index.mjs";
31
27
  //#region libs/shared/common/src/data-structures/Hinkal/hinkalDepositAndBridge.ts
32
28
  var O = async (t, s, d, f, m, _, y, S, D, O, k) => {
33
29
  if (f.length === 0) throw Error("No recipients to bridge");
@@ -1 +1 @@
1
- const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/ethereum-network.types.cjs`),r=require(`../../types/external-action.types.cjs`),i=require(`../../types/scheduled-transactions.types.cjs`);require(`../../types/index.cjs`);const a=require(`../../error-handling/error-codes.constants.cjs`),o=require(`../../functions/utils/caseInsensitive.utils.cjs`),s=require(`../../functions/utils/time.utils.cjs`),c=require(`../utxo/Utxo.cjs`),l=require(`../../functions/utils/addresses.cjs`),u=require(`../../functions/utils/tron.utils.cjs`),d=require(`../../functions/utils/token-check.utils.cjs`),f=require(`../../functions/utils/fees.utils.cjs`),p=require(`../../functions/pre-transaction/constructAdminData.cjs`),m=require(`../../functions/pre-transaction/getFeeStructure.cjs`),h=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`),g=require(`../../functions/pre-transaction/waitForDepositedUtxosInMerkleTree.cjs`),_=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`);require(`../../functions/pre-transaction/index.cjs`);const v=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),y=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),b=require(`../../API/deposit-and-withdraw-status-calls.cjs`),x=require(`./hinkalDepositOnChainUtxos.cjs`);require(`../../functions/index.cjs`);var S=async(r,l,d,m,g,x,S,C,w,T,E,D)=>{let O=e.isTronLike(l);if(m.length===0)throw Error(`userDepositedUtxos must not be empty`);let k=d.erc20TokenAddress,[A,j]=await Promise.all([r.getRandomRelay(l),r.getEthereumAddressByChain(l)]);if(!A)throw Error(a.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let M=s.getCurrentTimeInSeconds().toString(),N=r.generateProofRemotely&&!O?5:1,P=[],F=u.addressToHexFormat(j);for(let e=0;e<m.length;e+=N){let i=m.slice(e,e+N),a=await Promise.all(i.map(async({recipientAddress:i,utxo:a})=>{let s=u.addressToHexFormat(i),d=[-a.amount],m=new c.Utxo({amount:0n,erc20TokenAddress:k,shieldedPrivateKey:r.userKeys.getShieldedPrivateKey(),timeStamp:M,tokenId:0}),y=[[o.caseInsensitiveEqual(a.erc20TokenAddress,k)?a:c.Utxo.createFrom(a,{erc20TokenAddress:k}),m]],b=[[m]],S=`swapperM1x${y[0].length}x1`,{patchAccessTokenMerkleTree:C,signatureData:w}=await h.getKycAndSignatureData(r,l,[k],d,F),T={externalActionId:0n,externalAddress:s,externalActionMetadata:`0x00`},D=p.constructAdminData(E,l,[k],[-a.amount],F),j=f.calculateTotalFee(g[e],x),N={feeToken:x.feeToken,flatFee:j,variableRate:0n},[{zkCallData:P,circomData:I,dimData:L},R]=await Promise.all([v.constructZkProof(r.merkleTreeHinkalByChain[l],r.merkleTreeAccessTokenByChain[l],y,b,r.userKeys,S,T.externalActionId,T.externalAddress,T.externalActionMetadata,r.generateProofRemotely,A??t.zeroAddress,l,void 0,void 0,void 0,C,void 0,N,r.getContractWithFetcher(l,n.ContractType.HinkalHelperContract),w),_.buildCommitmentValidationData(l,r.userKeys,[k],y)]);return{zkCallData:P,dimData:L,circomData:I,commitmentValidationData:R,adminData:D,recipientAddress:i,tronProofSignature:await u.reorderZkCallData(O,P,L,I)}}));P.push(...a)}await b.safeUpdateDepositAndWithdrawStatus({id:C,chainId:l,hashedEthereumAddress:S,phase:i.DepositAndWithdrawPhase.BEFORE_SCHEDULE_WITHDRAW});let I=await y.transactCallRelayerBatch(l,P,S,w,T,D);return await b.safeUpdateDepositAndWithdrawStatus({id:C,chainId:l,hashedEthereumAddress:S,phase:i.DepositAndWithdrawPhase.AFTER_SCHEDULE_WITHDRAW,scheduleId:I}),I},C=async(e,t,n,i,a,o,s,c,f,p=!0)=>{let h=d.validateAndGetChainId([t]),_=f?l.hashString(f):void 0,v=t.erc20TokenAddress,y=l.hashEthereumAddress(u.addressToHexFormat(await e.getEthereumAddressByChain(h))),b=o??await m.getFeeStructure(h,v,[v],r.ExternalActionId.Transact,[],10n),{userDepositedUtxos:C,statusId:w,depositTxHash:T}=await x.hinkalDepositOnChainUtxos(e,h,t,n,i,b,y,p);return await g.waitForDepositedUtxosInMerkleTree(e,h,C),await S(e,h,t,C,n,b,y,w,a,s,c,_),T};exports.hinkalDepositAndWithdraw=C;
1
+ const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/ethereum-network.types.cjs`),r=require(`../../types/external-action.types.cjs`),i=require(`../../types/scheduled-transactions.types.cjs`),a=require(`../../error-handling/error-codes.constants.cjs`),o=require(`../../functions/utils/caseInsensitive.utils.cjs`),s=require(`../../functions/utils/time.utils.cjs`),c=require(`../utxo/Utxo.cjs`),l=require(`../../functions/utils/addresses.cjs`),u=require(`../../functions/utils/tron.utils.cjs`),d=require(`../../functions/utils/token-check.utils.cjs`),f=require(`../../functions/utils/fees.utils.cjs`),p=require(`../../functions/pre-transaction/constructAdminData.cjs`),m=require(`../../functions/pre-transaction/getFeeStructure.cjs`),h=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`),g=require(`../../functions/pre-transaction/waitForDepositedUtxosInMerkleTree.cjs`),_=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`),v=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),y=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),b=require(`../../API/deposit-and-withdraw-status-calls.cjs`),x=require(`./hinkalDepositOnChainUtxos.cjs`);var S=async(r,l,d,m,g,x,S,C,w,T,E,D)=>{let O=e.isTronLike(l);if(m.length===0)throw Error(`userDepositedUtxos must not be empty`);let k=d.erc20TokenAddress,[A,j]=await Promise.all([r.getRandomRelay(l),r.getEthereumAddressByChain(l)]);if(!A)throw Error(a.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let M=s.getCurrentTimeInSeconds().toString(),N=r.generateProofRemotely&&!O?5:1,P=[],F=u.addressToHexFormat(j);for(let e=0;e<m.length;e+=N){let i=m.slice(e,e+N),a=await Promise.all(i.map(async({recipientAddress:i,utxo:a})=>{let s=u.addressToHexFormat(i),d=[-a.amount],m=new c.Utxo({amount:0n,erc20TokenAddress:k,shieldedPrivateKey:r.userKeys.getShieldedPrivateKey(),timeStamp:M,tokenId:0}),y=[[o.caseInsensitiveEqual(a.erc20TokenAddress,k)?a:c.Utxo.createFrom(a,{erc20TokenAddress:k}),m]],b=[[m]],S=`swapperM1x${y[0].length}x1`,{patchAccessTokenMerkleTree:C,signatureData:w}=await h.getKycAndSignatureData(r,l,[k],d,F),T={externalActionId:0n,externalAddress:s,externalActionMetadata:`0x00`},D=p.constructAdminData(E,l,[k],[-a.amount],F),j=f.calculateTotalFee(g[e],x),N={feeToken:x.feeToken,flatFee:j,variableRate:0n},[{zkCallData:P,circomData:I,dimData:L},R]=await Promise.all([v.constructZkProof(r.merkleTreeHinkalByChain[l],r.merkleTreeAccessTokenByChain[l],y,b,r.userKeys,S,T.externalActionId,T.externalAddress,T.externalActionMetadata,r.generateProofRemotely,A??t.zeroAddress,l,void 0,void 0,void 0,C,void 0,N,r.getContractWithFetcher(l,n.ContractType.HinkalHelperContract),w),_.buildCommitmentValidationData(l,r.userKeys,[k],y)]);return{zkCallData:P,dimData:L,circomData:I,commitmentValidationData:R,adminData:D,recipientAddress:i,tronProofSignature:await u.reorderZkCallData(O,P,L,I)}}));P.push(...a)}await b.safeUpdateDepositAndWithdrawStatus({id:C,chainId:l,hashedEthereumAddress:S,phase:i.DepositAndWithdrawPhase.BEFORE_SCHEDULE_WITHDRAW});let I=await y.transactCallRelayerBatch(l,P,S,w,T,D);return await b.safeUpdateDepositAndWithdrawStatus({id:C,chainId:l,hashedEthereumAddress:S,phase:i.DepositAndWithdrawPhase.AFTER_SCHEDULE_WITHDRAW,scheduleId:I}),I},C=async(e,t,n,i,a,o,s,c,f,p=!0)=>{let h=d.validateAndGetChainId([t]),_=f?l.hashString(f):void 0,v=t.erc20TokenAddress,y=l.hashEthereumAddress(u.addressToHexFormat(await e.getEthereumAddressByChain(h))),b=o??await m.getFeeStructure(h,v,[v],r.ExternalActionId.Transact,[],10n),{userDepositedUtxos:C,statusId:w,depositTxHash:T}=await x.hinkalDepositOnChainUtxos(e,h,t,n,i,b,y,p);return await g.waitForDepositedUtxosInMerkleTree(e,h,C),await S(e,h,t,C,n,b,y,w,a,s,c,_),T};exports.hinkalDepositAndWithdraw=C;
@@ -3,7 +3,6 @@ import { zeroAddress as t } from "../../constants/protocol.constants.mjs";
3
3
  import { ContractType as n } from "../../types/ethereum-network.types.mjs";
4
4
  import { ExternalActionId as r } from "../../types/external-action.types.mjs";
5
5
  import { DepositAndWithdrawPhase as i } from "../../types/scheduled-transactions.types.mjs";
6
- import "../../types/index.mjs";
7
6
  import { transactionErrorCodes as a } from "../../error-handling/error-codes.constants.mjs";
8
7
  import { caseInsensitiveEqual as o } from "../../functions/utils/caseInsensitive.utils.mjs";
9
8
  import { getCurrentTimeInSeconds as s } from "../../functions/utils/time.utils.mjs";
@@ -17,12 +16,10 @@ import { getFeeStructure as g } from "../../functions/pre-transaction/getFeeStru
17
16
  import { getKycAndSignatureData as _ } from "../../functions/pre-transaction/getKycAndSignatureData.mjs";
18
17
  import { waitForDepositedUtxosInMerkleTree as v } from "../../functions/pre-transaction/waitForDepositedUtxosInMerkleTree.mjs";
19
18
  import { buildCommitmentValidationData as y } from "../../functions/pre-transaction/buildCommitmentValidationData.mjs";
20
- import "../../functions/pre-transaction/index.mjs";
21
19
  import { constructZkProof as b } from "../../functions/snarkjs/constructGeneralZkProof.mjs";
22
20
  import { transactCallRelayerBatch as x } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
23
21
  import { safeUpdateDepositAndWithdrawStatus as S } from "../../API/deposit-and-withdraw-status-calls.mjs";
24
22
  import { hinkalDepositOnChainUtxos as C } from "./hinkalDepositOnChainUtxos.mjs";
25
- import "../../functions/index.mjs";
26
23
  //#region libs/shared/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.ts
27
24
  var w = async (r, l, u, p, g, v, C, w, T, E, D, O) => {
28
25
  let k = e(l);
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/ethereum-network.types.cjs`),r=require(`../../types/external-action.types.cjs`),i=require(`../../types/admin.types.cjs`),a=require(`../../types/scheduled-transactions.types.cjs`);require(`../../types/index.cjs`);const o=require(`../../functions/utils/tron.utils.cjs`),s=require(`../../functions/web3/events/getShieldedBalance.cjs`),c=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),l=require(`../../functions/utils/fees.utils.cjs`),u=require(`../../functions/pre-transaction/constructAdminData.cjs`),d=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`),f=require(`../../functions/utils/getUtxosFromReceipt.utils.cjs`),p=require(`../../functions/utils/tx-confirmation.utils.cjs`),m=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),h=require(`../../functions/web3/functionCalls/transactCallDirect.cjs`),g=require(`../../API/admin-calls.cjs`),_=require(`../../functions/web3/functionCalls/transactCallDirectTron.cjs`),v=require(`../../API/deposit-and-withdraw-status-calls.cjs`);let y=require(`ethers`);var b=async(e,t,n,r)=>{let i=[...await s.addPaddingToUtxos(e,t,n,r)],a=[];for(let t=0;t<i.length;t+=1){let{outputUtxos:n}=c.outputUtxoProcessing(e.userKeys,i[t],r[t]);a.push(n)}return{inputUtxosArray:i,outputUtxosArray:a}},x=async(s,c,x,S,C,w,T,E=!0)=>{let D=e.isTronLike(c),O=x.erc20TokenAddress,k=o.addressToHexFormat(await s.getEthereumAddressByChain(c)),A=S.map(e=>e+l.calculateTotalFee(e,w)),j=A.reduce((e,t)=>e+t,0n),M=[O],N=[0n],P=[!0],F=y.ethers.AbiCoder.defaultAbiCoder().encode([`uint256[]`],[A]),{hinkalWrapperAddress:I,hinkalWrapperABI:L,depositOnChainUtxosExternalActionAddress:R,depositOnChainUtxosExternalActionABI:z}=e.networkRegistry[c].contractData;if(!I||!L||!R||!z)throw Error(`contract data not set in networkRegistry`);let[{patchAccessTokenMerkleTree:B,signatureData:V},{inputUtxosArray:H,outputUtxosArray:U}]=await Promise.all([d.getKycAndSignatureData(s,c,M,N,k),b(s,c,M,N)]),{zkCallData:W,circomData:G,dimData:K}=await m.constructZkProof(s.merkleTreeHinkalByChain[c],s.merkleTreeAccessTokenByChain[c],H,U,s.userKeys,`swapperM1x${H[0].length}x1`,r.ExternalActionId.DepositOnChainUtxos,R,F,s.generateProofRemotely,t.zeroAddress,c,P,void 0,void 0,B,void 0,void 0,s.getContractWithFetcher(c,n.ContractType.HinkalHelperContract),V,I),q=(await v.updateDepositAndWithdrawStatus({chainId:c,hashedEthereumAddress:T,phase:a.DepositAndWithdrawPhase.BEFORE_DEPOSIT})).id??void 0,J;if(D){let e=s.getTronWeb();J=await _.transactCallDirectTron(s,c,j,x,W,G,K,e.contract(z,o.evmHexToTronBase58Address(R)),e.contract(L,o.evmHexToTronBase58Address(I)),E)}else{let e=s.getContractWithSigner(c,n.ContractType.HinkalWrapper);J=(await h.transactCallDirect(s,c,j,x,W,G,K,s.getContractWithSigner(c,n.ContractType.DepositOnChainUtxos),e,E)).hash}if(!J)throw Error(`Deposit transaction hash not found`);let Y=await p.waitForEthereumTransactionConfirmation(c,J);await v.safeUpdateDepositAndWithdrawStatus({id:q,chainId:c,hashedEthereumAddress:T,phase:a.DepositAndWithdrawPhase.AFTER_DEPOSIT,depositTxHash:J});let X=f.getOnChainUtxosFromReceipt(Y,s,c,O);if(X.length===0)throw Error(`No UTXOs found in deposit transaction. Check contract address and ABI.`);let Z=[],Q=[...X];return C.forEach((e,t)=>{let n=A[t],r=Q.find(e=>e.amount===n);if(!r)throw Error(`Could not find newly created UTXO with amount ${n} for recipient ${e}.`);Z.push({recipientAddress:e,utxo:r});let i=Q.indexOf(r);Q.splice(i,1)}),g.emitTxPublicData(u.constructAdminData(i.AdminTransactionType.DepositOnChainUtxos,c,M,[j],k)),{userDepositedUtxos:Z,statusId:q,depositTxHash:J}};exports.hinkalDepositOnChainUtxos=x;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/ethereum-network.types.cjs`),r=require(`../../types/external-action.types.cjs`),i=require(`../../types/admin.types.cjs`),a=require(`../../types/scheduled-transactions.types.cjs`),o=require(`../../functions/utils/tron.utils.cjs`),s=require(`../../functions/web3/events/getShieldedBalance.cjs`),c=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),l=require(`../../functions/utils/fees.utils.cjs`),u=require(`../../functions/pre-transaction/constructAdminData.cjs`),d=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`),f=require(`../../functions/utils/getUtxosFromReceipt.utils.cjs`),p=require(`../../functions/utils/tx-confirmation.utils.cjs`),m=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),h=require(`../../functions/web3/functionCalls/transactCallDirect.cjs`),g=require(`../../API/admin-calls.cjs`),_=require(`../../functions/web3/functionCalls/transactCallDirectTron.cjs`),v=require(`../../API/deposit-and-withdraw-status-calls.cjs`);let y=require(`ethers`);var b=async(e,t,n,r)=>{let i=[...await s.addPaddingToUtxos(e,t,n,r)],a=[];for(let t=0;t<i.length;t+=1){let{outputUtxos:n}=c.outputUtxoProcessing(e.userKeys,i[t],r[t]);a.push(n)}return{inputUtxosArray:i,outputUtxosArray:a}},x=async(s,c,x,S,C,w,T,E=!0)=>{let D=e.isTronLike(c),O=x.erc20TokenAddress,k=o.addressToHexFormat(await s.getEthereumAddressByChain(c)),A=S.map(e=>e+l.calculateTotalFee(e,w)),j=A.reduce((e,t)=>e+t,0n),M=[O],N=[0n],P=[!0],F=y.ethers.AbiCoder.defaultAbiCoder().encode([`uint256[]`],[A]),{hinkalWrapperAddress:I,hinkalWrapperABI:L,depositOnChainUtxosExternalActionAddress:R,depositOnChainUtxosExternalActionABI:z}=e.networkRegistry[c].contractData;if(!I||!L||!R||!z)throw Error(`contract data not set in networkRegistry`);let[{patchAccessTokenMerkleTree:B,signatureData:V},{inputUtxosArray:H,outputUtxosArray:U}]=await Promise.all([d.getKycAndSignatureData(s,c,M,N,k),b(s,c,M,N)]),{zkCallData:W,circomData:G,dimData:K}=await m.constructZkProof(s.merkleTreeHinkalByChain[c],s.merkleTreeAccessTokenByChain[c],H,U,s.userKeys,`swapperM1x${H[0].length}x1`,r.ExternalActionId.DepositOnChainUtxos,R,F,s.generateProofRemotely,t.zeroAddress,c,P,void 0,void 0,B,void 0,void 0,s.getContractWithFetcher(c,n.ContractType.HinkalHelperContract),V,I),q=(await v.updateDepositAndWithdrawStatus({chainId:c,hashedEthereumAddress:T,phase:a.DepositAndWithdrawPhase.BEFORE_DEPOSIT})).id??void 0,J;if(D){let e=s.getTronWeb();J=await _.transactCallDirectTron(s,c,j,x,W,G,K,e.contract(z,o.evmHexToTronBase58Address(R)),e.contract(L,o.evmHexToTronBase58Address(I)),E)}else{let e=s.getContractWithSigner(c,n.ContractType.HinkalWrapper);J=(await h.transactCallDirect(s,c,j,x,W,G,K,s.getContractWithSigner(c,n.ContractType.DepositOnChainUtxos),e,E)).hash}if(!J)throw Error(`Deposit transaction hash not found`);let Y=await p.waitForEthereumTransactionConfirmation(c,J);await v.safeUpdateDepositAndWithdrawStatus({id:q,chainId:c,hashedEthereumAddress:T,phase:a.DepositAndWithdrawPhase.AFTER_DEPOSIT,depositTxHash:J});let X=f.getOnChainUtxosFromReceipt(Y,s,c,O);if(X.length===0)throw Error(`No UTXOs found in deposit transaction. Check contract address and ABI.`);let Z=[],Q=[...X];return C.forEach((e,t)=>{let n=A[t],r=Q.find(e=>e.amount===n);if(!r)throw Error(`Could not find newly created UTXO with amount ${n} for recipient ${e}.`);Z.push({recipientAddress:e,utxo:r});let i=Q.indexOf(r);Q.splice(i,1)}),g.emitTxPublicData(u.constructAdminData(i.AdminTransactionType.DepositOnChainUtxos,c,M,[j],k)),{userDepositedUtxos:Z,statusId:q,depositTxHash:J}};exports.hinkalDepositOnChainUtxos=x;
@@ -4,7 +4,6 @@ import { ContractType as r } from "../../types/ethereum-network.types.mjs";
4
4
  import { ExternalActionId as i } from "../../types/external-action.types.mjs";
5
5
  import { AdminTransactionType as a } from "../../types/admin.types.mjs";
6
6
  import { DepositAndWithdrawPhase as o } from "../../types/scheduled-transactions.types.mjs";
7
- import "../../types/index.mjs";
8
7
  import { addressToHexFormat as s, evmHexToTronBase58Address as c } from "../../functions/utils/tron.utils.mjs";
9
8
  import { addPaddingToUtxos as l } from "../../functions/web3/events/getShieldedBalance.mjs";
10
9
  import { outputUtxoProcessing as u } from "../../functions/pre-transaction/outputUtxoProcessing.mjs";
@@ -1 +1 @@
1
- const e=require(`../../constants/chains.constants.cjs`),t=require(`../../types/ethereum-network.types.cjs`),n=require(`../../types/external-action.types.cjs`),r=require(`../../types/admin.types.cjs`),i=require(`../../error-handling/error-codes.constants.cjs`),a=require(`../../functions/utils/caseInsensitive.utils.cjs`),o=require(`../../functions/utils/time.utils.cjs`),s=require(`../../functions/utils/addresses.cjs`),c=require(`../../functions/web3/events/getShieldedBalance.cjs`),l=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`);require(`../../error-handling/index.cjs`);const u=require(`../../functions/pre-transaction/constructAdminData.cjs`),d=require(`../AccountActions/AccountActions.cjs`),f=require(`../../functions/pre-transaction/recipientUtxoProcessing.cjs`),p=require(`../../functions/pre-transaction/getFeeStructure.cjs`),m=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`),h=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`);require(`../../functions/pre-transaction/index.cjs`);const g=require(`../../functions/utils/involves-permit2-op.cjs`),_=require(`../../functions/utils/convertEmporiumOpToCallInfo.cjs`),v=require(`../../functions/snarkjs/constructEmporiumProof.cjs`),y=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),b=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`),x=require(`../../functions/pre-transaction/merge-with-fee-structure-emporium.cjs`),S=require(`./handleAutoDepositBack.cjs`);var C=async(e,t,n,r,i)=>{let a=[...await c.addPaddingToUtxos(e,t,n,r)],s=[],u=o.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=l.outputUtxoProcessing(e.userKeys,a[t],r[t],u);s.push(n)}return i&&f.recipientUtxoProcessing(i,s,r,u),{inputUtxosArray:a,outputUtxosArray:s}},w=async(o,c,l,f,w,T,E,D,O,k,A,j=!1,M,N,P)=>{if(P&&!s.isValidPrivateAddress(P.recipientInfo))throw Error(i.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);if(E.length>0&&!D)throw Error(`Subaccount is required for private wallet transactions`);let F=l.map(e=>e.erc20TokenAddress),I=await o.getEthereumAddressByChain(c),L=D?d.AccountActions.getAddressFromSubAccount(c,D):void 0,{contractData:R}=e.networkRegistry[c],{emporiumAddress:z}=R;if(!z)throw Error(`No Emporium Address Provided`);let B=k??await p.getFeeStructure(c,O,F,n.ExternalActionId.Emporium,T.map(e=>_.convertEmporiumOpToCallInfo(e,L??``,c)));for(L?await x.mergeWithFeeStructureEmporium(o,c,L,T,F,f,B,E.find(e=>a.caseInsensitiveEqual(e.token.erc20TokenAddress,B.feeToken))?.amount??0n):b.mergeWithFeeStructure(c,F,f,B);w.length<F.length;)w.push(!1);let[{inputUtxosArray:V,outputUtxosArray:H},U,{patchAccessTokenMerkleTree:W,signatureData:G}]=await Promise.all([C(o,c,F,f,P),A??await o.getRandomRelay(c,!0),m.getKycAndSignatureData(o,c,F,f,I)]);if(!U)throw Error(i.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let K=D?d.AccountActions.getPrivateKeyFromSubAccount(c,D):void 0,[{zkCallData:q,circomData:J,dimData:Y,authorizationData:X},Z]=await Promise.all([v.constructEmporiumProof(o.merkleTreeHinkalByChain[c],o.merkleTreeAccessTokenByChain[c],F,F.map(()=>0),V,H,o.userKeys,f.length,V.length>0?V[0].length:0,z,T,o.generateProofRemotely,U,c,w,void 0,K,W,void 0,B,o.getContractWithFetcher(c,t.ContractType.HinkalHelperContract),G),h.buildCommitmentValidationData(c,o.userKeys,F,V)]),Q=await y.transactCallRelayer(c,q,Y,J,Z,g.uniswapWorkaround(T),X,u.constructAdminData(N,c,E.map(e=>e.token.erc20TokenAddress),E.map(e=>e.amount),I,N===r.AdminTransactionType.PublicSwap?E.map(({token:e})=>e):void 0));return j&&D&&S.handleAutoDepositBack(o,c,L,D,B.feeToken,M,E,J),Q};exports.hinkalPrivateWallet=w;
1
+ const e=require(`../../constants/chains.constants.cjs`),t=require(`../../types/ethereum-network.types.cjs`),n=require(`../../types/external-action.types.cjs`),r=require(`../../types/admin.types.cjs`),i=require(`../../error-handling/error-codes.constants.cjs`),a=require(`../../functions/utils/caseInsensitive.utils.cjs`),o=require(`../../functions/utils/time.utils.cjs`),s=require(`../../functions/utils/addresses.cjs`),c=require(`../../functions/web3/events/getShieldedBalance.cjs`),l=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),u=require(`../../functions/pre-transaction/constructAdminData.cjs`),d=require(`../AccountActions/AccountActions.cjs`),f=require(`../../functions/pre-transaction/recipientUtxoProcessing.cjs`),p=require(`../../functions/pre-transaction/getFeeStructure.cjs`),m=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`),h=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`),g=require(`../../functions/utils/involves-permit2-op.cjs`),_=require(`../../functions/utils/convertEmporiumOpToCallInfo.cjs`),v=require(`../../functions/snarkjs/constructEmporiumProof.cjs`),y=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),b=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`),x=require(`../../functions/pre-transaction/merge-with-fee-structure-emporium.cjs`),S=require(`./handleAutoDepositBack.cjs`);var C=async(e,t,n,r,i)=>{let a=[...await c.addPaddingToUtxos(e,t,n,r)],s=[],u=o.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=l.outputUtxoProcessing(e.userKeys,a[t],r[t],u);s.push(n)}return i&&f.recipientUtxoProcessing(i,s,r,u),{inputUtxosArray:a,outputUtxosArray:s}},w=async(o,c,l,f,w,T,E,D,O,k,A,j=!1,M,N,P)=>{if(P&&!s.isValidPrivateAddress(P.recipientInfo))throw Error(i.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);if(E.length>0&&!D)throw Error(`Subaccount is required for private wallet transactions`);let F=l.map(e=>e.erc20TokenAddress),I=await o.getEthereumAddressByChain(c),L=D?d.AccountActions.getAddressFromSubAccount(c,D):void 0,{contractData:R}=e.networkRegistry[c],{emporiumAddress:z}=R;if(!z)throw Error(`No Emporium Address Provided`);let B=k??await p.getFeeStructure(c,O,F,n.ExternalActionId.Emporium,T.map(e=>_.convertEmporiumOpToCallInfo(e,L??``,c)));for(L?await x.mergeWithFeeStructureEmporium(o,c,L,T,F,f,B,E.find(e=>a.caseInsensitiveEqual(e.token.erc20TokenAddress,B.feeToken))?.amount??0n):b.mergeWithFeeStructure(c,F,f,B);w.length<F.length;)w.push(!1);let[{inputUtxosArray:V,outputUtxosArray:H},U,{patchAccessTokenMerkleTree:W,signatureData:G}]=await Promise.all([C(o,c,F,f,P),A??await o.getRandomRelay(c,!0),m.getKycAndSignatureData(o,c,F,f,I)]);if(!U)throw Error(i.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let K=D?d.AccountActions.getPrivateKeyFromSubAccount(c,D):void 0,[{zkCallData:q,circomData:J,dimData:Y,authorizationData:X},Z]=await Promise.all([v.constructEmporiumProof(o.merkleTreeHinkalByChain[c],o.merkleTreeAccessTokenByChain[c],F,F.map(()=>0),V,H,o.userKeys,f.length,V.length>0?V[0].length:0,z,T,o.generateProofRemotely,U,c,w,void 0,K,W,void 0,B,o.getContractWithFetcher(c,t.ContractType.HinkalHelperContract),G),h.buildCommitmentValidationData(c,o.userKeys,F,V)]),Q=await y.transactCallRelayer(c,q,Y,J,Z,g.uniswapWorkaround(T),X,u.constructAdminData(N,c,E.map(e=>e.token.erc20TokenAddress),E.map(e=>e.amount),I,N===r.AdminTransactionType.PublicSwap?E.map(({token:e})=>e):void 0));return j&&D&&S.handleAutoDepositBack(o,c,L,D,B.feeToken,M,E,J),Q};exports.hinkalPrivateWallet=w;
@@ -8,14 +8,12 @@ import { getCurrentTimeInSeconds as o } from "../../functions/utils/time.utils.m
8
8
  import { isValidPrivateAddress as s } from "../../functions/utils/addresses.mjs";
9
9
  import { addPaddingToUtxos as c } from "../../functions/web3/events/getShieldedBalance.mjs";
10
10
  import { outputUtxoProcessing as l } from "../../functions/pre-transaction/outputUtxoProcessing.mjs";
11
- import "../../error-handling/index.mjs";
12
11
  import { constructAdminData as u } from "../../functions/pre-transaction/constructAdminData.mjs";
13
12
  import { AccountActions as d } from "../AccountActions/AccountActions.mjs";
14
13
  import { recipientUtxoProcessing as f } from "../../functions/pre-transaction/recipientUtxoProcessing.mjs";
15
14
  import { getFeeStructure as p } from "../../functions/pre-transaction/getFeeStructure.mjs";
16
15
  import { getKycAndSignatureData as m } from "../../functions/pre-transaction/getKycAndSignatureData.mjs";
17
16
  import { buildCommitmentValidationData as h } from "../../functions/pre-transaction/buildCommitmentValidationData.mjs";
18
- import "../../functions/pre-transaction/index.mjs";
19
17
  import { uniswapWorkaround as g } from "../../functions/utils/involves-permit2-op.mjs";
20
18
  import { convertEmporiumOpToCallInfo as _ } from "../../functions/utils/convertEmporiumOpToCallInfo.mjs";
21
19
  import { constructEmporiumProof as v } from "../../functions/snarkjs/constructEmporiumProof.mjs";
@@ -1 +1 @@
1
- const e=require(`../AccountActions/AccountActions.cjs`);require(`../AccountActions/index.cjs`);var t=async(t,n,r,i)=>{let a,o=e.AccountActions.getPrivateKeyFromSubAccount(t,i);if(!o)throw Error(`Private key is not available`);if(r)a=await e.AccountActions.signTypedDataFromPrivateKey(t,o,r.domain,r.types,r.value);else{if(!n)throw Error(`dataHash must be provided if typedData is not provided`);a=await e.AccountActions.signMessageFromPrivateKey(t,o,n)}return a};exports.hinkalSignSubAccount=t;
1
+ const e=require(`../AccountActions/AccountActions.cjs`);var t=async(t,n,r,i)=>{let a,o=e.AccountActions.getPrivateKeyFromSubAccount(t,i);if(!o)throw Error(`Private key is not available`);if(r)a=await e.AccountActions.signTypedDataFromPrivateKey(t,o,r.domain,r.types,r.value);else{if(!n)throw Error(`dataHash must be provided if typedData is not provided`);a=await e.AccountActions.signMessageFromPrivateKey(t,o,n)}return a};exports.hinkalSignSubAccount=t;
@@ -1,5 +1,4 @@
1
1
  import { AccountActions as e } from "../AccountActions/AccountActions.mjs";
2
- import "../AccountActions/index.mjs";
3
2
  //#region libs/shared/common/src/data-structures/Hinkal/hinkalSignSubAccount.ts
4
3
  var t = async (t, n, r, i) => {
5
4
  let a, o = e.getPrivateKeyFromSubAccount(t, i);
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/external-action.types.cjs`),r=require(`../../types/admin.types.cjs`);require(`../../types/index.cjs`);const i=require(`../../error-handling/error-codes.constants.cjs`),a=require(`../../functions/web3/etherFunctions.cjs`),o=require(`../crypto-keys/keys.cjs`),s=require(`../../functions/utils/time.utils.cjs`),c=require(`../utxo/Utxo.cjs`),l=require(`../../functions/utils/token-check.utils.cjs`),u=require(`../../functions/snarkjs/common.snarkjs.cjs`),d=require(`../../functions/pre-transaction/constructAdminData.cjs`),f=require(`../../functions/pre-transaction/getFeeStructure.cjs`),p=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`);require(`../../functions/pre-transaction/index.cjs`);const m=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),h=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`);let g=require(`ethers`);var _=async(_,v,y,b,x)=>{let S=l.validateAndGetChainId([v]),C=v.erc20TokenAddress;if(y.getTokenAddress(S)!==C)throw Error(`Off-chain UTXO token mismatch`);if(!y.shieldedPrivateKey)throw Error(`Claimable UTXO shieldedPrivateKey is missing`);let{originalDeployer:w,hinkalIdl:T}=e.networkRegistry[S].contractData;if(!w||!T)throw Error(`missing data`);let E=new o.UserKeys(void 0,y.shieldedPrivateKey),D=new c.Utxo({amount:y.amount,erc20TokenAddress:y.erc20TokenAddress,mintAddress:y.mintAddress,timeStamp:y.timeStamp,tokenId:y.tokenId,randomization:y.randomization,shieldedPrivateKey:E.getShieldedPrivateKey()}),O=b??await f.getFeeStructure(S,C,[C],n.ExternalActionId.Transact,void 0,void 0,{mintTo:C,nullifierCount:1});if(O.feeToken!==C)throw Error(`Claim fee token mismatch: fee must be paid from claimed UTXO token`);let k=O.variableRate>0n?O.variableRate:t.HINKAL_PRIVATE_SEND_VARIABLE_RATE;if(D.amount<=O.flatFee)throw Error(i.transactionErrorCodes.INSUFFICIENT_FUNDS_TO_TRANSACT);let A=D.amount-O.flatFee,j=A*k/10000n,M=A-j;if(M<=0n)throw Error(i.transactionErrorCodes.RECIPIENT_AMOUNT_INVALID);let N=O.flatFee+j,[P,F,I]=_.getRecipientInfo().split(`,`);if(!P||!F||!I)throw Error(`Invalid recipient info`);let L=s.getCurrentTimeInSeconds().toString(),R=new c.Utxo({amount:0n,erc20TokenAddress:D.erc20TokenAddress,mintAddress:D.mintAddress,tokenId:D.tokenId,shieldedPrivateKey:E.getShieldedPrivateKey()}),z=new c.Utxo({amount:0n,erc20TokenAddress:D.erc20TokenAddress,mintAddress:D.mintAddress,tokenId:D.tokenId,shieldedPrivateKey:E.getShieldedPrivateKey(),timeStamp:L}),B=new c.Utxo({amount:M,erc20TokenAddress:D.erc20TokenAddress,mintAddress:D.mintAddress,tokenId:D.tokenId,timeStamp:L,randomization:BigInt(P),stealthAddress:F,encryptionKey:I}),V=[D,R],H=[z,B],U=await _.getRandomRelay(S,!0);if(!U)throw Error(i.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let W=c.Utxo.findCorrectRandomization(a.randomBigInt(31),E.getShieldedPrivateKey()),G={tokenNumber:1,nullifierAmount:V.length,outputAmount:H.length},K=u.calcEncryptedOutputs([H])[0].map(e=>Array.from(g.ethers.getBytes(e))),q=_.getSolanaProgram(T),[{proofAArr:J,proofBArr:Y,proofCArr:X,publicInputsArr:Z},Q]=await Promise.all([m.constructSolanaZkProof(_.generateProofRemotely,w,_.merkleTreeHinkalByChain[S],_.merkleTreeAccessTokenByChain[S],E,q,[C],[V],[H],W,N,0n,t.solanaNativeAddress,U,G,K,S),p.buildCommitmentValidationData(S,E,[C],[V])]),$={recipient:U,mint:C===`11111111111111111111111111111111`?void 0:C};return h.solanaTransactCallRelayer({chainId:S,relayAddress:U,functionName:`transfer`,args:{proofAArr:J,proofBArr:Y,proofCArr:X,publicInputsArr:Z,encryptedOutputs:K,relayerFee:N.toString(),dimensions:G},accounts:$,adminData:d.constructAdminData(x??r.AdminTransactionType.ClaimUtxo,S,[C],[-A],await _.getEthereumAddress()),commitmentValidationData:Q})};exports.hinkalSolanaClaimUtxo=_;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/external-action.types.cjs`),r=require(`../../types/admin.types.cjs`),i=require(`../../error-handling/error-codes.constants.cjs`),a=require(`../../functions/web3/etherFunctions.cjs`),o=require(`../crypto-keys/keys.cjs`),s=require(`../../functions/utils/time.utils.cjs`),c=require(`../utxo/Utxo.cjs`),l=require(`../../functions/utils/token-check.utils.cjs`),u=require(`../../functions/snarkjs/common.snarkjs.cjs`),d=require(`../../functions/pre-transaction/constructAdminData.cjs`),f=require(`../../functions/pre-transaction/getFeeStructure.cjs`),p=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`),m=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),h=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`);let g=require(`ethers`);var _=async(_,v,y,b,x)=>{let S=l.validateAndGetChainId([v]),C=v.erc20TokenAddress;if(y.getTokenAddress(S)!==C)throw Error(`Off-chain UTXO token mismatch`);if(!y.shieldedPrivateKey)throw Error(`Claimable UTXO shieldedPrivateKey is missing`);let{originalDeployer:w,hinkalIdl:T}=e.networkRegistry[S].contractData;if(!w||!T)throw Error(`missing data`);let E=new o.UserKeys(void 0,y.shieldedPrivateKey),D=new c.Utxo({amount:y.amount,erc20TokenAddress:y.erc20TokenAddress,mintAddress:y.mintAddress,timeStamp:y.timeStamp,tokenId:y.tokenId,randomization:y.randomization,shieldedPrivateKey:E.getShieldedPrivateKey()}),O=b??await f.getFeeStructure(S,C,[C],n.ExternalActionId.Transact,void 0,void 0,{mintTo:C,nullifierCount:1});if(O.feeToken!==C)throw Error(`Claim fee token mismatch: fee must be paid from claimed UTXO token`);let k=O.variableRate>0n?O.variableRate:t.HINKAL_PRIVATE_SEND_VARIABLE_RATE;if(D.amount<=O.flatFee)throw Error(i.transactionErrorCodes.INSUFFICIENT_FUNDS_TO_TRANSACT);let A=D.amount-O.flatFee,j=A*k/10000n,M=A-j;if(M<=0n)throw Error(i.transactionErrorCodes.RECIPIENT_AMOUNT_INVALID);let N=O.flatFee+j,[P,F,I]=_.getRecipientInfo().split(`,`);if(!P||!F||!I)throw Error(`Invalid recipient info`);let L=s.getCurrentTimeInSeconds().toString(),R=new c.Utxo({amount:0n,erc20TokenAddress:D.erc20TokenAddress,mintAddress:D.mintAddress,tokenId:D.tokenId,shieldedPrivateKey:E.getShieldedPrivateKey()}),z=new c.Utxo({amount:0n,erc20TokenAddress:D.erc20TokenAddress,mintAddress:D.mintAddress,tokenId:D.tokenId,shieldedPrivateKey:E.getShieldedPrivateKey(),timeStamp:L}),B=new c.Utxo({amount:M,erc20TokenAddress:D.erc20TokenAddress,mintAddress:D.mintAddress,tokenId:D.tokenId,timeStamp:L,randomization:BigInt(P),stealthAddress:F,encryptionKey:I}),V=[D,R],H=[z,B],U=await _.getRandomRelay(S,!0);if(!U)throw Error(i.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let W=c.Utxo.findCorrectRandomization(a.randomBigInt(31),E.getShieldedPrivateKey()),G={tokenNumber:1,nullifierAmount:V.length,outputAmount:H.length},K=u.calcEncryptedOutputs([H])[0].map(e=>Array.from(g.ethers.getBytes(e))),q=_.getSolanaProgram(T),[{proofAArr:J,proofBArr:Y,proofCArr:X,publicInputsArr:Z},Q]=await Promise.all([m.constructSolanaZkProof(_.generateProofRemotely,w,_.merkleTreeHinkalByChain[S],_.merkleTreeAccessTokenByChain[S],E,q,[C],[V],[H],W,N,0n,t.solanaNativeAddress,U,G,K,S),p.buildCommitmentValidationData(S,E,[C],[V])]),$={recipient:U,mint:C===`11111111111111111111111111111111`?void 0:C};return h.solanaTransactCallRelayer({chainId:S,relayAddress:U,functionName:`transfer`,args:{proofAArr:J,proofBArr:Y,proofCArr:X,publicInputsArr:Z,encryptedOutputs:K,relayerFee:N.toString(),dimensions:G},accounts:$,adminData:d.constructAdminData(x??r.AdminTransactionType.ClaimUtxo,S,[C],[-A],await _.getEthereumAddress()),commitmentValidationData:Q})};exports.hinkalSolanaClaimUtxo=_;
@@ -2,7 +2,6 @@ import { networkRegistry as e } from "../../constants/chains.constants.mjs";
2
2
  import { HINKAL_PRIVATE_SEND_VARIABLE_RATE as t, solanaNativeAddress as n } from "../../constants/protocol.constants.mjs";
3
3
  import { ExternalActionId as r } from "../../types/external-action.types.mjs";
4
4
  import { AdminTransactionType as i } from "../../types/admin.types.mjs";
5
- import "../../types/index.mjs";
6
5
  import { transactionErrorCodes as a } from "../../error-handling/error-codes.constants.mjs";
7
6
  import { randomBigInt as o } from "../../functions/web3/etherFunctions.mjs";
8
7
  import { UserKeys as s } from "../crypto-keys/keys.mjs";
@@ -13,7 +12,6 @@ import { calcEncryptedOutputs as d } from "../../functions/snarkjs/common.snarkj
13
12
  import { constructAdminData as f } from "../../functions/pre-transaction/constructAdminData.mjs";
14
13
  import { getFeeStructure as p } from "../../functions/pre-transaction/getFeeStructure.mjs";
15
14
  import { buildCommitmentValidationData as m } from "../../functions/pre-transaction/buildCommitmentValidationData.mjs";
16
- import "../../functions/pre-transaction/index.mjs";
17
15
  import { constructSolanaZkProof as h } from "../../functions/snarkjs/constructSolanaZkProof.mjs";
18
16
  import { solanaTransactCallRelayer as g } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
19
17
  import { ethers as _ } from "ethers";
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`);require(`../../constants/protocol.constants.cjs`);const t=require(`../../functions/pre-transaction/solana.cjs`),n=require(`./hinkalCheckSolanaTokenRegistry.cjs`),r=require(`../../types/admin.types.cjs`),i=require(`../../error-handling/error-codes.constants.cjs`),a=require(`../../functions/web3/etherFunctions.cjs`),o=require(`../utxo/Utxo.cjs`),s=require(`../../functions/utils/solanaMint.utils.cjs`),c=require(`../../functions/utils/addresses.cjs`),l=require(`../../API/API.cjs`),u=require(`../../functions/utils/token-check.utils.cjs`),d=require(`../../functions/snarkjs/common.snarkjs.cjs`),f=require(`../../functions/pre-transaction/constructAdminData.cjs`),p=require(`../../error-handling/retrySolanaError.cjs`),m=require(`../../API/admin-calls.cjs`);require(`../../API/index.cjs`);const h=require(`../../functions/web3/signAndSendSerializedTransaction.cjs`);let g=require(`@coral-xyz/anchor`),_=require(`@solana/web3.js`);var v=async(r,i,a,o,c)=>{if(a.length===0)throw Error(`amounts must not be empty`);if(a.length!==o.length)throw Error(`amounts and stealthAddressStructures length mismatch`);if(a.some(e=>e<=0n))throw Error(`all amounts must be positive`);let d=u.validateAndGetChainId([i]),v=i.erc20TokenAddress,{hinkalIdl:y,hinkalAddress:b,originalDeployer:x}=e.networkRegistry[d].contractData;if(!y)throw Error(`No IDL configured for Solana program on this network`);if(!x)throw Error(`missing original deployer`);let S=f.constructAdminData(c,d,Array(a.length).fill(v),a,await r.getEthereumAddress()),C=r.getSolanaProgram(y),w=r.getSolanaPublicKey(),T=new _.PublicKey(x),E=new _.PublicKey(b),{mintPublicKey:D}=s.formatMintAddress(v),O=D.toString(),k=t.getStorageAccountPublicKey(E,T),A=t.getStorageVaultPublicKey(E,T),j=t.getMerkleAccountPublicKey(E,T),M=o.map(e=>t.buildAnchorStealthAddressStructure(e)),N=a.reduce((e,t)=>e+t,0n),P=await n.hinkalCheckSolanaTokenRegistry(C,new _.PublicKey(T),[v],[N]),F=a.map(e=>e.toString()),I=t.getTokenLimitStorageAccountPublicKey(C.programId,T,D),L=O===`11111111111111111111111111111111`?null:D,R=O===`11111111111111111111111111111111`?null:void 0;for(let e=0;e<10;e+=1){let t=e===9;try{if(P){let{serializedTransaction:e,blockhash:t,lastValidBlockHeight:n}=await l.API.generateMultiPaymentDepositLimitless({amounts:F,payer:w.toBase58(),ethereumAddress:await r.getEthereumAddressByChain(d),mint:v,stealthAddressStructures:M,chainId:d,createBlockedUtxos:!1}),i=await h.signAndSendSerializedTransaction(C.provider,e,t,n);return await m.emitTxPublicData(S),i}let e=await C.methods.multiPaymentDeposit(F.map(e=>new g.BN(e)),M,!1).accounts({mint:L,signer:w,signerAta:R,originalDeployer:T,storageAccount:k,storageVault:A,merkleAccount:j,tokenLimitStorage:I,storageVaultAta:R,accessTokenOwner:null}).rpc();return await m.emitTxPublicData(S),e}catch(e){if(p.shouldRetryForSolanaError(e)&&!t)continue;throw e}}return``},y=async(e,t,n)=>{let i=e.userKeys.getShieldedPrivateKey(),s=d.calcStealthAddressStructure(o.Utxo.findCorrectRandomization(a.randomBigInt(31),i),i);return v(e,n,[t],[s],r.AdminTransactionType.ProoflessDeposit)},b=async(e,t,n,a)=>{if(!c.isValidPrivateAddress(a))throw Error(i.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);let o=c.constructStealthAddressStructure(a);return v(e,n,[t],[o],r.AdminTransactionType.PaymentLink)};exports.hinkalSolanaDeposit=y,exports.hinkalSolanaDepositForOther=b,exports.submitSolanaProoflessDeposit=v;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`);require(`../../constants/protocol.constants.cjs`);const t=require(`../../functions/pre-transaction/solana.cjs`),n=require(`./hinkalCheckSolanaTokenRegistry.cjs`),r=require(`../../types/admin.types.cjs`),i=require(`../../error-handling/error-codes.constants.cjs`),a=require(`../../functions/web3/etherFunctions.cjs`),o=require(`../utxo/Utxo.cjs`),s=require(`../../functions/utils/solanaMint.utils.cjs`),c=require(`../../functions/utils/addresses.cjs`),l=require(`../../API/API.cjs`),u=require(`../../functions/utils/token-check.utils.cjs`),d=require(`../../functions/snarkjs/common.snarkjs.cjs`),f=require(`../../functions/pre-transaction/constructAdminData.cjs`),p=require(`../../error-handling/retrySolanaError.cjs`),m=require(`../../API/admin-calls.cjs`),h=require(`../../functions/web3/signAndSendSerializedTransaction.cjs`);let g=require(`@coral-xyz/anchor`),_=require(`@solana/web3.js`);var v=async(r,i,a,o,c)=>{if(a.length===0)throw Error(`amounts must not be empty`);if(a.length!==o.length)throw Error(`amounts and stealthAddressStructures length mismatch`);if(a.some(e=>e<=0n))throw Error(`all amounts must be positive`);let d=u.validateAndGetChainId([i]),v=i.erc20TokenAddress,{hinkalIdl:y,hinkalAddress:b,originalDeployer:x}=e.networkRegistry[d].contractData;if(!y)throw Error(`No IDL configured for Solana program on this network`);if(!x)throw Error(`missing original deployer`);let S=f.constructAdminData(c,d,Array(a.length).fill(v),a,await r.getEthereumAddress()),C=r.getSolanaProgram(y),w=r.getSolanaPublicKey(),T=new _.PublicKey(x),E=new _.PublicKey(b),{mintPublicKey:D}=s.formatMintAddress(v),O=D.toString(),k=t.getStorageAccountPublicKey(E,T),A=t.getStorageVaultPublicKey(E,T),j=t.getMerkleAccountPublicKey(E,T),M=o.map(e=>t.buildAnchorStealthAddressStructure(e)),N=a.reduce((e,t)=>e+t,0n),P=await n.hinkalCheckSolanaTokenRegistry(C,new _.PublicKey(T),[v],[N]),F=a.map(e=>e.toString()),I=t.getTokenLimitStorageAccountPublicKey(C.programId,T,D),L=O===`11111111111111111111111111111111`?null:D,R=O===`11111111111111111111111111111111`?null:void 0;for(let e=0;e<10;e+=1){let t=e===9;try{if(P){let{serializedTransaction:e,blockhash:t,lastValidBlockHeight:n}=await l.API.generateMultiPaymentDepositLimitless({amounts:F,payer:w.toBase58(),ethereumAddress:await r.getEthereumAddressByChain(d),mint:v,stealthAddressStructures:M,chainId:d,createBlockedUtxos:!1}),i=await h.signAndSendSerializedTransaction(C.provider,e,t,n);return await m.emitTxPublicData(S),i}let e=await C.methods.multiPaymentDeposit(F.map(e=>new g.BN(e)),M,!1).accounts({mint:L,signer:w,signerAta:R,originalDeployer:T,storageAccount:k,storageVault:A,merkleAccount:j,tokenLimitStorage:I,storageVaultAta:R,accessTokenOwner:null}).rpc();return await m.emitTxPublicData(S),e}catch(e){if(p.shouldRetryForSolanaError(e)&&!t)continue;throw e}}return``},y=async(e,t,n)=>{let i=e.userKeys.getShieldedPrivateKey(),s=d.calcStealthAddressStructure(o.Utxo.findCorrectRandomization(a.randomBigInt(31),i),i);return v(e,n,[t],[s],r.AdminTransactionType.ProoflessDeposit)},b=async(e,t,n,a)=>{if(!c.isValidPrivateAddress(a))throw Error(i.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);let o=c.constructStealthAddressStructure(a);return v(e,n,[t],[o],r.AdminTransactionType.PaymentLink)};exports.hinkalSolanaDeposit=y,exports.hinkalSolanaDepositForOther=b,exports.submitSolanaProoflessDeposit=v;
@@ -14,7 +14,6 @@ import { calcStealthAddressStructure as g } from "../../functions/snarkjs/common
14
14
  import { constructAdminData as _ } from "../../functions/pre-transaction/constructAdminData.mjs";
15
15
  import { shouldRetryForSolanaError as v } from "../../error-handling/retrySolanaError.mjs";
16
16
  import { emitTxPublicData as y } from "../../API/admin-calls.mjs";
17
- import "../../API/index.mjs";
18
17
  import { signAndSendSerializedTransaction as b } from "../../functions/web3/signAndSendSerializedTransaction.mjs";
19
18
  import { BN as x } from "@coral-xyz/anchor";
20
19
  import { PublicKey as S } from "@solana/web3.js";