@hinkal/common 0.3.9 → 0.3.11

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 (275) hide show
  1. package/README.md +26 -10
  2. package/common/src/API/API.cjs +1 -1
  3. package/common/src/API/API.d.ts +4 -5
  4. package/common/src/API/API.mjs +79 -80
  5. package/common/src/API/callRelayer.d.ts +1 -0
  6. package/common/src/API/dashboardTransactionCalls.cjs +1 -1
  7. package/common/src/API/dashboardTransactionCalls.d.ts +4 -1
  8. package/common/src/API/dashboardTransactionCalls.mjs +2 -2
  9. package/common/src/API/enclaveRecipientInfoCalls.d.ts +0 -2
  10. package/common/src/API/enclaveSignatureCalls.cjs +1 -1
  11. package/common/src/API/enclaveSignatureCalls.d.ts +2 -1
  12. package/common/src/API/enclaveSignatureCalls.mjs +5 -8
  13. package/common/src/API/enclaveUtxoCalls.cjs +1 -1
  14. package/common/src/API/enclaveUtxoCalls.d.ts +12 -8
  15. package/common/src/API/enclaveUtxoCalls.mjs +17 -20
  16. package/common/src/API/privateSendRecipientInfoCalls.cjs +1 -1
  17. package/common/src/API/privateSendRecipientInfoCalls.d.ts +3 -6
  18. package/common/src/API/privateSendRecipientInfoCalls.mjs +12 -6
  19. package/common/src/API/scheduled-transactions-calls.cjs +1 -1
  20. package/common/src/API/scheduled-transactions-calls.d.ts +1 -5
  21. package/common/src/API/scheduled-transactions-calls.mjs +2 -6
  22. package/common/src/constants/bridging.constants.cjs +1 -1
  23. package/common/src/constants/bridging.constants.d.ts +1 -0
  24. package/common/src/constants/bridging.constants.mjs +1 -1
  25. package/common/src/constants/chains.constants.cjs +1 -1
  26. package/common/src/constants/chains.constants.d.ts +18 -17
  27. package/common/src/constants/chains.constants.mjs +108 -89
  28. package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.cjs +1 -1
  29. package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.mjs +2 -1
  30. package/common/src/constants/deploy-data/deploy-data-base.json.cjs +1 -1
  31. package/common/src/constants/deploy-data/deploy-data-base.json.mjs +2 -1
  32. package/common/src/constants/deploy-data/deploy-data-bnbMainnet.json.cjs +1 -1
  33. package/common/src/constants/deploy-data/deploy-data-bnbMainnet.json.mjs +2 -1
  34. package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.cjs +1 -1
  35. package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.mjs +2 -1
  36. package/common/src/constants/deploy-data/deploy-data-optimism.json.cjs +1 -1
  37. package/common/src/constants/deploy-data/deploy-data-optimism.json.mjs +2 -1
  38. package/common/src/constants/deploy-data/deploy-data-polygon.json.cjs +1 -1
  39. package/common/src/constants/deploy-data/deploy-data-polygon.json.mjs +2 -1
  40. package/common/src/constants/events.constants.cjs +1 -1
  41. package/common/src/constants/events.constants.mjs +1 -16
  42. package/common/src/constants/protocol.constants.cjs +1 -1
  43. package/common/src/constants/protocol.constants.d.ts +11 -8
  44. package/common/src/constants/protocol.constants.mjs +1 -1
  45. package/common/src/constants/server.constants.cjs +1 -1
  46. package/common/src/constants/server.constants.d.ts +1 -4
  47. package/common/src/constants/server.constants.mjs +1 -4
  48. package/common/src/constants/tx-confirmation.constants.cjs +1 -1
  49. package/common/src/constants/tx-confirmation.constants.d.ts +1 -0
  50. package/common/src/constants/tx-confirmation.constants.mjs +2 -2
  51. package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
  52. package/common/src/data-structures/Hinkal/Hinkal.d.ts +8 -10
  53. package/common/src/data-structures/Hinkal/Hinkal.mjs +132 -160
  54. package/common/src/data-structures/Hinkal/IHinkal.d.ts +7 -10
  55. package/common/src/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
  56. package/common/src/data-structures/Hinkal/handleAutoDepositBack.mjs +23 -23
  57. package/common/src/data-structures/Hinkal/hinkalActionReceive.cjs +1 -1
  58. package/common/src/data-structures/Hinkal/hinkalActionReceive.mjs +1 -1
  59. package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.cjs +1 -1
  60. package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.mjs +57 -57
  61. package/common/src/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
  62. package/common/src/data-structures/Hinkal/hinkalDeposit.mjs +10 -10
  63. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
  64. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +19 -19
  65. package/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.cjs +1 -1
  66. package/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.mjs +3 -2
  67. package/common/src/data-structures/Hinkal/hinkalProxySend.cjs +1 -0
  68. package/common/src/data-structures/Hinkal/hinkalProxySend.d.ts +6 -0
  69. package/common/src/data-structures/Hinkal/hinkalProxySend.mjs +16 -0
  70. package/common/src/data-structures/Hinkal/hinkalProxySwap.cjs +1 -1
  71. package/common/src/data-structures/Hinkal/hinkalProxySwap.d.ts +1 -1
  72. package/common/src/data-structures/Hinkal/hinkalProxySwap.mjs +13 -12
  73. package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -1
  74. package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.mjs +1 -1
  75. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  76. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +1 -1
  77. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
  78. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.d.ts +1 -1
  79. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +9 -9
  80. package/common/src/data-structures/Hinkal/hinkalSolanaSponsoredShield.cjs +1 -1
  81. package/common/src/data-structures/Hinkal/hinkalSolanaSponsoredShield.d.ts +1 -1
  82. package/common/src/data-structures/Hinkal/hinkalSolanaSponsoredShield.mjs +15 -14
  83. package/common/src/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
  84. package/common/src/data-structures/Hinkal/hinkalSolanaSwap.mjs +44 -47
  85. package/common/src/data-structures/Hinkal/hinkalSolanaTransact.cjs +1 -1
  86. package/common/src/data-structures/Hinkal/hinkalSolanaTransact.mjs +2 -2
  87. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
  88. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.mjs +1 -1
  89. package/common/src/data-structures/Hinkal/hinkalTransact.cjs +1 -1
  90. package/common/src/data-structures/Hinkal/hinkalTransact.mjs +1 -1
  91. package/common/src/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
  92. package/common/src/data-structures/Hinkal/hinkalTransfer.mjs +4 -4
  93. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
  94. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +101 -94
  95. package/common/src/data-structures/Hinkal/index.d.ts +0 -1
  96. package/common/src/data-structures/IndexedDB/activity-db.cjs +1 -1
  97. package/common/src/data-structures/IndexedDB/activity-db.mjs +34 -34
  98. package/common/src/data-structures/IndexedDB/index.cjs +1 -1
  99. package/common/src/data-structures/IndexedDB/index.d.ts +1 -0
  100. package/common/src/data-structures/IndexedDB/index.mjs +1 -0
  101. package/common/src/data-structures/IndexedDB/scheduled-transactions-db.cjs +1 -0
  102. package/common/src/data-structures/IndexedDB/scheduled-transactions-db.d.ts +11 -0
  103. package/common/src/data-structures/IndexedDB/scheduled-transactions-db.mjs +34 -0
  104. package/common/src/data-structures/IndexedDB/signatures-db.cjs +1 -1
  105. package/common/src/data-structures/IndexedDB/signatures-db.mjs +11 -11
  106. package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs +1 -1
  107. package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.d.ts +1 -0
  108. package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.mjs +6 -3
  109. package/common/src/data-structures/TokenDBs/PrivateTokensDB.cjs +1 -1
  110. package/common/src/data-structures/TokenDBs/PrivateTokensDB.mjs +18 -19
  111. package/common/src/data-structures/crypto-keys/keys.cjs +1 -1
  112. package/common/src/data-structures/crypto-keys/keys.d.ts +1 -0
  113. package/common/src/data-structures/crypto-keys/keys.mjs +3 -0
  114. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
  115. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.mjs +11 -11
  116. package/common/src/data-structures/event-service/helpers/ClientEventHelper.cjs +1 -1
  117. package/common/src/data-structures/event-service/helpers/ClientEventHelper.mjs +6 -6
  118. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.cjs +1 -1
  119. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.d.ts +1 -0
  120. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.mjs +79 -75
  121. package/common/src/data-structures/provider-adapter/IProviderAdapter.d.ts +1 -4
  122. package/common/src/data-structures/token-price-fetcher/TokenChecker.cjs +1 -1
  123. package/common/src/data-structures/token-price-fetcher/TokenChecker.d.ts +1 -0
  124. package/common/src/data-structures/token-price-fetcher/TokenChecker.mjs +1 -0
  125. package/common/src/error-handling/error-codes.constants.cjs +1 -1
  126. package/common/src/error-handling/error-codes.constants.d.ts +6 -0
  127. package/common/src/error-handling/error-codes.constants.mjs +10 -4
  128. package/common/src/functions/auto-deposit-back-helpers/get-gas-token-records.cjs +1 -1
  129. package/common/src/functions/auto-deposit-back-helpers/get-gas-token-records.mjs +7 -6
  130. package/common/src/functions/auto-deposit-back-helpers/select-gas-token.cjs +1 -1
  131. package/common/src/functions/auto-deposit-back-helpers/select-gas-token.mjs +8 -8
  132. package/common/src/functions/index.cjs +1 -1
  133. package/common/src/functions/index.mjs +1 -2
  134. package/common/src/functions/pre-transaction/getVolatileTransferAmount.cjs +1 -1
  135. package/common/src/functions/pre-transaction/getVolatileTransferAmount.mjs +13 -13
  136. package/common/src/functions/private-wallet/emporium.helpers.cjs +1 -1
  137. package/common/src/functions/private-wallet/emporium.helpers.mjs +13 -13
  138. package/common/src/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
  139. package/common/src/functions/private-wallet/emporium.swap.helpers.mjs +13 -13
  140. package/common/src/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
  141. package/common/src/functions/snarkjs/constructGeneralZkProof.mjs +4 -4
  142. package/common/src/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
  143. package/common/src/functions/snarkjs/constructSolanaZkProof.mjs +5 -5
  144. package/common/src/functions/snarkjs/constructTxEnclave.cjs +1 -1
  145. package/common/src/functions/snarkjs/constructTxEnclave.d.ts +1 -1
  146. package/common/src/functions/snarkjs/constructTxEnclave.mjs +61 -133
  147. package/common/src/functions/snarkjs/constructTxEnclaveVerify.cjs +1 -0
  148. package/common/src/functions/snarkjs/constructTxEnclaveVerify.d.ts +5 -0
  149. package/common/src/functions/snarkjs/constructTxEnclaveVerify.mjs +295 -0
  150. package/common/src/functions/utils/addresses.cjs +1 -1
  151. package/common/src/functions/utils/addresses.d.ts +1 -0
  152. package/common/src/functions/utils/addresses.mjs +13 -12
  153. package/common/src/functions/utils/bridge-arrival.utils.cjs +1 -1
  154. package/common/src/functions/utils/bridge-arrival.utils.mjs +12 -11
  155. package/common/src/functions/utils/bridge-claimable-utxo.utils.cjs +1 -1
  156. package/common/src/functions/utils/bridge-claimable-utxo.utils.d.ts +1 -1
  157. package/common/src/functions/utils/bridge-claimable-utxo.utils.mjs +4 -4
  158. package/common/src/functions/utils/create-provider.cjs +1 -1
  159. package/common/src/functions/utils/create-provider.mjs +4 -1
  160. package/common/src/functions/utils/enclave-recipient-info-storage.cjs +1 -1
  161. package/common/src/functions/utils/enclave-recipient-info-storage.d.ts +4 -1
  162. package/common/src/functions/utils/enclave-recipient-info-storage.mjs +1 -0
  163. package/common/src/functions/utils/enclave-signature-storage.cjs +1 -1
  164. package/common/src/functions/utils/enclave-signature-storage.d.ts +1 -1
  165. package/common/src/functions/utils/enclave-signature-storage.mjs +3 -3
  166. package/common/src/functions/utils/enclave-utxo-storage.cjs +1 -1
  167. package/common/src/functions/utils/enclave-utxo-storage.d.ts +3 -3
  168. package/common/src/functions/utils/enclave-utxo-storage.mjs +8 -5
  169. package/common/src/functions/utils/encryptInputForEnclave.cjs +1 -1
  170. package/common/src/functions/utils/encryptInputForEnclave.d.ts +8 -0
  171. package/common/src/functions/utils/encryptInputForEnclave.mjs +43 -23
  172. package/common/src/functions/utils/erc20tokenFunctions.cjs +1 -1
  173. package/common/src/functions/utils/erc20tokenFunctions.mjs +2 -15
  174. package/common/src/functions/utils/fees.utils.cjs +1 -1
  175. package/common/src/functions/utils/fees.utils.mjs +6 -6
  176. package/common/src/functions/utils/index.cjs +1 -1
  177. package/common/src/functions/utils/index.d.ts +1 -0
  178. package/common/src/functions/utils/index.mjs +3 -3
  179. package/common/src/functions/utils/ipfs.d.ts +2 -3
  180. package/common/src/functions/utils/lifi.utils.d.ts +2 -0
  181. package/common/src/functions/utils/nearIntents.utils.cjs +1 -1
  182. package/common/src/functions/utils/nearIntents.utils.mjs +7 -7
  183. package/common/src/functions/utils/publicBalance.utils.cjs +1 -1
  184. package/common/src/functions/utils/publicBalance.utils.mjs +10 -10
  185. package/common/src/functions/utils/temporary-wallet-recovery.utils.cjs +1 -0
  186. package/common/src/functions/utils/temporary-wallet-recovery.utils.d.ts +7 -0
  187. package/common/src/functions/utils/temporary-wallet-recovery.utils.mjs +10 -0
  188. package/common/src/functions/utils/tron.utils.cjs +1 -1
  189. package/common/src/functions/utils/tron.utils.mjs +16 -29
  190. package/common/src/functions/utils/tx-confirmation.utils.cjs +1 -1
  191. package/common/src/functions/utils/tx-confirmation.utils.d.ts +1 -0
  192. package/common/src/functions/utils/tx-confirmation.utils.mjs +16 -13
  193. package/common/src/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
  194. package/common/src/functions/web3/events/getInputUtxoAndBalance.mjs +5 -5
  195. package/common/src/functions/web3/events/getInputUtxosEnclave.cjs +1 -1
  196. package/common/src/functions/web3/events/getInputUtxosEnclave.d.ts +1 -1
  197. package/common/src/functions/web3/events/getInputUtxosEnclave.mjs +19 -11
  198. package/common/src/functions/web3/events/getShieldedBalance.cjs +1 -1
  199. package/common/src/functions/web3/events/getShieldedBalance.d.ts +4 -4
  200. package/common/src/functions/web3/events/getShieldedBalance.mjs +113 -101
  201. package/common/src/functions/web3/functionCalls/transactCallDirectTron.cjs +1 -1
  202. package/common/src/functions/web3/functionCalls/transactCallDirectTron.mjs +16 -16
  203. package/common/src/providers/SolanaProviderAdapter.cjs +1 -1
  204. package/common/src/providers/SolanaProviderAdapter.d.ts +1 -4
  205. package/common/src/providers/SolanaProviderAdapter.mjs +3 -6
  206. package/common/src/providers/WagmiProviderAdapter.cjs +1 -1
  207. package/common/src/providers/WagmiProviderAdapter.mjs +5 -5
  208. package/common/src/types/cache.types.cjs +1 -1
  209. package/common/src/types/cache.types.d.ts +2 -1
  210. package/common/src/types/cache.types.mjs +1 -1
  211. package/common/src/types/enclaveApi.types.d.ts +2 -3
  212. package/common/src/types/ethereum-network.types.d.ts +1 -0
  213. package/common/src/types/events.types.d.ts +1 -0
  214. package/common/src/types/near-intents.types.d.ts +1 -0
  215. package/common/src/types/remote-proof.types.d.ts +5 -0
  216. package/common/src/types/remote-tx-build.types.d.ts +37 -4
  217. package/common/src/types/scheduled-transactions.types.d.ts +18 -0
  218. package/common/src/types/solana.types.d.ts +0 -3
  219. package/common/src/webworker/{logError-RKYfeI6h.js → logError-cvFNxc-0.js} +1 -1
  220. package/common/src/webworker/package.json +1 -2
  221. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
  222. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
  223. package/common/src/webworker/snarkjsWorkerNode.cjs +1 -1
  224. package/common/src/webworker/utxoWorker/utxoWorker.types.d.ts +4 -2
  225. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
  226. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
  227. package/common/src/webworker/utxoWorkerNode.cjs +1 -1
  228. package/common/src/webworker/viteWorkerURL.constant.cjs +3 -3
  229. package/common/src/webworker/viteWorkerURL.constant.mjs +3 -3
  230. package/common/src/webworker/workerProxy-BHzCZ9HT.js +1 -0
  231. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
  232. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
  233. package/common/src/webworker/zkProofWorkerNode.cjs +1 -1
  234. package/package.json +1 -2
  235. package/providers/prepareEthersHinkal.cjs +1 -1
  236. package/providers/prepareEthersHinkal.d.ts +1 -0
  237. package/providers/prepareEthersHinkal.mjs +2 -2
  238. package/providers/prepareSolanaHinkal.cjs +1 -1
  239. package/providers/prepareSolanaHinkal.d.ts +1 -0
  240. package/providers/prepareSolanaHinkal.mjs +2 -2
  241. package/providers/prepareTronHinkal.cjs +1 -1
  242. package/providers/prepareTronHinkal.d.ts +1 -0
  243. package/providers/prepareTronHinkal.mjs +2 -2
  244. package/providers/prepareWagmiHinkal.cjs +1 -1
  245. package/providers/prepareWagmiHinkal.d.ts +1 -0
  246. package/providers/prepareWagmiHinkal.mjs +2 -2
  247. package/services/Hinkal.cjs +1 -1
  248. package/services/Hinkal.d.ts +8 -2
  249. package/services/Hinkal.mjs +15 -4
  250. package/types/IHinkal.d.ts +8 -2
  251. package/common/src/API/evm-token-assets.cjs +0 -1
  252. package/common/src/API/evm-token-assets.mjs +0 -20
  253. package/common/src/API/getAnyRecipientInfo.d.ts +0 -1
  254. package/common/src/API/solana-nft-assets.cjs +0 -1
  255. package/common/src/API/solana-nft-assets.mjs +0 -11
  256. package/common/src/data-structures/Hinkal/hinkalSolanaSponsoredProxySend.d.ts +0 -5
  257. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +0 -1
  258. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +0 -109
  259. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.cjs +0 -1
  260. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.mjs +0 -94
  261. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.cjs +0 -1
  262. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.mjs +0 -134
  263. package/common/src/data-structures/TokenDBs/PublicTokensDB.cjs +0 -1
  264. package/common/src/data-structures/TokenDBs/PublicTokensDB.mjs +0 -32
  265. package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.cjs +0 -1
  266. package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.mjs +0 -37
  267. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.cjs +0 -1
  268. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.mjs +0 -51
  269. package/common/src/data-structures/TokenDBs/index.cjs +0 -1
  270. package/common/src/data-structures/TokenDBs/index.mjs +0 -6
  271. package/common/src/functions/utils/ipfs.cjs +0 -1
  272. package/common/src/functions/utils/ipfs.mjs +0 -1
  273. package/common/src/functions/utils/reloadPage.cjs +0 -1
  274. package/common/src/functions/utils/reloadPage.mjs +0 -4
  275. package/common/src/webworker/workerProxy-COB7g4Qc.js +0 -1
@@ -1,49 +1,50 @@
1
1
  import { isSolanaLike as e, networkRegistry as t } from "../../constants/chains.constants.mjs";
2
2
  import "../../constants/protocol.constants.mjs";
3
- import { countTotalAmountInUtxos as n } from "../../functions/utils/amounts.utils.mjs";
4
- import { transactionErrorCodes as r } from "../../error-handling/error-codes.constants.mjs";
5
- import { normalizeTokenAddress as i } from "../../functions/utils/encodeTokenWithId.mjs";
6
- import { hashEthereumAddress as a } from "../../functions/utils/addresses.mjs";
7
- import { addressToHexFormat as o } from "../../functions/utils/tron.utils.mjs";
8
- import { getInputUtxoAndBalancePerToken as s } from "../../functions/web3/events/getInputUtxoAndBalance.mjs";
9
- import { ExternalActionId as c } from "../../types/external-action.types.mjs";
10
- import { SubmitMode as l } from "../../types/transact.types.mjs";
11
- import { SolanaSubmitMode as u } from "../../types/solana-transact.types.mjs";
12
- import { Logger as d } from "../../error-handling/logger.mjs";
13
- import { validateAndGetChainId as f } from "../../functions/utils/token-check.utils.mjs";
14
- import { finalizeSolanaTxEnclaveCallRelay as p, finalizeTxEnclaveCallRelay as m, prepareSolanaStuckWithdrawEnclaveCall as h, prepareStuckWithdrawEnclaveCall as g } from "../../functions/snarkjs/constructTxEnclave.mjs";
15
- import { getFeeStructure as _ } from "../../functions/pre-transaction/getFeeStructure.mjs";
16
- import { hinkalTransact as v } from "./hinkalTransact.mjs";
17
- import { updateHinkal as y } from "../../functions/auto-deposit-back-helpers/update-hinkal.mjs";
18
- import { mergeWithFeeStructure as b } from "../../functions/pre-transaction/merge-with-fee-structure.mjs";
19
- import { hinkalSolanaTransact as x } from "./hinkalSolanaTransact.mjs";
3
+ import { caseInsensitiveEqual as n } from "../../functions/utils/caseInsensitive.utils.mjs";
4
+ import { countTotalAmountInUtxos as r } from "../../functions/utils/amounts.utils.mjs";
5
+ import { DIRECTLY_SHOW_MESSAGE_ERROR_CODES as i, transactionErrorCodes as a } from "../../error-handling/error-codes.constants.mjs";
6
+ import { normalizeTokenAddress as o } from "../../functions/utils/encodeTokenWithId.mjs";
7
+ import { Logger as s } from "../../error-handling/logger.mjs";
8
+ import { addressToHexFormat as c } from "../../functions/utils/tron.utils.mjs";
9
+ import { hashEthereumAddress as l } from "../../functions/utils/addresses.mjs";
10
+ import { getInputUtxoAndBalancePerToken as u } from "../../functions/web3/events/getInputUtxoAndBalance.mjs";
11
+ import { ExternalActionId as d } from "../../types/external-action.types.mjs";
12
+ import { SubmitMode as f } from "../../types/transact.types.mjs";
13
+ import { SolanaSubmitMode as p } from "../../types/solana-transact.types.mjs";
14
+ import { validateAndGetChainId as m } from "../../functions/utils/token-check.utils.mjs";
15
+ import { finalizeSolanaTxEnclaveCallRelay as h, finalizeTxEnclaveCallRelay as g, prepareSolanaStuckWithdrawEnclaveCall as _, prepareStuckWithdrawEnclaveCall as v } from "../../functions/snarkjs/constructTxEnclave.mjs";
16
+ import { getFeeStructure as y } from "../../functions/pre-transaction/getFeeStructure.mjs";
17
+ import { hinkalTransact as b } from "./hinkalTransact.mjs";
18
+ import { updateHinkal as x } from "../../functions/auto-deposit-back-helpers/update-hinkal.mjs";
19
+ import { mergeWithFeeStructure as S } from "../../functions/pre-transaction/merge-with-fee-structure.mjs";
20
+ import { hinkalSolanaTransact as C } from "./hinkalSolanaTransact.mjs";
20
21
  //#region libs/shared/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.ts
21
- var S = 6, C = async (e, n, i, s) => {
22
- let l = i.erc20TokenAddress, u = await e.getEthereumAddressByChain(n), [f, p] = await Promise.all([_(n, l, [l], c.Transact), e.getRandomRelay(n, !0)]);
23
- if (!p) throw Error(r.RELAYER_NOT_AVAILABLE);
24
- let h = await g(e, {
22
+ var w = 6, T = async (e, n, r, i) => {
23
+ let o = r.erc20TokenAddress, u = await e.getEthereumAddressByChain(n), [f, p] = await Promise.all([y(n, o, [o], d.Transact), e.getRandomRelay(n, !0)]);
24
+ if (!p) throw Error(a.RELAYER_NOT_AVAILABLE);
25
+ let m = await v(e, {
25
26
  chainId: n,
26
27
  hinkalAddress: t[n].contractData.hinkalAddress,
27
- erc20Address: l,
28
- externalAddress: o(s),
28
+ erc20Address: o,
29
+ externalAddress: c(i),
29
30
  relay: p,
30
31
  feeStructure: f,
31
- hashedEthereumAddress: a(u)
32
- }), v = [];
33
- for (let t = 0; t < h.length; t += 1) try {
34
- let { jobId: r, signedMessageHash: i } = h[t], { R8: a, S: o } = e.userKeys.signEddsa(BigInt(i));
35
- v.push(await m(r, {
32
+ hashedEthereumAddress: l(u)
33
+ }), h = [];
34
+ for (let t = 0; t < m.length; t += 1) try {
35
+ let { jobId: r, signedMessageHash: i } = m[t], { R8: a, S: o } = e.userKeys.signEddsa(BigInt(i));
36
+ h.push(await g(r, {
36
37
  R8: a,
37
38
  S: o
38
39
  }, n));
39
40
  } catch (e) {
40
- if (!v.length) throw e;
41
- return d.error(`Stuck withdrawal partially submitted (${v.length}/${h.length})`, e), v;
41
+ if (!h.length) throw e;
42
+ return s.error(`Stuck withdrawal partially submitted (${h.length}/${m.length})`, e), h;
42
43
  }
43
- return v;
44
- }, w = async (e, t, n) => {
45
- let r = await Promise.all(Array.from({ length: S }, async (r, i) => {
46
- let a = i + 1, o = await _(e, t, [t], c.Transact, void 0, void 0, {
44
+ return h;
45
+ }, E = async (e, t, n) => {
46
+ let r = await Promise.all(Array.from({ length: w }, async (r, i) => {
47
+ let a = i + 1, o = await y(e, t, [t], d.Transact, void 0, void 0, {
47
48
  mintTo: t,
48
49
  recipient: n,
49
50
  nullifierCount: a
@@ -51,71 +52,71 @@ var S = 6, C = async (e, n, i, s) => {
51
52
  return [String(a), o];
52
53
  }));
53
54
  return Object.fromEntries(r);
54
- }, T = async (e, t, n, i) => {
55
- let o = n.erc20TokenAddress, [s, c, l] = await Promise.all([
55
+ }, D = async (e, t, n, r) => {
56
+ let i = n.erc20TokenAddress, [o, s, c] = await Promise.all([
56
57
  e.getEthereumAddressByChain(t),
57
58
  e.getRandomRelay(t, !0),
58
- w(t, o, i)
59
+ E(t, i, r)
59
60
  ]);
60
- if (!c) throw Error(r.RELAYER_NOT_AVAILABLE);
61
- let u = await h(e, {
61
+ if (!s) throw Error(a.RELAYER_NOT_AVAILABLE);
62
+ let u = await _(e, {
62
63
  chainId: t,
63
- mintAddress: o,
64
- recipient: i,
65
- relayAddress: c,
64
+ mintAddress: i,
65
+ recipient: r,
66
+ relayAddress: s,
66
67
  accounts: {
67
- recipient: i,
68
- mint: o === "11111111111111111111111111111111" ? void 0 : o
68
+ recipient: r,
69
+ mint: i === "11111111111111111111111111111111" ? void 0 : i
69
70
  },
70
- feeStructures: l,
71
- hashedEthereumAddress: a(s)
71
+ feeStructures: c,
72
+ hashedEthereumAddress: l(o)
72
73
  }), d = [];
73
74
  for (let n = 0; n < u.length; n += 1) {
74
75
  let { jobId: r, signedMessageHash: i } = u[n], { R8: a, S: o } = e.userKeys.signEddsa(BigInt(i));
75
- d.push(await p(r, {
76
+ d.push(await h(r, {
76
77
  R8: a,
77
78
  S: o
78
79
  }, t));
79
80
  }
80
81
  return d;
81
- }, E = async (e, t, n, i, a) => {
82
- let s = [n.erc20TokenAddress], u = n.erc20TokenAddress, [d, f] = await Promise.all([_(t, u, s, c.Transact), e.getRandomRelay(t, !0)]);
83
- if (!f) throw Error(r.RELAYER_NOT_AVAILABLE);
84
- let p = o(a), m = i - d.flatFee;
85
- if (m <= 0n) throw Error(`Insufficient balance to cover fee. Balance: ${i}, Fee: ${d.flatFee}`);
82
+ }, O = async (e, t, n, r, i) => {
83
+ let o = [n.erc20TokenAddress], s = n.erc20TokenAddress, [l, u] = await Promise.all([y(t, s, o, d.Transact), e.getRandomRelay(t, !0)]);
84
+ if (!u) throw Error(a.RELAYER_NOT_AVAILABLE);
85
+ let p = c(i), m = r - l.flatFee;
86
+ if (m <= 0n) throw Error(`Insufficient balance to cover fee. Balance: ${r}, Fee: ${l.flatFee}`);
86
87
  let h = [-m];
87
- return await b(t, s, h, d), {
88
- tx: await v(e, {
88
+ return await S(t, o, h, l), {
89
+ tx: await b(e, {
89
90
  chainId: t,
90
- erc20Addresses: s,
91
+ erc20Addresses: o,
91
92
  amountChanges: h,
92
93
  externalAddress: p,
93
- feeStructure: d,
94
- relay: f,
94
+ feeStructure: l,
95
+ relay: u,
95
96
  useBlockedUtxos: !0,
96
97
  onTxSubmitLocally: (n) => {
97
- y(t, e, n.inputNullifiers?.flat(), n.outCommitments?.flat(), n.encryptedOutputs?.flat());
98
+ x(t, e, n.inputNullifiers?.flat(), n.outCommitments?.flat(), n.encryptedOutputs?.flat());
98
99
  },
99
- submit: { mode: l.Relayer }
100
+ submit: { mode: f.Relayer }
100
101
  }),
101
102
  amountToRecipient: m
102
103
  };
103
- }, D = async (e, n, i, a, o, s) => {
104
- let l = [i.erc20TokenAddress], { originalDeployer: d } = t[n].contractData;
105
- if (!d) throw Error("missing data");
106
- let f = i.erc20TokenAddress, [p, m] = await Promise.all([_(n, f, l, c.Transact, void 0, void 0, {
107
- mintTo: l[0],
104
+ }, k = async (e, n, r, i, o, s) => {
105
+ let c = [r.erc20TokenAddress], { originalDeployer: l } = t[n].contractData;
106
+ if (!l) throw Error("missing data");
107
+ let u = r.erc20TokenAddress, [f, m] = await Promise.all([y(n, u, c, d.Transact, void 0, void 0, {
108
+ mintTo: c[0],
108
109
  recipient: o,
109
110
  nullifierCount: s
110
111
  }), e.getRandomRelay(n, !0)]);
111
- if (!m) throw Error(r.RELAYER_NOT_AVAILABLE);
112
- let h = a - p.flatFee;
113
- if (h <= 0n) throw Error(`Insufficient balance to cover fee. Balance: ${a}, Fee: ${p.flatFee}`);
112
+ if (!m) throw Error(a.RELAYER_NOT_AVAILABLE);
113
+ let h = i - f.flatFee;
114
+ if (h <= 0n) throw Error(`Insufficient balance to cover fee. Balance: ${i}, Fee: ${f.flatFee}`);
114
115
  let g = [-h];
115
- return g[0] -= p.flatFee, {
116
- tx: await x(e, {
116
+ return g[0] -= f.flatFee, {
117
+ tx: await C(e, {
117
118
  chainId: n,
118
- mintAddresses: l,
119
+ mintAddresses: c,
119
120
  amountChanges: g,
120
121
  relayAddress: m,
121
122
  recipient: o,
@@ -123,45 +124,51 @@ var S = 6, C = async (e, n, i, s) => {
123
124
  functionName: "transact",
124
125
  accounts: {
125
126
  recipient: o,
126
- mint: l[0] === "11111111111111111111111111111111" ? void 0 : l[0]
127
+ mint: c[0] === "11111111111111111111111111111111" ? void 0 : c[0]
127
128
  },
128
- relayerFee: p.flatFee,
129
- variableRate: p.variableRate,
129
+ relayerFee: f.flatFee,
130
+ variableRate: f.variableRate,
130
131
  useBlockedUtxos: !0,
131
132
  onTxSubmitLocally: ({ inputNullifiers: t, outCommitments: r, encryptedOutputs: i }) => {
132
- y(n, e, t, r, i);
133
+ x(n, e, t, r, i);
133
134
  },
134
- submit: { mode: u.Relayer }
135
+ submit: { mode: p.Relayer }
135
136
  }),
136
137
  amountToRecipient: h
137
138
  };
138
- }, O = async (t, n, r, i, a, o) => e(n) ? D(t, n, r, i, a, o) : E(t, n, r, i, a), k = async (t, a, o) => {
139
- let c = f([a]);
139
+ }, A = async (t, n, r, i, a, o) => e(n) ? k(t, n, r, i, a, o) : O(t, n, r, i, a), j = async (e, t, r) => {
140
+ try {
141
+ return ((await e.getStuckShieldedBalances([t])).get(t) ?? []).find((e) => n(e.token.erc20TokenAddress, r.erc20TokenAddress))?.balance ?? 0n;
142
+ } catch (e) {
143
+ return s.error("Failed to read stuck balance after an empty stuck withdrawal", e), 0n;
144
+ }
145
+ }, M = async (t, n, c) => {
146
+ let l = m([n]);
140
147
  if (t.generateProofRemotely) {
141
- let n = e(c) ? await T(t, c, a, o) : await C(t, c, a, o);
142
- if (!n.length) throw Error(r.NO_STUCK_BALANCE_TO_WITHDRAW);
143
- return n;
148
+ let r = e(l) ? await D(t, l, n, c) : await T(t, l, n, c);
149
+ if (!r.length) throw await j(t, l, n) > 0n ? Error(i.INSUFFICIENT_FUNDS_FOR_RECOVERY_FEES) : Error(a.NO_STUCK_BALANCE_TO_WITHDRAW);
150
+ return r;
144
151
  }
145
- let l = [], u = i(c, a.erc20TokenAddress);
146
- await t.resetMerkleTreesIfNecessary([c]);
147
- let p = ((await s({
152
+ let d = [], f = o(l, n.erc20TokenAddress);
153
+ await t.resetMerkleTreesIfNecessary([l]);
154
+ let p = ((await u({
148
155
  hinkal: t,
149
156
  sliceIfMore6: !1,
150
157
  useBlockedUtxos: !0,
151
- chainId: c
152
- }))?.get(u) ?? []).filter((e) => e.amount > 0n).sort((e, t) => Number(t.amount - e.amount));
153
- if (!p.length) throw Error(r.NO_STUCK_BALANCE_TO_WITHDRAW);
154
- for (let e = 0; e < p.length; e += S) {
155
- let r = p.slice(e, e + S), i = n(r);
158
+ chainId: l
159
+ }))?.get(f) ?? []).filter((e) => e.amount > 0n).sort((e, t) => Number(t.amount - e.amount));
160
+ if (!p.length) throw Error(a.NO_STUCK_BALANCE_TO_WITHDRAW);
161
+ for (let e = 0; e < p.length; e += w) {
162
+ let i = p.slice(e, e + w), a = r(i);
156
163
  try {
157
- let { tx: e } = await O(t, c, a, i, o, r.length);
158
- l.push(e);
164
+ let { tx: e } = await A(t, l, n, a, c, i.length);
165
+ d.push(e);
159
166
  } catch (e) {
160
- if (!l.length) throw e;
161
- return d.error(`Stuck withdrawal partially submitted (${l.length}/${Math.ceil(p.length / S)})`, e), l;
167
+ if (!d.length) throw e;
168
+ return s.error(`Stuck withdrawal partially submitted (${d.length}/${Math.ceil(p.length / w)})`, e), d;
162
169
  }
163
170
  }
164
- return l;
171
+ return d;
165
172
  };
166
173
  //#endregion
167
- export { k as hinkalWithdrawStuckUtxos };
174
+ export { M as hinkalWithdrawStuckUtxos };
@@ -23,4 +23,3 @@ export * from './hinkalSolanaDepositAndWithdraw';
23
23
  export * from './hinkalNearDepositAndBridge';
24
24
  export * from './hinkalBridgePrivateToPrivate';
25
25
  export * from './hinkalSolanaSponsoredShield';
26
- export * from './hinkalSolanaSponsoredProxySend';
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../error-handling/error-codes.constants.cjs`),t=require(`../../types/activities.types.cjs`),n=require(`../../types/cache.types.cjs`);require(`../../types/index.cjs`);const r=require(`../../error-handling/logger.cjs`);require(`../../error-handling/index.cjs`);const i=require(`../../constants/tx-confirmation.constants.cjs`),a=require(`../../functions/utils/tx-confirmation.utils.cjs`);require(`../../functions/index.cjs`);const o=require(`../../functions/utils/aggregateTokenAmounts.cjs`);let s=require(`idb-keyval`);var c=class{generateTxId(){return`tx_${new Date().getTime()}_${Math.random().toString(36).substring(2,15)}`}async getTransactionRecord(){return await(0,s.get)(n.StorageKeys.TX_ACTIVITY)||{}}async saveTxRequest(e){let{from:r,to:i,gasInDollar:a,extraNativeTokenFee:c,chainId:l,status:u,txHash:d,activityType:f,tokensReceive:p,tokensSpend:m,tokensApprove:h,activityIcon:g,dappUrl:_,dappName:v,integrationProvider:y,knownPartialSignature:b}=e,x=this.generateTxId(),S=m?.length?o.aggregateTokensBySymbol(m):[],C=p?.length?o.aggregateTokensBySymbol(p):[],w={id:x,from:r,to:i,gasInDollar:a?.toString(),extraNativeTokenFee:c?.toString(),chainId:l,txHash:d,activityType:f,status:u??t.ActivityStatus.PENDING,timestamp:new Date,tokensReceive:C,tokensSpend:S,tokensApprove:h,activityIcon:g,dappUrl:_,dappName:v,integrationProvider:y,knownPartialSignature:b};return await(0,s.update)(n.StorageKeys.TX_ACTIVITY,(e={})=>(e[x]=w,e)),x}async getTxRequest(e){return(await this.getTransactionRecord())[e]||null}async getAllTxRequests(e){let t=await this.getTransactionRecord();return Object.values(t).filter(t=>t.chainId===e).sort((e,t)=>new Date(t.timestamp).getTime()-new Date(e.timestamp).getTime())}async updateTxHash(e,t){let r=await this.getTxRequest(e);if(!r)throw Error(`Activity not found`);let i={...r,txHash:t};await(0,s.update)(n.StorageKeys.TX_ACTIVITY,(t={})=>(t[e]=i,t))}async updateTxStatusAndHash(e,t,r){let i=await this.getTxRequest(e);if(!i)throw Error(`Transaction not found`);let a={...i,status:t,txHash:r,timestamp:new Date};return await(0,s.update)(n.StorageKeys.TX_ACTIVITY,(t={})=>(t[e]=a,t)),a}async updateActivity(e,t,n){try{await this.updateTxStatusAndHash(e,t,n)}catch(e){r.Logger.error(`error in updating tx request`,e)}}async removePendingTransactions(e){try{await(0,s.update)(n.StorageKeys.TX_ACTIVITY,(t={})=>(delete t[e],t))}catch(e){r.Logger.error(`error in deleting tx requests`,e)}}async updatePendingTransactions(n,o,s,c){try{let r=await this.getTxRequest(o);if(!r)throw Error(`Transaction not found`);let{chainId:l}=r;if(!n.success){c?.(n.error),await this.updateActivity(o,t.ActivityStatus.FAILED,`erroredTx`in n?n.erroredTx:void 0);return}if(`txHash`in n){let{txHash:r}=n;try{await a.waitForTransactionConfirmation(l,r,{evmTimeoutMs:i.RELAYER_TX_CONFIRMATION_TIMEOUT})}catch(n){let i=n instanceof Error?n:Error(e.transactionErrorCodes.UNKNOWN);c?.(i),await this.updateActivity(o,t.ActivityStatus.FAILED,r);return}s?.(),await this.updateActivity(o,t.ActivityStatus.SUCCESSFUL,r)}}catch(e){r.Logger.error(`error in updating pending transactions`,e)}}},l=new c;exports.ActivityStorage=c,exports.activityStorage=l;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../error-handling/error-codes.constants.cjs`),t=require(`../../error-handling/logger.cjs`),n=require(`../../types/activities.types.cjs`),r=require(`../../types/cache.types.cjs`);require(`../../types/index.cjs`),require(`../../error-handling/index.cjs`);const i=require(`../../constants/tx-confirmation.constants.cjs`),a=require(`../../functions/utils/tx-confirmation.utils.cjs`);require(`../../functions/index.cjs`);const o=require(`../../functions/utils/aggregateTokenAmounts.cjs`);let s=require(`idb-keyval`);var c=class{generateTxId(){return`tx_${new Date().getTime()}_${Math.random().toString(36).substring(2,15)}`}async getTransactionRecord(){return await(0,s.get)(r.StorageKeys.TX_ACTIVITY)||{}}async saveTxRequest(e){let{from:t,to:i,gasInDollar:a,extraNativeTokenFee:c,chainId:l,status:u,txHash:d,activityType:f,tokensReceive:p,tokensSpend:m,tokensApprove:h,activityIcon:g,dappUrl:_,dappName:v,integrationProvider:y,knownPartialSignature:b}=e,x=this.generateTxId(),S=m?.length?o.aggregateTokensBySymbol(m):[],C=p?.length?o.aggregateTokensBySymbol(p):[],w={id:x,from:t,to:i,gasInDollar:a?.toString(),extraNativeTokenFee:c?.toString(),chainId:l,txHash:d,activityType:f,status:u??n.ActivityStatus.PENDING,timestamp:new Date,tokensReceive:C,tokensSpend:S,tokensApprove:h,activityIcon:g,dappUrl:_,dappName:v,integrationProvider:y,knownPartialSignature:b};return await(0,s.update)(r.StorageKeys.TX_ACTIVITY,(e={})=>(e[x]=w,e)),x}async getTxRequest(e){return(await this.getTransactionRecord())[e]||null}async getAllTxRequests(e){let t=await this.getTransactionRecord();return Object.values(t).filter(t=>t.chainId===e).sort((e,t)=>new Date(t.timestamp).getTime()-new Date(e.timestamp).getTime())}async updateTxHash(e,t){let n=await this.getTxRequest(e);if(!n)throw Error(`Activity not found`);let i={...n,txHash:t};await(0,s.update)(r.StorageKeys.TX_ACTIVITY,(t={})=>(t[e]=i,t))}async updateTxStatusAndHash(e,t,n){let i=await this.getTxRequest(e);if(!i)throw Error(`Transaction not found`);let a={...i,status:t,txHash:n,timestamp:new Date};return await(0,s.update)(r.StorageKeys.TX_ACTIVITY,(t={})=>(t[e]=a,t)),a}async updateActivity(e,n,r){try{await this.updateTxStatusAndHash(e,n,r)}catch(e){t.Logger.error(`error in updating tx request`,e)}}async removePendingTransactions(e){try{await(0,s.update)(r.StorageKeys.TX_ACTIVITY,(t={})=>(delete t[e],t))}catch(e){t.Logger.error(`error in deleting tx requests`,e)}}async updatePendingTransactions(r,o,s,c){try{let t=await this.getTxRequest(o);if(!t)throw Error(`Transaction not found`);let{chainId:l}=t;if(!r.success){c?.(r.error),await this.updateActivity(o,n.ActivityStatus.FAILED,`erroredTx`in r?r.erroredTx:void 0);return}if(`txHash`in r){let{txHash:t}=r;try{await a.waitForTransactionConfirmation(l,t,{evmTimeoutMs:i.RELAYER_TX_CONFIRMATION_TIMEOUT})}catch(r){let i=r instanceof Error?r:Error(e.transactionErrorCodes.UNKNOWN);c?.(i),await this.updateActivity(o,n.ActivityStatus.FAILED,t);return}s?.(),await this.updateActivity(o,n.ActivityStatus.SUCCESSFUL,t)}}catch(e){t.Logger.error(`error in updating pending transactions`,e)}}},l=new c;exports.ActivityStorage=c,exports.activityStorage=l;
@@ -1,8 +1,8 @@
1
1
  import { transactionErrorCodes as e } from "../../error-handling/error-codes.constants.mjs";
2
- import { ActivityStatus as t } from "../../types/activities.types.mjs";
3
- import { StorageKeys as n } from "../../types/cache.types.mjs";
2
+ import { Logger as t } from "../../error-handling/logger.mjs";
3
+ import { ActivityStatus as n } from "../../types/activities.types.mjs";
4
+ import { StorageKeys as r } from "../../types/cache.types.mjs";
4
5
  import "../../types/index.mjs";
5
- import { Logger as r } from "../../error-handling/logger.mjs";
6
6
  import "../../error-handling/index.mjs";
7
7
  import { RELAYER_TX_CONFIRMATION_TIMEOUT as i } from "../../constants/tx-confirmation.constants.mjs";
8
8
  import { waitForTransactionConfirmation as a } from "../../functions/utils/tx-confirmation.utils.mjs";
@@ -15,19 +15,19 @@ var l = class {
15
15
  return `tx_${(/* @__PURE__ */ new Date()).getTime()}_${Math.random().toString(36).substring(2, 15)}`;
16
16
  }
17
17
  async getTransactionRecord() {
18
- return await s(n.TX_ACTIVITY) || {};
18
+ return await s(r.TX_ACTIVITY) || {};
19
19
  }
20
20
  async saveTxRequest(e) {
21
- let { from: r, to: i, gasInDollar: a, extraNativeTokenFee: s, chainId: l, status: u, txHash: d, activityType: f, tokensReceive: p, tokensSpend: m, tokensApprove: h, activityIcon: g, dappUrl: _, dappName: v, integrationProvider: y, knownPartialSignature: b } = e, x = this.generateTxId(), S = m?.length ? o(m) : [], C = p?.length ? o(p) : [], w = {
21
+ let { from: t, to: i, gasInDollar: a, extraNativeTokenFee: s, chainId: l, status: u, txHash: d, activityType: f, tokensReceive: p, tokensSpend: m, tokensApprove: h, activityIcon: g, dappUrl: _, dappName: v, integrationProvider: y, knownPartialSignature: b } = e, x = this.generateTxId(), S = m?.length ? o(m) : [], C = p?.length ? o(p) : [], w = {
22
22
  id: x,
23
- from: r,
23
+ from: t,
24
24
  to: i,
25
25
  gasInDollar: a?.toString(),
26
26
  extraNativeTokenFee: s?.toString(),
27
27
  chainId: l,
28
28
  txHash: d,
29
29
  activityType: f,
30
- status: u ?? t.PENDING,
30
+ status: u ?? n.PENDING,
31
31
  timestamp: /* @__PURE__ */ new Date(),
32
32
  tokensReceive: C,
33
33
  tokensSpend: S,
@@ -38,7 +38,7 @@ var l = class {
38
38
  integrationProvider: y,
39
39
  knownPartialSignature: b
40
40
  };
41
- return await c(n.TX_ACTIVITY, (e = {}) => (e[x] = w, e)), x;
41
+ return await c(r.TX_ACTIVITY, (e = {}) => (e[x] = w, e)), x;
42
42
  }
43
43
  async getTxRequest(e) {
44
44
  return (await this.getTransactionRecord())[e] || null;
@@ -48,61 +48,61 @@ var l = class {
48
48
  return Object.values(t).filter((t) => t.chainId === e).sort((e, t) => new Date(t.timestamp).getTime() - new Date(e.timestamp).getTime());
49
49
  }
50
50
  async updateTxHash(e, t) {
51
- let r = await this.getTxRequest(e);
52
- if (!r) throw Error("Activity not found");
51
+ let n = await this.getTxRequest(e);
52
+ if (!n) throw Error("Activity not found");
53
53
  let i = {
54
- ...r,
54
+ ...n,
55
55
  txHash: t
56
56
  };
57
- await c(n.TX_ACTIVITY, (t = {}) => (t[e] = i, t));
57
+ await c(r.TX_ACTIVITY, (t = {}) => (t[e] = i, t));
58
58
  }
59
- async updateTxStatusAndHash(e, t, r) {
59
+ async updateTxStatusAndHash(e, t, n) {
60
60
  let i = await this.getTxRequest(e);
61
61
  if (!i) throw Error("Transaction not found");
62
62
  let a = {
63
63
  ...i,
64
64
  status: t,
65
- txHash: r,
65
+ txHash: n,
66
66
  timestamp: /* @__PURE__ */ new Date()
67
67
  };
68
- return await c(n.TX_ACTIVITY, (t = {}) => (t[e] = a, t)), a;
68
+ return await c(r.TX_ACTIVITY, (t = {}) => (t[e] = a, t)), a;
69
69
  }
70
- async updateActivity(e, t, n) {
70
+ async updateActivity(e, n, r) {
71
71
  try {
72
- await this.updateTxStatusAndHash(e, t, n);
72
+ await this.updateTxStatusAndHash(e, n, r);
73
73
  } catch (e) {
74
- r.error("error in updating tx request", e);
74
+ t.error("error in updating tx request", e);
75
75
  }
76
76
  }
77
77
  async removePendingTransactions(e) {
78
78
  try {
79
- await c(n.TX_ACTIVITY, (t = {}) => (delete t[e], t));
79
+ await c(r.TX_ACTIVITY, (t = {}) => (delete t[e], t));
80
80
  } catch (e) {
81
- r.error("error in deleting tx requests", e);
81
+ t.error("error in deleting tx requests", e);
82
82
  }
83
83
  }
84
- async updatePendingTransactions(n, o, s, c) {
84
+ async updatePendingTransactions(r, o, s, c) {
85
85
  try {
86
- let r = await this.getTxRequest(o);
87
- if (!r) throw Error("Transaction not found");
88
- let { chainId: l } = r;
89
- if (!n.success) {
90
- c?.(n.error), await this.updateActivity(o, t.FAILED, "erroredTx" in n ? n.erroredTx : void 0);
86
+ let t = await this.getTxRequest(o);
87
+ if (!t) throw Error("Transaction not found");
88
+ let { chainId: l } = t;
89
+ if (!r.success) {
90
+ c?.(r.error), await this.updateActivity(o, n.FAILED, "erroredTx" in r ? r.erroredTx : void 0);
91
91
  return;
92
92
  }
93
- if ("txHash" in n) {
94
- let { txHash: r } = n;
93
+ if ("txHash" in r) {
94
+ let { txHash: t } = r;
95
95
  try {
96
- await a(l, r, { evmTimeoutMs: i });
97
- } catch (n) {
98
- let i = n instanceof Error ? n : Error(e.UNKNOWN);
99
- c?.(i), await this.updateActivity(o, t.FAILED, r);
96
+ await a(l, t, { evmTimeoutMs: i });
97
+ } catch (r) {
98
+ let i = r instanceof Error ? r : Error(e.UNKNOWN);
99
+ c?.(i), await this.updateActivity(o, n.FAILED, t);
100
100
  return;
101
101
  }
102
- s?.(), await this.updateActivity(o, t.SUCCESSFUL, r);
102
+ s?.(), await this.updateActivity(o, n.SUCCESSFUL, t);
103
103
  }
104
104
  } catch (e) {
105
- r.error("error in updating pending transactions", e);
105
+ t.error("error in updating pending transactions", e);
106
106
  }
107
107
  }
108
108
  }, u = new l();
@@ -1 +1 @@
1
- require(`./key-val-store.cjs`),require(`./activity-db.cjs`),require(`./balances-db.cjs`),require(`./private-balances-db.cjs`),require(`./prices-db.cjs`),require(`./contact-db.cjs`),require(`./signatures-db.cjs`),require(`./pay-activity-db.cjs`);
1
+ require(`./key-val-store.cjs`),require(`./activity-db.cjs`),require(`./balances-db.cjs`),require(`./private-balances-db.cjs`),require(`./prices-db.cjs`),require(`./contact-db.cjs`),require(`./signatures-db.cjs`),require(`./pay-activity-db.cjs`),require(`./scheduled-transactions-db.cjs`);
@@ -6,3 +6,4 @@ export * from './prices-db';
6
6
  export * from './contact-db';
7
7
  export * from './signatures-db';
8
8
  export * from './pay-activity-db';
9
+ export * from './scheduled-transactions-db';
@@ -6,3 +6,4 @@ import "./prices-db.mjs";
6
6
  import "./contact-db.mjs";
7
7
  import "./signatures-db.mjs";
8
8
  import "./pay-activity-db.mjs";
9
+ import "./scheduled-transactions-db.mjs";
@@ -0,0 +1 @@
1
+ require(`../../functions/utils/tron.utils.cjs`);const e=require(`../../types/cache.types.cjs`),t=require(`./key-val-store.cjs`);new class{scheduledTransactionsRecordLabel=e.StorageKeys.SCHEDULED_TRANSACTIONS;async getAll(){return t.keyValStore.get(this.scheduledTransactionsRecordLabel)}async getByAddress(e){let t=await this.getAll();return t?t[e]??[]:[]}async saveScheduledTransaction(e,n){await t.keyValStore.update(this.scheduledTransactionsRecordLabel,(t={})=>({...t,[e]:[...t[e]??[],n]}))}async updateLegs(e,n,r){await t.keyValStore.update(this.scheduledTransactionsRecordLabel,(t={})=>({...t,[e]:(t[e]??[]).map(e=>e.scheduleId===n?{...e,legs:e.legs.map((e,t)=>r[t]?{...e,status:r[t].status,scheduledTime:r[t].scheduledTime,txHash:r[t].txHash}:e)}:e)}))}};
@@ -0,0 +1,11 @@
1
+ import { ScheduledTransactionCacheEntry, ScheduledTransactionItemStatus } from '../../types/scheduled-transactions.types';
2
+ export declare const getScheduledTransactionCacheAddressKey: (address: string, isSignedIn: boolean, isSolana: boolean) => string;
3
+ declare class ScheduledTransactionsStorage {
4
+ private readonly scheduledTransactionsRecordLabel;
5
+ private getAll;
6
+ getByAddress(addressKey: string): Promise<ScheduledTransactionCacheEntry[]>;
7
+ saveScheduledTransaction(addressKey: string, entry: ScheduledTransactionCacheEntry): Promise<void>;
8
+ updateLegs(addressKey: string, scheduleId: string, polledLegs: ScheduledTransactionItemStatus[]): Promise<void>;
9
+ }
10
+ export declare const scheduledTransactionsStorage: ScheduledTransactionsStorage;
11
+ export {};
@@ -0,0 +1,34 @@
1
+ import "../../functions/utils/tron.utils.mjs";
2
+ import { StorageKeys as e } from "../../types/cache.types.mjs";
3
+ import { keyValStore as t } from "./key-val-store.mjs";
4
+ new class {
5
+ scheduledTransactionsRecordLabel = e.SCHEDULED_TRANSACTIONS;
6
+ async getAll() {
7
+ return t.get(this.scheduledTransactionsRecordLabel);
8
+ }
9
+ async getByAddress(e) {
10
+ let t = await this.getAll();
11
+ return t ? t[e] ?? [] : [];
12
+ }
13
+ async saveScheduledTransaction(e, n) {
14
+ await t.update(this.scheduledTransactionsRecordLabel, (t = {}) => ({
15
+ ...t,
16
+ [e]: [...t[e] ?? [], n]
17
+ }));
18
+ }
19
+ async updateLegs(e, n, r) {
20
+ await t.update(this.scheduledTransactionsRecordLabel, (t = {}) => ({
21
+ ...t,
22
+ [e]: (t[e] ?? []).map((e) => e.scheduleId === n ? {
23
+ ...e,
24
+ legs: e.legs.map((e, t) => r[t] ? {
25
+ ...e,
26
+ status: r[t].status,
27
+ scheduledTime: r[t].scheduledTime,
28
+ txHash: r[t].txHash
29
+ } : e)
30
+ } : e)
31
+ }));
32
+ }
33
+ }();
34
+ //#endregion
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../types/cache.types.cjs`);require(`../../types/index.cjs`);const t=require(`../../error-handling/logger.cjs`);require(`../../error-handling/index.cjs`);let n=require(`idb-keyval`);new class{generateMessageId(){return`msg_${new Date().getTime()}_${Math.random().toString(36).substring(2,15)}`}async saveSignedMessage(r,i,a,o,s,c){try{let t=this.generateMessageId(),l=await(0,n.get)(e.StorageKeys.SIGNED_MESSAGES)||{},u={chainId:r,messageText:i,messageType:a,subAccountAddress:o,signature:s,appMetaData:c};l[t]={timestamp:new Date().toISOString(),...u},await(0,n.set)(e.StorageKeys.SIGNED_MESSAGES,l)}catch(e){t.Logger.error(`Failed to save signed message:`,e,{chainId:r,messageType:a})}}async getAllSignedMessages(){try{let t=await(0,n.get)(e.StorageKeys.SIGNED_MESSAGES)||{};return Object.values(t).sort((e,t)=>new Date(t.timestamp).getTime()-new Date(e.timestamp).getTime())}catch(e){return t.Logger.error(`Failed to retrieve signed messages:`,e),[]}}};
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../error-handling/logger.cjs`),t=require(`../../types/cache.types.cjs`);require(`../../types/index.cjs`),require(`../../error-handling/index.cjs`);let n=require(`idb-keyval`);new class{generateMessageId(){return`msg_${new Date().getTime()}_${Math.random().toString(36).substring(2,15)}`}async saveSignedMessage(r,i,a,o,s,c){try{let e=this.generateMessageId(),l=await(0,n.get)(t.StorageKeys.SIGNED_MESSAGES)||{},u={chainId:r,messageText:i,messageType:a,subAccountAddress:o,signature:s,appMetaData:c};l[e]={timestamp:new Date().toISOString(),...u},await(0,n.set)(t.StorageKeys.SIGNED_MESSAGES,l)}catch(t){e.Logger.error(`Failed to save signed message:`,t,{chainId:r,messageType:a})}}async getAllSignedMessages(){try{let e=await(0,n.get)(t.StorageKeys.SIGNED_MESSAGES)||{};return Object.values(e).sort((e,t)=>new Date(t.timestamp).getTime()-new Date(e.timestamp).getTime())}catch(t){return e.Logger.error(`Failed to retrieve signed messages:`,t),[]}}};
@@ -1,6 +1,6 @@
1
- import { StorageKeys as e } from "../../types/cache.types.mjs";
1
+ import { Logger as e } from "../../error-handling/logger.mjs";
2
+ import { StorageKeys as t } from "../../types/cache.types.mjs";
2
3
  import "../../types/index.mjs";
3
- import { Logger as t } from "../../error-handling/logger.mjs";
4
4
  import "../../error-handling/index.mjs";
5
5
  import { get as n, set as r } from "idb-keyval";
6
6
  new class {
@@ -9,7 +9,7 @@ new class {
9
9
  }
10
10
  async saveSignedMessage(i, a, o, s, c, l) {
11
11
  try {
12
- let t = this.generateMessageId(), u = await n(e.SIGNED_MESSAGES) || {}, d = {
12
+ let e = this.generateMessageId(), u = await n(t.SIGNED_MESSAGES) || {}, d = {
13
13
  chainId: i,
14
14
  messageText: a,
15
15
  messageType: o,
@@ -17,12 +17,12 @@ new class {
17
17
  signature: c,
18
18
  appMetaData: l
19
19
  };
20
- u[t] = {
20
+ u[e] = {
21
21
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
22
22
  ...d
23
- }, await r(e.SIGNED_MESSAGES, u);
24
- } catch (e) {
25
- t.error("Failed to save signed message:", e, {
23
+ }, await r(t.SIGNED_MESSAGES, u);
24
+ } catch (t) {
25
+ e.error("Failed to save signed message:", t, {
26
26
  chainId: i,
27
27
  messageType: o
28
28
  });
@@ -30,10 +30,10 @@ new class {
30
30
  }
31
31
  async getAllSignedMessages() {
32
32
  try {
33
- let t = await n(e.SIGNED_MESSAGES) || {};
34
- return Object.values(t).sort((e, t) => new Date(t.timestamp).getTime() - new Date(e.timestamp).getTime());
35
- } catch (e) {
36
- return t.error("Failed to retrieve signed messages:", e), [];
33
+ let e = await n(t.SIGNED_MESSAGES) || {};
34
+ return Object.values(e).sort((e, t) => new Date(t.timestamp).getTime() - new Date(e.timestamp).getTime());
35
+ } catch (t) {
36
+ return e.error("Failed to retrieve signed messages:", t), [];
37
37
  }
38
38
  }
39
39
  }();
@@ -1 +1 @@
1
- const e=require(`../../constants/vite.constants.cjs`),t=require(`../crypto-keys/keys.cjs`),n=require(`../utxo/Utxo.cjs`),r=require(`../../webworker/worker.registry.cjs`),i=require(`../../webworker/performTaskWithWorker.cjs`),a=require(`../../webworker/utxoWorker/utxoWorker.types.cjs`);var o=16,s=class{NUM_WORKERS;NUM_WORKERS_BATCH_PROCESS;constructor(){e.isNode?(this.NUM_WORKERS=1,this.NUM_WORKERS_BATCH_PROCESS=1):(this.NUM_WORKERS=3,this.NUM_WORKERS_BATCH_PROCESS=Math.min(o,Math.ceil(navigator.deviceMemory??4)))}async createUtxoPromise(e){return await i.performTaskWithWorker({type:r.WorkerVariant.UTXO,payload:e})}async batchFilterUtxosWithNullifier(e,r){let i=this.sliceArrayIntoParts(e,this.NUM_WORKERS).map(e=>this.createUtxoPromise({type:a.UtxoWorkerActionType.BATCH_FILTER_UTXOS_WITH_NULLIFIER,data:{utxos:e.map(e=>e.getConstructableParams()),nullifiers:r}})),o=await Promise.all(i);return o.forEach(e=>{t.stealthPairCacheDevice.mergeWithSerialized(e.stealthPairCache)}),o.flatMap(e=>e.utxoConstructors).map(e=>new n.Utxo(e))}async buildBatchProcess(e,t,r){let i=this.sliceArrayIntoParts(e,this.NUM_WORKERS).map(e=>this.createUtxoPromise({type:a.UtxoWorkerActionType.BUILD_UTXOS,data:{signature:t.getSignature(),encryptedOutputs:e,chainId:r}}));return(await Promise.all(i)).flat().map(e=>new n.Utxo(e))}sliceArrayIntoParts(e,t){let n=Math.ceil(e.length/t);return Array.from({length:t},(t,r)=>e.slice(n*r,n*(r+1))).filter(e=>e.length>0)}findLastOutput(e,t){let n=t;return e.forEach(e=>{e!==t&&(n=e)}),n}async batchProcess(e,t,n,r){let i=this.sliceArrayIntoParts(e,this.NUM_WORKERS_BATCH_PROCESS),o=n.getSignature(),s=i.map(e=>{let n={type:a.UtxoWorkerActionType.DECIPHER_OUTPUTS,data:{encryptedOutputs:e,lastOutput:t,signature:o,chainId:r}};return this.createUtxoPromise(n)}),c=await Promise.all(s),l=c.map(({additionalEncryptedOutputs:e})=>e).flat(),u=new Set;return{additionalEncryptedOutputs:l.reduce((e,t)=>u.has(t.value)?e:(u.add(t.value),[...e,t]),[]),lastOutput:this.findLastOutput(c.map(e=>e.lastOutput),t)??t}}};exports.MultiThreadedUtxoUtils=s;
1
+ const e=require(`../../constants/vite.constants.cjs`),t=require(`../crypto-keys/keys.cjs`),n=require(`../utxo/Utxo.cjs`),r=require(`../../webworker/worker.registry.cjs`),i=require(`../../webworker/performTaskWithWorker.cjs`),a=require(`../../webworker/utxoWorker/utxoWorker.types.cjs`);var o=16,s=class{NUM_WORKERS;NUM_WORKERS_BATCH_PROCESS;constructor(){e.isNode?(this.NUM_WORKERS=1,this.NUM_WORKERS_BATCH_PROCESS=1):(this.NUM_WORKERS=3,this.NUM_WORKERS_BATCH_PROCESS=Math.min(o,Math.ceil(navigator.deviceMemory??4)))}keyMaterialFor(e){return e.hasSignature()?{signature:e.getSignature()}:{nullifyingKey:e.getShieldedPrivateKey()}}async createUtxoPromise(e){return await i.performTaskWithWorker({type:r.WorkerVariant.UTXO,payload:e})}async batchFilterUtxosWithNullifier(e,r){let i=this.sliceArrayIntoParts(e,this.NUM_WORKERS).map(e=>this.createUtxoPromise({type:a.UtxoWorkerActionType.BATCH_FILTER_UTXOS_WITH_NULLIFIER,data:{utxos:e.map(e=>e.getConstructableParams()),nullifiers:r}})),o=await Promise.all(i);return o.forEach(e=>{t.stealthPairCacheDevice.mergeWithSerialized(e.stealthPairCache)}),o.flatMap(e=>e.utxoConstructors).map(e=>new n.Utxo(e))}async buildBatchProcess(e,t,r){let i=this.sliceArrayIntoParts(e,this.NUM_WORKERS).map(e=>this.createUtxoPromise({type:a.UtxoWorkerActionType.BUILD_UTXOS,data:{...this.keyMaterialFor(t),encryptedOutputs:e,chainId:r}}));return(await Promise.all(i)).flat().map(e=>new n.Utxo(e))}sliceArrayIntoParts(e,t){let n=Math.ceil(e.length/t);return Array.from({length:t},(t,r)=>e.slice(n*r,n*(r+1))).filter(e=>e.length>0)}findLastOutput(e,t){let n=t;return e.forEach(e=>{e!==t&&(n=e)}),n}async batchProcess(e,t,n,r){let i=this.sliceArrayIntoParts(e,this.NUM_WORKERS_BATCH_PROCESS),o=this.keyMaterialFor(n),s=i.map(e=>{let n={type:a.UtxoWorkerActionType.DECIPHER_OUTPUTS,data:{encryptedOutputs:e,lastOutput:t,...o,chainId:r}};return this.createUtxoPromise(n)}),c=await Promise.all(s),l=c.map(({additionalEncryptedOutputs:e})=>e).flat(),u=new Set;return{additionalEncryptedOutputs:l.reduce((e,t)=>u.has(t.value)?e:(u.add(t.value),[...e,t]),[]),lastOutput:this.findLastOutput(c.map(e=>e.lastOutput),t)??t}}};exports.MultiThreadedUtxoUtils=s;
@@ -11,6 +11,7 @@ export declare class MultiThreadedUtxoUtils implements IMultiThreadedUtxoUtils {
11
11
  readonly NUM_WORKERS: number;
12
12
  readonly NUM_WORKERS_BATCH_PROCESS: number;
13
13
  constructor();
14
+ private keyMaterialFor;
14
15
  private createUtxoPromise;
15
16
  batchFilterUtxosWithNullifier(allUtxos: Utxo[], nullifiers: Set<string>): Promise<Utxo[]>;
16
17
  buildBatchProcess(encryptedOutputs: EncryptedOutputWithSign[], userKeys: UserKeys, chainId: number): Promise<Utxo[]>;
@@ -11,6 +11,9 @@ var o = 16, s = class {
11
11
  constructor() {
12
12
  e ? (this.NUM_WORKERS = 1, this.NUM_WORKERS_BATCH_PROCESS = 1) : (this.NUM_WORKERS = 3, this.NUM_WORKERS_BATCH_PROCESS = Math.min(o, Math.ceil(navigator.deviceMemory ?? 4)));
13
13
  }
14
+ keyMaterialFor(e) {
15
+ return e.hasSignature() ? { signature: e.getSignature() } : { nullifyingKey: e.getShieldedPrivateKey() };
16
+ }
14
17
  async createUtxoPromise(e) {
15
18
  return await i({
16
19
  type: r.UTXO,
@@ -33,7 +36,7 @@ var o = 16, s = class {
33
36
  let i = this.sliceArrayIntoParts(e, this.NUM_WORKERS).map((e) => this.createUtxoPromise({
34
37
  type: a.BUILD_UTXOS,
35
38
  data: {
36
- signature: t.getSignature(),
39
+ ...this.keyMaterialFor(t),
37
40
  encryptedOutputs: e,
38
41
  chainId: r
39
42
  }
@@ -51,13 +54,13 @@ var o = 16, s = class {
51
54
  }), n;
52
55
  }
53
56
  async batchProcess(e, t, n, r) {
54
- let i = this.sliceArrayIntoParts(e, this.NUM_WORKERS_BATCH_PROCESS), o = n.getSignature(), s = i.map((e) => {
57
+ let i = this.sliceArrayIntoParts(e, this.NUM_WORKERS_BATCH_PROCESS), o = this.keyMaterialFor(n), s = i.map((e) => {
55
58
  let n = {
56
59
  type: a.DECIPHER_OUTPUTS,
57
60
  data: {
58
61
  encryptedOutputs: e,
59
62
  lastOutput: t,
60
- signature: o,
63
+ ...o,
61
64
  chainId: r
62
65
  }
63
66
  };
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../functions/utils/caseInsensitive.utils.cjs`),t=require(`../../types/cache.types.cjs`),n=require(`../../API/API.cjs`),r=require(`../../error-handling/logger.cjs`),i=require(`../../functions/utils/string.utils.cjs`),a=require(`./token-visibility-db.cjs`);let o=require(`idb-keyval`);var s=class{fetchedTokens={};initalFetched=!1;async updateFetchedTokens(){let e=await(0,o.get)(t.StorageKeys.PRIVATE_TOKENS);this.fetchedTokens=e??{},this.initalFetched=!0}async getPrivateTokens(e,n){let r=i.getStateKey(n,e);return(await(0,o.get)(t.StorageKeys.PRIVATE_TOKENS))?.[r]||[]}async fetchPrivateTokens(t,i,a){try{let r=[...new Set(i)].filter(t=>t&&!e.lowerCaseIncludes(a,t));if(!r.length)return[];let o=(await n.API.tokensInfoCall(t,r)).filter(e=>!!e),s=new Map;return o.forEach(e=>{s.set(e.erc20TokenAddress.toLowerCase(),e)}),Array.from(s.values())}catch(e){return r.Logger.error(`Error fetching private tokens:`,e),[]}}async fetchAndUpdatePrivateTokens(n,r,s,c){let l=(await this.getPrivateTokens(r,s)).map(e=>e.erc20TokenAddress),u=c??await this.fetchPrivateTokens(r,n,l),d=await a.tokenVisibilityStorage.hideSpamsAndFetchHiddenTokensAddresses(r,u),f=i.getStateKey(s,r);await(0,o.update)(t.StorageKeys.PRIVATE_TOKENS,(t={})=>{let n=t?.[f]||[],r=n.map(e=>e.erc20TokenAddress),i=u.filter(t=>!e.lowerCaseIncludes(r,t.erc20TokenAddress));n.push(...i);let a=n.filter(t=>!e.lowerCaseIncludes(d,t.erc20TokenAddress)),o={...t,[f]:a};return this.fetchedTokens=o,o})}getFetchedTokens(e,t){let n=i.getStateKey(t,e);return this.fetchedTokens[n]||[]}},c=new s;exports.PrivateTokensDB=s,exports.privateTokensDB=c;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../functions/utils/caseInsensitive.utils.cjs`),t=require(`../../error-handling/logger.cjs`),n=require(`../../types/cache.types.cjs`),r=require(`../../API/API.cjs`),i=require(`../../functions/utils/string.utils.cjs`),a=require(`./token-visibility-db.cjs`);let o=require(`idb-keyval`);var s=new class{fetchedTokens={};initalFetched=!1;async updateFetchedTokens(){let e=await(0,o.get)(n.StorageKeys.PRIVATE_TOKENS);this.fetchedTokens=e??{},this.initalFetched=!0}async getPrivateTokens(e,t){let r=i.getStateKey(t,e);return(await(0,o.get)(n.StorageKeys.PRIVATE_TOKENS))?.[r]||[]}async fetchPrivateTokens(n,i,a){try{let t=[...new Set(i)].filter(t=>t&&!e.lowerCaseIncludes(a,t));if(!t.length)return[];let o=(await r.API.tokensInfoCall(n,t)).filter(e=>!!e),s=new Map;return o.forEach(e=>{s.set(e.erc20TokenAddress.toLowerCase(),e)}),Array.from(s.values())}catch(e){return t.Logger.error(`Error fetching private tokens:`,e),[]}}async fetchAndUpdatePrivateTokens(t,r,s,c){let l=(await this.getPrivateTokens(r,s)).map(e=>e.erc20TokenAddress),u=c??await this.fetchPrivateTokens(r,t,l),d=await a.tokenVisibilityStorage.hideSpamsAndFetchHiddenTokensAddresses(r,u),f=i.getStateKey(s,r);await(0,o.update)(n.StorageKeys.PRIVATE_TOKENS,(t={})=>{let n=t?.[f]||[],r=n.map(e=>e.erc20TokenAddress),i=u.filter(t=>!e.lowerCaseIncludes(r,t.erc20TokenAddress));n.push(...i);let a=n.filter(t=>!e.lowerCaseIncludes(d,t.erc20TokenAddress)),o={...t,[f]:a};return this.fetchedTokens=o,o})}getFetchedTokens(e,t){let n=i.getStateKey(t,e);return this.fetchedTokens[n]||[]}};exports.privateTokensDB=s;