@hinkal/common 0.2.30 → 0.2.32

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 (776) hide show
  1. package/API/API.cjs +1 -1
  2. package/API/API.d.ts +26 -11
  3. package/API/API.mjs +103 -88
  4. package/API/callMonitor.cjs +1 -1
  5. package/API/callMonitor.d.ts +8 -0
  6. package/API/callMonitor.mjs +2 -2
  7. package/API/callRelayer.d.ts +4 -1
  8. package/API/dashboardAccountCalls.cjs +1 -0
  9. package/API/dashboardAccountCalls.d.ts +24 -0
  10. package/API/dashboardAccountCalls.mjs +10 -0
  11. package/API/dashboardAccountMemberCalls.cjs +1 -0
  12. package/API/dashboardAccountMemberCalls.d.ts +34 -0
  13. package/API/dashboardAccountMemberCalls.mjs +16 -0
  14. package/API/dashboardBalanceCalls.cjs +1 -0
  15. package/API/dashboardBalanceCalls.d.ts +12 -0
  16. package/API/dashboardBalanceCalls.mjs +13 -0
  17. package/API/dashboardContactCalls.cjs +1 -0
  18. package/API/dashboardContactCalls.d.ts +9 -0
  19. package/API/dashboardContactCalls.mjs +13 -0
  20. package/API/dashboardPayoutCalls.cjs +1 -0
  21. package/API/dashboardPayoutCalls.d.ts +14 -0
  22. package/API/dashboardPayoutCalls.mjs +13 -0
  23. package/API/dashboardTransactionCalls.cjs +1 -0
  24. package/API/dashboardTransactionCalls.d.ts +3 -0
  25. package/API/dashboardTransactionCalls.mjs +10 -0
  26. package/API/enclaveRecipientInfoCalls.cjs +1 -0
  27. package/API/enclaveRecipientInfoCalls.d.ts +14 -0
  28. package/API/enclaveRecipientInfoCalls.mjs +7 -0
  29. package/API/enclaveSignatureCalls.cjs +1 -1
  30. package/API/enclaveSignatureCalls.d.ts +3 -8
  31. package/API/enclaveSignatureCalls.mjs +6 -8
  32. package/API/enclaveUtxoCalls.cjs +1 -1
  33. package/API/enclaveUtxoCalls.d.ts +8 -2
  34. package/API/enclaveUtxoCalls.mjs +5 -3
  35. package/API/fetchCommitmentsCache.cjs +1 -1
  36. package/API/fetchCommitmentsCache.d.ts +1 -19
  37. package/API/fetchCommitmentsCache.mjs +9 -22
  38. package/API/getAnyRecipientInfo.d.ts +1 -0
  39. package/API/getServerURL.cjs +1 -1
  40. package/API/getServerURL.d.ts +3 -0
  41. package/API/getServerURL.mjs +15 -32
  42. package/API/getWebsiteURL.cjs +1 -1
  43. package/API/getWebsiteURL.d.ts +3 -2
  44. package/API/getWebsiteURL.mjs +12 -5
  45. package/API/index.cjs +1 -1
  46. package/API/index.d.ts +2 -0
  47. package/API/index.mjs +2 -0
  48. package/API/kycCalls.cjs +1 -1
  49. package/API/kycCalls.d.ts +0 -5
  50. package/API/kycCalls.mjs +3 -10
  51. package/API/privateSendRecipientInfoCalls.cjs +1 -1
  52. package/API/privateSendRecipientInfoCalls.d.ts +0 -10
  53. package/API/privateSendRecipientInfoCalls.mjs +2 -2
  54. package/API/scheduled-transactions-calls.cjs +1 -1
  55. package/API/scheduled-transactions-calls.d.ts +8 -2
  56. package/API/scheduled-transactions-calls.mjs +5 -4
  57. package/API/tenderly.api.cjs +1 -1
  58. package/API/tenderly.api.d.ts +1 -1
  59. package/API/tenderly.api.mjs +1 -1
  60. package/constants/addresses.constants.cjs +1 -1
  61. package/constants/addresses.constants.d.ts +10 -7
  62. package/constants/addresses.constants.mjs +11 -8
  63. package/constants/assets.constants.cjs +1 -1
  64. package/constants/assets.constants.mjs +1 -1
  65. package/constants/auth.constants.cjs +1 -0
  66. package/constants/auth.constants.d.ts +2 -0
  67. package/constants/auth.constants.mjs +4 -0
  68. package/constants/backend.constants.cjs +1 -1
  69. package/constants/backend.constants.d.ts +0 -1
  70. package/constants/backend.constants.mjs +0 -1
  71. package/constants/bridging.constants.cjs +1 -1
  72. package/constants/bridging.constants.d.ts +2 -0
  73. package/constants/bridging.constants.mjs +7 -3
  74. package/constants/chains.constants.cjs +1 -1
  75. package/constants/chains.constants.d.ts +25 -8
  76. package/constants/chains.constants.mjs +168 -127
  77. package/constants/coingecko.constants.cjs +1 -1
  78. package/constants/coingecko.constants.d.ts +5 -3
  79. package/constants/coingecko.constants.mjs +8 -5
  80. package/constants/contracts.constants.cjs +1 -1
  81. package/constants/contracts.constants.mjs +0 -4
  82. package/constants/deploy-data/deploy-data-arbMainnet.json.cjs +1 -1
  83. package/constants/deploy-data/deploy-data-arbMainnet.json.mjs +125 -850
  84. package/constants/deploy-data/deploy-data-arcTestnet.json.cjs +1 -1
  85. package/constants/deploy-data/deploy-data-arcTestnet.json.mjs +97 -1013
  86. package/constants/deploy-data/deploy-data-base.json.cjs +1 -1
  87. package/constants/deploy-data/deploy-data-base.json.mjs +132 -869
  88. package/constants/deploy-data/deploy-data-ethMainnet.json.cjs +1 -1
  89. package/constants/deploy-data/deploy-data-ethMainnet.json.mjs +132 -871
  90. package/constants/deploy-data/deploy-data-localhost.json.cjs +1 -1
  91. package/constants/deploy-data/deploy-data-localhost.json.mjs +6 -808
  92. package/constants/deploy-data/deploy-data-optimism.json.cjs +1 -1
  93. package/constants/deploy-data/deploy-data-optimism.json.mjs +132 -869
  94. package/constants/deploy-data/deploy-data-optimismTest.json.cjs +1 -0
  95. package/constants/deploy-data/deploy-data-optimismTest.json.mjs +3565 -0
  96. package/constants/deploy-data/deploy-data-polygon.json.cjs +1 -1
  97. package/constants/deploy-data/deploy-data-polygon.json.mjs +132 -869
  98. package/constants/deploy-data/deploy-data-sepoliaTestnet.json.cjs +1 -0
  99. package/constants/deploy-data/deploy-data-sepoliaTestnet.json.mjs +3561 -0
  100. package/constants/deploy-data/deploy-data-solana.json.cjs +1 -1
  101. package/constants/deploy-data/deploy-data-solana.json.mjs +1 -1
  102. package/constants/deploy-data/deploy-data-tempo.json.cjs +1 -0
  103. package/constants/deploy-data/deploy-data-tempo.json.mjs +3563 -0
  104. package/constants/deploy-data/deploy-data-tronMainnet.json.cjs +1 -1
  105. package/constants/deploy-data/deploy-data-tronMainnet.json.mjs +133 -870
  106. package/constants/deploy-data/deploy-data-tronNile.json.cjs +1 -1
  107. package/constants/deploy-data/deploy-data-tronNile.json.mjs +133 -870
  108. package/constants/deploy-data/index.d.ts +4 -1
  109. package/constants/events.constants.cjs +1 -1
  110. package/constants/events.constants.mjs +4 -1
  111. package/constants/fees.constants.cjs +1 -1
  112. package/constants/fees.constants.d.ts +5 -1
  113. package/constants/fees.constants.mjs +9 -5
  114. package/constants/index.cjs +1 -1
  115. package/constants/index.d.ts +2 -1
  116. package/constants/index.mjs +6 -2
  117. package/constants/kyc.constants.cjs +1 -1
  118. package/constants/kyc.constants.d.ts +1 -1
  119. package/constants/kyc.constants.mjs +38 -37
  120. package/constants/lifi.constants.cjs +1 -1
  121. package/constants/lifi.constants.d.ts +2 -0
  122. package/constants/lifi.constants.mjs +7 -2
  123. package/constants/mediaUrls.constants.cjs +1 -1
  124. package/constants/mediaUrls.constants.d.ts +7 -1
  125. package/constants/mediaUrls.constants.mjs +9 -3
  126. package/constants/price-impact.constants.cjs +1 -0
  127. package/constants/price-impact.constants.d.ts +2 -0
  128. package/constants/price-impact.constants.mjs +4 -0
  129. package/constants/protocol.constants.cjs +1 -1
  130. package/constants/protocol.constants.d.ts +4 -1
  131. package/constants/protocol.constants.mjs +2 -2
  132. package/constants/reorg-depths.constants.cjs +1 -1
  133. package/constants/reorg-depths.constants.d.ts +3 -1
  134. package/constants/reorg-depths.constants.mjs +3 -1
  135. package/constants/save-depths.cjs +1 -1
  136. package/constants/save-depths.d.ts +3 -1
  137. package/constants/save-depths.mjs +3 -1
  138. package/constants/server.constants.cjs +1 -1
  139. package/constants/server.constants.d.ts +33 -8
  140. package/constants/server.constants.mjs +44 -24
  141. package/constants/token-data/ERC20Registry.cjs +1 -1
  142. package/constants/token-data/ERC20Registry.mjs +20 -9
  143. package/constants/token-data/arbMainnetRegistry.json.cjs +1 -1
  144. package/constants/token-data/arbMainnetRegistry.json.mjs +24 -24
  145. package/constants/token-data/arbMainnetRegistryFixed.json.cjs +1 -1
  146. package/constants/token-data/arbMainnetRegistryFixed.json.mjs +24 -24
  147. package/constants/token-data/arcTestnetRegistry.json.cjs +1 -1
  148. package/constants/token-data/arcTestnetRegistry.json.mjs +3 -3
  149. package/constants/token-data/baseRegistry.json.cjs +1 -1
  150. package/constants/token-data/baseRegistry.json.mjs +20 -12
  151. package/constants/token-data/baseRegistryFixed.json.cjs +1 -1
  152. package/constants/token-data/baseRegistryFixed.json.mjs +18 -10
  153. package/constants/token-data/ethMainnetRegistry.json.cjs +1 -1
  154. package/constants/token-data/ethMainnetRegistry.json.mjs +38 -38
  155. package/constants/token-data/ethMainnetRegistryFixed.json.cjs +1 -1
  156. package/constants/token-data/ethMainnetRegistryFixed.json.mjs +38 -38
  157. package/constants/token-data/localhostRegistry.json.cjs +1 -1
  158. package/constants/token-data/localhostRegistry.json.mjs +211 -211
  159. package/constants/token-data/optimismRegistry.json.cjs +1 -1
  160. package/constants/token-data/optimismRegistry.json.mjs +36 -28
  161. package/constants/token-data/optimismRegistryFixed.json.cjs +1 -1
  162. package/constants/token-data/optimismRegistryFixed.json.mjs +36 -28
  163. package/constants/token-data/polygonRegistry.json.cjs +1 -1
  164. package/constants/token-data/polygonRegistry.json.mjs +34 -26
  165. package/constants/token-data/polygonRegistryFixed.json.cjs +1 -1
  166. package/constants/token-data/polygonRegistryFixed.json.mjs +34 -26
  167. package/constants/token-data/sepoliaTestnetRegistry.json.cjs +1 -0
  168. package/constants/token-data/sepoliaTestnetRegistry.json.mjs +21 -0
  169. package/constants/token-data/solanaMainnetRegistry.json.cjs +1 -1
  170. package/constants/token-data/solanaMainnetRegistry.json.mjs +1 -1
  171. package/constants/token-data/tempoRegistry.json.cjs +1 -0
  172. package/constants/token-data/tempoRegistry.json.mjs +37 -0
  173. package/constants/token-data/tronMainnetRegistry.json.cjs +1 -1
  174. package/constants/token-data/tronMainnetRegistry.json.mjs +26 -15
  175. package/constants/token-data/tronNileRegistry.json.cjs +1 -1
  176. package/constants/token-data/tronNileRegistry.json.mjs +2 -2
  177. package/constants/tokens.constants.cjs +1 -1
  178. package/constants/tokens.constants.d.ts +1 -0
  179. package/constants/tokens.constants.mjs +10 -3
  180. package/constants/vite.constants.cjs +1 -1
  181. package/constants/vite.constants.mjs +23 -5
  182. package/constants/wallet.constants.cjs +1 -1
  183. package/constants/wallet.constants.d.ts +1 -1
  184. package/constants/wallet.constants.mjs +2 -18
  185. package/crypto/babyJub.d.ts +1 -1
  186. package/crypto/ecdh-dual-path.cjs +1 -0
  187. package/crypto/ecdh-dual-path.d.ts +13 -0
  188. package/crypto/ecdh-dual-path.mjs +39 -0
  189. package/crypto/ecdh-sealed-keys.cjs +1 -0
  190. package/crypto/ecdh-sealed-keys.d.ts +22 -0
  191. package/crypto/ecdh-sealed-keys.mjs +33 -0
  192. package/crypto/ecdh.cjs +1 -0
  193. package/crypto/ecdh.d.ts +2 -0
  194. package/crypto/ecdh.mjs +9 -0
  195. package/crypto/eddsa.cjs +1 -0
  196. package/crypto/eddsa.d.ts +8 -0
  197. package/crypto/eddsa.mjs +12 -0
  198. package/crypto/index.cjs +1 -1
  199. package/crypto/index.d.ts +4 -0
  200. package/crypto/index.mjs +4 -0
  201. package/crypto/preProcessing.cjs +1 -1
  202. package/crypto/preProcessing.d.ts +1 -1
  203. package/crypto/preProcessing.mjs +10 -8
  204. package/data-structures/AccountActions/AccountActions.cjs +1 -1
  205. package/data-structures/AccountActions/AccountActions.mjs +3 -2
  206. package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.cjs +1 -1
  207. package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.mjs +2 -3
  208. package/data-structures/Hinkal/Hinkal.cjs +1 -1
  209. package/data-structures/Hinkal/Hinkal.d.ts +16 -21
  210. package/data-structures/Hinkal/Hinkal.mjs +144 -160
  211. package/data-structures/Hinkal/IHinkal.d.ts +13 -19
  212. package/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
  213. package/data-structures/Hinkal/handleAutoDepositBack.mjs +15 -15
  214. package/data-structures/Hinkal/hinkalClaimUtxo.cjs +1 -1
  215. package/data-structures/Hinkal/hinkalClaimUtxo.d.ts +1 -2
  216. package/data-structures/Hinkal/hinkalClaimUtxo.mjs +49 -47
  217. package/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
  218. package/data-structures/Hinkal/hinkalDeposit.d.ts +5 -3
  219. package/data-structures/Hinkal/hinkalDeposit.mjs +106 -50
  220. package/data-structures/Hinkal/hinkalDepositAndBridge.cjs +1 -1
  221. package/data-structures/Hinkal/hinkalDepositAndBridge.d.ts +1 -1
  222. package/data-structures/Hinkal/hinkalDepositAndBridge.mjs +94 -87
  223. package/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
  224. package/data-structures/Hinkal/hinkalDepositAndWithdraw.d.ts +3 -2
  225. package/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +48 -48
  226. package/data-structures/Hinkal/hinkalDepositOnChainUtxos.cjs +1 -1
  227. package/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +41 -63
  228. package/data-structures/Hinkal/hinkalPalEvmDeposit.cjs +1 -0
  229. package/data-structures/Hinkal/hinkalPalEvmDeposit.d.ts +9 -0
  230. package/data-structures/Hinkal/hinkalPalEvmDeposit.mjs +19 -0
  231. package/data-structures/Hinkal/hinkalPalSolanaDepositPrepare.cjs +1 -0
  232. package/data-structures/Hinkal/hinkalPalSolanaDepositPrepare.d.ts +9 -0
  233. package/data-structures/Hinkal/hinkalPalSolanaDepositPrepare.mjs +18 -0
  234. package/data-structures/Hinkal/hinkalPalTronDepositPrepare.cjs +1 -0
  235. package/data-structures/Hinkal/hinkalPalTronDepositPrepare.d.ts +9 -0
  236. package/data-structures/Hinkal/hinkalPalTronDepositPrepare.mjs +17 -0
  237. package/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
  238. package/data-structures/Hinkal/hinkalPrivateWallet.mjs +46 -50
  239. package/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
  240. package/data-structures/Hinkal/hinkalProoflessDeposit.d.ts +4 -1
  241. package/data-structures/Hinkal/hinkalProoflessDeposit.mjs +84 -128
  242. package/data-structures/Hinkal/hinkalProoflessDeposit.utils.cjs +1 -0
  243. package/data-structures/Hinkal/hinkalProoflessDeposit.utils.d.ts +7 -0
  244. package/data-structures/Hinkal/hinkalProoflessDeposit.utils.mjs +51 -0
  245. package/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.cjs +1 -0
  246. package/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.d.ts +6 -0
  247. package/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.mjs +128 -0
  248. package/data-structures/Hinkal/hinkalSolanaClaimUtxo.cjs +1 -1
  249. package/data-structures/Hinkal/hinkalSolanaClaimUtxo.d.ts +2 -2
  250. package/data-structures/Hinkal/hinkalSolanaClaimUtxo.mjs +68 -69
  251. package/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
  252. package/data-structures/Hinkal/hinkalSolanaDeposit.d.ts +4 -3
  253. package/data-structures/Hinkal/hinkalSolanaDeposit.mjs +96 -57
  254. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  255. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +20 -2
  256. package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +114 -122
  257. package/data-structures/Hinkal/hinkalSolanaProoflessDeposit.cjs +1 -1
  258. package/data-structures/Hinkal/hinkalSolanaProoflessDeposit.d.ts +1 -1
  259. package/data-structures/Hinkal/hinkalSolanaProoflessDeposit.mjs +12 -17
  260. package/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -1
  261. package/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +38 -40
  262. package/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
  263. package/data-structures/Hinkal/hinkalSolanaProxySwap.d.ts +4 -3
  264. package/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +68 -52
  265. package/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
  266. package/data-structures/Hinkal/hinkalSolanaSwap.d.ts +2 -2
  267. package/data-structures/Hinkal/hinkalSolanaSwap.mjs +67 -72
  268. package/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
  269. package/data-structures/Hinkal/hinkalSolanaTransfer.d.ts +2 -1
  270. package/data-structures/Hinkal/hinkalSolanaTransfer.mjs +56 -61
  271. package/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
  272. package/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +38 -48
  273. package/data-structures/Hinkal/hinkalSwap.cjs +1 -1
  274. package/data-structures/Hinkal/hinkalSwap.mjs +32 -42
  275. package/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
  276. package/data-structures/Hinkal/hinkalTransfer.mjs +41 -54
  277. package/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
  278. package/data-structures/Hinkal/hinkalWithdraw.mjs +43 -56
  279. package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
  280. package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +87 -108
  281. package/data-structures/Hinkal/index.cjs +1 -1
  282. package/data-structures/Hinkal/index.d.ts +5 -0
  283. package/data-structures/Hinkal/index.mjs +5 -0
  284. package/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.cjs +1 -0
  285. package/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.d.ts +22 -0
  286. package/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.mjs +34 -0
  287. package/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
  288. package/data-structures/Hinkal/resetMerkleTrees.mjs +33 -40
  289. package/data-structures/IndexedDB/activity-db.cjs +1 -1
  290. package/data-structures/IndexedDB/activity-db.mjs +25 -24
  291. package/data-structures/IndexedDB/contact-db.cjs +1 -1
  292. package/data-structures/IndexedDB/contact-db.d.ts +1 -0
  293. package/data-structures/IndexedDB/contact-db.mjs +30 -16
  294. package/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs +1 -1
  295. package/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.d.ts +1 -1
  296. package/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.mjs +4 -4
  297. package/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +1 -1
  298. package/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +37 -34
  299. package/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
  300. package/data-structures/TokenDBs/EventsPublicTokensDB.d.ts +2 -0
  301. package/data-structures/TokenDBs/EventsPublicTokensDB.mjs +65 -50
  302. package/data-structures/TokenDBs/PrivateTokensDB.cjs +1 -1
  303. package/data-structures/TokenDBs/PrivateTokensDB.mjs +2 -1
  304. package/data-structures/WalletManager/WalletManager.cjs +1 -0
  305. package/data-structures/WalletManager/WalletManager.d.ts +51 -0
  306. package/data-structures/WalletManager/WalletManager.mjs +99 -0
  307. package/data-structures/WalletManager/index.cjs +1 -0
  308. package/data-structures/WalletManager/index.d.ts +1 -0
  309. package/data-structures/WalletManager/index.mjs +1 -0
  310. package/data-structures/crypto-keys/decodeUTXO.cjs +1 -1
  311. package/data-structures/crypto-keys/decodeUTXO.d.ts +5 -3
  312. package/data-structures/crypto-keys/decodeUTXO.mjs +49 -46
  313. package/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -1
  314. package/data-structures/crypto-keys/encryptDecryptUtxo.mjs +32 -40
  315. package/data-structures/crypto-keys/keys.cjs +1 -1
  316. package/data-structures/crypto-keys/keys.d.ts +51 -24
  317. package/data-structures/crypto-keys/keys.mjs +104 -43
  318. package/data-structures/custom-token-registry/CustomTokenRegistry.cjs +1 -1
  319. package/data-structures/custom-token-registry/CustomTokenRegistry.mjs +2 -2
  320. package/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
  321. package/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +2 -2
  322. package/data-structures/event-service/evm/BlockchainEventEmitter.mjs +4 -4
  323. package/data-structures/event-service/evm/PollingBlockchainEventEmitter.cjs +1 -1
  324. package/data-structures/event-service/evm/PollingBlockchainEventEmitter.mjs +1 -1
  325. package/data-structures/event-service/helpers/ClientEventHelper.cjs +1 -1
  326. package/data-structures/event-service/helpers/ClientEventHelper.mjs +3 -3
  327. package/data-structures/event-service/helpers/PollingEventHelper.cjs +1 -1
  328. package/data-structures/event-service/helpers/PollingEventHelper.d.ts +2 -0
  329. package/data-structures/event-service/helpers/PollingEventHelper.mjs +7 -3
  330. package/data-structures/event-service/index.cjs +1 -1
  331. package/data-structures/event-service/index.d.ts +0 -3
  332. package/data-structures/event-service/index.mjs +0 -3
  333. package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.cjs +1 -1
  334. package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.mjs +1 -1
  335. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.cjs +1 -1
  336. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.d.ts +2 -2
  337. package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.mjs +5 -5
  338. package/data-structures/index.cjs +1 -1
  339. package/data-structures/index.d.ts +1 -0
  340. package/data-structures/index.mjs +10 -10
  341. package/data-structures/merkle-tree/index.cjs +1 -1
  342. package/data-structures/merkle-tree/index.d.ts +0 -1
  343. package/data-structures/merkle-tree/index.mjs +0 -1
  344. package/data-structures/provider-adapter/IProviderAdapter.d.ts +6 -0
  345. package/data-structures/snapshot/SnapshotFetcherService.cjs +1 -1
  346. package/data-structures/snapshot/SnapshotFetcherService.d.ts +0 -2
  347. package/data-structures/snapshot/SnapshotFetcherService.mjs +0 -6
  348. package/data-structures/snapshot/index.cjs +1 -1
  349. package/data-structures/snapshot/index.d.ts +0 -3
  350. package/data-structures/snapshot/index.mjs +0 -3
  351. package/data-structures/utxo/Utxo.cjs +1 -1
  352. package/data-structures/utxo/Utxo.d.ts +16 -10
  353. package/data-structures/utxo/Utxo.mjs +40 -38
  354. package/error-handling/customErrors/HttpError.cjs +1 -0
  355. package/error-handling/customErrors/HttpError.d.ts +4 -0
  356. package/error-handling/customErrors/HttpError.mjs +8 -0
  357. package/error-handling/customErrors/index.cjs +1 -1
  358. package/error-handling/customErrors/index.d.ts +1 -0
  359. package/error-handling/customErrors/index.mjs +1 -0
  360. package/error-handling/error-codes.constants.cjs +1 -1
  361. package/error-handling/error-codes.constants.d.ts +11 -0
  362. package/error-handling/error-codes.constants.mjs +13 -2
  363. package/error-handling/index.cjs +1 -1
  364. package/error-handling/index.mjs +1 -0
  365. package/error-handling/retrySolanaError.cjs +1 -0
  366. package/error-handling/retrySolanaError.d.ts +1 -0
  367. package/error-handling/retrySolanaError.mjs +4 -0
  368. package/externalABIs/index.cjs +1 -1
  369. package/externalABIs/index.d.ts +1 -16
  370. package/externalABIs/index.mjs +4 -5
  371. package/functions/auto-deposit-back-helpers/get-gas-token-records.d.ts +1 -1
  372. package/functions/auto-deposit-back-helpers/get-tokens-to-deposit-back.d.ts +1 -1
  373. package/functions/index.cjs +1 -1
  374. package/functions/index.mjs +28 -19
  375. package/functions/kyc/checkTokenLimitsUSD.cjs +1 -1
  376. package/functions/kyc/checkTokenLimitsUSD.mjs +15 -15
  377. package/functions/kyc/index.cjs +1 -1
  378. package/functions/kyc/index.d.ts +0 -1
  379. package/functions/kyc/index.mjs +0 -1
  380. package/functions/pre-transaction/addressTableLookup.cjs +1 -1
  381. package/functions/pre-transaction/addressTableLookup.mjs +21 -18
  382. package/functions/pre-transaction/buildCommitmentValidationData.cjs +1 -0
  383. package/functions/pre-transaction/buildCommitmentValidationData.d.ts +4 -0
  384. package/functions/pre-transaction/buildCommitmentValidationData.mjs +58 -0
  385. package/functions/pre-transaction/calculateSolanaNullifierCount.cjs +1 -0
  386. package/functions/pre-transaction/calculateSolanaNullifierCount.d.ts +2 -0
  387. package/functions/pre-transaction/calculateSolanaNullifierCount.mjs +23 -0
  388. package/functions/pre-transaction/constructAdminData.cjs +1 -1
  389. package/functions/pre-transaction/constructAdminData.mjs +4 -4
  390. package/functions/pre-transaction/index.cjs +1 -1
  391. package/functions/pre-transaction/index.d.ts +2 -3
  392. package/functions/pre-transaction/index.mjs +3 -4
  393. package/functions/pre-transaction/outputUtxoProcessing.cjs +1 -1
  394. package/functions/pre-transaction/outputUtxoProcessing.d.ts +1 -1
  395. package/functions/pre-transaction/outputUtxoProcessing.mjs +22 -19
  396. package/functions/pre-transaction/recipientUtxoProcessing.cjs +1 -1
  397. package/functions/pre-transaction/recipientUtxoProcessing.mjs +11 -9
  398. package/functions/pre-transaction/sendInitNullifiersTransaction.cjs +1 -1
  399. package/functions/pre-transaction/sendInitNullifiersTransaction.mjs +9 -9
  400. package/functions/pre-transaction/sendV0Transaction.cjs +1 -1
  401. package/functions/pre-transaction/sendV0Transaction.mjs +45 -43
  402. package/functions/pre-transaction/solana-public-signals.cjs +1 -1
  403. package/functions/pre-transaction/solana-public-signals.d.ts +7 -6
  404. package/functions/pre-transaction/solana-public-signals.mjs +22 -19
  405. package/functions/pre-transaction/solana.cjs +1 -1
  406. package/functions/pre-transaction/solana.d.ts +0 -4
  407. package/functions/pre-transaction/solana.mjs +7 -27
  408. package/functions/pre-transaction/store-proof.cjs +1 -1
  409. package/functions/pre-transaction/store-proof.mjs +3 -3
  410. package/functions/private-wallet/emporium.helpers.cjs +1 -1
  411. package/functions/private-wallet/emporium.helpers.d.ts +14 -4
  412. package/functions/private-wallet/emporium.helpers.mjs +84 -74
  413. package/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
  414. package/functions/private-wallet/emporium.swap.helpers.mjs +6 -6
  415. package/functions/snarkjs/common.snarkjs.cjs +1 -1
  416. package/functions/snarkjs/common.snarkjs.d.ts +8 -13
  417. package/functions/snarkjs/common.snarkjs.mjs +65 -74
  418. package/functions/snarkjs/constant.cjs +1 -1
  419. package/functions/snarkjs/constant.d.ts +146 -426
  420. package/functions/snarkjs/constant.mjs +149 -430
  421. package/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
  422. package/functions/snarkjs/constructGeneralZkProof.d.ts +2 -3
  423. package/functions/snarkjs/constructGeneralZkProof.mjs +74 -57
  424. package/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
  425. package/functions/snarkjs/constructSolanaZkProof.d.ts +1 -2
  426. package/functions/snarkjs/constructSolanaZkProof.mjs +65 -37
  427. package/functions/snarkjs/fetchMerkleTreeSiblings.cjs +1 -1
  428. package/functions/snarkjs/fetchMerkleTreeSiblings.d.ts +1 -1
  429. package/functions/snarkjs/fetchMerkleTreeSiblings.mjs +6 -10
  430. package/functions/snarkjs/fetchOnChainRootHashes.cjs +1 -1
  431. package/functions/snarkjs/fetchOnChainRootHashes.d.ts +0 -1
  432. package/functions/snarkjs/fetchOnChainRootHashes.mjs +22 -7
  433. package/functions/snarkjs/generateCircomData.cjs +1 -1
  434. package/functions/snarkjs/generateCircomData.d.ts +2 -2
  435. package/functions/snarkjs/generateCircomData.mjs +29 -31
  436. package/functions/snarkjs/generateZkProof.cjs +1 -1
  437. package/functions/snarkjs/generateZkProof.mjs +20 -10
  438. package/functions/snarkjs/generateZkProofEnclave.cjs +1 -1
  439. package/functions/snarkjs/generateZkProofEnclave.mjs +15 -18
  440. package/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.cjs +1 -1
  441. package/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.d.ts +2 -9
  442. package/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.mjs +40 -94
  443. package/functions/snarkjs/getZKFiles.cjs +1 -1
  444. package/functions/snarkjs/getZKFiles.d.ts +1 -0
  445. package/functions/snarkjs/getZKFiles.mjs +2 -2
  446. package/functions/snarkjs/index.cjs +1 -1
  447. package/functions/snarkjs/index.d.ts +2 -1
  448. package/functions/snarkjs/index.mjs +2 -1
  449. package/functions/snarkjs/signedMessageHash.cjs +1 -0
  450. package/functions/snarkjs/signedMessageHash.d.ts +31 -0
  451. package/functions/snarkjs/signedMessageHash.mjs +49 -0
  452. package/functions/snarkjs/verifyCommitmentValidationData.cjs +1 -0
  453. package/functions/snarkjs/verifyCommitmentValidationData.d.ts +4 -0
  454. package/functions/snarkjs/verifyCommitmentValidationData.mjs +43 -0
  455. package/functions/utils/addresses.cjs +1 -1
  456. package/functions/utils/addresses.d.ts +2 -0
  457. package/functions/utils/addresses.mjs +12 -8
  458. package/functions/utils/aggregateTokenAmounts.cjs +1 -0
  459. package/functions/utils/aggregateTokenAmounts.d.ts +2 -0
  460. package/functions/utils/aggregateTokenAmounts.mjs +26 -0
  461. package/functions/utils/amounts.utils.cjs +1 -1
  462. package/functions/utils/amounts.utils.d.ts +0 -1
  463. package/functions/utils/amounts.utils.mjs +18 -18
  464. package/functions/utils/auth.utils.cjs +1 -0
  465. package/functions/utils/auth.utils.d.ts +5 -0
  466. package/functions/utils/auth.utils.mjs +7 -0
  467. package/functions/utils/bit.operations.cjs +1 -0
  468. package/functions/utils/bit.operations.d.ts +3 -0
  469. package/functions/utils/bit.operations.mjs +4 -0
  470. package/functions/utils/buildClaimableDepositPlan.cjs +1 -1
  471. package/functions/utils/buildClaimableDepositPlan.d.ts +3 -2
  472. package/functions/utils/buildClaimableDepositPlan.mjs +32 -24
  473. package/functions/utils/cacheFunctions.cjs +1 -1
  474. package/functions/utils/cacheFunctions.d.ts +0 -4
  475. package/functions/utils/cacheFunctions.mjs +33 -47
  476. package/functions/utils/create-provider.cjs +1 -1
  477. package/functions/utils/create-provider.d.ts +2 -3
  478. package/functions/utils/create-provider.mjs +9 -9
  479. package/functions/utils/customEnclaveFunctionsRegister.cjs +1 -0
  480. package/functions/utils/customEnclaveFunctionsRegister.d.ts +18 -0
  481. package/functions/utils/customEnclaveFunctionsRegister.mjs +8 -0
  482. package/functions/utils/deposit-claimable.utils.cjs +1 -0
  483. package/functions/utils/deposit-claimable.utils.d.ts +6 -0
  484. package/functions/utils/deposit-claimable.utils.mjs +106 -0
  485. package/functions/utils/dispatchBalanceRefreshes.cjs +1 -0
  486. package/functions/utils/dispatchBalanceRefreshes.d.ts +4 -0
  487. package/functions/utils/dispatchBalanceRefreshes.mjs +44 -0
  488. package/functions/utils/enclave-recipient-info-storage.cjs +1 -0
  489. package/functions/utils/enclave-recipient-info-storage.d.ts +2 -0
  490. package/functions/utils/enclave-recipient-info-storage.mjs +17 -0
  491. package/functions/utils/enclave-signature-storage.cjs +1 -1
  492. package/functions/utils/enclave-signature-storage.d.ts +1 -2
  493. package/functions/utils/enclave-signature-storage.mjs +6 -9
  494. package/functions/utils/enclave-utxo-storage.cjs +1 -1
  495. package/functions/utils/enclave-utxo-storage.d.ts +3 -2
  496. package/functions/utils/enclave-utxo-storage.mjs +18 -21
  497. package/functions/utils/encodeTokenWithId.cjs +1 -1
  498. package/functions/utils/encodeTokenWithId.mjs +1 -1
  499. package/functions/utils/encryptInputForEnclave.cjs +1 -1
  500. package/functions/utils/encryptInputForEnclave.mjs +17 -23
  501. package/functions/utils/enum.utils.cjs +1 -0
  502. package/functions/utils/enum.utils.mjs +12 -0
  503. package/functions/utils/erc20tokenFunctions.cjs +1 -1
  504. package/functions/utils/erc20tokenFunctions.d.ts +2 -0
  505. package/functions/utils/erc20tokenFunctions.mjs +26 -16
  506. package/functions/utils/evmNetworkFunctions.d.ts +1 -2
  507. package/functions/utils/fees.utils.cjs +1 -1
  508. package/functions/utils/fees.utils.d.ts +2 -1
  509. package/functions/utils/fees.utils.mjs +30 -16
  510. package/functions/utils/formatter.cjs +1 -0
  511. package/functions/utils/formatter.d.ts +1 -0
  512. package/functions/utils/formatter.mjs +15 -0
  513. package/functions/utils/getBlockExplorerUrl.cjs +1 -1
  514. package/functions/utils/getBlockExplorerUrl.mjs +1 -1
  515. package/functions/utils/getRecipientInfoFromUserKeys.cjs +1 -1
  516. package/functions/utils/getRecipientInfoFromUserKeys.d.ts +2 -0
  517. package/functions/utils/getRecipientInfoFromUserKeys.mjs +14 -9
  518. package/functions/utils/getUtxosFromReceipt.utils.cjs +1 -1
  519. package/functions/utils/getUtxosFromReceipt.utils.d.ts +1 -0
  520. package/functions/utils/getUtxosFromReceipt.utils.mjs +43 -27
  521. package/functions/utils/getUtxosFromReceiptSolana.cjs +1 -1
  522. package/functions/utils/getUtxosFromReceiptSolana.d.ts +1 -0
  523. package/functions/utils/getUtxosFromReceiptSolana.mjs +36 -21
  524. package/functions/utils/getWalletGroupKey.utils.cjs +1 -1
  525. package/functions/utils/getWalletGroupKey.utils.mjs +4 -1
  526. package/functions/utils/index.cjs +1 -1
  527. package/functions/utils/index.d.ts +14 -1
  528. package/functions/utils/index.mjs +21 -9
  529. package/functions/utils/lifi.utils.cjs +1 -0
  530. package/functions/utils/lifi.utils.d.ts +3 -0
  531. package/functions/utils/lifi.utils.mjs +30 -0
  532. package/functions/utils/mnemonics.cjs +1 -0
  533. package/functions/utils/mnemonics.d.ts +1 -0
  534. package/functions/utils/mnemonics.mjs +8 -0
  535. package/functions/utils/pay-routing.utils.cjs +1 -0
  536. package/functions/utils/pay-routing.utils.d.ts +4 -0
  537. package/functions/utils/pay-routing.utils.mjs +17 -0
  538. package/functions/utils/prepareHinkal.cjs +1 -1
  539. package/functions/utils/prepareHinkal.mjs +29 -29
  540. package/functions/utils/publicBalance.utils.cjs +1 -1
  541. package/functions/utils/publicBalance.utils.mjs +5 -5
  542. package/functions/utils/serialize-utxos.utils.cjs +1 -1
  543. package/functions/utils/serialize-utxos.utils.mjs +6 -2
  544. package/functions/utils/solana-memo.cjs +1 -0
  545. package/functions/utils/solana-memo.d.ts +3 -0
  546. package/functions/utils/solana-memo.mjs +15 -0
  547. package/functions/utils/solanaSendPreflight.utils.cjs +1 -0
  548. package/functions/utils/solanaSendPreflight.utils.d.ts +6 -0
  549. package/functions/utils/solanaSendPreflight.utils.mjs +21 -0
  550. package/functions/utils/string.utils.cjs +1 -1
  551. package/functions/utils/string.utils.mjs +1 -1
  552. package/functions/utils/time.utils.cjs +1 -1
  553. package/functions/utils/time.utils.d.ts +6 -0
  554. package/functions/utils/time.utils.mjs +23 -16
  555. package/functions/utils/token-check.utils.cjs +1 -1
  556. package/functions/utils/token-check.utils.d.ts +1 -0
  557. package/functions/utils/token-check.utils.mjs +9 -8
  558. package/functions/utils/transfer-claimable.utils.cjs +1 -0
  559. package/functions/utils/transfer-claimable.utils.d.ts +9 -0
  560. package/functions/utils/transfer-claimable.utils.mjs +93 -0
  561. package/functions/utils/tron.utils.cjs +1 -1
  562. package/functions/utils/tron.utils.d.ts +11 -1
  563. package/functions/utils/tron.utils.mjs +85 -40
  564. package/functions/utils/tx-confirmation.utils.cjs +1 -1
  565. package/functions/utils/tx-confirmation.utils.d.ts +1 -1
  566. package/functions/utils/tx-confirmation.utils.mjs +5 -5
  567. package/functions/utils/userAgent.cjs +1 -1
  568. package/functions/utils/userAgent.d.ts +1 -0
  569. package/functions/utils/userAgent.mjs +4 -1
  570. package/functions/web3/connectors.utils.cjs +1 -1
  571. package/functions/web3/connectors.utils.d.ts +1 -0
  572. package/functions/web3/connectors.utils.mjs +5 -2
  573. package/functions/web3/events/balanceChangedHandler.cjs +1 -1
  574. package/functions/web3/events/balanceChangedHandler.d.ts +2 -1
  575. package/functions/web3/events/balanceChangedHandler.mjs +3 -3
  576. package/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
  577. package/functions/web3/events/getInputUtxoAndBalance.d.ts +1 -1
  578. package/functions/web3/events/getInputUtxoAndBalance.mjs +21 -20
  579. package/functions/web3/events/getInputUtxosEnclave.cjs +1 -1
  580. package/functions/web3/events/getInputUtxosEnclave.d.ts +2 -1
  581. package/functions/web3/events/getInputUtxosEnclave.mjs +25 -18
  582. package/functions/web3/events/getShieldedBalance.cjs +1 -1
  583. package/functions/web3/events/getShieldedBalance.mjs +15 -17
  584. package/functions/web3/events/getTransactionLogEvents.cjs +1 -1
  585. package/functions/web3/events/getTransactionLogEvents.d.ts +8 -5
  586. package/functions/web3/events/getTransactionLogEvents.mjs +1 -1
  587. package/functions/web3/events/index.cjs +1 -1
  588. package/functions/web3/events/index.d.ts +0 -2
  589. package/functions/web3/events/index.mjs +0 -2
  590. package/functions/web3/functionCalls/constructBatchCall.cjs +1 -1
  591. package/functions/web3/functionCalls/constructBatchCall.d.ts +1 -0
  592. package/functions/web3/functionCalls/constructBatchCall.mjs +10 -2
  593. package/functions/web3/functionCalls/transactCallDirectTron.cjs +1 -1
  594. package/functions/web3/functionCalls/transactCallDirectTron.d.ts +4 -1
  595. package/functions/web3/functionCalls/transactCallDirectTron.mjs +89 -55
  596. package/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
  597. package/functions/web3/functionCalls/transactCallRelayer.d.ts +5 -4
  598. package/functions/web3/functionCalls/transactCallRelayer.mjs +17 -13
  599. package/functions/web3/getContractMetadata.cjs +1 -1
  600. package/functions/web3/getContractMetadata.mjs +1 -1
  601. package/functions/web3/getTokenHolder.cjs +1 -1
  602. package/functions/web3/getTokenHolder.mjs +1 -1
  603. package/functions/web3/index.cjs +1 -1
  604. package/functions/web3/index.d.ts +0 -1
  605. package/functions/web3/index.mjs +0 -3
  606. package/functions/web3/lifiAPI.cjs +1 -1
  607. package/functions/web3/lifiAPI.mjs +28 -19
  608. package/functions/web3/oneInchAPI.cjs +1 -1
  609. package/functions/web3/oneInchAPI.mjs +1 -1
  610. package/index.cjs +1 -1
  611. package/index.mjs +331 -309
  612. package/package.json +5 -2
  613. package/providers/EthersProviderAdapter.cjs +1 -1
  614. package/providers/EthersProviderAdapter.mjs +1 -1
  615. package/providers/SolanaProviderAdapter.cjs +1 -1
  616. package/providers/SolanaProviderAdapter.d.ts +10 -1
  617. package/providers/SolanaProviderAdapter.mjs +38 -2
  618. package/providers/TronProviderAdapter.cjs +1 -1
  619. package/providers/TronProviderAdapter.mjs +2 -2
  620. package/providers/WagmiProviderAdapter.cjs +1 -1
  621. package/providers/WagmiProviderAdapter.d.ts +3 -1
  622. package/providers/WagmiProviderAdapter.mjs +62 -52
  623. package/providers/prepareSolanaHinkal.cjs +1 -1
  624. package/providers/prepareSolanaHinkal.mjs +3 -3
  625. package/types/admin.types.cjs +1 -1
  626. package/types/admin.types.d.ts +1 -8
  627. package/types/admin.types.mjs +1 -1
  628. package/types/cache.types.cjs +1 -1
  629. package/types/cache.types.d.ts +2 -1
  630. package/types/cache.types.mjs +1 -1
  631. package/types/chains.types.cjs +1 -0
  632. package/types/chains.types.d.ts +11 -0
  633. package/types/chains.types.mjs +8 -0
  634. package/types/circom-data.types.d.ts +13 -0
  635. package/types/commitments.types.d.ts +0 -6
  636. package/types/contacts.types.d.ts +1 -0
  637. package/types/dashboard-account.cjs +1 -0
  638. package/types/dashboard-account.d.ts +101 -0
  639. package/types/dashboard-account.mjs +8 -0
  640. package/types/dashboard-payout.types.cjs +1 -0
  641. package/types/dashboard-payout.types.d.ts +29 -0
  642. package/types/dashboard-payout.types.mjs +8 -0
  643. package/types/dashboard-transaction.types.d.ts +22 -0
  644. package/types/ethereum-network.types.cjs +1 -1
  645. package/types/ethereum-network.types.d.ts +15 -18
  646. package/types/ethereum-network.types.mjs +1 -1
  647. package/types/events.types.cjs +1 -1
  648. package/types/events.types.d.ts +2 -3
  649. package/types/events.types.mjs +1 -1
  650. package/types/external-action.types.cjs +1 -1
  651. package/types/external-action.types.d.ts +2 -1
  652. package/types/external-action.types.mjs +1 -1
  653. package/types/hinkal.types.cjs +1 -1
  654. package/types/hinkal.types.d.ts +6 -17
  655. package/types/hinkal.types.mjs +16 -18
  656. package/types/index.cjs +1 -1
  657. package/types/index.d.ts +6 -0
  658. package/types/index.mjs +3 -0
  659. package/types/pay-activities.types.d.ts +3 -0
  660. package/types/pay-routing.types.d.ts +9 -0
  661. package/types/scheduled-transactions.types.d.ts +7 -0
  662. package/types/solana.types.d.ts +5 -6
  663. package/types/token-prices.types.d.ts +4 -0
  664. package/types/transaction.types.d.ts +1 -3
  665. package/webworker/WorkerWrapper.cjs +1 -0
  666. package/webworker/WorkerWrapper.d.ts +9 -0
  667. package/webworker/WorkerWrapper.mjs +22 -0
  668. package/webworker/logError-fCJ4HXQz.js +22 -0
  669. package/webworker/package.json +112 -0
  670. package/webworker/performTaskWithWorker.cjs +1 -1
  671. package/webworker/performTaskWithWorker.mjs +4 -4
  672. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
  673. package/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
  674. package/webworker/snarkjsWorker/snarkjsWorkerLogic.d.ts +0 -3
  675. package/webworker/snarkjsWorker/snarkjsWorkerNode.d.ts +0 -0
  676. package/webworker/snarkjsWorkerNode.cjs +3 -0
  677. package/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
  678. package/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
  679. package/webworker/utxoWorker/utxoWorkerLogic.d.ts +0 -3
  680. package/webworker/utxoWorker/utxoWorkerNode.d.ts +0 -0
  681. package/webworker/utxoWorkerNode.cjs +1 -0
  682. package/webworker/viteWorkerURL.constant.cjs +4 -4
  683. package/webworker/viteWorkerURL.constant.mjs +4 -4
  684. package/webworker/worker.registry.cjs +1 -1
  685. package/webworker/worker.registry.mjs +6 -3
  686. package/webworker/workerFactory.cjs +1 -1
  687. package/webworker/workerFactory.d.ts +4 -1
  688. package/webworker/workerFactory.mjs +31 -17
  689. package/webworker/workerProxy-BNBqYien.js +130 -0
  690. package/webworker/workerProxy.d.ts +1 -1
  691. package/webworker/workerThreadsPatch.d.ts +1 -0
  692. package/webworker/zkProofWorker/zkProofWorker.types.cjs +1 -1
  693. package/webworker/zkProofWorker/zkProofWorker.types.d.ts +3 -13
  694. package/webworker/zkProofWorker/zkProofWorker.types.mjs +1 -1
  695. package/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
  696. package/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
  697. package/webworker/zkProofWorker/zkProofWorkerLogic.d.ts +1 -5
  698. package/webworker/zkProofWorker/zkProofWorkerNode.d.ts +0 -0
  699. package/webworker/zkProofWorkerNode.cjs +1 -0
  700. package/API/solana-calls.cjs +0 -1
  701. package/API/solana-calls.d.ts +0 -38
  702. package/API/solana-calls.mjs +0 -8
  703. package/constants/non-circular-tokens.constants.cjs +0 -1
  704. package/constants/non-circular-tokens.constants.d.ts +0 -1
  705. package/constants/non-circular-tokens.constants.mjs +0 -4
  706. package/data-structures/Hinkal/hinkalCheckSolanaTokenRegistry.cjs +0 -1
  707. package/data-structures/Hinkal/hinkalCheckSolanaTokenRegistry.d.ts +0 -3
  708. package/data-structures/Hinkal/hinkalCheckSolanaTokenRegistry.mjs +0 -15
  709. package/data-structures/Hinkal/hinkalCheckTokenRegistry.cjs +0 -1
  710. package/data-structures/Hinkal/hinkalCheckTokenRegistry.d.ts +0 -4
  711. package/data-structures/Hinkal/hinkalCheckTokenRegistry.mjs +0 -18
  712. package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.cjs +0 -1
  713. package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.d.ts +0 -35
  714. package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.mjs +0 -75
  715. package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.cjs +0 -1
  716. package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.d.ts +0 -30
  717. package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.mjs +0 -81
  718. package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.cjs +0 -1
  719. package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.d.ts +0 -35
  720. package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.mjs +0 -76
  721. package/data-structures/merkle-tree/getPatchedAccessTokenMerkleTree.cjs +0 -1
  722. package/data-structures/merkle-tree/getPatchedAccessTokenMerkleTree.d.ts +0 -2
  723. package/data-structures/merkle-tree/getPatchedAccessTokenMerkleTree.mjs +0 -13
  724. package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.cjs +0 -1
  725. package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.d.ts +0 -8
  726. package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.mjs +0 -29
  727. package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.cjs +0 -1
  728. package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.d.ts +0 -8
  729. package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.mjs +0 -30
  730. package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.cjs +0 -1
  731. package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.d.ts +0 -8
  732. package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.mjs +0 -26
  733. package/externalABIs/transactionsProver.json.cjs +0 -1
  734. package/externalABIs/transactionsProver.json.mjs +0 -43
  735. package/functions/pre-transaction/getKycAndSignatureData.cjs +0 -1
  736. package/functions/pre-transaction/getKycAndSignatureData.d.ts +0 -5
  737. package/functions/pre-transaction/getKycAndSignatureData.mjs +0 -12
  738. package/functions/pre-transaction/getSignatureDataForTransact.cjs +0 -1
  739. package/functions/pre-transaction/getSignatureDataForTransact.d.ts +0 -3
  740. package/functions/pre-transaction/getSignatureDataForTransact.mjs +0 -6
  741. package/functions/pre-transaction/initTokenLimitIfNeeded.cjs +0 -1
  742. package/functions/pre-transaction/initTokenLimitIfNeeded.d.ts +0 -3
  743. package/functions/pre-transaction/initTokenLimitIfNeeded.mjs +0 -17
  744. package/functions/pre-transaction/outputApprovalDataProcessing.cjs +0 -1
  745. package/functions/pre-transaction/outputApprovalDataProcessing.d.ts +0 -10
  746. package/functions/pre-transaction/outputApprovalDataProcessing.mjs +0 -22
  747. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs +0 -1
  748. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.d.ts +0 -6
  749. package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.mjs +0 -11
  750. package/functions/snarkjs/constructEmporiumProof.cjs +0 -1
  751. package/functions/snarkjs/constructEmporiumProof.d.ts +0 -13
  752. package/functions/snarkjs/constructEmporiumProof.mjs +0 -74
  753. package/functions/utils/processUseApprovalUtxoData.cjs +0 -1
  754. package/functions/utils/processUseApprovalUtxoData.d.ts +0 -3
  755. package/functions/utils/processUseApprovalUtxoData.mjs +0 -13
  756. package/functions/web3/events/balanceChangedCustomHandler.cjs +0 -1
  757. package/functions/web3/events/balanceChangedCustomHandler.d.ts +0 -2
  758. package/functions/web3/events/balanceChangedCustomHandler.mjs +0 -9
  759. package/functions/web3/events/getApprovedBalance.cjs +0 -1
  760. package/functions/web3/events/getApprovedBalance.d.ts +0 -6
  761. package/functions/web3/events/getApprovedBalance.mjs +0 -37
  762. package/functions/web3/functionCalls/accessTokenCalls.cjs +0 -1
  763. package/functions/web3/functionCalls/accessTokenCalls.d.ts +0 -2
  764. package/functions/web3/functionCalls/accessTokenCalls.mjs +0 -19
  765. package/functions/web3/tron-wagmi-adapter.cjs +0 -1
  766. package/functions/web3/tron-wagmi-adapter.d.ts +0 -8
  767. package/functions/web3/tron-wagmi-adapter.mjs +0 -27
  768. package/providers/CustomEthersProvider.d.ts +0 -10
  769. package/webworker/snarkjsWorker/snarkjsWorkerLogic.cjs +0 -1
  770. package/webworker/snarkjsWorker/snarkjsWorkerLogic.mjs +0 -30
  771. package/webworker/utxoWorker/utxoWorkerLogic.cjs +0 -1
  772. package/webworker/utxoWorker/utxoWorkerLogic.mjs +0 -69
  773. package/webworker/workerProxy.cjs +0 -1
  774. package/webworker/workerProxy.mjs +0 -33
  775. package/webworker/zkProofWorker/zkProofWorkerLogic.cjs +0 -1
  776. package/webworker/zkProofWorker/zkProofWorkerLogic.mjs +0 -45
@@ -0,0 +1,39 @@
1
+ import { convertBigIntToBytes32 as e } from "../functions/utils/bytes32.utils.mjs";
2
+ import { ethers as t } from "ethers";
3
+ import { secp256k1 as n } from "@noble/curves/secp256k1.js";
4
+ import { hkdf as r } from "@noble/hashes/hkdf.js";
5
+ import { sha256 as i } from "@noble/hashes/sha2.js";
6
+ import { randomBytes as a } from "@noble/hashes/utils.js";
7
+ //#region libs/shared/common/src/crypto/ecdh-dual-path.ts
8
+ var o = (e, t) => r(i, n.getSharedSecret(e, t).slice(1, 33), void 0, void 0, 32), s = (e, t) => {
9
+ if (e.length !== t.length) throw Error("xor: length mismatch");
10
+ let n = new Uint8Array(e.length);
11
+ for (let r = 0; r < e.length; r += 1) n[r] = e[r] ^ t[r];
12
+ return n;
13
+ }, c = async (e, t, n) => {
14
+ let r = new Uint8Array(e), i = new Uint8Array(t), a = new Uint8Array(n), o = await crypto.subtle.importKey("raw", r, { name: "AES-GCM" }, !1, ["encrypt"]);
15
+ return new Uint8Array(await crypto.subtle.encrypt({
16
+ name: "AES-GCM",
17
+ iv: i
18
+ }, o, a));
19
+ }, l = async (e, t, n) => {
20
+ let r = new Uint8Array(e), i = new Uint8Array(t), a = new Uint8Array(n), o = await crypto.subtle.importKey("raw", r, { name: "AES-GCM" }, !1, ["decrypt"]);
21
+ return new Uint8Array(await crypto.subtle.decrypt({
22
+ name: "AES-GCM",
23
+ iv: i
24
+ }, o, a));
25
+ }, u = async (r, i, l, u) => {
26
+ let d = n.utils.randomSecretKey(), f = BigInt(t.hexlify(d)), p = t.hexlify(i.publicKey), m = n.Point.fromHex(p.startsWith("0x") ? p.slice(2) : p).multiply(f), h = t.getBytes(`0x${m.toHex(!1)}`), g = n.Point.Fn.ORDER, _ = BigInt(t.hexlify(i.privateKey)) * f % g, v = new Uint8Array(e(_)), y = o(v, l), b = o(v, u), x = a(32), S = a(12), C = await c(x, S, r);
27
+ return {
28
+ blindedSenderKey: h,
29
+ wrapKeyReceiver1: s(x, y),
30
+ wrapKeyReceiver2: s(x, b),
31
+ ciphertext: C,
32
+ nonce: S
33
+ };
34
+ }, d = async (e, t, n, r, i) => {
35
+ let a = await l(s(r, o(t, n)), i, e);
36
+ return new TextDecoder().decode(a);
37
+ };
38
+ //#endregion
39
+ export { d as decryptDualPath, u as encryptDualPath };
@@ -0,0 +1 @@
1
+ const e=require(`../_virtual/_rolldown/runtime.cjs`);let t=require(`ethers`),n=require(`libsodium-wrappers`);n=e.__toESM(n);var r=()=>n.default.crypto_box_SEALBYTES+n.default.crypto_secretbox_KEYBYTES,i=({nonce:e,sealedKeys:t,ciphertext:n})=>{let i=t.length,a=new Uint8Array(1+e.length+i*r()+n.length),o=0;return a[o]=i,o+=1,a.set(e,o),o+=e.length,t.forEach(e=>{a.set(e,o),o+=e.length}),a.set(n,o),a},a=e=>{let t=n.default.crypto_secretbox_NONCEBYTES,i=r(),a=0,o=e[a];a+=1;let s=e.slice(a,a+t);a+=t;let c=[];for(let t=0;t<o;t+=1)c.push(e.slice(a,a+i)),a+=i;return{nonce:s,sealedKeys:c,ciphertext:e.slice(a)}},o=(e,r)=>{let a=n.default.crypto_secretbox_keygen(),o=n.default.randombytes_buf(n.default.crypto_secretbox_NONCEBYTES),s=n.default.crypto_secretbox_easy(e,o,a);return i({nonce:o,sealedKeys:r.map(e=>n.default.crypto_box_seal(a,t.ethers.getBytes(e))),ciphertext:s})},s=(e,r,i,o)=>{let{nonce:s,sealedKeys:c,ciphertext:l}=a(e),u=n.default.crypto_box_seal_open(c[o],t.ethers.getBytes(i),t.ethers.getBytes(r)),d=n.default.crypto_secretbox_open_easy(l,s,u);return Buffer.from(d)};exports.decryptSealedKeys=s,exports.encryptSealedKeys=o,exports.pack=i,exports.unpack=a;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Multi-recipient encryption: encrypt the body ONCE with a random content key
3
+ * (XSalsa20-Poly1305 via crypto_secretbox), then crypto_box_seal that 32-byte
4
+ * content key once per recipient. Each recipient opens its sealed key and decrypts
5
+ * the shared body, so message size does not scale with the number of recipients.
6
+ *
7
+ * Everything is packed into a single Uint8Array:
8
+ * [ count (1 byte) ][ nonce (NONCEBYTES) ][ sealedKey_0 ]...[ sealedKey_n ][ ciphertext ]
9
+ * Each sealed key has a fixed length (crypto_box_SEALBYTES + content-key size).
10
+ *
11
+ * Public/private keys are X25519 (libsodium crypto_box) keys in hex, matching ecdh.ts.
12
+ */
13
+ interface SealedParts {
14
+ nonce: Uint8Array;
15
+ sealedKeys: Uint8Array[];
16
+ ciphertext: Uint8Array;
17
+ }
18
+ export declare const pack: ({ nonce, sealedKeys, ciphertext }: SealedParts) => Uint8Array;
19
+ export declare const unpack: (packed: Uint8Array) => SealedParts;
20
+ export declare const encryptSealedKeys: (msgBytes: Uint8Array, recipientPublicKeys: string[]) => Uint8Array;
21
+ export declare const decryptSealedKeys: (packed: Uint8Array, privateKey: string, publicKey: string, recipientIndex: number) => Buffer;
22
+ export {};
@@ -0,0 +1,33 @@
1
+ import { ethers as e } from "ethers";
2
+ import t from "libsodium-wrappers";
3
+ //#region libs/shared/common/src/crypto/ecdh-sealed-keys.ts
4
+ var n = () => t.crypto_box_SEALBYTES + t.crypto_secretbox_KEYBYTES, r = ({ nonce: e, sealedKeys: t, ciphertext: r }) => {
5
+ let i = t.length, a = new Uint8Array(1 + e.length + i * n() + r.length), o = 0;
6
+ return a[o] = i, o += 1, a.set(e, o), o += e.length, t.forEach((e) => {
7
+ a.set(e, o), o += e.length;
8
+ }), a.set(r, o), a;
9
+ }, i = (e) => {
10
+ let r = t.crypto_secretbox_NONCEBYTES, i = n(), a = 0, o = e[a];
11
+ a += 1;
12
+ let s = e.slice(a, a + r);
13
+ a += r;
14
+ let c = [];
15
+ for (let t = 0; t < o; t += 1) c.push(e.slice(a, a + i)), a += i;
16
+ return {
17
+ nonce: s,
18
+ sealedKeys: c,
19
+ ciphertext: e.slice(a)
20
+ };
21
+ }, a = (n, i) => {
22
+ let a = t.crypto_secretbox_keygen(), o = t.randombytes_buf(t.crypto_secretbox_NONCEBYTES), s = t.crypto_secretbox_easy(n, o, a);
23
+ return r({
24
+ nonce: o,
25
+ sealedKeys: i.map((n) => t.crypto_box_seal(a, e.getBytes(n))),
26
+ ciphertext: s
27
+ });
28
+ }, o = (n, r, a, o) => {
29
+ let { nonce: s, sealedKeys: c, ciphertext: l } = i(n), u = t.crypto_box_seal_open(c[o], e.getBytes(a), e.getBytes(r)), d = t.crypto_secretbox_open_easy(l, s, u);
30
+ return Buffer.from(d);
31
+ };
32
+ //#endregion
33
+ export { o as decryptSealedKeys, a as encryptSealedKeys, r as pack, i as unpack };
@@ -0,0 +1 @@
1
+ const e=require(`../_virtual/_rolldown/runtime.cjs`);let t=require(`ethers`),n=require(`libsodium-wrappers`);n=e.__toESM(n);var r=(e,r)=>n.default.crypto_box_seal(e,t.ethers.getBytes(r)),i=(e,r,i)=>{let a=n.default.crypto_box_seal_open(e,t.ethers.getBytes(i),t.ethers.getBytes(r));return Buffer.from(a)};exports.decryptBoxSeal=i,exports.encryptBoxSeal=r;
@@ -0,0 +1,2 @@
1
+ export declare const encryptBoxSeal: (msgBytes: Uint8Array, encryptionKey: string) => Uint8Array<ArrayBufferLike>;
2
+ export declare const decryptBoxSeal: (ciphertext: Uint8Array, privateKey: string, publicKey: string) => Buffer;
@@ -0,0 +1,9 @@
1
+ import { ethers as e } from "ethers";
2
+ import t from "libsodium-wrappers";
3
+ //#region libs/shared/common/src/crypto/ecdh.ts
4
+ var n = (n, r) => t.crypto_box_seal(n, e.getBytes(r)), r = (n, r, i) => {
5
+ let a = t.crypto_box_seal_open(n, e.getBytes(i), e.getBytes(r));
6
+ return Buffer.from(a);
7
+ };
8
+ //#endregion
9
+ export { r as decryptBoxSeal, n as encryptBoxSeal };
@@ -0,0 +1 @@
1
+ require(`../_virtual/_rolldown/runtime.cjs`);let e=require(`circomlibjs-hinkal-fork`);var t=new class{eddsa=void 0;async init(){this.eddsa||=await(0,e.buildEddsa)()}getEddsa(){return this.eddsa}},n=()=>t.getEddsa();exports.eddsaHolder=t,exports.eddsaInstance=n;
@@ -0,0 +1,8 @@
1
+ declare class EddsaHolder {
2
+ private eddsa;
3
+ init(): Promise<void>;
4
+ getEddsa(): any;
5
+ }
6
+ export declare const eddsaHolder: EddsaHolder;
7
+ export declare const eddsaInstance: () => any;
8
+ export {};
@@ -0,0 +1,12 @@
1
+ import { buildEddsa as e } from "circomlibjs-hinkal-fork";
2
+ var t = new class {
3
+ eddsa = void 0;
4
+ async init() {
5
+ this.eddsa ||= await e();
6
+ }
7
+ getEddsa() {
8
+ return this.eddsa;
9
+ }
10
+ }(), n = () => t.getEddsa();
11
+ //#endregion
12
+ export { t as eddsaHolder, n as eddsaInstance };
package/crypto/index.cjs CHANGED
@@ -1 +1 @@
1
- require(`./poseidon.cjs`),require(`./babyJub.cjs`),require(`./preProcessing.cjs`);
1
+ require(`./poseidon.cjs`),require(`./babyJub.cjs`),require(`./eddsa.cjs`),require(`./preProcessing.cjs`),require(`./ecdh.cjs`),require(`./ecdh-sealed-keys.cjs`),require(`./ecdh-dual-path.cjs`);
package/crypto/index.d.ts CHANGED
@@ -1,3 +1,7 @@
1
1
  export * from './poseidon';
2
2
  export * from './babyJub';
3
3
  export * from './preProcessing';
4
+ export * from './eddsa';
5
+ export * from './ecdh';
6
+ export * from './ecdh-sealed-keys';
7
+ export * from './ecdh-dual-path';
package/crypto/index.mjs CHANGED
@@ -1,3 +1,7 @@
1
1
  import "./poseidon.mjs";
2
2
  import "./babyJub.mjs";
3
+ import "./eddsa.mjs";
3
4
  import "./preProcessing.mjs";
5
+ import "./ecdh.mjs";
6
+ import "./ecdh-sealed-keys.mjs";
7
+ import "./ecdh-dual-path.mjs";
@@ -1 +1 @@
1
- const e=require(`../_virtual/_rolldown/runtime.cjs`),t=require(`./poseidon.cjs`),n=require(`./babyJub.cjs`);let r=require(`libsodium-wrappers`);r=e.__toESM(r);let i=require(`process`);i=e.__toESM(i);let a=require(`buffer`);var o=async()=>{(typeof window<`u`||typeof self<`u`)&&(typeof window<`u`&&(window.global=window),globalThis.Buffer=a.Buffer,globalThis.process=i.default),await Promise.all([r.default.ready,t.poseidonHolder.init(),n.jubHolder.init()])};exports.preProcessing=o;
1
+ const e=require(`../_virtual/_rolldown/runtime.cjs`),t=require(`./poseidon.cjs`),n=require(`./babyJub.cjs`),r=require(`./eddsa.cjs`);let i=require(`libsodium-wrappers`);i=e.__toESM(i);let a=require(`process`);a=e.__toESM(a);let o=require(`buffer`);var s=async(e=!1)=>{(typeof window<`u`||typeof self<`u`)&&(typeof window<`u`&&(window.global=window),globalThis.Buffer=o.Buffer,globalThis.process=a.default),await Promise.all([i.default.ready,t.poseidonHolder.init(),n.jubHolder.init(),...e?[]:[r.eddsaHolder.init()]])};exports.preProcessing=s;
@@ -1 +1 @@
1
- export declare const preProcessing: () => Promise<void>;
1
+ export declare const preProcessing: (forWorker?: boolean) => Promise<void>;
@@ -1,15 +1,17 @@
1
1
  import { poseidonHolder as e } from "./poseidon.mjs";
2
2
  import { jubHolder as t } from "./babyJub.mjs";
3
- import n from "libsodium-wrappers";
4
- import r from "process";
5
- import { Buffer as i } from "buffer";
3
+ import { eddsaHolder as n } from "./eddsa.mjs";
4
+ import r from "libsodium-wrappers";
5
+ import i from "process";
6
+ import { Buffer as a } from "buffer";
6
7
  //#region libs/shared/common/src/crypto/preProcessing.ts
7
- var a = async () => {
8
- (typeof window < "u" || typeof self < "u") && (typeof window < "u" && (window.global = window), globalThis.Buffer = i, globalThis.process = r), await Promise.all([
9
- n.ready,
8
+ var o = async (o = !1) => {
9
+ (typeof window < "u" || typeof self < "u") && (typeof window < "u" && (window.global = window), globalThis.Buffer = a, globalThis.process = i), await Promise.all([
10
+ r.ready,
10
11
  e.init(),
11
- t.init()
12
+ t.init(),
13
+ ...o ? [] : [n.init()]
12
14
  ]);
13
15
  };
14
16
  //#endregion
15
- export { a as preProcessing };
17
+ export { o as preProcessing };
@@ -1 +1 @@
1
- const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../constants/chains.constants.cjs`);let n=require(`ethers`),r=require(`@solana/web3.js`),i=require(`bs58`);i=e.__toESM(i);let a=require(`tweetnacl`);a=e.__toESM(a);var o=class{static getEvmPrivateKeyFromSolanaPrivateKey=e=>{let t=i.default.decode(e).slice(0,32);return n.ethers.hexlify(t)};static getSolanaPrivateKeyFromEvmPrivateKey=e=>{let t=n.ethers.getBytes(e),a=r.Keypair.fromSeed(t);return i.default.encode(a.secretKey)};static getSolanaSignerFromPrivateKey=e=>{let t=i.default.decode(e);return r.Keypair.fromSecretKey(t)};static getSignerAddressFromPrivateKey(e,r){return t.isSolanaLike(e)?this.getSolanaSignerFromPrivateKey(r).publicKey.toString():new n.ethers.Wallet(r).address}static signMessageFromPrivateKey=async(e,r,i)=>{if(t.isSolanaLike(e)){let e=this.getSolanaSignerFromPrivateKey(r),t=n.ethers.isHexString(i)?n.ethers.getBytes(i):new TextEncoder().encode(i),o=a.default.sign.detached(t,e.secretKey);return`0x${Buffer.from(o).toString(`hex`)}`}let o=new n.ethers.Wallet(r),s=n.ethers.isHexString(i)?n.ethers.getBytes(i):i;return o.signMessage(s)};static signSolanaTransactionFromPrivateKey=(e,n,r)=>{if(!t.isSolanaLike(e))throw Error(`Solana transaction signing is only available for Solana chains`);let i=this.getSolanaSignerFromPrivateKey(n);r.sign([i])};static sendAndSignSolanaTransactionFromPrivateKey=async(e,t,n,r=!1)=>{let i=this.getSolanaSignerFromPrivateKey(t);return n.sign([i]),await e.sendRawTransaction(n.serialize(),{skipPreflight:r,preflightCommitment:`confirmed`})};static signTypedDataFromPrivateKey=async(e,r,i,a,o)=>{if(t.isSolanaLike(e))throw Error(`Solana does not support typed data`);return await new n.ethers.Wallet(r).signTypedData(i,a,o)};static authorizeDelegation=async(e,r,i,a)=>{if(t.isSolanaLike(e))throw Error(`Solana does not support delegation`);let o=new n.ethers.JsonRpcProvider(t.networkRegistry[e].fetchRpcUrl);return await new n.ethers.Wallet(r).connect(o).authorize({address:i,...a!==void 0&&{nonce:a}})};static getAddressFromSubAccount=(e,n)=>t.isSolanaLike(e)?n.solanaAddress:n.ethAddress;static getPrivateKeyFromSubAccount=(e,n)=>t.isSolanaLike(e)?n.solanaPrivateKey:n.privateKey;static getAvailableAddressFromSubAccount=e=>{let t=e.ethAddress??e.solanaAddress;if(!t)throw Error(`No address available for subaccount`);return t}};exports.AccountActions=o;
1
+ const e=require(`../../_virtual/_rolldown/runtime.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../../functions/utils/create-provider.cjs`);let r=require(`ethers`),i=require(`@solana/web3.js`),a=require(`bs58`);a=e.__toESM(a);let o=require(`tweetnacl`);o=e.__toESM(o);var s=class{static getEvmPrivateKeyFromSolanaPrivateKey=e=>{let t=a.default.decode(e).slice(0,32);return r.ethers.hexlify(t)};static getSolanaPrivateKeyFromEvmPrivateKey=e=>{let t=r.ethers.getBytes(e),n=i.Keypair.fromSeed(t);return a.default.encode(n.secretKey)};static getSolanaSignerFromPrivateKey=e=>{let t=a.default.decode(e);return i.Keypair.fromSecretKey(t)};static getSignerAddressFromPrivateKey(e,n){return t.isSolanaLike(e)?this.getSolanaSignerFromPrivateKey(n).publicKey.toString():new r.ethers.Wallet(n).address}static signMessageFromPrivateKey=async(e,n,i)=>{if(t.isSolanaLike(e)){let e=this.getSolanaSignerFromPrivateKey(n),t=r.ethers.isHexString(i)?r.ethers.getBytes(i):new TextEncoder().encode(i),a=o.default.sign.detached(t,e.secretKey);return`0x${Buffer.from(a).toString(`hex`)}`}let a=new r.ethers.Wallet(n),s=r.ethers.isHexString(i)?r.ethers.getBytes(i):i;return a.signMessage(s)};static signSolanaTransactionFromPrivateKey=(e,n,r)=>{if(!t.isSolanaLike(e))throw Error(`Solana transaction signing is only available for Solana chains`);let i=this.getSolanaSignerFromPrivateKey(n);r.sign([i])};static sendAndSignSolanaTransactionFromPrivateKey=async(e,t,n,r=!1)=>{let i=this.getSolanaSignerFromPrivateKey(t);return n.sign([i]),await e.sendRawTransaction(n.serialize(),{skipPreflight:r,preflightCommitment:`confirmed`})};static signTypedDataFromPrivateKey=async(e,n,i,a,o)=>{if(t.isSolanaLike(e))throw Error(`Solana does not support typed data`);return await new r.ethers.Wallet(n).signTypedData(i,a,o)};static authorizeDelegation=async(e,i,a,o)=>{if(t.isSolanaLike(e))throw Error(`Solana does not support delegation`);let s=n.createJsonRpcProvider(e);return await new r.ethers.Wallet(i).connect(s).authorize({address:a,...o!==void 0&&{nonce:o}})};static getAddressFromSubAccount=(e,n)=>t.isSolanaLike(e)?n.solanaAddress:n.ethAddress;static getPrivateKeyFromSubAccount=(e,n)=>t.isSolanaLike(e)?n.solanaPrivateKey:n.privateKey;static getAvailableAddressFromSubAccount=e=>{let t=e.ethAddress??e.solanaAddress;if(!t)throw Error(`No address available for subaccount`);return t}};exports.AccountActions=s;
@@ -1,4 +1,5 @@
1
- import { isSolanaLike as e, networkRegistry as t } from "../../constants/chains.constants.mjs";
1
+ import { isSolanaLike as e } from "../../constants/chains.constants.mjs";
2
+ import { createJsonRpcProvider as t } from "../../functions/utils/create-provider.mjs";
2
3
  import { ethers as n } from "ethers";
3
4
  import { Keypair as r } from "@solana/web3.js";
4
5
  import i from "bs58";
@@ -46,7 +47,7 @@ var o = class {
46
47
  };
47
48
  static authorizeDelegation = async (r, i, a, o) => {
48
49
  if (e(r)) throw Error("Solana does not support delegation");
49
- let s = new n.JsonRpcProvider(t[r].fetchRpcUrl);
50
+ let s = t(r);
50
51
  return await new n.Wallet(i).connect(s).authorize({
51
52
  address: a,
52
53
  ...o !== void 0 && { nonce: o }
@@ -1 +1 @@
1
- require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../types/approvals.types.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../../constants/protocol.constants.cjs`),r=require(`../../types/cache.types.cjs`),i=require(`../http/HttpClient.cjs`),a=require(`../../functions/utils/caseInsensitive.utils.cjs`),o=require(`../../API/API.cjs`),s=require(`../../functions/utils/erc20tokenFunctions.cjs`),c=require(`../../constants/events.constants.cjs`),l=require(`../../error-handling/logger.cjs`),u=require(`../../functions/utils/string.utils.cjs`),d=require(`../../functions/utils/create-provider.cjs`);let f=require(`async-mutex`),p=require(`ethers`),m=require(`idb-keyval`);var h=class{updateMutexes={};approvalTopic=p.ethers.id(`Approval(address,address,uint256)`);approvalForAllTopic=p.ethers.id(`ApprovalForAll(address,address,bool)`);getApprovedSelector=p.ethers.id(`getApproved(uint256)`).substring(0,10);isApprovedForAllSelector=p.ethers.id(`isApprovedForAll(address,address)`).substring(0,10);ALCHEMY_URLS={[t.chainIds.ethMainnet]:`eth-mainnet`,[t.chainIds.polygon]:`polygon-mainnet`,[t.chainIds.arbMainnet]:`arb-mainnet`,[t.chainIds.optimism]:`opt-mainnet`,[t.chainIds.base]:`base-mainnet`,[t.chainIds.arcTestnet]:`arc-testnet`,[t.chainIds.avalanche]:`avax-mainnet`};getMutex(e){return this.updateMutexes[e]||(this.updateMutexes[e]=new f.Mutex),this.updateMutexes[e]}getAlchemyUrl(e){let n=this.ALCHEMY_URLS[e];if(!n)throw Error(`Unsupported chainId for Alchemy: ${e}`);return`https://${n}.g.alchemy.com/v2/${t.ALCHEMY_API_KEY}`}async getApprovals(e,t){let n=u.getStateKey(t,e);return(await(0,m.get)(r.StorageKeys.EVENTS_PUBLIC_APPROVALS))?.[n]||[]}async getLastProcessedBlock(e,t){return(await(0,m.get)(r.StorageKeys.PUBLIC_APPROVALS_LAST_PROCESSED_BLOCKS)||{})[u.getStateKey(t,e)]||c.EVENTS_INITIAL_BLOCKS[e]}async updateLastProcessedBlock(e,t,n){await(0,m.update)(r.StorageKeys.PUBLIC_APPROVALS_LAST_PROCESSED_BLOCKS,(r={})=>{let i=u.getStateKey(t,e);return{...r,[i]:n}})}async getApprovalEvents(e,t){try{let n=d.createCustomRpcProvider(t),r=await this.getLastProcessedBlock(t,e)+1,i=await n.getBlockNumber();if(r>i)return{approvalEvents:[],latestBlock:i};let a=p.ethers.zeroPadValue(e.toLowerCase(),32),o={topics:[[this.approvalTopic,this.approvalForAllTopic],a],fromBlock:r,toBlock:i};return{approvalEvents:await n.getLogs(o),latestBlock:i}}catch(e){return l.Logger.error(`Failed to fetch approval events`,e),{approvalEvents:[],latestBlock:void 0}}}async checkCurrentAllowances(t,r,c){let u=this.getAlchemyUrl(t),d=`0x${r.substring(2).padStart(64,`0`)}`,f=[...new Set(c.map(e=>e.contractAddress))],p=(await o.API.tokensInfoCall(t,f)).filter(e=>!!e),m=new Map(p.map(e=>[e.erc20TokenAddress.toLowerCase(),e])),h=[],g=[];if(c.forEach((t,n)=>{let i=m.get(t.contractAddress.toLowerCase());if(i)if(!s.isNFTToken(i))h.push({jsonrpc:`2.0`,id:h.length,method:`alchemy_getTokenAllowance`,params:[{contract:t.contractAddress,owner:r,spender:t.spenderAddress}]}),g.push({pairIndex:n,type:e.RevokeType.ERC20});else{let r=`0x${t.spenderAddress.substring(2).padStart(64,`0`)}`,i=`${this.isApprovedForAllSelector}${d.substring(2)}${r.substring(2)}`;h.push({jsonrpc:`2.0`,id:h.length,method:`eth_call`,params:[{to:t.contractAddress,data:i},`latest`]}),g.push({pairIndex:n,type:e.RevokeType.approvedForAll}),t.tokenIds&&t.tokenIds.size>0&&t.tokenIds.forEach(r=>{let i=BigInt(r).toString(16).padStart(64,`0`),a=`${this.getApprovedSelector}${i}`;h.push({jsonrpc:`2.0`,id:h.length,method:`eth_call`,params:[{to:t.contractAddress,data:a},`latest`]}),g.push({pairIndex:n,type:e.RevokeType.tokenId,tokenId:r})})}}),h.length===0)return[];let _=await i.httpClient.post(u,h),v=[],y=new Set;return _.forEach((t,r)=>{let i=g[r];if(!i)return;let o=c[i.pairIndex],s=m.get(o.contractAddress.toLowerCase());if(!(!s||a.caseInsensitiveEqual(o.spenderAddress,n.zeroAddress))&&!t?.error&&t?.result&&t.result!==`0x`)try{if(i.type===e.RevokeType.ERC20&&BigInt(t.result)>0n)v.push({token:s,spenderAddress:o.spenderAddress,allowance:BigInt(t.result)});else if(i.type===e.RevokeType.approvedForAll&&BigInt(t.result)===1n)y.add(i.pairIndex),v.push({token:s,spenderAddress:o.spenderAddress,allowance:1n});else if(i.type===e.RevokeType.tokenId&&!y.has(i.pairIndex)){let e=`0x${t.result.substring(26)}`.toLowerCase();!a.caseInsensitiveEqual(e,n.zeroAddress)&&a.caseInsensitiveEqual(e,o.spenderAddress)&&v.push({token:s,spenderAddress:o.spenderAddress,allowance:1n,tokenId:i.tokenId})}}catch(e){l.Logger.error(`Error processing approval response`,e)}}),v}async fetchAndUpdatePublicApprovals(e,t){let i=u.getStateKey(e,t);await this.getMutex(i).runExclusive(async()=>{try{let{approvalEvents:o,latestBlock:s}=await this.getApprovalEvents(e,t);if(!s)return;let c=await this.getApprovals(t,e),l=new Map;if(c.forEach(e=>{let t=e.token.erc20TokenAddress.toLowerCase(),n=e.spenderAddress.toLowerCase(),r=`${t}_${n}`,i=l.get(r);i||(i={contractAddress:t,spenderAddress:n,tokenIds:new Set},l.set(r,i)),e.tokenId&&i.tokenIds&&i.tokenIds.add(e.tokenId)}),o.forEach(e=>{if(!e.topics[2])return;let t=e.address.toLowerCase(),r=`0x${e.topics[2].substring(26)}`.toLowerCase();if(a.caseInsensitiveEqual(r,n.zeroAddress))return;let i=`${t}_${r}`,o=l.get(i);if(o||(o={contractAddress:t,spenderAddress:r,tokenIds:new Set},l.set(i,o)),e.topics.length===4&&o.tokenIds){let t=BigInt(e.topics[3]).toString();o.tokenIds.add(t)}}),l.size===0){await this.updateLastProcessedBlock(t,e,s);return}let u=Array.from(l.values()),d=await this.checkCurrentAllowances(t,e,u);await(0,m.update)(r.StorageKeys.EVENTS_PUBLIC_APPROVALS,(e={})=>({...e,[i]:d})),await this.updateLastProcessedBlock(t,e,s)}catch(e){l.Logger.error(`Failed to sync approvals`,e)}})}},g=new h;exports.EventsPublicApprovalsDB=h,exports.eventsPublicApprovalsDB=g;
1
+ require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../types/approvals.types.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../../constants/protocol.constants.cjs`),r=require(`../../types/cache.types.cjs`),i=require(`../http/HttpClient.cjs`),a=require(`../../functions/utils/caseInsensitive.utils.cjs`),o=require(`../../API/API.cjs`),s=require(`../../functions/utils/erc20tokenFunctions.cjs`),c=require(`../../constants/events.constants.cjs`),l=require(`../../error-handling/logger.cjs`),u=require(`../../functions/utils/string.utils.cjs`),d=require(`../../functions/utils/create-provider.cjs`);let f=require(`async-mutex`),p=require(`ethers`),m=require(`idb-keyval`);var h=class{updateMutexes={};approvalTopic=p.ethers.id(`Approval(address,address,uint256)`);approvalForAllTopic=p.ethers.id(`ApprovalForAll(address,address,bool)`);getApprovedSelector=p.ethers.id(`getApproved(uint256)`).substring(0,10);isApprovedForAllSelector=p.ethers.id(`isApprovedForAll(address,address)`).substring(0,10);ALCHEMY_URLS={[t.chainIds.ethMainnet]:`eth-mainnet`,[t.chainIds.polygon]:`polygon-mainnet`,[t.chainIds.arbMainnet]:`arb-mainnet`,[t.chainIds.optimism]:`opt-mainnet`,[t.chainIds.base]:`base-mainnet`,[t.chainIds.arcTestnet]:`arc-testnet`};getMutex(e){return this.updateMutexes[e]||(this.updateMutexes[e]=new f.Mutex),this.updateMutexes[e]}getAlchemyUrl(e){let n=this.ALCHEMY_URLS[e];if(!n)throw Error(`Unsupported chainId for Alchemy: ${e}`);return`https://${n}.g.alchemy.com/v2/${t.ALCHEMY_API_KEY}`}async getApprovals(e,t){let n=u.getStateKey(t,e);return(await(0,m.get)(r.StorageKeys.EVENTS_PUBLIC_APPROVALS))?.[n]||[]}async getLastProcessedBlock(e,t){return(await(0,m.get)(r.StorageKeys.PUBLIC_APPROVALS_LAST_PROCESSED_BLOCKS)||{})[u.getStateKey(t,e)]||c.EVENTS_INITIAL_BLOCKS[e]}async updateLastProcessedBlock(e,t,n){await(0,m.update)(r.StorageKeys.PUBLIC_APPROVALS_LAST_PROCESSED_BLOCKS,(r={})=>{let i=u.getStateKey(t,e);return{...r,[i]:n}})}async getApprovalEvents(e,t){try{let n=d.createJsonRpcProvider(t),r=await this.getLastProcessedBlock(t,e)+1,i=await n.getBlockNumber();if(r>i)return{approvalEvents:[],latestBlock:i};let a=p.ethers.zeroPadValue(e.toLowerCase(),32),o={topics:[[this.approvalTopic,this.approvalForAllTopic],a],fromBlock:r,toBlock:i};return{approvalEvents:await n.getLogs(o),latestBlock:i}}catch(e){return l.Logger.error(`Failed to fetch approval events`,e),{approvalEvents:[],latestBlock:void 0}}}async checkCurrentAllowances(t,r,c){let u=this.getAlchemyUrl(t),d=`0x${r.substring(2).padStart(64,`0`)}`,f=[...new Set(c.map(e=>e.contractAddress))],p=(await o.API.tokensInfoCall(t,f)).filter(e=>!!e),m=new Map(p.map(e=>[e.erc20TokenAddress.toLowerCase(),e])),h=[],g=[];if(c.forEach((t,n)=>{let i=m.get(t.contractAddress.toLowerCase());if(i)if(!s.isNFTToken(i))h.push({jsonrpc:`2.0`,id:h.length,method:`alchemy_getTokenAllowance`,params:[{contract:t.contractAddress,owner:r,spender:t.spenderAddress}]}),g.push({pairIndex:n,type:e.RevokeType.ERC20});else{let r=`0x${t.spenderAddress.substring(2).padStart(64,`0`)}`,i=`${this.isApprovedForAllSelector}${d.substring(2)}${r.substring(2)}`;h.push({jsonrpc:`2.0`,id:h.length,method:`eth_call`,params:[{to:t.contractAddress,data:i},`latest`]}),g.push({pairIndex:n,type:e.RevokeType.approvedForAll}),t.tokenIds&&t.tokenIds.size>0&&t.tokenIds.forEach(r=>{let i=BigInt(r).toString(16).padStart(64,`0`),a=`${this.getApprovedSelector}${i}`;h.push({jsonrpc:`2.0`,id:h.length,method:`eth_call`,params:[{to:t.contractAddress,data:a},`latest`]}),g.push({pairIndex:n,type:e.RevokeType.tokenId,tokenId:r})})}}),h.length===0)return[];let _=await i.httpClient.post(u,h),v=[],y=new Set;return _.forEach((t,r)=>{let i=g[r];if(!i)return;let o=c[i.pairIndex],s=m.get(o.contractAddress.toLowerCase());if(!(!s||a.caseInsensitiveEqual(o.spenderAddress,n.zeroAddress))&&!t?.error&&t?.result&&t.result!==`0x`)try{if(i.type===e.RevokeType.ERC20&&BigInt(t.result)>0n)v.push({token:s,spenderAddress:o.spenderAddress,allowance:BigInt(t.result)});else if(i.type===e.RevokeType.approvedForAll&&BigInt(t.result)===1n)y.add(i.pairIndex),v.push({token:s,spenderAddress:o.spenderAddress,allowance:1n});else if(i.type===e.RevokeType.tokenId&&!y.has(i.pairIndex)){let e=`0x${t.result.substring(26)}`.toLowerCase();!a.caseInsensitiveEqual(e,n.zeroAddress)&&a.caseInsensitiveEqual(e,o.spenderAddress)&&v.push({token:s,spenderAddress:o.spenderAddress,allowance:1n,tokenId:i.tokenId})}}catch(e){l.Logger.error(`Error processing approval response`,e)}}),v}async fetchAndUpdatePublicApprovals(e,t){let i=u.getStateKey(e,t);await this.getMutex(i).runExclusive(async()=>{try{let{approvalEvents:o,latestBlock:s}=await this.getApprovalEvents(e,t);if(!s)return;let c=await this.getApprovals(t,e),l=new Map;if(c.forEach(e=>{let t=e.token.erc20TokenAddress.toLowerCase(),n=e.spenderAddress.toLowerCase(),r=`${t}_${n}`,i=l.get(r);i||(i={contractAddress:t,spenderAddress:n,tokenIds:new Set},l.set(r,i)),e.tokenId&&i.tokenIds&&i.tokenIds.add(e.tokenId)}),o.forEach(e=>{if(!e.topics[2])return;let t=e.address.toLowerCase(),r=`0x${e.topics[2].substring(26)}`.toLowerCase();if(a.caseInsensitiveEqual(r,n.zeroAddress))return;let i=`${t}_${r}`,o=l.get(i);if(o||(o={contractAddress:t,spenderAddress:r,tokenIds:new Set},l.set(i,o)),e.topics.length===4&&o.tokenIds){let t=BigInt(e.topics[3]).toString();o.tokenIds.add(t)}}),l.size===0){await this.updateLastProcessedBlock(t,e,s);return}let u=Array.from(l.values()),d=await this.checkCurrentAllowances(t,e,u);await(0,m.update)(r.StorageKeys.EVENTS_PUBLIC_APPROVALS,(e={})=>({...e,[i]:d})),await this.updateLastProcessedBlock(t,e,s)}catch(e){l.Logger.error(`Failed to sync approvals`,e)}})}},g=new h;exports.EventsPublicApprovalsDB=h,exports.eventsPublicApprovalsDB=g;
@@ -9,7 +9,7 @@ import { isNFTToken as c } from "../../functions/utils/erc20tokenFunctions.mjs";
9
9
  import { EVENTS_INITIAL_BLOCKS as l } from "../../constants/events.constants.mjs";
10
10
  import { Logger as u } from "../../error-handling/logger.mjs";
11
11
  import { getStateKey as d } from "../../functions/utils/string.utils.mjs";
12
- import { createCustomRpcProvider as f } from "../../functions/utils/create-provider.mjs";
12
+ import { createJsonRpcProvider as f } from "../../functions/utils/create-provider.mjs";
13
13
  import { Mutex as p } from "async-mutex";
14
14
  import { ethers as m } from "ethers";
15
15
  import { get as h, update as g } from "idb-keyval";
@@ -26,8 +26,7 @@ var _ = class {
26
26
  [n.arbMainnet]: "arb-mainnet",
27
27
  [n.optimism]: "opt-mainnet",
28
28
  [n.base]: "base-mainnet",
29
- [n.arcTestnet]: "arc-testnet",
30
- [n.avalanche]: "avax-mainnet"
29
+ [n.arcTestnet]: "arc-testnet"
31
30
  };
32
31
  getMutex(e) {
33
32
  return this.updateMutexes[e] || (this.updateMutexes[e] = new p()), this.updateMutexes[e];
@@ -1 +1 @@
1
- require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../types/ethereum-network.types.cjs`),t=require(`../../functions/utils/serialize.utils.cjs`),n=require(`../../constants/vite.constants.cjs`),r=require(`../../constants/chains.constants.cjs`),i=require(`../../types/hinkal.types.cjs`),a=require(`../../API/API.cjs`),o=require(`../../constants/kyc.constants.cjs`),s=require(`../../error-handling/error-codes.constants.cjs`),c=require(`../../functions/utils/erc20tokenFunctions.cjs`);require(`../../API/index.cjs`);const l=require(`../../crypto/poseidon.cjs`),u=require(`../crypto-keys/keys.cjs`),d=require(`../../functions/pre-transaction/solana.cjs`),f=require(`./hinkalCheckSolanaTokenRegistry.cjs`),p=require(`../../functions/web3/functionCalls/accessTokenCalls.cjs`),m=require(`../../functions/utils/token-check.utils.cjs`),h=require(`../TokenDBs/PrivateTokensDB.cjs`),g=require(`../../functions/web3/events/getShieldedBalance.cjs`),ee=require(`../../functions/utils/reloadPage.cjs`),_=require(`../../functions/utils/cacheDevice.utils.cjs`),v=require(`../../functions/web3/getContractMetadata.cjs`),y=require(`../../providers/SolanaProviderAdapter.cjs`),b=require(`./hinkalCheckTokenRegistry.cjs`),x=require(`../merkle-tree/MerkleTree.cjs`);require(`../merkle-tree/index.cjs`);const S=require(`./hinkalDeposit.cjs`),te=require(`../../functions/private-wallet/emporium.helpers.cjs`),C=require(`../../functions/web3/events/getApprovedBalance.cjs`),ne=require(`../../functions/kyc/checkTokenLimitsUSD.cjs`),w=require(`./hinkalDepositAndWithdraw.cjs`),T=require(`./hinkalSolanaDeposit.cjs`),E=require(`./hinkalSwap.cjs`),D=require(`./hinkalWithdraw.cjs`),O=require(`./resetMerkleTrees.cjs`),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`),F=require(`./hinkalProxySwap.cjs`),I=require(`./hinkalMultiSend.cjs`),L=require(`./hinkalTransfer.cjs`),R=require(`./hinkalProxyToPrivate.cjs`),z=require(`../../providers/TronProviderAdapter.cjs`),B=require(`./hinkalSolanaDepositAndWithdraw.cjs`),V=require(`./hinkalSolanaWithdraw.cjs`),H=require(`./hinkalSolanaTransfer.cjs`),U=require(`./hinkalSolanaSwap.cjs`),W=require(`./hinkalSolanaProxySend.cjs`),G=require(`./hinkalSolanaProxySwap.cjs`),K=require(`./hinkalSolanaProxyShield.cjs`),q=require(`../../functions/web3/fetchSolanaMerkleTreeRootHash.cjs`),J=require(`./hinkalDepositAndBridge.cjs`),Y=require(`./hinkalClaimUtxo.cjs`),X=require(`./hinkalSolanaProoflessDeposit.cjs`),Z=require(`./hinkalSolanaClaimUtxo.cjs`),re=require(`./hinkalWithdrawStuckUtxos.cjs`);let Q=require(`ethers`),$=require(`@solana/web3.js`);var ie=class{ethereumProviderAdapter;solanaProviderAdapter;tronProviderAdapter;userKeys;signingMessage=`Login to Hinkal Protocol`;privateTransferSigningMessage=`Login to Hinkal's Private Transfer App`;merkleTreeHinkalByChain={};merkleTreeAccessTokenByChain={};nullifiersByChain={};encryptedOutputsByChain={};approvalsByChain={};commitmentsSnapshotServiceByChain={};nullifierSnapshotServiceByChain={};accessTokenSnapshotServiceByChain={};approvalsSnapshotServiceByChain={};utxoUtils;lastCallState=new Map;cacheDevice;generateProofRemotely;disableMerkleTreeUpdates;constructor(e){this.userKeys=new u.UserKeys(void 0),r.HINKAL_SUPPORTED_CHAINS.forEach(e=>{this.merkleTreeHinkalByChain[e]=x.MerkleTree.create(l.poseidonFunction,0n),this.merkleTreeAccessTokenByChain[e]=x.MerkleTree.create(l.poseidonFunction,0n),this.nullifiersByChain[e]=new Set,this.encryptedOutputsByChain[e]=[],this.approvalsByChain[e]=new Map}),this.generateProofRemotely=e?.generateProofRemotely??!0,this.utxoUtils=new k.MultiThreadedUtxoUtils,this.cacheDevice=_.createCacheDevice(e),this.disableMerkleTreeUpdates=e?.disableMerkleTreeUpdates??!1}enforceRateLimit(e,n,r=1e3){let i=Date.now(),a=t.CustomJSONStringify(n),o=this.lastCallState.get(e);if(o&&o.argsKey===a&&i-o.timestamp<r)throw Error(`${e} was already called with the same arguments`);this.lastCallState.set(e,{timestamp:i,argsKey:a})}getProviderAdapter(e){let t=e;t||=this.ethereumProviderAdapter?r.chainIds.ethMainnet:this.solanaProviderAdapter?r.chainIds.solanaMainnet:r.chainIds.tronMainnet;let n;if(n=r.isSolanaLike(t)?this.solanaProviderAdapter:r.isTronLike(t)?this.tronProviderAdapter:this.ethereumProviderAdapter,!n)throw Error(`ProviderAdapter is not initialized`);return n}async initProviderAdapter(e,t){let n=r.chainIds.ethMainnet;t instanceof y.SolanaProviderAdapter?n=r.chainIds.solanaMainnet:t instanceof z.TronProviderAdapter&&(n=r.currentTronChainId),await this.updateProviderAdapter(n,t),t.initConnector(e);let i=await t.connectAndPatchProvider(e);await t.init(i),await this.setListeners()}getSigningMessage(e=i.LoginMessageMode.PROTOCOL){switch(e){case i.LoginMessageMode.PRIVATE_TRANSFER:return this.privateTransferSigningMessage;case i.LoginMessageMode.PROTOCOL:default:return this.signingMessage}}async initUserKeys(e=i.LoginMessageMode.PROTOCOL){let t=this.getSigningMessage(e);this.userKeys=new u.UserKeys(await this.getProviderAdapter().signMessage(t))}initUserKeysWithSignature(e){this.userKeys=new u.UserKeys(e)}async initUserKeysFromSeedPhrases(e){let t=e.join(` `),n=Q.ethers.toUtf8Bytes(t);this.userKeys=new u.UserKeys(Q.ethers.keccak256(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 z.TronProviderAdapter))throw Error(`Tron provider adapter is not a TronProviderAdapter`);let t=e.getTronWeb();if(!t)throw Error(`TronWeb not available`);return t}getSupportedChains(){return this.ethereumProviderAdapter&&this.solanaProviderAdapter?r.WALLET_SUPPORTED_CHAINS:this.ethereumProviderAdapter?r.HINKAL_SUPPORTED_CHAINS.filter(e=>!r.isSolanaLike(e)&&!r.isTronLike(e)):this.solanaProviderAdapter?r.HINKAL_SUPPORTED_CHAINS.filter(e=>r.isSolanaLike(e)):this.tronProviderAdapter?r.HINKAL_SUPPORTED_CHAINS.filter(e=>r.isTronLike(e)):[]}async waitForTransaction(e,t,n=1){return!!await this.getProviderAdapter(e).waitForTransaction(e,t,n)}getContract(e,t,n=void 0){return this.getProviderAdapter(e).getContract(e,t,n)}getContractWithFetcherByChainId(e,t,n=void 0){return v.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!!r.networkRegistry[e]}async switchNetwork(e){try{await this.getProviderAdapter().switchNetwork(e)}catch{throw Error(s.transactionErrorCodes.FAILED_TO_SWITCH_NETWORKS)}}isPermitterAvailable(e){return this.getProviderAdapter(e).isPermitterAvailable()}async disconnectFromConnector(){await this.ethereumProviderAdapter?.disconnectFromConnector(),await this.solanaProviderAdapter?.disconnectFromConnector(),await this.tronProviderAdapter?.disconnectFromConnector()}async resetProviderAdapters(){this.ethereumProviderAdapter=void 0,this.solanaProviderAdapter=void 0,this.tronProviderAdapter=void 0}async updateProviderAdapter(e,t){try{r.isSolanaLike(e)?(this.solanaProviderAdapter&&this.solanaProviderAdapter.release(),this.solanaProviderAdapter=t):r.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(),ee.reloadPage())}async monitorConnectedAddress(e){await a.API.monitor(await this.getEthereumAddressByChain(e))}async getBalances(e,t,n,r,i=!1,a,o=!1){return g.getShieldedBalance(this,e,t,n,r,i,this.generateProofRemotely,a,o)}async getApprovedBalances(e,t=!1,n=!1){return C.getApprovedBalance(this,e,t,n)}async getTotalBalance(e,t,i,a=!1,o,s=!1){let l=i??await this.getEthereumAddressByChain(e),u=t??this.userKeys,d=await this.getBalances(e,u.getShieldedPrivateKey(),u.getShieldedPublicKey(),l,a,o,s),f=!r.isSolanaLike(e)&&!s?await this.getApprovedBalances(e,a,o):new Map,p=n.isExtension?await h.privateTokensDB.getPrivateTokens(e,l):c.getErc20TokensForChain(e),m=[];return p.forEach(e=>{let t=e.erc20TokenAddress.toLowerCase(),n=d.get(t),r=f.get(t),i={token:e,balance:(n?.balance??0n)+(r?.balance??0n),timestamp:n?.timestamp||r?.timestamp||`0`,nfts:n?.nfts||[]};m.push(i)}),m}async getStuckShieldedBalances(e,t,n){return(await this.getTotalBalance(e,t,n,!1,!1,!0)).filter(e=>e.balance>0n)}getSupportedPassportLinks(){return o.supportedPassportLinks}checkAccessToken(e,t){return p.checkHinkalAccessToken(this,e,t)}checkExternalTokenLimitsUSD(e,t,n){return ne.checkTokenLimitsUSD(e,t,n)}async getHinkalTreeRootHash(t){if(r.isSolanaLike(t)){let{hinkalIdl:e,hinkalAddress:n,originalDeployer:i}=r.networkRegistry[t].contractData;if(!e||!n||!i)throw Error(`Missing Solana configuration for chain ${t}`);let a=new $.PublicKey(i),o=d.getMerkleAccountPublicKey(new $.PublicKey(n),a);return q.fetchSolanaMerkleTreeRootHash(this.getSolanaProgram(e),o)}return this.getContractWithFetcherByChainId(t,e.ContractType.HinkalContract).getRootHash()}async getAccessTokenTreeRootHash(t){if(r.isSolanaLike(t)){let{hinkalIdl:e,hinkalAddress:n,originalDeployer:i}=r.networkRegistry[t].contractData;if(!e||!n||!i)throw Error(`Missing Solana configuration for chain ${t}`);let a=new $.PublicKey(i),o=d.getAccessTokenMerkleAccountPublicKey(new $.PublicKey(n),a);return q.fetchSolanaMerkleTreeRootHash(this.getSolanaProgram(e),o)}return this.getContractWithFetcherByChainId(t,e.ContractType.AccessTokenContract).getRootHash()}async resetMerkleTreesIfNecessary(e){let t=(await Promise.all((e??this.getSupportedChains()).map(async e=>{let[t,n]=await Promise.all([this.getHinkalTreeRootHash(e),this.getAccessTokenTreeRootHash(e)]);return{chainId:e,needsReset:BigInt(t)!==this.merkleTreeHinkalByChain[e].getRootHash()||BigInt(n)!==this.merkleTreeAccessTokenByChain[e].getRootHash()}}))).filter(e=>e.needsReset).map(e=>e.chainId);t.length>0&&(console.log(`resetting merkle tree in resetMerkleTreesIfNecessary for chains:`,t),await this.resetMerkle(t))}async getEthereumAddress(){let e=this.ethereumProviderAdapter??this.solanaProviderAdapter??this.tronProviderAdapter;if(!e)throw Error(`No provider adapter initialized`);return e.getAddress()}getEthereumAddressByChain(e){return this.getProviderAdapter(e).getAddress()}async getRandomRelay(e,t=!1){return(await a.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 a.API}snapshotsClearInterval(){this.getSupportedChains().forEach(e=>{this.commitmentsSnapshotServiceByChain[e]?.intervalClear(),this.accessTokenSnapshotServiceByChain[e]?.intervalClear(),this.nullifierSnapshotServiceByChain[e]?.intervalClear(),this.approvalsSnapshotServiceByChain[e]?.intervalClear()})}checkTokenRegistry(t,n,i){if(r.isSolanaLike(t)){let{hinkalIdl:e,hinkalAddress:a,originalDeployer:o}=r.networkRegistry[t].contractData;if(!e||!a||!o)throw Error(`missing solana data`);return f.hinkalCheckSolanaTokenRegistry(this.getSolanaProgram(e),new $.PublicKey(o),n,i)}return r.isTronLike(t)?b.hinkalCheckTronTokenRegistry(n,i,t):b.hinkalCheckTokenRegistry(this.getContractWithFetcher(t,e.ContractType.HinkalHelperContract),n,i)}getRecipientInfo(){return j.getRecipientInfo(this)}getApprovedUtxos(e,t=!1){return C.getApprovedUtxos(this,e,t)}getApprovedUtxosForToken(e,t,n=!1){return C.getApprovedUtxosForToken(this,e,t,n)}async deposit(e,t,n=!0,r=!1){return S.hinkalDeposit(this,e,t,n,r)}async depositSolana(e,t){return T.hinkalSolanaDeposit(this,e,t)}async depositForOther(e,t,n,r=!0,i=!1){return this.enforceRateLimit(this.depositForOther.name,[e,t,n]),S.hinkalDepositForOther(this,e,t,n,r,i)}async depositSolanaForOther(e,t,n){return this.enforceRateLimit(this.depositSolanaForOther.name,[e,t,n]),T.hinkalSolanaDepositForOther(this,e,t,n)}async depositAndWithdraw(e,t,n,i,a,o,s,c=!0){return r.isSolanaLike(m.validateAndGetChainId([e]))?B.hinkalSolanaDepositAndWithdraw(this,e,t,n,i,a,o,s):w.hinkalDepositAndWithdraw(this,e,t,n,i,a,o,s,c)}async claimUtxo(e,t,n,i){return r.isSolanaLike(m.validateAndGetChainId([e]))?Z.hinkalSolanaClaimUtxo(this,e,t,n,i):Y.hinkalClaimUtxo(this,e,t,n,i)}async depositAndBridge(e,t,n,r,i,a,o=!0){return J.hinkalDepositAndBridge(this,e,t,n,r,i,a,o)}async prooflessDeposit(e,t,n,i){return r.isSolanaLike(m.validateAndGetChainId(e))?X.hinkalSolanaProoflessDeposit(this,e,t,n,i):P.hinkalProoflessDeposit(this,e,t,n,i)}getSolanaProgram(e){if(!this.solanaProviderAdapter)throw Error(`No provider adapter initialized`);if(!(`getSolanaProgram`in this.solanaProviderAdapter))throw Error(`Current provider adapter is not a Solana provider adapter`);return this.solanaProviderAdapter.getSolanaProgram(e)}getSolanaPublicKey(){if(!this.solanaProviderAdapter)throw Error(`No provider adapter initialized`);if(!(`getSolanaPublicKey`in this.solanaProviderAdapter))throw Error(`Current provider adapter is not a Solana provider adapter`);return this.solanaProviderAdapter.getSolanaPublicKey()}async transfer(e,t,n,i,a,o){return r.isSolanaLike(m.validateAndGetChainId(e))?H.hinkalSolanaTransfer(this,e,t,n,i,a,o):L.hinkalTransfer(this,e,t,n,i,a,o)}async withdraw(e,t,n,i,a,o,s){return r.isSolanaLike(m.validateAndGetChainId(e))?V.hinkalSolanaWithdraw(this,e,t,n,a,o,s):D.hinkalWithdraw(this,e,t,n,i,a,o,s)}async withdrawStuckUtxos(e,t){return re.hinkalWithdrawStuckUtxos(this,e,t)}async swap(e,t,n,i,a,o,s){return r.isSolanaLike(m.validateAndGetChainId(e))?this.swapSolana(e,t,i,a,o):E.hinkalSwap(this,e,t,n,i,a,o,s)}async swapSolana(e,t,n,r,i){let a=JSON.parse(n),o=BigInt(a.swapperAccountSalt),{instructionLists:s,addressLookupTableAccount:c}=a.data;return U.hinkalSolanaSwap(this,e,t,o,s,c,r,i)}async actionReceive(e,t,n,i,a,o){if(!a)throw Error(`subAccount is required`);return r.isSolanaLike(m.validateAndGetChainId(e))?K.hinkalSolanaProxyShield(this,e[0],t[0],a,void 0,o):N.hinkalActionReceive(this,e,t,n,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,n,i,a,o,s,c,l=!1,u,d){return r.isSolanaLike(m.validateAndGetChainId(e))?G.hinkalSolanaProxySwap(this,e,t,i,o,s,c):F.hinkalProxySwap(this,e,t,n,i,a,o,s,c,l,u,d)}async proxyToPrivate(e,t,n,i,a,o,s){return r.isSolanaLike(m.validateAndGetChainId(e))?(this.enforceRateLimit(this.proxyToPrivate.name,[e[0],t[0],n,i]),K.hinkalSolanaProxyShield(this,e[0],t[0],n,i,s)):R.hinkalProxyToPrivate(this,e,t,i,a,o,n,s)}async proxySend(e,t,n,i,a,o,s){let c=m.validateAndGetChainId(e);if(r.isSolanaLike(c))return W.hinkalSolanaProxySend(this,e[0],t[0],n,i,s);let l=te.createTransaferEmporiumOpsBatch(this,c,e.map(e=>e.erc20TokenAddress),t,i),u=e.map((e,n)=>({token:e,amount:-1n*t[n]}));return await this.actionPrivateWallet(c,[],[],[],l,u,n,a,o,void 0,void 0,void 0,s,void 0)}async multiSendPrivateRecipients(e,t,n){return this.enforceRateLimit(this.multiSendPrivateRecipients.name,[e,t,n]),I.hinkalMultiSendPrivateRecipients(this,e,t,n)}areMerkleTreeUpdatesDisabled(){return this.disableMerkleTreeUpdates}updateMerkleTreeUpdates(e){this.disableMerkleTreeUpdates=e}};exports.Hinkal=ie;
1
+ require(`../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../types/ethereum-network.types.cjs`),t=require(`../../functions/utils/serialize.utils.cjs`),n=require(`../../constants/vite.constants.cjs`),r=require(`../../constants/chains.constants.cjs`),i=require(`../../types/hinkal.types.cjs`),a=require(`../../API/API.cjs`),o=require(`../../constants/kyc.constants.cjs`),s=require(`../../error-handling/error-codes.constants.cjs`),c=require(`../../functions/utils/erc20tokenFunctions.cjs`);require(`../../API/index.cjs`);const l=require(`../../crypto/poseidon.cjs`),u=require(`../crypto-keys/keys.cjs`),d=require(`../../functions/utils/token-check.utils.cjs`),f=require(`../TokenDBs/PrivateTokensDB.cjs`),p=require(`../../functions/web3/events/getShieldedBalance.cjs`),m=require(`../../functions/pre-transaction/solana.cjs`),h=require(`../../functions/web3/getContractMetadata.cjs`),g=require(`../../functions/utils/reloadPage.cjs`),_=require(`../../functions/utils/cacheDevice.utils.cjs`),v=require(`../../providers/SolanaProviderAdapter.cjs`),y=require(`../../functions/utils/enclave-signature-storage.cjs`),b=require(`../../functions/utils/mnemonics.cjs`),x=require(`../../functions/web3/fetchSolanaMerkleTreeRootHash.cjs`),S=require(`../../functions/private-wallet/emporium.helpers.cjs`),C=require(`./hinkalDeposit.cjs`),w=require(`../../functions/kyc/checkTokenLimitsUSD.cjs`),T=require(`./hinkalDepositAndWithdraw.cjs`),E=require(`./hinkalSolanaDeposit.cjs`),D=require(`./hinkalSwap.cjs`),O=require(`./hinkalWithdraw.cjs`),k=require(`../merkle-tree/MerkleTree.cjs`);require(`../merkle-tree/index.cjs`);const A=require(`./resetMerkleTrees.cjs`),j=require(`../MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs`),M=require(`./hinkalPrivateWallet.cjs`),N=require(`./hinkalGetRecipientInfo.cjs`),P=require(`./hinkalSignSubAccount.cjs`),F=require(`./hinkalActionReceive.cjs`);require(`../TokenDBs/index.cjs`);const I=require(`./hinkalProoflessDeposit.cjs`),ee=require(`./hinkalProxySwap.cjs`),L=require(`./hinkalMultiSend.cjs`),R=require(`./hinkalTransfer.cjs`),z=require(`./hinkalProxyToPrivate.cjs`),B=require(`../../providers/TronProviderAdapter.cjs`),V=require(`./hinkalSolanaDepositAndWithdraw.cjs`),H=require(`./hinkalSolanaWithdraw.cjs`),U=require(`./hinkalSolanaTransfer.cjs`),W=require(`./hinkalSolanaSwap.cjs`),G=require(`./hinkalSolanaProxySend.cjs`),K=require(`./hinkalSolanaProxySwap.cjs`),q=require(`./hinkalSolanaProxyShield.cjs`),J=require(`./hinkalDepositAndBridge.cjs`),Y=require(`./hinkalClaimUtxo.cjs`),X=require(`./hinkalSolanaProoflessDeposit.cjs`),Z=require(`./hinkalSolanaClaimUtxo.cjs`),Q=require(`./hinkalWithdrawStuckUtxos.cjs`);let $=require(`@solana/web3.js`);var te=class{ethereumProviderAdapter;solanaProviderAdapter;tronProviderAdapter;userKeys;signingMessage=`Login to Hinkal Protocol`;privateTransferSigningMessage=`Login to Hinkal's Private Transfer App`;merkleTreeHinkalByChain={};nullifiersByChain={};encryptedOutputsByChain={};commitmentsSnapshotServiceByChain={};nullifierSnapshotServiceByChain={};utxoUtils;lastCallState=new Map;cacheDevice;generateProofRemotely;disableMerkleTreeUpdates;constructor(e){this.userKeys=new u.UserKeys(void 0),e?.tronChainOverride&&r.setHinkalTronChainId(e.tronChainOverride),r.HINKAL_SUPPORTED_CHAINS.forEach(e=>{this.merkleTreeHinkalByChain[e]=k.MerkleTree.create(l.poseidonFunction,0n),this.nullifiersByChain[e]=new Set,this.encryptedOutputsByChain[e]=[]}),this.generateProofRemotely=e?.generateProofRemotely??!0,this.utxoUtils=new j.MultiThreadedUtxoUtils,this.cacheDevice=_.createCacheDevice(e),this.disableMerkleTreeUpdates=e?.disableMerkleTreeUpdates??!1}enforceRateLimit(e,n,r=1e3){let i=Date.now(),a=t.CustomJSONStringify(n),o=this.lastCallState.get(e);if(o&&o.argsKey===a&&i-o.timestamp<r)throw Error(`${e} was already called with the same arguments`);this.lastCallState.set(e,{timestamp:i,argsKey:a})}getProviderAdapter(e){let t=e;t||=this.ethereumProviderAdapter?r.chainIds.ethMainnet:this.solanaProviderAdapter?r.currentSolanaChainId:r.chainIds.tronMainnet;let n;if(n=r.isSolanaLike(t)?this.solanaProviderAdapter:r.isTronLike(t)?this.tronProviderAdapter:this.ethereumProviderAdapter,!n)throw Error(`ProviderAdapter is not initialized`);return n}async initProviderAdapter(e,t){let n=r.chainIds.ethMainnet;t instanceof v.SolanaProviderAdapter?n=r.currentSolanaChainId:t instanceof B.TronProviderAdapter&&(n=r.currentTronChainId),await this.updateProviderAdapter(n,t),t.initConnector(e);let i=await t.connectAndPatchProvider(e);await t.init(i),await this.setListeners()}getSigningMessage(e=i.LoginMessageMode.PROTOCOL){switch(e){case i.LoginMessageMode.PRIVATE_TRANSFER:return this.privateTransferSigningMessage;case i.LoginMessageMode.PROTOCOL:default:return this.signingMessage}}async signHinkalMessage(e=i.LoginMessageMode.PROTOCOL){let t=this.getSigningMessage(e);return this.getProviderAdapter().signMessage(t)}async initUserKeys(e=i.LoginMessageMode.PROTOCOL){this.userKeys=new u.UserKeys(await this.signHinkalMessage(e))}initUserKeysWithSignature(e){this.userKeys=new u.UserKeys(e)}async initUserKeysFromSeedPhrases(e){let t=b.generateHashFromSeedPhrases(e);this.userKeys=new u.UserKeys(t)}async storeAndGetInitialSignature(e,t,n){let r=await this.getEthereumAddress();if(!r)throw Error(`Connected address not found`);return await y.storeAndGetSignatureFromEnclave(r,e,t,n)}async resetMerkle(e){this.disableMerkleTreeUpdates||(e?.every(e=>this.isSelectedNetworkSupported(e))??!0)&&await A.resetMerkleTrees(this,e)}getTronWeb(){let e=this.tronProviderAdapter;if(!e)throw Error(`Tron provider adapter not initialized`);if(!(e instanceof B.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?r.WALLET_SUPPORTED_CHAINS:this.ethereumProviderAdapter?r.HINKAL_SUPPORTED_CHAINS.filter(e=>!r.isSolanaLike(e)&&!r.isTronLike(e)):this.solanaProviderAdapter?r.HINKAL_SUPPORTED_CHAINS.filter(e=>r.isSolanaLike(e)):this.tronProviderAdapter?[r.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 h.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 P.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!!r.networkRegistry[e]}async switchNetwork(e){let t=this.getProviderAdapter(),n=t.getChainId(),i=n!==void 0&&r.isSameOnchainNetwork(e.chainId,n);if(!(e.chainId===n||i))try{await t.switchNetwork(e)}catch{throw Error(s.transactionErrorCodes.FAILED_TO_SWITCH_NETWORKS)}}isPermitterAvailable(e){return this.getProviderAdapter(e).isPermitterAvailable()}async disconnectFromConnector(){await this.ethereumProviderAdapter?.disconnectFromConnector(),await this.solanaProviderAdapter?.disconnectFromConnector(),await this.tronProviderAdapter?.disconnectFromConnector()}async resetProviderAdapters(){this.ethereumProviderAdapter=void 0,this.solanaProviderAdapter=void 0,this.tronProviderAdapter=void 0}async updateProviderAdapter(e,t){try{r.isSolanaLike(e)?(this.solanaProviderAdapter&&this.solanaProviderAdapter.release(),this.solanaProviderAdapter=t):r.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(),g.reloadPage())}async monitorConnectedAddress(e){await a.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,this.generateProofRemotely,a,o)}async getTotalBalance(e,t,r,i=!1,a,o=!1){let s=r??await this.getEthereumAddressByChain(e),l=t??this.userKeys,u=await this.getBalances(e,l.getShieldedPrivateKey(),l.getShieldedPublicKey(),s,i,a,o),d=n.isExtension?await f.privateTokensDB.getPrivateTokens(e,s):c.getErc20TokensForChain(e),p=[];return d.forEach(e=>{let t=e.erc20TokenAddress.toLowerCase(),n=u.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){return(await this.getTotalBalance(e,t,n,!1,!1,!0)).filter(e=>e.balance>0n)}getSupportedPassportLinks(){return o.supportedPassportLinks}checkAccessToken(e,t){return Promise.resolve(!0)}checkExternalTokenLimitsUSD(e,t,n){return w.checkTokenLimitsUSD(e,t,n)}async getHinkalTreeRootHash(t){if(r.isSolanaLike(t)){let{hinkalIdl:e,hinkalAddress:n,originalDeployer:i}=r.networkRegistry[t].contractData;if(!e||!n||!i)throw Error(`Missing Solana configuration for chain ${t}`);let a=new $.PublicKey(i),o=m.getMerkleAccountPublicKey(new $.PublicKey(n),a);return x.fetchSolanaMerkleTreeRootHash(this.getSolanaProgram(e),o)}return this.getContractWithFetcherByChainId(t,e.ContractType.HinkalContract).getRootHash()}async resetMerkleTreesIfNecessary(e){let t=(await Promise.all((e??this.getSupportedChains()).map(async e=>{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 a.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 a.API}snapshotsClearInterval(){this.getSupportedChains().forEach(e=>{this.commitmentsSnapshotServiceByChain[e]?.intervalClear(),this.nullifierSnapshotServiceByChain[e]?.intervalClear()})}getRecipientInfo(){return N.getRecipientInfo(this)}async deposit(e,t,n=!0,r=!1){return C.hinkalDeposit(this,e,t,n,r)}async depositSolana(e,t,n=!1){return E.hinkalSolanaDeposit(this,e,t,n)}async depositForOther(e,t,n,r=!0,i=!1,a){return this.enforceRateLimit(this.depositForOther.name,[e,t,n]),C.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]),E.hinkalSolanaDepositForOther(this,e,t,n,r,i)}async depositAndWithdraw(e,t,n,i,a,o,s,c,l=!0){return r.isSolanaLike(d.validateAndGetChainId([e]))?V.hinkalSolanaDepositAndWithdraw(this,e,t,n,i,a,o,s,c):T.hinkalDepositAndWithdraw(this,e,t,n,i,a,o,s,c,l)}async claimUtxo(e,t,n,i){return r.isSolanaLike(d.validateAndGetChainId([e]))?Z.hinkalSolanaClaimUtxo(this,e,t,i,n):Y.hinkalClaimUtxo(this,e,t,i,n)}async depositAndBridge(e,t,n,r,i,a,o,s=!0){return J.hinkalDepositAndBridge(this,e,t,n,r,i,a,o,s)}async prooflessDeposit(e,t,n,i,a=!1){return r.isSolanaLike(d.validateAndGetChainId(e))?X.hinkalSolanaProoflessDeposit(this,e,t,n,i,a):I.hinkalProoflessDeposit(this,e,t,n,i,a)}async prooflessDepositWithPublicFee(e,t,n,i,a){let o=d.validateAndGetChainId([e]);return r.isSolanaLike(o)?E.hinkalSolanaProoflessDepositWithPublicFee(this,e,t,n,i,a):I.hinkalProoflessDepositWithPublicFee(this,o,e,t,n,i,a)}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,n,i,a,o){return this.enforceRateLimit(this.transfer.name,[e,t,n]),r.isSolanaLike(d.validateAndGetChainId(e))?U.hinkalSolanaTransfer(this,e,t,n,i,a,o):R.hinkalTransfer(this,e,t,n,i,a,o)}async withdraw(e,t,n,i,a,o,s){return r.isSolanaLike(d.validateAndGetChainId(e))?H.hinkalSolanaWithdraw(this,e,t,n,a,o,s):O.hinkalWithdraw(this,e,t,n,i,a,o,s)}async withdrawStuckUtxos(e,t){return Q.hinkalWithdrawStuckUtxos(this,e,t)}async swap(e,t,n,i,a,o,s){return r.isSolanaLike(d.validateAndGetChainId(e))?this.swapSolana(e,t,i,a,o,s):D.hinkalSwap(this,e,t,n,i,a,o,s)}async swapSolana(e,t,n,r,i,a){let o=JSON.parse(n),s=BigInt(o.swapperAccountSalt),{instructionLists:c,addressLookupTableAccount:l}=o.data;return W.hinkalSolanaSwap(this,e,t,s,c,l,r,i,a)}async actionReceive(e,t,n,i,a,o){if(!a)throw Error(`subAccount is required`);return r.isSolanaLike(d.validateAndGetChainId(e))?q.hinkalSolanaProxyShield(this,e[0],t[0],a,void 0,o):F.hinkalActionReceive(this,e,t,n,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]),M.hinkalPrivateWallet(this,e,t,n,r,i,a,o,s,c,l,u,d,f,p)}async proxySwap(e,t,n,i,a,o,s,c,l=!1,u,f){return r.isSolanaLike(d.validateAndGetChainId(e))?K.hinkalSolanaProxySwap(this,e,t,i,o,n,s,c,f):ee.hinkalProxySwap(this,e,t,n,i,a,o,s,c,l,u,f)}async proxyToPrivate(e,t,n,i,a,o,s){return r.isSolanaLike(d.validateAndGetChainId(e))?(this.enforceRateLimit(this.proxyToPrivate.name,[e[0],t[0],n,i]),q.hinkalSolanaProxyShield(this,e[0],t[0],n,i,s)):z.hinkalProxyToPrivate(this,e,t,i,a,o,n,s)}async proxySend(e,t,n,i,a,o,s){let c=d.validateAndGetChainId(e);if(r.isSolanaLike(c))return G.hinkalSolanaProxySend(this,e[0],t[0],n,i,s);let l=S.createTransaferEmporiumOpsBatch(this,c,e.map(e=>e.erc20TokenAddress),t,i),u=e.map((e,n)=>({token:e,amount:-1n*t[n]}));return await this.actionPrivateWallet(c,[],[],[],l,u,n,a,o,void 0,void 0,void 0,s,void 0)}async multiSendPrivateRecipients(e,t,n){return this.enforceRateLimit(this.multiSendPrivateRecipients.name,[e,t,n]),L.hinkalMultiSendPrivateRecipients(this,e,t,n)}areMerkleTreeUpdatesDisabled(){return this.disableMerkleTreeUpdates}updateMerkleTreeUpdates(e){this.disableMerkleTreeUpdates=e}};exports.Hinkal=te;
@@ -1,5 +1,6 @@
1
1
  import { ethers } from 'ethers';
2
- import { ApprovedUtxo, ApprovedUtxoWithInteractionAddress, FeeStructure, HinkalConfig, LoginMessageMode } from '../../types/hinkal.types';
2
+ import { Types as TronWebTypes } from 'tronweb';
3
+ import { FeeStructure, HinkalConfig, LoginMessageMode } from '../../types/hinkal.types';
3
4
  import { ContractType, EthereumNetwork } from '../../types/ethereum-network.types';
4
5
  import { EncryptedOutputWithSign } from '../../types/commitments.types';
5
6
  import { ExternalActionId } from '../../types/external-action.types';
@@ -14,7 +15,7 @@ import { ICacheDevice } from '../../types/ICacheDevice';
14
15
  import { StealthAddressStructure, TypedData } from '../../types/circom-data.types';
15
16
  import { SubAccount } from '../../types/proxy.types';
16
17
  import { AdminTransactionType } from '../../types/admin.types';
17
- import { ClientAccessTokenSnapshotService, ClientApprovalsSnapshotService, ClientCommitmentsSnapshotService, ClientNullifierSnapshotService, ClientSolanaAccessTokenSnapshotService, ClientSolanaCommitmentsSnapshotService, ClientSolanaNullifierSnapshotService } from '../snapshot';
18
+ import { ClientCommitmentsSnapshotService, ClientNullifierSnapshotService, ClientSolanaCommitmentsSnapshotService, ClientSolanaNullifierSnapshotService } from '../snapshot';
18
19
  import { Idl, Program } from '@coral-xyz/anchor';
19
20
  import { PublicKey } from '@solana/web3.js';
20
21
  import { BridgeRecipient } from '../../types/bridging-tx.types';
@@ -27,14 +28,10 @@ export declare class Hinkal<ConnectorType> implements IHinkal {
27
28
  readonly signingMessage: string;
28
29
  readonly privateTransferSigningMessage: string;
29
30
  merkleTreeHinkalByChain: Record<number, MerkleTree<bigint>>;
30
- merkleTreeAccessTokenByChain: Record<number, MerkleTree<bigint>>;
31
31
  nullifiersByChain: Record<number, Set<string>>;
32
32
  encryptedOutputsByChain: Record<number, EncryptedOutputWithSign[]>;
33
- approvalsByChain: Record<number, Map<string, ApprovedUtxo[]>>;
34
33
  commitmentsSnapshotServiceByChain: Record<number, ClientCommitmentsSnapshotService | ClientSolanaCommitmentsSnapshotService | undefined>;
35
34
  nullifierSnapshotServiceByChain: Record<number, ClientNullifierSnapshotService | ClientSolanaNullifierSnapshotService | undefined>;
36
- accessTokenSnapshotServiceByChain: Record<number, ClientAccessTokenSnapshotService | ClientSolanaAccessTokenSnapshotService | undefined>;
37
- approvalsSnapshotServiceByChain: Record<number, ClientApprovalsSnapshotService | undefined>;
38
35
  utxoUtils: IMultiThreadedUtxoUtils;
39
36
  private lastCallState;
40
37
  cacheDevice: ICacheDevice;
@@ -45,9 +42,11 @@ export declare class Hinkal<ConnectorType> implements IHinkal {
45
42
  getProviderAdapter(chainId?: number): IProviderAdapter<ConnectorType>;
46
43
  initProviderAdapter(connector: ConnectorType, providerAdapter: IProviderAdapter<ConnectorType>): Promise<void>;
47
44
  getSigningMessage(mode?: LoginMessageMode): string;
45
+ signHinkalMessage(mode?: LoginMessageMode): Promise<string>;
48
46
  initUserKeys(mode?: LoginMessageMode): Promise<void>;
49
47
  initUserKeysWithSignature(signature: string): void;
50
48
  initUserKeysFromSeedPhrases(seedPhrases: string[]): Promise<void>;
49
+ storeAndGetInitialSignature(authSignature: string, isSolanaLedger: boolean, txMessageForSolanaLedger?: string): Promise<string>;
51
50
  resetMerkle(chains?: number[]): Promise<void>;
52
51
  getTronWeb(): import('tronweb').TronWeb;
53
52
  getSupportedChains(): number[];
@@ -70,14 +69,12 @@ export declare class Hinkal<ConnectorType> implements IHinkal {
70
69
  private onChainChanged;
71
70
  monitorConnectedAddress(chainId: number): Promise<void>;
72
71
  getBalances(chainId: number, passedShieldedPrivateKey: string, passedShieldedPublicKey: string, ethAddress: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean, useBlockedUtxos?: boolean): Promise<Map<string, TokenBalance>>;
73
- getApprovedBalances(chainId: number, resetCacheBefore?: boolean, updateTokensListBefore?: boolean): Promise<Map<string, TokenBalance>>;
74
72
  getTotalBalance(chainId: number, _userKeys?: UserKeys, _ethAddress?: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean, useBlockedUtxos?: boolean): Promise<TokenBalance[]>;
75
73
  getStuckShieldedBalances(chainId: number, _userKeys?: UserKeys, _ethAddress?: string): Promise<TokenBalance[]>;
76
74
  getSupportedPassportLinks(): string[];
77
- checkAccessToken(chainId: number, accessKeyOverride?: string): Promise<boolean>;
75
+ checkAccessToken(_chainId: number, _accessKeyOverride?: string): Promise<boolean>;
78
76
  checkExternalTokenLimitsUSD(chainId: number, tokenAddresses: string[], amounts: bigint[]): Promise<boolean>;
79
77
  getHinkalTreeRootHash(chainId: number): Promise<any>;
80
- getAccessTokenTreeRootHash(chainId: number): Promise<any>;
81
78
  resetMerkleTreesIfNecessary(chainIdsToCheck?: number[]): Promise<void>;
82
79
  getEthereumAddress(): Promise<string>;
83
80
  getEthereumAddressByChain(chainId: number): Promise<string>;
@@ -85,25 +82,23 @@ export declare class Hinkal<ConnectorType> implements IHinkal {
85
82
  getGasPrice(chainId: number): Promise<bigint>;
86
83
  getAPI(): IAPI;
87
84
  snapshotsClearInterval(): void;
88
- checkTokenRegistry(chainId: number, erc20Addresses: string[], amountChanges: bigint[]): Promise<boolean>;
89
85
  getRecipientInfo(): string;
90
- getApprovedUtxos(chainId: number, resetCacheBefore?: boolean): ApprovedUtxoWithInteractionAddress[];
91
- getApprovedUtxosForToken(erc20Address: string, chainId: number, resetCacheBefore?: boolean): ApprovedUtxoWithInteractionAddress[];
92
- deposit(erc20Tokens: ERC20Token[], amountChanges: bigint[], preEstimateGas?: boolean, returnTxData?: boolean): Promise<ethers.TransactionResponse | ethers.TransactionRequest>;
93
- depositSolana(amount: bigint, token: ERC20Token): Promise<string>;
94
- depositForOther(erc20Tokens: ERC20Token[], amountChanges: bigint[], recipientInfo: string, preEstimateGas?: boolean, returnTxData?: boolean): Promise<ethers.TransactionResponse | ethers.TransactionRequest>;
95
- depositSolanaForOther(amount: bigint, token: ERC20Token, recipientInfo: string): Promise<string>;
96
- depositAndWithdraw(erc20Token: ERC20Token, recipientAmounts: bigint[], recipientAddresses: string[], txCompletionTime?: number, feeStructureOverride?: FeeStructure, ref?: string, action?: AdminTransactionType, preEstimateGas?: boolean): Promise<string>;
97
- claimUtxo(erc20Token: ERC20Token, utxo: Utxo, feeStructureOverride?: FeeStructure, action?: AdminTransactionType): Promise<string>;
98
- depositAndBridge(erc20Token: ERC20Token, recipientBridges: BridgeRecipient[], txCompletionTime?: number, feeStructureOverride?: FeeStructure, ref?: string, action?: AdminTransactionType, preEstimateGas?: boolean): Promise<string>;
99
- prooflessDeposit(erc20Tokens: ERC20Token[], amountChanges: bigint[], stealthAddressStructures?: StealthAddressStructure[], action?: AdminTransactionType): Promise<string>;
86
+ deposit(erc20Tokens: ERC20Token[], amountChanges: bigint[], preEstimateGas?: boolean, returnTxData?: boolean): Promise<ethers.TransactionResponse | ethers.TransactionRequest | string | TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
87
+ depositSolana(amount: bigint, token: ERC20Token, returnTxData?: boolean): Promise<string>;
88
+ depositForOther(erc20Tokens: ERC20Token[], amountChanges: bigint[], recipientInfo: string, preEstimateGas?: boolean, returnTxData?: boolean, action?: AdminTransactionType): Promise<ethers.TransactionResponse | ethers.TransactionRequest | string | TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
89
+ depositSolanaForOther(amount: bigint, token: ERC20Token, recipientInfo: string, returnTxData?: boolean, action?: AdminTransactionType): Promise<string>;
90
+ depositAndWithdraw(erc20Token: ERC20Token, recipientAmounts: bigint[], recipientAddresses: string[], txCompletionTime?: number, feeStructureOverride?: FeeStructure, ref?: string, action?: AdminTransactionType, dashboardAccountId?: string, preEstimateGas?: boolean): Promise<string>;
91
+ claimUtxo(erc20Token: ERC20Token, utxo: Utxo, claimableSignature?: string, feeStructureOverride?: FeeStructure): Promise<string>;
92
+ depositAndBridge(erc20Token: ERC20Token, recipientBridges: BridgeRecipient[], txCompletionTime?: number, feeStructureOverride?: FeeStructure, ref?: string, action?: AdminTransactionType, dashboardAccountId?: string, preEstimateGas?: boolean): Promise<string>;
93
+ prooflessDeposit(erc20Tokens: ERC20Token[], amountChanges: bigint[], stealthAddressStructures?: StealthAddressStructure[], action?: AdminTransactionType, returnTxData?: boolean): Promise<string | ethers.TransactionRequest | TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
94
+ prooflessDepositWithPublicFee(erc20Token: ERC20Token, amounts: bigint[], stealthAddressStructures: StealthAddressStructure[], feeAmount: bigint, action?: AdminTransactionType): Promise<string>;
100
95
  getSolanaProgram(idl: Idl): Program;
101
96
  getSolanaPublicKey(): PublicKey;
102
97
  transfer(erc20Tokens: ERC20Token[], amountChanges: bigint[], recipientAddress: string, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType): Promise<string>;
103
98
  withdraw(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], recipientAddress: string, isRelayerOff: boolean, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType): Promise<ethers.TransactionResponse | string>;
104
99
  withdrawStuckUtxos(erc20Token: ERC20Token, recipientAddress: string): Promise<string[]>;
105
100
  swap(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], externalActionId: ExternalActionId, swapData: string, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType): Promise<string>;
106
- swapSolana(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], swapData: string, feeToken?: string, feeStructureOverride?: FeeStructure): Promise<string>;
101
+ swapSolana(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], swapData: string, feeToken?: string, feeStructureOverride?: FeeStructure, action?: AdminTransactionType): Promise<string>;
107
102
  actionReceive(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], feeToken?: string, feeStructureOverride?: FeeStructure, subAccount?: SubAccount, action?: AdminTransactionType): Promise<string>;
108
103
  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>;
109
104
  proxySwap(erc20Tokens: ERC20Token[], deltaAmounts: bigint[], externalActionId: ExternalActionId, swapData: string, isTheSameChainSwap: boolean, subAccount: SubAccount, feeToken?: string, feeStructureOverride?: FeeStructure, autoDepositBack?: boolean, maxGasInDollar?: string, action?: AdminTransactionType): Promise<string>;