@hinkal/common 0.3.8 → 0.3.10

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 (230) hide show
  1. package/README.md +2 -8
  2. package/common/src/API/API.cjs +1 -1
  3. package/common/src/API/API.d.ts +4 -5
  4. package/common/src/API/API.mjs +79 -80
  5. package/common/src/API/dashboardTransactionCalls.cjs +1 -1
  6. package/common/src/API/dashboardTransactionCalls.d.ts +4 -1
  7. package/common/src/API/dashboardTransactionCalls.mjs +2 -2
  8. package/common/src/API/enclaveRecipientInfoCalls.d.ts +0 -2
  9. package/common/src/API/enclaveSignatureCalls.cjs +1 -1
  10. package/common/src/API/enclaveSignatureCalls.d.ts +2 -1
  11. package/common/src/API/enclaveSignatureCalls.mjs +5 -8
  12. package/common/src/API/enclaveUtxoCalls.cjs +1 -1
  13. package/common/src/API/enclaveUtxoCalls.d.ts +12 -8
  14. package/common/src/API/enclaveUtxoCalls.mjs +17 -20
  15. package/common/src/API/privateSendRecipientInfoCalls.cjs +1 -1
  16. package/common/src/API/privateSendRecipientInfoCalls.d.ts +3 -6
  17. package/common/src/API/privateSendRecipientInfoCalls.mjs +12 -6
  18. package/common/src/API/scheduled-transactions-calls.cjs +1 -1
  19. package/common/src/API/scheduled-transactions-calls.d.ts +1 -5
  20. package/common/src/API/scheduled-transactions-calls.mjs +2 -6
  21. package/common/src/constants/bridging.constants.cjs +1 -1
  22. package/common/src/constants/bridging.constants.d.ts +1 -0
  23. package/common/src/constants/bridging.constants.mjs +1 -1
  24. package/common/src/constants/chains.constants.cjs +1 -1
  25. package/common/src/constants/chains.constants.d.ts +18 -17
  26. package/common/src/constants/chains.constants.mjs +108 -89
  27. package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.cjs +1 -1
  28. package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.mjs +2 -1
  29. package/common/src/constants/deploy-data/deploy-data-base.json.cjs +1 -1
  30. package/common/src/constants/deploy-data/deploy-data-base.json.mjs +2 -1
  31. package/common/src/constants/deploy-data/deploy-data-bnbMainnet.json.cjs +1 -1
  32. package/common/src/constants/deploy-data/deploy-data-bnbMainnet.json.mjs +2 -1
  33. package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.cjs +1 -1
  34. package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.mjs +2 -1
  35. package/common/src/constants/deploy-data/deploy-data-optimism.json.cjs +1 -1
  36. package/common/src/constants/deploy-data/deploy-data-optimism.json.mjs +2 -1
  37. package/common/src/constants/deploy-data/deploy-data-polygon.json.cjs +1 -1
  38. package/common/src/constants/deploy-data/deploy-data-polygon.json.mjs +2 -1
  39. package/common/src/constants/events.constants.cjs +1 -1
  40. package/common/src/constants/events.constants.mjs +1 -16
  41. package/common/src/constants/protocol.constants.d.ts +1 -3
  42. package/common/src/constants/server.constants.cjs +1 -1
  43. package/common/src/constants/server.constants.d.ts +1 -4
  44. package/common/src/constants/server.constants.mjs +1 -4
  45. package/common/src/constants/tx-confirmation.constants.cjs +1 -1
  46. package/common/src/constants/tx-confirmation.constants.d.ts +1 -0
  47. package/common/src/constants/tx-confirmation.constants.mjs +2 -2
  48. package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
  49. package/common/src/data-structures/Hinkal/Hinkal.d.ts +6 -9
  50. package/common/src/data-structures/Hinkal/Hinkal.mjs +129 -160
  51. package/common/src/data-structures/Hinkal/IHinkal.d.ts +5 -9
  52. package/common/src/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
  53. package/common/src/data-structures/Hinkal/handleAutoDepositBack.mjs +23 -23
  54. package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.cjs +1 -1
  55. package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.mjs +1 -1
  56. package/common/src/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
  57. package/common/src/data-structures/Hinkal/hinkalDeposit.mjs +10 -10
  58. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
  59. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +18 -18
  60. package/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.cjs +1 -1
  61. package/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.mjs +3 -2
  62. package/common/src/data-structures/Hinkal/hinkalProxySend.cjs +1 -0
  63. package/common/src/data-structures/Hinkal/hinkalProxySend.d.ts +6 -0
  64. package/common/src/data-structures/Hinkal/hinkalProxySend.mjs +16 -0
  65. package/common/src/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
  66. package/common/src/data-structures/Hinkal/hinkalSolanaSwap.mjs +44 -47
  67. package/common/src/data-structures/Hinkal/hinkalSolanaTransact.cjs +1 -1
  68. package/common/src/data-structures/Hinkal/hinkalSolanaTransact.mjs +2 -2
  69. package/common/src/data-structures/Hinkal/hinkalTransact.cjs +1 -1
  70. package/common/src/data-structures/Hinkal/hinkalTransact.mjs +1 -1
  71. package/common/src/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
  72. package/common/src/data-structures/Hinkal/hinkalTransfer.mjs +4 -4
  73. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
  74. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +101 -94
  75. package/common/src/data-structures/Hinkal/index.d.ts +0 -1
  76. package/common/src/data-structures/IndexedDB/activity-db.cjs +1 -1
  77. package/common/src/data-structures/IndexedDB/activity-db.mjs +34 -34
  78. package/common/src/data-structures/IndexedDB/index.cjs +1 -1
  79. package/common/src/data-structures/IndexedDB/index.d.ts +1 -0
  80. package/common/src/data-structures/IndexedDB/index.mjs +1 -0
  81. package/common/src/data-structures/IndexedDB/scheduled-transactions-db.cjs +1 -0
  82. package/common/src/data-structures/IndexedDB/scheduled-transactions-db.d.ts +11 -0
  83. package/common/src/data-structures/IndexedDB/scheduled-transactions-db.mjs +34 -0
  84. package/common/src/data-structures/IndexedDB/signatures-db.cjs +1 -1
  85. package/common/src/data-structures/IndexedDB/signatures-db.mjs +11 -11
  86. package/common/src/data-structures/TokenDBs/PrivateTokensDB.cjs +1 -1
  87. package/common/src/data-structures/TokenDBs/PrivateTokensDB.mjs +18 -19
  88. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
  89. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.mjs +11 -11
  90. package/common/src/data-structures/event-service/helpers/ClientEventHelper.cjs +1 -1
  91. package/common/src/data-structures/event-service/helpers/ClientEventHelper.mjs +6 -6
  92. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.cjs +1 -1
  93. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.d.ts +1 -0
  94. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.mjs +79 -75
  95. package/common/src/data-structures/provider-adapter/IProviderAdapter.d.ts +1 -4
  96. package/common/src/error-handling/error-codes.constants.cjs +1 -1
  97. package/common/src/error-handling/error-codes.constants.d.ts +6 -0
  98. package/common/src/error-handling/error-codes.constants.mjs +10 -4
  99. package/common/src/functions/auto-deposit-back-helpers/get-gas-token-records.cjs +1 -1
  100. package/common/src/functions/auto-deposit-back-helpers/get-gas-token-records.mjs +7 -6
  101. package/common/src/functions/auto-deposit-back-helpers/select-gas-token.cjs +1 -1
  102. package/common/src/functions/auto-deposit-back-helpers/select-gas-token.mjs +8 -8
  103. package/common/src/functions/index.cjs +1 -1
  104. package/common/src/functions/index.mjs +1 -2
  105. package/common/src/functions/pre-transaction/getVolatileTransferAmount.cjs +1 -1
  106. package/common/src/functions/pre-transaction/getVolatileTransferAmount.mjs +12 -12
  107. package/common/src/functions/private-wallet/emporium.helpers.cjs +1 -1
  108. package/common/src/functions/private-wallet/emporium.helpers.mjs +13 -13
  109. package/common/src/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
  110. package/common/src/functions/private-wallet/emporium.swap.helpers.mjs +13 -13
  111. package/common/src/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
  112. package/common/src/functions/snarkjs/constructGeneralZkProof.mjs +4 -4
  113. package/common/src/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
  114. package/common/src/functions/snarkjs/constructSolanaZkProof.mjs +5 -5
  115. package/common/src/functions/snarkjs/constructTxEnclave.cjs +1 -1
  116. package/common/src/functions/snarkjs/constructTxEnclave.d.ts +1 -1
  117. package/common/src/functions/snarkjs/constructTxEnclave.mjs +61 -133
  118. package/common/src/functions/snarkjs/constructTxEnclaveVerify.cjs +1 -0
  119. package/common/src/functions/snarkjs/constructTxEnclaveVerify.d.ts +5 -0
  120. package/common/src/functions/snarkjs/constructTxEnclaveVerify.mjs +295 -0
  121. package/common/src/functions/utils/addresses.cjs +1 -1
  122. package/common/src/functions/utils/addresses.d.ts +1 -0
  123. package/common/src/functions/utils/addresses.mjs +13 -12
  124. package/common/src/functions/utils/bridge-arrival.utils.cjs +1 -1
  125. package/common/src/functions/utils/bridge-arrival.utils.mjs +12 -11
  126. package/common/src/functions/utils/create-provider.cjs +1 -1
  127. package/common/src/functions/utils/create-provider.mjs +4 -1
  128. package/common/src/functions/utils/enclave-recipient-info-storage.cjs +1 -1
  129. package/common/src/functions/utils/enclave-recipient-info-storage.d.ts +4 -1
  130. package/common/src/functions/utils/enclave-recipient-info-storage.mjs +1 -0
  131. package/common/src/functions/utils/enclave-signature-storage.cjs +1 -1
  132. package/common/src/functions/utils/enclave-signature-storage.d.ts +1 -1
  133. package/common/src/functions/utils/enclave-signature-storage.mjs +3 -3
  134. package/common/src/functions/utils/enclave-utxo-storage.cjs +1 -1
  135. package/common/src/functions/utils/enclave-utxo-storage.d.ts +3 -3
  136. package/common/src/functions/utils/enclave-utxo-storage.mjs +8 -5
  137. package/common/src/functions/utils/encryptInputForEnclave.cjs +1 -1
  138. package/common/src/functions/utils/encryptInputForEnclave.d.ts +8 -0
  139. package/common/src/functions/utils/encryptInputForEnclave.mjs +43 -23
  140. package/common/src/functions/utils/erc20tokenFunctions.cjs +1 -1
  141. package/common/src/functions/utils/erc20tokenFunctions.mjs +2 -15
  142. package/common/src/functions/utils/fees.utils.cjs +1 -1
  143. package/common/src/functions/utils/fees.utils.mjs +6 -6
  144. package/common/src/functions/utils/index.cjs +1 -1
  145. package/common/src/functions/utils/index.d.ts +1 -0
  146. package/common/src/functions/utils/index.mjs +3 -3
  147. package/common/src/functions/utils/ipfs.d.ts +2 -3
  148. package/common/src/functions/utils/lifi.utils.d.ts +2 -0
  149. package/common/src/functions/utils/nearIntents.utils.cjs +1 -1
  150. package/common/src/functions/utils/nearIntents.utils.mjs +6 -6
  151. package/common/src/functions/utils/publicBalance.utils.cjs +1 -1
  152. package/common/src/functions/utils/publicBalance.utils.mjs +9 -10
  153. package/common/src/functions/utils/temporary-wallet-recovery.utils.cjs +1 -0
  154. package/common/src/functions/utils/temporary-wallet-recovery.utils.d.ts +7 -0
  155. package/common/src/functions/utils/temporary-wallet-recovery.utils.mjs +10 -0
  156. package/common/src/functions/utils/tron.utils.cjs +1 -1
  157. package/common/src/functions/utils/tron.utils.mjs +16 -29
  158. package/common/src/functions/utils/tx-confirmation.utils.cjs +1 -1
  159. package/common/src/functions/utils/tx-confirmation.utils.d.ts +1 -0
  160. package/common/src/functions/utils/tx-confirmation.utils.mjs +16 -13
  161. package/common/src/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
  162. package/common/src/functions/web3/events/getInputUtxoAndBalance.mjs +5 -5
  163. package/common/src/functions/web3/events/getInputUtxosEnclave.cjs +1 -1
  164. package/common/src/functions/web3/events/getInputUtxosEnclave.d.ts +1 -1
  165. package/common/src/functions/web3/events/getInputUtxosEnclave.mjs +19 -11
  166. package/common/src/functions/web3/events/getShieldedBalance.cjs +1 -1
  167. package/common/src/functions/web3/events/getShieldedBalance.d.ts +4 -4
  168. package/common/src/functions/web3/events/getShieldedBalance.mjs +113 -102
  169. package/common/src/functions/web3/functionCalls/transactCallDirectTron.cjs +1 -1
  170. package/common/src/functions/web3/functionCalls/transactCallDirectTron.mjs +16 -16
  171. package/common/src/providers/SolanaProviderAdapter.cjs +1 -1
  172. package/common/src/providers/SolanaProviderAdapter.d.ts +1 -4
  173. package/common/src/providers/SolanaProviderAdapter.mjs +3 -6
  174. package/common/src/providers/WagmiProviderAdapter.cjs +1 -1
  175. package/common/src/providers/WagmiProviderAdapter.mjs +5 -5
  176. package/common/src/types/cache.types.cjs +1 -1
  177. package/common/src/types/cache.types.d.ts +2 -1
  178. package/common/src/types/cache.types.mjs +1 -1
  179. package/common/src/types/enclaveApi.types.d.ts +2 -3
  180. package/common/src/types/ethereum-network.types.d.ts +1 -0
  181. package/common/src/types/events.types.d.ts +1 -0
  182. package/common/src/types/near-intents.types.d.ts +1 -0
  183. package/common/src/types/remote-proof.types.d.ts +5 -0
  184. package/common/src/types/remote-tx-build.types.d.ts +37 -4
  185. package/common/src/types/scheduled-transactions.types.d.ts +18 -0
  186. package/common/src/types/solana.types.d.ts +0 -3
  187. package/common/src/webworker/{logError-RKYfeI6h.js → logError-CIIt1CO3.js} +1 -1
  188. package/common/src/webworker/package.json +5 -6
  189. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
  190. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
  191. package/common/src/webworker/snarkjsWorkerNode.cjs +1 -1
  192. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
  193. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
  194. package/common/src/webworker/utxoWorkerNode.cjs +1 -1
  195. package/common/src/webworker/viteWorkerURL.constant.cjs +3 -3
  196. package/common/src/webworker/viteWorkerURL.constant.mjs +3 -3
  197. package/common/src/webworker/workerProxy-BHzCZ9HT.js +1 -0
  198. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
  199. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
  200. package/common/src/webworker/zkProofWorkerNode.cjs +1 -1
  201. package/package.json +5 -6
  202. package/services/Hinkal.cjs +1 -1
  203. package/services/Hinkal.d.ts +6 -2
  204. package/services/Hinkal.mjs +9 -4
  205. package/types/IHinkal.d.ts +6 -2
  206. package/common/src/API/evm-token-assets.cjs +0 -1
  207. package/common/src/API/evm-token-assets.mjs +0 -20
  208. package/common/src/API/getAnyRecipientInfo.d.ts +0 -1
  209. package/common/src/API/solana-nft-assets.cjs +0 -1
  210. package/common/src/API/solana-nft-assets.mjs +0 -11
  211. package/common/src/data-structures/Hinkal/hinkalSolanaSponsoredProxySend.d.ts +0 -5
  212. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +0 -1
  213. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +0 -109
  214. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.cjs +0 -1
  215. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.mjs +0 -94
  216. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.cjs +0 -1
  217. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.mjs +0 -134
  218. package/common/src/data-structures/TokenDBs/PublicTokensDB.cjs +0 -1
  219. package/common/src/data-structures/TokenDBs/PublicTokensDB.mjs +0 -32
  220. package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.cjs +0 -1
  221. package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.mjs +0 -37
  222. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.cjs +0 -1
  223. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.mjs +0 -51
  224. package/common/src/data-structures/TokenDBs/index.cjs +0 -1
  225. package/common/src/data-structures/TokenDBs/index.mjs +0 -6
  226. package/common/src/functions/utils/ipfs.cjs +0 -1
  227. package/common/src/functions/utils/ipfs.mjs +0 -1
  228. package/common/src/functions/utils/reloadPage.cjs +0 -1
  229. package/common/src/functions/utils/reloadPage.mjs +0 -4
  230. package/common/src/webworker/workerProxy-COB7g4Qc.js +0 -1
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../functions/utils/serialize.utils.cjs`),t=require(`../../constants/vite.constants.cjs`),n=require(`../../constants/chains.constants.cjs`),r=require(`../../constants/protocol.constants.cjs`),i=require(`../../types/hinkal.types.cjs`),a=require(`../../crypto/poseidon.cjs`),o=require(`../../error-handling/error-codes.constants.cjs`),s=require(`../crypto-keys/keys.cjs`),c=require(`../../API/scheduled-transactions-calls.cjs`),l=require(`../../API/API.cjs`),u=require(`../../functions/utils/token-check.utils.cjs`),d=require(`../TokenDBs/PrivateTokensDB.cjs`),f=require(`../../functions/utils/erc20tokenFunctions.cjs`),p=require(`../../functions/web3/events/getShieldedBalance.cjs`),m=require(`../../functions/web3/getContractMetadata.cjs`),h=require(`../../functions/snarkjs/fetchOnChainRootHashes.cjs`),g=require(`../../functions/private-wallet/emporium.helpers.cjs`),_=require(`./hinkalDeposit.cjs`),v=require(`../../functions/utils/reloadPage.cjs`),y=require(`../../functions/utils/cacheDevice.utils.cjs`),b=require(`../../providers/SolanaProviderAdapter.cjs`),x=require(`../../functions/utils/enclave-signature-storage.cjs`),S=require(`../../functions/utils/mnemonics.cjs`);require(`../../functions/index.cjs`);const C=require(`./hinkalDepositAndWithdraw.cjs`),w=require(`./hinkalSolanaDeposit.cjs`),T=require(`./hinkalSwap.cjs`),E=require(`./hinkalWithdraw.cjs`),D=require(`../merkle-tree/MerkleTree.cjs`);require(`../merkle-tree/index.cjs`);const O=require(`./resetMerkleTrees.cjs`);require(`../../API/index.cjs`);const k=require(`../MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs`),A=require(`./hinkalPrivateWallet.cjs`),j=require(`./hinkalGetRecipientInfo.cjs`),M=require(`./hinkalSignSubAccount.cjs`),N=require(`./hinkalActionReceive.cjs`);require(`../TokenDBs/index.cjs`);const P=require(`./hinkalProoflessDeposit.cjs`),ee=require(`./hinkalProxySwap.cjs`),F=require(`./hinkalTransfer.cjs`),I=require(`./hinkalProxyToPrivate.cjs`),L=require(`../../providers/TronProviderAdapter.cjs`),R=require(`./hinkalSolanaDepositAndWithdraw.cjs`),z=require(`./hinkalSolanaWithdraw.cjs`),B=require(`./hinkalSolanaTransfer.cjs`),V=require(`./hinkalSolanaSwap.cjs`),H=require(`./hinkalSolanaProxySend.cjs`),U=require(`./hinkalSolanaProxySwap.cjs`),W=require(`./hinkalSolanaProxyShield.cjs`),G=require(`./hinkalDepositAndBridge.cjs`),K=require(`./hinkalBridgePrivateToPrivate.cjs`),q=require(`./hinkalNearDepositAndBridge.cjs`),J=require(`./hinkalClaimUtxo.cjs`),Y=require(`./hinkalSolanaProoflessDeposit.cjs`),X=require(`./hinkalSolanaClaimUtxo.cjs`),Z=require(`./hinkalWithdrawStuckUtxos.cjs`),Q=require(`../private-balances/HinkalPrivateBalanceController.cjs`);require(`../private-balances/index.cjs`);let $=require(`@solana/web3.js`);var te=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 s.UserKeys(void 0),e?.tronChainOverride&&n.setHinkalTronChainId(e.tronChainOverride),n.HINKAL_SUPPORTED_CHAINS.forEach(e=>{this.merkleTreeHinkalByChain[e]=D.MerkleTree.create(a.poseidonFunction,0n),this.nullifiersByChain[e]=new Set,this.encryptedOutputsByChain[e]=[]}),this.generateProofRemotely=e?.generateProofRemotely??!0,this.utxoUtils=new k.MultiThreadedUtxoUtils,this.cacheDevice=y.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 t=e;t||=this.ethereumProviderAdapter?n.chainIds.ethMainnet:this.solanaProviderAdapter?n.currentSolanaChainId:n.chainIds.tronMainnet;let r;if(r=n.isSolanaLike(t)?this.solanaProviderAdapter:n.isTronLike(t)?this.tronProviderAdapter:this.ethereumProviderAdapter,!r)throw Error(`ProviderAdapter is not initialized`);return r}async initProviderAdapter(e,t){let r=n.chainIds.ethMainnet;t instanceof b.SolanaProviderAdapter?r=n.currentSolanaChainId:t instanceof L.TronProviderAdapter&&(r=n.currentTronChainId),await this.updateProviderAdapter(r,t),t.initConnector(e);let i=await t.connectAndPatchProvider(e);await t.init(i),await this.setListeners()}getSigningMessage(e=i.LoginMessageMode.SDK){switch(e){case i.LoginMessageMode.SDK:return r.SDK_SIGNING_MESSAGE;case i.LoginMessageMode.HINKAL_DAPP:default:return r.DAPP_SIGNING_MESSAGE}}async signHinkalMessage(e=i.LoginMessageMode.SDK){let t=this.getSigningMessage(e);return this.getProviderAdapter().signMessage(t)}async signSolanaLedgerMessage(){let e=new $.Transaction({blockhash:r.DETERMINISTIC_SOLANA_LEDGER_BLOCKHASH,lastValidBlockHeight:r.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{signature:t.signature,txMessageForSolanaLedger:t.transactionMessageB64}}async initUserKeys(e=i.LoginMessageMode.SDK){this.userKeys=new s.UserKeys(await this.signHinkalMessage(e))}initUserKeysWithSignature(e){this.userKeys=new s.UserKeys(e)}async initUserKeysFromSeedPhrases(e){let t=S.generateHashFromSeedPhrases(e);this.userKeys=new s.UserKeys(t)}async initUserKeysWithEnclaveSignature(e=i.LoginMessageMode.SDK){if(!await this.getEthereumAddress())throw Error(`Connected address not found`);let t=this.getProviderAdapter().isSolanaLedger?.()??!1,n,r;if(t){let e=await this.signSolanaLedgerMessage();n=e.signature,r=e.txMessageForSolanaLedger}else n=await this.getProviderAdapter().signMessage(this.getSigningMessage(e));let a=await this.storeAndGetInitialSignature(n,t,r);return this.initUserKeysWithSignature(a??n),r}async storeAndGetInitialSignature(e,t=!1,n){let r=await this.getEthereumAddress();if(!r)throw Error(`Connected address not found`);return await x.storeAndGetSignatureFromEnclave(r,e,t,n)}async resetMerkle(e){this.disableMerkleTreeUpdates||(e?.every(e=>this.isSelectedNetworkSupported(e))??!0)&&await O.resetMerkleTrees(this,e)}getTronWeb(){let e=this.tronProviderAdapter;if(!e)throw Error(`Tron provider adapter not initialized`);if(!(e instanceof L.TronProviderAdapter))throw Error(`Tron provider adapter is not a TronProviderAdapter`);let t=e.getTronWeb();if(!t)throw Error(`TronWeb not available`);return t}getSupportedChains(){return this.ethereumProviderAdapter&&this.solanaProviderAdapter?n.WALLET_SUPPORTED_CHAINS:this.ethereumProviderAdapter?n.HINKAL_SUPPORTED_CHAINS.filter(e=>!n.isSolanaLike(e)&&!n.isTronLike(e)):this.solanaProviderAdapter?n.HINKAL_SUPPORTED_CHAINS.filter(e=>n.isSolanaLike(e)):this.tronProviderAdapter?[n.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 m.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 M.hinkalSignSubAccount(e,t,n,r)}getContractWithSigner(e,t,n=``){return this.getProviderAdapter(e).getContractWithSigner(e,t,n)}getContractWithFetcher(e,t,n=``){return this.getProviderAdapter(e).getContractWithFetcher(e,t,n)}isSelectedNetworkSupported(e){return!!n.networkRegistry[e]}async switchNetwork(e){let t=this.getProviderAdapter(),r=t.getChainId(),i=r!==void 0&&n.isSameOnchainNetwork(e.chainId,r);if(!(e.chainId===r||i))try{await t.switchNetwork(e)}catch{throw Error(o.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,t){try{n.isSolanaLike(e)?(this.solanaProviderAdapter&&this.solanaProviderAdapter.release(),this.solanaProviderAdapter=t):n.isTronLike(e)?(this.tronProviderAdapter&&this.tronProviderAdapter.release(),this.tronProviderAdapter=t):(this.ethereumProviderAdapter&&this.ethereumProviderAdapter.release(),this.ethereumProviderAdapter=t)}catch(e){throw console.error(e),Error(`updateProviderAdapter failed, please try again.`)}}async setListeners(){this.ethereumProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}}),this.solanaProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}}),this.tronProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}})}async onAccountChanged(){await this.ethereumProviderAdapter?.onAccountChanged(),await this.solanaProviderAdapter?.onAccountChanged(),await this.tronProviderAdapter?.onAccountChanged();let e=i.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(),v.reloadPage())}async monitorConnectedAddress(e){await l.API.monitor(await this.getEthereumAddressByChain(e))}async getBalances(e,t,n,r,i=!1,a,o=!1){return p.getShieldedBalance(this,e,t,n,r,i,a,o)}async getTotalBalance(e,n,r,i=!1,a,o=!1){let s=r??await this.getEthereumAddressByChain(e),c=n??this.userKeys,l=await this.getBalances(e,c.getShieldedPrivateKey(),c.getShieldedPublicKey(),s,i,a,o),u=t.isExtension?await d.privateTokensDB.getPrivateTokens(e,s):await f.getErc20TokensForChainAPI(e),p=[];return u.forEach(e=>{let t=e.erc20TokenAddress.toLowerCase(),n=l.get(t),r={token:e,balance:n?.balance??0n,timestamp:n?.timestamp||`0`,nfts:n?.nfts||[]};p.push(r)}),p}async getStuckShieldedBalances(e,t,n,r=!1,i=!1){return(await this.getTotalBalance(e,t,n,r,i,!0)).filter(e=>e.balance>0n)}get privateBalancesWithUSD(){return this.privateBalances.getSnapshot()}onPrivateBalancesWithUSDChange(e){return this.privateBalances.onPrivateBalancesWithUSDChange(e)}async getHinkalTreeRootHash(e){return(await h.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 j.getRecipientInfo(this)}async deposit(e,t,n=!0,r=!1){return _.hinkalDeposit(this,e,t,n,r)}async depositSolana(e,t,n=!1){return w.hinkalSolanaDeposit(this,e,t,n)}async depositForOther(e,t,n,r=!0,i=!1,a){return this.enforceRateLimit(this.depositForOther.name,[e,t,n]),_.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]),w.hinkalSolanaDepositForOther(this,e,t,n,r,i)}async depositAndWithdraw(e,t,r,i,a,o,s,c,l=!0){return n.isSolanaLike(u.validateAndGetChainId([e]))?R.hinkalSolanaDepositAndWithdraw(this,e,t,r,i,a,o,s,c):C.hinkalDepositAndWithdraw(this,e,t,r,i,a,o,s,c,l)}async claimUtxo(e,t,r,i){return n.isSolanaLike(u.validateAndGetChainId([e]))?X.hinkalSolanaClaimUtxo(this,e,t,r,i):J.hinkalClaimUtxo(this,e,t,r,i)}async depositAndBridge(e,t,n,r,i,a,o,s=!0){return G.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]),K.hinkalBridgePrivateToPrivate(this,e,t,n,r,i,a,o,s)}async checkSendTransactionStatus(e){return c.getScheduledTransactionById(e)}async nearDepositAndBridge(e,t,n,r,i,a,o,s,c){return this.enforceRateLimit(this.nearDepositAndBridge.name,[e,t,n,r]),q.hinkalNearDepositAndBridge(this,e,t,n,r,i,a,o,s,c)}async prooflessDeposit(e,t,r,a,o=!1,s=i.zeroProoflessFeeStructure,c=``,l,d=!1){return n.isSolanaLike(u.validateAndGetChainId(e))?Y.hinkalSolanaProoflessDeposit(this,e,t,r,a,o,l,d):P.hinkalProoflessDeposit(this,e,t,r,a,o,s,c,l,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,t,r,i,a,o){return this.enforceRateLimit(this.transfer.name,[e,t,r]),n.isSolanaLike(u.validateAndGetChainId(e))?B.hinkalSolanaTransfer(this,e,t,r,i,a,o):F.hinkalTransfer(this,e,t,r,i,a,o)}async withdraw(e,t,r,i,a,o,s,c){return n.isSolanaLike(u.validateAndGetChainId(e))?z.hinkalSolanaWithdraw(this,e,t,r,a,o,s,c):E.hinkalWithdraw(this,e,t,r,i,a,o,s,c)}async withdrawStuckUtxos(e,t){return Z.hinkalWithdrawStuckUtxos(this,e,t)}async swap(e,t,r,i,a,o,s,c){return n.isSolanaLike(u.validateAndGetChainId(e))?this.swapSolana(e,t,i,a,o,c):T.hinkalSwap(this,e,t,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 V.hinkalSolanaSwap(this,e,t,s,c,l,r,i,a)}async actionReceive(e,t,r,i,a,o){if(!a)throw Error(`subAccount is required`);return n.isSolanaLike(u.validateAndGetChainId(e))?W.hinkalSolanaProxyShield(this,e[0],t[0],a,void 0,!1,i?.variableRate,o):N.hinkalActionReceive(this,e,t,r,i,a,o)}async actionPrivateWallet(e,t,n,r,i,a,o,s,c,l,u=!1,d,f,p){return this.enforceRateLimit(this.actionPrivateWallet.name,[e,t,n,r,i,a,o,s,c,p]),A.hinkalPrivateWallet(this,e,t,n,r,i,a,o,s,c,l,u,d,f,p)}async proxySwap(e,t,r,i,a,o,s,c,l=!1,d,f){return n.isSolanaLike(u.validateAndGetChainId(e))?U.hinkalSolanaProxySwap(this,e,t,i,o,r,s,c,f):ee.hinkalProxySwap(this,e,t,r,i,a,o,s,c,l,d,f)}async proxyToPrivate(e,t,r,i,a,o,s){return n.isSolanaLike(u.validateAndGetChainId(e))?(this.enforceRateLimit(this.proxyToPrivate.name,[e[0],t[0],r,i]),W.hinkalSolanaProxyShield(this,e[0],t[0],r,i,!1,o?.variableRate,s)):I.hinkalProxyToPrivate(this,e,t,i,a,o,r,s)}async proxySend(e,t,r,i,a,o,s){let c=u.validateAndGetChainId(e);if(n.isSolanaLike(c))return H.hinkalSolanaProxySend(this,e[0],t[0],r,i,s);let l=g.createTransaferEmporiumOpsBatch(this,c,e.map(e=>e.erc20TokenAddress),t,i),d=e.map((e,n)=>({token:e,amount:-1n*t[n]}));return await this.actionPrivateWallet(c,[],[],[],l,d,r,a,o,void 0,void 0,void 0,s,void 0)}areMerkleTreeUpdatesDisabled(){return this.disableMerkleTreeUpdates}updateMerkleTreeUpdates(e){this.disableMerkleTreeUpdates=e}};exports.Hinkal=te;
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)}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){return t.isSolanaLike(l.validateAndGetChainId(e))?R.hinkalSolanaProxySwap(this,e,n,i,o,r,s,c,f):A.hinkalProxySwap(this,e,n,r,i,a,o,s,c,u,d,f)}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;
@@ -50,15 +50,12 @@ export declare class Hinkal<ConnectorType> implements IHinkal {
50
50
  initProviderAdapter(connector: ConnectorType, providerAdapter: IProviderAdapter<ConnectorType>): Promise<void>;
51
51
  getSigningMessage(mode?: LoginMessageMode): string;
52
52
  signHinkalMessage(mode?: LoginMessageMode): Promise<string>;
53
- signSolanaLedgerMessage(): Promise<{
54
- signature: string;
55
- txMessageForSolanaLedger: string;
56
- }>;
53
+ signSolanaLedgerMessage(): Promise<string>;
57
54
  initUserKeys(mode?: LoginMessageMode): Promise<void>;
58
55
  initUserKeysWithSignature(signature: string): void;
59
56
  initUserKeysFromSeedPhrases(seedPhrases: string[]): Promise<void>;
60
- initUserKeysWithEnclaveSignature(signInMode?: LoginMessageMode): Promise<string | undefined>;
61
- storeAndGetInitialSignature(authSignature: string, isSolanaLedger?: boolean, txMessageForSolanaLedger?: string): Promise<string>;
57
+ initUserKeysWithEnclaveSignature(signInMode?: LoginMessageMode): Promise<void>;
58
+ storeAndGetInitialSignature(authSignature: string): Promise<string>;
62
59
  resetMerkle(chains?: number[]): Promise<void>;
63
60
  getTronWeb(): import('tronweb').TronWeb;
64
61
  getSupportedChains(): number[];
@@ -79,9 +76,9 @@ export declare class Hinkal<ConnectorType> implements IHinkal {
79
76
  private onAccountChanged;
80
77
  private onChainChanged;
81
78
  monitorConnectedAddress(chainId: number): Promise<void>;
82
- getBalances(chainId: number, passedShieldedPrivateKey: string, passedShieldedPublicKey: string, ethAddress: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean, useBlockedUtxos?: boolean): Promise<Map<string, TokenBalance>>;
83
- getTotalBalance(chainId: number, _userKeys?: UserKeys, _ethAddress?: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean, useBlockedUtxos?: boolean): Promise<TokenBalance[]>;
84
- getStuckShieldedBalances(chainId: number, _userKeys?: UserKeys, _ethAddress?: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean): Promise<TokenBalance[]>;
79
+ /** Serves every chain from one enclave request. Chains that failed are omitted from the result. */
80
+ getTotalBalances(_chainIds: number[], _userKeys?: UserKeys, _ethAddress?: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean, useBlockedUtxos?: boolean): Promise<Map<number, TokenBalance[]>>;
81
+ getStuckShieldedBalances(_chainIds: number[], _userKeys?: UserKeys, _ethAddress?: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean): Promise<Map<number, TokenBalance[]>>;
85
82
  get privateBalancesWithUSD(): PrivateBalancesState;
86
83
  onPrivateBalancesWithUSDChange(callback: (state: PrivateBalancesState) => void): () => void;
87
84
  getHinkalTreeRootHash(chainId: number): Promise<bigint>;
@@ -1,65 +1,58 @@
1
1
  import { CustomJSONStringify as e } from "../../functions/utils/serialize.utils.mjs";
2
- import { isExtension as t } from "../../constants/vite.constants.mjs";
3
- import { HINKAL_SUPPORTED_CHAINS as n, WALLET_SUPPORTED_CHAINS as r, chainIds as i, currentSolanaChainId as a, currentTronChainId as o, isSameOnchainNetwork as s, isSolanaLike as c, isTronLike as l, networkRegistry as u, setHinkalTronChainId as d } from "../../constants/chains.constants.mjs";
4
- import { DAPP_SIGNING_MESSAGE as f, DETERMINISTIC_SOLANA_LEDGER_BLOCKHASH as p, DETERMINISTIC_SOLANA_LEDGER_LAST_VALID_BLOCK_HEIGHT as m, SDK_SIGNING_MESSAGE as h } from "../../constants/protocol.constants.mjs";
5
- import { EventType as g, LoginMessageMode as _, zeroProoflessFeeStructure as v } from "../../types/hinkal.types.mjs";
6
- import { poseidonFunction as ee } from "../../crypto/poseidon.mjs";
2
+ import { HINKAL_SUPPORTED_CHAINS as t, WALLET_SUPPORTED_CHAINS as n, chainIds as r, currentSolanaChainId as i, currentTronChainId as a, isSameOnchainNetwork as o, isSolanaLike as s, isTronLike as c, networkRegistry as l, setHinkalTronChainId as u } from "../../constants/chains.constants.mjs";
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
+ import { EventType as ee, LoginMessageMode as h, zeroProoflessFeeStructure as g } from "../../types/hinkal.types.mjs";
5
+ import { poseidonFunction as _ } from "../../crypto/poseidon.mjs";
7
6
  import { transactionErrorCodes as te } from "../../error-handling/error-codes.constants.mjs";
8
- import { UserKeys as y } from "../crypto-keys/keys.mjs";
9
- import { getScheduledTransactionById as b } from "../../API/scheduled-transactions-calls.mjs";
10
- import { API as x } from "../../API/API.mjs";
11
- import { validateAndGetChainId as S } from "../../functions/utils/token-check.utils.mjs";
12
- import { privateTokensDB as C } from "../TokenDBs/PrivateTokensDB.mjs";
13
- import { getErc20TokensForChainAPI as w } from "../../functions/utils/erc20tokenFunctions.mjs";
14
- import { getShieldedBalance as T } from "../../functions/web3/events/getShieldedBalance.mjs";
15
- import { getContractWithFetcherByChainId as E } from "../../functions/web3/getContractMetadata.mjs";
16
- import { fetchOnChainRootHashes as D } from "../../functions/snarkjs/fetchOnChainRootHashes.mjs";
17
- import { createTransaferEmporiumOpsBatch as O } from "../../functions/private-wallet/emporium.helpers.mjs";
18
- import { hinkalDeposit as k, hinkalDepositForOther as A } from "./hinkalDeposit.mjs";
19
- import { reloadPage as j } from "../../functions/utils/reloadPage.mjs";
20
- import { createCacheDevice as M } from "../../functions/utils/cacheDevice.utils.mjs";
21
- import { SolanaProviderAdapter as N } from "../../providers/SolanaProviderAdapter.mjs";
22
- import { storeAndGetSignatureFromEnclave as P } from "../../functions/utils/enclave-signature-storage.mjs";
23
- import { generateHashFromSeedPhrases as F } from "../../functions/utils/mnemonics.mjs";
24
- import "../../functions/index.mjs";
25
- import { hinkalDepositAndWithdraw as I } from "./hinkalDepositAndWithdraw.mjs";
26
- import { hinkalSolanaDeposit as L, hinkalSolanaDepositForOther as R } from "./hinkalSolanaDeposit.mjs";
27
- import { hinkalSwap as z } from "./hinkalSwap.mjs";
28
- import { hinkalWithdraw as B } from "./hinkalWithdraw.mjs";
29
- import { MerkleTree as V } from "../merkle-tree/MerkleTree.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";
13
+ import { fetchOnChainRootHashes as w } from "../../functions/snarkjs/fetchOnChainRootHashes.mjs";
14
+ import { hinkalDeposit as T, hinkalDepositForOther as E } from "./hinkalDeposit.mjs";
15
+ import { createCacheDevice as D } from "../../functions/utils/cacheDevice.utils.mjs";
16
+ import { SolanaProviderAdapter as O } from "../../providers/SolanaProviderAdapter.mjs";
17
+ import { storeAndGetSignatureFromEnclave as k } from "../../functions/utils/enclave-signature-storage.mjs";
18
+ import { generateHashFromSeedPhrases as A } from "../../functions/utils/mnemonics.mjs";
19
+ import { hinkalDepositAndWithdraw as j } from "./hinkalDepositAndWithdraw.mjs";
20
+ import { hinkalSolanaDeposit as M, hinkalSolanaDepositForOther as N } from "./hinkalSolanaDeposit.mjs";
21
+ import { hinkalSwap as P } from "./hinkalSwap.mjs";
22
+ import { hinkalWithdraw as F } from "./hinkalWithdraw.mjs";
23
+ import { MerkleTree as I } from "../merkle-tree/MerkleTree.mjs";
30
24
  import "../merkle-tree/index.mjs";
31
- import { resetMerkleTrees as H } from "./resetMerkleTrees.mjs";
25
+ import { resetMerkleTrees as L } from "./resetMerkleTrees.mjs";
32
26
  import "../../API/index.mjs";
33
- import { MultiThreadedUtxoUtils as ne } from "../MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.mjs";
34
- import { hinkalPrivateWallet as U } from "./hinkalPrivateWallet.mjs";
35
- import { getRecipientInfo as W } from "./hinkalGetRecipientInfo.mjs";
36
- import { hinkalSignSubAccount as G } from "./hinkalSignSubAccount.mjs";
37
- import { hinkalActionReceive as K } from "./hinkalActionReceive.mjs";
38
- import "../TokenDBs/index.mjs";
39
- import { hinkalProoflessDeposit as q } from "./hinkalProoflessDeposit.mjs";
40
- import { hinkalProxySwap as J } from "./hinkalProxySwap.mjs";
41
- import { hinkalTransfer as Y } from "./hinkalTransfer.mjs";
42
- import { hinkalProxyToPrivate as X } from "./hinkalProxyToPrivate.mjs";
43
- import { TronProviderAdapter as Z } from "../../providers/TronProviderAdapter.mjs";
44
- import { hinkalSolanaDepositAndWithdraw as re } from "./hinkalSolanaDepositAndWithdraw.mjs";
45
- import { hinkalSolanaWithdraw as ie } from "./hinkalSolanaWithdraw.mjs";
46
- import { hinkalSolanaTransfer as ae } from "./hinkalSolanaTransfer.mjs";
47
- import { hinkalSolanaSwap as oe } from "./hinkalSolanaSwap.mjs";
48
- import { hinkalSolanaProxySend as se } from "./hinkalSolanaProxySend.mjs";
49
- import { hinkalSolanaProxySwap as ce } from "./hinkalSolanaProxySwap.mjs";
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";
50
42
  import { hinkalSolanaProxyShield as Q } from "./hinkalSolanaProxyShield.mjs";
51
- import { hinkalDepositAndBridge as le } from "./hinkalDepositAndBridge.mjs";
52
- import { hinkalBridgePrivateToPrivate as ue } from "./hinkalBridgePrivateToPrivate.mjs";
53
- import { hinkalNearDepositAndBridge as de } from "./hinkalNearDepositAndBridge.mjs";
54
- import { hinkalClaimUtxo as fe } from "./hinkalClaimUtxo.mjs";
55
- import { hinkalSolanaProoflessDeposit as pe } from "./hinkalSolanaProoflessDeposit.mjs";
56
- import { hinkalSolanaClaimUtxo as $ } from "./hinkalSolanaClaimUtxo.mjs";
57
- import { hinkalWithdrawStuckUtxos as me } from "./hinkalWithdrawStuckUtxos.mjs";
58
- import { HinkalPrivateBalanceController as he } from "../private-balances/HinkalPrivateBalanceController.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";
59
51
  import "../private-balances/index.mjs";
60
- import { Transaction as ge } from "@solana/web3.js";
52
+ import { hinkalProxySend as ue } from "./hinkalProxySend.mjs";
53
+ import { Transaction as de } from "@solana/web3.js";
61
54
  //#region libs/shared/common/src/data-structures/Hinkal/Hinkal.ts
62
- var _e = class {
55
+ var fe = class {
63
56
  ethereumProviderAdapter;
64
57
  solanaProviderAdapter;
65
58
  tronProviderAdapter;
@@ -70,7 +63,7 @@ var _e = class {
70
63
  encryptedOutputsByChain = {};
71
64
  commitmentsSnapshotServiceByChain = {};
72
65
  nullifierSnapshotServiceByChain = {};
73
- privateBalances = new he(this);
66
+ privateBalances = new le(this);
74
67
  utxoUtils;
75
68
  lastCallState = /* @__PURE__ */ new Map();
76
69
  cacheDevice;
@@ -79,9 +72,9 @@ var _e = class {
79
72
  disableMerkleTreeUpdates;
80
73
  allowParallelBalanceLocalDecryption;
81
74
  constructor(e) {
82
- this.userKeys = new y(void 0), e?.tronChainOverride && d(e.tronChainOverride), n.forEach((e) => {
83
- this.merkleTreeHinkalByChain[e] = V.create(ee, 0n), this.nullifiersByChain[e] = /* @__PURE__ */ new Set(), this.encryptedOutputsByChain[e] = [];
84
- }), this.generateProofRemotely = e?.generateProofRemotely ?? !0, this.utxoUtils = new ne(), this.cacheDevice = M(e), this.disableMerkleTreeUpdates = e?.disableMerkleTreeUpdates ?? !1, this.allowParallelBalanceLocalDecryption = e?.allowParallelBalanceLocalDecryption ?? !1;
75
+ this.userKeys = new v(void 0), e?.tronChainOverride && u(e.tronChainOverride), t.forEach((e) => {
76
+ this.merkleTreeHinkalByChain[e] = I.create(_, 0n), this.nullifiersByChain[e] = /* @__PURE__ */ new Set(), this.encryptedOutputsByChain[e] = [];
77
+ }), this.generateProofRemotely = e?.generateProofRemotely ?? !0, this.utxoUtils = new R(), this.cacheDevice = D(e), this.disableMerkleTreeUpdates = e?.disableMerkleTreeUpdates ?? !1, this.allowParallelBalanceLocalDecryption = e?.allowParallelBalanceLocalDecryption ?? !1;
85
78
  }
86
79
  enforceRateLimit(t, n, r = 1e3) {
87
80
  let i = Date.now(), a = e(n), o = this.lastCallState.get(t);
@@ -93,78 +86,70 @@ var _e = class {
93
86
  }
94
87
  getProviderAdapter(e) {
95
88
  let t = e;
96
- t ||= this.ethereumProviderAdapter ? i.ethMainnet : this.solanaProviderAdapter ? a : i.tronMainnet;
89
+ t ||= this.ethereumProviderAdapter ? r.ethMainnet : this.solanaProviderAdapter ? i : r.tronMainnet;
97
90
  let n;
98
- if (n = c(t) ? this.solanaProviderAdapter : l(t) ? this.tronProviderAdapter : this.ethereumProviderAdapter, !n) throw Error("ProviderAdapter is not initialized");
91
+ if (n = s(t) ? this.solanaProviderAdapter : c(t) ? this.tronProviderAdapter : this.ethereumProviderAdapter, !n) throw Error("ProviderAdapter is not initialized");
99
92
  return n;
100
93
  }
101
94
  async initProviderAdapter(e, t) {
102
- let n = i.ethMainnet;
103
- t instanceof N ? n = a : t instanceof Z && (n = o), await this.updateProviderAdapter(n, t), t.initConnector(e);
104
- let r = await t.connectAndPatchProvider(e);
105
- await t.init(r), await this.setListeners();
95
+ let n = r.ethMainnet;
96
+ t instanceof O ? n = i : t instanceof K && (n = a), await this.updateProviderAdapter(n, t), t.initConnector(e);
97
+ let o = await t.connectAndPatchProvider(e);
98
+ await t.init(o), await this.setListeners();
106
99
  }
107
- getSigningMessage(e = _.SDK) {
100
+ getSigningMessage(e = h.SDK) {
108
101
  switch (e) {
109
- case _.SDK: return h;
110
- case _.HINKAL_DAPP:
111
- default: return f;
102
+ case h.SDK: return m;
103
+ case h.HINKAL_DAPP:
104
+ default: return d;
112
105
  }
113
106
  }
114
- async signHinkalMessage(e = _.SDK) {
107
+ async signHinkalMessage(e = h.SDK) {
115
108
  let t = this.getSigningMessage(e);
116
109
  return this.getProviderAdapter().signMessage(t);
117
110
  }
118
111
  async signSolanaLedgerMessage() {
119
- let e = new ge({
120
- blockhash: p,
121
- lastValidBlockHeight: m,
112
+ let e = new de({
113
+ blockhash: f,
114
+ lastValidBlockHeight: p,
122
115
  feePayer: this.getSolanaPublicKey()
123
116
  }), t = await this.getProviderAdapter().signTransactionWithoutBroadcast?.(e);
124
117
  if (!t) throw Error("Failed to sign transaction without broadcast");
125
- return {
126
- signature: t.signature,
127
- txMessageForSolanaLedger: t.transactionMessageB64
128
- };
118
+ return t;
129
119
  }
130
- async initUserKeys(e = _.SDK) {
131
- this.userKeys = new y(await this.signHinkalMessage(e));
120
+ async initUserKeys(e = h.SDK) {
121
+ this.userKeys = new v(await this.signHinkalMessage(e));
132
122
  }
133
123
  initUserKeysWithSignature(e) {
134
- this.userKeys = new y(e);
124
+ this.userKeys = new v(e);
135
125
  }
136
126
  async initUserKeysFromSeedPhrases(e) {
137
- let t = F(e);
138
- this.userKeys = new y(t);
127
+ let t = A(e);
128
+ this.userKeys = new v(t);
139
129
  }
140
- async initUserKeysWithEnclaveSignature(e = _.SDK) {
130
+ async initUserKeysWithEnclaveSignature(e = h.SDK) {
141
131
  if (!await this.getEthereumAddress()) throw Error("Connected address not found");
142
- let t = this.getProviderAdapter().isSolanaLedger?.() ?? !1, n, r;
143
- if (t) {
144
- let e = await this.signSolanaLedgerMessage();
145
- n = e.signature, r = e.txMessageForSolanaLedger;
146
- } else n = await this.getProviderAdapter().signMessage(this.getSigningMessage(e));
147
- let i = await this.storeAndGetInitialSignature(n, t, r);
148
- return this.initUserKeysWithSignature(i ?? n), r;
149
- }
150
- async storeAndGetInitialSignature(e, t = !1, n) {
151
- let r = await this.getEthereumAddress();
152
- if (!r) throw Error("Connected address not found");
153
- return await P(r, e, t, n);
132
+ let t = this.getProviderAdapter().isSolanaLedger?.() ? await this.signSolanaLedgerMessage() : await this.getProviderAdapter().signMessage(this.getSigningMessage(e)), n = await this.storeAndGetInitialSignature(t);
133
+ this.initUserKeysWithSignature(n ?? t);
134
+ }
135
+ async storeAndGetInitialSignature(e) {
136
+ let t = await this.getEthereumAddress();
137
+ if (!t) throw Error("Connected address not found");
138
+ return k(t, e);
154
139
  }
155
140
  async resetMerkle(e) {
156
- this.disableMerkleTreeUpdates || (e?.every((e) => this.isSelectedNetworkSupported(e)) ?? !0) && await H(this, e);
141
+ this.disableMerkleTreeUpdates || (e?.every((e) => this.isSelectedNetworkSupported(e)) ?? !0) && await L(this, e);
157
142
  }
158
143
  getTronWeb() {
159
144
  let e = this.tronProviderAdapter;
160
145
  if (!e) throw Error("Tron provider adapter not initialized");
161
- if (!(e instanceof Z)) throw Error("Tron provider adapter is not a TronProviderAdapter");
146
+ if (!(e instanceof K)) throw Error("Tron provider adapter is not a TronProviderAdapter");
162
147
  let t = e.getTronWeb();
163
148
  if (!t) throw Error("TronWeb not available");
164
149
  return t;
165
150
  }
166
151
  getSupportedChains() {
167
- return this.ethereumProviderAdapter && this.solanaProviderAdapter ? r : this.ethereumProviderAdapter ? n.filter((e) => !c(e) && !l(e)) : this.solanaProviderAdapter ? n.filter((e) => c(e)) : this.tronProviderAdapter ? [o] : [];
152
+ return this.ethereumProviderAdapter && this.solanaProviderAdapter ? n : this.ethereumProviderAdapter ? t.filter((e) => !s(e) && !c(e)) : this.solanaProviderAdapter ? t.filter((e) => s(e)) : this.tronProviderAdapter ? [a] : [];
168
153
  }
169
154
  async waitForTransaction(e, t, n = 1) {
170
155
  return !!await this.getProviderAdapter(e).waitForTransaction(e, t, n);
@@ -173,7 +158,7 @@ var _e = class {
173
158
  return this.getProviderAdapter(e).getContract(e, t, n);
174
159
  }
175
160
  getContractWithFetcherByChainId(e, t, n = void 0) {
176
- return E(e, t, n);
161
+ return C(e, t, n);
177
162
  }
178
163
  async signMessage(e) {
179
164
  return await this.getProviderAdapter().signMessage(e);
@@ -182,7 +167,7 @@ var _e = class {
182
167
  return await this.getProviderAdapter().signTypedData(e, t, n);
183
168
  }
184
169
  async signWithSubAccount(e, t, n, r) {
185
- return G(e, t, n, r);
170
+ return B(e, t, n, r);
186
171
  }
187
172
  getContractWithSigner(e, t, n = "") {
188
173
  return this.getProviderAdapter(e).getContractWithSigner(e, t, n);
@@ -191,10 +176,10 @@ var _e = class {
191
176
  return this.getProviderAdapter(e).getContractWithFetcher(e, t, n);
192
177
  }
193
178
  isSelectedNetworkSupported(e) {
194
- return !!u[e];
179
+ return !!l[e];
195
180
  }
196
181
  async switchNetwork(e) {
197
- let t = this.getProviderAdapter(), n = t.getChainId(), r = n !== void 0 && s(e.chainId, n);
182
+ let t = this.getProviderAdapter(), n = t.getChainId(), r = n !== void 0 && o(e.chainId, n);
198
183
  if (!(e.chainId === n || r)) try {
199
184
  await t.switchNetwork(e);
200
185
  } catch {
@@ -209,7 +194,7 @@ var _e = class {
209
194
  }
210
195
  async updateProviderAdapter(e, t) {
211
196
  try {
212
- c(e) ? (this.solanaProviderAdapter && this.solanaProviderAdapter.release(), this.solanaProviderAdapter = t) : l(e) ? (this.tronProviderAdapter && this.tronProviderAdapter.release(), this.tronProviderAdapter = t) : (this.ethereumProviderAdapter && this.ethereumProviderAdapter.release(), this.ethereumProviderAdapter = t);
197
+ s(e) ? (this.solanaProviderAdapter && this.solanaProviderAdapter.release(), this.solanaProviderAdapter = t) : c(e) ? (this.tronProviderAdapter && this.tronProviderAdapter.release(), this.tronProviderAdapter = t) : (this.ethereumProviderAdapter && this.ethereumProviderAdapter.release(), this.ethereumProviderAdapter = t);
213
198
  } catch (e) {
214
199
  throw console.error(e), Error("updateProviderAdapter failed, please try again.");
215
200
  }
@@ -240,32 +225,22 @@ var _e = class {
240
225
  }
241
226
  async onAccountChanged() {
242
227
  await this.ethereumProviderAdapter?.onAccountChanged(), await this.solanaProviderAdapter?.onAccountChanged(), await this.tronProviderAdapter?.onAccountChanged();
243
- let e = g.AccountChanged;
228
+ let e = ee.AccountChanged;
244
229
  typeof document < "u" ? document?.dispatchEvent(new Event(e)) : process?.emit("message", e, void 0);
245
230
  }
246
231
  async onChainChanged(e) {
247
- e ? await this.getProviderAdapter(e).onChainChanged(e) : (await this.disconnectFromConnector(), j());
232
+ e ? await this.getProviderAdapter(e).onChainChanged(e) : await this.disconnectFromConnector();
248
233
  }
249
234
  async monitorConnectedAddress(e) {
250
- await x.monitor(await this.getEthereumAddressByChain(e));
251
- }
252
- async getBalances(e, t, n, r, i = !1, a, o = !1) {
253
- return T(this, e, t, n, r, i, a, o);
254
- }
255
- async getTotalBalance(e, n, r, i = !1, a, o = !1) {
256
- let s = r ?? await this.getEthereumAddressByChain(e), c = n ?? this.userKeys, l = await this.getBalances(e, c.getShieldedPrivateKey(), c.getShieldedPublicKey(), s, i, a, o), u = t ? await C.getPrivateTokens(e, s) : await w(e), d = [];
257
- return u.forEach((e) => {
258
- let t = e.erc20TokenAddress.toLowerCase(), n = l.get(t), r = {
259
- token: e,
260
- balance: n?.balance ?? 0n,
261
- timestamp: n?.timestamp || "0",
262
- nfts: n?.nfts || []
263
- };
264
- d.push(r);
265
- }), d;
235
+ await b.monitor(await this.getEthereumAddressByChain(e));
236
+ }
237
+ async getTotalBalances(e, t, n, r = !1, i, a = !1) {
238
+ let o = t ?? this.userKeys, s = new Map(await Promise.all(e.map(async (e) => [e, n ?? await this.getEthereumAddressByChain(e)])));
239
+ return S(this, s, o.getShieldedPrivateKey(), o.getShieldedPublicKey(), r, i, a);
266
240
  }
267
241
  async getStuckShieldedBalances(e, t, n, r = !1, i = !1) {
268
- return (await this.getTotalBalance(e, t, n, r, i, !0)).filter((e) => e.balance > 0n);
242
+ let a = await this.getTotalBalances(e, t, n, r, i, !0);
243
+ return new Map([...a].map(([e, t]) => [e, t.filter((e) => e.balance > 0n)]));
269
244
  }
270
245
  get privateBalancesWithUSD() {
271
246
  return this.privateBalances.getSnapshot();
@@ -274,7 +249,7 @@ var _e = class {
274
249
  return this.privateBalances.onPrivateBalancesWithUSDChange(e);
275
250
  }
276
251
  async getHinkalTreeRootHash(e) {
277
- return (await D(e)).hinkalRootHash;
252
+ return (await w(e)).hinkalRootHash;
278
253
  }
279
254
  async resetMerkleTreesIfNecessary(e) {
280
255
  let t = (await Promise.all((e ?? this.getSupportedChains()).map(async (e) => {
@@ -299,7 +274,7 @@ var _e = class {
299
274
  return this.getProviderAdapter(e).getAddress();
300
275
  }
301
276
  async getRandomRelay(e, t = !1) {
302
- return (await x.getIdleRelay(e, t)).relay;
277
+ return (await b.getIdleRelay(e, t)).relay;
303
278
  }
304
279
  getGasPrice(e) {
305
280
  let t = this.getProviderAdapter(e);
@@ -307,7 +282,7 @@ var _e = class {
307
282
  return t.getGasPrice(e);
308
283
  }
309
284
  getAPI() {
310
- return x;
285
+ return b;
311
286
  }
312
287
  snapshotsClearInterval() {
313
288
  this.getSupportedChains().forEach((e) => {
@@ -318,46 +293,46 @@ var _e = class {
318
293
  this.snapshotsClearInterval(), this.privateBalances.dispose(), await this.resetProviderAdapters();
319
294
  }
320
295
  getRecipientInfo() {
321
- return W(this);
296
+ return z(this);
322
297
  }
323
298
  async deposit(e, t, n = !0, r = !1) {
324
- return k(this, e, t, n, r);
299
+ return T(this, e, t, n, r);
325
300
  }
326
301
  async depositSolana(e, t, n = !1) {
327
- return L(this, e, t, n);
302
+ return M(this, e, t, n);
328
303
  }
329
304
  async depositForOther(e, t, n, r = !0, i = !1, a) {
330
305
  return this.enforceRateLimit(this.depositForOther.name, [
331
306
  e,
332
307
  t,
333
308
  n
334
- ]), A(this, e, t, n, r, i, a);
309
+ ]), E(this, e, t, n, r, i, a);
335
310
  }
336
311
  async depositSolanaForOther(e, t, n, r = !1, i) {
337
312
  return this.enforceRateLimit(this.depositSolanaForOther.name, [
338
313
  e,
339
314
  t,
340
315
  n
341
- ]), R(this, e, t, n, r, i);
316
+ ]), N(this, e, t, n, r, i);
342
317
  }
343
- async depositAndWithdraw(e, t, n, r, i, a, o, s, l = !0) {
344
- return c(S([e])) ? re(this, e, t, n, r, i, a, o, s) : I(this, e, t, n, r, i, a, o, s, l);
318
+ async depositAndWithdraw(e, t, n, r, i, a, o, c, l = !0) {
319
+ 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);
345
320
  }
346
321
  async claimUtxo(e, t, n, r) {
347
- return c(S([e])) ? $(this, e, t, n, r) : fe(this, e, t, n, r);
322
+ return s(x([e])) ? se(this, e, t, n, r) : oe(this, e, t, n, r);
348
323
  }
349
324
  async depositAndBridge(e, t, n, r, i, a, o, s = !0) {
350
- return le(this, e, t, n, r, i, a, o, s);
325
+ return re(this, e, t, n, r, i, a, o, s);
351
326
  }
352
327
  async bridgePrivateToPrivate(e, t, n, r, i, a, o, s) {
353
328
  return this.enforceRateLimit(this.bridgePrivateToPrivate.name, [
354
329
  e,
355
330
  t,
356
331
  n
357
- ]), ue(this, e, t, n, r, i, a, o, s);
332
+ ]), ie(this, e, t, n, r, i, a, o, s);
358
333
  }
359
334
  async checkSendTransactionStatus(e) {
360
- return b(e);
335
+ return y(e);
361
336
  }
362
337
  async nearDepositAndBridge(e, t, n, r, i, a, o, s, c) {
363
338
  return this.enforceRateLimit(this.nearDepositAndBridge.name, [
@@ -365,10 +340,10 @@ var _e = class {
365
340
  t,
366
341
  n,
367
342
  r
368
- ]), de(this, e, t, n, r, i, a, o, s, c);
343
+ ]), ae(this, e, t, n, r, i, a, o, s, c);
369
344
  }
370
- async prooflessDeposit(e, t, n, r, i = !1, a = v, o = "", s, l = !1) {
371
- return c(S(e)) ? pe(this, e, t, n, r, i, s, l) : q(this, e, t, n, r, i, a, o, s, l);
345
+ async prooflessDeposit(e, t, n, r, i = !1, a = g, o = "", c, l = !1) {
346
+ return s(x(e)) ? $(this, e, t, n, r, i, c, l) : H(this, e, t, n, r, i, a, o, c, l);
372
347
  }
373
348
  getSolanaProgram(e) {
374
349
  if (!this.solanaProviderAdapter) throw Error("No provider adapter initialized");
@@ -385,24 +360,24 @@ var _e = class {
385
360
  e,
386
361
  t,
387
362
  n
388
- ]), c(S(e)) ? ae(this, e, t, n, r, i, a) : Y(this, e, t, n, r, i, a);
363
+ ]), s(x(e)) ? Y(this, e, t, n, r, i, a) : W(this, e, t, n, r, i, a);
389
364
  }
390
- async withdraw(e, t, n, r, i, a, o, s) {
391
- return c(S(e)) ? ie(this, e, t, n, i, a, o, s) : B(this, e, t, n, r, i, a, o, s);
365
+ async withdraw(e, t, n, r, i, a, o, c) {
366
+ return s(x(e)) ? J(this, e, t, n, i, a, o, c) : F(this, e, t, n, r, i, a, o, c);
392
367
  }
393
368
  async withdrawStuckUtxos(e, t) {
394
- return me(this, e, t);
369
+ return ce(this, e, t);
395
370
  }
396
- async swap(e, t, n, r, i, a, o, s) {
397
- return c(S(e)) ? this.swapSolana(e, t, r, i, a, s) : z(this, e, t, n, r, i, a, o, s);
371
+ async swap(e, t, n, r, i, a, o, c) {
372
+ return s(x(e)) ? this.swapSolana(e, t, r, i, a, c) : P(this, e, t, n, r, i, a, o, c);
398
373
  }
399
374
  async swapSolana(e, t, n, r, i, a) {
400
375
  let o = JSON.parse(n), s = BigInt(o.swapperAccountSalt), { instructionLists: c, addressLookupTableAccount: l } = o.data;
401
- return oe(this, e, t, s, c, l, r, i, a);
376
+ return X(this, e, t, s, c, l, r, i, a);
402
377
  }
403
378
  async actionReceive(e, t, n, r, i, a) {
404
379
  if (!i) throw Error("subAccount is required");
405
- return c(S(e)) ? Q(this, e[0], t[0], i, void 0, !1, r?.variableRate, a) : K(this, e, t, n, r, i, a);
380
+ 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);
406
381
  }
407
382
  async actionPrivateWallet(e, t, n, r, i, a, o, s, c, l, u = !1, d, f, p) {
408
383
  return this.enforceRateLimit(this.actionPrivateWallet.name, [
@@ -416,27 +391,21 @@ var _e = class {
416
391
  s,
417
392
  c,
418
393
  p
419
- ]), U(this, e, t, n, r, i, a, o, s, c, l, u, d, f, p);
394
+ ]), ne(this, e, t, n, r, i, a, o, s, c, l, u, d, f, p);
420
395
  }
421
- async proxySwap(e, t, n, r, i, a, o, s, l = !1, u, d) {
422
- return c(S(e)) ? ce(this, e, t, r, a, n, o, s, d) : J(this, e, t, n, r, i, a, o, s, l, u, d);
396
+ async proxySwap(e, t, n, r, i, a, o, c, l = !1, u, d) {
397
+ return s(x(e)) ? Z(this, e, t, r, a, n, o, c, d) : U(this, e, t, n, r, i, a, o, c, l, u, d);
423
398
  }
424
399
  async proxyToPrivate(e, t, n, r, i, a, o) {
425
- return c(S(e)) ? (this.enforceRateLimit(this.proxyToPrivate.name, [
400
+ return s(x(e)) ? (this.enforceRateLimit(this.proxyToPrivate.name, [
426
401
  e[0],
427
402
  t[0],
428
403
  n,
429
404
  r
430
- ]), Q(this, e[0], t[0], n, r, !1, a?.variableRate, o)) : X(this, e, t, r, i, a, n, o);
405
+ ]), Q(this, e[0], t[0], n, r, !1, a?.variableRate, o)) : G(this, e, t, r, i, a, n, o);
431
406
  }
432
407
  async proxySend(e, t, n, r, i, a, o) {
433
- let s = S(e);
434
- if (c(s)) return se(this, e[0], t[0], n, r, o);
435
- let l = O(this, s, e.map((e) => e.erc20TokenAddress), t, r), u = e.map((e, n) => ({
436
- token: e,
437
- amount: -1n * t[n]
438
- }));
439
- return await this.actionPrivateWallet(s, [], [], [], l, u, n, i, a, void 0, void 0, void 0, o, void 0);
408
+ return ue(this, e, t, n, r, i, a, o);
440
409
  }
441
410
  areMerkleTreeUpdatesDisabled() {
442
411
  return this.disableMerkleTreeUpdates;
@@ -446,4 +415,4 @@ var _e = class {
446
415
  }
447
416
  };
448
417
  //#endregion
449
- export { _e as Hinkal };
418
+ export { fe as Hinkal };