@hinkal/common 0.3.12 → 0.3.14

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 (302) hide show
  1. package/README.md +67 -4
  2. package/common/src/API/API.cjs +1 -1
  3. package/common/src/API/API.d.ts +3 -2
  4. package/common/src/API/API.mjs +92 -91
  5. package/common/src/API/admin-calls.cjs +1 -1
  6. package/common/src/API/admin-calls.d.ts +2 -1
  7. package/common/src/API/admin-calls.mjs +1 -0
  8. package/common/src/API/evm-token-assets.cjs +1 -0
  9. package/common/src/API/evm-token-assets.mjs +3 -0
  10. package/common/src/API/get-token-price-chart-data.cjs +1 -1
  11. package/common/src/API/get-token-price-chart-data.mjs +2 -2
  12. package/common/src/API/getTokenPrice.cjs +1 -1
  13. package/common/src/API/getTokenPrice.mjs +2 -2
  14. package/common/src/API/index.cjs +1 -1
  15. package/common/src/API/index.d.ts +2 -0
  16. package/common/src/API/index.mjs +2 -0
  17. package/common/src/API/privacy-score-calls.cjs +1 -1
  18. package/common/src/API/privacy-score-calls.mjs +2 -2
  19. package/common/src/API/receiveVaultCalls.cjs +1 -0
  20. package/common/src/API/receiveVaultCalls.d.ts +12 -0
  21. package/common/src/API/receiveVaultCalls.mjs +36 -0
  22. package/common/src/constants/chains.constants.cjs +1 -1
  23. package/common/src/constants/chains.constants.d.ts +2 -0
  24. package/common/src/constants/chains.constants.mjs +106 -93
  25. package/common/src/constants/coingecko.constants.cjs +1 -1
  26. package/common/src/constants/coingecko.constants.d.ts +2 -0
  27. package/common/src/constants/coingecko.constants.mjs +1 -1
  28. package/common/src/constants/contracts.constants.cjs +1 -1
  29. package/common/src/constants/contracts.constants.mjs +5 -1
  30. package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.cjs +1 -1
  31. package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.mjs +3 -1
  32. package/common/src/constants/deploy-data/deploy-data-arcTestnet.json.cjs +1 -1
  33. package/common/src/constants/deploy-data/deploy-data-arcTestnet.json.mjs +4 -2
  34. package/common/src/constants/deploy-data/deploy-data-base.json.cjs +1 -1
  35. package/common/src/constants/deploy-data/deploy-data-base.json.mjs +3 -1
  36. package/common/src/constants/deploy-data/deploy-data-bnbMainnet.json.cjs +1 -1
  37. package/common/src/constants/deploy-data/deploy-data-bnbMainnet.json.mjs +3 -1
  38. package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.cjs +1 -1
  39. package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.mjs +3 -1
  40. package/common/src/constants/deploy-data/deploy-data-localhost.json.cjs +1 -1
  41. package/common/src/constants/deploy-data/deploy-data-localhost.json.mjs +2 -1
  42. package/common/src/constants/deploy-data/deploy-data-optimism.json.cjs +1 -1
  43. package/common/src/constants/deploy-data/deploy-data-optimism.json.mjs +2 -1
  44. package/common/src/constants/deploy-data/deploy-data-optimismTest.json.cjs +1 -1
  45. package/common/src/constants/deploy-data/deploy-data-optimismTest.json.mjs +2 -1
  46. package/common/src/constants/deploy-data/deploy-data-polygon.json.cjs +1 -1
  47. package/common/src/constants/deploy-data/deploy-data-polygon.json.mjs +3 -1
  48. package/common/src/constants/deploy-data/deploy-data-sepoliaTestnet.json.cjs +1 -1
  49. package/common/src/constants/deploy-data/deploy-data-sepoliaTestnet.json.mjs +2 -1
  50. package/common/src/constants/deploy-data/deploy-data-solanaDevnet.json.cjs +1 -0
  51. package/common/src/constants/deploy-data/deploy-data-solanaDevnet.json.mjs +6 -0
  52. package/common/src/constants/deploy-data/deploy-data-tempo.json.cjs +1 -1
  53. package/common/src/constants/deploy-data/deploy-data-tempo.json.mjs +3 -1
  54. package/common/src/constants/deploy-data/deploy-data-tronMainnet.json.cjs +1 -1
  55. package/common/src/constants/deploy-data/deploy-data-tronMainnet.json.mjs +2 -1
  56. package/common/src/constants/deploy-data/deploy-data-tronNile.json.cjs +1 -1
  57. package/common/src/constants/deploy-data/deploy-data-tronNile.json.mjs +2 -1
  58. package/common/src/constants/deploy-data/index.cjs +1 -1
  59. package/common/src/constants/deploy-data/index.d.ts +2 -1
  60. package/common/src/constants/deploy-data/index.mjs +7 -6
  61. package/common/src/constants/deploy-data/shared-deploy-data-evm.json.cjs +1 -1
  62. package/common/src/constants/deploy-data/shared-deploy-data-evm.json.mjs +2 -1
  63. package/common/src/constants/deploy-data/shared-deploy-data-solana.json.cjs +1 -1
  64. package/common/src/constants/deploy-data/shared-deploy-data-solana.json.mjs +1 -1
  65. package/common/src/constants/deploy-data/shared-deploy-data-tron.json.cjs +1 -1
  66. package/common/src/constants/deploy-data/shared-deploy-data-tron.json.mjs +3 -2
  67. package/common/src/constants/events.constants.d.ts +1 -0
  68. package/common/src/constants/index.cjs +1 -1
  69. package/common/src/constants/index.mjs +1 -1
  70. package/common/src/constants/protocol.constants.cjs +2 -2
  71. package/common/src/constants/protocol.constants.d.ts +4 -0
  72. package/common/src/constants/protocol.constants.mjs +2 -2
  73. package/common/src/constants/save-depths.cjs +1 -1
  74. package/common/src/constants/save-depths.d.ts +1 -0
  75. package/common/src/constants/save-depths.mjs +1 -0
  76. package/common/src/constants/server.constants.cjs +1 -1
  77. package/common/src/constants/server.constants.d.ts +13 -6
  78. package/common/src/constants/server.constants.mjs +13 -6
  79. package/common/src/constants/tokens.constants.cjs +1 -1
  80. package/common/src/constants/tokens.constants.mjs +1 -1
  81. package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
  82. package/common/src/data-structures/Hinkal/Hinkal.d.ts +8 -4
  83. package/common/src/data-structures/Hinkal/Hinkal.mjs +85 -73
  84. package/common/src/data-structures/Hinkal/IHinkal.d.ts +8 -4
  85. package/common/src/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
  86. package/common/src/data-structures/Hinkal/handleAutoDepositBack.mjs +14 -14
  87. package/common/src/data-structures/Hinkal/hinkalActionReceive.cjs +1 -1
  88. package/common/src/data-structures/Hinkal/hinkalActionReceive.mjs +4 -4
  89. package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.cjs +1 -1
  90. package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.mjs +24 -24
  91. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.cjs +1 -1
  92. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.mjs +72 -71
  93. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
  94. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +64 -61
  95. package/common/src/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
  96. package/common/src/data-structures/Hinkal/hinkalPrivateWallet.d.ts +1 -1
  97. package/common/src/data-structures/Hinkal/hinkalPrivateWallet.mjs +29 -29
  98. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
  99. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.d.ts +1 -1
  100. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.mjs +22 -22
  101. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.cjs +1 -1
  102. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.mjs +8 -8
  103. package/common/src/data-structures/Hinkal/hinkalProxySwap.cjs +1 -1
  104. package/common/src/data-structures/Hinkal/hinkalProxySwap.mjs +6 -6
  105. package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -1
  106. package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.mjs +4 -4
  107. package/common/src/data-structures/Hinkal/hinkalReceiveVaultAccount.cjs +1 -0
  108. package/common/src/data-structures/Hinkal/hinkalReceiveVaultAccount.d.ts +3 -0
  109. package/common/src/data-structures/Hinkal/hinkalReceiveVaultAccount.mjs +12 -0
  110. package/common/src/data-structures/Hinkal/hinkalReceiveVaultCreate.cjs +1 -0
  111. package/common/src/data-structures/Hinkal/hinkalReceiveVaultCreate.d.ts +3 -0
  112. package/common/src/data-structures/Hinkal/hinkalReceiveVaultCreate.mjs +29 -0
  113. package/common/src/data-structures/Hinkal/hinkalReceiveVaultRecover.cjs +1 -0
  114. package/common/src/data-structures/Hinkal/hinkalReceiveVaultRecover.d.ts +5 -0
  115. package/common/src/data-structures/Hinkal/hinkalReceiveVaultRecover.mjs +66 -0
  116. package/common/src/data-structures/Hinkal/hinkalReceiveVaultSettle.cjs +1 -0
  117. package/common/src/data-structures/Hinkal/hinkalReceiveVaultSettle.d.ts +6 -0
  118. package/common/src/data-structures/Hinkal/hinkalReceiveVaultSettle.mjs +8 -0
  119. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
  120. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.d.ts +2 -2
  121. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.mjs +54 -62
  122. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  123. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +72 -70
  124. package/common/src/data-structures/Hinkal/hinkalSolanaProxySend.cjs +1 -1
  125. package/common/src/data-structures/Hinkal/hinkalSolanaProxySend.mjs +9 -9
  126. package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -1
  127. package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +20 -20
  128. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
  129. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.d.ts +1 -1
  130. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +49 -47
  131. package/common/src/data-structures/Hinkal/hinkalSolanaReceiveVault.cjs +1 -0
  132. package/common/src/data-structures/Hinkal/hinkalSolanaReceiveVault.d.ts +5 -0
  133. package/common/src/data-structures/Hinkal/hinkalSolanaReceiveVault.mjs +60 -0
  134. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
  135. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.mjs +1 -1
  136. package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
  137. package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +1 -1
  138. package/common/src/data-structures/Hinkal/hinkalTransact.cjs +1 -1
  139. package/common/src/data-structures/Hinkal/hinkalTransact.mjs +7 -6
  140. package/common/src/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
  141. package/common/src/data-structures/Hinkal/hinkalTransfer.mjs +4 -4
  142. package/common/src/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
  143. package/common/src/data-structures/Hinkal/hinkalWithdraw.mjs +35 -26
  144. package/common/src/data-structures/Hinkal/index.d.ts +5 -0
  145. package/common/src/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
  146. package/common/src/data-structures/Hinkal/resetMerkleTrees.mjs +13 -13
  147. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.d.ts +0 -3
  148. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.d.ts +0 -1
  149. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.d.ts +0 -2
  150. package/common/src/data-structures/crypto-keys/index.cjs +1 -1
  151. package/common/src/data-structures/crypto-keys/index.mjs +1 -1
  152. package/common/src/error-handling/error-codes.constants.cjs +1 -1
  153. package/common/src/error-handling/error-codes.constants.d.ts +6 -0
  154. package/common/src/error-handling/error-codes.constants.mjs +7 -2
  155. package/common/src/error-handling/get-error.message.cjs +1 -1
  156. package/common/src/error-handling/get-error.message.mjs +59 -49
  157. package/common/src/functions/index.cjs +1 -1
  158. package/common/src/functions/index.mjs +8 -3
  159. package/common/src/functions/pre-transaction/addressTableLookup.d.ts +1 -0
  160. package/common/src/functions/pre-transaction/build-proofless-deposit-fee.cjs +1 -0
  161. package/common/src/functions/pre-transaction/build-proofless-deposit-fee.d.ts +4 -0
  162. package/common/src/functions/pre-transaction/build-proofless-deposit-fee.mjs +3 -0
  163. package/common/src/functions/pre-transaction/calculateSolanaNullifierCount.cjs +1 -1
  164. package/common/src/functions/pre-transaction/calculateSolanaNullifierCount.mjs +7 -7
  165. package/common/src/functions/pre-transaction/constructAdminData.cjs +1 -1
  166. package/common/src/functions/pre-transaction/constructAdminData.mjs +4 -3
  167. package/common/src/functions/pre-transaction/index.cjs +1 -1
  168. package/common/src/functions/pre-transaction/index.d.ts +1 -0
  169. package/common/src/functions/pre-transaction/index.mjs +1 -0
  170. package/common/src/functions/pre-transaction/sendV0Transaction.cjs +1 -1
  171. package/common/src/functions/pre-transaction/sendV0Transaction.d.ts +1 -0
  172. package/common/src/functions/pre-transaction/sendV0Transaction.mjs +22 -2
  173. package/common/src/functions/private-wallet/emporium.helpers.cjs +1 -1
  174. package/common/src/functions/private-wallet/emporium.helpers.mjs +15 -15
  175. package/common/src/functions/snarkjs/constructTxEnclaveVerify.cjs +1 -1
  176. package/common/src/functions/snarkjs/constructTxEnclaveVerify.mjs +2 -1
  177. package/common/src/functions/snarkjs/fetchOnChainRootHashes.cjs +1 -1
  178. package/common/src/functions/snarkjs/fetchOnChainRootHashes.mjs +6 -6
  179. package/common/src/functions/utils/abi.utils.cjs +1 -1
  180. package/common/src/functions/utils/abi.utils.mjs +4 -1
  181. package/common/src/functions/utils/addresses.cjs +1 -1
  182. package/common/src/functions/utils/addresses.d.ts +4 -0
  183. package/common/src/functions/utils/addresses.mjs +17 -17
  184. package/common/src/functions/utils/admin-dimensions.cjs +1 -0
  185. package/common/src/functions/utils/admin-dimensions.d.ts +4 -0
  186. package/common/src/functions/utils/admin-dimensions.mjs +206 -0
  187. package/common/src/functions/utils/create-provider.cjs +1 -1
  188. package/common/src/functions/utils/create-provider.mjs +5 -1
  189. package/common/src/functions/utils/encryptInputForEnclave.cjs +1 -1
  190. package/common/src/functions/utils/encryptInputForEnclave.d.ts +2 -1
  191. package/common/src/functions/utils/encryptInputForEnclave.mjs +1 -1
  192. package/common/src/functions/utils/erc20tokenFunctions.cjs +1 -1
  193. package/common/src/functions/utils/erc20tokenFunctions.mjs +11 -11
  194. package/common/src/functions/utils/fees.utils.cjs +1 -1
  195. package/common/src/functions/utils/fees.utils.d.ts +2 -0
  196. package/common/src/functions/utils/fees.utils.mjs +31 -33
  197. package/common/src/functions/utils/gas-token.utils.cjs +1 -0
  198. package/common/src/functions/utils/gas-token.utils.d.ts +3 -0
  199. package/common/src/functions/utils/gas-token.utils.mjs +7 -0
  200. package/common/src/functions/utils/getSignerFromContract.cjs +1 -1
  201. package/common/src/functions/utils/getSignerFromContract.d.ts +1 -1
  202. package/common/src/functions/utils/getSignerFromContract.mjs +2 -2
  203. package/common/src/functions/utils/getUtxosFromReceipt.utils.cjs +1 -1
  204. package/common/src/functions/utils/getUtxosFromReceipt.utils.mjs +1 -1
  205. package/common/src/functions/utils/getUtxosFromReceiptSolana.cjs +1 -1
  206. package/common/src/functions/utils/getUtxosFromReceiptSolana.d.ts +9 -4
  207. package/common/src/functions/utils/getUtxosFromReceiptSolana.mjs +1 -1
  208. package/common/src/functions/utils/index.cjs +1 -1
  209. package/common/src/functions/utils/index.d.ts +5 -0
  210. package/common/src/functions/utils/index.mjs +7 -2
  211. package/common/src/functions/utils/isSigner.cjs +1 -0
  212. package/common/src/functions/utils/isSigner.d.ts +2 -0
  213. package/common/src/functions/utils/isSigner.mjs +7 -0
  214. package/common/src/functions/utils/publicBalance.utils.cjs +1 -1
  215. package/common/src/functions/utils/publicBalance.utils.mjs +7 -7
  216. package/common/src/functions/utils/receive-vault-account.utils.cjs +1 -0
  217. package/common/src/functions/utils/receive-vault-account.utils.d.ts +9 -0
  218. package/common/src/functions/utils/receive-vault-account.utils.mjs +24 -0
  219. package/common/src/functions/utils/receive-vault-scan.utils.cjs +1 -0
  220. package/common/src/functions/utils/receive-vault-scan.utils.d.ts +2 -0
  221. package/common/src/functions/utils/receive-vault-scan.utils.mjs +55 -0
  222. package/common/src/functions/utils/receive-vault-solana.utils.cjs +1 -0
  223. package/common/src/functions/utils/receive-vault-solana.utils.d.ts +8 -0
  224. package/common/src/functions/utils/receive-vault-solana.utils.mjs +45 -0
  225. package/common/src/functions/utils/receive-vault.utils.cjs +2 -0
  226. package/common/src/functions/utils/receive-vault.utils.d.ts +31 -0
  227. package/common/src/functions/utils/receive-vault.utils.mjs +166 -0
  228. package/common/src/functions/utils/string.utils.cjs +1 -1
  229. package/common/src/functions/utils/string.utils.mjs +12 -4
  230. package/common/src/functions/utils/temporary-wallet-recovery.utils.cjs +1 -1
  231. package/common/src/functions/utils/temporary-wallet-recovery.utils.mjs +1 -1
  232. package/common/src/functions/utils/token-check.utils.d.ts +1 -0
  233. package/common/src/functions/utils/transfer-claimable.utils.cjs +1 -1
  234. package/common/src/functions/utils/transfer-claimable.utils.mjs +1 -1
  235. package/common/src/functions/utils/wallet-token-discovery.utils.cjs +1 -0
  236. package/common/src/functions/utils/wallet-token-discovery.utils.d.ts +9 -0
  237. package/common/src/functions/utils/wallet-token-discovery.utils.mjs +30 -0
  238. package/common/src/functions/web3/functionCalls/transactCallDirect.cjs +1 -1
  239. package/common/src/functions/web3/functionCalls/transactCallDirect.mjs +11 -11
  240. package/common/src/functions/web3/getContractMetadata.cjs +1 -1
  241. package/common/src/functions/web3/getContractMetadata.mjs +6 -6
  242. package/common/src/functions/web3/index.cjs +1 -1
  243. package/common/src/functions/web3/index.mjs +1 -1
  244. package/common/src/types/admin.types.cjs +1 -1
  245. package/common/src/types/admin.types.d.ts +64 -9
  246. package/common/src/types/admin.types.mjs +10 -2
  247. package/common/src/types/connector.types.d.ts +1 -0
  248. package/common/src/types/ethereum-network.types.cjs +1 -1
  249. package/common/src/types/ethereum-network.types.d.ts +5 -1
  250. package/common/src/types/ethereum-network.types.mjs +1 -1
  251. package/common/src/types/external-action.types.cjs +1 -1
  252. package/common/src/types/external-action.types.d.ts +3 -1
  253. package/common/src/types/external-action.types.mjs +1 -1
  254. package/common/src/types/index.cjs +1 -1
  255. package/common/src/types/index.d.ts +1 -0
  256. package/common/src/types/index.mjs +1 -0
  257. package/common/src/types/receive-vault.types.cjs +1 -0
  258. package/common/src/types/receive-vault.types.d.ts +63 -0
  259. package/common/src/types/receive-vault.types.mjs +8 -0
  260. package/common/src/types/remote-tx-build.types.d.ts +5 -0
  261. package/common/src/webworker/{logError-cvFNxc-0.js → logError-C-ej_TX9.js} +1 -1
  262. package/common/src/webworker/package.json +10 -1
  263. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
  264. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
  265. package/common/src/webworker/snarkjsWorkerNode.cjs +1 -1
  266. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
  267. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
  268. package/common/src/webworker/utxoWorkerNode.cjs +1 -1
  269. package/common/src/webworker/viteWorkerURL.constant.cjs +3 -3
  270. package/common/src/webworker/viteWorkerURL.constant.mjs +3 -3
  271. package/common/src/webworker/workerProxy-CE-rYA3W.js +1 -0
  272. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
  273. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
  274. package/common/src/webworker/zkProofWorkerNode.cjs +1 -1
  275. package/index.cjs +1 -1
  276. package/index.mjs +3 -2
  277. package/internal/monitorConnectedAddress.cjs +1 -1
  278. package/internal/monitorConnectedAddress.d.ts +1 -1
  279. package/internal/monitorConnectedAddress.mjs +1 -3
  280. package/package.json +10 -1
  281. package/providers/prepareEthersHinkal.cjs +1 -1
  282. package/providers/prepareEthersHinkal.mjs +1 -1
  283. package/providers/prepareSolanaHinkal.cjs +1 -1
  284. package/providers/prepareSolanaHinkal.mjs +1 -1
  285. package/providers/prepareTronHinkal.cjs +1 -1
  286. package/providers/prepareTronHinkal.mjs +1 -1
  287. package/providers/prepareWagmiHinkal.cjs +1 -1
  288. package/providers/prepareWagmiHinkal.mjs +1 -1
  289. package/services/Hinkal.cjs +1 -1
  290. package/services/Hinkal.d.ts +7 -3
  291. package/services/Hinkal.mjs +74 -51
  292. package/types/IHinkal.d.ts +7 -2
  293. package/types/index.cjs +1 -1
  294. package/types/index.d.ts +1 -0
  295. package/types/index.mjs +2 -0
  296. package/types/receive-vault.types.cjs +1 -0
  297. package/types/receive-vault.types.d.ts +14 -0
  298. package/types/receive-vault.types.mjs +2 -0
  299. package/common/src/API/getOdosPriceForToken.cjs +0 -1
  300. package/common/src/API/getOdosPriceForToken.d.ts +0 -1
  301. package/common/src/API/getOdosPriceForToken.mjs +0 -14
  302. package/common/src/webworker/workerProxy-BHzCZ9HT.js +0 -1
@@ -8,7 +8,6 @@ export declare const API_CONFIG: {
8
8
  callOkxAPI: string;
9
9
  callNearIntentsQuote: string;
10
10
  callNearIntentsTokens: string;
11
- getOdosPriceForToken: (chainId: number, tokenAddress: string) => string;
12
11
  monitor: string;
13
12
  monitorBatch: string;
14
13
  checkRisk: (address: string) => string;
@@ -23,6 +22,13 @@ export declare const API_CONFIG: {
23
22
  updateProxyAccounts: string;
24
23
  getTemporaryWalletNonces: (hashedEthereumAddress: string, chainId: number) => string;
25
24
  addTemporaryWalletNonce: string;
25
+ registerReceiveVault: string;
26
+ receiveVaultAccount: string;
27
+ receiveVaultNextIndex: string;
28
+ checkReceiveVault: string;
29
+ listReceiveVaults: string;
30
+ markReceiveVaultBlocked: string;
31
+ markReceiveVaultSettled: string;
26
32
  encodeMoonPayBuyUrl: string;
27
33
  getMoonPayQuote: string;
28
34
  privateSendNonceSync: string;
@@ -62,7 +68,6 @@ export declare const API_CONFIG: {
62
68
  };
63
69
  export declare const RELAYER_CONFIG: {
64
70
  getGasEstimate: (tokenAddress: string, externalActionId: string, erc20TokenAddressLength: number, gasAmount?: number) => string;
65
- getTokenPrices: string;
66
71
  TRANSACT: string;
67
72
  TRANSACT_BATCH: string;
68
73
  SOLANA_TRANSACT: string;
@@ -72,14 +77,16 @@ export declare const RELAYER_CONFIG: {
72
77
  getIdleRelay: string;
73
78
  emitTxPublicData: string;
74
79
  emitReferralTx: string;
80
+ emitOnboardingEvent: string;
75
81
  getScheduledTransactionById: (scheduleId: string) => string;
76
82
  getScheduledTransactionsNullifierIndexes: string;
77
- getTokenPriceChartData: string;
78
- getTokenPreviousDayPrices: string;
79
- getPrivateTransactionsRatio: (hashedOwner: string) => string;
80
- savePrivacyScoreAndGetPrivacyRank: string;
81
83
  };
82
84
  export declare const DATA_SERVER_CONFIG: {
85
+ getPrivateTransactionsRatio: (hashedOwner: string) => string;
86
+ savePrivacyScoreAndGetPrivacyRank: string;
87
+ getTokenPrices: string;
88
+ getTokenPriceChartData: string;
89
+ getTokenPreviousDayPrices: string;
83
90
  createPresaleReferral: string;
84
91
  updatePresaleReferralList: string;
85
92
  getUserAnalytics: string;
@@ -9,7 +9,6 @@ var n = { ROUTES: {
9
9
  callOkxAPI: "/OkxSwapData",
10
10
  callNearIntentsQuote: "/near-intents/quote",
11
11
  callNearIntentsTokens: "/near-intents/tokens",
12
- getOdosPriceForToken: (e, t) => `/getOdosPriceForToken/${e}/${t}`,
13
12
  monitor: "/monitor",
14
13
  monitorBatch: "/monitor/batch",
15
14
  checkRisk: (e) => `/check-risk/${e}`,
@@ -24,6 +23,13 @@ var n = { ROUTES: {
24
23
  updateProxyAccounts: "/update-proxy-accounts",
25
24
  getTemporaryWalletNonces: (e, t) => `/temporary-wallets/nonces/${e}/${t}`,
26
25
  addTemporaryWalletNonce: "/temporary-wallets/add-nonce",
26
+ registerReceiveVault: "/receive-vault/register",
27
+ receiveVaultAccount: "/receive-vault/account",
28
+ receiveVaultNextIndex: "/receive-vault/next-index",
29
+ checkReceiveVault: "/receive-vault/check",
30
+ listReceiveVaults: "/receive-vault/list",
31
+ markReceiveVaultBlocked: "/receive-vault/blocked",
32
+ markReceiveVaultSettled: "/receive-vault/settled",
27
33
  encodeMoonPayBuyUrl: "/moonpay-buy-url",
28
34
  getMoonPayQuote: "/moonpay-quote",
29
35
  privateSendNonceSync: "/private-send-nonce/sync",
@@ -61,7 +67,6 @@ var n = { ROUTES: {
61
67
  evmNftAssets: "/evm-nft-assets"
62
68
  } }, r = {
63
69
  getGasEstimate: (e, t, n, r) => `/gas-estimation/${e}/${n}/${t}/${r}`,
64
- getTokenPrices: "/get-token-prices",
65
70
  TRANSACT: "/general-transact",
66
71
  TRANSACT_BATCH: "/general-transact-batch",
67
72
  SOLANA_TRANSACT: "/solana-transact",
@@ -71,13 +76,15 @@ var n = { ROUTES: {
71
76
  getIdleRelay: "/get-idle-relay",
72
77
  emitTxPublicData: "/emit-tx-public-data",
73
78
  emitReferralTx: "/emit-referral-tx",
79
+ emitOnboardingEvent: "/emit-onboarding-event",
74
80
  getScheduledTransactionById: (e) => `/scheduled-transactions/${e}`,
75
- getScheduledTransactionsNullifierIndexes: "/scheduled-transactions/nullifier-indexes",
81
+ getScheduledTransactionsNullifierIndexes: "/scheduled-transactions/nullifier-indexes"
82
+ }, i = {
83
+ getPrivateTransactionsRatio: (e) => `/get-private-transactions-ratio/${e}`,
84
+ savePrivacyScoreAndGetPrivacyRank: "/save-privacy-score-and-get-privacy-rank",
85
+ getTokenPrices: "/get-token-prices",
76
86
  getTokenPriceChartData: "/get-token-price-chart-data",
77
87
  getTokenPreviousDayPrices: "/get-token-previous-day-prices",
78
- getPrivateTransactionsRatio: (e) => `/get-private-transactions-ratio/${e}`,
79
- savePrivacyScoreAndGetPrivacyRank: "/save-privacy-score-and-get-privacy-rank"
80
- }, i = {
81
88
  createPresaleReferral: "/create-presale-referral",
82
89
  updatePresaleReferralList: "/update-presale-referral-list",
83
90
  getUserAnalytics: "/get-user-analytics",
@@ -1 +1 @@
1
- const e=require(`./chains.constants.cjs`);var t=new Set([`0x23d7cffd0876f3abb6b074287ba2aeefbc83825d`,`0xd2a530170d71a9cfe1651fb468e2b98f7ed7456b`]);e.chainIds.ethMainnet,e.chainIds.arbMainnet,e.chainIds.optimism,e.chainIds.optimismTest,e.chainIds.base,e.chainIds.arcTestnet,e.chainIds.tempo,e.chainIds.sepoliaTestnet,e.chainIds.polygon,e.chainIds.solanaMainnet,e.chainIds.solanaLocalnet,e.chainIds.bnbMainnet,e.chainIds.avalanche,e.chainIds.cronos,e.chainIds.monad,e.chainIds.plasma,e.chainIds.ink,e.chainIds.hyperEvm,exports.NON_STANDARD_STORAGE_TOKENS=t;
1
+ const e=require(`./chains.constants.cjs`);var t=new Set([`0x23d7cffd0876f3abb6b074287ba2aeefbc83825d`,`0xd2a530170d71a9cfe1651fb468e2b98f7ed7456b`]);e.chainIds.ethMainnet,e.chainIds.arbMainnet,e.chainIds.optimism,e.chainIds.optimismTest,e.chainIds.base,e.chainIds.arcTestnet,e.chainIds.tempo,e.chainIds.sepoliaTestnet,e.chainIds.polygon,e.chainIds.solanaMainnet,e.chainIds.solanaLocalnet,e.chainIds.solanaDevnet,e.chainIds.bnbMainnet,e.chainIds.avalanche,e.chainIds.cronos,e.chainIds.monad,e.chainIds.plasma,e.chainIds.ink,e.chainIds.hyperEvm,exports.NON_STANDARD_STORAGE_TOKENS=t;
@@ -1,6 +1,6 @@
1
1
  import { chainIds as e } from "./chains.constants.mjs";
2
2
  //#region libs/shared/common/src/constants/tokens.constants.ts
3
3
  var t = new Set(["0x23d7cffd0876f3abb6b074287ba2aeefbc83825d", "0xd2a530170d71a9cfe1651fb468e2b98f7ed7456b"]);
4
- e.ethMainnet, e.arbMainnet, e.optimism, e.optimismTest, e.base, e.arcTestnet, e.tempo, e.sepoliaTestnet, e.polygon, e.solanaMainnet, e.solanaLocalnet, e.bnbMainnet, e.avalanche, e.cronos, e.monad, e.plasma, e.ink, e.hyperEvm;
4
+ e.ethMainnet, e.arbMainnet, e.optimism, e.optimismTest, e.base, e.arcTestnet, e.tempo, e.sepoliaTestnet, e.polygon, e.solanaMainnet, e.solanaLocalnet, e.solanaDevnet, e.bnbMainnet, e.avalanche, e.cronos, e.monad, e.plasma, e.ink, e.hyperEvm;
5
5
  //#endregion
6
6
  export { t as NON_STANDARD_STORAGE_TOKENS };
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../functions/utils/serialize.utils.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../../constants/protocol.constants.cjs`),r=require(`../../types/hinkal.types.cjs`),i=require(`../../crypto/poseidon.cjs`),a=require(`../../error-handling/error-codes.constants.cjs`),o=require(`../crypto-keys/keys.cjs`),s=require(`../../API/scheduled-transactions-calls.cjs`),c=require(`../../API/API.cjs`),l=require(`../../functions/utils/token-check.utils.cjs`),u=require(`../../functions/web3/events/getShieldedBalance.cjs`),d=require(`../../functions/web3/getContractMetadata.cjs`),f=require(`../../functions/snarkjs/fetchOnChainRootHashes.cjs`),p=require(`./hinkalDeposit.cjs`),m=require(`../../functions/utils/cacheDevice.utils.cjs`),h=require(`../../providers/SolanaProviderAdapter.cjs`),g=require(`../../functions/utils/enclave-signature-storage.cjs`),_=require(`../../functions/utils/mnemonics.cjs`),v=require(`./hinkalDepositAndWithdraw.cjs`),y=require(`./hinkalSolanaDeposit.cjs`),b=require(`./hinkalSwap.cjs`),x=require(`./hinkalWithdraw.cjs`),S=require(`../merkle-tree/MerkleTree.cjs`);require(`../merkle-tree/index.cjs`);const C=require(`./resetMerkleTrees.cjs`);require(`../../API/index.cjs`);const w=require(`../MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs`),T=require(`./hinkalPrivateWallet.cjs`),E=require(`./hinkalGetRecipientInfo.cjs`),D=require(`./hinkalSignSubAccount.cjs`),O=require(`./hinkalActionReceive.cjs`),k=require(`./hinkalProoflessDeposit.cjs`),A=require(`./hinkalProxySwap.cjs`),j=require(`./hinkalTransfer.cjs`),M=require(`./hinkalProxyToPrivate.cjs`),N=require(`../../providers/TronProviderAdapter.cjs`),P=require(`./hinkalSolanaDepositAndWithdraw.cjs`),F=require(`./hinkalSolanaWithdraw.cjs`),I=require(`./hinkalSolanaTransfer.cjs`),L=require(`./hinkalSolanaSwap.cjs`),R=require(`./hinkalSolanaProxySwap.cjs`),z=require(`./hinkalSolanaProxyShield.cjs`),B=require(`./hinkalDepositAndBridge.cjs`),V=require(`./hinkalBridgePrivateToPrivate.cjs`),H=require(`./hinkalNearDepositAndBridge.cjs`),U=require(`./hinkalClaimUtxo.cjs`),W=require(`./hinkalSolanaProoflessDeposit.cjs`),G=require(`./hinkalSolanaClaimUtxo.cjs`),K=require(`./hinkalWithdrawStuckUtxos.cjs`),q=require(`../private-balances/HinkalPrivateBalanceController.cjs`);require(`../private-balances/index.cjs`);const J=require(`./hinkalProxySend.cjs`);let Y=require(`@solana/web3.js`);var X=class{ethereumProviderAdapter;solanaProviderAdapter;tronProviderAdapter;userKeys;legacySignature;merkleTreeHinkalByChain={};nullifiersByChain={};encryptedOutputsByChain={};commitmentsSnapshotServiceByChain={};nullifierSnapshotServiceByChain={};privateBalances=new q.HinkalPrivateBalanceController(this);utxoUtils;lastCallState=new Map;cacheDevice;balanceFetchingMutexByChain=new Map;generateProofRemotely;disableMerkleTreeUpdates;allowParallelBalanceLocalDecryption;constructor(e){this.userKeys=new o.UserKeys(void 0),e?.tronChainOverride&&t.setHinkalTronChainId(e.tronChainOverride),t.HINKAL_SUPPORTED_CHAINS.forEach(e=>{this.merkleTreeHinkalByChain[e]=S.MerkleTree.create(i.poseidonFunction,0n),this.nullifiersByChain[e]=new Set,this.encryptedOutputsByChain[e]=[]}),this.generateProofRemotely=e?.generateProofRemotely??!0,this.utxoUtils=new w.MultiThreadedUtxoUtils,this.cacheDevice=m.createCacheDevice(e),this.disableMerkleTreeUpdates=e?.disableMerkleTreeUpdates??!1,this.allowParallelBalanceLocalDecryption=e?.allowParallelBalanceLocalDecryption??!1}enforceRateLimit(t,n,r=1e3){let i=Date.now(),a=e.CustomJSONStringify(n),o=this.lastCallState.get(t);if(o&&o.argsKey===a&&i-o.timestamp<r)throw Error(`${t} was already called with the same arguments`);this.lastCallState.set(t,{timestamp:i,argsKey:a})}getProviderAdapter(e){let n=e;n||=this.ethereumProviderAdapter?t.chainIds.ethMainnet:this.solanaProviderAdapter?t.currentSolanaChainId:t.chainIds.tronMainnet;let r;if(r=t.isSolanaLike(n)?this.solanaProviderAdapter:t.isTronLike(n)?this.tronProviderAdapter:this.ethereumProviderAdapter,!r)throw Error(`ProviderAdapter is not initialized`);return r}async initProviderAdapter(e,n){let r=t.chainIds.ethMainnet;n instanceof h.SolanaProviderAdapter?r=t.currentSolanaChainId:n instanceof N.TronProviderAdapter&&(r=t.currentTronChainId),await this.updateProviderAdapter(r,n),n.initConnector(e);let i=await n.connectAndPatchProvider(e);await n.init(i),await this.setListeners()}getSigningMessage(e=r.LoginMessageMode.SDK){switch(e){case r.LoginMessageMode.SDK:return n.SDK_SIGNING_MESSAGE;case r.LoginMessageMode.HINKAL_DAPP:default:return n.DAPP_SIGNING_MESSAGE}}async signHinkalMessage(e=r.LoginMessageMode.SDK){let t=this.getSigningMessage(e);return this.getProviderAdapter().signMessage(t)}async signSolanaLedgerMessage(){let e=new Y.Transaction({blockhash:n.DETERMINISTIC_SOLANA_LEDGER_BLOCKHASH,lastValidBlockHeight:n.DETERMINISTIC_SOLANA_LEDGER_LAST_VALID_BLOCK_HEIGHT,feePayer:this.getSolanaPublicKey()}),t=await this.getProviderAdapter().signTransactionWithoutBroadcast?.(e);if(!t)throw Error(`Failed to sign transaction without broadcast`);return t}async initUserKeys(e=r.LoginMessageMode.SDK){this.userKeys=new o.UserKeys(await this.signHinkalMessage(e))}initUserKeysWithSignature(e){this.userKeys=new o.UserKeys(e)}initUserKeysWithNullifyingKey(e){this.userKeys=new o.UserKeys(void 0,e)}async initUserKeysFromSeedPhrases(e){let t=_.generateHashFromSeedPhrases(e);this.userKeys=new o.UserKeys(t)}async initUserKeysWithEnclaveSignature(e=r.LoginMessageMode.SDK){if(!await this.getEthereumAddress())throw Error(`Connected address not found`);let t=this.getProviderAdapter().isSolanaLedger?.()?await this.signSolanaLedgerMessage():await this.getProviderAdapter().signMessage(this.getSigningMessage(e)),n=await this.storeAndGetInitialSignature(t);this.initUserKeysWithSignature(n??t)}async storeAndGetInitialSignature(e){let t=await this.getEthereumAddress();if(!t)throw Error(`Connected address not found`);return g.storeAndGetSignatureFromEnclave(t,e)}async resetMerkle(e){this.disableMerkleTreeUpdates||(e?.every(e=>this.isSelectedNetworkSupported(e))??!0)&&await C.resetMerkleTrees(this,e)}getTronWeb(){let e=this.tronProviderAdapter;if(!e)throw Error(`Tron provider adapter not initialized`);if(!(e instanceof N.TronProviderAdapter))throw Error(`Tron provider adapter is not a TronProviderAdapter`);let t=e.getTronWeb();if(!t)throw Error(`TronWeb not available`);return t}getSupportedChains(){return this.ethereumProviderAdapter&&this.solanaProviderAdapter?t.WALLET_SUPPORTED_CHAINS:this.ethereumProviderAdapter?t.HINKAL_SUPPORTED_CHAINS.filter(e=>!t.isSolanaLike(e)&&!t.isTronLike(e)):this.solanaProviderAdapter?t.HINKAL_SUPPORTED_CHAINS.filter(e=>t.isSolanaLike(e)):this.tronProviderAdapter?[t.currentTronChainId]:[]}async waitForTransaction(e,t,n=1){return!!await this.getProviderAdapter(e).waitForTransaction(e,t,n)}getContract(e,t,n=void 0){return this.getProviderAdapter(e).getContract(e,t,n)}getContractWithFetcherByChainId(e,t,n=void 0){return d.getContractWithFetcherByChainId(e,t,n)}async signMessage(e){return await this.getProviderAdapter().signMessage(e)}async signTypedData(e,t,n){return await this.getProviderAdapter().signTypedData(e,t,n)}async signWithSubAccount(e,t,n,r){return D.hinkalSignSubAccount(e,t,n,r)}getContractWithSigner(e,t,n=``){return this.getProviderAdapter(e).getContractWithSigner(e,t,n)}getContractWithFetcher(e,t,n=``){return this.getProviderAdapter(e).getContractWithFetcher(e,t,n)}isSelectedNetworkSupported(e){return!!t.networkRegistry[e]}async switchNetwork(e){let n=this.getProviderAdapter(),r=n.getChainId(),i=r!==void 0&&t.isSameOnchainNetwork(e.chainId,r);if(!(e.chainId===r||i))try{await n.switchNetwork(e)}catch{throw Error(a.transactionErrorCodes.FAILED_TO_SWITCH_NETWORKS)}}async disconnectFromConnector(){await this.ethereumProviderAdapter?.disconnectFromConnector(),await this.solanaProviderAdapter?.disconnectFromConnector(),await this.tronProviderAdapter?.disconnectFromConnector()}async resetProviderAdapters(){this.ethereumProviderAdapter?.release(),this.solanaProviderAdapter?.release(),this.tronProviderAdapter?.release(),this.ethereumProviderAdapter=void 0,this.solanaProviderAdapter=void 0,this.tronProviderAdapter=void 0}async updateProviderAdapter(e,n){try{t.isSolanaLike(e)?(this.solanaProviderAdapter&&this.solanaProviderAdapter.release(),this.solanaProviderAdapter=n):t.isTronLike(e)?(this.tronProviderAdapter&&this.tronProviderAdapter.release(),this.tronProviderAdapter=n):(this.ethereumProviderAdapter&&this.ethereumProviderAdapter.release(),this.ethereumProviderAdapter=n)}catch(e){throw console.error(e),Error(`updateProviderAdapter failed, please try again.`)}}async setListeners(){this.ethereumProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}}),this.solanaProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}}),this.tronProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}})}async onAccountChanged(){await this.ethereumProviderAdapter?.onAccountChanged(),await this.solanaProviderAdapter?.onAccountChanged(),await this.tronProviderAdapter?.onAccountChanged();let e=r.EventType.AccountChanged;typeof document<`u`?document?.dispatchEvent(new Event(e)):process?.emit(`message`,e,void 0)}async onChainChanged(e){e?await this.getProviderAdapter(e).onChainChanged(e):await this.disconnectFromConnector()}async monitorConnectedAddress(e){await c.API.monitor(await this.getEthereumAddressByChain(e))}async getTotalBalances(e,t,n,r=!1,i,a=!1){let o=t??this.userKeys,s=new Map(await Promise.all(e.map(async e=>[e,n??await this.getEthereumAddressByChain(e)])));return u.getShieldedBalances(this,s,o.getShieldedPrivateKey(),o.getShieldedPublicKey(),r,i,a)}async getStuckShieldedBalances(e,t,n,r=!1,i=!1){let a=await this.getTotalBalances(e,t,n,r,i,!0);return new Map([...a].map(([e,t])=>[e,t.filter(e=>e.balance>0n)]))}get privateBalancesWithUSD(){return this.privateBalances.getSnapshot()}onPrivateBalancesWithUSDChange(e){return this.privateBalances.onPrivateBalancesWithUSDChange(e)}async getHinkalTreeRootHash(e){return(await f.fetchOnChainRootHashes(e)).hinkalRootHash}async resetMerkleTreesIfNecessary(e){let t=(await Promise.all((e??this.getSupportedChains()).map(async e=>{if(this.generateProofRemotely)return{chainId:e,needsReset:!1};let t=await this.getHinkalTreeRootHash(e);return{chainId:e,needsReset:BigInt(t)!==this.merkleTreeHinkalByChain[e].getRootHash()}}))).filter(e=>e.needsReset).map(e=>e.chainId);t.length>0&&(console.log(`resetting merkle tree in resetMerkleTreesIfNecessary for chains:`,t),await this.resetMerkle(t))}async getEthereumAddress(){let e=this.ethereumProviderAdapter??this.solanaProviderAdapter??this.tronProviderAdapter;if(!e)throw Error(`No provider adapter initialized`);return e.getAddress()}getEthereumAddressByChain(e){return this.getProviderAdapter(e).getAddress()}async getRandomRelay(e,t=!1){return(await c.API.getIdleRelay(e,t)).relay}getGasPrice(e){let t=this.getProviderAdapter(e);if(!t)throw Error(`Illegal State of providerAdapter in Hinkal: no providerAdapter initialized`);return t.getGasPrice(e)}getAPI(){return c.API}snapshotsClearInterval(){this.getSupportedChains().forEach(e=>{this.commitmentsSnapshotServiceByChain[e]?.intervalClear(),this.nullifierSnapshotServiceByChain[e]?.intervalClear()})}async destroy(){this.snapshotsClearInterval(),this.privateBalances.dispose(),await this.resetProviderAdapters()}getRecipientInfo(){return E.getRecipientInfo(this)}async deposit(e,t,n=!0,r=!1){return p.hinkalDeposit(this,e,t,n,r)}async depositSolana(e,t,n=!1){return y.hinkalSolanaDeposit(this,e,t,n)}async depositForOther(e,t,n,r=!0,i=!1,a){return this.enforceRateLimit(this.depositForOther.name,[e,t,n]),p.hinkalDepositForOther(this,e,t,n,r,i,a)}async depositSolanaForOther(e,t,n,r=!1,i){return this.enforceRateLimit(this.depositSolanaForOther.name,[e,t,n]),y.hinkalSolanaDepositForOther(this,e,t,n,r,i)}async depositAndWithdraw(e,n,r,i,a,o,s,c,u=!0){return t.isSolanaLike(l.validateAndGetChainId([e]))?P.hinkalSolanaDepositAndWithdraw(this,e,n,r,i,a,o,s,c):v.hinkalDepositAndWithdraw(this,e,n,r,i,a,o,s,c,u)}async claimUtxo(e,n,r,i){return t.isSolanaLike(l.validateAndGetChainId([e]))?G.hinkalSolanaClaimUtxo(this,e,n,r,i):U.hinkalClaimUtxo(this,e,n,r,i)}async depositAndBridge(e,t,n,r,i,a,o,s=!0){return B.hinkalDepositAndBridge(this,e,t,n,r,i,a,o,s)}async bridgePrivateToPrivate(e,t,n,r,i,a,o,s){return this.enforceRateLimit(this.bridgePrivateToPrivate.name,[e,t,n]),V.hinkalBridgePrivateToPrivate(this,e,t,n,r,i,a,o,s)}async checkSendTransactionStatus(e){return s.getScheduledTransactionById(e)}async nearDepositAndBridge(e,t,n,r,i,a,o,s,c){return this.enforceRateLimit(this.nearDepositAndBridge.name,[e,t,n,r]),H.hinkalNearDepositAndBridge(this,e,t,n,r,i,a,o,s,c)}async prooflessDeposit(e,n,i,a,o=!1,s=r.zeroProoflessFeeStructure,c=``,u,d=!1){return t.isSolanaLike(l.validateAndGetChainId(e))?W.hinkalSolanaProoflessDeposit(this,e,n,i,a,o,u,d):k.hinkalProoflessDeposit(this,e,n,i,a,o,s,c,u,d)}getSolanaProgram(e){if(!this.solanaProviderAdapter)throw Error(`No provider adapter initialized`);if(!(`getSolanaProgram`in this.solanaProviderAdapter))throw Error(`Current provider adapter is not a Solana provider adapter`);return this.solanaProviderAdapter.getSolanaProgram(e)}getSolanaPublicKey(){if(!this.solanaProviderAdapter)throw Error(`No provider adapter initialized`);if(!(`getSolanaPublicKey`in this.solanaProviderAdapter))throw Error(`Current provider adapter is not a Solana provider adapter`);return this.solanaProviderAdapter.getSolanaPublicKey()}async transfer(e,n,r,i,a,o){return this.enforceRateLimit(this.transfer.name,[e,n,r]),t.isSolanaLike(l.validateAndGetChainId(e))?I.hinkalSolanaTransfer(this,e,n,r,i,a,o):j.hinkalTransfer(this,e,n,r,i,a,o)}async withdraw(e,n,r,i,a,o,s,c){return t.isSolanaLike(l.validateAndGetChainId(e))?F.hinkalSolanaWithdraw(this,e,n,r,a,o,s,c):x.hinkalWithdraw(this,e,n,r,i,a,o,s,c)}async withdrawStuckUtxos(e,t){return K.hinkalWithdrawStuckUtxos(this,e,t)}async swap(e,n,r,i,a,o,s,c){return t.isSolanaLike(l.validateAndGetChainId(e))?this.swapSolana(e,n,i,a,o,c):b.hinkalSwap(this,e,n,r,i,a,o,s,c)}async swapSolana(e,t,n,r,i,a){let o=JSON.parse(n),s=BigInt(o.swapperAccountSalt),{instructionLists:c,addressLookupTableAccount:l}=o.data;return L.hinkalSolanaSwap(this,e,t,s,c,l,r,i,a)}async actionReceive(e,n,r,i,a,o){if(!a)throw Error(`subAccount is required`);return t.isSolanaLike(l.validateAndGetChainId(e))?z.hinkalSolanaProxyShield(this,e[0],n[0],a,void 0,!1,i?.variableRate,o):O.hinkalActionReceive(this,e,n,r,i,a,o)}async actionPrivateWallet(e,t,n,r,i,a,o,s,c,l,u=!1,d,f,p){return this.enforceRateLimit(this.actionPrivateWallet.name,[e,t,n,r,i,a,o,s,c,p]),T.hinkalPrivateWallet(this,e,t,n,r,i,a,o,s,c,l,u,d,f,p)}async proxySwap(e,n,r,i,a,o,s,c,u=!1,d,f,p,m){return t.isSolanaLike(l.validateAndGetChainId(e))?R.hinkalSolanaProxySwap(this,e,n,i,o,r,a,s,c,m,f,p):A.hinkalProxySwap(this,e,n,r,i,a,o,s,c,u,d,m,f,p)}async proxyToPrivate(e,n,r,i,a,o,s){return t.isSolanaLike(l.validateAndGetChainId(e))?(this.enforceRateLimit(this.proxyToPrivate.name,[e[0],n[0],r,i]),z.hinkalSolanaProxyShield(this,e[0],n[0],r,i,!1,o?.variableRate,s)):M.hinkalProxyToPrivate(this,e,n,i,a,o,r,s)}async proxySend(e,t,n,r,i,a,o){return J.hinkalProxySend(this,e,t,n,r,i,a,o)}areMerkleTreeUpdatesDisabled(){return this.disableMerkleTreeUpdates}updateMerkleTreeUpdates(e){this.disableMerkleTreeUpdates=e}};exports.Hinkal=X;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../functions/utils/serialize.utils.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../../constants/protocol.constants.cjs`),r=require(`../../types/hinkal.types.cjs`),i=require(`../../crypto/poseidon.cjs`),a=require(`../../error-handling/error-codes.constants.cjs`),o=require(`../crypto-keys/keys.cjs`),s=require(`../../API/scheduled-transactions-calls.cjs`),c=require(`../../functions/web3/getContractMetadata.cjs`),l=require(`../../API/API.cjs`),u=require(`../../functions/utils/token-check.utils.cjs`),d=require(`../../functions/web3/events/getShieldedBalance.cjs`),f=require(`../../functions/snarkjs/fetchOnChainRootHashes.cjs`),p=require(`./hinkalDeposit.cjs`),m=require(`../../functions/utils/cacheDevice.utils.cjs`),h=require(`../../providers/SolanaProviderAdapter.cjs`),g=require(`../../functions/utils/enclave-signature-storage.cjs`),_=require(`../../functions/utils/mnemonics.cjs`),v=require(`./hinkalDepositAndWithdraw.cjs`),y=require(`./hinkalSolanaDeposit.cjs`),b=require(`./hinkalSwap.cjs`),x=require(`./hinkalWithdraw.cjs`),S=require(`../merkle-tree/MerkleTree.cjs`);require(`../merkle-tree/index.cjs`);const C=require(`./resetMerkleTrees.cjs`);require(`../../API/index.cjs`);const w=require(`../MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs`),T=require(`./hinkalPrivateWallet.cjs`),E=require(`./hinkalReceiveVaultAccount.cjs`),D=require(`./hinkalReceiveVaultCreate.cjs`),O=require(`./hinkalReceiveVaultRecover.cjs`),k=require(`./hinkalGetRecipientInfo.cjs`),A=require(`./hinkalSignSubAccount.cjs`),j=require(`./hinkalActionReceive.cjs`),M=require(`./hinkalProoflessDeposit.cjs`),N=require(`./hinkalProxySwap.cjs`),P=require(`./hinkalTransfer.cjs`),F=require(`./hinkalProxyToPrivate.cjs`),I=require(`../../providers/TronProviderAdapter.cjs`),L=require(`./hinkalSolanaDepositAndWithdraw.cjs`),R=require(`./hinkalSolanaWithdraw.cjs`),z=require(`./hinkalSolanaTransfer.cjs`),B=require(`./hinkalSolanaSwap.cjs`),V=require(`./hinkalSolanaProxySwap.cjs`),H=require(`./hinkalSolanaProxyShield.cjs`),U=require(`./hinkalDepositAndBridge.cjs`),W=require(`./hinkalBridgePrivateToPrivate.cjs`),G=require(`./hinkalNearDepositAndBridge.cjs`),K=require(`./hinkalClaimUtxo.cjs`),q=require(`./hinkalSolanaProoflessDeposit.cjs`),J=require(`./hinkalSolanaClaimUtxo.cjs`),Y=require(`./hinkalWithdrawStuckUtxos.cjs`),X=require(`../private-balances/HinkalPrivateBalanceController.cjs`);require(`../private-balances/index.cjs`);const Z=require(`./hinkalProxySend.cjs`);let Q=require(`@solana/web3.js`);var $=class{ethereumProviderAdapter;solanaProviderAdapter;tronProviderAdapter;userKeys;legacySignature;merkleTreeHinkalByChain={};nullifiersByChain={};encryptedOutputsByChain={};commitmentsSnapshotServiceByChain={};nullifierSnapshotServiceByChain={};privateBalances=new X.HinkalPrivateBalanceController(this);utxoUtils;lastCallState=new Map;cacheDevice;balanceFetchingMutexByChain=new Map;generateProofRemotely;disableMerkleTreeUpdates;allowParallelBalanceLocalDecryption;constructor(e){this.userKeys=new o.UserKeys(void 0),e?.tronChainOverride&&t.setHinkalTronChainId(e.tronChainOverride),t.HINKAL_SUPPORTED_CHAINS.forEach(e=>{this.merkleTreeHinkalByChain[e]=S.MerkleTree.create(i.poseidonFunction,0n),this.nullifiersByChain[e]=new Set,this.encryptedOutputsByChain[e]=[]}),this.generateProofRemotely=e?.generateProofRemotely??!0,this.utxoUtils=new w.MultiThreadedUtxoUtils,this.cacheDevice=m.createCacheDevice(e),this.disableMerkleTreeUpdates=e?.disableMerkleTreeUpdates??!1,this.allowParallelBalanceLocalDecryption=e?.allowParallelBalanceLocalDecryption??!1}enforceRateLimit(t,n,r=1e3){let i=Date.now(),a=e.CustomJSONStringify(n),o=this.lastCallState.get(t);if(o&&o.argsKey===a&&i-o.timestamp<r)throw Error(`${t} was already called with the same arguments`);this.lastCallState.set(t,{timestamp:i,argsKey:a})}getProviderAdapter(e){let n=e;n||=this.ethereumProviderAdapter?t.chainIds.ethMainnet:this.solanaProviderAdapter?t.currentSolanaChainId:t.chainIds.tronMainnet;let r;if(r=t.isSolanaLike(n)?this.solanaProviderAdapter:t.isTronLike(n)?this.tronProviderAdapter:this.ethereumProviderAdapter,!r)throw Error(`ProviderAdapter is not initialized`);return r}async initProviderAdapter(e,n){let r=t.chainIds.ethMainnet;n instanceof h.SolanaProviderAdapter?r=t.currentSolanaChainId:n instanceof I.TronProviderAdapter&&(r=t.currentTronChainId),await this.updateProviderAdapter(r,n),n.initConnector(e);let i=await n.connectAndPatchProvider(e);return await n.init(i),await this.setListeners(),r}getSigningMessage(e=r.LoginMessageMode.SDK){switch(e){case r.LoginMessageMode.SDK:return n.SDK_SIGNING_MESSAGE;case r.LoginMessageMode.HINKAL_DAPP:default:return n.DAPP_SIGNING_MESSAGE}}async signHinkalMessage(e=r.LoginMessageMode.SDK){let t=this.getSigningMessage(e);return this.getProviderAdapter().signMessage(t)}async signSolanaLedgerMessage(){let e=new Q.Transaction({blockhash:n.DETERMINISTIC_SOLANA_LEDGER_BLOCKHASH,lastValidBlockHeight:n.DETERMINISTIC_SOLANA_LEDGER_LAST_VALID_BLOCK_HEIGHT,feePayer:this.getSolanaPublicKey()}),t=await this.getProviderAdapter().signTransactionWithoutBroadcast?.(e);if(!t)throw Error(`Failed to sign transaction without broadcast`);return t}async initUserKeys(e=r.LoginMessageMode.SDK){this.userKeys=new o.UserKeys(await this.signHinkalMessage(e))}initUserKeysWithSignature(e){this.userKeys=new o.UserKeys(e)}initUserKeysWithNullifyingKey(e){this.userKeys=new o.UserKeys(void 0,e)}async initUserKeysFromSeedPhrases(e){let t=_.generateHashFromSeedPhrases(e);this.userKeys=new o.UserKeys(t)}async initUserKeysWithEnclaveSignature(e=r.LoginMessageMode.SDK){if(!await this.getEthereumAddress())throw Error(`Connected address not found`);let t=this.getProviderAdapter().isSolanaLedger?.()?await this.signSolanaLedgerMessage():await this.getProviderAdapter().signMessage(this.getSigningMessage(e)),n=await this.storeAndGetInitialSignature(t);this.initUserKeysWithSignature(n??t)}async storeAndGetInitialSignature(e){let t=await this.getEthereumAddress();if(!t)throw Error(`Connected address not found`);return g.storeAndGetSignatureFromEnclave(t,e)}async resetMerkle(e){this.disableMerkleTreeUpdates||(e?.every(e=>this.isSelectedNetworkSupported(e))??!0)&&await C.resetMerkleTrees(this,e)}getTronWeb(){let e=this.tronProviderAdapter;if(!e)throw Error(`Tron provider adapter not initialized`);if(!(e instanceof I.TronProviderAdapter))throw Error(`Tron provider adapter is not a TronProviderAdapter`);let t=e.getTronWeb();if(!t)throw Error(`TronWeb not available`);return t}getSupportedChains(){return this.ethereumProviderAdapter&&this.solanaProviderAdapter?t.WALLET_SUPPORTED_CHAINS:this.ethereumProviderAdapter?t.HINKAL_SUPPORTED_CHAINS.filter(e=>!t.isSolanaLike(e)&&!t.isTronLike(e)):this.solanaProviderAdapter?t.HINKAL_SUPPORTED_CHAINS.filter(e=>t.isSolanaLike(e)):this.tronProviderAdapter?[t.currentTronChainId]:[]}async waitForTransaction(e,t,n=1){return!!await this.getProviderAdapter(e).waitForTransaction(e,t,n)}getContract(e,t,n=void 0){return this.getProviderAdapter(e).getContract(e,t,n)}getContractWithFetcherByChainId(e,t,n=void 0){return c.getContractWithFetcherByChainId(e,t,n)}async signMessage(e){return await this.getProviderAdapter().signMessage(e)}async signTypedData(e,t,n){return await this.getProviderAdapter().signTypedData(e,t,n)}async signWithSubAccount(e,t,n,r){return A.hinkalSignSubAccount(e,t,n,r)}getContractWithSigner(e,t,n=``){return this.getProviderAdapter(e).getContractWithSigner(e,t,n)}getContractWithFetcher(e,t,n=``){return this.getProviderAdapter(e).getContractWithFetcher(e,t,n)}isSelectedNetworkSupported(e){return!!t.networkRegistry[e]}async switchNetwork(e){let n=this.getProviderAdapter(),r=n.getChainId(),i=r!==void 0&&t.isSameOnchainNetwork(e.chainId,r);if(!(e.chainId===r||i))try{await n.switchNetwork(e)}catch{throw Error(a.transactionErrorCodes.FAILED_TO_SWITCH_NETWORKS)}}async disconnectFromConnector(){await this.ethereumProviderAdapter?.disconnectFromConnector(),await this.solanaProviderAdapter?.disconnectFromConnector(),await this.tronProviderAdapter?.disconnectFromConnector()}async resetProviderAdapters(){this.ethereumProviderAdapter?.release(),this.solanaProviderAdapter?.release(),this.tronProviderAdapter?.release(),this.ethereumProviderAdapter=void 0,this.solanaProviderAdapter=void 0,this.tronProviderAdapter=void 0}async updateProviderAdapter(e,n){try{t.isSolanaLike(e)?(this.solanaProviderAdapter&&this.solanaProviderAdapter.release(),this.solanaProviderAdapter=n):t.isTronLike(e)?(this.tronProviderAdapter&&this.tronProviderAdapter.release(),this.tronProviderAdapter=n):(this.ethereumProviderAdapter&&this.ethereumProviderAdapter.release(),this.ethereumProviderAdapter=n)}catch(e){throw console.error(e),Error(`updateProviderAdapter failed, please try again.`)}}async setListeners(){this.ethereumProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}}),this.solanaProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}}),this.tronProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}})}async onAccountChanged(){await this.ethereumProviderAdapter?.onAccountChanged(),await this.solanaProviderAdapter?.onAccountChanged(),await this.tronProviderAdapter?.onAccountChanged();let e=r.EventType.AccountChanged;typeof document<`u`?document?.dispatchEvent(new Event(e)):process?.emit(`message`,e,void 0)}async onChainChanged(e){e?await this.getProviderAdapter(e).onChainChanged(e):await this.disconnectFromConnector()}async monitorConnectedAddress(e){await l.API.monitor(await this.getEthereumAddressByChain(e))}async getTotalBalances(e,t,n,r=!1,i,a=!1){let o=t??this.userKeys,s=new Map(await Promise.all(e.map(async e=>[e,n??await this.getEthereumAddressByChain(e)])));return d.getShieldedBalances(this,s,o.getShieldedPrivateKey(),o.getShieldedPublicKey(),r,i,a)}async getStuckShieldedBalances(e,t,n,r=!1,i=!1){let a=await this.getTotalBalances(e,t,n,r,i,!0);return new Map([...a].map(([e,t])=>[e,t.filter(e=>e.balance>0n)]))}get privateBalancesWithUSD(){return this.privateBalances.getSnapshot()}onPrivateBalancesWithUSDChange(e){return this.privateBalances.onPrivateBalancesWithUSDChange(e)}async getHinkalTreeRootHash(e){return(await f.fetchOnChainRootHashes(e)).hinkalRootHash}async resetMerkleTreesIfNecessary(e){let t=(await Promise.all((e??this.getSupportedChains()).map(async e=>{if(this.generateProofRemotely)return{chainId:e,needsReset:!1};let t=await this.getHinkalTreeRootHash(e);return{chainId:e,needsReset:BigInt(t)!==this.merkleTreeHinkalByChain[e].getRootHash()}}))).filter(e=>e.needsReset).map(e=>e.chainId);t.length>0&&(console.log(`resetting merkle tree in resetMerkleTreesIfNecessary for chains:`,t),await this.resetMerkle(t))}async getEthereumAddress(){let e=this.ethereumProviderAdapter??this.solanaProviderAdapter??this.tronProviderAdapter;if(!e)throw Error(`No provider adapter initialized`);return e.getAddress()}getEthereumAddressByChain(e){return this.getProviderAdapter(e).getAddress()}async getRandomRelay(e,t=!1){return(await l.API.getIdleRelay(e,t)).relay}getGasPrice(e){let t=this.getProviderAdapter(e);if(!t)throw Error(`Illegal State of providerAdapter in Hinkal: no providerAdapter initialized`);return t.getGasPrice(e)}getAPI(){return l.API}snapshotsClearInterval(){this.getSupportedChains().forEach(e=>{this.commitmentsSnapshotServiceByChain[e]?.intervalClear(),this.nullifierSnapshotServiceByChain[e]?.intervalClear()})}async destroy(){this.snapshotsClearInterval(),this.privateBalances.dispose(),await this.resetProviderAdapters()}getRecipientInfo(){return k.getRecipientInfo(this)}async deposit(e,t,n=!0,r=!1){return p.hinkalDeposit(this,e,t,n,r)}async depositSolana(e,t,n=!1){return y.hinkalSolanaDeposit(this,e,t,n)}async depositForOther(e,t,n,r=!0,i=!1,a){return this.enforceRateLimit(this.depositForOther.name,[e,t,n]),p.hinkalDepositForOther(this,e,t,n,r,i,a)}async depositSolanaForOther(e,t,n,r=!1,i=0n,a){return this.enforceRateLimit(this.depositSolanaForOther.name,[e,t,n]),y.hinkalSolanaDepositForOther(this,e,t,n,r,i,a)}async depositAndWithdraw(e,n,r,i,a,o,s,c,l=!0){return t.isSolanaLike(u.validateAndGetChainId([e]))?L.hinkalSolanaDepositAndWithdraw(this,e,n,r,i,a,o,s,c):v.hinkalDepositAndWithdraw(this,e,n,r,i,a,o,s,c,l)}async claimUtxo(e,n,r,i){return t.isSolanaLike(u.validateAndGetChainId([e]))?J.hinkalSolanaClaimUtxo(this,e,n,r,i):K.hinkalClaimUtxo(this,e,n,r,i)}async depositAndBridge(e,t,n,r,i,a,o,s=!0){return U.hinkalDepositAndBridge(this,e,t,n,r,i,a,o,s)}async bridgePrivateToPrivate(e,t,n,r,i,a,o,s){return this.enforceRateLimit(this.bridgePrivateToPrivate.name,[e,t,n]),W.hinkalBridgePrivateToPrivate(this,e,t,n,r,i,a,o,s)}async checkSendTransactionStatus(e){return s.getScheduledTransactionById(e)}async nearDepositAndBridge(e,t,n,r,i,a,o,s,c){return this.enforceRateLimit(this.nearDepositAndBridge.name,[e,t,n,r]),G.hinkalNearDepositAndBridge(this,e,t,n,r,i,a,o,s,c)}async prooflessDeposit(e,n,i,a,o=!1,s=r.zeroProoflessFeeStructure,c=``,l,d=!1,f=!1){return t.isSolanaLike(u.validateAndGetChainId(e))?q.hinkalSolanaProoflessDeposit(this,e,n,i,a,o,l,f):M.hinkalProoflessDeposit(this,e,n,i,a,o,s,c,l,d,f)}getSolanaProgram(e){if(!this.solanaProviderAdapter)throw Error(`No provider adapter initialized`);if(!(`getSolanaProgram`in this.solanaProviderAdapter))throw Error(`Current provider adapter is not a Solana provider adapter`);return this.solanaProviderAdapter.getSolanaProgram(e)}getSolanaPublicKey(){if(!this.solanaProviderAdapter)throw Error(`No provider adapter initialized`);if(!(`getSolanaPublicKey`in this.solanaProviderAdapter))throw Error(`Current provider adapter is not a Solana provider adapter`);return this.solanaProviderAdapter.getSolanaPublicKey()}async transfer(e,n,r,i,a,o){return this.enforceRateLimit(this.transfer.name,[e,n,r]),t.isSolanaLike(u.validateAndGetChainId(e))?z.hinkalSolanaTransfer(this,e,n,r,i,a,o):P.hinkalTransfer(this,e,n,r,i,a,o)}async withdraw(e,n,r,i,a,o,s,c){return t.isSolanaLike(u.validateAndGetChainId(e))?R.hinkalSolanaWithdraw(this,e,n,r,a,o,s,c):x.hinkalWithdraw(this,e,n,r,i,a,o,s,c)}async withdrawStuckUtxos(e,t){return Y.hinkalWithdrawStuckUtxos(this,e,t)}async createReceiveAddress(e,t=!1){return D.hinkalReceiveVaultCreate(this,e,t)}async getReceiveVaultAccount(){return E.hinkalGetReceiveVaultAccount(this)}async recoverReceiveVault(e,t,n,r,i=!1){return O.hinkalReceiveVaultRecover(this,e,t,n,r,i)}async swap(e,n,r,i,a,o,s,c){return t.isSolanaLike(u.validateAndGetChainId(e))?this.swapSolana(e,n,i,a,o,c):b.hinkalSwap(this,e,n,r,i,a,o,s,c)}async swapSolana(e,t,n,r,i,a){let o=JSON.parse(n),s=BigInt(o.swapperAccountSalt),{instructionLists:c,addressLookupTableAccount:l}=o.data;return B.hinkalSolanaSwap(this,e,t,s,c,l,r,i,a)}async actionReceive(e,n,r,i,a,o){if(!a)throw Error(`subAccount is required`);return t.isSolanaLike(u.validateAndGetChainId(e))?H.hinkalSolanaProxyShield(this,e[0],n[0],a,void 0,!1,i?.variableRate,o):j.hinkalActionReceive(this,e,n,r,i,a,o)}async actionPrivateWallet(e,t,n,r,i,a,o,s,c,l,u=!1,d,f,p,m){return this.enforceRateLimit(this.actionPrivateWallet.name,[e,t,n,r,i,a,o,s,c,p]),T.hinkalPrivateWallet(this,e,t,n,r,i,a,o,s,c,l,u,d,f,p,m)}async proxySwap(e,n,r,i,a,o,s,c,l=!1,d,f,p,m){return t.isSolanaLike(u.validateAndGetChainId(e))?V.hinkalSolanaProxySwap(this,e,n,i,o,r,a,s,c,m,f,p):N.hinkalProxySwap(this,e,n,r,i,a,o,s,c,l,d,m,f,p)}async proxyToPrivate(e,n,r,i,a,o,s){return t.isSolanaLike(u.validateAndGetChainId(e))?(this.enforceRateLimit(this.proxyToPrivate.name,[e[0],n[0],r,i]),H.hinkalSolanaProxyShield(this,e[0],n[0],r,i,!1,o?.variableRate,s)):F.hinkalProxyToPrivate(this,e,n,i,a,o,r,s)}async proxySend(e,t,n,r,i,a,o){return Z.hinkalProxySend(this,e,t,n,r,i,a,o)}areMerkleTreeUpdatesDisabled(){return this.disableMerkleTreeUpdates}updateMerkleTreeUpdates(e){this.disableMerkleTreeUpdates=e}};exports.Hinkal=$;
@@ -11,6 +11,7 @@ import { IProviderAdapter } from '../provider-adapter/IProviderAdapter';
11
11
  import { IHinkal } from './IHinkal';
12
12
  import { MerkleTree } from '../merkle-tree';
13
13
  import { IAPI } from '../../API';
14
+ import { ReceiveVaultAccount, ReceiveVaultNetwork, ReceiveVaultRecord } from '../../types/receive-vault.types';
14
15
  import { ICacheDevice } from '../../types/ICacheDevice';
15
16
  import { StealthAddressStructure, TypedData } from '../../types/circom-data.types';
16
17
  import { SubAccount } from '../../types/proxy.types';
@@ -47,7 +48,7 @@ export declare class Hinkal<ConnectorType> implements IHinkal {
47
48
  constructor(hinkalConfig?: HinkalConfig);
48
49
  private enforceRateLimit;
49
50
  getProviderAdapter(chainId?: number): IProviderAdapter<ConnectorType>;
50
- initProviderAdapter(connector: ConnectorType, providerAdapter: IProviderAdapter<ConnectorType>): Promise<void>;
51
+ initProviderAdapter(connector: ConnectorType, providerAdapter: IProviderAdapter<ConnectorType>): Promise<number>;
51
52
  getSigningMessage(mode?: LoginMessageMode): string;
52
53
  signHinkalMessage(mode?: LoginMessageMode): Promise<string>;
53
54
  signSolanaLedgerMessage(): Promise<string>;
@@ -95,23 +96,26 @@ export declare class Hinkal<ConnectorType> implements IHinkal {
95
96
  deposit(erc20Tokens: ERC20Token[], amountChanges: bigint[], preEstimateGas?: boolean, returnTxData?: boolean): Promise<ethers.TransactionResponse | ethers.TransactionRequest | string | TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
96
97
  depositSolana(amount: bigint, token: ERC20Token, returnTxData?: boolean): Promise<string>;
97
98
  depositForOther(erc20Tokens: ERC20Token[], amountChanges: bigint[], recipientInfo: string, preEstimateGas?: boolean, returnTxData?: boolean, action?: AdminTransactionType): Promise<ethers.TransactionResponse | ethers.TransactionRequest | string | TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
98
- depositSolanaForOther(amount: bigint, token: ERC20Token, recipientInfo: string, returnTxData?: boolean, action?: AdminTransactionType): Promise<string>;
99
+ depositSolanaForOther(amount: bigint, token: ERC20Token, recipientInfo: string, returnTxData?: boolean, variableRate?: bigint, action?: AdminTransactionType): Promise<string>;
99
100
  depositAndWithdraw(erc20Token: ERC20Token, recipientAmounts: bigint[], recipientAddresses: string[], txCompletionTime?: number, feeStructureOverride?: FeeStructure, ref?: string, action?: AdminTransactionType, dashboardAccountId?: string, preEstimateGas?: boolean): Promise<DepositAndSendExtendedResult>;
100
101
  claimUtxo(erc20Token: ERC20Token, utxo: Utxo, claimableSignature: string, feeStructureOverride?: FeeStructure): Promise<string>;
101
102
  depositAndBridge(erc20Token: ERC20Token, recipientBridges: PublicBridgeRecipient[], txCompletionTime?: number, feeStructureOverride?: FeeStructure, ref?: string, action?: AdminTransactionType, dashboardAccountId?: string, preEstimateGas?: boolean): Promise<DepositAndSendExtendedResult>;
102
103
  bridgePrivateToPrivate(sourceToken: ERC20Token, destToken: ERC20Token, amount: string, recipient: PrivateBridgeRecipient, slippage?: number, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType): Promise<PrivateBridgeResult>;
103
104
  checkSendTransactionStatus(scheduleId: string): Promise<ScheduledTransactionByIdResponse>;
104
105
  nearDepositAndBridge(erc20Token: ERC20Token, recipientAmounts: bigint[], recipientAddresses: string[], params: NearBridgeParams, txCompletionTime?: number, feeStructureOverride?: FeeStructure, ref?: string, action?: AdminTransactionType, dashboardAccountId?: string): Promise<NearBridgeResult>;
105
- prooflessDeposit(erc20Tokens: ERC20Token[], amountChanges: bigint[], stealthAddressStructures?: StealthAddressStructure[], recipientEncryptionKeys?: string[], createBlockedUtxos?: boolean, feeStructure?: ProoflessFeeStructure, orderId?: string, action?: AdminTransactionType, returnTxData?: boolean): Promise<string | ethers.TransactionRequest | TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
106
+ prooflessDeposit(erc20Tokens: ERC20Token[], amountChanges: bigint[], stealthAddressStructures?: StealthAddressStructure[], recipientEncryptionKeys?: string[], createBlockedUtxos?: boolean, feeStructure?: ProoflessFeeStructure, orderId?: string, action?: AdminTransactionType, skipDuplicateCheck?: boolean, returnTxData?: boolean): Promise<string | ethers.TransactionRequest | TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
106
107
  getSolanaProgram(idl: Idl): Program;
107
108
  getSolanaPublicKey(): PublicKey;
108
109
  transfer(erc20Tokens: ERC20Token[], amountChanges: bigint[], recipientAddress: string, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType): Promise<string>;
109
110
  withdraw(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], recipientAddress: string, isRelayerOff: boolean, feeToken?: string, feeStructureOverride?: FeeStructure, variableRateOverride?: bigint, action?: AdminTransactionType): Promise<ethers.TransactionResponse | string>;
110
111
  withdrawStuckUtxos(erc20Token: ERC20Token, recipientAddress: string): Promise<string[]>;
112
+ createReceiveAddress(network: ReceiveVaultNetwork, forceFresh?: boolean): Promise<ReceiveVaultRecord>;
113
+ getReceiveVaultAccount(): Promise<ReceiveVaultAccount>;
114
+ recoverReceiveVault(record: ReceiveVaultRecord, token: string, chainId: number, to: string, returnTxData?: boolean): Promise<string | ethers.TransactionRequest | TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
111
115
  swap(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], externalActionId: ExternalActionId, swapData: string, feeToken?: string, feeStructureOverride?: FeeStructure, slippagePercentage?: number, action?: AdminTransactionType): Promise<string>;
112
116
  swapSolana(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], swapData: string, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType): Promise<string>;
113
117
  actionReceive(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], feeToken?: string, feeStructureOverride?: FeeStructure, subAccount?: SubAccount, action?: AdminTransactionType): Promise<string>;
114
- actionPrivateWallet(chainId: number, erc20Tokens: ERC20Token[], deltaAmounts: bigint[], onChainCreation: boolean[], ops: string[], emporiumTokenChanges: TokenChanges<bigint>[], subAccount?: SubAccount, feeToken?: string, feeStructureOverride?: FeeStructure, relayOverride?: string, autoDepositBack?: boolean, maxGasInDollar?: string, action?: AdminTransactionType, privateRecipientInfo?: PrivateRecipientInfo): Promise<string>;
118
+ actionPrivateWallet(chainId: number, erc20Tokens: ERC20Token[], deltaAmounts: bigint[], onChainCreation: boolean[], ops: string[], emporiumTokenChanges: TokenChanges<bigint>[], subAccount?: SubAccount, feeToken?: string, feeStructureOverride?: FeeStructure, relayOverride?: string, autoDepositBack?: boolean, maxGasInDollar?: string, action?: AdminTransactionType, privateRecipientInfo?: PrivateRecipientInfo, bridgedToken?: ERC20Token): Promise<string>;
115
119
  proxySwap(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], externalActionId: ExternalActionId, swapData: string, isTheSameChainSwap: boolean, subAccount: SubAccount, feeToken?: string, feeStructureOverride?: FeeStructure, autoDepositBack?: boolean, maxGasInDollar?: string, bridgedToken?: ERC20Token, bridgedTokenAmount?: bigint, action?: AdminTransactionType): Promise<string>;
116
120
  proxyToPrivate(erc20Tokens: ERC20Token[], deltaAmountsBase: bigint[], subAccount: SubAccount, recipientInfo: string, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType): Promise<string>;
117
121
  proxySend(erc20Tokens: ERC20Token[], amounts: bigint[], subAccount: SubAccount, recipientAddress: string, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType): Promise<string>;
@@ -3,13 +3,13 @@ import { HINKAL_SUPPORTED_CHAINS as t, WALLET_SUPPORTED_CHAINS as n, chainIds as
3
3
  import { DAPP_SIGNING_MESSAGE as d, DETERMINISTIC_SOLANA_LEDGER_BLOCKHASH as f, DETERMINISTIC_SOLANA_LEDGER_LAST_VALID_BLOCK_HEIGHT as p, SDK_SIGNING_MESSAGE as m } from "../../constants/protocol.constants.mjs";
4
4
  import { EventType as ee, LoginMessageMode as h, zeroProoflessFeeStructure as g } from "../../types/hinkal.types.mjs";
5
5
  import { poseidonFunction as _ } from "../../crypto/poseidon.mjs";
6
- import { transactionErrorCodes as te } from "../../error-handling/error-codes.constants.mjs";
7
- import { UserKeys as v } from "../crypto-keys/keys.mjs";
8
- import { getScheduledTransactionById as y } from "../../API/scheduled-transactions-calls.mjs";
9
- import { API as b } from "../../API/API.mjs";
10
- import { validateAndGetChainId as x } from "../../functions/utils/token-check.utils.mjs";
11
- import { getShieldedBalances as S } from "../../functions/web3/events/getShieldedBalance.mjs";
12
- import { getContractWithFetcherByChainId as C } from "../../functions/web3/getContractMetadata.mjs";
6
+ import { transactionErrorCodes as v } from "../../error-handling/error-codes.constants.mjs";
7
+ import { UserKeys as y } from "../crypto-keys/keys.mjs";
8
+ import { getScheduledTransactionById as te } from "../../API/scheduled-transactions-calls.mjs";
9
+ import { getContractWithFetcherByChainId as b } from "../../functions/web3/getContractMetadata.mjs";
10
+ import { API as x } from "../../API/API.mjs";
11
+ import { validateAndGetChainId as S } from "../../functions/utils/token-check.utils.mjs";
12
+ import { getShieldedBalances as C } from "../../functions/web3/events/getShieldedBalance.mjs";
13
13
  import { fetchOnChainRootHashes as w } from "../../functions/snarkjs/fetchOnChainRootHashes.mjs";
14
14
  import { hinkalDeposit as T, hinkalDepositForOther as E } from "./hinkalDeposit.mjs";
15
15
  import { createCacheDevice as D } from "../../functions/utils/cacheDevice.utils.mjs";
@@ -25,34 +25,37 @@ import "../merkle-tree/index.mjs";
25
25
  import { resetMerkleTrees as L } from "./resetMerkleTrees.mjs";
26
26
  import "../../API/index.mjs";
27
27
  import { MultiThreadedUtxoUtils as R } from "../MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.mjs";
28
- import { hinkalPrivateWallet as ne } from "./hinkalPrivateWallet.mjs";
29
- import { getRecipientInfo as z } from "./hinkalGetRecipientInfo.mjs";
30
- import { hinkalSignSubAccount as B } from "./hinkalSignSubAccount.mjs";
31
- import { hinkalActionReceive as V } from "./hinkalActionReceive.mjs";
32
- import { hinkalProoflessDeposit as H } from "./hinkalProoflessDeposit.mjs";
33
- import { hinkalProxySwap as U } from "./hinkalProxySwap.mjs";
34
- import { hinkalTransfer as W } from "./hinkalTransfer.mjs";
35
- import { hinkalProxyToPrivate as G } from "./hinkalProxyToPrivate.mjs";
36
- import { TronProviderAdapter as K } from "../../providers/TronProviderAdapter.mjs";
37
- import { hinkalSolanaDepositAndWithdraw as q } from "./hinkalSolanaDepositAndWithdraw.mjs";
38
- import { hinkalSolanaWithdraw as J } from "./hinkalSolanaWithdraw.mjs";
39
- import { hinkalSolanaTransfer as Y } from "./hinkalSolanaTransfer.mjs";
40
- import { hinkalSolanaSwap as X } from "./hinkalSolanaSwap.mjs";
41
- import { hinkalSolanaProxySwap as Z } from "./hinkalSolanaProxySwap.mjs";
28
+ import { hinkalPrivateWallet as z } from "./hinkalPrivateWallet.mjs";
29
+ import { hinkalGetReceiveVaultAccount as B } from "./hinkalReceiveVaultAccount.mjs";
30
+ import { hinkalReceiveVaultCreate as V } from "./hinkalReceiveVaultCreate.mjs";
31
+ import { hinkalReceiveVaultRecover as H } from "./hinkalReceiveVaultRecover.mjs";
32
+ import { getRecipientInfo as U } from "./hinkalGetRecipientInfo.mjs";
33
+ import { hinkalSignSubAccount as ne } from "./hinkalSignSubAccount.mjs";
34
+ import { hinkalActionReceive as W } from "./hinkalActionReceive.mjs";
35
+ import { hinkalProoflessDeposit as G } from "./hinkalProoflessDeposit.mjs";
36
+ import { hinkalProxySwap as K } from "./hinkalProxySwap.mjs";
37
+ import { hinkalTransfer as q } from "./hinkalTransfer.mjs";
38
+ import { hinkalProxyToPrivate as J } from "./hinkalProxyToPrivate.mjs";
39
+ import { TronProviderAdapter as Y } from "../../providers/TronProviderAdapter.mjs";
40
+ import { hinkalSolanaDepositAndWithdraw as X } from "./hinkalSolanaDepositAndWithdraw.mjs";
41
+ import { hinkalSolanaWithdraw as Z } from "./hinkalSolanaWithdraw.mjs";
42
+ import { hinkalSolanaTransfer as re } from "./hinkalSolanaTransfer.mjs";
43
+ import { hinkalSolanaSwap as ie } from "./hinkalSolanaSwap.mjs";
44
+ import { hinkalSolanaProxySwap as ae } from "./hinkalSolanaProxySwap.mjs";
42
45
  import { hinkalSolanaProxyShield as Q } from "./hinkalSolanaProxyShield.mjs";
43
- import { hinkalDepositAndBridge as re } from "./hinkalDepositAndBridge.mjs";
44
- import { hinkalBridgePrivateToPrivate as ie } from "./hinkalBridgePrivateToPrivate.mjs";
45
- import { hinkalNearDepositAndBridge as ae } from "./hinkalNearDepositAndBridge.mjs";
46
- import { hinkalClaimUtxo as oe } from "./hinkalClaimUtxo.mjs";
47
- import { hinkalSolanaProoflessDeposit as $ } from "./hinkalSolanaProoflessDeposit.mjs";
48
- import { hinkalSolanaClaimUtxo as se } from "./hinkalSolanaClaimUtxo.mjs";
49
- import { hinkalWithdrawStuckUtxos as ce } from "./hinkalWithdrawStuckUtxos.mjs";
50
- import { HinkalPrivateBalanceController as le } from "../private-balances/HinkalPrivateBalanceController.mjs";
46
+ import { hinkalDepositAndBridge as oe } from "./hinkalDepositAndBridge.mjs";
47
+ import { hinkalBridgePrivateToPrivate as $ } from "./hinkalBridgePrivateToPrivate.mjs";
48
+ import { hinkalNearDepositAndBridge as se } from "./hinkalNearDepositAndBridge.mjs";
49
+ import { hinkalClaimUtxo as ce } from "./hinkalClaimUtxo.mjs";
50
+ import { hinkalSolanaProoflessDeposit as le } from "./hinkalSolanaProoflessDeposit.mjs";
51
+ import { hinkalSolanaClaimUtxo as ue } from "./hinkalSolanaClaimUtxo.mjs";
52
+ import { hinkalWithdrawStuckUtxos as de } from "./hinkalWithdrawStuckUtxos.mjs";
53
+ import { HinkalPrivateBalanceController as fe } from "../private-balances/HinkalPrivateBalanceController.mjs";
51
54
  import "../private-balances/index.mjs";
52
- import { hinkalProxySend as ue } from "./hinkalProxySend.mjs";
53
- import { Transaction as de } from "@solana/web3.js";
55
+ import { hinkalProxySend as pe } from "./hinkalProxySend.mjs";
56
+ import { Transaction as me } from "@solana/web3.js";
54
57
  //#region libs/shared/common/src/data-structures/Hinkal/Hinkal.ts
55
- var fe = class {
58
+ var he = class {
56
59
  ethereumProviderAdapter;
57
60
  solanaProviderAdapter;
58
61
  tronProviderAdapter;
@@ -63,7 +66,7 @@ var fe = class {
63
66
  encryptedOutputsByChain = {};
64
67
  commitmentsSnapshotServiceByChain = {};
65
68
  nullifierSnapshotServiceByChain = {};
66
- privateBalances = new le(this);
69
+ privateBalances = new fe(this);
67
70
  utxoUtils;
68
71
  lastCallState = /* @__PURE__ */ new Map();
69
72
  cacheDevice;
@@ -72,7 +75,7 @@ var fe = class {
72
75
  disableMerkleTreeUpdates;
73
76
  allowParallelBalanceLocalDecryption;
74
77
  constructor(e) {
75
- this.userKeys = new v(void 0), e?.tronChainOverride && u(e.tronChainOverride), t.forEach((e) => {
78
+ this.userKeys = new y(void 0), e?.tronChainOverride && u(e.tronChainOverride), t.forEach((e) => {
76
79
  this.merkleTreeHinkalByChain[e] = I.create(_, 0n), this.nullifiersByChain[e] = /* @__PURE__ */ new Set(), this.encryptedOutputsByChain[e] = [];
77
80
  }), this.generateProofRemotely = e?.generateProofRemotely ?? !0, this.utxoUtils = new R(), this.cacheDevice = D(e), this.disableMerkleTreeUpdates = e?.disableMerkleTreeUpdates ?? !1, this.allowParallelBalanceLocalDecryption = e?.allowParallelBalanceLocalDecryption ?? !1;
78
81
  }
@@ -93,9 +96,9 @@ var fe = class {
93
96
  }
94
97
  async initProviderAdapter(e, t) {
95
98
  let n = r.ethMainnet;
96
- t instanceof O ? n = i : t instanceof K && (n = a), await this.updateProviderAdapter(n, t), t.initConnector(e);
99
+ t instanceof O ? n = i : t instanceof Y && (n = a), await this.updateProviderAdapter(n, t), t.initConnector(e);
97
100
  let o = await t.connectAndPatchProvider(e);
98
- await t.init(o), await this.setListeners();
101
+ return await t.init(o), await this.setListeners(), n;
99
102
  }
100
103
  getSigningMessage(e = h.SDK) {
101
104
  switch (e) {
@@ -109,7 +112,7 @@ var fe = class {
109
112
  return this.getProviderAdapter().signMessage(t);
110
113
  }
111
114
  async signSolanaLedgerMessage() {
112
- let e = new de({
115
+ let e = new me({
113
116
  blockhash: f,
114
117
  lastValidBlockHeight: p,
115
118
  feePayer: this.getSolanaPublicKey()
@@ -118,17 +121,17 @@ var fe = class {
118
121
  return t;
119
122
  }
120
123
  async initUserKeys(e = h.SDK) {
121
- this.userKeys = new v(await this.signHinkalMessage(e));
124
+ this.userKeys = new y(await this.signHinkalMessage(e));
122
125
  }
123
126
  initUserKeysWithSignature(e) {
124
- this.userKeys = new v(e);
127
+ this.userKeys = new y(e);
125
128
  }
126
129
  initUserKeysWithNullifyingKey(e) {
127
- this.userKeys = new v(void 0, e);
130
+ this.userKeys = new y(void 0, e);
128
131
  }
129
132
  async initUserKeysFromSeedPhrases(e) {
130
133
  let t = A(e);
131
- this.userKeys = new v(t);
134
+ this.userKeys = new y(t);
132
135
  }
133
136
  async initUserKeysWithEnclaveSignature(e = h.SDK) {
134
137
  if (!await this.getEthereumAddress()) throw Error("Connected address not found");
@@ -146,7 +149,7 @@ var fe = class {
146
149
  getTronWeb() {
147
150
  let e = this.tronProviderAdapter;
148
151
  if (!e) throw Error("Tron provider adapter not initialized");
149
- if (!(e instanceof K)) throw Error("Tron provider adapter is not a TronProviderAdapter");
152
+ if (!(e instanceof Y)) throw Error("Tron provider adapter is not a TronProviderAdapter");
150
153
  let t = e.getTronWeb();
151
154
  if (!t) throw Error("TronWeb not available");
152
155
  return t;
@@ -161,7 +164,7 @@ var fe = class {
161
164
  return this.getProviderAdapter(e).getContract(e, t, n);
162
165
  }
163
166
  getContractWithFetcherByChainId(e, t, n = void 0) {
164
- return C(e, t, n);
167
+ return b(e, t, n);
165
168
  }
166
169
  async signMessage(e) {
167
170
  return await this.getProviderAdapter().signMessage(e);
@@ -170,7 +173,7 @@ var fe = class {
170
173
  return await this.getProviderAdapter().signTypedData(e, t, n);
171
174
  }
172
175
  async signWithSubAccount(e, t, n, r) {
173
- return B(e, t, n, r);
176
+ return ne(e, t, n, r);
174
177
  }
175
178
  getContractWithSigner(e, t, n = "") {
176
179
  return this.getProviderAdapter(e).getContractWithSigner(e, t, n);
@@ -186,7 +189,7 @@ var fe = class {
186
189
  if (!(e.chainId === n || r)) try {
187
190
  await t.switchNetwork(e);
188
191
  } catch {
189
- throw Error(te.FAILED_TO_SWITCH_NETWORKS);
192
+ throw Error(v.FAILED_TO_SWITCH_NETWORKS);
190
193
  }
191
194
  }
192
195
  async disconnectFromConnector() {
@@ -235,11 +238,11 @@ var fe = class {
235
238
  e ? await this.getProviderAdapter(e).onChainChanged(e) : await this.disconnectFromConnector();
236
239
  }
237
240
  async monitorConnectedAddress(e) {
238
- await b.monitor(await this.getEthereumAddressByChain(e));
241
+ await x.monitor(await this.getEthereumAddressByChain(e));
239
242
  }
240
243
  async getTotalBalances(e, t, n, r = !1, i, a = !1) {
241
244
  let o = t ?? this.userKeys, s = new Map(await Promise.all(e.map(async (e) => [e, n ?? await this.getEthereumAddressByChain(e)])));
242
- return S(this, s, o.getShieldedPrivateKey(), o.getShieldedPublicKey(), r, i, a);
245
+ return C(this, s, o.getShieldedPrivateKey(), o.getShieldedPublicKey(), r, i, a);
243
246
  }
244
247
  async getStuckShieldedBalances(e, t, n, r = !1, i = !1) {
245
248
  let a = await this.getTotalBalances(e, t, n, r, i, !0);
@@ -277,7 +280,7 @@ var fe = class {
277
280
  return this.getProviderAdapter(e).getAddress();
278
281
  }
279
282
  async getRandomRelay(e, t = !1) {
280
- return (await b.getIdleRelay(e, t)).relay;
283
+ return (await x.getIdleRelay(e, t)).relay;
281
284
  }
282
285
  getGasPrice(e) {
283
286
  let t = this.getProviderAdapter(e);
@@ -285,7 +288,7 @@ var fe = class {
285
288
  return t.getGasPrice(e);
286
289
  }
287
290
  getAPI() {
288
- return b;
291
+ return x;
289
292
  }
290
293
  snapshotsClearInterval() {
291
294
  this.getSupportedChains().forEach((e) => {
@@ -296,7 +299,7 @@ var fe = class {
296
299
  this.snapshotsClearInterval(), this.privateBalances.dispose(), await this.resetProviderAdapters();
297
300
  }
298
301
  getRecipientInfo() {
299
- return z(this);
302
+ return U(this);
300
303
  }
301
304
  async deposit(e, t, n = !0, r = !1) {
302
305
  return T(this, e, t, n, r);
@@ -311,31 +314,31 @@ var fe = class {
311
314
  n
312
315
  ]), E(this, e, t, n, r, i, a);
313
316
  }
314
- async depositSolanaForOther(e, t, n, r = !1, i) {
317
+ async depositSolanaForOther(e, t, n, r = !1, i = 0n, a) {
315
318
  return this.enforceRateLimit(this.depositSolanaForOther.name, [
316
319
  e,
317
320
  t,
318
321
  n
319
- ]), N(this, e, t, n, r, i);
322
+ ]), N(this, e, t, n, r, i, a);
320
323
  }
321
324
  async depositAndWithdraw(e, t, n, r, i, a, o, c, l = !0) {
322
- return s(x([e])) ? q(this, e, t, n, r, i, a, o, c) : j(this, e, t, n, r, i, a, o, c, l);
325
+ return s(S([e])) ? X(this, e, t, n, r, i, a, o, c) : j(this, e, t, n, r, i, a, o, c, l);
323
326
  }
324
327
  async claimUtxo(e, t, n, r) {
325
- return s(x([e])) ? se(this, e, t, n, r) : oe(this, e, t, n, r);
328
+ return s(S([e])) ? ue(this, e, t, n, r) : ce(this, e, t, n, r);
326
329
  }
327
330
  async depositAndBridge(e, t, n, r, i, a, o, s = !0) {
328
- return re(this, e, t, n, r, i, a, o, s);
331
+ return oe(this, e, t, n, r, i, a, o, s);
329
332
  }
330
333
  async bridgePrivateToPrivate(e, t, n, r, i, a, o, s) {
331
334
  return this.enforceRateLimit(this.bridgePrivateToPrivate.name, [
332
335
  e,
333
336
  t,
334
337
  n
335
- ]), ie(this, e, t, n, r, i, a, o, s);
338
+ ]), $(this, e, t, n, r, i, a, o, s);
336
339
  }
337
340
  async checkSendTransactionStatus(e) {
338
- return y(e);
341
+ return te(e);
339
342
  }
340
343
  async nearDepositAndBridge(e, t, n, r, i, a, o, s, c) {
341
344
  return this.enforceRateLimit(this.nearDepositAndBridge.name, [
@@ -343,10 +346,10 @@ var fe = class {
343
346
  t,
344
347
  n,
345
348
  r
346
- ]), ae(this, e, t, n, r, i, a, o, s, c);
349
+ ]), se(this, e, t, n, r, i, a, o, s, c);
347
350
  }
348
- async prooflessDeposit(e, t, n, r, i = !1, a = g, o = "", c, l = !1) {
349
- return s(x(e)) ? $(this, e, t, n, r, i, c, l) : H(this, e, t, n, r, i, a, o, c, l);
351
+ async prooflessDeposit(e, t, n, r, i = !1, a = g, o = "", c, l = !1, u = !1) {
352
+ return s(S(e)) ? le(this, e, t, n, r, i, c, u) : G(this, e, t, n, r, i, a, o, c, l, u);
350
353
  }
351
354
  getSolanaProgram(e) {
352
355
  if (!this.solanaProviderAdapter) throw Error("No provider adapter initialized");
@@ -363,26 +366,35 @@ var fe = class {
363
366
  e,
364
367
  t,
365
368
  n
366
- ]), s(x(e)) ? Y(this, e, t, n, r, i, a) : W(this, e, t, n, r, i, a);
369
+ ]), s(S(e)) ? re(this, e, t, n, r, i, a) : q(this, e, t, n, r, i, a);
367
370
  }
368
371
  async withdraw(e, t, n, r, i, a, o, c) {
369
- return s(x(e)) ? J(this, e, t, n, i, a, o, c) : F(this, e, t, n, r, i, a, o, c);
372
+ return s(S(e)) ? Z(this, e, t, n, i, a, o, c) : F(this, e, t, n, r, i, a, o, c);
370
373
  }
371
374
  async withdrawStuckUtxos(e, t) {
372
- return ce(this, e, t);
375
+ return de(this, e, t);
376
+ }
377
+ async createReceiveAddress(e, t = !1) {
378
+ return V(this, e, t);
379
+ }
380
+ async getReceiveVaultAccount() {
381
+ return B(this);
382
+ }
383
+ async recoverReceiveVault(e, t, n, r, i = !1) {
384
+ return H(this, e, t, n, r, i);
373
385
  }
374
386
  async swap(e, t, n, r, i, a, o, c) {
375
- return s(x(e)) ? this.swapSolana(e, t, r, i, a, c) : P(this, e, t, n, r, i, a, o, c);
387
+ return s(S(e)) ? this.swapSolana(e, t, r, i, a, c) : P(this, e, t, n, r, i, a, o, c);
376
388
  }
377
389
  async swapSolana(e, t, n, r, i, a) {
378
390
  let o = JSON.parse(n), s = BigInt(o.swapperAccountSalt), { instructionLists: c, addressLookupTableAccount: l } = o.data;
379
- return X(this, e, t, s, c, l, r, i, a);
391
+ return ie(this, e, t, s, c, l, r, i, a);
380
392
  }
381
393
  async actionReceive(e, t, n, r, i, a) {
382
394
  if (!i) throw Error("subAccount is required");
383
- return s(x(e)) ? Q(this, e[0], t[0], i, void 0, !1, r?.variableRate, a) : V(this, e, t, n, r, i, a);
395
+ return s(S(e)) ? Q(this, e[0], t[0], i, void 0, !1, r?.variableRate, a) : W(this, e, t, n, r, i, a);
384
396
  }
385
- async actionPrivateWallet(e, t, n, r, i, a, o, s, c, l, u = !1, d, f, p) {
397
+ async actionPrivateWallet(e, t, n, r, i, a, o, s, c, l, u = !1, d, f, p, m) {
386
398
  return this.enforceRateLimit(this.actionPrivateWallet.name, [
387
399
  e,
388
400
  t,
@@ -394,21 +406,21 @@ var fe = class {
394
406
  s,
395
407
  c,
396
408
  p
397
- ]), ne(this, e, t, n, r, i, a, o, s, c, l, u, d, f, p);
409
+ ]), z(this, e, t, n, r, i, a, o, s, c, l, u, d, f, p, m);
398
410
  }
399
411
  async proxySwap(e, t, n, r, i, a, o, c, l = !1, u, d, f, p) {
400
- return s(x(e)) ? Z(this, e, t, r, a, n, i, o, c, p, d, f) : U(this, e, t, n, r, i, a, o, c, l, u, p, d, f);
412
+ return s(S(e)) ? ae(this, e, t, r, a, n, i, o, c, p, d, f) : K(this, e, t, n, r, i, a, o, c, l, u, p, d, f);
401
413
  }
402
414
  async proxyToPrivate(e, t, n, r, i, a, o) {
403
- return s(x(e)) ? (this.enforceRateLimit(this.proxyToPrivate.name, [
415
+ return s(S(e)) ? (this.enforceRateLimit(this.proxyToPrivate.name, [
404
416
  e[0],
405
417
  t[0],
406
418
  n,
407
419
  r
408
- ]), Q(this, e[0], t[0], n, r, !1, a?.variableRate, o)) : G(this, e, t, r, i, a, n, o);
420
+ ]), Q(this, e[0], t[0], n, r, !1, a?.variableRate, o)) : J(this, e, t, r, i, a, n, o);
409
421
  }
410
422
  async proxySend(e, t, n, r, i, a, o) {
411
- return ue(this, e, t, n, r, i, a, o);
423
+ return pe(this, e, t, n, r, i, a, o);
412
424
  }
413
425
  areMerkleTreeUpdatesDisabled() {
414
426
  return this.disableMerkleTreeUpdates;
@@ -418,4 +430,4 @@ var fe = class {
418
430
  }
419
431
  };
420
432
  //#endregion
421
- export { fe as Hinkal };
433
+ export { he as Hinkal };