@gurge/sdk 0.3.13 → 0.3.15

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 (321) hide show
  1. package/README.md +184 -32
  2. package/common/src/API/API.cjs +1 -1
  3. package/common/src/API/API.d.ts +0 -5
  4. package/common/src/API/API.mjs +114 -119
  5. package/common/src/API/TokenCallsCachedHelper.cjs +1 -0
  6. package/common/src/API/TokenCallsCachedHelper.d.ts +15 -0
  7. package/common/src/API/TokenCallsCachedHelper.mjs +62 -0
  8. package/common/src/API/callLifiAPI.cjs +1 -1
  9. package/common/src/API/callLifiAPI.mjs +2 -7
  10. package/common/src/API/enclaveUtxoCalls.cjs +1 -1
  11. package/common/src/API/enclaveUtxoCalls.mjs +6 -7
  12. package/common/src/API/getServerURL.cjs +1 -1
  13. package/common/src/API/getServerURL.mjs +2 -2
  14. package/common/src/API/scheduled-transactions-calls.cjs +1 -1
  15. package/common/src/API/scheduled-transactions-calls.mjs +3 -3
  16. package/common/src/API/token-calls.cjs +1 -1
  17. package/common/src/API/token-calls.d.ts +1 -1
  18. package/common/src/API/token-calls.mjs +3 -13
  19. package/common/src/constants/chains.constants.cjs +1 -1
  20. package/common/src/constants/chains.constants.d.ts +1 -0
  21. package/common/src/constants/chains.constants.mjs +3 -2
  22. package/common/src/constants/deploy-data/mergeDeployData.cjs +1 -1
  23. package/common/src/constants/deploy-data/mergeDeployData.mjs +11 -10
  24. package/common/src/constants/deploy-data/shared-deploy-data-tron.json.cjs +1 -1
  25. package/common/src/constants/deploy-data/shared-deploy-data-tron.json.mjs +60 -3517
  26. package/common/src/constants/events.constants.cjs +1 -1
  27. package/common/src/constants/events.constants.mjs +3 -1
  28. package/common/src/constants/index.cjs +1 -1
  29. package/common/src/constants/index.d.ts +0 -3
  30. package/common/src/constants/index.mjs +0 -3
  31. package/common/src/constants/lifi.constants.cjs +1 -1
  32. package/common/src/constants/lifi.constants.mjs +3 -6
  33. package/common/src/constants/mediaUrls.constants.d.ts +0 -1
  34. package/common/src/constants/rewards.constants.d.ts +0 -2
  35. package/common/src/constants/server.constants.cjs +1 -1
  36. package/common/src/constants/server.constants.d.ts +1 -5
  37. package/common/src/constants/server.constants.mjs +3 -8
  38. package/common/src/constants/vite.constants.cjs +1 -1
  39. package/common/src/constants/vite.constants.d.ts +1 -0
  40. package/common/src/constants/vite.constants.mjs +3 -3
  41. package/common/src/crypto/BabyJubRN.cjs +1 -0
  42. package/common/src/crypto/BabyJubRN.d.ts +18 -0
  43. package/common/src/crypto/BabyJubRN.mjs +33 -0
  44. package/common/src/crypto/babyJub.cjs +1 -1
  45. package/common/src/crypto/babyJub.mjs +7 -5
  46. package/common/src/crypto/poseidon.cjs +1 -1
  47. package/common/src/crypto/poseidon.mjs +22 -12
  48. package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
  49. package/common/src/data-structures/Hinkal/Hinkal.d.ts +10 -6
  50. package/common/src/data-structures/Hinkal/Hinkal.mjs +104 -113
  51. package/common/src/data-structures/Hinkal/IHinkal.d.ts +9 -5
  52. package/common/src/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
  53. package/common/src/data-structures/Hinkal/handleAutoDepositBack.mjs +37 -37
  54. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.cjs +1 -1
  55. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.d.ts +2 -2
  56. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.mjs +8 -5
  57. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
  58. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.d.ts +2 -2
  59. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +4 -1
  60. package/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.cjs +1 -1
  61. package/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.mjs +1 -1
  62. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
  63. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.mjs +4 -4
  64. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.cjs +1 -1
  65. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.mjs +3 -3
  66. package/common/src/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.cjs +1 -1
  67. package/common/src/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.mjs +15 -15
  68. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  69. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +2 -2
  70. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +4 -1
  71. package/common/src/data-structures/Hinkal/index.d.ts +0 -1
  72. package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.cjs +1 -1
  73. package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.mjs +1 -1
  74. package/common/src/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
  75. package/common/src/data-structures/Hinkal/resetMerkleTrees.mjs +29 -31
  76. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +1 -1
  77. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +7 -6
  78. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.cjs +1 -1
  79. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.mjs +18 -18
  80. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
  81. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.mjs +43 -43
  82. package/common/src/data-structures/TokenDBs/PublicTokensDB.cjs +1 -1
  83. package/common/src/data-structures/TokenDBs/PublicTokensDB.mjs +23 -20
  84. package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.cjs +1 -0
  85. package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.d.ts +9 -0
  86. package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.mjs +41 -0
  87. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.cjs +1 -0
  88. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.d.ts +9 -0
  89. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.mjs +47 -0
  90. package/common/src/data-structures/TokenDBs/index.cjs +1 -1
  91. package/common/src/data-structures/TokenDBs/index.d.ts +2 -0
  92. package/common/src/data-structures/TokenDBs/index.mjs +2 -0
  93. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +3 -3
  94. package/common/src/data-structures/event-service/evm/ClientBlockchainEventEmitter.d.ts +2 -2
  95. package/common/src/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.d.ts +2 -2
  96. package/common/src/data-structures/event-service/solana/SolanaBlockchainEventEmitter.d.ts +3 -3
  97. package/common/src/data-structures/index.d.ts +1 -0
  98. package/common/src/data-structures/private-balances/BalanceChangedHandler.cjs +1 -0
  99. package/common/src/data-structures/private-balances/BalanceChangedHandler.d.ts +9 -0
  100. package/common/src/data-structures/private-balances/BalanceChangedHandler.mjs +12 -0
  101. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.cjs +1 -0
  102. package/common/src/data-structures/{Hinkal → private-balances}/HinkalPrivateBalanceController.d.ts +4 -2
  103. package/common/src/data-structures/{Hinkal → private-balances}/HinkalPrivateBalanceController.mjs +34 -90
  104. package/common/src/data-structures/private-balances/index.cjs +1 -0
  105. package/common/src/data-structures/private-balances/index.d.ts +3 -0
  106. package/common/src/data-structures/private-balances/index.mjs +3 -0
  107. package/common/src/data-structures/private-balances/privateBalancesReducer.cjs +1 -0
  108. package/common/src/data-structures/private-balances/privateBalancesReducer.d.ts +2 -0
  109. package/common/src/data-structures/private-balances/privateBalancesReducer.mjs +73 -0
  110. package/common/src/data-structures/token-price-fetcher/TokenChecker.cjs +1 -1
  111. package/common/src/data-structures/token-price-fetcher/TokenChecker.mjs +5 -5
  112. package/common/src/error-handling/error-codes.constants.cjs +1 -1
  113. package/common/src/error-handling/error-codes.constants.d.ts +2 -5
  114. package/common/src/error-handling/error-codes.constants.mjs +3 -6
  115. package/common/src/externalABIs/index.cjs +1 -1
  116. package/common/src/externalABIs/index.d.ts +1 -36
  117. package/common/src/externalABIs/index.mjs +3 -5
  118. package/common/src/functions/index.cjs +1 -1
  119. package/common/src/functions/index.d.ts +0 -1
  120. package/common/src/functions/index.mjs +4 -5
  121. package/common/src/functions/pre-transaction/buildCommitmentValidationData.cjs +1 -1
  122. package/common/src/functions/pre-transaction/buildCommitmentValidationData.mjs +37 -36
  123. package/common/src/functions/pre-transaction/merge-with-fee-structure-emporium.cjs +1 -1
  124. package/common/src/functions/pre-transaction/merge-with-fee-structure-emporium.mjs +4 -4
  125. package/common/src/functions/pre-transaction/sendV0Transaction.cjs +2 -2
  126. package/common/src/functions/pre-transaction/sendV0Transaction.mjs +54 -42
  127. package/common/src/functions/private-wallet/emporium.helpers.cjs +1 -1
  128. package/common/src/functions/private-wallet/emporium.helpers.mjs +17 -17
  129. package/common/src/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
  130. package/common/src/functions/private-wallet/emporium.swap.helpers.mjs +16 -16
  131. package/common/src/functions/snarkjs/common.snarkjs.cjs +1 -1
  132. package/common/src/functions/snarkjs/common.snarkjs.d.ts +9 -1
  133. package/common/src/functions/snarkjs/common.snarkjs.mjs +13 -9
  134. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.cjs +1 -1
  135. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.d.ts +2 -3
  136. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.mjs +49 -32
  137. package/common/src/functions/utils/abi.utils.cjs +1 -0
  138. package/common/src/functions/utils/abi.utils.d.ts +3 -0
  139. package/common/src/functions/utils/abi.utils.mjs +5 -0
  140. package/common/src/functions/utils/bigint-math.utils.cjs +1 -0
  141. package/common/src/functions/utils/bigint-math.utils.d.ts +2 -0
  142. package/common/src/functions/utils/bigint-math.utils.mjs +12 -0
  143. package/common/src/functions/utils/dispatchBalanceRefreshes.cjs +1 -1
  144. package/common/src/functions/utils/dispatchBalanceRefreshes.mjs +1 -1
  145. package/common/src/functions/utils/enclaveHandshakeService.cjs +1 -0
  146. package/common/src/functions/utils/enclaveHandshakeService.d.ts +10 -0
  147. package/common/src/functions/utils/enclaveHandshakeService.mjs +22 -0
  148. package/common/src/functions/utils/encryptInputForEnclave.cjs +1 -1
  149. package/common/src/functions/utils/encryptInputForEnclave.mjs +23 -25
  150. package/common/src/functions/utils/erc20tokenFunctions.cjs +1 -1
  151. package/common/src/functions/utils/erc20tokenFunctions.d.ts +4 -1
  152. package/common/src/functions/utils/erc20tokenFunctions.mjs +28 -12
  153. package/common/src/functions/utils/evmNetworkFunctions.cjs +1 -1
  154. package/common/src/functions/utils/evmNetworkFunctions.d.ts +1 -0
  155. package/common/src/functions/utils/evmNetworkFunctions.mjs +4 -0
  156. package/common/src/functions/utils/getUtxosFromReceipt.utils.cjs +1 -1
  157. package/common/src/functions/utils/getUtxosFromReceipt.utils.mjs +10 -10
  158. package/common/src/functions/utils/index.cjs +1 -1
  159. package/common/src/functions/utils/index.d.ts +4 -0
  160. package/common/src/functions/utils/index.mjs +4 -0
  161. package/common/src/functions/utils/map.utils.cjs +1 -0
  162. package/common/src/functions/utils/map.utils.d.ts +1 -0
  163. package/common/src/functions/utils/map.utils.mjs +9 -0
  164. package/common/src/functions/utils/mutexes.utils.cjs +1 -1
  165. package/common/src/functions/utils/mutexes.utils.d.ts +2 -2
  166. package/common/src/functions/utils/mutexes.utils.mjs +4 -3
  167. package/common/src/functions/utils/process.utils.cjs +1 -1
  168. package/common/src/functions/utils/process.utils.d.ts +1 -0
  169. package/common/src/functions/utils/process.utils.mjs +7 -2
  170. package/common/src/functions/utils/tron.utils.cjs +1 -1
  171. package/common/src/functions/utils/tron.utils.d.ts +1 -0
  172. package/common/src/functions/utils/tron.utils.mjs +1 -1
  173. package/common/src/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
  174. package/common/src/functions/web3/events/getInputUtxoAndBalance.mjs +26 -26
  175. package/common/src/functions/web3/events/getShieldedBalance.cjs +1 -1
  176. package/common/src/functions/web3/events/getShieldedBalance.mjs +29 -11
  177. package/common/src/functions/web3/events/index.cjs +1 -1
  178. package/common/src/functions/web3/events/index.d.ts +0 -1
  179. package/common/src/functions/web3/events/index.mjs +0 -1
  180. package/common/src/functions/web3/functionCalls/transactCallDirect.cjs +1 -1
  181. package/common/src/functions/web3/functionCalls/transactCallDirect.mjs +4 -4
  182. package/common/src/functions/web3/functionCalls/waitForErc20Approvals.cjs +1 -1
  183. package/common/src/functions/web3/functionCalls/waitForErc20Approvals.mjs +10 -10
  184. package/common/src/functions/web3/index.cjs +1 -1
  185. package/common/src/functions/web3/index.mjs +0 -1
  186. package/common/src/functions/web3/lifiAPI.cjs +1 -1
  187. package/common/src/functions/web3/lifiAPI.mjs +7 -38
  188. package/common/src/functions/web3/oneInchAPI.cjs +1 -1
  189. package/common/src/functions/web3/oneInchAPI.mjs +10 -10
  190. package/common/src/functions/web3/uniswapAPI.cjs +1 -1
  191. package/common/src/functions/web3/uniswapAPI.mjs +16 -16
  192. package/common/src/mutexes/chainBalanceRwLock.cjs +1 -0
  193. package/common/src/mutexes/chainBalanceRwLock.d.ts +18 -0
  194. package/common/src/mutexes/chainBalanceRwLock.mjs +31 -0
  195. package/common/src/mutexes/index.d.ts +1 -0
  196. package/common/src/types/cache.types.cjs +1 -1
  197. package/common/src/types/cache.types.d.ts +2 -0
  198. package/common/src/types/cache.types.mjs +1 -1
  199. package/common/src/types/commitments.types.d.ts +0 -10
  200. package/common/src/types/hinkal.types.cjs +1 -1
  201. package/common/src/types/hinkal.types.d.ts +4 -7
  202. package/common/src/types/hinkal.types.mjs +1 -1
  203. package/common/src/types/index.cjs +1 -1
  204. package/common/src/types/index.d.ts +0 -1
  205. package/common/src/types/index.mjs +1 -2
  206. package/common/src/types/new-rewards.type.cjs +1 -1
  207. package/common/src/types/new-rewards.type.d.ts +0 -1
  208. package/common/src/types/new-rewards.type.mjs +1 -1
  209. package/common/src/types/scheduled-transactions.types.d.ts +5 -0
  210. package/common/src/webworker/logError-BTCYh_YM.js +2 -0
  211. package/common/src/webworker/package.json +34 -4
  212. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
  213. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
  214. package/common/src/webworker/snarkjsWorkerNode.cjs +1 -1
  215. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
  216. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
  217. package/common/src/webworker/utxoWorkerNode.cjs +1 -1
  218. package/common/src/webworker/viteWorkerURL.constant.cjs +4 -4
  219. package/common/src/webworker/viteWorkerURL.constant.mjs +4 -4
  220. package/common/src/webworker/workerFactory.cjs +1 -1
  221. package/common/src/webworker/workerFactory.d.ts +1 -0
  222. package/common/src/webworker/workerFactory.mjs +3 -2
  223. package/common/src/webworker/workerProxy-DPeuP2Mg.js +1 -0
  224. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
  225. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
  226. package/common/src/webworker/zkProofWorkerNode.cjs +1 -1
  227. package/functions/index.cjs +1 -1
  228. package/functions/index.mjs +0 -4
  229. package/functions/integrations/index.cjs +1 -1
  230. package/functions/integrations/index.mjs +0 -4
  231. package/functions/integrations/swapApi.cjs +1 -1
  232. package/functions/integrations/swapApi.d.ts +21 -7
  233. package/functions/integrations/swapApi.mjs +29 -10
  234. package/functions/utils/refreshBalance.cjs +1 -1
  235. package/functions/utils/refreshBalance.mjs +2 -2
  236. package/index.cjs +1 -1
  237. package/index.mjs +4 -8
  238. package/internal/token.utils.cjs +1 -1
  239. package/internal/token.utils.d.ts +1 -3
  240. package/internal/token.utils.mjs +10 -21
  241. package/package.json +34 -4
  242. package/react-native/HinkalWebViewWorker.cjs +98 -0
  243. package/react-native/HinkalWebViewWorker.d.ts +2 -0
  244. package/react-native/HinkalWebViewWorker.mjs +174 -0
  245. package/react-native/bridge/HinkalRNWorker.cjs +1 -0
  246. package/react-native/bridge/HinkalRNWorker.d.ts +13 -0
  247. package/react-native/bridge/HinkalRNWorker.mjs +26 -0
  248. package/react-native/bridge/serialization.utils.cjs +1 -0
  249. package/react-native/bridge/serialization.utils.d.ts +3 -0
  250. package/react-native/bridge/serialization.utils.mjs +13 -0
  251. package/react-native/metro-config.js +90 -0
  252. package/react-native/shims/circomlibjs-hinkal-fork.js +14 -0
  253. package/react-native/shims/circomlibjs.js +15 -0
  254. package/react-native/shims/constants.js +7 -0
  255. package/react-native/shims/crypto.js +103 -0
  256. package/react-native/shims/ffjavascript.js +5 -0
  257. package/react-native/shims/fs.js +5 -0
  258. package/react-native/shims/globals.js +10 -0
  259. package/react-native/shims/idb-keyval.js +75 -0
  260. package/react-native/shims/multiformats.js +1 -0
  261. package/react-native/shims/os.js +7 -0
  262. package/react-native/shims/path.js +11 -0
  263. package/react-native/shims/readline.js +6 -0
  264. package/react-native/shims/snarkjs.js +21 -0
  265. package/react-native/shims/url.js +5 -0
  266. package/react-native/shims/web-worker.js +7 -0
  267. package/react-native/shims/worker_threads.js +6 -0
  268. package/react-native/shims.d.ts +16 -0
  269. package/react-native/workerCDNUrls.cjs +1 -0
  270. package/react-native/workerCDNUrls.d.ts +2 -0
  271. package/react-native/workerCDNUrls.mjs +14 -0
  272. package/sdk/package.json.cjs +1 -0
  273. package/sdk/package.json.mjs +130 -0
  274. package/services/Hinkal.cjs +1 -1
  275. package/services/Hinkal.d.ts +6 -5
  276. package/services/Hinkal.mjs +50 -48
  277. package/types/IHinkal.d.ts +6 -5
  278. package/common/src/API/kycCalls.cjs +0 -1
  279. package/common/src/API/kycCalls.d.ts +0 -14
  280. package/common/src/API/kycCalls.mjs +0 -26
  281. package/common/src/constants/assets.constants.cjs +0 -1
  282. package/common/src/constants/assets.constants.d.ts +0 -13
  283. package/common/src/constants/assets.constants.mjs +0 -4
  284. package/common/src/constants/kyc.constants.cjs +0 -1
  285. package/common/src/constants/kyc.constants.d.ts +0 -29
  286. package/common/src/constants/kyc.constants.mjs +0 -126
  287. package/common/src/constants/token.limits.constants.cjs +0 -1
  288. package/common/src/constants/token.limits.constants.d.ts +0 -5
  289. package/common/src/constants/token.limits.constants.mjs +0 -3
  290. package/common/src/data-structures/Hinkal/HinkalPrivateBalanceController.cjs +0 -1
  291. package/common/src/data-structures/Hinkal/hinkalGetZkMeProvider.cjs +0 -1
  292. package/common/src/data-structures/Hinkal/hinkalGetZkMeProvider.d.ts +0 -28
  293. package/common/src/data-structures/Hinkal/hinkalGetZkMeProvider.mjs +0 -22
  294. package/common/src/externalABIs/BabPassport.json.cjs +0 -1
  295. package/common/src/externalABIs/BabPassport.json.mjs +0 -20
  296. package/common/src/externalABIs/GalxePassport.json.cjs +0 -1
  297. package/common/src/externalABIs/GalxePassport.json.mjs +0 -37
  298. package/common/src/functions/kyc/aiPriseHelper.d.ts +0 -0
  299. package/common/src/functions/kyc/checkTokenLimitsUSD.cjs +0 -1
  300. package/common/src/functions/kyc/checkTokenLimitsUSD.d.ts +0 -1
  301. package/common/src/functions/kyc/checkTokenLimitsUSD.mjs +0 -29
  302. package/common/src/functions/kyc/index.cjs +0 -1
  303. package/common/src/functions/kyc/index.d.ts +0 -3
  304. package/common/src/functions/kyc/index.mjs +0 -3
  305. package/common/src/functions/kyc/openDefaultPassportWindow.cjs +0 -1
  306. package/common/src/functions/kyc/openDefaultPassportWindow.d.ts +0 -1
  307. package/common/src/functions/kyc/openDefaultPassportWindow.mjs +0 -7
  308. package/common/src/functions/kyc/passportHelper.cjs +0 -1
  309. package/common/src/functions/kyc/passportHelper.d.ts +0 -3
  310. package/common/src/functions/kyc/passportHelper.mjs +0 -1
  311. package/common/src/functions/kyc/zkMeHelper.cjs +0 -1
  312. package/common/src/functions/kyc/zkMeHelper.d.ts +0 -4
  313. package/common/src/functions/kyc/zkMeHelper.mjs +0 -42
  314. package/common/src/functions/web3/events/balanceChangedHandler.cjs +0 -1
  315. package/common/src/functions/web3/events/balanceChangedHandler.d.ts +0 -5
  316. package/common/src/functions/web3/events/balanceChangedHandler.mjs +0 -21
  317. package/common/src/types/kyc.types.cjs +0 -1
  318. package/common/src/types/kyc.types.d.ts +0 -41
  319. package/common/src/types/kyc.types.mjs +0 -10
  320. package/common/src/webworker/logError-CmD5XYI9.js +0 -2
  321. package/common/src/webworker/workerProxy-C49-EPZz.js +0 -1
@@ -2,66 +2,64 @@ import { CustomJSONStringify as e } from "../../functions/utils/serialize.utils.
2
2
  import { isExtension as t } from "../../constants/vite.constants.mjs";
3
3
  import { HINKAL_SUPPORTED_CHAINS as n, WALLET_SUPPORTED_CHAINS as r, chainIds as i, currentSolanaChainId as a, currentTronChainId as o, isSameOnchainNetwork as s, isSolanaLike as c, isTronLike as l, networkRegistry as u, setHinkalTronChainId as d } from "../../constants/chains.constants.mjs";
4
4
  import { DETERMINISTIC_SOLANA_LEDGER_BLOCKHASH as f, DETERMINISTIC_SOLANA_LEDGER_LAST_VALID_BLOCK_HEIGHT as p } from "../../constants/protocol.constants.mjs";
5
- import { EventType as ee, LoginMessageMode as m } from "../../types/hinkal.types.mjs";
6
- import { ContractType as te } from "../../types/ethereum-network.types.mjs";
7
- import { poseidonFunction as ne } from "../../crypto/poseidon.mjs";
8
- import { transactionErrorCodes as re } from "../../error-handling/error-codes.constants.mjs";
9
- import { UserKeys as h } from "../crypto-keys/keys.mjs";
10
- import { API as g } from "../../API/API.mjs";
11
- import { validateAndGetChainId as _ } from "../../functions/utils/token-check.utils.mjs";
12
- import { privateTokensDB as v } from "../TokenDBs/PrivateTokensDB.mjs";
13
- import { getErc20TokensForChainAPI as y } from "../../functions/utils/erc20tokenFunctions.mjs";
14
- import { getShieldedBalance as b } from "../../functions/web3/events/getShieldedBalance.mjs";
15
- import { getMerkleAccountPublicKey as x } from "../../functions/pre-transaction/solana.mjs";
16
- import { getContractWithFetcherByChainId as S } from "../../functions/web3/getContractMetadata.mjs";
17
- import { supportedPassportLinks as C } from "../../constants/kyc.constants.mjs";
5
+ import { EventType as m, LoginMessageMode as h } from "../../types/hinkal.types.mjs";
6
+ import { poseidonFunction as ee } from "../../crypto/poseidon.mjs";
7
+ import { transactionErrorCodes as g } from "../../error-handling/error-codes.constants.mjs";
8
+ import { UserKeys as _ } from "../crypto-keys/keys.mjs";
9
+ import { getScheduledTransactionById as te } from "../../API/scheduled-transactions-calls.mjs";
10
+ import { API as v } from "../../API/API.mjs";
11
+ import { validateAndGetChainId as y } from "../../functions/utils/token-check.utils.mjs";
12
+ import { privateTokensDB as b } from "../TokenDBs/PrivateTokensDB.mjs";
13
+ import { getErc20TokensForChainAPI as x } from "../../functions/utils/erc20tokenFunctions.mjs";
14
+ import { getShieldedBalance as S } from "../../functions/web3/events/getShieldedBalance.mjs";
15
+ import { getContractWithFetcherByChainId as C } from "../../functions/web3/getContractMetadata.mjs";
18
16
  import { reloadPage as w } from "../../functions/utils/reloadPage.mjs";
19
17
  import { createCacheDevice as T } from "../../functions/utils/cacheDevice.utils.mjs";
20
18
  import { SolanaProviderAdapter as E } from "../../providers/SolanaProviderAdapter.mjs";
21
19
  import { storeAndGetSignatureFromEnclave as D } from "../../functions/utils/enclave-signature-storage.mjs";
22
20
  import { generateHashFromSeedPhrases as O } from "../../functions/utils/mnemonics.mjs";
23
- import { fetchSolanaMerkleTreeRootHash as k } from "../../functions/web3/fetchSolanaMerkleTreeRootHash.mjs";
21
+ import { fetchOnChainRootHashes as k } from "../../functions/snarkjs/fetchOnChainRootHashes.mjs";
24
22
  import { createTransaferEmporiumOpsBatch as A } from "../../functions/private-wallet/emporium.helpers.mjs";
25
23
  import { hinkalDeposit as j, hinkalDepositForOther as M } from "./hinkalDeposit.mjs";
26
- import "../../API/index.mjs";
27
- import { checkTokenLimitsUSD as N } from "../../functions/kyc/checkTokenLimitsUSD.mjs";
28
24
  import "../../functions/index.mjs";
29
- import { hinkalDepositAndWithdraw as P } from "./hinkalDepositAndWithdraw.mjs";
30
- import { hinkalSolanaDeposit as F, hinkalSolanaDepositForOther as I, hinkalSolanaProoflessDepositWithPublicFee as L } from "./hinkalSolanaDeposit.mjs";
31
- import { hinkalSwap as R } from "./hinkalSwap.mjs";
32
- import { hinkalWithdraw as z } from "./hinkalWithdraw.mjs";
33
- import { MerkleTree as B } from "../merkle-tree/MerkleTree.mjs";
25
+ import { hinkalDepositAndWithdraw as N } from "./hinkalDepositAndWithdraw.mjs";
26
+ import { hinkalSolanaDeposit as P, hinkalSolanaDepositForOther as F, hinkalSolanaProoflessDepositWithPublicFee as I } from "./hinkalSolanaDeposit.mjs";
27
+ import { hinkalSwap as L } from "./hinkalSwap.mjs";
28
+ import { hinkalWithdraw as R } from "./hinkalWithdraw.mjs";
29
+ import { MerkleTree as z } from "../merkle-tree/MerkleTree.mjs";
34
30
  import "../merkle-tree/index.mjs";
35
- import { resetMerkleTrees as V } from "./resetMerkleTrees.mjs";
36
- import { MultiThreadedUtxoUtils as ie } from "../MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.mjs";
31
+ import { resetMerkleTrees as B } from "./resetMerkleTrees.mjs";
32
+ import "../../API/index.mjs";
33
+ import { MultiThreadedUtxoUtils as V } from "../MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.mjs";
37
34
  import { hinkalPrivateWallet as H } from "./hinkalPrivateWallet.mjs";
38
- import { getRecipientInfo as U } from "./hinkalGetRecipientInfo.mjs";
39
- import { hinkalSignSubAccount as W } from "./hinkalSignSubAccount.mjs";
40
- import { hinkalActionReceive as G } from "./hinkalActionReceive.mjs";
35
+ import { getRecipientInfo as ne } from "./hinkalGetRecipientInfo.mjs";
36
+ import { hinkalSignSubAccount as U } from "./hinkalSignSubAccount.mjs";
37
+ import { hinkalActionReceive as W } from "./hinkalActionReceive.mjs";
41
38
  import "../TokenDBs/index.mjs";
42
- import { hinkalProoflessDeposit as K, hinkalProoflessDepositWithPublicFee as q } from "./hinkalProoflessDeposit.mjs";
43
- import { hinkalProxySwap as J } from "./hinkalProxySwap.mjs";
44
- import { hinkalMultiSendPrivateRecipients as Y } from "./hinkalMultiSend.mjs";
45
- import { hinkalTransfer as ae } from "./hinkalTransfer.mjs";
46
- import { hinkalProxyToPrivate as oe } from "./hinkalProxyToPrivate.mjs";
47
- import { TronProviderAdapter as X } from "../../providers/TronProviderAdapter.mjs";
48
- import { hinkalSolanaDepositAndWithdraw as se } from "./hinkalSolanaDepositAndWithdraw.mjs";
49
- import { hinkalSolanaWithdraw as ce } from "./hinkalSolanaWithdraw.mjs";
50
- import { hinkalSolanaTransfer as le } from "./hinkalSolanaTransfer.mjs";
51
- import { hinkalSolanaSwap as ue } from "./hinkalSolanaSwap.mjs";
52
- import { hinkalSolanaProxySend as de } from "./hinkalSolanaProxySend.mjs";
53
- import { hinkalSolanaProxySwap as fe } from "./hinkalSolanaProxySwap.mjs";
54
- import { hinkalSolanaProxyShield as Z } from "./hinkalSolanaProxyShield.mjs";
55
- import { hinkalDepositAndBridge as pe } from "./hinkalDepositAndBridge.mjs";
56
- import { hinkalNearDepositAndBridge as me } from "./hinkalNearDepositAndBridge.mjs";
57
- import { hinkalClaimUtxo as Q } from "./hinkalClaimUtxo.mjs";
58
- import { hinkalSolanaProoflessDeposit as he } from "./hinkalSolanaProoflessDeposit.mjs";
59
- import { hinkalSolanaClaimUtxo as ge } from "./hinkalSolanaClaimUtxo.mjs";
60
- import { hinkalWithdrawStuckUtxos as _e } from "./hinkalWithdrawStuckUtxos.mjs";
61
- import { HinkalPrivateBalanceController as ve } from "./HinkalPrivateBalanceController.mjs";
62
- import { PublicKey as $, Transaction as ye } from "@solana/web3.js";
39
+ import { hinkalProoflessDeposit as G, hinkalProoflessDepositWithPublicFee as K } from "./hinkalProoflessDeposit.mjs";
40
+ import { hinkalProxySwap as q } from "./hinkalProxySwap.mjs";
41
+ import { hinkalMultiSendPrivateRecipients as J } from "./hinkalMultiSend.mjs";
42
+ import { hinkalTransfer as Y } from "./hinkalTransfer.mjs";
43
+ import { hinkalProxyToPrivate as X } from "./hinkalProxyToPrivate.mjs";
44
+ import { TronProviderAdapter as Z } from "../../providers/TronProviderAdapter.mjs";
45
+ import { hinkalSolanaDepositAndWithdraw as re } from "./hinkalSolanaDepositAndWithdraw.mjs";
46
+ import { hinkalSolanaWithdraw as ie } from "./hinkalSolanaWithdraw.mjs";
47
+ import { hinkalSolanaTransfer as ae } from "./hinkalSolanaTransfer.mjs";
48
+ import { hinkalSolanaSwap as oe } from "./hinkalSolanaSwap.mjs";
49
+ import { hinkalSolanaProxySend as se } from "./hinkalSolanaProxySend.mjs";
50
+ import { hinkalSolanaProxySwap as Q } from "./hinkalSolanaProxySwap.mjs";
51
+ import { hinkalSolanaProxyShield as $ } from "./hinkalSolanaProxyShield.mjs";
52
+ import { hinkalDepositAndBridge as ce } from "./hinkalDepositAndBridge.mjs";
53
+ import { hinkalNearDepositAndBridge as le } from "./hinkalNearDepositAndBridge.mjs";
54
+ import { hinkalClaimUtxo as ue } from "./hinkalClaimUtxo.mjs";
55
+ import { hinkalSolanaProoflessDeposit as de } from "./hinkalSolanaProoflessDeposit.mjs";
56
+ import { hinkalSolanaClaimUtxo as fe } from "./hinkalSolanaClaimUtxo.mjs";
57
+ import { hinkalWithdrawStuckUtxos as pe } from "./hinkalWithdrawStuckUtxos.mjs";
58
+ import { HinkalPrivateBalanceController as me } from "../private-balances/HinkalPrivateBalanceController.mjs";
59
+ import "../private-balances/index.mjs";
60
+ import { Transaction as he } from "@solana/web3.js";
63
61
  //#region libs/shared/common/src/data-structures/Hinkal/Hinkal.ts
64
- var be = class {
62
+ var ge = class {
65
63
  ethereumProviderAdapter;
66
64
  solanaProviderAdapter;
67
65
  tronProviderAdapter;
@@ -76,13 +74,15 @@ var be = class {
76
74
  utxoUtils;
77
75
  lastCallState = /* @__PURE__ */ new Map();
78
76
  cacheDevice;
77
+ balanceFetchingMutexByChain = /* @__PURE__ */ new Map();
79
78
  generateProofRemotely;
80
79
  disableMerkleTreeUpdates;
81
- privateBalances = new ve(this);
80
+ allowParallelBalanceLocalDecryption;
81
+ privateBalances = new me(this);
82
82
  constructor(e) {
83
- this.userKeys = new h(void 0), e?.tronChainOverride && d(e.tronChainOverride), n.forEach((e) => {
84
- this.merkleTreeHinkalByChain[e] = B.create(ne, 0n), this.nullifiersByChain[e] = /* @__PURE__ */ new Set(), this.encryptedOutputsByChain[e] = [];
85
- }), this.generateProofRemotely = e?.generateProofRemotely ?? !0, this.utxoUtils = new ie(), this.cacheDevice = T(e), this.disableMerkleTreeUpdates = e?.disableMerkleTreeUpdates ?? !1;
83
+ this.userKeys = new _(void 0), e?.tronChainOverride && d(e.tronChainOverride), n.forEach((e) => {
84
+ this.merkleTreeHinkalByChain[e] = z.create(ee, 0n), this.nullifiersByChain[e] = /* @__PURE__ */ new Set(), this.encryptedOutputsByChain[e] = [];
85
+ }), this.generateProofRemotely = e?.generateProofRemotely ?? !0, this.utxoUtils = new V(), this.cacheDevice = T(e), this.disableMerkleTreeUpdates = e?.disableMerkleTreeUpdates ?? !1, this.allowParallelBalanceLocalDecryption = e?.allowParallelBalanceLocalDecryption ?? !1;
86
86
  }
87
87
  enforceRateLimit(t, n, r = 1e3) {
88
88
  let i = Date.now(), a = e(n), o = this.lastCallState.get(t);
@@ -101,23 +101,23 @@ var be = class {
101
101
  }
102
102
  async initProviderAdapter(e, t) {
103
103
  let n = i.ethMainnet;
104
- t instanceof E ? n = a : t instanceof X && (n = o), await this.updateProviderAdapter(n, t), t.initConnector(e);
104
+ t instanceof E ? n = a : t instanceof Z && (n = o), await this.updateProviderAdapter(n, t), t.initConnector(e);
105
105
  let r = await t.connectAndPatchProvider(e);
106
106
  await t.init(r), await this.setListeners();
107
107
  }
108
- getSigningMessage(e = m.PROTOCOL) {
108
+ getSigningMessage(e = h.PROTOCOL) {
109
109
  switch (e) {
110
- case m.PRIVATE_TRANSFER: return this.privateTransferSigningMessage;
111
- case m.PROTOCOL:
110
+ case h.PRIVATE_TRANSFER: return this.privateTransferSigningMessage;
111
+ case h.PROTOCOL:
112
112
  default: return this.signingMessage;
113
113
  }
114
114
  }
115
- async signHinkalMessage(e = m.PROTOCOL) {
115
+ async signHinkalMessage(e = h.PROTOCOL) {
116
116
  let t = this.getSigningMessage(e);
117
117
  return this.getProviderAdapter().signMessage(t);
118
118
  }
119
119
  async signSolanaLedgerMessage() {
120
- let e = new ye({
120
+ let e = new he({
121
121
  blockhash: f,
122
122
  lastValidBlockHeight: p,
123
123
  feePayer: this.getSolanaPublicKey()
@@ -128,15 +128,15 @@ var be = class {
128
128
  txMessageForSolanaLedger: t.transactionMessageB64
129
129
  };
130
130
  }
131
- async initUserKeys(e = m.PROTOCOL) {
132
- this.userKeys = new h(await this.signHinkalMessage(e));
131
+ async initUserKeys(e = h.PROTOCOL) {
132
+ this.userKeys = new _(await this.signHinkalMessage(e));
133
133
  }
134
134
  initUserKeysWithSignature(e) {
135
- this.userKeys = new h(e);
135
+ this.userKeys = new _(e);
136
136
  }
137
137
  async initUserKeysFromSeedPhrases(e) {
138
138
  let t = O(e);
139
- this.userKeys = new h(t);
139
+ this.userKeys = new _(t);
140
140
  }
141
141
  async storeAndGetInitialSignature(e, t = !1, n) {
142
142
  let r = await this.getEthereumAddress();
@@ -144,12 +144,12 @@ var be = class {
144
144
  return await D(r, e, t, n);
145
145
  }
146
146
  async resetMerkle(e) {
147
- this.disableMerkleTreeUpdates || (e?.every((e) => this.isSelectedNetworkSupported(e)) ?? !0) && await V(this, e);
147
+ this.disableMerkleTreeUpdates || (e?.every((e) => this.isSelectedNetworkSupported(e)) ?? !0) && await B(this, e);
148
148
  }
149
149
  getTronWeb() {
150
150
  let e = this.tronProviderAdapter;
151
151
  if (!e) throw Error("Tron provider adapter not initialized");
152
- if (!(e instanceof X)) throw Error("Tron provider adapter is not a TronProviderAdapter");
152
+ if (!(e instanceof Z)) throw Error("Tron provider adapter is not a TronProviderAdapter");
153
153
  let t = e.getTronWeb();
154
154
  if (!t) throw Error("TronWeb not available");
155
155
  return t;
@@ -164,7 +164,7 @@ var be = class {
164
164
  return this.getProviderAdapter(e).getContract(e, t, n);
165
165
  }
166
166
  getContractWithFetcherByChainId(e, t, n = void 0) {
167
- return S(e, t, n);
167
+ return C(e, t, n);
168
168
  }
169
169
  async signMessage(e) {
170
170
  return await this.getProviderAdapter().signMessage(e);
@@ -173,7 +173,7 @@ var be = class {
173
173
  return await this.getProviderAdapter().signTypedData(e, t, n);
174
174
  }
175
175
  async signWithSubAccount(e, t, n, r) {
176
- return W(e, t, n, r);
176
+ return U(e, t, n, r);
177
177
  }
178
178
  getContractWithSigner(e, t, n = "") {
179
179
  return this.getProviderAdapter(e).getContractWithSigner(e, t, n);
@@ -189,7 +189,7 @@ var be = class {
189
189
  if (!(e.chainId === n || r)) try {
190
190
  await t.switchNetwork(e);
191
191
  } catch {
192
- throw Error(re.FAILED_TO_SWITCH_NETWORKS);
192
+ throw Error(g.FAILED_TO_SWITCH_NETWORKS);
193
193
  }
194
194
  }
195
195
  isPermitterAvailable(e) {
@@ -199,7 +199,7 @@ var be = class {
199
199
  await this.ethereumProviderAdapter?.disconnectFromConnector(), await this.solanaProviderAdapter?.disconnectFromConnector(), await this.tronProviderAdapter?.disconnectFromConnector();
200
200
  }
201
201
  async resetProviderAdapters() {
202
- this.ethereumProviderAdapter = void 0, this.solanaProviderAdapter = void 0, this.tronProviderAdapter = void 0;
202
+ this.ethereumProviderAdapter?.release(), this.solanaProviderAdapter?.release(), this.tronProviderAdapter?.release(), this.ethereumProviderAdapter = void 0, this.solanaProviderAdapter = void 0, this.tronProviderAdapter = void 0;
203
203
  }
204
204
  async updateProviderAdapter(e, t) {
205
205
  try {
@@ -234,20 +234,20 @@ var be = class {
234
234
  }
235
235
  async onAccountChanged() {
236
236
  await this.ethereumProviderAdapter?.onAccountChanged(), await this.solanaProviderAdapter?.onAccountChanged(), await this.tronProviderAdapter?.onAccountChanged();
237
- let e = ee.AccountChanged;
237
+ let e = m.AccountChanged;
238
238
  typeof document < "u" ? document?.dispatchEvent(new Event(e)) : process?.emit("message", e, void 0);
239
239
  }
240
240
  async onChainChanged(e) {
241
241
  e ? await this.getProviderAdapter(e).onChainChanged(e) : (await this.disconnectFromConnector(), w());
242
242
  }
243
243
  async monitorConnectedAddress(e) {
244
- await g.monitor(await this.getEthereumAddressByChain(e));
244
+ await v.monitor(await this.getEthereumAddressByChain(e));
245
245
  }
246
246
  async getBalances(e, t, n, r, i = !1, a, o = !1) {
247
- return b(this, e, t, n, r, i, this.generateProofRemotely, a, o);
247
+ return S(this, e, t, n, r, i, this.generateProofRemotely, a, o);
248
248
  }
249
249
  async getTotalBalance(e, n, r, i = !1, a, o = !1) {
250
- let s = r ?? await this.getEthereumAddressByChain(e), c = n ?? this.userKeys, l = await this.getBalances(e, c.getShieldedPrivateKey(), c.getShieldedPublicKey(), s, i, a, o), u = t ? await v.getPrivateTokens(e, s) : await y(e), d = [];
250
+ let s = r ?? await this.getEthereumAddressByChain(e), c = n ?? this.userKeys, l = await this.getBalances(e, c.getShieldedPrivateKey(), c.getShieldedPublicKey(), s, i, a, o), u = t ? await b.getPrivateTokens(e, s) : await x(e), d = [];
251
251
  return u.forEach((e) => {
252
252
  let t = e.erc20TokenAddress.toLowerCase(), n = l.get(t), r = {
253
253
  token: e,
@@ -267,23 +267,8 @@ var be = class {
267
267
  onPrivateBalancesWithUSDChange(e) {
268
268
  return this.privateBalances.onPrivateBalancesWithUSDChange(e);
269
269
  }
270
- getSupportedPassportLinks() {
271
- return C;
272
- }
273
- checkAccessToken(e, t) {
274
- return Promise.resolve(!0);
275
- }
276
- checkExternalTokenLimitsUSD(e, t, n) {
277
- return N(e, t, n);
278
- }
279
270
  async getHinkalTreeRootHash(e) {
280
- if (c(e)) {
281
- let { hinkalIdl: t, hinkalAddress: n, originalDeployer: r } = u[e].contractData;
282
- if (!t || !n || !r) throw Error(`Missing Solana configuration for chain ${e}`);
283
- let i = new $(r), a = x(new $(n), i);
284
- return k(this.getSolanaProgram(t), a);
285
- }
286
- return this.getContractWithFetcherByChainId(e, te.HinkalContract).getRootHash();
271
+ return (await k(e)).hinkalRootHash;
287
272
  }
288
273
  async resetMerkleTreesIfNecessary(e) {
289
274
  let t = (await Promise.all((e ?? this.getSupportedChains()).map(async (e) => {
@@ -304,7 +289,7 @@ var be = class {
304
289
  return this.getProviderAdapter(e).getAddress();
305
290
  }
306
291
  async getRandomRelay(e, t = !1) {
307
- return (await g.getIdleRelay(e, t)).relay;
292
+ return (await v.getIdleRelay(e, t)).relay;
308
293
  }
309
294
  getGasPrice(e) {
310
295
  let t = this.getProviderAdapter(e);
@@ -312,21 +297,24 @@ var be = class {
312
297
  return t.getGasPrice(e);
313
298
  }
314
299
  getAPI() {
315
- return g;
300
+ return v;
316
301
  }
317
302
  snapshotsClearInterval() {
318
303
  this.getSupportedChains().forEach((e) => {
319
304
  this.commitmentsSnapshotServiceByChain[e]?.intervalClear(), this.nullifierSnapshotServiceByChain[e]?.intervalClear();
320
305
  });
321
306
  }
307
+ async destroy() {
308
+ this.snapshotsClearInterval(), this.privateBalances.dispose(), await this.resetProviderAdapters();
309
+ }
322
310
  getRecipientInfo() {
323
- return U(this);
311
+ return ne(this);
324
312
  }
325
313
  async deposit(e, t, n = !0, r = !1) {
326
314
  return j(this, e, t, n, r);
327
315
  }
328
316
  async depositSolana(e, t, n = !1) {
329
- return F(this, e, t, n);
317
+ return P(this, e, t, n);
330
318
  }
331
319
  async depositForOther(e, t, n, r = !0, i = !1, a) {
332
320
  return this.enforceRateLimit(this.depositForOther.name, [
@@ -340,16 +328,19 @@ var be = class {
340
328
  e,
341
329
  t,
342
330
  n
343
- ]), I(this, e, t, n, r, i);
331
+ ]), F(this, e, t, n, r, i);
344
332
  }
345
333
  async depositAndWithdraw(e, t, n, r, i, a, o, s, l = !0) {
346
- return c(_([e])) ? se(this, e, t, n, r, i, a, o, s) : P(this, e, t, n, r, i, a, o, s, l);
334
+ return c(y([e])) ? re(this, e, t, n, r, i, a, o, s) : N(this, e, t, n, r, i, a, o, s, l);
347
335
  }
348
336
  async claimUtxo(e, t, n, r) {
349
- return c(_([e])) ? ge(this, e, t, n, r) : Q(this, e, t, n, r);
337
+ return c(y([e])) ? fe(this, e, t, n, r) : ue(this, e, t, n, r);
350
338
  }
351
339
  async depositAndBridge(e, t, n, r, i, a, o, s = !0) {
352
- return pe(this, e, t, n, r, i, a, o, s);
340
+ return ce(this, e, t, n, r, i, a, o, s);
341
+ }
342
+ async checkSendTransactionStatus(e) {
343
+ return te(e);
353
344
  }
354
345
  async nearDepositAndBridge(e, t, n, r, i, a, o, s, c) {
355
346
  return this.enforceRateLimit(this.nearDepositAndBridge.name, [
@@ -357,14 +348,14 @@ var be = class {
357
348
  t,
358
349
  n,
359
350
  r
360
- ]), me(this, e, t, n, r, i, a, o, s, c);
351
+ ]), le(this, e, t, n, r, i, a, o, s, c);
361
352
  }
362
353
  async prooflessDeposit(e, t, n, r, i = !1) {
363
- return c(_(e)) ? he(this, e, t, n, r, i) : K(this, e, t, n, r, i);
354
+ return c(y(e)) ? de(this, e, t, n, r, i) : G(this, e, t, n, r, i);
364
355
  }
365
356
  async prooflessDepositWithPublicFee(e, t, n, r, i) {
366
- let a = _([e]);
367
- return c(a) ? L(this, e, t, n, r, i) : q(this, a, e, t, n, r, i);
357
+ let a = y([e]);
358
+ return c(a) ? I(this, e, t, n, r, i) : K(this, a, e, t, n, r, i);
368
359
  }
369
360
  getSolanaProgram(e) {
370
361
  if (!this.solanaProviderAdapter) throw Error("No provider adapter initialized");
@@ -381,24 +372,24 @@ var be = class {
381
372
  e,
382
373
  t,
383
374
  n
384
- ]), c(_(e)) ? le(this, e, t, n, r, i, a) : ae(this, e, t, n, r, i, a);
375
+ ]), c(y(e)) ? ae(this, e, t, n, r, i, a) : Y(this, e, t, n, r, i, a);
385
376
  }
386
377
  async withdraw(e, t, n, r, i, a, o) {
387
- return c(_(e)) ? ce(this, e, t, n, i, a, o) : z(this, e, t, n, r, i, a, o);
378
+ return c(y(e)) ? ie(this, e, t, n, i, a, o) : R(this, e, t, n, r, i, a, o);
388
379
  }
389
380
  async withdrawStuckUtxos(e, t) {
390
- return _e(this, e, t);
381
+ return pe(this, e, t);
391
382
  }
392
383
  async swap(e, t, n, r, i, a, o) {
393
- return c(_(e)) ? this.swapSolana(e, t, r, i, a, o) : R(this, e, t, n, r, i, a, o);
384
+ return c(y(e)) ? this.swapSolana(e, t, r, i, a, o) : L(this, e, t, n, r, i, a, o);
394
385
  }
395
386
  async swapSolana(e, t, n, r, i, a) {
396
387
  let o = JSON.parse(n), s = BigInt(o.swapperAccountSalt), { instructionLists: c, addressLookupTableAccount: l } = o.data;
397
- return ue(this, e, t, s, c, l, r, i, a);
388
+ return oe(this, e, t, s, c, l, r, i, a);
398
389
  }
399
390
  async actionReceive(e, t, n, r, i, a) {
400
391
  if (!i) throw Error("subAccount is required");
401
- return c(_(e)) ? Z(this, e[0], t[0], i, void 0, a) : G(this, e, t, n, r, i, a);
392
+ return c(y(e)) ? $(this, e[0], t[0], i, void 0, a) : W(this, e, t, n, r, i, a);
402
393
  }
403
394
  async actionPrivateWallet(e, t, n, r, i, a, o, s, c, l, u = !1, d, f, p) {
404
395
  return this.enforceRateLimit(this.actionPrivateWallet.name, [
@@ -415,19 +406,19 @@ var be = class {
415
406
  ]), H(this, e, t, n, r, i, a, o, s, c, l, u, d, f, p);
416
407
  }
417
408
  async proxySwap(e, t, n, r, i, a, o, s, l = !1, u, d) {
418
- return c(_(e)) ? fe(this, e, t, r, a, n, o, s, d) : J(this, e, t, n, r, i, a, o, s, l, u, d);
409
+ return c(y(e)) ? Q(this, e, t, r, a, n, o, s, d) : q(this, e, t, n, r, i, a, o, s, l, u, d);
419
410
  }
420
411
  async proxyToPrivate(e, t, n, r, i, a, o) {
421
- return c(_(e)) ? (this.enforceRateLimit(this.proxyToPrivate.name, [
412
+ return c(y(e)) ? (this.enforceRateLimit(this.proxyToPrivate.name, [
422
413
  e[0],
423
414
  t[0],
424
415
  n,
425
416
  r
426
- ]), Z(this, e[0], t[0], n, r, o)) : oe(this, e, t, r, i, a, n, o);
417
+ ]), $(this, e[0], t[0], n, r, o)) : X(this, e, t, r, i, a, n, o);
427
418
  }
428
419
  async proxySend(e, t, n, r, i, a, o) {
429
- let s = _(e);
430
- if (c(s)) return de(this, e[0], t[0], n, r, o);
420
+ let s = y(e);
421
+ if (c(s)) return se(this, e[0], t[0], n, r, o);
431
422
  let l = A(this, s, e.map((e) => e.erc20TokenAddress), t, r), u = e.map((e, n) => ({
432
423
  token: e,
433
424
  amount: -1n * t[n]
@@ -439,7 +430,7 @@ var be = class {
439
430
  e,
440
431
  t,
441
432
  n
442
- ]), Y(this, e, t, n);
433
+ ]), J(this, e, t, n);
443
434
  }
444
435
  areMerkleTreeUpdatesDisabled() {
445
436
  return this.disableMerkleTreeUpdates;
@@ -449,4 +440,4 @@ var be = class {
449
440
  }
450
441
  };
451
442
  //#endregion
452
- export { be as Hinkal };
443
+ export { ge as Hinkal };
@@ -21,10 +21,14 @@ import { BridgeRecipient } from '../../types/bridging-tx.types';
21
21
  import { NearBridgeParams, NearBridgeResult } from '../../types/near-intents.types';
22
22
  import { PrivateBalancesState } from '../../types/balances.types';
23
23
  import { Utxo } from '../utxo/Utxo';
24
+ import { ScheduledTransactionByIdResponse } from '../../API/scheduled-transactions-calls';
25
+ import { DepositAndSendExtendedResult } from '../../types/scheduled-transactions.types';
26
+ import { Mutex } from 'async-mutex';
24
27
  export interface IHinkal<ConnectorType = unknown> {
25
28
  userKeys: UserKeys;
26
29
  readonly signingMessage: string;
27
30
  readonly privateTransferSigningMessage: string;
31
+ readonly allowParallelBalanceLocalDecryption: boolean;
28
32
  merkleTreeHinkalByChain: Record<number, MerkleTree<bigint>>;
29
33
  nullifiersByChain: Record<number, Set<string>>;
30
34
  encryptedOutputsByChain: Record<number, EncryptedOutputWithSign[]>;
@@ -33,14 +37,12 @@ export interface IHinkal<ConnectorType = unknown> {
33
37
  generateProofRemotely: boolean;
34
38
  utxoUtils: IMultiThreadedUtxoUtils;
35
39
  cacheDevice: ICacheDevice;
40
+ balanceFetchingMutexByChain: Map<number, Mutex>;
36
41
  getBalances(chainId: number, passedShieldedPrivateKey: string, passedShieldedPublicKey: string, ethAddress: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean): Promise<Map<string, TokenBalance>>;
37
42
  getTotalBalance(chainId: number, userKeys?: UserKeys, ethAddress?: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean, useBlockedUtxos?: boolean): Promise<TokenBalance[]>;
38
43
  getStuckShieldedBalances(chainId: number, userKeys?: UserKeys, ethAddress?: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean): Promise<TokenBalance[]>;
39
44
  privateBalancesWithUSD: PrivateBalancesState;
40
45
  onPrivateBalancesWithUSDChange(callback: (state: PrivateBalancesState) => void): () => void;
41
- getSupportedPassportLinks(): string[];
42
- checkAccessToken(chainId: number, accessKeyOverride?: string): Promise<boolean>;
43
- checkExternalTokenLimitsUSD(chainId: number, tokenAddresses: string[], amounts: bigint[]): Promise<boolean>;
44
46
  getSupportedChains(): number[];
45
47
  getEthereumAddress(): Promise<string>;
46
48
  getEthereumAddressByChain(chainId: number): Promise<string>;
@@ -51,12 +53,14 @@ export interface IHinkal<ConnectorType = unknown> {
51
53
  getGasPrice(chainId: number): Promise<bigint>;
52
54
  getAPI(): IAPI;
53
55
  snapshotsClearInterval(): void;
56
+ destroy(): Promise<void>;
54
57
  getRecipientInfo(): string;
55
58
  deposit(erc20Tokens: ERC20Token[], amountChanges: bigint[], preEstimateGas?: boolean, returnTxData?: boolean): Promise<ethers.TransactionResponse | ethers.TransactionRequest | string | TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
56
59
  depositForOther(erc20Tokens: ERC20Token[], amountChanges: bigint[], recepinetInfo: string, preEstimateGas?: boolean, returnTxData?: boolean, action?: AdminTransactionType): Promise<ethers.TransactionResponse | ethers.TransactionRequest | string | TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
57
60
  claimUtxo(erc20Token: ERC20Token, utxo: Utxo, feeStructureOverride?: FeeStructure, claimableSignature?: string): Promise<string>;
58
- depositAndWithdraw(erc20Token: ERC20Token, recipientAmounts: bigint[], recipientAddresses: string[], txCompletionTime?: number, feeStructureOverride?: FeeStructure, ref?: string, action?: AdminTransactionType, dashboardAccountId?: string, preEstimateGas?: boolean): Promise<string>;
59
- depositAndBridge(erc20Token: ERC20Token, recipientBridges: BridgeRecipient[], txCompletionTime?: number, feeStructureOverride?: FeeStructure, ref?: string, action?: AdminTransactionType, dashboardAccountId?: string, preEstimateGas?: boolean): Promise<string>;
61
+ depositAndWithdraw(erc20Token: ERC20Token, recipientAmounts: bigint[], recipientAddresses: string[], txCompletionTime?: number, feeStructureOverride?: FeeStructure, ref?: string, action?: AdminTransactionType, dashboardAccountId?: string, preEstimateGas?: boolean): Promise<DepositAndSendExtendedResult>;
62
+ depositAndBridge(erc20Token: ERC20Token, recipientBridges: BridgeRecipient[], txCompletionTime?: number, feeStructureOverride?: FeeStructure, ref?: string, action?: AdminTransactionType, dashboardAccountId?: string, preEstimateGas?: boolean): Promise<DepositAndSendExtendedResult>;
63
+ checkSendTransactionStatus(scheduleId: string): Promise<ScheduledTransactionByIdResponse>;
60
64
  nearDepositAndBridge(erc20Token: ERC20Token, recipientAmounts: bigint[], recipientAddresses: string[], params: NearBridgeParams, txCompletionTime?: number, feeStructureOverride?: FeeStructure, ref?: string, action?: AdminTransactionType, dashboardAccountId?: string): Promise<NearBridgeResult>;
61
65
  prooflessDeposit(erc20Tokens: ERC20Token[], amountChanges: bigint[], stealthAddressStructures?: StealthAddressStructure[], action?: AdminTransactionType, returnTxData?: boolean): Promise<string | ethers.TransactionRequest | TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
62
66
  prooflessDepositWithPublicFee(erc20Token: ERC20Token, amounts: bigint[], stealthAddressStructures: StealthAddressStructure[], feeAmount: bigint, action?: AdminTransactionType): Promise<string>;
@@ -1 +1 @@
1
- const e=require(`../../constants/chains.constants.cjs`),t=require(`../../functions/utils/caseInsensitive.utils.cjs`),n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../../functions/web3/etherFunctions.cjs`),i=require(`../../functions/utils/time.utils.cjs`),a=require(`../../error-handling/customErrors/ErrorWithTx.cjs`),o=require(`../../types/external-action.types.cjs`),s=require(`../../types/transactions.types.cjs`),c=require(`../../types/admin.types.cjs`),l=require(`../../types/activities.types.cjs`),u=require(`../../types/transaction.types.cjs`),d=require(`../../types/offscreen.types.cjs`);require(`../../types/index.cjs`);const f=require(`../../error-handling/logger.cjs`),ee=require(`../../API/API.cjs`),p=require(`../../functions/utils/erc20tokenFunctions.cjs`),m=require(`../../error-handling/get-error.message.cjs`);require(`../../error-handling/index.cjs`);const h=require(`../../functions/pre-transaction/getVolatileTransferAmount.cjs`),g=require(`../../functions/utils/create-provider.cjs`),_=require(`../../functions/pre-transaction/getFeeStructure.cjs`),v=require(`../../functions/utils/convertEmporiumOpToCallInfo.cjs`),y=require(`../../functions/utils/postToOffscreen.cjs`),b=require(`../../functions/utils/fees.utils.cjs`),x=require(`../../functions/private-wallet/emporium.helpers.cjs`),S=require(`../../functions/auto-deposit-back-helpers/get-tokens-to-deposit-back.cjs`),C=require(`../../functions/auto-deposit-back-helpers/get-gas-token-records.cjs`),w=require(`../../functions/auto-deposit-back-helpers/select-gas-token.cjs`),T=require(`../../functions/auto-deposit-back-helpers/update-hinkal.cjs`);require(`../../functions/index.cjs`);const E=require(`../IndexedDB/activity-db.cjs`);require(`../IndexedDB/index.cjs`);var D=3*1e3,O=13*1e3,k=async(k,A,j,M,N,P,F,I)=>{if(!j||F.length===0)return;let L;try{let a=g.createJsonRpcProvider(A);await i.waitLittle(A===e.chainIds.ethMainnet?O:D);let u=await S.getTokensToDepositBack(F,N,j,a);if(!u.length){y.postToOffscreen(d.MessagesFromOffscreen.AutoShieldTxStatus,{message:n.transactionErrorCodes.AUTO_SHIELD_SKIPPED});return}let f=await b.getGasTokenSymbols(A),m=(await Promise.all(f.map(async e=>await p.getErc20TokenBySymbolFromAPI(e,A)))).filter(e=>e!==void 0),{prices:R}=await ee.API.getTokenPrices(A,m.map(e=>e.erc20TokenAddress)),z=new Map(R.map((e,t)=>[m[t].erc20TokenAddress.toLowerCase(),e])),B=u.map(({token:e})=>e),V=u.map(({balance:e})=>e),H=B.map(({erc20TokenAddress:e})=>e),U=x.createTransaferEmporiumOpsBatch(k,A,H,await h.modifyVolatileTokenAmountChanges(A,B,V,j)),W=await _.getFeeStructure(A,N,H,o.ExternalActionId.Emporium,U.map(e=>v.convertEmporiumOpToCallInfo(e,j,A))),{flatFee:G}=W??{},K=await p.getErc20TokenFromAPI(A,W.feeToken);if(!K)return;let q=r.getAmountInToken(K,G),J=(z.get(K.erc20TokenAddress.toLowerCase())??0)*Number(q),Y=await w.selectGasToken(N,J,A,B,U,await C.getGasTokenRecords(m,A,k,j,a,z),W,H,j);if(!Y)return;let{feeToken:X,feeStructure:Z}=Y??{};if(P&&Number(P)<J){y.postToOffscreen(d.MessagesFromOffscreen.AutoShieldTxStatus,{message:n.gasErrorCodes.GAS_PRICE_EXCEEDS_AUTOSHIELD_LIMIT});return}let Q=B.findIndex(e=>t.caseInsensitiveEqual(e.erc20TokenAddress,X));Q!==-1&&(V[Q]-=Z?.flatFee??0n);let{hinkalAddress:te}=e.networkRegistry[A].contractData,$={activityType:l.ActivityTypes.AUTO_SHIELD,chainId:A,from:j,to:te,gasInDollar:J.toString(),tokensReceive:B.map((e,t)=>({amount:r.getAmountInToken(e,V[t]),token:e}))};L=await E.activityStorage.saveTxRequest($),y.postToOffscreen(d.MessagesFromOffscreen.AutoShieldTxStatus,{status:s.TransactionStatus.Loading}),T.updateHinkal(I,A,k);let ne={id:0,success:!0,txHash:await k.actionReceive(B,V,X,Z,M,c.AdminTransactionType.AutoShield)};await E.activityStorage.updatePendingTransactions(ne,L),y.postToOffscreen(d.MessagesFromOffscreen.AutoShieldTxStatus,{status:s.TransactionStatus.Confirmed,activityRequest:$})}catch(e){let t;e instanceof a.ErrorWithRelayerTransaction&&(t=e.txHash);let n={error:e,id:0,success:!1,...t?{erroredTx:t}:{}};L&&await E.activityStorage.updatePendingTransactions(n,L),y.postToOffscreen(d.MessagesFromOffscreen.AutoShieldTxStatus,{status:s.TransactionStatus.Failed,error:m.getErrorMessageFromTransactionRequest(e,u.TransactionRequestType.ReceiveFromShieldedAccount)}),f.Logger.error(`Error in auto deposit back:`,e)}};exports.handleAutoDepositBack=k;
1
+ const e=require(`../../constants/chains.constants.cjs`),t=require(`../../functions/utils/caseInsensitive.utils.cjs`),n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../../functions/web3/etherFunctions.cjs`),i=require(`../../functions/utils/time.utils.cjs`),a=require(`../../error-handling/customErrors/ErrorWithTx.cjs`),o=require(`../../types/external-action.types.cjs`),s=require(`../../types/transactions.types.cjs`),c=require(`../../types/admin.types.cjs`),l=require(`../../types/activities.types.cjs`),u=require(`../../types/transaction.types.cjs`),d=require(`../../types/offscreen.types.cjs`);require(`../../types/index.cjs`);const f=require(`../../error-handling/logger.cjs`),p=require(`../../API/API.cjs`),m=require(`../../functions/utils/erc20tokenFunctions.cjs`),h=require(`../../error-handling/get-error.message.cjs`);require(`../../error-handling/index.cjs`);const g=require(`../../functions/pre-transaction/getVolatileTransferAmount.cjs`),_=require(`../../functions/utils/create-provider.cjs`),v=require(`../../functions/pre-transaction/getFeeStructure.cjs`),y=require(`../../functions/utils/convertEmporiumOpToCallInfo.cjs`),b=require(`../../functions/utils/postToOffscreen.cjs`),x=require(`../../functions/utils/fees.utils.cjs`),S=require(`../../functions/private-wallet/emporium.helpers.cjs`),C=require(`../../functions/auto-deposit-back-helpers/get-tokens-to-deposit-back.cjs`),w=require(`../../functions/auto-deposit-back-helpers/get-gas-token-records.cjs`),T=require(`../../functions/auto-deposit-back-helpers/select-gas-token.cjs`),E=require(`../../functions/auto-deposit-back-helpers/update-hinkal.cjs`);require(`../../functions/index.cjs`);const D=require(`../IndexedDB/activity-db.cjs`);require(`../IndexedDB/index.cjs`);var O=3*1e3,k=13*1e3,A=async(A,j,M,ee,N,P,F,I)=>{if(!M||F.length===0)return;let L;try{let a=_.createJsonRpcProvider(j);await i.waitLittle(j===e.chainIds.ethMainnet?k:O);let u=await C.getTokensToDepositBack(F,N,M,a);if(!u.length){b.postToOffscreen(d.MessagesFromOffscreen.AutoShieldTxStatus,{message:n.transactionErrorCodes.AUTO_SHIELD_SKIPPED});return}let f=(await m.getErc20TokensBySymbolsFromAPI(await x.getGasTokenSymbols(j),j)).filter(e=>e!==void 0),{prices:h}=await p.API.getTokenPrices(j,f.map(e=>e.erc20TokenAddress)),R=new Map(h.map((e,t)=>[f[t].erc20TokenAddress.toLowerCase(),e])),z=u.map(({token:e})=>e),B=u.map(({balance:e})=>e),V=z.map(({erc20TokenAddress:e})=>e),H=S.createTransaferEmporiumOpsBatch(A,j,V,await g.modifyVolatileTokenAmountChanges(j,z,B,M)),U=await v.getFeeStructure(j,N,V,o.ExternalActionId.Emporium,H.map(e=>y.convertEmporiumOpToCallInfo(e,M,j))),{flatFee:W}=U??{},G=await m.getErc20TokenFromAPI(j,U.feeToken);if(!G)return;let K=r.getAmountInToken(G,W),q=(R.get(G.erc20TokenAddress.toLowerCase())??0)*Number(K),J=await T.selectGasToken(N,q,j,z,H,await w.getGasTokenRecords(f,j,A,M,a,R),U,V,M);if(!J)return;let{feeToken:Y,feeStructure:X}=J??{};if(P&&Number(P)<q){b.postToOffscreen(d.MessagesFromOffscreen.AutoShieldTxStatus,{message:n.gasErrorCodes.GAS_PRICE_EXCEEDS_AUTOSHIELD_LIMIT});return}let Z=z.findIndex(e=>t.caseInsensitiveEqual(e.erc20TokenAddress,Y));Z!==-1&&(B[Z]-=X?.flatFee??0n);let{hinkalAddress:Q}=e.networkRegistry[j].contractData,$={activityType:l.ActivityTypes.AUTO_SHIELD,chainId:j,from:M,to:Q,gasInDollar:q.toString(),tokensReceive:z.map((e,t)=>({amount:r.getAmountInToken(e,B[t]),token:e}))};L=await D.activityStorage.saveTxRequest($),b.postToOffscreen(d.MessagesFromOffscreen.AutoShieldTxStatus,{status:s.TransactionStatus.Loading}),E.updateHinkal(I,j,A);let te={id:0,success:!0,txHash:await A.actionReceive(z,B,Y,X,ee,c.AdminTransactionType.AutoShield)};await D.activityStorage.updatePendingTransactions(te,L),b.postToOffscreen(d.MessagesFromOffscreen.AutoShieldTxStatus,{status:s.TransactionStatus.Confirmed,activityRequest:$})}catch(e){let t;e instanceof a.ErrorWithRelayerTransaction&&(t=e.txHash);let n={error:e,id:0,success:!1,...t?{erroredTx:t}:{}};L&&await D.activityStorage.updatePendingTransactions(n,L),b.postToOffscreen(d.MessagesFromOffscreen.AutoShieldTxStatus,{status:s.TransactionStatus.Failed,error:h.getErrorMessageFromTransactionRequest(e,u.TransactionRequestType.ReceiveFromShieldedAccount)}),f.Logger.error(`Error in auto deposit back:`,e)}};exports.handleAutoDepositBack=A;