@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(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../functions/pre-transaction/solana.cjs`),r=require(`./hinkalCheckSolanaTokenRegistry.cjs`),i=require(`../../types/external-action.types.cjs`),a=require(`../../types/scheduled-transactions.types.cjs`);require(`../../types/index.cjs`);const o=require(`../../error-handling/error-codes.constants.cjs`),s=require(`../../functions/web3/etherFunctions.cjs`),c=require(`../../functions/utils/time.utils.cjs`),l=require(`../utxo/Utxo.cjs`),u=require(`../../functions/utils/solanaMint.utils.cjs`),d=require(`../../functions/utils/addresses.cjs`),f=require(`../../API/API.cjs`),p=require(`../../functions/utils/token-check.utils.cjs`),m=require(`../../functions/snarkjs/common.snarkjs.cjs`),h=require(`../../functions/utils/fees.utils.cjs`),g=require(`../../functions/pre-transaction/constructAdminData.cjs`),_=require(`../../functions/pre-transaction/sendV0Transaction.cjs`),v=require(`../../functions/pre-transaction/getFeeStructure.cjs`),y=require(`../../functions/pre-transaction/waitForDepositedUtxosInMerkleTree.cjs`),b=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`);require(`../../functions/pre-transaction/index.cjs`);const x=require(`../../functions/utils/getUtxosFromReceiptSolana.cjs`),S=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),C=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),w=require(`../../API/deposit-and-withdraw-status-calls.cjs`),T=require(`../../functions/web3/signAndSendSerializedTransaction.cjs`);require(`../../functions/web3/index.cjs`),require(`../../functions/index.cjs`);let E=require(`ethers`),D=require(`@coral-xyz/anchor`),O=require(`@solana/web3.js`);var k=async(t,i,o,c,d,p,g)=>{let v=o.erc20TokenAddress,y=c.map(e=>e+h.calculateTotalFee(e,p)),{hinkalIdl:b,hinkalAddress:S,originalDeployer:C}=e.networkRegistry[i].contractData;if(!b)throw Error(`No IDL configured for Solana program on this network`);if(!C)throw Error(`missing original deployer`);let E=t.userKeys.getShieldedPrivateKey(),k=t.getSolanaProgram(b),A=t.getSolanaPublicKey(),j=new O.PublicKey(C),M=new O.PublicKey(S),{mintPublicKey:N}=u.formatMintAddress(v),P=N.toString(),F=n.getStorageAccountPublicKey(M,j),I=n.getStorageVaultPublicKey(M,j),L=n.getMerkleAccountPublicKey(M,j),R=y.map(()=>n.buildAnchorStealthAddressStructure(m.calcStealthAddressStructure(l.Utxo.findCorrectRandomization(s.randomBigInt(31),E),E))),z=y.reduce((e,t)=>e+t,0n),B=await r.hinkalCheckSolanaTokenRegistry(k,new O.PublicKey(j),[v],[z]),V=y.map(e=>`${e}`),H=``,U=(await w.updateDepositAndWithdrawStatus({chainId:i,hashedEthereumAddress:g,phase:a.DepositAndWithdrawPhase.BEFORE_DEPOSIT})).id??void 0;if(B){let{serializedTransaction:e,blockhash:n,lastValidBlockHeight:r}=await f.API.generateMultiPaymentDepositLimitless({amounts:V,payer:t.getSolanaPublicKey().toBase58(),ethereumAddress:await t.getEthereumAddressByChain(i),mint:v,stealthAddressStructures:R,chainId:i,createBlockedUtxos:!0}),{wallet:a}=k.provider;if(!a)throw Error(`missing wallet`);H=await T.signAndSendSerializedTransaction(k.provider,e,n,r)}else{let e=n.getTokenLimitStorageAccountPublicKey(k.programId,j,N),t=P===`11111111111111111111111111111111`?null:N,r=P===`11111111111111111111111111111111`?null:void 0;H=await k.methods.multiPaymentDeposit(V.map(e=>new D.BN(e)),R,!0).accounts({mint:t,signer:A,signerAta:r,originalDeployer:j,storageAccount:F,storageVault:I,merkleAccount:L,tokenLimitStorage:e,storageVaultAta:r,accessTokenOwner:null}).rpc();let i=await k.provider.connection.getLatestBlockhash();await k.provider.connection.confirmTransaction({blockhash:i.blockhash,lastValidBlockHeight:i.lastValidBlockHeight,signature:H},`finalized`)}let W=await _.fetchSolanaTransaction(k.provider.connection,H,`finalized`);if(!W)throw Error(`Transaction missing`);await w.safeUpdateDepositAndWithdrawStatus({id:U,chainId:i,hashedEthereumAddress:g,phase:a.DepositAndWithdrawPhase.AFTER_DEPOSIT,depositTxHash:H});let{compressedAddress:G}=u.formatMintAddress(o.erc20TokenAddress),K=x.getOnChainUtxosFromReceiptSolana(W,k,t.userKeys,G),q=[],J=[...K];return d.forEach((e,t)=>{let n=y[t],r=J.find(e=>e.amount===n);if(!r)throw Error(`Could not find newly created UTXO with amount ${n} for recipient ${e}.`);q.push({recipientAddress:e,utxo:r});let i=J.indexOf(r);J.splice(i,1)}),{userDepositedUtxos:q,depositTxHash:H,statusId:U}},A=async(n,r,i,d,f,p,_,v,y,x,T,D)=>{let O=i.erc20TokenAddress;if(d.length===0)throw Error(`userDepositedUtxos must not be empty`);let{hinkalIdl:k,originalDeployer:A}=e.networkRegistry[r].contractData;if(!A||!k)throw Error(`missing data`);let j=n.getSolanaProgram(k),M=await n.getRandomRelay(r,!0);if(!M)throw Error(o.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let N=c.getCurrentTimeInSeconds().toString(),P=n.generateProofRemotely?5:1,F=[];for(let e=0;e<d.length;e+=P){let i=d.slice(e,e+P),a=await Promise.all(i.map(async({recipientAddress:e,utxo:i},a)=>{let{compressedAddress:o}=u.formatMintAddress(t.solanaNativeAddress),c=new l.Utxo({amount:0n,mintAddress:O,erc20TokenAddress:o,shieldedPrivateKey:n.userKeys.getShieldedPrivateKey(),timeStamp:N,tokenId:0}),d=[i,c],p=[c],v=l.Utxo.findCorrectRandomization(s.randomBigInt(31),n.userKeys.getShieldedPrivateKey()),y={tokenNumber:1,nullifierAmount:d.length,outputAmount:p.length},x=m.calcEncryptedOutputs([p])[0][0],C=Array.from(E.ethers.getBytes(x)),w=h.calculateTotalFee(_[a],f),D={feeToken:f.feeToken,flatFee:w,variableRate:0n},k=g.constructAdminData(T,r,[O],[_[a]],await n.getEthereumAddress()),[{proofAArr:P,proofBArr:F,proofCArr:I,publicInputsArr:L},R]=await Promise.all([S.constructSolanaZkProof(n.generateProofRemotely,A,n.merkleTreeHinkalByChain[r],n.merkleTreeAccessTokenByChain[r],n.userKeys,j,[O],[d],[p],v,D.flatFee,D.variableRate,e,M,y,[C],r),b.buildCommitmentValidationData(r,n.userKeys,[O],[d])]),z={recipient:e,mint:O===`11111111111111111111111111111111`?void 0:O};return{relayAddress:M,functionName:`transact`,chainId:r,recipientAmount:_[a].toString(),args:{proofAArr:P,proofBArr:F,proofCArr:I,publicInputsArr:L,encryptedOutputs:[C],relayerFee:D.flatFee.toString(),dimensions:y},accounts:z,adminData:k,commitmentValidationData:R}}));F.push(...a)}await w.safeUpdateDepositAndWithdrawStatus({id:v,chainId:r,hashedEthereumAddress:p,phase:a.DepositAndWithdrawPhase.BEFORE_SCHEDULE_WITHDRAW});let I=await C.solanaTransactCallRelayerBatch(r,F,p,y,x,D);return await w.safeUpdateDepositAndWithdrawStatus({id:v,chainId:r,hashedEthereumAddress:p,phase:a.DepositAndWithdrawPhase.AFTER_SCHEDULE_WITHDRAW,scheduleId:I}),I},j=async(e,t,n,r,a,o,s,c,l)=>{let u=p.validateAndGetChainId([t]),f=t.erc20TokenAddress,m=d.hashEthereumAddress(await e.getEthereumAddressByChain(u)),h=l?d.hashString(l):void 0,g=o??await v.getFeeStructure(u,f,[f],i.ExternalActionId.Transact,[],5n),{userDepositedUtxos:_,depositTxHash:b,statusId:x}=await k(e,u,t,n,r,g,m);return await y.waitForDepositedUtxosInMerkleTree(e,u,_),await A(e,u,t,_,g,m,n,x,a,s,c,h),b};exports.hinkalSolanaDepositAndWithdraw=j;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../functions/pre-transaction/solana.cjs`),r=require(`./hinkalCheckSolanaTokenRegistry.cjs`),i=require(`../../types/external-action.types.cjs`),a=require(`../../types/scheduled-transactions.types.cjs`),o=require(`../../error-handling/error-codes.constants.cjs`),s=require(`../../functions/web3/etherFunctions.cjs`),c=require(`../../functions/utils/time.utils.cjs`),l=require(`../utxo/Utxo.cjs`),u=require(`../../functions/utils/solanaMint.utils.cjs`),d=require(`../../functions/utils/addresses.cjs`),f=require(`../../API/API.cjs`),p=require(`../../functions/utils/token-check.utils.cjs`),m=require(`../../functions/snarkjs/common.snarkjs.cjs`),h=require(`../../functions/utils/fees.utils.cjs`),g=require(`../../functions/pre-transaction/constructAdminData.cjs`),_=require(`../../functions/pre-transaction/sendV0Transaction.cjs`),v=require(`../../functions/pre-transaction/getFeeStructure.cjs`),y=require(`../../functions/pre-transaction/waitForDepositedUtxosInMerkleTree.cjs`),b=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`),x=require(`../../functions/utils/getUtxosFromReceiptSolana.cjs`),S=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),C=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),w=require(`../../API/deposit-and-withdraw-status-calls.cjs`),T=require(`../../functions/web3/signAndSendSerializedTransaction.cjs`);let E=require(`ethers`),D=require(`@coral-xyz/anchor`),O=require(`@solana/web3.js`);var k=async(t,i,o,c,d,p,g)=>{let v=o.erc20TokenAddress,y=c.map(e=>e+h.calculateTotalFee(e,p)),{hinkalIdl:b,hinkalAddress:S,originalDeployer:C}=e.networkRegistry[i].contractData;if(!b)throw Error(`No IDL configured for Solana program on this network`);if(!C)throw Error(`missing original deployer`);let E=t.userKeys.getShieldedPrivateKey(),k=t.getSolanaProgram(b),A=t.getSolanaPublicKey(),j=new O.PublicKey(C),M=new O.PublicKey(S),{mintPublicKey:N}=u.formatMintAddress(v),P=N.toString(),F=n.getStorageAccountPublicKey(M,j),I=n.getStorageVaultPublicKey(M,j),L=n.getMerkleAccountPublicKey(M,j),R=y.map(()=>n.buildAnchorStealthAddressStructure(m.calcStealthAddressStructure(l.Utxo.findCorrectRandomization(s.randomBigInt(31),E),E))),z=y.reduce((e,t)=>e+t,0n),B=await r.hinkalCheckSolanaTokenRegistry(k,new O.PublicKey(j),[v],[z]),V=y.map(e=>`${e}`),H=``,U=(await w.updateDepositAndWithdrawStatus({chainId:i,hashedEthereumAddress:g,phase:a.DepositAndWithdrawPhase.BEFORE_DEPOSIT})).id??void 0;if(B){let{serializedTransaction:e,blockhash:n,lastValidBlockHeight:r}=await f.API.generateMultiPaymentDepositLimitless({amounts:V,payer:t.getSolanaPublicKey().toBase58(),ethereumAddress:await t.getEthereumAddressByChain(i),mint:v,stealthAddressStructures:R,chainId:i,createBlockedUtxos:!0}),{wallet:a}=k.provider;if(!a)throw Error(`missing wallet`);H=await T.signAndSendSerializedTransaction(k.provider,e,n,r)}else{let e=n.getTokenLimitStorageAccountPublicKey(k.programId,j,N),t=P===`11111111111111111111111111111111`?null:N,r=P===`11111111111111111111111111111111`?null:void 0;H=await k.methods.multiPaymentDeposit(V.map(e=>new D.BN(e)),R,!0).accounts({mint:t,signer:A,signerAta:r,originalDeployer:j,storageAccount:F,storageVault:I,merkleAccount:L,tokenLimitStorage:e,storageVaultAta:r,accessTokenOwner:null}).rpc();let i=await k.provider.connection.getLatestBlockhash();await k.provider.connection.confirmTransaction({blockhash:i.blockhash,lastValidBlockHeight:i.lastValidBlockHeight,signature:H},`finalized`)}let W=await _.fetchSolanaTransaction(k.provider.connection,H,`finalized`);if(!W)throw Error(`Transaction missing`);await w.safeUpdateDepositAndWithdrawStatus({id:U,chainId:i,hashedEthereumAddress:g,phase:a.DepositAndWithdrawPhase.AFTER_DEPOSIT,depositTxHash:H});let{compressedAddress:G}=u.formatMintAddress(o.erc20TokenAddress),K=x.getOnChainUtxosFromReceiptSolana(W,k,t.userKeys,G),q=[],J=[...K];return d.forEach((e,t)=>{let n=y[t],r=J.find(e=>e.amount===n);if(!r)throw Error(`Could not find newly created UTXO with amount ${n} for recipient ${e}.`);q.push({recipientAddress:e,utxo:r});let i=J.indexOf(r);J.splice(i,1)}),{userDepositedUtxos:q,depositTxHash:H,statusId:U}},A=async(n,r,i,d,f,p,_,v,y,x,T,D)=>{let O=i.erc20TokenAddress;if(d.length===0)throw Error(`userDepositedUtxos must not be empty`);let{hinkalIdl:k,originalDeployer:A}=e.networkRegistry[r].contractData;if(!A||!k)throw Error(`missing data`);let j=n.getSolanaProgram(k),M=await n.getRandomRelay(r,!0);if(!M)throw Error(o.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let N=c.getCurrentTimeInSeconds().toString(),P=n.generateProofRemotely?5:1,F=[];for(let e=0;e<d.length;e+=P){let i=d.slice(e,e+P),a=await Promise.all(i.map(async({recipientAddress:e,utxo:i},a)=>{let{compressedAddress:o}=u.formatMintAddress(t.solanaNativeAddress),c=new l.Utxo({amount:0n,mintAddress:O,erc20TokenAddress:o,shieldedPrivateKey:n.userKeys.getShieldedPrivateKey(),timeStamp:N,tokenId:0}),d=[i,c],p=[c],v=l.Utxo.findCorrectRandomization(s.randomBigInt(31),n.userKeys.getShieldedPrivateKey()),y={tokenNumber:1,nullifierAmount:d.length,outputAmount:p.length},x=m.calcEncryptedOutputs([p])[0][0],C=Array.from(E.ethers.getBytes(x)),w=h.calculateTotalFee(_[a],f),D={feeToken:f.feeToken,flatFee:w,variableRate:0n},k=g.constructAdminData(T,r,[O],[_[a]],await n.getEthereumAddress()),[{proofAArr:P,proofBArr:F,proofCArr:I,publicInputsArr:L},R]=await Promise.all([S.constructSolanaZkProof(n.generateProofRemotely,A,n.merkleTreeHinkalByChain[r],n.merkleTreeAccessTokenByChain[r],n.userKeys,j,[O],[d],[p],v,D.flatFee,D.variableRate,e,M,y,[C],r),b.buildCommitmentValidationData(r,n.userKeys,[O],[d])]),z={recipient:e,mint:O===`11111111111111111111111111111111`?void 0:O};return{relayAddress:M,functionName:`transact`,chainId:r,recipientAmount:_[a].toString(),args:{proofAArr:P,proofBArr:F,proofCArr:I,publicInputsArr:L,encryptedOutputs:[C],relayerFee:D.flatFee.toString(),dimensions:y},accounts:z,adminData:k,commitmentValidationData:R}}));F.push(...a)}await w.safeUpdateDepositAndWithdrawStatus({id:v,chainId:r,hashedEthereumAddress:p,phase:a.DepositAndWithdrawPhase.BEFORE_SCHEDULE_WITHDRAW});let I=await C.solanaTransactCallRelayerBatch(r,F,p,y,x,D);return await w.safeUpdateDepositAndWithdrawStatus({id:v,chainId:r,hashedEthereumAddress:p,phase:a.DepositAndWithdrawPhase.AFTER_SCHEDULE_WITHDRAW,scheduleId:I}),I},j=async(e,t,n,r,a,o,s,c,l)=>{let u=p.validateAndGetChainId([t]),f=t.erc20TokenAddress,m=d.hashEthereumAddress(await e.getEthereumAddressByChain(u)),h=l?d.hashString(l):void 0,g=o??await v.getFeeStructure(u,f,[f],i.ExternalActionId.Transact,[],5n),{userDepositedUtxos:_,depositTxHash:b,statusId:x}=await k(e,u,t,n,r,g,m);return await y.waitForDepositedUtxosInMerkleTree(e,u,_),await A(e,u,t,_,g,m,n,x,a,s,c,h),b};exports.hinkalSolanaDepositAndWithdraw=j;
@@ -4,7 +4,6 @@ import { buildAnchorStealthAddressStructure as n, getMerkleAccountPublicKey as r
4
4
  import { hinkalCheckSolanaTokenRegistry as s } from "./hinkalCheckSolanaTokenRegistry.mjs";
5
5
  import { ExternalActionId as c } from "../../types/external-action.types.mjs";
6
6
  import { DepositAndWithdrawPhase as l } from "../../types/scheduled-transactions.types.mjs";
7
- import "../../types/index.mjs";
8
7
  import { transactionErrorCodes as u } from "../../error-handling/error-codes.constants.mjs";
9
8
  import { randomBigInt as d } from "../../functions/web3/etherFunctions.mjs";
10
9
  import { getCurrentTimeInSeconds as f } from "../../functions/utils/time.utils.mjs";
@@ -20,14 +19,11 @@ import { fetchSolanaTransaction as C } from "../../functions/pre-transaction/sen
20
19
  import { getFeeStructure as w } from "../../functions/pre-transaction/getFeeStructure.mjs";
21
20
  import { waitForDepositedUtxosInMerkleTree as T } from "../../functions/pre-transaction/waitForDepositedUtxosInMerkleTree.mjs";
22
21
  import { buildCommitmentValidationData as E } from "../../functions/pre-transaction/buildCommitmentValidationData.mjs";
23
- import "../../functions/pre-transaction/index.mjs";
24
22
  import { getOnChainUtxosFromReceiptSolana as D } from "../../functions/utils/getUtxosFromReceiptSolana.mjs";
25
23
  import { constructSolanaZkProof as O } from "../../functions/snarkjs/constructSolanaZkProof.mjs";
26
24
  import { solanaTransactCallRelayerBatch as k } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
27
25
  import { safeUpdateDepositAndWithdrawStatus as A, updateDepositAndWithdrawStatus as j } from "../../API/deposit-and-withdraw-status-calls.mjs";
28
26
  import { signAndSendSerializedTransaction as M } from "../../functions/web3/signAndSendSerializedTransaction.mjs";
29
- import "../../functions/web3/index.mjs";
30
- import "../../functions/index.mjs";
31
27
  import { ethers as N } from "ethers";
32
28
  import { BN as P } from "@coral-xyz/anchor";
33
29
  import { PublicKey as F } from "@solana/web3.js";
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../types/external-action.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/token-check.utils.cjs`),a=require(`../../functions/utils/create-provider.cjs`),o=require(`../../functions/pre-transaction/constructAdminData.cjs`),s=require(`../AccountActions/AccountActions.cjs`),c=require(`../../functions/pre-transaction/sendV0Transaction.cjs`),l=require(`../../functions/pre-transaction/getFeeStructure.cjs`);require(`../../constants/index.cjs`);const u=require(`../../API/admin-calls.cjs`);require(`../AccountActions/index.cjs`);const d=require(`../../functions/pre-transaction/solanaTransfer.utils.cjs`);let f=require(`@solana/web3.js`);var p=async(e,t)=>{let{addressLookupTableAccount:n,instructionLists:r}=JSON.parse(t).data,i=await Promise.all(n.map(async t=>{let n=await e.getAddressLookupTable(new f.PublicKey(t));if(!n.value)throw Error(`Failed to fetch lookup table: ${t}`);return n.value}));if(r.length===0)throw Error(`No instructions found`);return{instructions:r.map(e=>new f.TransactionInstruction({keys:e.accounts.map(e=>({pubkey:new f.PublicKey(e.pubkey),isSigner:e.isSigner,isWritable:e.isWritable})),programId:new f.PublicKey(e.programId),data:Buffer.from(e.data,`base64`)})),lookupTableAccounts:i}},m=async(e,t)=>{let n=f.VersionedTransaction.deserialize(Buffer.from(t,`base64`)),r=await Promise.all(n.message.addressTableLookups.map(async({accountKey:t})=>{let n=await e.getAddressLookupTable(t);if(!n.value)throw Error(`Failed to fetch lookup table: ${t.toBase58()}`);return n.value})),{instructions:i}=f.TransactionMessage.decompile(n.message,{addressLookupTableAccounts:r});return{instructions:i,lookupTableAccounts:r}},h=async(n,r,i,o)=>{let c=s.AccountActions.getAddressFromSubAccount(n,i);if(!c)throw Error(`Public account address is not available`);let{fetchRpcUrl:l}=e.networkRegistry[n];if(!l)throw Error(`RPC URL not found for the specified chain ID`);let u=a.createCustomSolanaConnection(l),d=new f.PublicKey(c),{instructions:h,lookupTableAccounts:g}=o===t.ExternalActionId.Lifi?await m(u,r):await p(u,r);return{connection:u,walletPublicKey:d,instructions:h,lookupTableAccounts:g}},g=async(e,a,s,p,m,g,_,v,y)=>{let b=i.validateAndGetChainId(a),x=g===t.ExternalActionId.Lifi,[{connection:S,walletPublicKey:C,instructions:w,lookupTableAccounts:T},E,D]=await Promise.all([h(b,p,m,g),x?Promise.resolve(null):e.getRandomRelay(b),e.getEthereumAddressByChain(b)]),O=w;if(!x){if(!E)throw Error(r.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let e=a[1],n=s[1]*(v??await l.getFeeStructure(b,_,a.map(e=>e.erc20TokenAddress),t.ExternalActionId.Emporium)).variableRate/10000n,{instructions:i}=await d.buildSolanaTransferInstructions(S,C,new f.PublicKey(E),e,n);O=[...w,...i]}let k=await c.sendProxyV0Transaction({connection:S,chainId:b,subAccount:m,payerPublicKey:C,instructions:O,lookupTableAccounts:T}),A=x?n.AdminTransactionType.PublicBridgeSwap:n.AdminTransactionType.PublicSwap;return u.emitTxPublicData(o.constructAdminData(y??A,b,a.map(e=>e.erc20TokenAddress),s,D,a)),k};exports.hinkalSolanaProxySwap=g;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../types/external-action.types.cjs`),n=require(`../../types/admin.types.cjs`),r=require(`../../error-handling/error-codes.constants.cjs`),i=require(`../../functions/utils/token-check.utils.cjs`),a=require(`../../functions/utils/create-provider.cjs`),o=require(`../../functions/pre-transaction/constructAdminData.cjs`),s=require(`../AccountActions/AccountActions.cjs`),c=require(`../../functions/pre-transaction/sendV0Transaction.cjs`),l=require(`../../functions/pre-transaction/getFeeStructure.cjs`),u=require(`../../API/admin-calls.cjs`),d=require(`../../functions/pre-transaction/solanaTransfer.utils.cjs`);let f=require(`@solana/web3.js`);var p=async(e,t)=>{let{addressLookupTableAccount:n,instructionLists:r}=JSON.parse(t).data,i=await Promise.all(n.map(async t=>{let n=await e.getAddressLookupTable(new f.PublicKey(t));if(!n.value)throw Error(`Failed to fetch lookup table: ${t}`);return n.value}));if(r.length===0)throw Error(`No instructions found`);return{instructions:r.map(e=>new f.TransactionInstruction({keys:e.accounts.map(e=>({pubkey:new f.PublicKey(e.pubkey),isSigner:e.isSigner,isWritable:e.isWritable})),programId:new f.PublicKey(e.programId),data:Buffer.from(e.data,`base64`)})),lookupTableAccounts:i}},m=async(e,t)=>{let n=f.VersionedTransaction.deserialize(Buffer.from(t,`base64`)),r=await Promise.all(n.message.addressTableLookups.map(async({accountKey:t})=>{let n=await e.getAddressLookupTable(t);if(!n.value)throw Error(`Failed to fetch lookup table: ${t.toBase58()}`);return n.value})),{instructions:i}=f.TransactionMessage.decompile(n.message,{addressLookupTableAccounts:r});return{instructions:i,lookupTableAccounts:r}},h=async(n,r,i,o)=>{let c=s.AccountActions.getAddressFromSubAccount(n,i);if(!c)throw Error(`Public account address is not available`);let{fetchRpcUrl:l}=e.networkRegistry[n];if(!l)throw Error(`RPC URL not found for the specified chain ID`);let u=a.createCustomSolanaConnection(l),d=new f.PublicKey(c),{instructions:h,lookupTableAccounts:g}=o===t.ExternalActionId.Lifi?await m(u,r):await p(u,r);return{connection:u,walletPublicKey:d,instructions:h,lookupTableAccounts:g}},g=async(e,a,s,p,m,g,_,v,y)=>{let b=i.validateAndGetChainId(a),x=g===t.ExternalActionId.Lifi,[{connection:S,walletPublicKey:C,instructions:w,lookupTableAccounts:T},E,D]=await Promise.all([h(b,p,m,g),x?Promise.resolve(null):e.getRandomRelay(b),e.getEthereumAddressByChain(b)]),O=w;if(!x){if(!E)throw Error(r.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let e=a[1],n=s[1]*(v??await l.getFeeStructure(b,_,a.map(e=>e.erc20TokenAddress),t.ExternalActionId.Emporium)).variableRate/10000n,{instructions:i}=await d.buildSolanaTransferInstructions(S,C,new f.PublicKey(E),e,n);O=[...w,...i]}let k=await c.sendProxyV0Transaction({connection:S,chainId:b,subAccount:m,payerPublicKey:C,instructions:O,lookupTableAccounts:T}),A=x?n.AdminTransactionType.PublicBridgeSwap:n.AdminTransactionType.PublicSwap;return u.emitTxPublicData(o.constructAdminData(y??A,b,a.map(e=>e.erc20TokenAddress),s,D,a)),k};exports.hinkalSolanaProxySwap=g;
@@ -1,7 +1,6 @@
1
1
  import { networkRegistry as e } from "../../constants/chains.constants.mjs";
2
2
  import { ExternalActionId as t } from "../../types/external-action.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 { validateAndGetChainId as i } from "../../functions/utils/token-check.utils.mjs";
7
6
  import { createCustomSolanaConnection as a } from "../../functions/utils/create-provider.mjs";
@@ -9,9 +8,7 @@ import { constructAdminData as o } from "../../functions/pre-transaction/constru
9
8
  import { AccountActions as s } from "../AccountActions/AccountActions.mjs";
10
9
  import { sendProxyV0Transaction as c } from "../../functions/pre-transaction/sendV0Transaction.mjs";
11
10
  import { getFeeStructure as l } from "../../functions/pre-transaction/getFeeStructure.mjs";
12
- import "../../constants/index.mjs";
13
11
  import { emitTxPublicData as u } from "../../API/admin-calls.mjs";
14
- import "../AccountActions/index.mjs";
15
12
  import { buildSolanaTransferInstructions as d } from "../../functions/pre-transaction/solanaTransfer.utils.mjs";
16
13
  import { PublicKey as f, TransactionInstruction as p, TransactionMessage as m, VersionedTransaction as h } from "@solana/web3.js";
17
14
  //#region libs/shared/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.ts
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../functions/pre-transaction/solana.cjs`),r=require(`../../types/external-action.types.cjs`),i=require(`../../types/admin.types.cjs`),a=require(`../../types/cache.types.cjs`);require(`../../types/index.cjs`);const o=require(`../../error-handling/error-codes.constants.cjs`),s=require(`../../functions/web3/etherFunctions.cjs`),c=require(`../../functions/utils/time.utils.cjs`),ee=require(`../utxo/Utxo.cjs`),te=require(`../../functions/utils/token-check.utils.cjs`),l=require(`../../functions/web3/events/getShieldedBalance.cjs`),u=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),ne=require(`../../functions/snarkjs/common.snarkjs.cjs`),d=require(`../../functions/pre-transaction/constructAdminData.cjs`),f=require(`../../functions/pre-transaction/convert-okx-instructions.cjs`),p=require(`../../functions/pre-transaction/ensureAmountChanges.cjs`),m=require(`../../functions/pre-transaction/getFeeStructure.cjs`),h=require(`../../functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs`),g=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`),_=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),v=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`);let re=require(`ethers`),y=require(`@solana/web3.js`);var b=async(e,t,n,r)=>{let i=[...await l.addPaddingToUtxos(e,t,n,r,6)],a=c.getCurrentTimeInSeconds().toString(),o=[];for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=u.outputUtxoProcessing(e.userKeys,i[t],r[t],a);o.push([n[0]])}return{inputUtxosArray:i,outputUtxosArray:o}},x=async(c,l,u,x,ie,S,ae,oe)=>{let C=te.validateAndGetChainId(l),w=new y.PublicKey(t.solanaNativeAddress),{hinkalAddress:se,originalDeployer:T,hinkalIdl:E}=e.networkRegistry[C].contractData;if(!T||!E)throw Error(`No IDL configured for Solana program on this network`);let D=new y.PublicKey(T),O=new y.PublicKey(se),k=l.map(e=>e.erc20TokenAddress),{userKeys:A,merkleTreeAccessTokenByChain:j,merkleTreeHinkalByChain:M}=c,N=c.getSolanaProgram(E),P=oe??await m.getFeeStructure(C,ae,k,r.ExternalActionId.Transact),F=u[1],I=Number(c.cacheDevice.get(a.StorageKeys.SLIPPAGE_PERCENTAGE)??0),L=l[1],R=s.getAmountInToken(L,F),z=Number(R)*I/100;u[1]-=s.getAmountInWei(L,z.toFixed(L.decimals));let B=F*BigInt(P.variableRate??0)/10000n+P.flatFee;if(u[1]-=B,u[1]<0)throw Error(o.transactionErrorCodes.LOW_OUTPUT_AMOUNT);let V=P.variableRate.toString(),[{patchAccessTokenMerkleTree:H,kycRequired:U,hasAccessToken:W},G,K,{inputUtxosArray:q,outputUtxosArray:J}]=await Promise.all([h.shouldPatchAccessTokenMerkleTree(c,C,k,u),c.getRandomRelay(C,!0),c.getEthereumAddressByChain(C),b(c,C,k,u)]);if(!G)throw Error(o.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let ce=c.userKeys.getShieldedPrivateKey(),le=ee.Utxo.findCorrectRandomization(s.randomBigInt(31),ce),Y={tokenNumber:2,nullifierAmount:q[0].length,outputAmount:1},X=ne.calcEncryptedOutputs(J).map(e=>[...re.ethers.getBytes(e[0])]),Z=n.getSwapperAccountPublicKeyFromSalt(O,D,x),{remainingAccounts:Q,hinkalInstructions:$}=f.convertOKXToHinkalInstructions(ie,Z);p.ensureAmountChanges(q,J,u);let[{proofAArr:ue,proofBArr:de,proofCArr:fe,publicInputsArr:pe},me]=await Promise.all([_.constructSolanaZkProof(c.generateProofRemotely,T,M[C],j[C],A,N,k,q,J,le,P.flatFee,P.variableRate,w.toString(),G,Y,X,C,H,x,$,Q),g.buildCommitmentValidationData(C,A,k,q)]),he=n.getStorageAccountPublicKey(O,D),ge=n.getStorageVaultPublicKey(O,D),_e=l[0].erc20TokenAddress===`11111111111111111111111111111111`?null:new y.PublicKey(l[0].erc20TokenAddress),ve=l[1].erc20TokenAddress===`11111111111111111111111111111111`?null:new y.PublicKey(l[1].erc20TokenAddress),ye={recipient:w.toString(),storageAccount:he.toString(),storageVault:ge.toString(),swapperAccount:Z.toString(),mintFrom:_e?.toString()??null,mintTo:ve?.toString()??null,remainingAccounts:Q.map(e=>({pubkey:e.pubkey.toString(),isSigner:e.isSigner,isWritable:e.isWritable})),addressLookupTableAccount:S},be={encryptedOutputs:X,proofAArr:ue,proofBArr:de,proofCArr:fe,publicInputsArr:pe,relayerFee:P.flatFee.toString(),variableRate:V,dimensions:Y,hinkalInstructions:$.map(e=>({accountIndexes:[...e.accountIndexes],data:[...e.data],programIndex:e.programIndex}))},xe=d.constructAdminData(i.AdminTransactionType.PrivateSwap,C,k,u,K,l);return v.solanaTransactCallRelayer({chainId:C,relayAddress:G,functionName:`swap`,args:be,accounts:ye,commitmentValidationData:me,solanaAccessTokenData:!W&&U?{ethereumAddress:K,accessKey:A.getAccessKey()}:void 0,adminData:xe})};exports.hinkalSolanaSwap=x;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../functions/pre-transaction/solana.cjs`),r=require(`../../types/external-action.types.cjs`),i=require(`../../types/admin.types.cjs`),a=require(`../../types/cache.types.cjs`),o=require(`../../error-handling/error-codes.constants.cjs`),s=require(`../../functions/web3/etherFunctions.cjs`),c=require(`../../functions/utils/time.utils.cjs`),ee=require(`../utxo/Utxo.cjs`),te=require(`../../functions/utils/token-check.utils.cjs`),l=require(`../../functions/web3/events/getShieldedBalance.cjs`),u=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),ne=require(`../../functions/snarkjs/common.snarkjs.cjs`),d=require(`../../functions/pre-transaction/constructAdminData.cjs`),f=require(`../../functions/pre-transaction/convert-okx-instructions.cjs`),p=require(`../../functions/pre-transaction/ensureAmountChanges.cjs`),m=require(`../../functions/pre-transaction/getFeeStructure.cjs`),h=require(`../../functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs`),g=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`),_=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),v=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`);let re=require(`ethers`),y=require(`@solana/web3.js`);var b=async(e,t,n,r)=>{let i=[...await l.addPaddingToUtxos(e,t,n,r,6)],a=c.getCurrentTimeInSeconds().toString(),o=[];for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=u.outputUtxoProcessing(e.userKeys,i[t],r[t],a);o.push([n[0]])}return{inputUtxosArray:i,outputUtxosArray:o}},x=async(c,l,u,x,ie,S,ae,oe)=>{let C=te.validateAndGetChainId(l),w=new y.PublicKey(t.solanaNativeAddress),{hinkalAddress:se,originalDeployer:T,hinkalIdl:E}=e.networkRegistry[C].contractData;if(!T||!E)throw Error(`No IDL configured for Solana program on this network`);let D=new y.PublicKey(T),O=new y.PublicKey(se),k=l.map(e=>e.erc20TokenAddress),{userKeys:A,merkleTreeAccessTokenByChain:j,merkleTreeHinkalByChain:M}=c,N=c.getSolanaProgram(E),P=oe??await m.getFeeStructure(C,ae,k,r.ExternalActionId.Transact),F=u[1],I=Number(c.cacheDevice.get(a.StorageKeys.SLIPPAGE_PERCENTAGE)??0),L=l[1],R=s.getAmountInToken(L,F),z=Number(R)*I/100;u[1]-=s.getAmountInWei(L,z.toFixed(L.decimals));let B=F*BigInt(P.variableRate??0)/10000n+P.flatFee;if(u[1]-=B,u[1]<0)throw Error(o.transactionErrorCodes.LOW_OUTPUT_AMOUNT);let V=P.variableRate.toString(),[{patchAccessTokenMerkleTree:H,kycRequired:U,hasAccessToken:W},G,K,{inputUtxosArray:q,outputUtxosArray:J}]=await Promise.all([h.shouldPatchAccessTokenMerkleTree(c,C,k,u),c.getRandomRelay(C,!0),c.getEthereumAddressByChain(C),b(c,C,k,u)]);if(!G)throw Error(o.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let ce=c.userKeys.getShieldedPrivateKey(),le=ee.Utxo.findCorrectRandomization(s.randomBigInt(31),ce),Y={tokenNumber:2,nullifierAmount:q[0].length,outputAmount:1},X=ne.calcEncryptedOutputs(J).map(e=>[...re.ethers.getBytes(e[0])]),Z=n.getSwapperAccountPublicKeyFromSalt(O,D,x),{remainingAccounts:Q,hinkalInstructions:$}=f.convertOKXToHinkalInstructions(ie,Z);p.ensureAmountChanges(q,J,u);let[{proofAArr:ue,proofBArr:de,proofCArr:fe,publicInputsArr:pe},me]=await Promise.all([_.constructSolanaZkProof(c.generateProofRemotely,T,M[C],j[C],A,N,k,q,J,le,P.flatFee,P.variableRate,w.toString(),G,Y,X,C,H,x,$,Q),g.buildCommitmentValidationData(C,A,k,q)]),he=n.getStorageAccountPublicKey(O,D),ge=n.getStorageVaultPublicKey(O,D),_e=l[0].erc20TokenAddress===`11111111111111111111111111111111`?null:new y.PublicKey(l[0].erc20TokenAddress),ve=l[1].erc20TokenAddress===`11111111111111111111111111111111`?null:new y.PublicKey(l[1].erc20TokenAddress),ye={recipient:w.toString(),storageAccount:he.toString(),storageVault:ge.toString(),swapperAccount:Z.toString(),mintFrom:_e?.toString()??null,mintTo:ve?.toString()??null,remainingAccounts:Q.map(e=>({pubkey:e.pubkey.toString(),isSigner:e.isSigner,isWritable:e.isWritable})),addressLookupTableAccount:S},be={encryptedOutputs:X,proofAArr:ue,proofBArr:de,proofCArr:fe,publicInputsArr:pe,relayerFee:P.flatFee.toString(),variableRate:V,dimensions:Y,hinkalInstructions:$.map(e=>({accountIndexes:[...e.accountIndexes],data:[...e.data],programIndex:e.programIndex}))},xe=d.constructAdminData(i.AdminTransactionType.PrivateSwap,C,k,u,K,l);return v.solanaTransactCallRelayer({chainId:C,relayAddress:G,functionName:`swap`,args:be,accounts:ye,commitmentValidationData:me,solanaAccessTokenData:!W&&U?{ethereumAddress:K,accessKey:A.getAccessKey()}:void 0,adminData:xe})};exports.hinkalSolanaSwap=x;
@@ -4,7 +4,6 @@ import { getStorageAccountPublicKey as n, getStorageVaultPublicKey as r, getSwap
4
4
  import { ExternalActionId as a } from "../../types/external-action.types.mjs";
5
5
  import { AdminTransactionType as o } from "../../types/admin.types.mjs";
6
6
  import { StorageKeys as s } from "../../types/cache.types.mjs";
7
- import "../../types/index.mjs";
8
7
  import { transactionErrorCodes as c } from "../../error-handling/error-codes.constants.mjs";
9
8
  import { getAmountInToken as l, getAmountInWei as ee, randomBigInt as te } from "../../functions/web3/etherFunctions.mjs";
10
9
  import { getCurrentTimeInSeconds as u } from "../../functions/utils/time.utils.mjs";
@@ -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`);require(`../../types/index.cjs`);const r=require(`../../error-handling/error-codes.constants.cjs`),i=require(`../../functions/web3/etherFunctions.cjs`),a=require(`../../functions/utils/time.utils.cjs`),o=require(`../utxo/Utxo.cjs`),s=require(`../../functions/utils/addresses.cjs`),c=require(`../../functions/utils/token-check.utils.cjs`),l=require(`../../functions/web3/events/getShieldedBalance.cjs`),u=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),d=require(`../../functions/snarkjs/common.snarkjs.cjs`),f=require(`../../functions/utils/fees.utils.cjs`),p=require(`../../functions/pre-transaction/constructAdminData.cjs`),m=require(`../../functions/pre-transaction/ensureAmountChanges.cjs`),h=require(`../../functions/pre-transaction/getFeeStructure.cjs`),g=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`);require(`../../functions/pre-transaction/index.cjs`);const _=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),v=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`);let y=require(`ethers`);var b=async(e,t,n,r,i,s)=>{let c=(await l.addPaddingToUtxos(e,t,n,r,6))[0],d=a.getCurrentTimeInSeconds().toString(),{outputUtxos:f}=u.outputUtxoProcessing(e.userKeys,c,r[0],d),[p,m,h]=i.split(`,`);return{inputUtxos:c,senderOutputUtxos:f,recipientUtxo:new o.Utxo({amount:s,erc20TokenAddress:c[0].erc20TokenAddress,mintAddress:c[0].mintAddress,timeStamp:d,randomization:BigInt(p),stealthAddress:m,encryptionKey:h})}},x=async(a,l,u,v,x,S,C)=>{if(!s.isValidPrivateAddress(v))throw Error(r.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);let w=c.validateAndGetChainId(l),T=[...u],{originalDeployer:E,hinkalIdl:D}=e.networkRegistry[w].contractData;if(!E||!D)throw Error(`missing data`);let{userKeys:O,merkleTreeAccessTokenByChain:k,merkleTreeHinkalByChain:A}=a,j=l.map(e=>e.erc20TokenAddress);if(j.length>1)throw Error(`Solana Transfer: Only one mint address is supported`);let M=S??await h.getFeeStructure(w,x,j,n.ExternalActionId.Transact,[],5n);M.variableRate||=t.HINKAL_PRIVATE_SEND_VARIABLE_RATE;let N=f.calculateTotalFee(-T[0],M),P=-T[0];T[0]-=N;let[F,I,{inputUtxos:L,senderOutputUtxos:R,recipientUtxo:z}]=await Promise.all([a.getRandomRelay(w,!0),a.getEthereumAddressByChain(w),b(a,w,j,T,v,P)]);if(!F)throw Error(r.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let B=R[0],V=o.Utxo.findCorrectRandomization(i.randomBigInt(31),a.userKeys.getShieldedPrivateKey()),H={tokenNumber:j.length,nullifierAmount:L.length,outputAmount:2},U=a.getSolanaProgram(D),W=d.calcEncryptedOutputs([[B,z]])[0].map(e=>Array.from(y.ethers.getBytes(e)));m.ensureAmountChanges([L],[R],T);let[{proofAArr:G,proofBArr:K,proofCArr:q,publicInputsArr:J},Y]=await Promise.all([_.constructSolanaZkProof(a.generateProofRemotely,E,A[w],k[w],O,U,[j[0]],[L],[[B,z]],V,N,0n,t.solanaNativeAddress,F,H,W,w),g.buildCommitmentValidationData(w,O,j,[L])]),X={recipient:F,mint:j[0]===`11111111111111111111111111111111`?void 0:j[0]};return{chainId:w,relay:F,args:{proofAArr:G,proofBArr:K,proofCArr:q,publicInputsArr:J,encryptedOutputs:W,relayerFee:N.toString(),dimensions:H},accounts:X,adminData:p.constructAdminData(C,w,j,T,I),commitmentValidationData:Y,recipientUtxo:z}},S=async(e,t,n,r,i,a,o,s=!1)=>{if(s)throw Error(`onlyGasEstimate is not supported for Solana transfer`);let c=await x(e,t,n,r,i,a,o);return v.solanaTransactCallRelayer({chainId:c.chainId,relayAddress:c.relay,functionName:`transfer`,args:c.args,accounts:c.accounts,adminData:c.adminData,commitmentValidationData:c.commitmentValidationData})};exports.hinkalSolanaTransfer=S;
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(`../../error-handling/error-codes.constants.cjs`),i=require(`../../functions/web3/etherFunctions.cjs`),a=require(`../../functions/utils/time.utils.cjs`),o=require(`../utxo/Utxo.cjs`),s=require(`../../functions/utils/addresses.cjs`),c=require(`../../functions/utils/token-check.utils.cjs`),l=require(`../../functions/web3/events/getShieldedBalance.cjs`),u=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),d=require(`../../functions/snarkjs/common.snarkjs.cjs`),f=require(`../../functions/utils/fees.utils.cjs`),p=require(`../../functions/pre-transaction/constructAdminData.cjs`),m=require(`../../functions/pre-transaction/ensureAmountChanges.cjs`),h=require(`../../functions/pre-transaction/getFeeStructure.cjs`),g=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`),_=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),v=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`);let y=require(`ethers`);var b=async(e,t,n,r,i,s)=>{let c=(await l.addPaddingToUtxos(e,t,n,r,6))[0],d=a.getCurrentTimeInSeconds().toString(),{outputUtxos:f}=u.outputUtxoProcessing(e.userKeys,c,r[0],d),[p,m,h]=i.split(`,`);return{inputUtxos:c,senderOutputUtxos:f,recipientUtxo:new o.Utxo({amount:s,erc20TokenAddress:c[0].erc20TokenAddress,mintAddress:c[0].mintAddress,timeStamp:d,randomization:BigInt(p),stealthAddress:m,encryptionKey:h})}},x=async(a,l,u,v,x,S,C)=>{if(!s.isValidPrivateAddress(v))throw Error(r.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);let w=c.validateAndGetChainId(l),T=[...u],{originalDeployer:E,hinkalIdl:D}=e.networkRegistry[w].contractData;if(!E||!D)throw Error(`missing data`);let{userKeys:O,merkleTreeAccessTokenByChain:k,merkleTreeHinkalByChain:A}=a,j=l.map(e=>e.erc20TokenAddress);if(j.length>1)throw Error(`Solana Transfer: Only one mint address is supported`);let M=S??await h.getFeeStructure(w,x,j,n.ExternalActionId.Transact,[],5n);M.variableRate||=t.HINKAL_PRIVATE_SEND_VARIABLE_RATE;let N=f.calculateTotalFee(-T[0],M),P=-T[0];T[0]-=N;let[F,I,{inputUtxos:L,senderOutputUtxos:R,recipientUtxo:z}]=await Promise.all([a.getRandomRelay(w,!0),a.getEthereumAddressByChain(w),b(a,w,j,T,v,P)]);if(!F)throw Error(r.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let B=R[0],V=o.Utxo.findCorrectRandomization(i.randomBigInt(31),a.userKeys.getShieldedPrivateKey()),H={tokenNumber:j.length,nullifierAmount:L.length,outputAmount:2},U=a.getSolanaProgram(D),W=d.calcEncryptedOutputs([[B,z]])[0].map(e=>Array.from(y.ethers.getBytes(e)));m.ensureAmountChanges([L],[R],T);let[{proofAArr:G,proofBArr:K,proofCArr:q,publicInputsArr:J},Y]=await Promise.all([_.constructSolanaZkProof(a.generateProofRemotely,E,A[w],k[w],O,U,[j[0]],[L],[[B,z]],V,N,0n,t.solanaNativeAddress,F,H,W,w),g.buildCommitmentValidationData(w,O,j,[L])]),X={recipient:F,mint:j[0]===`11111111111111111111111111111111`?void 0:j[0]};return{chainId:w,relay:F,args:{proofAArr:G,proofBArr:K,proofCArr:q,publicInputsArr:J,encryptedOutputs:W,relayerFee:N.toString(),dimensions:H},accounts:X,adminData:p.constructAdminData(C,w,j,T,I),commitmentValidationData:Y,recipientUtxo:z}},S=async(e,t,n,r,i,a,o,s=!1)=>{if(s)throw Error(`onlyGasEstimate is not supported for Solana transfer`);let c=await x(e,t,n,r,i,a,o);return v.solanaTransactCallRelayer({chainId:c.chainId,relayAddress:c.relay,functionName:`transfer`,args:c.args,accounts:c.accounts,adminData:c.adminData,commitmentValidationData:c.commitmentValidationData})};exports.hinkalSolanaTransfer=S;
@@ -1,7 +1,6 @@
1
1
  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
- import "../../types/index.mjs";
5
4
  import { transactionErrorCodes as i } from "../../error-handling/error-codes.constants.mjs";
6
5
  import { randomBigInt as a } from "../../functions/web3/etherFunctions.mjs";
7
6
  import { getCurrentTimeInSeconds as o } from "../../functions/utils/time.utils.mjs";
@@ -16,7 +15,6 @@ import { constructAdminData as m } from "../../functions/pre-transaction/constru
16
15
  import { ensureAmountChanges as h } from "../../functions/pre-transaction/ensureAmountChanges.mjs";
17
16
  import { getFeeStructure as g } from "../../functions/pre-transaction/getFeeStructure.mjs";
18
17
  import { buildCommitmentValidationData as _ } from "../../functions/pre-transaction/buildCommitmentValidationData.mjs";
19
- import "../../functions/pre-transaction/index.mjs";
20
18
  import { constructSolanaZkProof as v } from "../../functions/snarkjs/constructSolanaZkProof.mjs";
21
19
  import { solanaTransactCallRelayer as y } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
22
20
  import { ethers as b } 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(`../../types/external-action.types.cjs`);require(`../../types/index.cjs`);const n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../../functions/web3/etherFunctions.cjs`),i=require(`../../functions/utils/time.utils.cjs`),a=require(`../utxo/Utxo.cjs`),o=require(`../../functions/utils/token-check.utils.cjs`),s=require(`../../functions/web3/events/getShieldedBalance.cjs`),c=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),l=require(`../../functions/snarkjs/common.snarkjs.cjs`),u=require(`../../functions/utils/fees.utils.cjs`),d=require(`../../functions/pre-transaction/constructAdminData.cjs`),f=require(`../../functions/pre-transaction/ensureAmountChanges.cjs`),p=require(`../../functions/pre-transaction/getFeeStructure.cjs`),m=require(`../../functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs`),h=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`);require(`../../functions/pre-transaction/index.cjs`),require(`../../constants/index.cjs`);const g=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),_=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`);let v=require(`ethers`);var y=async(e,t,n,r)=>{let a=[...await s.addPaddingToUtxos(e,t,n,r,6)][0],o=i.getCurrentTimeInSeconds().toString(),{outputUtxos:l}=c.outputUtxoProcessing(e.userKeys,a,r[0],o);return{inputUtxos:a,outputUtxos:l}},b=async(i,s,c,b,x,S,C)=>{let w=o.validateAndGetChainId(s),T=s.map(e=>e.erc20TokenAddress),{originalDeployer:E,hinkalIdl:D}=e.networkRegistry[w].contractData;if(!E||!D)throw Error(`missing data`);let{userKeys:O,merkleTreeAccessTokenByChain:k,merkleTreeHinkalByChain:A}=i,j=S??await p.getFeeStructure(w,x,T,t.ExternalActionId.Transact),M=u.calculateTotalFee(-c[0],j),N={feeToken:j.feeToken,flatFee:M,variableRate:0n};c[0]-=N.flatFee;let[{patchAccessTokenMerkleTree:P,kycRequired:F,hasAccessToken:I},L,R,{inputUtxos:z,outputUtxos:B}]=await Promise.all([m.shouldPatchAccessTokenMerkleTree(i,w,T,c),i.getEthereumAddressByChain(w),i.getRandomRelay(w,!0),y(i,w,T,c)]);if(!R)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);if(T.length>1)throw Error(`Solana Withdraw: Only one mint address is supported`);let V=a.Utxo.findCorrectRandomization(r.randomBigInt(31),i.userKeys.getShieldedPrivateKey()),H={tokenNumber:T.length,nullifierAmount:z.length,outputAmount:B.length},U=i.getSolanaProgram(D),W=l.calcEncryptedOutputs([B])[0][0],G=Array.from(v.ethers.getBytes(W));f.ensureAmountChanges([z],[B],c);let[{proofAArr:K,proofBArr:q,proofCArr:J,publicInputsArr:Y},X]=await Promise.all([g.constructSolanaZkProof(i.generateProofRemotely,E,A[w],k[w],O,U,[T[0]],[z],[B],V,N.flatFee,N.variableRate,b,R,H,[G],w,P),h.buildCommitmentValidationData(w,O,T,[z])]),Z={recipient:b,mint:T[0]===`11111111111111111111111111111111`?void 0:T[0]},Q={proofAArr:K,proofBArr:q,proofCArr:J,publicInputsArr:Y,encryptedOutputs:[G],relayerFee:N.flatFee.toString(),dimensions:H},$=d.constructAdminData(C,w,T,c,await i.getEthereumAddress());return _.solanaTransactCallRelayer({chainId:w,relayAddress:R,functionName:`transact`,args:Q,accounts:Z,commitmentValidationData:X,solanaAccessTokenData:!I&&F?{ethereumAddress:L,accessKey:O.getAccessKey()}:void 0,adminData:$})};exports.hinkalSolanaWithdraw=b;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`);require(`../../constants/protocol.constants.cjs`);const t=require(`../../types/external-action.types.cjs`),n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../../functions/web3/etherFunctions.cjs`),i=require(`../../functions/utils/time.utils.cjs`),a=require(`../utxo/Utxo.cjs`),o=require(`../../functions/utils/token-check.utils.cjs`),s=require(`../../functions/web3/events/getShieldedBalance.cjs`),c=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),l=require(`../../functions/snarkjs/common.snarkjs.cjs`),u=require(`../../functions/utils/fees.utils.cjs`),d=require(`../../functions/pre-transaction/constructAdminData.cjs`),f=require(`../../functions/pre-transaction/ensureAmountChanges.cjs`),p=require(`../../functions/pre-transaction/getFeeStructure.cjs`),m=require(`../../functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs`),h=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`),g=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),_=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`);let v=require(`ethers`);var y=async(e,t,n,r)=>{let a=[...await s.addPaddingToUtxos(e,t,n,r,6)][0],o=i.getCurrentTimeInSeconds().toString(),{outputUtxos:l}=c.outputUtxoProcessing(e.userKeys,a,r[0],o);return{inputUtxos:a,outputUtxos:l}},b=async(i,s,c,b,x,S,C)=>{let w=o.validateAndGetChainId(s),T=s.map(e=>e.erc20TokenAddress),{originalDeployer:E,hinkalIdl:D}=e.networkRegistry[w].contractData;if(!E||!D)throw Error(`missing data`);let{userKeys:O,merkleTreeAccessTokenByChain:k,merkleTreeHinkalByChain:A}=i,j=S??await p.getFeeStructure(w,x,T,t.ExternalActionId.Transact),M=u.calculateTotalFee(-c[0],j),N={feeToken:j.feeToken,flatFee:M,variableRate:0n};c[0]-=N.flatFee;let[{patchAccessTokenMerkleTree:P,kycRequired:F,hasAccessToken:I},L,R,{inputUtxos:z,outputUtxos:B}]=await Promise.all([m.shouldPatchAccessTokenMerkleTree(i,w,T,c),i.getEthereumAddressByChain(w),i.getRandomRelay(w,!0),y(i,w,T,c)]);if(!R)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);if(T.length>1)throw Error(`Solana Withdraw: Only one mint address is supported`);let V=a.Utxo.findCorrectRandomization(r.randomBigInt(31),i.userKeys.getShieldedPrivateKey()),H={tokenNumber:T.length,nullifierAmount:z.length,outputAmount:B.length},U=i.getSolanaProgram(D),W=l.calcEncryptedOutputs([B])[0][0],G=Array.from(v.ethers.getBytes(W));f.ensureAmountChanges([z],[B],c);let[{proofAArr:K,proofBArr:q,proofCArr:J,publicInputsArr:Y},X]=await Promise.all([g.constructSolanaZkProof(i.generateProofRemotely,E,A[w],k[w],O,U,[T[0]],[z],[B],V,N.flatFee,N.variableRate,b,R,H,[G],w,P),h.buildCommitmentValidationData(w,O,T,[z])]),Z={recipient:b,mint:T[0]===`11111111111111111111111111111111`?void 0:T[0]},Q={proofAArr:K,proofBArr:q,proofCArr:J,publicInputsArr:Y,encryptedOutputs:[G],relayerFee:N.flatFee.toString(),dimensions:H},$=d.constructAdminData(C,w,T,c,await i.getEthereumAddress());return _.solanaTransactCallRelayer({chainId:w,relayAddress:R,functionName:`transact`,args:Q,accounts:Z,commitmentValidationData:X,solanaAccessTokenData:!I&&F?{ethereumAddress:L,accessKey:O.getAccessKey()}:void 0,adminData:$})};exports.hinkalSolanaWithdraw=b;
@@ -1,7 +1,6 @@
1
1
  import { networkRegistry as e } from "../../constants/chains.constants.mjs";
2
2
  import "../../constants/protocol.constants.mjs";
3
3
  import { ExternalActionId as t } from "../../types/external-action.types.mjs";
4
- import "../../types/index.mjs";
5
4
  import { transactionErrorCodes as n } from "../../error-handling/error-codes.constants.mjs";
6
5
  import { randomBigInt as r } from "../../functions/web3/etherFunctions.mjs";
7
6
  import { getCurrentTimeInSeconds as i } from "../../functions/utils/time.utils.mjs";
@@ -16,8 +15,6 @@ import { ensureAmountChanges as f } from "../../functions/pre-transaction/ensure
16
15
  import { getFeeStructure as p } from "../../functions/pre-transaction/getFeeStructure.mjs";
17
16
  import { shouldPatchAccessTokenMerkleTree as m } from "../../functions/pre-transaction/shouldPatchAccessTokenMerkleTree.mjs";
18
17
  import { buildCommitmentValidationData as h } from "../../functions/pre-transaction/buildCommitmentValidationData.mjs";
19
- import "../../functions/pre-transaction/index.mjs";
20
- import "../../constants/index.mjs";
21
18
  import { constructSolanaZkProof as g } from "../../functions/snarkjs/constructSolanaZkProof.mjs";
22
19
  import { solanaTransactCallRelayer as _ } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
23
20
  import { ethers as v } from "ethers";
@@ -1 +1 @@
1
- require(`../../constants/protocol.constants.cjs`);const e=require(`../../types/ethereum-network.types.cjs`),t=require(`../../error-handling/error-codes.constants.cjs`),n=require(`../../functions/utils/time.utils.cjs`),r=require(`../../functions/utils/token-check.utils.cjs`),i=require(`../../functions/web3/events/getShieldedBalance.cjs`),a=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),o=require(`../../functions/pre-transaction/constructAdminData.cjs`),s=require(`../../functions/pre-transaction/getFeeStructure.cjs`),c=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`),l=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`);require(`../../functions/pre-transaction/index.cjs`);const u=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),d=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),f=require(`../../functions/pre-transaction/getExternalSwapAddress.cjs`),p=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`);var m=async(e,t,r,o)=>{let s=[...await i.addPaddingToUtxos(e,t,r,o)],c=[],l=n.getCurrentTimeInSeconds().toString();for(let t=0;t<r.length;t+=1){let{outputUtxos:n}=a.outputUtxoProcessing(e.userKeys,s[t],o[t],l);c.push(n)}return{inputUtxosArray:s,outputUtxosArray:c}},h=async(n,i,a,h,g,_,v,y)=>{let b=r.validateAndGetChainId(i),x=i.map(e=>e.erc20TokenAddress),S=await n.getEthereumAddressByChain(b),C=v??await s.getFeeStructure(b,_,x,h,void 0,35n);p.mergeWithFeeStructure(b,x,a,C);let w={externalActionId:h,externalAddress:f.getExternalSwapAddress(b,h),externalActionMetadata:g},[T,{patchAccessTokenMerkleTree:E,signatureData:D},{inputUtxosArray:O,outputUtxosArray:k}]=await Promise.all([n.getRandomRelay(b,!0),c.getKycAndSignatureData(n,b,x,a,S),m(n,b,x,a)]);if(!T)throw Error(t.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let A=`swapperM${a.length.toString()}x${O[0].length}x1`,j=[!1,!0,!1].slice(0,a.length),[{zkCallData:M,circomData:N,dimData:P},F]=await Promise.all([u.constructZkProof(n.merkleTreeHinkalByChain[b],n.merkleTreeAccessTokenByChain[b],O,k,n.userKeys,A,w.externalActionId,w.externalAddress,w.externalActionMetadata,n.generateProofRemotely,T,b,j,void 0,void 0,E,void 0,C,n.getContractWithFetcher(b,e.ContractType.HinkalHelperContract),D),l.buildCommitmentValidationData(b,n.userKeys,x,O)]);return await d.transactCallRelayer(b,M,P,N,F,void 0,void 0,o.constructAdminData(y,b,x,a,S,i))};exports.hinkalSwap=h;
1
+ require(`../../constants/protocol.constants.cjs`);const e=require(`../../types/ethereum-network.types.cjs`),t=require(`../../error-handling/error-codes.constants.cjs`),n=require(`../../functions/utils/time.utils.cjs`),r=require(`../../functions/utils/token-check.utils.cjs`),i=require(`../../functions/web3/events/getShieldedBalance.cjs`),a=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),o=require(`../../functions/pre-transaction/constructAdminData.cjs`),s=require(`../../functions/pre-transaction/getFeeStructure.cjs`),c=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`),l=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`),u=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),d=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),f=require(`../../functions/pre-transaction/getExternalSwapAddress.cjs`),p=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`);var m=async(e,t,r,o)=>{let s=[...await i.addPaddingToUtxos(e,t,r,o)],c=[],l=n.getCurrentTimeInSeconds().toString();for(let t=0;t<r.length;t+=1){let{outputUtxos:n}=a.outputUtxoProcessing(e.userKeys,s[t],o[t],l);c.push(n)}return{inputUtxosArray:s,outputUtxosArray:c}},h=async(n,i,a,h,g,_,v,y)=>{let b=r.validateAndGetChainId(i),x=i.map(e=>e.erc20TokenAddress),S=await n.getEthereumAddressByChain(b),C=v??await s.getFeeStructure(b,_,x,h,void 0,35n);p.mergeWithFeeStructure(b,x,a,C);let w={externalActionId:h,externalAddress:f.getExternalSwapAddress(b,h),externalActionMetadata:g},[T,{patchAccessTokenMerkleTree:E,signatureData:D},{inputUtxosArray:O,outputUtxosArray:k}]=await Promise.all([n.getRandomRelay(b,!0),c.getKycAndSignatureData(n,b,x,a,S),m(n,b,x,a)]);if(!T)throw Error(t.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let A=`swapperM${a.length.toString()}x${O[0].length}x1`,j=[!1,!0,!1].slice(0,a.length),[{zkCallData:M,circomData:N,dimData:P},F]=await Promise.all([u.constructZkProof(n.merkleTreeHinkalByChain[b],n.merkleTreeAccessTokenByChain[b],O,k,n.userKeys,A,w.externalActionId,w.externalAddress,w.externalActionMetadata,n.generateProofRemotely,T,b,j,void 0,void 0,E,void 0,C,n.getContractWithFetcher(b,e.ContractType.HinkalHelperContract),D),l.buildCommitmentValidationData(b,n.userKeys,x,O)]);return await d.transactCallRelayer(b,M,P,N,F,void 0,void 0,o.constructAdminData(y,b,x,a,S,i))};exports.hinkalSwap=h;
@@ -9,7 +9,6 @@ import { constructAdminData as o } from "../../functions/pre-transaction/constru
9
9
  import { getFeeStructure as s } from "../../functions/pre-transaction/getFeeStructure.mjs";
10
10
  import { getKycAndSignatureData as c } from "../../functions/pre-transaction/getKycAndSignatureData.mjs";
11
11
  import { buildCommitmentValidationData as l } from "../../functions/pre-transaction/buildCommitmentValidationData.mjs";
12
- import "../../functions/pre-transaction/index.mjs";
13
12
  import { constructZkProof as u } from "../../functions/snarkjs/constructGeneralZkProof.mjs";
14
13
  import { transactCallRelayer as d } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
15
14
  import { getExternalSwapAddress as f } from "../../functions/pre-transaction/getExternalSwapAddress.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`);require(`../../types/index.cjs`);const i=require(`../../error-handling/error-codes.constants.cjs`),a=require(`../../functions/utils/time.utils.cjs`),o=require(`../../functions/utils/addresses.cjs`),s=require(`../../functions/utils/tron.utils.cjs`),c=require(`../../functions/utils/token-check.utils.cjs`),l=require(`../../functions/web3/events/getShieldedBalance.cjs`),u=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),d=require(`../../functions/utils/fees.utils.cjs`),f=require(`../../functions/pre-transaction/getVolatileTransferAmount.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/buildCommitmentValidationData.cjs`);require(`../../functions/pre-transaction/index.cjs`);const _=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),v=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),y=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`);var b=async(e,t,n,r,i,o)=>{let s=[...await l.addPaddingToUtxos(e,t,n,r)],c=[],d=a.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=u.outputUtxoProcessing(e.userKeys,s[t],r[t],d,void 0,!0,i,t===0?o:0n);c.push(n)}return{inputUtxosArray:s,outputUtxosArray:c}},x=async(a,l,u,x,S,C,w)=>{let T=c.validateAndGetChainId(l),E=e.isTronLike(T);if(!o.isValidPrivateAddress(x))throw Error(i.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);let D=s.addressToHexFormat(await a.getEthereumAddressByChain(T)),O=l.map(e=>e.erc20TokenAddress),k=await f.modifyVolatileTokenAmountChanges(T,l,u),A=C??await m.getFeeStructure(T,S,O,r.ExternalActionId.Transact,[],5n);A.variableRate||=t.HINKAL_PRIVATE_SEND_VARIABLE_RATE;let j=d.calculateTotalFee(-k[0],A),M=-k[0],N={feeToken:A.feeToken,flatFee:j,variableRate:0n};if(y.mergeWithFeeStructure(T,O,k,N),!l[0])throw Error(`Transfer Action: No Token Found`);let[P,{patchAccessTokenMerkleTree:F,signatureData:I},{inputUtxosArray:L,outputUtxosArray:R}]=await Promise.all([a.getRandomRelay(T,!0),h.getKycAndSignatureData(a,T,O,k,D),b(a,T,O,k,x,M)]);if(!P)throw Error(i.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let z={externalActionId:0n,externalAddress:P,externalActionMetadata:`0x00`},B=`swapperM${k.length}x${L[0].length}x2`,[{zkCallData:V,circomData:H,dimData:U},W]=await Promise.all([_.constructZkProof(a.merkleTreeHinkalByChain[T],a.merkleTreeAccessTokenByChain[T],L,R,a.userKeys,B,z.externalActionId,z.externalAddress,z.externalActionMetadata,a.generateProofRemotely,P,T,void 0,void 0,void 0,F,void 0,N,a.getContractWithFetcher(T,n.ContractType.HinkalHelperContract),I),g.buildCommitmentValidationData(T,a.userKeys,O,L)]),G=await s.reorderZkCallData(E,V,U,H);return await v.transactCallRelayer(T,V,U,H,W,void 0,void 0,p.constructAdminData(w,T,O,k,D),G)};exports.hinkalTransfer=x;
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(`../../error-handling/error-codes.constants.cjs`),a=require(`../../functions/utils/time.utils.cjs`),o=require(`../../functions/utils/addresses.cjs`),s=require(`../../functions/utils/tron.utils.cjs`),c=require(`../../functions/utils/token-check.utils.cjs`),l=require(`../../functions/web3/events/getShieldedBalance.cjs`),u=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),d=require(`../../functions/utils/fees.utils.cjs`),f=require(`../../functions/pre-transaction/getVolatileTransferAmount.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/buildCommitmentValidationData.cjs`),_=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),v=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),y=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`);var b=async(e,t,n,r,i,o)=>{let s=[...await l.addPaddingToUtxos(e,t,n,r)],c=[],d=a.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=u.outputUtxoProcessing(e.userKeys,s[t],r[t],d,void 0,!0,i,t===0?o:0n);c.push(n)}return{inputUtxosArray:s,outputUtxosArray:c}},x=async(a,l,u,x,S,C,w)=>{let T=c.validateAndGetChainId(l),E=e.isTronLike(T);if(!o.isValidPrivateAddress(x))throw Error(i.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);let D=s.addressToHexFormat(await a.getEthereumAddressByChain(T)),O=l.map(e=>e.erc20TokenAddress),k=await f.modifyVolatileTokenAmountChanges(T,l,u),A=C??await m.getFeeStructure(T,S,O,r.ExternalActionId.Transact,[],5n);A.variableRate||=t.HINKAL_PRIVATE_SEND_VARIABLE_RATE;let j=d.calculateTotalFee(-k[0],A),M=-k[0],N={feeToken:A.feeToken,flatFee:j,variableRate:0n};if(y.mergeWithFeeStructure(T,O,k,N),!l[0])throw Error(`Transfer Action: No Token Found`);let[P,{patchAccessTokenMerkleTree:F,signatureData:I},{inputUtxosArray:L,outputUtxosArray:R}]=await Promise.all([a.getRandomRelay(T,!0),h.getKycAndSignatureData(a,T,O,k,D),b(a,T,O,k,x,M)]);if(!P)throw Error(i.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let z={externalActionId:0n,externalAddress:P,externalActionMetadata:`0x00`},B=`swapperM${k.length}x${L[0].length}x2`,[{zkCallData:V,circomData:H,dimData:U},W]=await Promise.all([_.constructZkProof(a.merkleTreeHinkalByChain[T],a.merkleTreeAccessTokenByChain[T],L,R,a.userKeys,B,z.externalActionId,z.externalAddress,z.externalActionMetadata,a.generateProofRemotely,P,T,void 0,void 0,void 0,F,void 0,N,a.getContractWithFetcher(T,n.ContractType.HinkalHelperContract),I),g.buildCommitmentValidationData(T,a.userKeys,O,L)]),G=await s.reorderZkCallData(E,V,U,H);return await v.transactCallRelayer(T,V,U,H,W,void 0,void 0,p.constructAdminData(w,T,O,k,D),G)};exports.hinkalTransfer=x;
@@ -2,7 +2,6 @@ import { isTronLike as e } from "../../constants/chains.constants.mjs";
2
2
  import { HINKAL_PRIVATE_SEND_VARIABLE_RATE 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
- import "../../types/index.mjs";
6
5
  import { transactionErrorCodes as i } from "../../error-handling/error-codes.constants.mjs";
7
6
  import { getCurrentTimeInSeconds as a } from "../../functions/utils/time.utils.mjs";
8
7
  import { isValidPrivateAddress as o } from "../../functions/utils/addresses.mjs";
@@ -16,7 +15,6 @@ import { constructAdminData as m } from "../../functions/pre-transaction/constru
16
15
  import { getFeeStructure as h } from "../../functions/pre-transaction/getFeeStructure.mjs";
17
16
  import { getKycAndSignatureData as g } from "../../functions/pre-transaction/getKycAndSignatureData.mjs";
18
17
  import { buildCommitmentValidationData as _ } from "../../functions/pre-transaction/buildCommitmentValidationData.mjs";
19
- import "../../functions/pre-transaction/index.mjs";
20
18
  import { constructZkProof as v } from "../../functions/snarkjs/constructGeneralZkProof.mjs";
21
19
  import { transactCallRelayer as y } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
22
20
  import { mergeWithFeeStructure as b } from "../../functions/pre-transaction/merge-with-fee-structure.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`);require(`../../types/index.cjs`);const i=require(`../../error-handling/error-codes.constants.cjs`),a=require(`../../functions/utils/time.utils.cjs`),o=require(`../../functions/utils/tron.utils.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/utils/fees.utils.cjs`),d=require(`../../functions/pre-transaction/getVolatileTransferAmount.cjs`),f=require(`../../functions/pre-transaction/constructAdminData.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/snarkjs/constructGeneralZkProof.cjs`),_=require(`../../functions/web3/functionCalls/transactCallDirect.cjs`),v=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),y=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`);var b=async(e,t,n,r)=>{let i=[...await c.addPaddingToUtxos(e,t,n,r)],o=[],s=a.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=l.outputUtxoProcessing(e.userKeys,i[t],r[t],s);o.push(n)}return{inputUtxosArray:i,outputUtxosArray:o}},x=async(a,c,l,x,S,C,w,T)=>{let E=s.validateAndGetChainId(c),D=e.isTronLike(E),O=o.addressToHexFormat(await a.getEthereumAddressByChain(E)),k=c.map(e=>e.erc20TokenAddress),A=await d.modifyVolatileTokenAmountChanges(E,c,l),j;if(!S){let e=w??await p.getFeeStructure(E,C,k,r.ExternalActionId.Transact),t=u.calculateTotalFee(-A[0],e);j={feeToken:e.feeToken,flatFee:t,variableRate:0n},y.mergeWithFeeStructure(E,k,A,j)}let M=c[0];if(!M)throw Error(`Deposit Action: No Token Found`);let N={externalActionId:0n,externalAddress:o.addressToHexFormat(x),externalActionMetadata:`0x00`},[P,{patchAccessTokenMerkleTree:F,signatureData:I},{inputUtxosArray:L,outputUtxosArray:R}]=await Promise.all([a.getRandomRelay(E,!0),m.getKycAndSignatureData(a,E,k,A,O),b(a,E,k,A)]);if(!S&&!P)throw Error(i.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let z=`swapperM${A.length.toString()}x${L[0].length}x1`,[{zkCallData:B,circomData:V,dimData:H},U]=await Promise.all([g.constructZkProof(a.merkleTreeHinkalByChain[E],a.merkleTreeAccessTokenByChain[E],L,R,a.userKeys,z,N.externalActionId,N.externalAddress,N.externalActionMetadata,a.generateProofRemotely,S?t.zeroAddress:P,E,void 0,void 0,void 0,F,void 0,j,a.getContractWithFetcher(E,n.ContractType.HinkalHelperContract),I,S?O:void 0),h.buildCommitmentValidationData(E,a.userKeys,k,L)]),W=await o.reorderZkCallData(D,B,H,V);if(S){if(!M)throw Error(`Withdraw Action: No Token Found`);return await _.transactCallDirect(a,E,A[0],M,B,V,H)}return await v.transactCallRelayer(E,B,H,V,U,void 0,void 0,f.constructAdminData(T,E,k,A,O),W)};exports.hinkalWithdraw=x;
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(`../../error-handling/error-codes.constants.cjs`),a=require(`../../functions/utils/time.utils.cjs`),o=require(`../../functions/utils/tron.utils.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/utils/fees.utils.cjs`),d=require(`../../functions/pre-transaction/getVolatileTransferAmount.cjs`),f=require(`../../functions/pre-transaction/constructAdminData.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/snarkjs/constructGeneralZkProof.cjs`),_=require(`../../functions/web3/functionCalls/transactCallDirect.cjs`),v=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),y=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`);var b=async(e,t,n,r)=>{let i=[...await c.addPaddingToUtxos(e,t,n,r)],o=[],s=a.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=l.outputUtxoProcessing(e.userKeys,i[t],r[t],s);o.push(n)}return{inputUtxosArray:i,outputUtxosArray:o}},x=async(a,c,l,x,S,C,w,T)=>{let E=s.validateAndGetChainId(c),D=e.isTronLike(E),O=o.addressToHexFormat(await a.getEthereumAddressByChain(E)),k=c.map(e=>e.erc20TokenAddress),A=await d.modifyVolatileTokenAmountChanges(E,c,l),j;if(!S){let e=w??await p.getFeeStructure(E,C,k,r.ExternalActionId.Transact),t=u.calculateTotalFee(-A[0],e);j={feeToken:e.feeToken,flatFee:t,variableRate:0n},y.mergeWithFeeStructure(E,k,A,j)}let M=c[0];if(!M)throw Error(`Deposit Action: No Token Found`);let N={externalActionId:0n,externalAddress:o.addressToHexFormat(x),externalActionMetadata:`0x00`},[P,{patchAccessTokenMerkleTree:F,signatureData:I},{inputUtxosArray:L,outputUtxosArray:R}]=await Promise.all([a.getRandomRelay(E,!0),m.getKycAndSignatureData(a,E,k,A,O),b(a,E,k,A)]);if(!S&&!P)throw Error(i.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let z=`swapperM${A.length.toString()}x${L[0].length}x1`,[{zkCallData:B,circomData:V,dimData:H},U]=await Promise.all([g.constructZkProof(a.merkleTreeHinkalByChain[E],a.merkleTreeAccessTokenByChain[E],L,R,a.userKeys,z,N.externalActionId,N.externalAddress,N.externalActionMetadata,a.generateProofRemotely,S?t.zeroAddress:P,E,void 0,void 0,void 0,F,void 0,j,a.getContractWithFetcher(E,n.ContractType.HinkalHelperContract),I,S?O:void 0),h.buildCommitmentValidationData(E,a.userKeys,k,L)]),W=await o.reorderZkCallData(D,B,H,V);if(S){if(!M)throw Error(`Withdraw Action: No Token Found`);return await _.transactCallDirect(a,E,A[0],M,B,V,H)}return await v.transactCallRelayer(E,B,H,V,U,void 0,void 0,f.constructAdminData(T,E,k,A,O),W)};exports.hinkalWithdraw=x;
@@ -2,7 +2,6 @@ import { isTronLike as e } from "../../constants/chains.constants.mjs";
2
2
  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
- import "../../types/index.mjs";
6
5
  import { transactionErrorCodes as i } from "../../error-handling/error-codes.constants.mjs";
7
6
  import { getCurrentTimeInSeconds as a } from "../../functions/utils/time.utils.mjs";
8
7
  import { addressToHexFormat as o, reorderZkCallData as s } from "../../functions/utils/tron.utils.mjs";
@@ -15,7 +14,6 @@ import { constructAdminData as p } from "../../functions/pre-transaction/constru
15
14
  import { getFeeStructure as m } from "../../functions/pre-transaction/getFeeStructure.mjs";
16
15
  import { getKycAndSignatureData as h } from "../../functions/pre-transaction/getKycAndSignatureData.mjs";
17
16
  import { buildCommitmentValidationData as g } from "../../functions/pre-transaction/buildCommitmentValidationData.mjs";
18
- import "../../functions/pre-transaction/index.mjs";
19
17
  import { constructZkProof as _ } from "../../functions/snarkjs/constructGeneralZkProof.mjs";
20
18
  import { transactCallDirect as v } from "../../functions/web3/functionCalls/transactCallDirect.mjs";
21
19
  import { transactCallRelayer as y } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`);require(`../../constants/protocol.constants.cjs`);const t=require(`../../types/ethereum-network.types.cjs`),n=require(`../../functions/utils/amounts.utils.cjs`),r=require(`../../types/external-action.types.cjs`),i=require(`../../types/admin.types.cjs`);require(`../../types/index.cjs`);const a=require(`../../error-handling/error-codes.constants.cjs`),o=require(`../../functions/web3/etherFunctions.cjs`),s=require(`../../functions/utils/time.utils.cjs`),c=require(`../utxo/Utxo.cjs`),l=require(`../../functions/utils/encodeTokenWithId.cjs`),u=require(`../../functions/utils/tron.utils.cjs`),d=require(`../../functions/web3/events/getInputUtxoAndBalance.cjs`),f=require(`../../functions/utils/token-check.utils.cjs`),p=require(`../../functions/web3/events/getShieldedBalance.cjs`),m=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),h=require(`../../functions/snarkjs/common.snarkjs.cjs`),g=require(`../../functions/pre-transaction/constructAdminData.cjs`),_=require(`../../functions/pre-transaction/getFeeStructure.cjs`),v=require(`../../functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs`),y=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`),b=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`);require(`../../functions/pre-transaction/index.cjs`);const x=require(`../../constants/tx-confirmation.constants.cjs`),S=require(`../../functions/utils/tx-confirmation.utils.cjs`),C=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),w=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),T=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),E=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`);let D=require(`ethers`);var O=async(e,t,n,r)=>{let i=[...await p.addPaddingToUtxos(e,t,n,r,void 0,void 0,!1,!0)],a=[],o=s.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=m.outputUtxoProcessing(e.userKeys,i[t],r[t],o);a.push(n)}return{inputUtxosArray:i,outputUtxosArray:a}},k=async(e,t,n,r)=>{let i=[...await p.addPaddingToUtxos(e,t,n,r,6,void 0,!1,!0)][0],a=s.getCurrentTimeInSeconds().toString(),{outputUtxos:o}=m.outputUtxoProcessing(e.userKeys,i,r[0],a,void 0,!1);return{inputUtxos:i,outputUtxos:o}},A=async(n,o,s,c,l)=>{let d=e.isTronLike(o),f=[s.erc20TokenAddress],p=s.erc20TokenAddress,[m,h,v]=await Promise.all([_.getFeeStructure(o,p,f,r.ExternalActionId.Transact),n.getRandomRelay(o,!0),n.getEthereumAddressByChain(o)]),x=u.addressToHexFormat(v);if(!h)throw Error(a.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let S=u.addressToHexFormat(l),w=c-m.flatFee;if(w<=0n)throw Error(`Insufficient balance to cover fee. Balance: ${c}, Fee: ${m.flatFee}`);let D=[-w];E.mergeWithFeeStructure(o,f,D,m);let k={externalActionId:0n,externalAddress:S,externalActionMetadata:`0x00`},[{patchAccessTokenMerkleTree:A,signatureData:j},{inputUtxosArray:M,outputUtxosArray:N}]=await Promise.all([y.getKycAndSignatureData(n,o,f,D,x),O(n,o,f,D)]),P=`swapperM${D.length.toString()}x${M[0].length}x1`,[{zkCallData:F,circomData:I,dimData:L},R]=await Promise.all([C.constructZkProof(n.merkleTreeHinkalByChain[o],n.merkleTreeAccessTokenByChain[o],M,N,n.userKeys,P,k.externalActionId,k.externalAddress,k.externalActionMetadata,n.generateProofRemotely,h,o,void 0,void 0,void 0,A,void 0,m,n.getContractWithFetcher(o,t.ContractType.HinkalHelperContract),j),b.buildCommitmentValidationData(o,n.userKeys,f,M)]),z=await u.reorderZkCallData(d,F,L,I);return{tx:await T.transactCallRelayer(o,F,L,I,R,void 0,void 0,g.constructAdminData(i.AdminTransactionType.WithdrawOnChainUtxos,o,f,D,x),z),amountToRecipient:w}},j=async(t,n,i,s,l,u)=>{let d=[i.erc20TokenAddress],{originalDeployer:f,hinkalIdl:p}=e.networkRegistry[n].contractData;if(!f||!p)throw Error(`missing data`);let{userKeys:m,merkleTreeAccessTokenByChain:g,merkleTreeHinkalByChain:y}=t,x=i.erc20TokenAddress,[S,C,E]=await Promise.all([_.getFeeStructure(n,x,d,r.ExternalActionId.Transact,void 0,void 0,{mintTo:d[0],recipient:l,nullifierCount:u}),t.getRandomRelay(n,!0),t.getEthereumAddressByChain(n)]);if(!C)throw Error(a.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let O=s-S.flatFee;if(O<=0n)throw Error(`Insufficient balance to cover fee. Balance: ${s}, Fee: ${S.flatFee}`);let A=[-O];A[0]-=S.flatFee;let[{patchAccessTokenMerkleTree:j,kycRequired:M,hasAccessToken:N},{inputUtxos:P,outputUtxos:F}]=await Promise.all([v.shouldPatchAccessTokenMerkleTree(t,n,d,A),k(t,n,d,A)]),I=c.Utxo.findCorrectRandomization(o.randomBigInt(31),t.userKeys.getShieldedPrivateKey()),L={tokenNumber:d.length,nullifierAmount:P.length,outputAmount:F.length},R=t.getSolanaProgram(p),z=h.calcEncryptedOutputs([F])[0][0],B=Array.from(D.ethers.getBytes(z)),[{proofAArr:V,proofBArr:H,proofCArr:U,publicInputsArr:W},G]=await Promise.all([w.constructSolanaZkProof(t.generateProofRemotely,f,y[n],g[n],m,R,[d[0]],[P],[F],I,S.flatFee,S.variableRate,l,C,L,[B],n,j),b.buildCommitmentValidationData(n,m,d,[P])]),K={recipient:l,mint:d[0]===`11111111111111111111111111111111`?void 0:d[0]};return{tx:await T.solanaTransactCallRelayer({chainId:n,relayAddress:C,functionName:`transact`,args:{proofAArr:V,proofBArr:H,proofCArr:U,publicInputsArr:W,encryptedOutputs:[B],relayerFee:S.flatFee.toString(),dimensions:L},accounts:K,commitmentValidationData:G,solanaAccessTokenData:!N&&M?{ethereumAddress:E,accessKey:m.getAccessKey()}:void 0}),amountToRecipient:O}},M=async(t,n,r,i,a,o)=>e.isSolanaLike(n)?j(t,n,r,i,a,o):A(t,n,r,i,a),N=async(e,t,r)=>{let i=[],a=f.validateAndGetChainId([t]),o=l.encodeTokenWithId(a,{erc20TokenAddress:t.erc20TokenAddress,tokenId:0});for(;;){await e.resetMerkleTreesIfNecessary([a]);let s=((await d.getInputUtxoAndBalancePerToken({hinkal:e,sliceIfMore6:!1,useBlockedUtxos:!0,chainId:a,allowRemoteDecryption:e.generateProofRemotely}))?.get(o)??[]).filter(e=>e.amount>0n).sort((e,t)=>Number(t.amount-e.amount)).slice(0,6),c=n.countTotalAmountInUtxos(s);if(!c)break;let{tx:l}=await M(e,a,t,c,r,s.length);await S.waitForTransactionConfirmation(a,l,{solanaCommitment:`finalized`,evmTimeoutMs:x.RELAYER_TX_CONFIRMATION_TIMEOUT}),i.push(l)}return i};exports.hinkalWithdrawStuckUtxos=N;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`);require(`../../constants/protocol.constants.cjs`);const t=require(`../../types/ethereum-network.types.cjs`),n=require(`../../functions/utils/amounts.utils.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/web3/etherFunctions.cjs`),s=require(`../../functions/utils/time.utils.cjs`),c=require(`../utxo/Utxo.cjs`),l=require(`../../functions/utils/encodeTokenWithId.cjs`),u=require(`../../functions/utils/tron.utils.cjs`),d=require(`../../functions/web3/events/getInputUtxoAndBalance.cjs`),f=require(`../../functions/utils/token-check.utils.cjs`),p=require(`../../functions/web3/events/getShieldedBalance.cjs`),m=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),h=require(`../../functions/snarkjs/common.snarkjs.cjs`),g=require(`../../functions/pre-transaction/constructAdminData.cjs`),_=require(`../../functions/pre-transaction/getFeeStructure.cjs`),v=require(`../../functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs`),y=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`),b=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`),x=require(`../../constants/tx-confirmation.constants.cjs`),S=require(`../../functions/utils/tx-confirmation.utils.cjs`),C=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),w=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),T=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),E=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`);let D=require(`ethers`);var O=async(e,t,n,r)=>{let i=[...await p.addPaddingToUtxos(e,t,n,r,void 0,void 0,!1,!0)],a=[],o=s.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=m.outputUtxoProcessing(e.userKeys,i[t],r[t],o);a.push(n)}return{inputUtxosArray:i,outputUtxosArray:a}},k=async(e,t,n,r)=>{let i=[...await p.addPaddingToUtxos(e,t,n,r,6,void 0,!1,!0)][0],a=s.getCurrentTimeInSeconds().toString(),{outputUtxos:o}=m.outputUtxoProcessing(e.userKeys,i,r[0],a,void 0,!1);return{inputUtxos:i,outputUtxos:o}},A=async(n,o,s,c,l)=>{let d=e.isTronLike(o),f=[s.erc20TokenAddress],p=s.erc20TokenAddress,[m,h,v]=await Promise.all([_.getFeeStructure(o,p,f,r.ExternalActionId.Transact),n.getRandomRelay(o,!0),n.getEthereumAddressByChain(o)]),x=u.addressToHexFormat(v);if(!h)throw Error(a.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let S=u.addressToHexFormat(l),w=c-m.flatFee;if(w<=0n)throw Error(`Insufficient balance to cover fee. Balance: ${c}, Fee: ${m.flatFee}`);let D=[-w];E.mergeWithFeeStructure(o,f,D,m);let k={externalActionId:0n,externalAddress:S,externalActionMetadata:`0x00`},[{patchAccessTokenMerkleTree:A,signatureData:j},{inputUtxosArray:M,outputUtxosArray:N}]=await Promise.all([y.getKycAndSignatureData(n,o,f,D,x),O(n,o,f,D)]),P=`swapperM${D.length.toString()}x${M[0].length}x1`,[{zkCallData:F,circomData:I,dimData:L},R]=await Promise.all([C.constructZkProof(n.merkleTreeHinkalByChain[o],n.merkleTreeAccessTokenByChain[o],M,N,n.userKeys,P,k.externalActionId,k.externalAddress,k.externalActionMetadata,n.generateProofRemotely,h,o,void 0,void 0,void 0,A,void 0,m,n.getContractWithFetcher(o,t.ContractType.HinkalHelperContract),j),b.buildCommitmentValidationData(o,n.userKeys,f,M)]),z=await u.reorderZkCallData(d,F,L,I);return{tx:await T.transactCallRelayer(o,F,L,I,R,void 0,void 0,g.constructAdminData(i.AdminTransactionType.WithdrawOnChainUtxos,o,f,D,x),z),amountToRecipient:w}},j=async(t,n,i,s,l,u)=>{let d=[i.erc20TokenAddress],{originalDeployer:f,hinkalIdl:p}=e.networkRegistry[n].contractData;if(!f||!p)throw Error(`missing data`);let{userKeys:m,merkleTreeAccessTokenByChain:g,merkleTreeHinkalByChain:y}=t,x=i.erc20TokenAddress,[S,C,E]=await Promise.all([_.getFeeStructure(n,x,d,r.ExternalActionId.Transact,void 0,void 0,{mintTo:d[0],recipient:l,nullifierCount:u}),t.getRandomRelay(n,!0),t.getEthereumAddressByChain(n)]);if(!C)throw Error(a.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let O=s-S.flatFee;if(O<=0n)throw Error(`Insufficient balance to cover fee. Balance: ${s}, Fee: ${S.flatFee}`);let A=[-O];A[0]-=S.flatFee;let[{patchAccessTokenMerkleTree:j,kycRequired:M,hasAccessToken:N},{inputUtxos:P,outputUtxos:F}]=await Promise.all([v.shouldPatchAccessTokenMerkleTree(t,n,d,A),k(t,n,d,A)]),I=c.Utxo.findCorrectRandomization(o.randomBigInt(31),t.userKeys.getShieldedPrivateKey()),L={tokenNumber:d.length,nullifierAmount:P.length,outputAmount:F.length},R=t.getSolanaProgram(p),z=h.calcEncryptedOutputs([F])[0][0],B=Array.from(D.ethers.getBytes(z)),[{proofAArr:V,proofBArr:H,proofCArr:U,publicInputsArr:W},G]=await Promise.all([w.constructSolanaZkProof(t.generateProofRemotely,f,y[n],g[n],m,R,[d[0]],[P],[F],I,S.flatFee,S.variableRate,l,C,L,[B],n,j),b.buildCommitmentValidationData(n,m,d,[P])]),K={recipient:l,mint:d[0]===`11111111111111111111111111111111`?void 0:d[0]};return{tx:await T.solanaTransactCallRelayer({chainId:n,relayAddress:C,functionName:`transact`,args:{proofAArr:V,proofBArr:H,proofCArr:U,publicInputsArr:W,encryptedOutputs:[B],relayerFee:S.flatFee.toString(),dimensions:L},accounts:K,commitmentValidationData:G,solanaAccessTokenData:!N&&M?{ethereumAddress:E,accessKey:m.getAccessKey()}:void 0}),amountToRecipient:O}},M=async(t,n,r,i,a,o)=>e.isSolanaLike(n)?j(t,n,r,i,a,o):A(t,n,r,i,a),N=async(e,t,r)=>{let i=[],a=f.validateAndGetChainId([t]),o=l.encodeTokenWithId(a,{erc20TokenAddress:t.erc20TokenAddress,tokenId:0});for(;;){await e.resetMerkleTreesIfNecessary([a]);let s=((await d.getInputUtxoAndBalancePerToken({hinkal:e,sliceIfMore6:!1,useBlockedUtxos:!0,chainId:a,allowRemoteDecryption:e.generateProofRemotely}))?.get(o)??[]).filter(e=>e.amount>0n).sort((e,t)=>Number(t.amount-e.amount)).slice(0,6),c=n.countTotalAmountInUtxos(s);if(!c)break;let{tx:l}=await M(e,a,t,c,r,s.length);await S.waitForTransactionConfirmation(a,l,{solanaCommitment:`finalized`,evmTimeoutMs:x.RELAYER_TX_CONFIRMATION_TIMEOUT}),i.push(l)}return i};exports.hinkalWithdrawStuckUtxos=N;
@@ -4,7 +4,6 @@ import { ContractType as r } from "../../types/ethereum-network.types.mjs";
4
4
  import { countTotalAmountInUtxos as i } from "../../functions/utils/amounts.utils.mjs";
5
5
  import { ExternalActionId as a } from "../../types/external-action.types.mjs";
6
6
  import { AdminTransactionType as o } from "../../types/admin.types.mjs";
7
- import "../../types/index.mjs";
8
7
  import { transactionErrorCodes as s } from "../../error-handling/error-codes.constants.mjs";
9
8
  import { randomBigInt as c } from "../../functions/web3/etherFunctions.mjs";
10
9
  import { getCurrentTimeInSeconds as l } from "../../functions/utils/time.utils.mjs";
@@ -21,7 +20,6 @@ import { getFeeStructure as b } from "../../functions/pre-transaction/getFeeStru
21
20
  import { shouldPatchAccessTokenMerkleTree as x } from "../../functions/pre-transaction/shouldPatchAccessTokenMerkleTree.mjs";
22
21
  import { getKycAndSignatureData as S } from "../../functions/pre-transaction/getKycAndSignatureData.mjs";
23
22
  import { buildCommitmentValidationData as C } from "../../functions/pre-transaction/buildCommitmentValidationData.mjs";
24
- import "../../functions/pre-transaction/index.mjs";
25
23
  import { RELAYER_TX_CONFIRMATION_TIMEOUT as w } from "../../constants/tx-confirmation.constants.mjs";
26
24
  import { waitForTransactionConfirmation as T } from "../../functions/utils/tx-confirmation.utils.mjs";
27
25
  import { constructZkProof as E } from "../../functions/snarkjs/constructGeneralZkProof.mjs";
@@ -1,5 +1,4 @@
1
1
  export * from './Hinkal';
2
- export * from './HinkalPrivateBalanceController';
3
2
  export * from './IHinkal';
4
3
  export * from './hinkalDeposit';
5
4
  export * from './hinkalSwap';
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../types/ethereum-network.types.cjs`),n=require(`../../types/balances.types.cjs`),r=require(`../../types/events.types.cjs`);require(`../../types/index.cjs`);const i=require(`../../functions/utils/getContractAddress.cjs`),a=require(`../../functions/utils/mutexes.utils.cjs`),o=require(`../../functions/utils/create-provider.cjs`),s=require(`../../functions/web3/events/balanceChangedHandler.cjs`),c=require(`../event-service/evm/ClientBlockchainEventEmitter.cjs`),l=require(`../event-service/solana/ClientSolanaBlockchainEventEmitter.cjs`);require(`../event-service/index.cjs`);const u=require(`../snapshot/SnapshotFetcherService.cjs`),d=require(`../snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.cjs`),f=require(`../snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.cjs`),p=require(`../snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.cjs`),m=require(`../snapshot/evm-snapshots/ClientAccessTokenSnapshotService.cjs`),h=require(`../snapshot/evm-snapshots/ClientCommitmentsSnapshotService.cjs`),g=require(`../snapshot/evm-snapshots/ClientNullifierSnapshotService.cjs`);require(`../snapshot/index.cjs`);let _=require(`@solana/web3.js`);var v=async(v,y)=>{let b=y??v.getSupportedChains();b.forEach(e=>{v.commitmentsSnapshotServiceByChain[e]?.intervalClear(),v.nullifierSnapshotServiceByChain[e]?.intervalClear(),v.accessTokenSnapshotServiceByChain[e]?.intervalClear()});let x=b.map(async y=>{let{maxPageSize:b,fetchRpcUrl:x,contractData:S}=e.networkRegistry[y],C,w;if(e.isSolanaLike(y)){let e=S.hinkalAddress;if(!x||!e)throw Error(`Fetch RPC URL or Solana program ID is not set`);C=new l.ClientSolanaBlockchainEventEmitter(y,o.createCustomSolanaConnection(x),new _.PublicKey(e),0,a.getChainBalanceFetchingMutex(y),b);let t=S.hinkalIdl;t&&C.setIdl(t);let n=new u.SnapshotFetcherService(y,e);v.commitmentsSnapshotServiceByChain[y]=new d.ClientSolanaCommitmentsSnapshotService(C,n),v.nullifierSnapshotServiceByChain[y]=new f.ClientSolanaNullifierSnapshotService(C,n),v.accessTokenSnapshotServiceByChain[y]=new p.ClientSolanaAccessTokenSnapshotService(C,n)}else{let e=v.getContractWithFetcherByChainId(y,t.ContractType.HinkalContract),n=v.getContractWithFetcherByChainId(y,t.ContractType.DepositOnChainUtxos),o=a.getChainBalanceFetchingMutex(y);C=new c.ClientBlockchainEventEmitter(r.EventCategory.MainContractEvents,y,e,0,o,b,n),w=new c.ClientBlockchainEventEmitter(r.EventCategory.AccessTokenContractEvents,y,v.getContractWithFetcherByChainId(y,t.ContractType.AccessTokenContract),0,o,b);let s=new u.SnapshotFetcherService(y,i.getContractAddress(e));v.commitmentsSnapshotServiceByChain[y]=new h.ClientCommitmentsSnapshotService(C,s),v.nullifierSnapshotServiceByChain[y]=new g.ClientNullifierSnapshotService(C,s),v.accessTokenSnapshotServiceByChain[y]=new m.ClientAccessTokenSnapshotService(w,s)}let T=v.commitmentsSnapshotServiceByChain[y],E=v.nullifierSnapshotServiceByChain[y],D=v.accessTokenSnapshotServiceByChain[y];if(!T||!E||!D)throw Error(`Missing snapshot service for chain ${y}`);await Promise.all([T.init(),E.init(),D.init()]),await Promise.all([C.init(),w?.init()]),v.merkleTreeHinkalByChain[y]=T.merkleTree,v.merkleTreeAccessTokenByChain[y]=D.merkleTree,v.nullifiersByChain[y]=E.nullifiers,v.encryptedOutputsByChain[y]=T.encryptedOutputs,C.onEventsProcessed=e=>{e>0&&s.balanceChangedHandler({updateType:n.PrivateBalanceUpdateType.FreshWithoutLoader,updateTokensListBefore:!0,chainIdToUpdate:y})}});await Promise.allSettled(x)};exports.resetMerkleTrees=v;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../types/ethereum-network.types.cjs`),n=require(`../../types/balances.types.cjs`),r=require(`../../types/events.types.cjs`),i=require(`../../functions/utils/getContractAddress.cjs`),a=require(`../../functions/utils/mutexes.utils.cjs`),o=require(`../../functions/utils/create-provider.cjs`),s=require(`../../functions/web3/events/balanceChangedHandler.cjs`),c=require(`../event-service/evm/ClientBlockchainEventEmitter.cjs`),l=require(`../event-service/solana/ClientSolanaBlockchainEventEmitter.cjs`),u=require(`../snapshot/SnapshotFetcherService.cjs`),d=require(`../snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.cjs`),f=require(`../snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.cjs`),p=require(`../snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.cjs`),m=require(`../snapshot/evm-snapshots/ClientAccessTokenSnapshotService.cjs`),h=require(`../snapshot/evm-snapshots/ClientCommitmentsSnapshotService.cjs`),g=require(`../snapshot/evm-snapshots/ClientNullifierSnapshotService.cjs`);let _=require(`@solana/web3.js`);var v=async(v,y)=>{let b=y??v.getSupportedChains();b.forEach(e=>{v.commitmentsSnapshotServiceByChain[e]?.intervalClear(),v.nullifierSnapshotServiceByChain[e]?.intervalClear(),v.accessTokenSnapshotServiceByChain[e]?.intervalClear()});let x=b.map(async y=>{let{maxPageSize:b,fetchRpcUrl:x,contractData:S}=e.networkRegistry[y],C,w;if(e.isSolanaLike(y)){let e=S.hinkalAddress;if(!x||!e)throw Error(`Fetch RPC URL or Solana program ID is not set`);C=new l.ClientSolanaBlockchainEventEmitter(y,o.createCustomSolanaConnection(x),new _.PublicKey(e),0,a.getChainBalanceFetchingMutex(y),b);let t=S.hinkalIdl;t&&C.setIdl(t);let n=new u.SnapshotFetcherService(y,e);v.commitmentsSnapshotServiceByChain[y]=new d.ClientSolanaCommitmentsSnapshotService(C,n),v.nullifierSnapshotServiceByChain[y]=new f.ClientSolanaNullifierSnapshotService(C,n),v.accessTokenSnapshotServiceByChain[y]=new p.ClientSolanaAccessTokenSnapshotService(C,n)}else{let e=v.getContractWithFetcherByChainId(y,t.ContractType.HinkalContract),n=v.getContractWithFetcherByChainId(y,t.ContractType.DepositOnChainUtxos),o=a.getChainBalanceFetchingMutex(y);C=new c.ClientBlockchainEventEmitter(r.EventCategory.MainContractEvents,y,e,0,o,b,n),w=new c.ClientBlockchainEventEmitter(r.EventCategory.AccessTokenContractEvents,y,v.getContractWithFetcherByChainId(y,t.ContractType.AccessTokenContract),0,o,b);let s=new u.SnapshotFetcherService(y,i.getContractAddress(e));v.commitmentsSnapshotServiceByChain[y]=new h.ClientCommitmentsSnapshotService(C,s),v.nullifierSnapshotServiceByChain[y]=new g.ClientNullifierSnapshotService(C,s),v.accessTokenSnapshotServiceByChain[y]=new m.ClientAccessTokenSnapshotService(w,s)}let T=v.commitmentsSnapshotServiceByChain[y],E=v.nullifierSnapshotServiceByChain[y],D=v.accessTokenSnapshotServiceByChain[y];if(!T||!E||!D)throw Error(`Missing snapshot service for chain ${y}`);await Promise.all([T.init(),E.init(),D.init()]),await Promise.all([C.init(),w?.init()]),v.merkleTreeHinkalByChain[y]=T.merkleTree,v.merkleTreeAccessTokenByChain[y]=D.merkleTree,v.nullifiersByChain[y]=E.nullifiers,v.encryptedOutputsByChain[y]=T.encryptedOutputs,C.onEventsProcessed=e=>{e>0&&s.balanceChangedHandler({updateType:n.PrivateBalanceUpdateType.FreshWithoutLoader,updateTokensListBefore:!0,chainIdToUpdate:y})}});await Promise.allSettled(x)};exports.resetMerkleTrees=v;
@@ -2,14 +2,12 @@ import { isSolanaLike as e, networkRegistry as t } from "../../constants/chains.
2
2
  import { ContractType as n } from "../../types/ethereum-network.types.mjs";
3
3
  import { PrivateBalanceUpdateType as r } from "../../types/balances.types.mjs";
4
4
  import { EventCategory as i } from "../../types/events.types.mjs";
5
- import "../../types/index.mjs";
6
5
  import { getContractAddress as a } from "../../functions/utils/getContractAddress.mjs";
7
6
  import { getChainBalanceFetchingMutex as o } from "../../functions/utils/mutexes.utils.mjs";
8
7
  import { createCustomSolanaConnection as s } from "../../functions/utils/create-provider.mjs";
9
8
  import { balanceChangedHandler as c } from "../../functions/web3/events/balanceChangedHandler.mjs";
10
9
  import { ClientBlockchainEventEmitter as l } from "../event-service/evm/ClientBlockchainEventEmitter.mjs";
11
10
  import { ClientSolanaBlockchainEventEmitter as u } from "../event-service/solana/ClientSolanaBlockchainEventEmitter.mjs";
12
- import "../event-service/index.mjs";
13
11
  import { SnapshotFetcherService as d } from "../snapshot/SnapshotFetcherService.mjs";
14
12
  import { ClientSolanaCommitmentsSnapshotService as f } from "../snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.mjs";
15
13
  import { ClientSolanaNullifierSnapshotService as p } from "../snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.mjs";
@@ -17,7 +15,6 @@ import { ClientSolanaAccessTokenSnapshotService as m } from "../snapshot/solana-
17
15
  import { ClientAccessTokenSnapshotService as h } from "../snapshot/evm-snapshots/ClientAccessTokenSnapshotService.mjs";
18
16
  import { ClientCommitmentsSnapshotService as g } from "../snapshot/evm-snapshots/ClientCommitmentsSnapshotService.mjs";
19
17
  import { ClientNullifierSnapshotService as _ } from "../snapshot/evm-snapshots/ClientNullifierSnapshotService.mjs";
20
- import "../snapshot/index.mjs";
21
18
  import { PublicKey as v } from "@solana/web3.js";
22
19
  //#region libs/shared/common/src/data-structures/Hinkal/resetMerkleTrees.ts
23
20
  var y = async (y, b) => {
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../types/activities.types.cjs`),t=require(`../../types/cache.types.cjs`);require(`../../types/index.cjs`);const n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../../error-handling/logger.cjs`);require(`../../error-handling/index.cjs`);const i=require(`../../constants/tx-confirmation.constants.cjs`),a=require(`../../functions/utils/tx-confirmation.utils.cjs`);require(`../../functions/index.cjs`);let o=require(`idb-keyval`);var s=class{generateTxId(){return`tx_${new Date().getTime()}_${Math.random().toString(36).substring(2,15)}`}async getTransactionRecord(){return await(0,o.get)(t.StorageKeys.TX_ACTIVITY)||{}}async saveTxRequest(n){let{from:r,to:i,gasInDollar:a,extraNativeTokenFee:s,chainId:c,status:l,txHash:u,activityType:d,tokensReceive:f,tokensSpend:p,tokensApprove:m,activityIcon:h,dappUrl:g,dappName:_,integrationProvider:v,knownPartialSignature:y}=n,b=this.generateTxId(),x={id:b,from:r,to:i,gasInDollar:a?.toString(),extraNativeTokenFee:s?.toString(),chainId:c,txHash:u,activityType:d,status:l??e.ActivityStatus.PENDING,timestamp:new Date,tokensReceive:f,tokensSpend:p,tokensApprove:m,activityIcon:h,dappUrl:g,dappName:_,integrationProvider:v,knownPartialSignature:y};return await(0,o.update)(t.StorageKeys.TX_ACTIVITY,(e={})=>(e[b]=x,e)),b}async getTxRequest(e){return(await this.getTransactionRecord())[e]||null}async getAllTxRequests(e){let t=await this.getTransactionRecord();return Object.values(t).filter(t=>t.chainId===e).sort((e,t)=>new Date(t.timestamp).getTime()-new Date(e.timestamp).getTime())}async updateTxHash(e,n){let r=await this.getTxRequest(e);if(!r)throw Error(`Activity not found`);let i={...r,txHash:n};await(0,o.update)(t.StorageKeys.TX_ACTIVITY,(t={})=>(t[e]=i,t))}async updateTxStatusAndHash(e,n,r){let i=await this.getTxRequest(e);if(!i)throw Error(`Transaction not found`);let a={...i,status:n,txHash:r,timestamp:new Date};return await(0,o.update)(t.StorageKeys.TX_ACTIVITY,(t={})=>(t[e]=a,t)),a}async updateActivity(e,t,n){try{await this.updateTxStatusAndHash(e,t,n)}catch(e){r.Logger.error(`error in updating tx request`,e)}}async removePendingTransactions(e){try{await(0,o.update)(t.StorageKeys.TX_ACTIVITY,(t={})=>(delete t[e],t))}catch(e){r.Logger.error(`error in deleting tx requests`,e)}}async updatePendingTransactions(t,o,s,c){try{let r=await this.getTxRequest(o);if(!r)throw Error(`Transaction not found`);let{chainId:l}=r;if(!t.success){c?.(t.error),await this.updateActivity(o,e.ActivityStatus.FAILED,`erroredTx`in t?t.erroredTx:void 0);return}if(`txHash`in t){let{txHash:r}=t;try{await a.waitForTransactionConfirmation(l,r,{evmTimeoutMs:i.RELAYER_TX_CONFIRMATION_TIMEOUT})}catch(t){let i=t instanceof Error?t:Error(n.transactionErrorCodes.UNKNOWN);c?.(i),await this.updateActivity(o,e.ActivityStatus.FAILED,r);return}s?.(),await this.updateActivity(o,e.ActivityStatus.SUCCESSFUL,r)}}catch(e){r.Logger.error(`error in updating pending transactions`,e)}}},c=new s;exports.ActivityStorage=s,exports.activityStorage=c;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../types/activities.types.cjs`),t=require(`../../types/cache.types.cjs`),n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../../error-handling/logger.cjs`),i=require(`../../constants/tx-confirmation.constants.cjs`),a=require(`../../functions/utils/tx-confirmation.utils.cjs`);let o=require(`idb-keyval`);var s=new class{generateTxId(){return`tx_${new Date().getTime()}_${Math.random().toString(36).substring(2,15)}`}async getTransactionRecord(){return await(0,o.get)(t.StorageKeys.TX_ACTIVITY)||{}}async saveTxRequest(n){let{from:r,to:i,gasInDollar:a,extraNativeTokenFee:s,chainId:c,status:l,txHash:u,activityType:d,tokensReceive:f,tokensSpend:p,tokensApprove:m,activityIcon:h,dappUrl:g,dappName:_,integrationProvider:v,knownPartialSignature:y}=n,b=this.generateTxId(),x={id:b,from:r,to:i,gasInDollar:a?.toString(),extraNativeTokenFee:s?.toString(),chainId:c,txHash:u,activityType:d,status:l??e.ActivityStatus.PENDING,timestamp:new Date,tokensReceive:f,tokensSpend:p,tokensApprove:m,activityIcon:h,dappUrl:g,dappName:_,integrationProvider:v,knownPartialSignature:y};return await(0,o.update)(t.StorageKeys.TX_ACTIVITY,(e={})=>(e[b]=x,e)),b}async getTxRequest(e){return(await this.getTransactionRecord())[e]||null}async getAllTxRequests(e){let t=await this.getTransactionRecord();return Object.values(t).filter(t=>t.chainId===e).sort((e,t)=>new Date(t.timestamp).getTime()-new Date(e.timestamp).getTime())}async updateTxHash(e,n){let r=await this.getTxRequest(e);if(!r)throw Error(`Activity not found`);let i={...r,txHash:n};await(0,o.update)(t.StorageKeys.TX_ACTIVITY,(t={})=>(t[e]=i,t))}async updateTxStatusAndHash(e,n,r){let i=await this.getTxRequest(e);if(!i)throw Error(`Transaction not found`);let a={...i,status:n,txHash:r,timestamp:new Date};return await(0,o.update)(t.StorageKeys.TX_ACTIVITY,(t={})=>(t[e]=a,t)),a}async updateActivity(e,t,n){try{await this.updateTxStatusAndHash(e,t,n)}catch(e){r.Logger.error(`error in updating tx request`,e)}}async removePendingTransactions(e){try{await(0,o.update)(t.StorageKeys.TX_ACTIVITY,(t={})=>(delete t[e],t))}catch(e){r.Logger.error(`error in deleting tx requests`,e)}}async updatePendingTransactions(t,o,s,c){try{let r=await this.getTxRequest(o);if(!r)throw Error(`Transaction not found`);let{chainId:l}=r;if(!t.success){c?.(t.error),await this.updateActivity(o,e.ActivityStatus.FAILED,`erroredTx`in t?t.erroredTx:void 0);return}if(`txHash`in t){let{txHash:r}=t;try{await a.waitForTransactionConfirmation(l,r,{evmTimeoutMs:i.RELAYER_TX_CONFIRMATION_TIMEOUT})}catch(t){let i=t instanceof Error?t:Error(n.transactionErrorCodes.UNKNOWN);c?.(i),await this.updateActivity(o,e.ActivityStatus.FAILED,r);return}s?.(),await this.updateActivity(o,e.ActivityStatus.SUCCESSFUL,r)}}catch(e){r.Logger.error(`error in updating pending transactions`,e)}}};exports.activityStorage=s;
@@ -1,15 +1,11 @@
1
1
  import { ActivityStatus as e } from "../../types/activities.types.mjs";
2
2
  import { StorageKeys as t } from "../../types/cache.types.mjs";
3
- import "../../types/index.mjs";
4
3
  import { transactionErrorCodes as n } from "../../error-handling/error-codes.constants.mjs";
5
4
  import { Logger as r } from "../../error-handling/logger.mjs";
6
- import "../../error-handling/index.mjs";
7
5
  import { RELAYER_TX_CONFIRMATION_TIMEOUT as i } from "../../constants/tx-confirmation.constants.mjs";
8
6
  import { waitForTransactionConfirmation as a } from "../../functions/utils/tx-confirmation.utils.mjs";
9
- import "../../functions/index.mjs";
10
7
  import { get as o, update as s } from "idb-keyval";
11
- //#region libs/shared/common/src/data-structures/IndexedDB/activity-db.ts
12
- var c = class {
8
+ var c = new class {
13
9
  generateTxId() {
14
10
  return `tx_${(/* @__PURE__ */ new Date()).getTime()}_${Math.random().toString(36).substring(2, 15)}`;
15
11
  }
@@ -104,6 +100,6 @@ var c = class {
104
100
  r.error("error in updating pending transactions", e);
105
101
  }
106
102
  }
107
- }, l = new c();
103
+ }();
108
104
  //#endregion
109
- export { c as ActivityStorage, l as activityStorage };
105
+ export { c as activityStorage };
@@ -1,4 +1,3 @@
1
- export * from './key-val-store';
2
1
  export * from './activity-db';
3
2
  export * from './balances-db';
4
3
  export * from './private-balances-db';
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../types/cache.types.cjs`),t=require(`../../functions/utils/caseInsensitive.utils.cjs`),n=require(`../../API/API.cjs`),r=require(`../../error-handling/logger.cjs`),i=require(`../../functions/utils/string.utils.cjs`),a=require(`./token-visibility-db.cjs`);let o=require(`idb-keyval`);var s=class{fetchedTokens={};initalFetched=!1;async updateFetchedTokens(){let t=await(0,o.get)(e.StorageKeys.PRIVATE_TOKENS);this.fetchedTokens=t??{},this.initalFetched=!0}async getPrivateTokens(t,n){let r=i.getStateKey(n,t);return(await(0,o.get)(e.StorageKeys.PRIVATE_TOKENS))?.[r]||[]}async fetchPrivateTokens(e,i,a){try{let r=[...new Set(i)].filter(e=>e&&!t.lowerCaseIncludes(a,e));if(!r.length)return[];let o=(await n.API.tokensInfoCall(e,r)).filter(e=>!!e),s=new Map;return o.forEach(e=>{s.set(e.erc20TokenAddress.toLowerCase(),e)}),Array.from(s.values())}catch(e){return r.Logger.error(`Error fetching private tokens:`,e),[]}}async fetchAndUpdatePrivateTokens(n,r,s,c){let l=(await this.getPrivateTokens(r,s)).map(e=>e.erc20TokenAddress),u=c??await this.fetchPrivateTokens(r,n,l),d=await a.tokenVisibilityStorage.hideSpamsAndFetchHiddenTokensAddresses(r,u),f=i.getStateKey(s,r);await(0,o.update)(e.StorageKeys.PRIVATE_TOKENS,(e={})=>{let n=e?.[f]||[],r=n.map(e=>e.erc20TokenAddress),i=u.filter(e=>!t.lowerCaseIncludes(r,e.erc20TokenAddress));n.push(...i);let a=n.filter(e=>!t.lowerCaseIncludes(d,e.erc20TokenAddress)),o={...e,[f]:a};return this.fetchedTokens=o,o})}getFetchedTokens(e,t){let n=i.getStateKey(t,e);return this.fetchedTokens[n]||[]}},c=new s;exports.PrivateTokensDB=s,exports.privateTokensDB=c;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../types/cache.types.cjs`),t=require(`../../functions/utils/caseInsensitive.utils.cjs`),n=require(`../../API/API.cjs`),r=require(`../../error-handling/logger.cjs`),i=require(`../../functions/utils/string.utils.cjs`),a=require(`./token-visibility-db.cjs`);let o=require(`idb-keyval`);var s=new class{fetchedTokens={};initalFetched=!1;async updateFetchedTokens(){let t=await(0,o.get)(e.StorageKeys.PRIVATE_TOKENS);this.fetchedTokens=t??{},this.initalFetched=!0}async getPrivateTokens(t,n){let r=i.getStateKey(n,t);return(await(0,o.get)(e.StorageKeys.PRIVATE_TOKENS))?.[r]||[]}async fetchPrivateTokens(e,i,a){try{let r=[...new Set(i)].filter(e=>e&&!t.lowerCaseIncludes(a,e));if(!r.length)return[];let o=(await n.API.tokensInfoCall(e,r)).filter(e=>!!e),s=new Map;return o.forEach(e=>{s.set(e.erc20TokenAddress.toLowerCase(),e)}),Array.from(s.values())}catch(e){return r.Logger.error(`Error fetching private tokens:`,e),[]}}async fetchAndUpdatePrivateTokens(n,r,s,c){let l=(await this.getPrivateTokens(r,s)).map(e=>e.erc20TokenAddress),u=c??await this.fetchPrivateTokens(r,n,l),d=await a.tokenVisibilityStorage.hideSpamsAndFetchHiddenTokensAddresses(r,u),f=i.getStateKey(s,r);await(0,o.update)(e.StorageKeys.PRIVATE_TOKENS,(e={})=>{let n=e?.[f]||[],r=n.map(e=>e.erc20TokenAddress),i=u.filter(e=>!t.lowerCaseIncludes(r,e.erc20TokenAddress));n.push(...i);let a=n.filter(e=>!t.lowerCaseIncludes(d,e.erc20TokenAddress)),o={...e,[f]:a};return this.fetchedTokens=o,o})}getFetchedTokens(e,t){let n=i.getStateKey(t,e);return this.fetchedTokens[n]||[]}};exports.privateTokensDB=s;
@@ -5,8 +5,7 @@ import { Logger as r } from "../../error-handling/logger.mjs";
5
5
  import { getStateKey as i } from "../../functions/utils/string.utils.mjs";
6
6
  import { tokenVisibilityStorage as a } from "./token-visibility-db.mjs";
7
7
  import { get as o, update as s } from "idb-keyval";
8
- //#region libs/shared/common/src/data-structures/TokenDBs/PrivateTokensDB.ts
9
- var c = class {
8
+ var c = new class {
10
9
  fetchedTokens = {};
11
10
  initalFetched = !1;
12
11
  async updateFetchedTokens() {
@@ -45,6 +44,6 @@ var c = class {
45
44
  let n = i(t, e);
46
45
  return this.fetchedTokens[n] || [];
47
46
  }
48
- }, l = new c();
47
+ }();
49
48
  //#endregion
50
- export { c as PrivateTokensDB, l as privateTokensDB };
49
+ export { c as privateTokensDB };
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../crypto/poseidon.cjs`);require(`./keys.cjs`);const n=require(`../utxo/Utxo.cjs`);let r=require(`ethers`),i=require(`@solana/web3.js`);var a=`solana-on-chain-utxo:`,o=8,s=e=>{if(e.length!==o)throw Error(`Expected ${o} on-chain fields, received ${e.length}`);let t=e.map((e,t)=>{let n=e instanceof Uint8Array?e:Uint8Array.from(e);if(n.length!==32)throw Error(`Expected bytes32 length 32 at position ${t}, got ${n.length}`);return`0x${Buffer.from(n).toString(`hex`)}`});return`${a}${r.ethers.AbiCoder.defaultAbiCoder().encode([`bytes32[8]`],[t])}`},c=e=>e.startsWith(a),l=e=>{if(!c(e))throw Error(`Invalid encoded Solana UTXO payload`);let[n]=r.ethers.AbiCoder.defaultAbiCoder().decode([`bytes32[8]`],e.slice(21)),a=n;if(!Array.isArray(a)||a.length!==o)throw Error(`Malformed encoded Solana UTXO payload`);let[s,l,u,d,f,p,m,h]=a,g=BigInt(s),_=BigInt(d),v=r.ethers.toBeHex(BigInt(f)),y=BigInt(p),b=BigInt(m),x=BigInt(h).toString(),S=Array.from(r.ethers.getBytes(l)),C=Array.from(r.ethers.getBytes(u)),w=new i.PublicKey(Uint8Array.from([...S.slice(16),...C.slice(16)])).toBase58();return{amount:g,erc20TokenAddress:t.poseidonHash(BigInt(l),BigInt(u)),mintAddress:w,randomization:_,stealthAddress:v,H0:y,H1:b,timeStamp:x}},u=e=>{let t=r.ethers.AbiCoder.defaultAbiCoder().decode([`uint256`,`address`,`tuple(uint256, uint256, uint256, uint256)`,`uint256`,`uint256`],e);return{amount:BigInt(t[0]),erc20TokenAddress:t[1],randomization:BigInt(t[2][0]),stealthAddress:r.ethers.toBeHex(BigInt(t[2][1])),H0:BigInt(t[2][2]),H1:BigInt(t[2][3]),timeStamp:BigInt(t[3]).toString(),tokenId:Number(t[4])}},d=(t,n,r)=>{if(e.isSolanaLike(r)){let{amount:e,erc20TokenAddress:r,mintAddress:i,randomization:a,stealthAddress:o,timeStamp:s}=l(t);return{amount:e,erc20TokenAddress:r,mintAddress:i,timeStamp:s,tokenId:0,randomization:a,shieldedPrivateKey:n,stealthAddress:o}}let{amount:i,erc20TokenAddress:a,timeStamp:o,tokenId:s,randomization:c,stealthAddress:d}=u(t);return{amount:i,erc20TokenAddress:a,timeStamp:o,tokenId:s,randomization:c,shieldedPrivateKey:n,stealthAddress:d}},f=(e,t,r)=>new n.Utxo(d(e,t,r));exports.abiDecodeUtxo=u,exports.decodeSolanaOnChainUtxo=l,exports.decodeUtxo=f,exports.decodeUtxoConstructorArgs=d,exports.encodeSolanaOnChainUtxo=s,exports.isSolanaOnChainUtxo=c;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../crypto/poseidon.cjs`),n=require(`../utxo/Utxo.cjs`);let r=require(`ethers`),i=require(`@solana/web3.js`);var a=`solana-on-chain-utxo:`,o=8,s=e=>{if(e.length!==o)throw Error(`Expected ${o} on-chain fields, received ${e.length}`);let t=e.map((e,t)=>{let n=e instanceof Uint8Array?e:Uint8Array.from(e);if(n.length!==32)throw Error(`Expected bytes32 length 32 at position ${t}, got ${n.length}`);return`0x${Buffer.from(n).toString(`hex`)}`});return`${a}${r.ethers.AbiCoder.defaultAbiCoder().encode([`bytes32[8]`],[t])}`},c=e=>e.startsWith(a),l=e=>{if(!c(e))throw Error(`Invalid encoded Solana UTXO payload`);let[n]=r.ethers.AbiCoder.defaultAbiCoder().decode([`bytes32[8]`],e.slice(21)),a=n;if(!Array.isArray(a)||a.length!==o)throw Error(`Malformed encoded Solana UTXO payload`);let[s,l,u,d,f,p,m,h]=a,g=BigInt(s),_=BigInt(d),v=r.ethers.toBeHex(BigInt(f)),y=BigInt(p),b=BigInt(m),x=BigInt(h).toString(),S=Array.from(r.ethers.getBytes(l)),C=Array.from(r.ethers.getBytes(u)),w=new i.PublicKey(Uint8Array.from([...S.slice(16),...C.slice(16)])).toBase58();return{amount:g,erc20TokenAddress:t.poseidonHash(BigInt(l),BigInt(u)),mintAddress:w,randomization:_,stealthAddress:v,H0:y,H1:b,timeStamp:x}},u=e=>{let t=r.ethers.AbiCoder.defaultAbiCoder().decode([`uint256`,`address`,`tuple(uint256, uint256, uint256, uint256)`,`uint256`,`uint256`],e);return{amount:BigInt(t[0]),erc20TokenAddress:t[1],randomization:BigInt(t[2][0]),stealthAddress:r.ethers.toBeHex(BigInt(t[2][1])),H0:BigInt(t[2][2]),H1:BigInt(t[2][3]),timeStamp:BigInt(t[3]).toString(),tokenId:Number(t[4])}},d=(t,n,r)=>{if(e.isSolanaLike(r)){let{amount:e,erc20TokenAddress:r,mintAddress:i,randomization:a,stealthAddress:o,timeStamp:s}=l(t);return{amount:e,erc20TokenAddress:r,mintAddress:i,timeStamp:s,tokenId:0,randomization:a,shieldedPrivateKey:n,stealthAddress:o}}let{amount:i,erc20TokenAddress:a,timeStamp:o,tokenId:s,randomization:c,stealthAddress:d}=u(t);return{amount:i,erc20TokenAddress:a,timeStamp:o,tokenId:s,randomization:c,shieldedPrivateKey:n,stealthAddress:d}},f=(e,t,r)=>new n.Utxo(d(e,t,r));exports.decodeUtxo=f,exports.encodeSolanaOnChainUtxo=s,exports.isSolanaOnChainUtxo=c;
@@ -1,6 +1,5 @@
1
1
  import { isSolanaLike as e } from "../../constants/chains.constants.mjs";
2
2
  import { poseidonHash as t } from "../../crypto/poseidon.mjs";
3
- import "./keys.mjs";
4
3
  import { Utxo as n } from "../utxo/Utxo.mjs";
5
4
  import { ethers as r } from "ethers";
6
5
  import { PublicKey as i } from "@solana/web3.js";
@@ -72,4 +71,4 @@ var a = "solana-on-chain-utxo:", o = 8, s = (e) => {
72
71
  };
73
72
  }, f = (e, t, r) => new n(d(e, t, r));
74
73
  //#endregion
75
- export { u as abiDecodeUtxo, l as decodeSolanaOnChainUtxo, f as decodeUtxo, d as decodeUtxoConstructorArgs, s as encodeSolanaOnChainUtxo, c as isSolanaOnChainUtxo };
74
+ export { f as decodeUtxo, s as encodeSolanaOnChainUtxo, c as isSolanaOnChainUtxo };
@@ -1 +1 @@
1
- const e=require(`../../../../_virtual/_rolldown/runtime.cjs`);require(`./keys.cjs`),require(`../utxo/Utxo.cjs`);let t=require(`ethers`),n=require(`@solana/web3.js`),r=require(`libsodium-wrappers`);r=e.__toESM(r);var i=e=>e.startsWith(`0x`)?e:`0x${e}`,a=e=>{let a=[Buffer.from(t.ethers.toBeHex(e.amount)),Buffer.from(i(e.erc20TokenAddress)),Buffer.from(t.ethers.toBeHex(e.randomization)),Buffer.from(i(e.getStealthAddress())),Buffer.from(t.ethers.toBeHex(BigInt(e.timeStamp))),Buffer.from(t.ethers.toBeHex(BigInt(e.tokenId??0)))];if(e.mintAddress){let r=new n.PublicKey(e.mintAddress),i=t.ethers.hexlify(r.toBytes());a.push(Buffer.from(i))}let o=Buffer.concat(a);return r.default.crypto_box_seal(o,t.ethers.getBytes(e.getEncryptionKey()))};exports.encryptUtxo=a;
1
+ const e=require(`../../../../_virtual/_rolldown/runtime.cjs`);let t=require(`ethers`),n=require(`@solana/web3.js`),r=require(`libsodium-wrappers`);r=e.__toESM(r);var i=e=>e.startsWith(`0x`)?e:`0x${e}`,a=e=>{let a=[Buffer.from(t.ethers.toBeHex(e.amount)),Buffer.from(i(e.erc20TokenAddress)),Buffer.from(t.ethers.toBeHex(e.randomization)),Buffer.from(i(e.getStealthAddress())),Buffer.from(t.ethers.toBeHex(BigInt(e.timeStamp))),Buffer.from(t.ethers.toBeHex(BigInt(e.tokenId??0)))];if(e.mintAddress){let r=new n.PublicKey(e.mintAddress),i=t.ethers.hexlify(r.toBytes());a.push(Buffer.from(i))}let o=Buffer.concat(a);return r.default.crypto_box_seal(o,t.ethers.getBytes(e.getEncryptionKey()))};exports.encryptUtxo=a;
@@ -1,5 +1,3 @@
1
- import "./keys.mjs";
2
- import "../utxo/Utxo.mjs";
3
1
  import { ethers as e } from "ethers";
4
2
  import { PublicKey as t } from "@solana/web3.js";
5
3
  import n from "libsodium-wrappers";
@@ -1 +1 @@
1
- const e=require(`../../constants/protocol.constants.cjs`);var t=t=>{if(t<0n||t>=21888242871839275222246405745257275088548364400416034343698204186575808495617n)throw RangeError();return t>e.CIRCOM_P_HALF},n=e=>t(e)?1n:0n;exports.getCircomSign=n,exports.isCircomNegative=t;
1
+ const e=require(`../../constants/protocol.constants.cjs`);var t=t=>{if(t<0n||t>=21888242871839275222246405745257275088548364400416034343698204186575808495617n)throw RangeError();return t>e.CIRCOM_P_HALF},n=e=>t(e)?1n:0n;exports.getCircomSign=n;
@@ -5,4 +5,4 @@ var t = (t) => {
5
5
  return t > e;
6
6
  }, n = (e) => t(e) ? 1n : 0n;
7
7
  //#endregion
8
- export { n as getCircomSign, t as isCircomNegative };
8
+ export { n as getCircomSign };
@@ -1 +1 @@
1
- const e=require(`../../../constants/protocol.constants.cjs`),t=require(`../../../functions/utils/amounts.utils.cjs`),n=require(`../../../crypto/poseidon.cjs`),r=require(`../../merkle-tree/MerkleTree.cjs`);require(`../../merkle-tree/index.cjs`),require(`../../../crypto/index.cjs`);const i=require(`./AbstractSnapshotService.cjs`),a=require(`../../../functions/utils/merkleTree.utils.cjs`);var o=class extends i.AbstractSnapshotService{constructor(e){super(e,`NewAccessKeyAdded`)}_merkleTree;_senderAddresses;_senderAddressIndexMap;get merkleTree(){return this._merkleTree}get senderAddresses(){return this._senderAddresses}get senderAddressIndexMap(){return this._senderAddressIndexMap}serializeSnapshot(e){return{merkleTree:e.payload.merkleTree.toJSON(),senderAddresses:Array.from(e.payload.senderAddresses),latestBlockNumber:e.latestBlockNumber,senderAddressIndexMap:Array.from(e.payload.senderAddressIndexMap).map(([e,t])=>({address:e,index:t}))}}deserializeSnapshot(e){let t,i;return t=e.latestBlockNumber&&e.merkleTree?a.contructMerkleTreeFromSerialized(e.merkleTree):r.MerkleTree.create(n.poseidonFunction,0n),i=e.latestBlockNumber&&e.senderAddressIndexMap?new Map(e.senderAddressIndexMap.map(({address:e,index:t})=>[e,t])):new Map,{latestBlockNumber:e.latestBlockNumber??0,payload:{merkleTree:t,senderAddresses:e.senderAddresses??[],senderAddressIndexMap:i}}}acceptEvent(t,n){try{return this._merkleTree.insert(t.accessKey,t.index),this._senderAddressIndexMap.set(t.senderAddress,Math.max(Number(t.index),this._senderAddressIndexMap.get(t.senderAddress)??0)),this._senderAddresses.includes(t.senderAddress)||this._senderAddresses.push(t.senderAddress),t.accessKey===0n&&t.senderAddress===e.zeroAddress&&this._merkleTree.remove(t.index),!0}catch(e){return console.error(e),!1}}mapEvent(e){let n=e.getArg(`accessKey`),r=e.getArg(`index`),i=e.getArg(`senderAddress`);return{accessKey:t.toBigInt(n),index:t.toBigInt(r),senderAddress:i}}getSnapshotPayload(){return{merkleTree:this._merkleTree,senderAddresses:this._senderAddresses,senderAddressIndexMap:this._senderAddressIndexMap}}populateSnapshot({payload:{merkleTree:e,senderAddresses:t,senderAddressIndexMap:n}}){this._merkleTree=e,this._senderAddresses=t,this._senderAddressIndexMap=n}};exports.AbstractAccessTokenSnapshotService=o;
1
+ const e=require(`../../../constants/protocol.constants.cjs`),t=require(`../../../functions/utils/amounts.utils.cjs`),n=require(`../../../crypto/poseidon.cjs`),r=require(`../../merkle-tree/MerkleTree.cjs`),i=require(`./AbstractSnapshotService.cjs`),a=require(`../../../functions/utils/merkleTree.utils.cjs`);var o=class extends i.AbstractSnapshotService{constructor(e){super(e,`NewAccessKeyAdded`)}_merkleTree;_senderAddresses;_senderAddressIndexMap;get merkleTree(){return this._merkleTree}get senderAddresses(){return this._senderAddresses}get senderAddressIndexMap(){return this._senderAddressIndexMap}serializeSnapshot(e){return{merkleTree:e.payload.merkleTree.toJSON(),senderAddresses:Array.from(e.payload.senderAddresses),latestBlockNumber:e.latestBlockNumber,senderAddressIndexMap:Array.from(e.payload.senderAddressIndexMap).map(([e,t])=>({address:e,index:t}))}}deserializeSnapshot(e){let t,i;return t=e.latestBlockNumber&&e.merkleTree?a.contructMerkleTreeFromSerialized(e.merkleTree):r.MerkleTree.create(n.poseidonFunction,0n),i=e.latestBlockNumber&&e.senderAddressIndexMap?new Map(e.senderAddressIndexMap.map(({address:e,index:t})=>[e,t])):new Map,{latestBlockNumber:e.latestBlockNumber??0,payload:{merkleTree:t,senderAddresses:e.senderAddresses??[],senderAddressIndexMap:i}}}acceptEvent(t,n){try{return this._merkleTree.insert(t.accessKey,t.index),this._senderAddressIndexMap.set(t.senderAddress,Math.max(Number(t.index),this._senderAddressIndexMap.get(t.senderAddress)??0)),this._senderAddresses.includes(t.senderAddress)||this._senderAddresses.push(t.senderAddress),t.accessKey===0n&&t.senderAddress===e.zeroAddress&&this._merkleTree.remove(t.index),!0}catch(e){return console.error(e),!1}}mapEvent(e){let n=e.getArg(`accessKey`),r=e.getArg(`index`),i=e.getArg(`senderAddress`);return{accessKey:t.toBigInt(n),index:t.toBigInt(r),senderAddress:i}}getSnapshotPayload(){return{merkleTree:this._merkleTree,senderAddresses:this._senderAddresses,senderAddressIndexMap:this._senderAddressIndexMap}}populateSnapshot({payload:{merkleTree:e,senderAddresses:t,senderAddressIndexMap:n}}){this._merkleTree=e,this._senderAddresses=t,this._senderAddressIndexMap=n}};exports.AbstractAccessTokenSnapshotService=o;
@@ -2,8 +2,6 @@ import { zeroAddress as e } from "../../../constants/protocol.constants.mjs";
2
2
  import { toBigInt as t } from "../../../functions/utils/amounts.utils.mjs";
3
3
  import { poseidonFunction as n } from "../../../crypto/poseidon.mjs";
4
4
  import { MerkleTree as r } from "../../merkle-tree/MerkleTree.mjs";
5
- import "../../merkle-tree/index.mjs";
6
- import "../../../crypto/index.mjs";
7
5
  import { AbstractSnapshotService as i } from "./AbstractSnapshotService.mjs";
8
6
  import { contructMerkleTreeFromSerialized as a } from "../../../functions/utils/merkleTree.utils.mjs";
9
7
  //#region libs/shared/common/src/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.ts