@hinkal/common 0.3.1 → 0.3.2

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 (410) hide show
  1. package/common/src/API/API.cjs +1 -1
  2. package/common/src/API/API.d.ts +9 -34
  3. package/common/src/API/API.mjs +75 -100
  4. package/common/src/API/callOneInchAPI.cjs +1 -1
  5. package/common/src/API/callOneInchAPI.d.ts +6 -0
  6. package/common/src/API/callOneInchAPI.mjs +5 -2
  7. package/common/src/API/dashboardAccountMemberCalls.cjs +1 -1
  8. package/common/src/API/dashboardAccountMemberCalls.d.ts +15 -0
  9. package/common/src/API/dashboardAccountMemberCalls.mjs +5 -2
  10. package/common/src/API/dashboardPayoutCalls.cjs +1 -1
  11. package/common/src/API/dashboardPayoutCalls.d.ts +2 -1
  12. package/common/src/API/dashboardPayoutCalls.mjs +4 -1
  13. package/common/src/API/enclaveUtxoCalls.d.ts +9 -1
  14. package/common/src/API/getWebsiteURL.d.ts +1 -2
  15. package/common/src/API/index.cjs +1 -1
  16. package/common/src/API/index.d.ts +1 -2
  17. package/common/src/API/index.mjs +2 -3
  18. package/common/src/API/payoutNotificationStateCalls.cjs +1 -0
  19. package/common/src/API/payoutNotificationStateCalls.d.ts +10 -0
  20. package/common/src/API/payoutNotificationStateCalls.mjs +10 -0
  21. package/common/src/API/proxyAccountsCalls.cjs +1 -1
  22. package/common/src/API/proxyAccountsCalls.d.ts +2 -3
  23. package/common/src/API/proxyAccountsCalls.mjs +11 -10
  24. package/common/src/API/rewardsUserCalls.cjs +1 -1
  25. package/common/src/API/rewardsUserCalls.d.ts +1 -38
  26. package/common/src/API/rewardsUserCalls.mjs +2 -9
  27. package/common/src/API/scheduled-transactions-calls.d.ts +1 -0
  28. package/common/src/API/temporaryWalletCalls.cjs +1 -1
  29. package/common/src/API/temporaryWalletCalls.mjs +8 -8
  30. package/common/src/API/weeklyAnalyticCalls.cjs +1 -1
  31. package/common/src/API/weeklyAnalyticCalls.d.ts +1 -11
  32. package/common/src/API/weeklyAnalyticCalls.mjs +2 -5
  33. package/common/src/constants/chains.constants.cjs +1 -1
  34. package/common/src/constants/chains.constants.mjs +3 -10
  35. package/common/src/constants/contracts.constants.cjs +1 -1
  36. package/common/src/constants/contracts.constants.mjs +19 -32
  37. package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.cjs +1 -1
  38. package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.mjs +8 -9
  39. package/common/src/constants/deploy-data/deploy-data-base.json.cjs +1 -1
  40. package/common/src/constants/deploy-data/deploy-data-base.json.mjs +8 -9
  41. package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.cjs +1 -1
  42. package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.mjs +8 -9
  43. package/common/src/constants/deploy-data/deploy-data-optimism.json.cjs +1 -1
  44. package/common/src/constants/deploy-data/deploy-data-optimism.json.mjs +8 -9
  45. package/common/src/constants/deploy-data/deploy-data-optimismTest.json.cjs +1 -1
  46. package/common/src/constants/deploy-data/deploy-data-optimismTest.json.mjs +8 -9
  47. package/common/src/constants/deploy-data/deploy-data-polygon.json.cjs +1 -1
  48. package/common/src/constants/deploy-data/deploy-data-polygon.json.mjs +8 -9
  49. package/common/src/constants/deploy-data/shared-deploy-data-evm.json.cjs +1 -1
  50. package/common/src/constants/deploy-data/shared-deploy-data-evm.json.mjs +19 -45
  51. package/common/src/constants/deploy-data/shared-deploy-data-solana.json.cjs +1 -1
  52. package/common/src/constants/deploy-data/shared-deploy-data-solana.json.mjs +1 -1
  53. package/common/src/constants/deploy-data/shared-deploy-data-tron.json.cjs +1 -1
  54. package/common/src/constants/deploy-data/shared-deploy-data-tron.json.mjs +7 -18
  55. package/common/src/constants/enclaveAuth.constants.d.ts +5 -0
  56. package/common/src/constants/index.cjs +1 -1
  57. package/common/src/constants/index.d.ts +1 -2
  58. package/common/src/constants/index.mjs +0 -1
  59. package/common/src/constants/mediaUrls.constants.d.ts +0 -1
  60. package/common/src/constants/pay.constants.d.ts +1 -0
  61. package/common/src/constants/protocol.constants.cjs +2 -1
  62. package/common/src/constants/protocol.constants.d.ts +7 -5
  63. package/common/src/constants/protocol.constants.mjs +4 -11
  64. package/common/src/constants/rewards.constants.d.ts +0 -13
  65. package/common/src/constants/server.constants.cjs +1 -1
  66. package/common/src/constants/server.constants.d.ts +5 -28
  67. package/common/src/constants/server.constants.mjs +10 -41
  68. package/common/src/crypto/ecdh.cjs +1 -1
  69. package/common/src/crypto/ecdh.mjs +2 -9
  70. package/common/src/crypto/index.cjs +1 -1
  71. package/common/src/crypto/index.mjs +1 -1
  72. package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
  73. package/common/src/data-structures/Hinkal/Hinkal.d.ts +4 -8
  74. package/common/src/data-structures/Hinkal/Hinkal.mjs +83 -99
  75. package/common/src/data-structures/Hinkal/IHinkal.d.ts +5 -9
  76. package/common/src/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
  77. package/common/src/data-structures/Hinkal/handleAutoDepositBack.mjs +22 -22
  78. package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.cjs +1 -1
  79. package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.mjs +21 -21
  80. package/common/src/data-structures/Hinkal/hinkalClaimUtxo.cjs +1 -1
  81. package/common/src/data-structures/Hinkal/hinkalClaimUtxo.mjs +6 -9
  82. package/common/src/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
  83. package/common/src/data-structures/Hinkal/hinkalDeposit.mjs +4 -7
  84. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.cjs +1 -1
  85. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.mjs +64 -66
  86. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
  87. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.d.ts +1 -1
  88. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +47 -51
  89. package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.cjs +1 -1
  90. package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.d.ts +1 -1
  91. package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +33 -43
  92. package/common/src/data-structures/Hinkal/hinkalPalEvmDeposit.d.ts +1 -1
  93. package/common/src/data-structures/Hinkal/hinkalPalTronDepositPrepare.d.ts +2 -2
  94. package/common/src/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
  95. package/common/src/data-structures/Hinkal/hinkalPrivateWallet.mjs +6 -6
  96. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
  97. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.d.ts +2 -2
  98. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.mjs +107 -94
  99. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.cjs +1 -1
  100. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.d.ts +3 -0
  101. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.mjs +26 -14
  102. package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -1
  103. package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.mjs +4 -4
  104. package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.cjs +1 -1
  105. package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.mjs +4 -9
  106. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
  107. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.mjs +26 -32
  108. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  109. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +43 -42
  110. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
  111. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.mjs +4 -4
  112. package/common/src/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
  113. package/common/src/data-structures/Hinkal/hinkalTransfer.mjs +6 -6
  114. package/common/src/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
  115. package/common/src/data-structures/Hinkal/hinkalWithdraw.mjs +22 -26
  116. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
  117. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +21 -24
  118. package/common/src/data-structures/Hinkal/index.d.ts +0 -1
  119. package/common/src/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
  120. package/common/src/data-structures/Hinkal/resetMerkleTrees.mjs +4 -4
  121. package/common/src/data-structures/IndexedDB/activity-db.cjs +1 -1
  122. package/common/src/data-structures/IndexedDB/activity-db.mjs +34 -34
  123. package/common/src/data-structures/IndexedDB/contact-db.cjs +1 -1
  124. package/common/src/data-structures/IndexedDB/contact-db.d.ts +0 -1
  125. package/common/src/data-structures/IndexedDB/contact-db.mjs +14 -28
  126. package/common/src/data-structures/IndexedDB/key-val-store.cjs +1 -1
  127. package/common/src/data-structures/IndexedDB/key-val-store.d.ts +2 -0
  128. package/common/src/data-structures/IndexedDB/key-val-store.mjs +14 -0
  129. package/common/src/data-structures/IndexedDB/private-balances-db.cjs +1 -1
  130. package/common/src/data-structures/IndexedDB/private-balances-db.d.ts +1 -0
  131. package/common/src/data-structures/IndexedDB/private-balances-db.mjs +3 -0
  132. package/common/src/data-structures/IndexedDB/signatures-db.cjs +1 -1
  133. package/common/src/data-structures/IndexedDB/signatures-db.mjs +11 -11
  134. package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs +1 -1
  135. package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.mjs +25 -25
  136. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +1 -1
  137. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +12 -12
  138. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.cjs +1 -1
  139. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.mjs +12 -12
  140. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
  141. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.mjs +24 -24
  142. package/common/src/data-structures/TokenDBs/PrivateTokensDB.cjs +1 -1
  143. package/common/src/data-structures/TokenDBs/PrivateTokensDB.mjs +14 -14
  144. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.cjs +1 -1
  145. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.mjs +14 -14
  146. package/common/src/data-structures/WalletManager/WalletManager.d.ts +1 -0
  147. package/common/src/data-structures/cacheDevices/BaseCacheDevice.cjs +1 -1
  148. package/common/src/data-structures/cacheDevices/BaseCacheDevice.d.ts +1 -0
  149. package/common/src/data-structures/cacheDevices/BaseCacheDevice.mjs +3 -0
  150. package/common/src/data-structures/cacheDevices/FileCacheDevice.cjs +1 -1
  151. package/common/src/data-structures/cacheDevices/FileCacheDevice.d.ts +3 -0
  152. package/common/src/data-structures/cacheDevices/FileCacheDevice.mjs +12 -3
  153. package/common/src/data-structures/crypto-keys/decodeUTXO.cjs +1 -1
  154. package/common/src/data-structures/crypto-keys/decodeUTXO.d.ts +8 -9
  155. package/common/src/data-structures/crypto-keys/decodeUTXO.mjs +38 -48
  156. package/common/src/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -1
  157. package/common/src/data-structures/crypto-keys/encryptDecryptUtxo.d.ts +2 -3
  158. package/common/src/data-structures/crypto-keys/encryptDecryptUtxo.mjs +26 -22
  159. package/common/src/data-structures/crypto-keys/keys.cjs +1 -1
  160. package/common/src/data-structures/crypto-keys/keys.d.ts +12 -27
  161. package/common/src/data-structures/crypto-keys/keys.mjs +61 -79
  162. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
  163. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +1 -2
  164. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.mjs +4 -10
  165. package/common/src/data-structures/event-service/evm/ClientBlockchainEventEmitter.cjs +1 -1
  166. package/common/src/data-structures/event-service/evm/ClientBlockchainEventEmitter.d.ts +1 -1
  167. package/common/src/data-structures/event-service/evm/ClientBlockchainEventEmitter.mjs +2 -2
  168. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.cjs +1 -1
  169. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.mjs +40 -40
  170. package/common/src/data-structures/provider-adapter/IProviderAdapter.d.ts +0 -1
  171. package/common/src/data-structures/utxo/Utxo.cjs +1 -1
  172. package/common/src/data-structures/utxo/Utxo.d.ts +1 -4
  173. package/common/src/data-structures/utxo/Utxo.mjs +7 -17
  174. package/common/src/error-handling/error-codes.constants.cjs +2 -2
  175. package/common/src/error-handling/error-codes.constants.d.ts +0 -3
  176. package/common/src/error-handling/error-codes.constants.mjs +13 -18
  177. package/common/src/error-handling/index.cjs +1 -1
  178. package/common/src/error-handling/index.d.ts +1 -0
  179. package/common/src/error-handling/index.mjs +1 -0
  180. package/common/src/functions/auto-deposit-back-helpers/select-gas-token.cjs +1 -1
  181. package/common/src/functions/auto-deposit-back-helpers/select-gas-token.mjs +8 -8
  182. package/common/src/functions/index.cjs +1 -1
  183. package/common/src/functions/index.mjs +1 -1
  184. package/common/src/functions/pre-transaction/buildCommitmentValidationData.cjs +1 -1
  185. package/common/src/functions/pre-transaction/buildCommitmentValidationData.mjs +36 -38
  186. package/common/src/functions/pre-transaction/outputUtxoProcessing.cjs +1 -1
  187. package/common/src/functions/pre-transaction/outputUtxoProcessing.mjs +3 -5
  188. package/common/src/functions/pre-transaction/recipientUtxoProcessing.cjs +1 -1
  189. package/common/src/functions/pre-transaction/recipientUtxoProcessing.mjs +3 -5
  190. package/common/src/functions/pre-transaction/solana-public-signals.d.ts +1 -0
  191. package/common/src/functions/pre-transaction/solana.cjs +1 -1
  192. package/common/src/functions/pre-transaction/solana.mjs +5 -4
  193. package/common/src/functions/private-wallet/emporium.helpers.cjs +1 -1
  194. package/common/src/functions/private-wallet/emporium.helpers.d.ts +1 -2
  195. package/common/src/functions/private-wallet/emporium.helpers.mjs +83 -57
  196. package/common/src/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
  197. package/common/src/functions/private-wallet/emporium.swap.helpers.mjs +19 -19
  198. package/common/src/functions/snarkjs/common.snarkjs.cjs +1 -1
  199. package/common/src/functions/snarkjs/common.snarkjs.d.ts +2 -3
  200. package/common/src/functions/snarkjs/common.snarkjs.mjs +45 -47
  201. package/common/src/functions/snarkjs/constant.cjs +1 -1
  202. package/common/src/functions/snarkjs/constant.d.ts +151 -144
  203. package/common/src/functions/snarkjs/constant.mjs +151 -145
  204. package/common/src/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
  205. package/common/src/functions/snarkjs/constructGeneralZkProof.d.ts +1 -1
  206. package/common/src/functions/snarkjs/constructGeneralZkProof.mjs +59 -60
  207. package/common/src/functions/snarkjs/constructSignatureFromMnemonicProofInput.cjs +1 -0
  208. package/common/src/functions/snarkjs/constructSignatureFromMnemonicProofInput.d.ts +7 -0
  209. package/common/src/functions/snarkjs/constructSignatureFromMnemonicProofInput.mjs +2 -0
  210. package/common/src/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
  211. package/common/src/functions/snarkjs/constructSolanaZkProof.mjs +54 -58
  212. package/common/src/functions/snarkjs/fetchMerkleTreeSiblings.d.ts +1 -3
  213. package/common/src/functions/snarkjs/fetchOnChainRootHashes.cjs +1 -1
  214. package/common/src/functions/snarkjs/fetchOnChainRootHashes.d.ts +1 -0
  215. package/common/src/functions/snarkjs/fetchOnChainRootHashes.mjs +14 -5
  216. package/common/src/functions/snarkjs/generateCircomData.cjs +1 -1
  217. package/common/src/functions/snarkjs/generateCircomData.d.ts +1 -1
  218. package/common/src/functions/snarkjs/generateCircomData.mjs +35 -31
  219. package/common/src/functions/snarkjs/generateSignatureFromMnemonicProof.cjs +1 -0
  220. package/common/src/functions/snarkjs/generateSignatureFromMnemonicProof.d.ts +2 -0
  221. package/common/src/functions/snarkjs/generateSignatureFromMnemonicProof.mjs +3 -0
  222. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.cjs +1 -1
  223. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.d.ts +2 -0
  224. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.mjs +18 -12
  225. package/common/src/functions/snarkjs/getZKFiles.cjs +1 -1
  226. package/common/src/functions/snarkjs/getZKFiles.mjs +9 -3
  227. package/common/src/functions/snarkjs/index.cjs +1 -1
  228. package/common/src/functions/snarkjs/index.d.ts +2 -0
  229. package/common/src/functions/snarkjs/index.mjs +2 -0
  230. package/common/src/functions/snarkjs/signedMessageHash.cjs +1 -1
  231. package/common/src/functions/snarkjs/signedMessageHash.d.ts +1 -0
  232. package/common/src/functions/snarkjs/signedMessageHash.mjs +2 -0
  233. package/common/src/functions/utils/addresses.cjs +1 -1
  234. package/common/src/functions/utils/addresses.d.ts +0 -1
  235. package/common/src/functions/utils/addresses.mjs +10 -13
  236. package/common/src/functions/utils/bridge-flow.utils.d.ts +1 -1
  237. package/common/src/functions/utils/buildClaimableDepositPlan.d.ts +1 -0
  238. package/common/src/functions/utils/convertEmporiumOpToCallInfo.cjs +1 -1
  239. package/common/src/functions/utils/convertEmporiumOpToCallInfo.mjs +5 -10
  240. package/common/src/functions/utils/enclave-utxo-storage.d.ts +3 -0
  241. package/common/src/functions/utils/enclaveSessionSigning.cjs +1 -0
  242. package/common/src/functions/utils/enclaveSessionSigning.d.ts +16 -0
  243. package/common/src/functions/utils/enclaveSessionSigning.mjs +2 -0
  244. package/common/src/functions/utils/encodeTokenWithId.cjs +1 -1
  245. package/common/src/functions/utils/encodeTokenWithId.d.ts +1 -2
  246. package/common/src/functions/utils/encodeTokenWithId.mjs +2 -5
  247. package/common/src/functions/utils/fees.utils.cjs +1 -1
  248. package/common/src/functions/utils/fees.utils.d.ts +1 -0
  249. package/common/src/functions/utils/fees.utils.mjs +5 -1
  250. package/common/src/functions/utils/getDataFromTransaction.d.ts +4 -3
  251. package/common/src/functions/utils/getRecipientInfoFromUserKeys.cjs +1 -1
  252. package/common/src/functions/utils/getRecipientInfoFromUserKeys.mjs +2 -3
  253. package/common/src/functions/utils/getUtxosFromReceiptSolana.cjs +1 -1
  254. package/common/src/functions/utils/getUtxosFromReceiptSolana.mjs +16 -18
  255. package/common/src/functions/utils/index.cjs +1 -1
  256. package/common/src/functions/utils/index.d.ts +5 -1
  257. package/common/src/functions/utils/index.mjs +5 -1
  258. package/common/src/functions/utils/legacyKeys.cjs +1 -0
  259. package/common/src/functions/utils/legacyKeys.d.ts +10 -0
  260. package/common/src/functions/utils/legacyKeys.mjs +8 -0
  261. package/common/src/functions/utils/mnemonics.cjs +1 -1
  262. package/common/src/functions/utils/mnemonics.mjs +4 -6
  263. package/common/src/functions/utils/nearIntents.utils.cjs +1 -1
  264. package/common/src/functions/utils/nearIntents.utils.mjs +1 -1
  265. package/common/src/functions/utils/networks.utils.d.ts +1 -0
  266. package/common/src/functions/utils/prepareHinkal.cjs +1 -1
  267. package/common/src/functions/utils/prepareHinkal.d.ts +1 -3
  268. package/common/src/functions/utils/prepareHinkal.mjs +2 -1
  269. package/common/src/functions/utils/resolve-domain-address.cjs +1 -0
  270. package/common/src/functions/utils/resolve-domain-address.d.ts +4 -0
  271. package/common/src/functions/utils/resolve-domain-address.mjs +3 -0
  272. package/common/src/functions/utils/serialize-utxos.utils.cjs +1 -1
  273. package/common/src/functions/utils/serialize-utxos.utils.mjs +6 -4
  274. package/common/src/functions/utils/tron.utils.cjs +1 -1
  275. package/common/src/functions/utils/tron.utils.d.ts +1 -1
  276. package/common/src/functions/utils/tron.utils.mjs +14 -29
  277. package/common/src/functions/utils/validateWalletAddress.cjs +1 -0
  278. package/common/src/functions/utils/validateWalletAddress.d.ts +1 -0
  279. package/common/src/functions/utils/validateWalletAddress.mjs +2 -0
  280. package/common/src/functions/utils/voidWallets.utils.cjs +1 -0
  281. package/common/src/functions/utils/voidWallets.utils.d.ts +4 -0
  282. package/common/src/functions/utils/voidWallets.utils.mjs +1 -0
  283. package/common/src/functions/web3/etherFunctions.d.ts +1 -0
  284. package/common/src/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
  285. package/common/src/functions/web3/events/getInputUtxoAndBalance.d.ts +2 -4
  286. package/common/src/functions/web3/events/getInputUtxoAndBalance.mjs +9 -16
  287. package/common/src/functions/web3/events/getShieldedBalance.cjs +1 -1
  288. package/common/src/functions/web3/events/getShieldedBalance.d.ts +1 -1
  289. package/common/src/functions/web3/events/getShieldedBalance.mjs +21 -29
  290. package/common/src/functions/web3/functionCalls/approveToken.cjs +1 -1
  291. package/common/src/functions/web3/functionCalls/approveToken.d.ts +1 -1
  292. package/common/src/functions/web3/functionCalls/approveToken.mjs +21 -107
  293. package/common/src/functions/web3/functionCalls/constructBatchCall.cjs +1 -1
  294. package/common/src/functions/web3/functionCalls/constructBatchCall.d.ts +2 -2
  295. package/common/src/functions/web3/functionCalls/constructBatchCall.mjs +23 -18
  296. package/common/src/functions/web3/functionCalls/transactCallDirectTron.cjs +1 -1
  297. package/common/src/functions/web3/functionCalls/transactCallDirectTron.mjs +37 -3
  298. package/common/src/functions/web3/functionCalls/waitForErc20Approvals.cjs +1 -1
  299. package/common/src/functions/web3/functionCalls/waitForErc20Approvals.mjs +6 -6
  300. package/common/src/functions/web3/oneInchAPI.cjs +1 -1
  301. package/common/src/functions/web3/oneInchAPI.mjs +31 -21
  302. package/common/src/functions/web3/uniswapAPI.cjs +1 -1
  303. package/common/src/functions/web3/uniswapAPI.mjs +6 -6
  304. package/common/src/providers/EthersProviderAdapter.cjs +1 -1
  305. package/common/src/providers/EthersProviderAdapter.d.ts +0 -1
  306. package/common/src/providers/EthersProviderAdapter.mjs +0 -3
  307. package/common/src/providers/SolanaProviderAdapter.cjs +1 -1
  308. package/common/src/providers/SolanaProviderAdapter.d.ts +0 -1
  309. package/common/src/providers/SolanaProviderAdapter.mjs +0 -3
  310. package/common/src/providers/TronProviderAdapter.cjs +1 -1
  311. package/common/src/providers/TronProviderAdapter.d.ts +0 -1
  312. package/common/src/providers/TronProviderAdapter.mjs +0 -3
  313. package/common/src/providers/WagmiProviderAdapter.cjs +1 -1
  314. package/common/src/providers/WagmiProviderAdapter.d.ts +0 -1
  315. package/common/src/providers/WagmiProviderAdapter.mjs +5 -9
  316. package/common/src/types/API.types.d.ts +0 -4
  317. package/common/src/types/WeeklyAnalytics.types.d.ts +1 -26
  318. package/common/src/types/cache.types.cjs +1 -1
  319. package/common/src/types/cache.types.d.ts +2 -2
  320. package/common/src/types/cache.types.mjs +1 -1
  321. package/common/src/types/circom-data.types.cjs +1 -1
  322. package/common/src/types/circom-data.types.d.ts +26 -27
  323. package/common/src/types/circom-data.types.mjs +1 -1
  324. package/common/src/types/dashboard-account.d.ts +15 -0
  325. package/common/src/types/dashboard-payout.types.d.ts +1 -0
  326. package/common/src/types/enclaveApi.types.d.ts +78 -0
  327. package/common/src/types/ethereum-network.types.cjs +1 -1
  328. package/common/src/types/ethereum-network.types.d.ts +13 -23
  329. package/common/src/types/ethereum-network.types.mjs +1 -1
  330. package/common/src/types/external-action.types.cjs +1 -1
  331. package/common/src/types/external-action.types.d.ts +2 -3
  332. package/common/src/types/external-action.types.mjs +1 -1
  333. package/common/src/types/hinkal.types.cjs +1 -1
  334. package/common/src/types/hinkal.types.d.ts +8 -22
  335. package/common/src/types/hinkal.types.mjs +11 -19
  336. package/common/src/types/index.cjs +1 -1
  337. package/common/src/types/index.d.ts +3 -5
  338. package/common/src/types/index.mjs +0 -1
  339. package/common/src/types/new-rewards.type.d.ts +0 -70
  340. package/common/src/types/payout-notification.types.d.ts +11 -0
  341. package/common/src/types/proxy-progress.types.d.ts +5 -0
  342. package/common/src/types/snark.types.d.ts +1 -3
  343. package/common/src/types/token.types.cjs +1 -1
  344. package/common/src/types/token.types.mjs +1 -3
  345. package/common/src/types/transaction.types.d.ts +0 -1
  346. package/common/src/types/transactions.types.d.ts +0 -1
  347. package/common/src/webworker/logError-uy41lNp1.js +2 -0
  348. package/common/src/webworker/package.json +1 -1
  349. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
  350. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
  351. package/common/src/webworker/snarkjsWorkerNode.cjs +1 -1
  352. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
  353. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
  354. package/common/src/webworker/utxoWorkerNode.cjs +1 -1
  355. package/common/src/webworker/viteWorkerURL.constant.cjs +3 -3
  356. package/common/src/webworker/viteWorkerURL.constant.mjs +3 -3
  357. package/common/src/webworker/workerProxy-MheXtWa4.js +1 -0
  358. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
  359. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
  360. package/common/src/webworker/zkProofWorkerNode.cjs +1 -1
  361. package/package.json +1 -1
  362. package/services/Hinkal.cjs +1 -1
  363. package/services/Hinkal.d.ts +1 -2
  364. package/services/Hinkal.mjs +4 -7
  365. package/types/IHinkal.d.ts +1 -2
  366. package/common/src/API/accessCodeCalls.cjs +0 -1
  367. package/common/src/API/accessCodeCalls.d.ts +0 -23
  368. package/common/src/API/accessCodeCalls.mjs +0 -13
  369. package/common/src/API/brotherhoodCalls.cjs +0 -1
  370. package/common/src/API/brotherhoodCalls.d.ts +0 -82
  371. package/common/src/API/brotherhoodCalls.mjs +0 -17
  372. package/common/src/API/generate-trading-points.cjs +0 -1
  373. package/common/src/API/generate-trading-points.d.ts +0 -27
  374. package/common/src/API/generate-trading-points.mjs +0 -23
  375. package/common/src/API/leaderboardCalls.cjs +0 -1
  376. package/common/src/API/leaderboardCalls.d.ts +0 -14
  377. package/common/src/API/leaderboardCalls.mjs +0 -8
  378. package/common/src/API/referralsCalls.cjs +0 -1
  379. package/common/src/API/referralsCalls.d.ts +0 -22
  380. package/common/src/API/referralsCalls.mjs +0 -11
  381. package/common/src/API/send-telegram-callback.cjs +0 -1
  382. package/common/src/API/send-telegram-callback.d.ts +0 -7
  383. package/common/src/API/send-telegram-callback.mjs +0 -11
  384. package/common/src/constants/mystery-boxes.constants.d.ts +0 -0
  385. package/common/src/constants/price-impact.constants.d.ts +0 -2
  386. package/common/src/constants/tasks.constants.cjs +0 -1
  387. package/common/src/constants/tasks.constants.d.ts +0 -9
  388. package/common/src/constants/tasks.constants.mjs +0 -124
  389. package/common/src/data-structures/Hinkal/hinkalMultiSend.cjs +0 -1
  390. package/common/src/data-structures/Hinkal/hinkalMultiSend.d.ts +0 -3
  391. package/common/src/data-structures/Hinkal/hinkalMultiSend.mjs +0 -12
  392. package/common/src/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.cjs +0 -1
  393. package/common/src/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.d.ts +0 -6
  394. package/common/src/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.mjs +0 -128
  395. package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.cjs +0 -1
  396. package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.d.ts +0 -22
  397. package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.mjs +0 -34
  398. package/common/src/functions/utils/bit.operations.cjs +0 -1
  399. package/common/src/functions/utils/bit.operations.d.ts +0 -3
  400. package/common/src/functions/utils/bit.operations.mjs +0 -4
  401. package/common/src/types/brotherhood-user.types.d.ts +0 -11
  402. package/common/src/types/crypto.types.d.ts +0 -8
  403. package/common/src/types/generatePoints.d.ts +0 -14
  404. package/common/src/types/new-rewards.type.cjs +0 -1
  405. package/common/src/types/new-rewards.type.mjs +0 -10
  406. package/common/src/types/referral.types.d.ts +0 -12
  407. package/common/src/types/rewards.types.d.ts +0 -34
  408. package/common/src/types/token-with-id.types.d.ts +0 -4
  409. package/common/src/webworker/logError-BR5TJP6T.js +0 -2
  410. package/common/src/webworker/workerProxy-Ddzxn23N.js +0 -1
@@ -1,44 +1,44 @@
1
1
  import { isNode as e } from "../../constants/vite.constants.mjs";
2
- import { stealthAddressCacheDevice as t, stealthPairCacheDevice as n } from "../crypto-keys/keys.mjs";
3
- import { Utxo as r } from "../utxo/Utxo.mjs";
4
- import { WorkerVariant as i } from "../../webworker/worker.registry.mjs";
5
- import { performTaskWithWorker as a } from "../../webworker/performTaskWithWorker.mjs";
6
- import { UtxoWorkerActionType as o } from "../../webworker/utxoWorker/utxoWorker.types.mjs";
2
+ import { stealthPairCacheDevice as t } from "../crypto-keys/keys.mjs";
3
+ import { Utxo as n } from "../utxo/Utxo.mjs";
4
+ import { WorkerVariant as r } from "../../webworker/worker.registry.mjs";
5
+ import { performTaskWithWorker as i } from "../../webworker/performTaskWithWorker.mjs";
6
+ import { UtxoWorkerActionType as a } from "../../webworker/utxoWorker/utxoWorker.types.mjs";
7
7
  //#region libs/shared/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.ts
8
- var s = 16, c = class {
8
+ var o = 16, s = class {
9
9
  NUM_WORKERS;
10
10
  NUM_WORKERS_BATCH_PROCESS;
11
11
  constructor() {
12
- e ? (this.NUM_WORKERS = 1, this.NUM_WORKERS_BATCH_PROCESS = 1) : (this.NUM_WORKERS = 3, this.NUM_WORKERS_BATCH_PROCESS = Math.min(s, Math.ceil(navigator.deviceMemory ?? 4)));
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
14
  async createUtxoPromise(e) {
15
- return await a({
16
- type: i.UTXO,
15
+ return await i({
16
+ type: r.UTXO,
17
17
  payload: e
18
18
  });
19
19
  }
20
- async batchFilterUtxosWithNullifier(e, i) {
21
- let a = this.sliceArrayIntoParts(e, this.NUM_WORKERS).map((e) => this.createUtxoPromise({
22
- type: o.BATCH_FILTER_UTXOS_WITH_NULLIFIER,
20
+ async batchFilterUtxosWithNullifier(e, r) {
21
+ let i = this.sliceArrayIntoParts(e, this.NUM_WORKERS).map((e) => this.createUtxoPromise({
22
+ type: a.BATCH_FILTER_UTXOS_WITH_NULLIFIER,
23
23
  data: {
24
24
  utxos: e.map((e) => e.getConstructableParams()),
25
- nullifiers: i
25
+ nullifiers: r
26
26
  }
27
- })), s = await Promise.all(a);
28
- return s.forEach((e) => {
29
- n.mergeWithSerialized(e.stealthPairCache), t.mergeWithSerialized(e.stealthAddressCache);
30
- }), s.flatMap((e) => e.utxoConstructors).map((e) => new r(e));
27
+ })), o = await Promise.all(i);
28
+ return o.forEach((e) => {
29
+ t.mergeWithSerialized(e.stealthPairCache);
30
+ }), o.flatMap((e) => e.utxoConstructors).map((e) => new n(e));
31
31
  }
32
- async buildBatchProcess(e, t, n) {
32
+ async buildBatchProcess(e, t, r) {
33
33
  let i = this.sliceArrayIntoParts(e, this.NUM_WORKERS).map((e) => this.createUtxoPromise({
34
- type: o.BUILD_UTXOS,
34
+ type: a.BUILD_UTXOS,
35
35
  data: {
36
36
  signature: t.getSignature(),
37
37
  encryptedOutputs: e,
38
- chainId: n
38
+ chainId: r
39
39
  }
40
40
  }));
41
- return (await Promise.all(i)).flat().map((e) => new r(e));
41
+ return (await Promise.all(i)).flat().map((e) => new n(e));
42
42
  }
43
43
  sliceArrayIntoParts(e, t) {
44
44
  let n = Math.ceil(e.length / t);
@@ -51,13 +51,13 @@ var s = 16, c = class {
51
51
  }), n;
52
52
  }
53
53
  async batchProcess(e, t, n, r) {
54
- let i = this.sliceArrayIntoParts(e, this.NUM_WORKERS_BATCH_PROCESS), a = n.getSignature(), s = i.map((e) => {
54
+ let i = this.sliceArrayIntoParts(e, this.NUM_WORKERS_BATCH_PROCESS), o = n.getSignature(), s = i.map((e) => {
55
55
  let n = {
56
- type: o.DECIPHER_OUTPUTS,
56
+ type: a.DECIPHER_OUTPUTS,
57
57
  data: {
58
58
  encryptedOutputs: e,
59
59
  lastOutput: t,
60
- signature: a,
60
+ signature: o,
61
61
  chainId: r
62
62
  }
63
63
  };
@@ -70,4 +70,4 @@ var s = 16, c = class {
70
70
  }
71
71
  };
72
72
  //#endregion
73
- export { c as MultiThreadedUtxoUtils };
73
+ export { s as MultiThreadedUtxoUtils };
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../functions/utils/caseInsensitive.utils.cjs`),r=require(`../../types/cache.types.cjs`),i=require(`../http/HttpClient.cjs`);require(`../http/index.cjs`);const a=require(`../../error-handling/logger.cjs`),o=require(`../../API/API.cjs`),s=require(`../../functions/utils/string.utils.cjs`),c=require(`./token-visibility-db.cjs`),l=require(`../../functions/utils/erc20tokenFunctions.cjs`),u=require(`../../functions/utils/create-provider.cjs`),d=require(`../../functions/utils/publicBalance.utils.cjs`);let f=require(`@solana/web3.js`),p=require(`idb-keyval`),m=require(`@solana/spl-token`);var h=new class{fetchedTokens={};ALCHEMY_URLS={[e.chainIds.ethMainnet]:`eth-mainnet`,[e.chainIds.polygon]:`polygon-mainnet`,[e.chainIds.arbMainnet]:`arb-mainnet`,[e.chainIds.optimism]:`opt-mainnet`,[e.chainIds.optimismTest]:`opt-mainnet`,[e.chainIds.base]:`base-mainnet`,[e.chainIds.solanaMainnet]:`solana-mainnet`,[e.chainIds.sepoliaTestnet]:`eth-sepolia`};KNOWN_GOOD_NFTS={[e.chainIds.base]:[`0x20bc8d248fe9c18a947406cea50d716828ab821f`],[e.chainIds.optimism]:[`0x3c3e0e73b53a19bcaf4178b8f9c9428fd2a2775e`]};isWhitelistedNFT(e,t){return this.KNOWN_GOOD_NFTS[t]?this.KNOWN_GOOD_NFTS[t].some(t=>n.caseInsensitiveEqual(e,t)):!1}async getPublicTokens(e,t){let n=s.getStateKey(t,e);return l.overlayTokensWithRegistryData((await(0,p.get)(r.StorageKeys.ALCHEMY_PUBLIC_TOKENS))?.[n]||[],e)}async getFetchedTokens(e,t){let n=s.getStateKey(t,e);return l.overlayTokensWithRegistryData(this.fetchedTokens[n]||[],e)}fetchAndUpdatePublicTokens(t,n){return e.isSolanaLike(n)?this.fetchAndUpdateSolanaTokens(t,n):this.fetchAndUpdateEVMTokens(t,n)}async fetchAndUpdateSolanaTokens(e,t){let i=s.getStateKey(e,t),[a,l]=await Promise.all([this.getSolanaTokenAddresses(t,e),this.getNFTAddresses(t,e)]),u=Array.from(new Set([...a,...l]));if(!u.length)return;let d=(await o.API.tokensInfoCall(t,u)).filter(e=>!!e),f=await c.tokenVisibilityStorage.hideSpamsAndFetchHiddenTokensAddresses(t,d),m=d.filter(e=>!n.lowerCaseIncludes(f,e.erc20TokenAddress));await(0,p.update)(r.StorageKeys.ALCHEMY_PUBLIC_TOKENS,(e={})=>{let t={...e,[i]:m};return this.fetchedTokens=t,t})}async getWalletTokenAddresses(t,n){return e.isSolanaLike(t)?this.getSolanaTokenAddresses(t,n):this.getEVMTokenAddresses(t,n)}async fetchAndUpdateEVMTokens(e,i){let a=s.getStateKey(e,i),l=await this.getEVMTokenAddresses(i,e),u=await this.getNFTTokens(i,e),d=u.map(e=>e.contractAddress),f=[...l,...d];if(!f.length)return;let m=(await o.API.tokensInfoCall(i,f)).map((e,r)=>{if(e)return e;let a=f[r],o=u.find(e=>n.caseInsensitiveEqual(e.contractAddress,a));return o&&o.tokenIds&&o.tokenIds.length>0&&this.isWhitelistedNFT(a,i)?{chainId:i,name:`Unknown NFT`,symbol:`NFT`,erc20TokenAddress:a,decimals:0,nftTokenType:t.TokenType.ERC721,tokenIds:o.tokenIds}:null}).filter(e=>!!e),h=await c.tokenVisibilityStorage.hideSpamsAndFetchHiddenTokensAddresses(i,m),g=m.filter(e=>!n.lowerCaseIncludes(h,e.erc20TokenAddress)).map(e=>({...e,tokenIds:u.find(t=>n.caseInsensitiveEqual(t.contractAddress,e.erc20TokenAddress))?.tokenIds}));await(0,p.update)(r.StorageKeys.ALCHEMY_PUBLIC_TOKENS,(e={})=>{let t={...e,[a]:g};return this.fetchedTokens=t,t})}async getSolanaTokenAddresses(n,r){let{fetchRpcUrl:i}=e.networkRegistry[n];if(!i)throw Error(`RPC URL not found for the specified chain ID`);let a=u.createCustomSolanaConnection(i),o=await a.getBalance(new f.PublicKey(r)),[s,c]=await Promise.all([a.getParsedTokenAccountsByOwner(new f.PublicKey(r),{programId:m.TOKEN_PROGRAM_ID}),a.getParsedTokenAccountsByOwner(new f.PublicKey(r),{programId:m.TOKEN_2022_PROGRAM_ID})]),l=[...s.value,...c.value].filter(e=>{let{amount:t}=e.account.data.parsed.info.tokenAmount;return BigInt(t)>0n}).map(e=>e.account.data.parsed.info.mint);return o>0&&l.unshift(t.solanaNativeAddress),Array.from(new Set(l))}async getNFTAddresses(n,r){let{fetchRpcUrl:o}=e.networkRegistry[n];if(!o)throw Error(`RPC URL not found for the specified chain ID`);try{let e=[],n=1;do{let{items:a=[],page:s}=(await i.httpClient.post(o,{jsonrpc:`2.0`,id:1,method:`getAssetsByOwner`,params:{ownerAddress:r,page:n,limit:1e3,displayOptions:{showFungible:!1,showCollectionMetadata:!0}}})).result||{},c=a.filter(e=>e.interface&&t.SOLANA_NFT_INTERFACES.includes(e.interface)).map(e=>e.id);e.push(...c),n=s&&s>n?s:0}while(n>0);return e}catch(e){return a.Logger.error(`Failed to fetch NFTs from DAS API`,e),[]}}async getEVMTokenAddresses(n,r){let a=await d.getPublicBalanceByTokenAddress(n,r,t.zeroAddress),o=this.ALCHEMY_URLS[n];if(!o)throw Error(`Alchemy URL not found for the specified chain ID: ${n}`);let s=`https://${o}.g.alchemy.com/v2/${e.ALCHEMY_API_KEY}`,c=[],l;do{let e=[r,`erc20`];l&&e.push({pageKey:l});let{result:t}=await i.httpClient.post(s,{jsonrpc:`2.0`,id:1,method:`alchemy_getTokenBalances`,params:e});c.push(...t?.tokenBalances??[]),l=t?.pageKey}while(l);a&&a>0n&&c.push({contractAddress:t.zeroAddress,tokenBalance:a.toString()});let u={};return c.forEach(e=>{(!u[e.contractAddress]||BigInt(e.tokenBalance)>0n)&&(u[e.contractAddress]=e)}),Object.keys(u)}async getNFTTokens(t,n){let r=`https://${this.ALCHEMY_URLS[t]}.g.alchemy.com/nft/v3/${e.ALCHEMY_API_KEY}/getNFTsForOwner`,a=[],o;do{let e=new URLSearchParams({owner:n,withMetadata:`false`,pageSize:`100`});o&&e.append(`pageKey`,o);let{ownedNfts:t=[],pageKey:s}=await i.httpClient.get(`${r}?${e.toString()}`);a.push(...t),o=s}while(o);let s=a.filter(({contractAddress:e,tokenId:t})=>e&&t).reduce((e,{contractAddress:t,tokenId:n})=>{let r=t.toLowerCase();return e.has(r)||e.set(r,[]),e.get(r)?.push(n),e},new Map);return Array.from(s.entries()).map(([e,t])=>({contractAddress:e,tokenIds:t}))}};exports.alchemyPublicTokensDB=h;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../functions/utils/caseInsensitive.utils.cjs`),r=require(`../http/HttpClient.cjs`);require(`../http/index.cjs`);const i=require(`../../error-handling/logger.cjs`),a=require(`../../types/cache.types.cjs`),o=require(`../../API/API.cjs`),s=require(`../../functions/utils/string.utils.cjs`),c=require(`./token-visibility-db.cjs`),l=require(`../../functions/utils/erc20tokenFunctions.cjs`),u=require(`../../functions/utils/create-provider.cjs`),d=require(`../../functions/utils/publicBalance.utils.cjs`);let f=require(`@solana/web3.js`),p=require(`idb-keyval`),m=require(`@solana/spl-token`);var h=new class{fetchedTokens={};ALCHEMY_URLS={[e.chainIds.ethMainnet]:`eth-mainnet`,[e.chainIds.polygon]:`polygon-mainnet`,[e.chainIds.arbMainnet]:`arb-mainnet`,[e.chainIds.optimism]:`opt-mainnet`,[e.chainIds.optimismTest]:`opt-mainnet`,[e.chainIds.base]:`base-mainnet`,[e.chainIds.solanaMainnet]:`solana-mainnet`,[e.chainIds.sepoliaTestnet]:`eth-sepolia`};KNOWN_GOOD_NFTS={[e.chainIds.base]:[`0x20bc8d248fe9c18a947406cea50d716828ab821f`],[e.chainIds.optimism]:[`0x3c3e0e73b53a19bcaf4178b8f9c9428fd2a2775e`]};isWhitelistedNFT(e,t){return this.KNOWN_GOOD_NFTS[t]?this.KNOWN_GOOD_NFTS[t].some(t=>n.caseInsensitiveEqual(e,t)):!1}async getPublicTokens(e,t){let n=s.getStateKey(t,e);return l.overlayTokensWithRegistryData((await(0,p.get)(a.StorageKeys.ALCHEMY_PUBLIC_TOKENS))?.[n]||[],e)}async getFetchedTokens(e,t){let n=s.getStateKey(t,e);return l.overlayTokensWithRegistryData(this.fetchedTokens[n]||[],e)}fetchAndUpdatePublicTokens(t,n){return e.isSolanaLike(n)?this.fetchAndUpdateSolanaTokens(t,n):this.fetchAndUpdateEVMTokens(t,n)}async fetchAndUpdateSolanaTokens(e,t){let r=s.getStateKey(e,t),[i,l]=await Promise.all([this.getSolanaTokenAddresses(t,e),this.getNFTAddresses(t,e)]),u=Array.from(new Set([...i,...l]));if(!u.length)return;let d=(await o.API.tokensInfoCall(t,u)).filter(e=>!!e),f=await c.tokenVisibilityStorage.hideSpamsAndFetchHiddenTokensAddresses(t,d),m=d.filter(e=>!n.lowerCaseIncludes(f,e.erc20TokenAddress));await(0,p.update)(a.StorageKeys.ALCHEMY_PUBLIC_TOKENS,(e={})=>{let t={...e,[r]:m};return this.fetchedTokens=t,t})}async getWalletTokenAddresses(t,n){return e.isSolanaLike(t)?this.getSolanaTokenAddresses(t,n):this.getEVMTokenAddresses(t,n)}async fetchAndUpdateEVMTokens(e,r){let i=s.getStateKey(e,r),l=await this.getEVMTokenAddresses(r,e),u=await this.getNFTTokens(r,e),d=u.map(e=>e.contractAddress),f=[...l,...d];if(!f.length)return;let m=(await o.API.tokensInfoCall(r,f)).map((e,i)=>{if(e)return e;let a=f[i],o=u.find(e=>n.caseInsensitiveEqual(e.contractAddress,a));return o&&o.tokenIds&&o.tokenIds.length>0&&this.isWhitelistedNFT(a,r)?{chainId:r,name:`Unknown NFT`,symbol:`NFT`,erc20TokenAddress:a,decimals:0,nftTokenType:t.TokenType.ERC721,tokenIds:o.tokenIds}:null}).filter(e=>!!e),h=await c.tokenVisibilityStorage.hideSpamsAndFetchHiddenTokensAddresses(r,m),g=m.filter(e=>!n.lowerCaseIncludes(h,e.erc20TokenAddress)).map(e=>({...e,tokenIds:u.find(t=>n.caseInsensitiveEqual(t.contractAddress,e.erc20TokenAddress))?.tokenIds}));await(0,p.update)(a.StorageKeys.ALCHEMY_PUBLIC_TOKENS,(e={})=>{let t={...e,[i]:g};return this.fetchedTokens=t,t})}async getSolanaTokenAddresses(n,r){let{fetchRpcUrl:i}=e.networkRegistry[n];if(!i)throw Error(`RPC URL not found for the specified chain ID`);let a=u.createCustomSolanaConnection(i),o=await a.getBalance(new f.PublicKey(r)),[s,c]=await Promise.all([a.getParsedTokenAccountsByOwner(new f.PublicKey(r),{programId:m.TOKEN_PROGRAM_ID}),a.getParsedTokenAccountsByOwner(new f.PublicKey(r),{programId:m.TOKEN_2022_PROGRAM_ID})]),l=[...s.value,...c.value].filter(e=>{let{amount:t}=e.account.data.parsed.info.tokenAmount;return BigInt(t)>0n}).map(e=>e.account.data.parsed.info.mint);return o>0&&l.unshift(t.solanaNativeAddress),Array.from(new Set(l))}async getNFTAddresses(n,a){let{fetchRpcUrl:o}=e.networkRegistry[n];if(!o)throw Error(`RPC URL not found for the specified chain ID`);try{let e=[],n=1;do{let{items:i=[],page:s}=(await r.httpClient.post(o,{jsonrpc:`2.0`,id:1,method:`getAssetsByOwner`,params:{ownerAddress:a,page:n,limit:1e3,displayOptions:{showFungible:!1,showCollectionMetadata:!0}}})).result||{},c=i.filter(e=>e.interface&&t.SOLANA_NFT_INTERFACES.includes(e.interface)).map(e=>e.id);e.push(...c),n=s&&s>n?s:0}while(n>0);return e}catch(e){return i.Logger.error(`Failed to fetch NFTs from DAS API`,e),[]}}async getEVMTokenAddresses(n,i){let a=await d.getPublicBalanceByTokenAddress(n,i,t.zeroAddress),o=this.ALCHEMY_URLS[n];if(!o)throw Error(`Alchemy URL not found for the specified chain ID: ${n}`);let s=`https://${o}.g.alchemy.com/v2/${e.ALCHEMY_API_KEY}`,c=[],l;do{let e=[i,`erc20`];l&&e.push({pageKey:l});let{result:t}=await r.httpClient.post(s,{jsonrpc:`2.0`,id:1,method:`alchemy_getTokenBalances`,params:e});c.push(...t?.tokenBalances??[]),l=t?.pageKey}while(l);a&&a>0n&&c.push({contractAddress:t.zeroAddress,tokenBalance:a.toString()});let u={};return c.forEach(e=>{(!u[e.contractAddress]||BigInt(e.tokenBalance)>0n)&&(u[e.contractAddress]=e)}),Object.keys(u)}async getNFTTokens(t,n){let i=`https://${this.ALCHEMY_URLS[t]}.g.alchemy.com/nft/v3/${e.ALCHEMY_API_KEY}/getNFTsForOwner`,a=[],o;do{let e=new URLSearchParams({owner:n,withMetadata:`false`,pageSize:`100`});o&&e.append(`pageKey`,o);let{ownedNfts:t=[],pageKey:s}=await r.httpClient.get(`${i}?${e.toString()}`);a.push(...t),o=s}while(o);let s=a.filter(({contractAddress:e,tokenId:t})=>e&&t).reduce((e,{contractAddress:t,tokenId:n})=>{let r=t.toLowerCase();return e.has(r)||e.set(r,[]),e.get(r)?.push(n),e},new Map);return Array.from(s.entries()).map(([e,t])=>({contractAddress:e,tokenIds:t}))}};exports.alchemyPublicTokensDB=h;
@@ -1,10 +1,10 @@
1
1
  import { ALCHEMY_API_KEY as e, chainIds as t, isSolanaLike as n, networkRegistry as r } from "../../constants/chains.constants.mjs";
2
2
  import { SOLANA_NFT_INTERFACES as i, TokenType as a, solanaNativeAddress as o, zeroAddress as s } from "../../constants/protocol.constants.mjs";
3
3
  import { caseInsensitiveEqual as c, lowerCaseIncludes as l } from "../../functions/utils/caseInsensitive.utils.mjs";
4
- import { StorageKeys as u } from "../../types/cache.types.mjs";
5
- import { httpClient as d } from "../http/HttpClient.mjs";
4
+ import { httpClient as u } from "../http/HttpClient.mjs";
6
5
  import "../http/index.mjs";
7
- import { Logger as f } from "../../error-handling/logger.mjs";
6
+ import { Logger as d } from "../../error-handling/logger.mjs";
7
+ import { StorageKeys as f } from "../../types/cache.types.mjs";
8
8
  import { API as p } from "../../API/API.mjs";
9
9
  import { getStateKey as m } from "../../functions/utils/string.utils.mjs";
10
10
  import { tokenVisibilityStorage as h } from "./token-visibility-db.mjs";
@@ -35,7 +35,7 @@ var w = new class {
35
35
  }
36
36
  async getPublicTokens(e, t) {
37
37
  let n = m(t, e);
38
- return g((await b(u.ALCHEMY_PUBLIC_TOKENS))?.[n] || [], e);
38
+ return g((await b(f.ALCHEMY_PUBLIC_TOKENS))?.[n] || [], e);
39
39
  }
40
40
  async getFetchedTokens(e, t) {
41
41
  let n = m(t, e);
@@ -48,7 +48,7 @@ var w = new class {
48
48
  let n = m(e, t), [r, i] = await Promise.all([this.getSolanaTokenAddresses(t, e), this.getNFTAddresses(t, e)]), a = Array.from(new Set([...r, ...i]));
49
49
  if (!a.length) return;
50
50
  let o = (await p.tokensInfoCall(t, a)).filter((e) => !!e), s = await h.hideSpamsAndFetchHiddenTokensAddresses(t, o), c = o.filter((e) => !l(s, e.erc20TokenAddress));
51
- await x(u.ALCHEMY_PUBLIC_TOKENS, (e = {}) => {
51
+ await x(f.ALCHEMY_PUBLIC_TOKENS, (e = {}) => {
52
52
  let t = {
53
53
  ...e,
54
54
  [n]: c
@@ -62,7 +62,7 @@ var w = new class {
62
62
  async fetchAndUpdateEVMTokens(e, t) {
63
63
  let n = m(e, t), r = await this.getEVMTokenAddresses(t, e), i = await this.getNFTTokens(t, e), o = i.map((e) => e.contractAddress), s = [...r, ...o];
64
64
  if (!s.length) return;
65
- let d = (await p.tokensInfoCall(t, s)).map((e, n) => {
65
+ let u = (await p.tokensInfoCall(t, s)).map((e, n) => {
66
66
  if (e) return e;
67
67
  let r = s[n], o = i.find((e) => c(e.contractAddress, r));
68
68
  return o && o.tokenIds && o.tokenIds.length > 0 && this.isWhitelistedNFT(r, t) ? {
@@ -74,11 +74,11 @@ var w = new class {
74
74
  nftTokenType: a.ERC721,
75
75
  tokenIds: o.tokenIds
76
76
  } : null;
77
- }).filter((e) => !!e), f = await h.hideSpamsAndFetchHiddenTokensAddresses(t, d), g = d.filter((e) => !l(f, e.erc20TokenAddress)).map((e) => ({
77
+ }).filter((e) => !!e), d = await h.hideSpamsAndFetchHiddenTokensAddresses(t, u), g = u.filter((e) => !l(d, e.erc20TokenAddress)).map((e) => ({
78
78
  ...e,
79
79
  tokenIds: i.find((t) => c(t.contractAddress, e.erc20TokenAddress))?.tokenIds
80
80
  }));
81
- await x(u.ALCHEMY_PUBLIC_TOKENS, (e = {}) => {
81
+ await x(f.ALCHEMY_PUBLIC_TOKENS, (e = {}) => {
82
82
  let t = {
83
83
  ...e,
84
84
  [n]: g
@@ -101,7 +101,7 @@ var w = new class {
101
101
  try {
102
102
  let e = [], r = 1;
103
103
  do {
104
- let { items: a = [], page: o } = (await d.post(n, {
104
+ let { items: a = [], page: o } = (await u.post(n, {
105
105
  jsonrpc: "2.0",
106
106
  id: 1,
107
107
  method: "getAssetsByOwner",
@@ -119,7 +119,7 @@ var w = new class {
119
119
  } while (r > 0);
120
120
  return e;
121
121
  } catch (e) {
122
- return f.error("Failed to fetch NFTs from DAS API", e), [];
122
+ return d.error("Failed to fetch NFTs from DAS API", e), [];
123
123
  }
124
124
  }
125
125
  async getEVMTokenAddresses(t, n) {
@@ -129,7 +129,7 @@ var w = new class {
129
129
  do {
130
130
  let e = [n, "erc20"];
131
131
  c && e.push({ pageKey: c });
132
- let { result: t } = await d.post(a, {
132
+ let { result: t } = await u.post(a, {
133
133
  jsonrpc: "2.0",
134
134
  id: 1,
135
135
  method: "alchemy_getTokenBalances",
@@ -155,7 +155,7 @@ var w = new class {
155
155
  pageSize: "100"
156
156
  });
157
157
  a && e.append("pageKey", a);
158
- let { ownedNfts: t = [], pageKey: o } = await d.get(`${r}?${e.toString()}`);
158
+ let { ownedNfts: t = [], pageKey: o } = await u.get(`${r}?${e.toString()}`);
159
159
  i.push(...t), a = o;
160
160
  } while (a);
161
161
  let o = i.filter(({ contractAddress: e, tokenId: t }) => e && t).reduce((e, { contractAddress: t, tokenId: n }) => {
@@ -1 +1 @@
1
- const e=require(`../../../../_virtual/_rolldown/runtime.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../../constants/protocol.constants.cjs`),r=require(`../../functions/utils/caseInsensitive.utils.cjs`),i=require(`../../types/ethereum-network.types.cjs`),a=require(`../../types/cache.types.cjs`),o=require(`../../error-handling/logger.cjs`),s=require(`../../API/API.cjs`),c=require(`../../functions/utils/string.utils.cjs`),l=require(`./token-visibility-db.cjs`),u=require(`../../functions/web3/getContractMetadata.cjs`);let d=require(`idb-keyval`),f=require(`axios`);f=e.__toESM(f);var p=class{API_BASE=`https://testnet.arcscan.app/api`;fetchedTokens={};async getPublicTokens(e){let n=c.getStateKey(e,t.chainIds.arcTestnet);return(await(0,d.get)(a.StorageKeys.ARC_PUBLIC_TOKENS))?.[n]||[]}getFetchedTokens(e){let n=c.getStateKey(e,t.chainIds.arcTestnet);return this.fetchedTokens[n]||[]}async fetchAndUpdatePublicTokens(e){let i=c.getStateKey(e,t.chainIds.arcTestnet),o=await this.getERC20TokenAddresses(e),u=await this.getNFTTokens(e),f=u.map(e=>e.contractAddress),p=[...o,...f];if(!p.length)return;let m=(await s.API.tokensInfoCall(t.chainIds.arcTestnet,p)).map((e,i)=>{if(e)return e;let a=p[i],o=u.find(e=>r.caseInsensitiveEqual(e.contractAddress,a));return o&&o.tokenIds&&o.tokenIds.length>0?{chainId:t.chainIds.arcTestnet,name:`Unknown NFT`,symbol:`NFT`,erc20TokenAddress:a,decimals:0,nftTokenType:n.TokenType.ERC721,tokenIds:o.tokenIds}:null}).filter(e=>!!e),h=await l.tokenVisibilityStorage.hideSpamsAndFetchHiddenTokensAddresses(t.chainIds.arcTestnet,m),g=m.filter(e=>!r.lowerCaseIncludes(h,e.erc20TokenAddress)).map(e=>({...e,tokenIds:u.find(t=>r.caseInsensitiveEqual(t.contractAddress,e.erc20TokenAddress))?.tokenIds}));await(0,d.update)(a.StorageKeys.ARC_PUBLIC_TOKENS,(e={})=>{let t={...e,[i]:g};return this.fetchedTokens=t,t})}async getERC20TokenAddresses(e){let n=[];try{let r=(await f.default.post(`${this.API_BASE}?module=account&action=tokentx&address=${e}`)).data;if(r.status===`1`&&r.result){let a=[...new Set(r.result.map(({contractAddress:e})=>e))];for(let r of a)try{let a=u.getContractWithFetcherByChainId(t.chainIds.arcTestnet,i.ContractType.ERC20Contract,r),o=BigInt(await a.balanceOf(e));o>0n&&n.push({contractAddress:r,tokenBalance:o.toString()})}catch(e){o.Logger.error(`Error fetching ARC testnet token balance:`,e)}}}catch(e){o.Logger.error(`Error fetching ARC testnet token transactions:`,e)}return n.filter(({tokenBalance:e})=>Number(e)!==0).map(({contractAddress:e})=>e)}async getNFTTokens(e){let t=`${this.API_BASE}/v2/addresses/${e}/nft?type=ERC-721,ERC-1155`,n=[],r;do{let e=r?`&${new URLSearchParams(r)}`:``,{data:i}=await f.default.get(`${t}${e}`),{items:a=[],next_page_params:o}=i;n.push(...a),r=o?{token_contract_address_hash:o.token_contract_address_hash,token_id:o.token_id,token_type:o.token_type}:void 0}while(r);let i=n.reduce((e,t)=>{let n=t.token.address_hash.toLowerCase(),r=t.id;return e.has(n)||e.set(n,[]),e.get(n)?.push(r),e},new Map);return Array.from(i.entries()).map(([e,t])=>({contractAddress:e,tokenIds:t}))}},m=new p;exports.ArcPublicTokensDB=p,exports.arcPublicTokensDB=m;
1
+ const e=require(`../../../../_virtual/_rolldown/runtime.cjs`),t=require(`../../constants/chains.constants.cjs`),n=require(`../../constants/protocol.constants.cjs`),r=require(`../../functions/utils/caseInsensitive.utils.cjs`),i=require(`../../error-handling/logger.cjs`),a=require(`../../types/ethereum-network.types.cjs`),o=require(`../../types/cache.types.cjs`),s=require(`../../API/API.cjs`),c=require(`../../functions/utils/string.utils.cjs`),l=require(`./token-visibility-db.cjs`),u=require(`../../functions/web3/getContractMetadata.cjs`);let d=require(`idb-keyval`),f=require(`axios`);f=e.__toESM(f);var p=class{API_BASE=`https://testnet.arcscan.app/api`;fetchedTokens={};async getPublicTokens(e){let n=c.getStateKey(e,t.chainIds.arcTestnet);return(await(0,d.get)(o.StorageKeys.ARC_PUBLIC_TOKENS))?.[n]||[]}getFetchedTokens(e){let n=c.getStateKey(e,t.chainIds.arcTestnet);return this.fetchedTokens[n]||[]}async fetchAndUpdatePublicTokens(e){let i=c.getStateKey(e,t.chainIds.arcTestnet),a=await this.getERC20TokenAddresses(e),u=await this.getNFTTokens(e),f=u.map(e=>e.contractAddress),p=[...a,...f];if(!p.length)return;let m=(await s.API.tokensInfoCall(t.chainIds.arcTestnet,p)).map((e,i)=>{if(e)return e;let a=p[i],o=u.find(e=>r.caseInsensitiveEqual(e.contractAddress,a));return o&&o.tokenIds&&o.tokenIds.length>0?{chainId:t.chainIds.arcTestnet,name:`Unknown NFT`,symbol:`NFT`,erc20TokenAddress:a,decimals:0,nftTokenType:n.TokenType.ERC721,tokenIds:o.tokenIds}:null}).filter(e=>!!e),h=await l.tokenVisibilityStorage.hideSpamsAndFetchHiddenTokensAddresses(t.chainIds.arcTestnet,m),g=m.filter(e=>!r.lowerCaseIncludes(h,e.erc20TokenAddress)).map(e=>({...e,tokenIds:u.find(t=>r.caseInsensitiveEqual(t.contractAddress,e.erc20TokenAddress))?.tokenIds}));await(0,d.update)(o.StorageKeys.ARC_PUBLIC_TOKENS,(e={})=>{let t={...e,[i]:g};return this.fetchedTokens=t,t})}async getERC20TokenAddresses(e){let n=[];try{let r=(await f.default.post(`${this.API_BASE}?module=account&action=tokentx&address=${e}`)).data;if(r.status===`1`&&r.result){let o=[...new Set(r.result.map(({contractAddress:e})=>e))];for(let r of o)try{let i=u.getContractWithFetcherByChainId(t.chainIds.arcTestnet,a.ContractType.ERC20Contract,r),o=BigInt(await i.balanceOf(e));o>0n&&n.push({contractAddress:r,tokenBalance:o.toString()})}catch(e){i.Logger.error(`Error fetching ARC testnet token balance:`,e)}}}catch(e){i.Logger.error(`Error fetching ARC testnet token transactions:`,e)}return n.filter(({tokenBalance:e})=>Number(e)!==0).map(({contractAddress:e})=>e)}async getNFTTokens(e){let t=`${this.API_BASE}/v2/addresses/${e}/nft?type=ERC-721,ERC-1155`,n=[],r;do{let e=r?`&${new URLSearchParams(r)}`:``,{data:i}=await f.default.get(`${t}${e}`),{items:a=[],next_page_params:o}=i;n.push(...a),r=o?{token_contract_address_hash:o.token_contract_address_hash,token_id:o.token_id,token_type:o.token_type}:void 0}while(r);let i=n.reduce((e,t)=>{let n=t.token.address_hash.toLowerCase(),r=t.id;return e.has(n)||e.set(n,[]),e.get(n)?.push(r),e},new Map);return Array.from(i.entries()).map(([e,t])=>({contractAddress:e,tokenIds:t}))}},m=new p;exports.ArcPublicTokensDB=p,exports.arcPublicTokensDB=m;
@@ -1,9 +1,9 @@
1
1
  import { chainIds as e } from "../../constants/chains.constants.mjs";
2
2
  import { TokenType as t } from "../../constants/protocol.constants.mjs";
3
3
  import { caseInsensitiveEqual as n, lowerCaseIncludes as r } from "../../functions/utils/caseInsensitive.utils.mjs";
4
- import { ContractType as i } from "../../types/ethereum-network.types.mjs";
5
- import { StorageKeys as a } from "../../types/cache.types.mjs";
6
- import { Logger as o } from "../../error-handling/logger.mjs";
4
+ import { Logger as i } from "../../error-handling/logger.mjs";
5
+ import { ContractType as a } from "../../types/ethereum-network.types.mjs";
6
+ import { StorageKeys as o } from "../../types/cache.types.mjs";
7
7
  import { API as s } from "../../API/API.mjs";
8
8
  import { getStateKey as c } from "../../functions/utils/string.utils.mjs";
9
9
  import { tokenVisibilityStorage as l } from "./token-visibility-db.mjs";
@@ -16,14 +16,14 @@ var m = class {
16
16
  fetchedTokens = {};
17
17
  async getPublicTokens(t) {
18
18
  let n = c(t, e.arcTestnet);
19
- return (await d(a.ARC_PUBLIC_TOKENS))?.[n] || [];
19
+ return (await d(o.ARC_PUBLIC_TOKENS))?.[n] || [];
20
20
  }
21
21
  getFetchedTokens(t) {
22
22
  let n = c(t, e.arcTestnet);
23
23
  return this.fetchedTokens[n] || [];
24
24
  }
25
25
  async fetchAndUpdatePublicTokens(i) {
26
- let o = c(i, e.arcTestnet), u = await this.getERC20TokenAddresses(i), d = await this.getNFTTokens(i), p = d.map((e) => e.contractAddress), m = [...u, ...p];
26
+ let a = c(i, e.arcTestnet), u = await this.getERC20TokenAddresses(i), d = await this.getNFTTokens(i), p = d.map((e) => e.contractAddress), m = [...u, ...p];
27
27
  if (!m.length) return;
28
28
  let h = (await s.tokensInfoCall(e.arcTestnet, m)).map((r, i) => {
29
29
  if (r) return r;
@@ -41,10 +41,10 @@ var m = class {
41
41
  ...e,
42
42
  tokenIds: d.find((t) => n(t.contractAddress, e.erc20TokenAddress))?.tokenIds
43
43
  }));
44
- await f(a.ARC_PUBLIC_TOKENS, (e = {}) => {
44
+ await f(o.ARC_PUBLIC_TOKENS, (e = {}) => {
45
45
  let t = {
46
46
  ...e,
47
- [o]: _
47
+ [a]: _
48
48
  };
49
49
  return this.fetchedTokens = t, t;
50
50
  });
@@ -54,19 +54,19 @@ var m = class {
54
54
  try {
55
55
  let r = (await p.post(`${this.API_BASE}?module=account&action=tokentx&address=${t}`)).data;
56
56
  if (r.status === "1" && r.result) {
57
- let a = [...new Set(r.result.map(({ contractAddress: e }) => e))];
58
- for (let r of a) try {
59
- let a = u(e.arcTestnet, i.ERC20Contract, r), o = BigInt(await a.balanceOf(t));
57
+ let o = [...new Set(r.result.map(({ contractAddress: e }) => e))];
58
+ for (let r of o) try {
59
+ let i = u(e.arcTestnet, a.ERC20Contract, r), o = BigInt(await i.balanceOf(t));
60
60
  o > 0n && n.push({
61
61
  contractAddress: r,
62
62
  tokenBalance: o.toString()
63
63
  });
64
64
  } catch (e) {
65
- o.error("Error fetching ARC testnet token balance:", e);
65
+ i.error("Error fetching ARC testnet token balance:", e);
66
66
  }
67
67
  }
68
68
  } catch (e) {
69
- o.error("Error fetching ARC testnet token transactions:", e);
69
+ i.error("Error fetching ARC testnet token transactions:", e);
70
70
  }
71
71
  return n.filter(({ tokenBalance: e }) => Number(e) !== 0).map(({ contractAddress: e }) => e);
72
72
  }
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/protocol.constants.cjs`),t=require(`../../functions/utils/caseInsensitive.utils.cjs`),n=require(`../../types/cache.types.cjs`),r=require(`../../error-handling/logger.cjs`),i=require(`../../functions/utils/tron.utils.cjs`),a=require(`../../API/API.cjs`),o=require(`../../functions/utils/string.utils.cjs`),s=require(`./token-visibility-db.cjs`),c=require(`../../functions/utils/erc20tokenFunctions.cjs`),l=require(`../../functions/utils/create-provider.cjs`),u=require(`../../constants/events.constants.cjs`);require(`../../functions/index.cjs`);let d=require(`ethers`),f=require(`idb-keyval`),p=require(`async-mutex`);var m=new class{fetchedTokens={};updateMutexes={};transferEventTopic=d.ethers.id(`Transfer(address,address,uint256)`);chunkSize=2e3;getMutex(e){return this.updateMutexes[e]||(this.updateMutexes[e]=new p.Mutex),this.updateMutexes[e]}async getPublicTokens(e,t){let r=o.getStateKey(t,e);return c.overlayTokensWithRegistryData((await(0,f.get)(n.StorageKeys.EVENTS_PUBLIC_TOKENS))?.[r]||[],e)}async getFetchedTokens(e,t){let n=o.getStateKey(t,e);return c.overlayTokensWithRegistryData(this.fetchedTokens[n]||[],e)}async fetchAndUpdatePublicTokens(e,i){let a=o.getStateKey(e,i);await this.getMutex(a).runExclusive(async()=>{try{let r=(await this.getPublicTokens(i,e)).map(e=>e.erc20TokenAddress),{toEvents:o,fromEvents:c,latestBlock:l}=await this.getEvents(e,i),u=[...o,...c],{erc20Tokens:d}=await this.fetchPublicTokens(u,i,r),p=await s.tokenVisibilityStorage.hideSpamsAndFetchHiddenTokensAddresses(i,d),m=d.filter(e=>!t.lowerCaseIncludes(p,e.erc20TokenAddress));await(0,f.update)(n.StorageKeys.EVENTS_PUBLIC_TOKENS,(e={})=>{let n=e[a]||[],r=n.map(e=>e.erc20TokenAddress),i=m.filter(e=>!t.lowerCaseIncludes(r,e.erc20TokenAddress));n.push(...i);let s=this.updateTokenIds(c,o,n),l={...e,[a]:s};return this.fetchedTokens=l,l}),l&&await this.updateLastProcessedBlock(i,e,l)}catch(e){r.Logger.error(`public tokens db error`,e)}})}async getLastProcessedBlock(e,t){return(await(0,f.get)(n.StorageKeys.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS)||{})[o.getStateKey(t,e)]||u.EVENTS_INITIAL_BLOCKS[e]}async updateLastProcessedBlock(e,t,r){await(0,f.update)(n.StorageKeys.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS,(n={})=>{let i=o.getStateKey(t,e);return{...n,[i]:r}})}async getEvents(e,t){try{let n=l.createJsonRpcProvider(t),r=await this.getLastProcessedBlock(t,e)+1,a=await n.getBlockNumber(),o=i.addressToHexFormat(e),s=d.ethers.zeroPadValue(o,32),c=[],u=[];for(let e=r;e<=a;e+=this.chunkSize){let t=Math.min(e+this.chunkSize-1,a),r={topics:[this.transferEventTopic,null,s],fromBlock:e,toBlock:t},i={topics:[this.transferEventTopic,s,null],fromBlock:e,toBlock:t},[o,l]=await Promise.all([n.getLogs(r),n.getLogs(i)]);c.push(...o),u.push(...l)}return{toEvents:c,fromEvents:u,latestBlock:a}}catch(n){return r.Logger.error(`Error fetching events:`,n,`chainId`,t,`walletAddress`,e),{toEvents:[],fromEvents:[],latestBlock:void 0}}}updateTokenIds(e,t,n){let r=new Map;return n.forEach(e=>{if(c.isNFTToken(e)&&e.tokenIds){let t=e.erc20TokenAddress.toLowerCase();r.set(t,[...e.tokenIds])}}),t.forEach(e=>{if(e.topics.length<=3)return;let t=e.address.toLowerCase(),n=BigInt(e.topics[3]).toString();r.has(t)||r.set(t,[]),r.get(t)?.push(n)}),e.forEach(e=>{if(e.topics.length<=3)return;let t=e.address.toLowerCase(),n=r.get(t);if(n?.length){let t=BigInt(e.topics[3]).toString(),r=n.indexOf(t);r!==-1&&n.splice(r,1)}}),n.forEach(e=>{if(c.isNFTToken(e)){let t=e.erc20TokenAddress.toLowerCase(),n=r.get(t);e.tokenIds=n?.length&&n.length>0?n:void 0}}),n}async fetchPublicTokens(n,i,o){try{let r=[e.zeroAddress,...new Set(n.map(e=>e.address))].filter(e=>e&&!t.lowerCaseIncludes(o,e));return r.length?{erc20Tokens:(await a.API.tokensInfoCall(i,r)).filter(e=>!!e)}:{erc20Tokens:[]}}catch(e){return r.Logger.error(`Error fetching public tokens:`,e),{erc20Tokens:[]}}}};exports.eventsPublicTokensDB=m;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/protocol.constants.cjs`),t=require(`../../functions/utils/caseInsensitive.utils.cjs`),n=require(`../../error-handling/logger.cjs`),r=require(`../../functions/utils/tron.utils.cjs`),i=require(`../../types/cache.types.cjs`),a=require(`../../API/API.cjs`),o=require(`../../functions/utils/string.utils.cjs`),s=require(`./token-visibility-db.cjs`),c=require(`../../functions/utils/erc20tokenFunctions.cjs`),l=require(`../../functions/utils/create-provider.cjs`),u=require(`../../constants/events.constants.cjs`);require(`../../functions/index.cjs`);let d=require(`ethers`),f=require(`idb-keyval`),p=require(`async-mutex`);var m=new class{fetchedTokens={};updateMutexes={};transferEventTopic=d.ethers.id(`Transfer(address,address,uint256)`);chunkSize=2e3;getMutex(e){return this.updateMutexes[e]||(this.updateMutexes[e]=new p.Mutex),this.updateMutexes[e]}async getPublicTokens(e,t){let n=o.getStateKey(t,e);return c.overlayTokensWithRegistryData((await(0,f.get)(i.StorageKeys.EVENTS_PUBLIC_TOKENS))?.[n]||[],e)}async getFetchedTokens(e,t){let n=o.getStateKey(t,e);return c.overlayTokensWithRegistryData(this.fetchedTokens[n]||[],e)}async fetchAndUpdatePublicTokens(e,r){let a=o.getStateKey(e,r);await this.getMutex(a).runExclusive(async()=>{try{let n=(await this.getPublicTokens(r,e)).map(e=>e.erc20TokenAddress),{toEvents:o,fromEvents:c,latestBlock:l}=await this.getEvents(e,r),u=[...o,...c],{erc20Tokens:d}=await this.fetchPublicTokens(u,r,n),p=await s.tokenVisibilityStorage.hideSpamsAndFetchHiddenTokensAddresses(r,d),m=d.filter(e=>!t.lowerCaseIncludes(p,e.erc20TokenAddress));await(0,f.update)(i.StorageKeys.EVENTS_PUBLIC_TOKENS,(e={})=>{let n=e[a]||[],r=n.map(e=>e.erc20TokenAddress),i=m.filter(e=>!t.lowerCaseIncludes(r,e.erc20TokenAddress));n.push(...i);let s=this.updateTokenIds(c,o,n),l={...e,[a]:s};return this.fetchedTokens=l,l}),l&&await this.updateLastProcessedBlock(r,e,l)}catch(e){n.Logger.error(`public tokens db error`,e)}})}async getLastProcessedBlock(e,t){return(await(0,f.get)(i.StorageKeys.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS)||{})[o.getStateKey(t,e)]||u.EVENTS_INITIAL_BLOCKS[e]}async updateLastProcessedBlock(e,t,n){await(0,f.update)(i.StorageKeys.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS,(r={})=>{let i=o.getStateKey(t,e);return{...r,[i]:n}})}async getEvents(e,t){try{let n=l.createJsonRpcProvider(t),i=await this.getLastProcessedBlock(t,e)+1,a=await n.getBlockNumber(),o=r.addressToHexFormat(e),s=d.ethers.zeroPadValue(o,32),c=[],u=[];for(let e=i;e<=a;e+=this.chunkSize){let t=Math.min(e+this.chunkSize-1,a),r={topics:[this.transferEventTopic,null,s],fromBlock:e,toBlock:t},i={topics:[this.transferEventTopic,s,null],fromBlock:e,toBlock:t},[o,l]=await Promise.all([n.getLogs(r),n.getLogs(i)]);c.push(...o),u.push(...l)}return{toEvents:c,fromEvents:u,latestBlock:a}}catch(r){return n.Logger.error(`Error fetching events:`,r,`chainId`,t,`walletAddress`,e),{toEvents:[],fromEvents:[],latestBlock:void 0}}}updateTokenIds(e,t,n){let r=new Map;return n.forEach(e=>{if(c.isNFTToken(e)&&e.tokenIds){let t=e.erc20TokenAddress.toLowerCase();r.set(t,[...e.tokenIds])}}),t.forEach(e=>{if(e.topics.length<=3)return;let t=e.address.toLowerCase(),n=BigInt(e.topics[3]).toString();r.has(t)||r.set(t,[]),r.get(t)?.push(n)}),e.forEach(e=>{if(e.topics.length<=3)return;let t=e.address.toLowerCase(),n=r.get(t);if(n?.length){let t=BigInt(e.topics[3]).toString(),r=n.indexOf(t);r!==-1&&n.splice(r,1)}}),n.forEach(e=>{if(c.isNFTToken(e)){let t=e.erc20TokenAddress.toLowerCase(),n=r.get(t);e.tokenIds=n?.length&&n.length>0?n:void 0}}),n}async fetchPublicTokens(r,i,o){try{let n=[e.zeroAddress,...new Set(r.map(e=>e.address))].filter(e=>e&&!t.lowerCaseIncludes(o,e));return n.length?{erc20Tokens:(await a.API.tokensInfoCall(i,n)).filter(e=>!!e)}:{erc20Tokens:[]}}catch(e){return n.Logger.error(`Error fetching public tokens:`,e),{erc20Tokens:[]}}}};exports.eventsPublicTokensDB=m;
@@ -1,8 +1,8 @@
1
1
  import { zeroAddress as e } from "../../constants/protocol.constants.mjs";
2
2
  import { lowerCaseIncludes as t } from "../../functions/utils/caseInsensitive.utils.mjs";
3
- import { StorageKeys as n } from "../../types/cache.types.mjs";
4
- import { Logger as r } from "../../error-handling/logger.mjs";
5
- import { addressToHexFormat as i } from "../../functions/utils/tron.utils.mjs";
3
+ import { Logger as n } from "../../error-handling/logger.mjs";
4
+ import { addressToHexFormat as r } from "../../functions/utils/tron.utils.mjs";
5
+ import { StorageKeys as i } from "../../types/cache.types.mjs";
6
6
  import { API as a } from "../../API/API.mjs";
7
7
  import { getStateKey as o } from "../../functions/utils/string.utils.mjs";
8
8
  import { tokenVisibilityStorage as s } from "./token-visibility-db.mjs";
@@ -22,19 +22,19 @@ var g = new class {
22
22
  return this.updateMutexes[e] || (this.updateMutexes[e] = new h()), this.updateMutexes[e];
23
23
  }
24
24
  async getPublicTokens(e, t) {
25
- let r = o(t, e);
26
- return l((await p(n.EVENTS_PUBLIC_TOKENS))?.[r] || [], e);
25
+ let n = o(t, e);
26
+ return l((await p(i.EVENTS_PUBLIC_TOKENS))?.[n] || [], e);
27
27
  }
28
28
  async getFetchedTokens(e, t) {
29
29
  let n = o(t, e);
30
30
  return l(this.fetchedTokens[n] || [], e);
31
31
  }
32
- async fetchAndUpdatePublicTokens(e, i) {
33
- let a = o(e, i);
32
+ async fetchAndUpdatePublicTokens(e, r) {
33
+ let a = o(e, r);
34
34
  await this.getMutex(a).runExclusive(async () => {
35
35
  try {
36
- let r = (await this.getPublicTokens(i, e)).map((e) => e.erc20TokenAddress), { toEvents: o, fromEvents: c, latestBlock: l } = await this.getEvents(e, i), u = [...o, ...c], { erc20Tokens: d } = await this.fetchPublicTokens(u, i, r), f = await s.hideSpamsAndFetchHiddenTokensAddresses(i, d), p = d.filter((e) => !t(f, e.erc20TokenAddress));
37
- await m(n.EVENTS_PUBLIC_TOKENS, (e = {}) => {
36
+ let n = (await this.getPublicTokens(r, e)).map((e) => e.erc20TokenAddress), { toEvents: o, fromEvents: c, latestBlock: l } = await this.getEvents(e, r), u = [...o, ...c], { erc20Tokens: d } = await this.fetchPublicTokens(u, r, n), f = await s.hideSpamsAndFetchHiddenTokensAddresses(r, d), p = d.filter((e) => !t(f, e.erc20TokenAddress));
37
+ await m(i.EVENTS_PUBLIC_TOKENS, (e = {}) => {
38
38
  let n = e[a] || [], r = n.map((e) => e.erc20TokenAddress), i = p.filter((e) => !t(r, e.erc20TokenAddress));
39
39
  n.push(...i);
40
40
  let s = this.updateTokenIds(c, o, n), l = {
@@ -42,28 +42,28 @@ var g = new class {
42
42
  [a]: s
43
43
  };
44
44
  return this.fetchedTokens = l, l;
45
- }), l && await this.updateLastProcessedBlock(i, e, l);
45
+ }), l && await this.updateLastProcessedBlock(r, e, l);
46
46
  } catch (e) {
47
- r.error("public tokens db error", e);
47
+ n.error("public tokens db error", e);
48
48
  }
49
49
  });
50
50
  }
51
51
  async getLastProcessedBlock(e, t) {
52
- return (await p(n.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS) || {})[o(t, e)] || d[e];
52
+ return (await p(i.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS) || {})[o(t, e)] || d[e];
53
53
  }
54
- async updateLastProcessedBlock(e, t, r) {
55
- await m(n.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS, (n = {}) => {
54
+ async updateLastProcessedBlock(e, t, n) {
55
+ await m(i.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS, (r = {}) => {
56
56
  let i = o(t, e);
57
57
  return {
58
- ...n,
59
- [i]: r
58
+ ...r,
59
+ [i]: n
60
60
  };
61
61
  });
62
62
  }
63
63
  async getEvents(e, t) {
64
64
  try {
65
- let n = u(t), r = await this.getLastProcessedBlock(t, e) + 1, a = await n.getBlockNumber(), o = i(e), s = f.zeroPadValue(o, 32), c = [], l = [];
66
- for (let e = r; e <= a; e += this.chunkSize) {
65
+ let n = u(t), i = await this.getLastProcessedBlock(t, e) + 1, a = await n.getBlockNumber(), o = r(e), s = f.zeroPadValue(o, 32), c = [], l = [];
66
+ for (let e = i; e <= a; e += this.chunkSize) {
67
67
  let t = Math.min(e + this.chunkSize - 1, a), r = {
68
68
  topics: [
69
69
  this.transferEventTopic,
@@ -88,8 +88,8 @@ var g = new class {
88
88
  fromEvents: l,
89
89
  latestBlock: a
90
90
  };
91
- } catch (n) {
92
- return r.error("Error fetching events:", n, "chainId", t, "walletAddress", e), {
91
+ } catch (r) {
92
+ return n.error("Error fetching events:", r, "chainId", t, "walletAddress", e), {
93
93
  toEvents: [],
94
94
  fromEvents: [],
95
95
  latestBlock: void 0
@@ -121,12 +121,12 @@ var g = new class {
121
121
  }
122
122
  }), n;
123
123
  }
124
- async fetchPublicTokens(n, i, o) {
124
+ async fetchPublicTokens(r, i, o) {
125
125
  try {
126
- let r = [e, ...new Set(n.map((e) => e.address))].filter((e) => e && !t(o, e));
127
- return r.length ? { erc20Tokens: (await a.tokensInfoCall(i, r)).filter((e) => !!e) } : { erc20Tokens: [] };
126
+ let n = [e, ...new Set(r.map((e) => e.address))].filter((e) => e && !t(o, e));
127
+ return n.length ? { erc20Tokens: (await a.tokensInfoCall(i, n)).filter((e) => !!e) } : { erc20Tokens: [] };
128
128
  } catch (e) {
129
- return r.error("Error fetching public tokens:", e), { erc20Tokens: [] };
129
+ return n.error("Error fetching public tokens:", e), { erc20Tokens: [] };
130
130
  }
131
131
  }
132
132
  }();
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../functions/utils/caseInsensitive.utils.cjs`),t=require(`../../types/cache.types.cjs`),n=require(`../../error-handling/logger.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=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 n=[...new Set(i)].filter(t=>t&&!e.lowerCaseIncludes(a,t));if(!n.length)return[];let o=(await r.API.tokensInfoCall(t,n)).filter(e=>!!e),s=new Map;return o.forEach(e=>{s.set(e.erc20TokenAddress.toLowerCase(),e)}),Array.from(s.values())}catch(e){return n.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=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]||[]}},c=new s;exports.PrivateTokensDB=s,exports.privateTokensDB=c;
@@ -1,6 +1,6 @@
1
1
  import { lowerCaseIncludes as e } from "../../functions/utils/caseInsensitive.utils.mjs";
2
- import { StorageKeys as t } from "../../types/cache.types.mjs";
3
- import { Logger as n } from "../../error-handling/logger.mjs";
2
+ import { Logger as t } from "../../error-handling/logger.mjs";
3
+ import { StorageKeys as n } from "../../types/cache.types.mjs";
4
4
  import { API as r } from "../../API/API.mjs";
5
5
  import { getStateKey as i } from "../../functions/utils/string.utils.mjs";
6
6
  import { tokenVisibilityStorage as a } from "./token-visibility-db.mjs";
@@ -10,28 +10,28 @@ var c = class {
10
10
  fetchedTokens = {};
11
11
  initalFetched = !1;
12
12
  async updateFetchedTokens() {
13
- let e = await o(t.PRIVATE_TOKENS);
13
+ let e = await o(n.PRIVATE_TOKENS);
14
14
  this.fetchedTokens = e ?? {}, this.initalFetched = !0;
15
15
  }
16
- async getPrivateTokens(e, n) {
17
- let r = i(n, e);
18
- return (await o(t.PRIVATE_TOKENS))?.[r] || [];
16
+ async getPrivateTokens(e, t) {
17
+ let r = i(t, e);
18
+ return (await o(n.PRIVATE_TOKENS))?.[r] || [];
19
19
  }
20
- async fetchPrivateTokens(t, i, a) {
20
+ async fetchPrivateTokens(n, i, a) {
21
21
  try {
22
- let n = [...new Set(i)].filter((t) => t && !e(a, t));
23
- if (!n.length) return [];
24
- let o = (await r.tokensInfoCall(t, n)).filter((e) => !!e), s = /* @__PURE__ */ new Map();
22
+ let t = [...new Set(i)].filter((t) => t && !e(a, t));
23
+ if (!t.length) return [];
24
+ let o = (await r.tokensInfoCall(n, t)).filter((e) => !!e), s = /* @__PURE__ */ new Map();
25
25
  return o.forEach((e) => {
26
26
  s.set(e.erc20TokenAddress.toLowerCase(), e);
27
27
  }), Array.from(s.values());
28
28
  } catch (e) {
29
- return n.error("Error fetching private tokens:", e), [];
29
+ return t.error("Error fetching private tokens:", e), [];
30
30
  }
31
31
  }
32
- async fetchAndUpdatePrivateTokens(n, r, o, c) {
33
- let l = (await this.getPrivateTokens(r, o)).map((e) => e.erc20TokenAddress), u = c ?? await this.fetchPrivateTokens(r, n, l), d = await a.hideSpamsAndFetchHiddenTokensAddresses(r, u), f = i(o, r);
34
- await s(t.PRIVATE_TOKENS, (t = {}) => {
32
+ async fetchAndUpdatePrivateTokens(t, r, o, c) {
33
+ let l = (await this.getPrivateTokens(r, o)).map((e) => e.erc20TokenAddress), u = c ?? await this.fetchPrivateTokens(r, t, l), d = await a.hideSpamsAndFetchHiddenTokensAddresses(r, u), f = i(o, r);
34
+ await s(n.PRIVATE_TOKENS, (t = {}) => {
35
35
  let n = t?.[f] || [], r = n.map((e) => e.erc20TokenAddress), i = u.filter((t) => !e(r, t.erc20TokenAddress));
36
36
  n.push(...i);
37
37
  let a = n.filter((t) => !e(d, t.erc20TokenAddress)), o = {
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/protocol.constants.cjs`),t=require(`../../functions/utils/caseInsensitive.utils.cjs`),n=require(`../../types/cache.types.cjs`),r=require(`../http/HttpClient.cjs`);require(`../http/index.cjs`);const i=require(`../../functions/utils/tron.utils.cjs`),a=require(`../../API/API.cjs`),o=require(`../../functions/utils/string.utils.cjs`),s=require(`./token-visibility-db.cjs`),c=require(`../../functions/utils/erc20tokenFunctions.cjs`);let l=require(`idb-keyval`);var u=class{fetchedTokens={};async getPublicTokens(e,t){let r=o.getStateKey(e,t);return c.overlayTokensWithRegistryData((await(0,l.get)(n.StorageKeys.TRON_PUBLIC_TOKENS))?.[r]||[],t)}async getFetchedTokens(e,t){let n=o.getStateKey(e,t);return c.overlayTokensWithRegistryData(this.fetchedTokens[n]||[],t)}async fetchAndUpdatePublicTokens(e,r){let i=o.getStateKey(e,r),c=await this.getHeldTokenAddresses(e,r);if(!c.length)return;let u=(await a.API.tokensInfoCall(r,c)).filter(e=>!!e),d=await s.tokenVisibilityStorage.hideSpamsAndFetchHiddenTokensAddresses(r,u),f=u.filter(e=>!t.lowerCaseIncludes(d,e.erc20TokenAddress));await(0,l.update)(n.StorageKeys.TRON_PUBLIC_TOKENS,(e={})=>{let t={...e,[i]:f};return this.fetchedTokens=t,t})}async getHeldTokenAddresses(t,n){let a=i.toTronBase58IfHex(t),o=`${i.getTronWalletRpcUrl(n)}/v1/accounts/${a}`,s=(await r.httpClient.get(o))?.data?.[0];if(!s)return[];let c=[];return s.balance&&s.balance>0&&c.push(e.zeroAddress),(s.trc20??[]).forEach(e=>{Object.entries(e).forEach(([e,t])=>{BigInt(t)>0n&&c.push(i.addressToHexFormat(e))})}),Array.from(new Set(c))}},d=new u;exports.TronPublicTokensDB=u,exports.tronPublicTokensDB=d;
1
+ require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/protocol.constants.cjs`),t=require(`../../functions/utils/caseInsensitive.utils.cjs`),n=require(`../http/HttpClient.cjs`);require(`../http/index.cjs`);const r=require(`../../functions/utils/tron.utils.cjs`),i=require(`../../types/cache.types.cjs`),a=require(`../../API/API.cjs`),o=require(`../../functions/utils/string.utils.cjs`),s=require(`./token-visibility-db.cjs`),c=require(`../../functions/utils/erc20tokenFunctions.cjs`);let l=require(`idb-keyval`);var u=class{fetchedTokens={};async getPublicTokens(e,t){let n=o.getStateKey(e,t);return c.overlayTokensWithRegistryData((await(0,l.get)(i.StorageKeys.TRON_PUBLIC_TOKENS))?.[n]||[],t)}async getFetchedTokens(e,t){let n=o.getStateKey(e,t);return c.overlayTokensWithRegistryData(this.fetchedTokens[n]||[],t)}async fetchAndUpdatePublicTokens(e,n){let r=o.getStateKey(e,n),c=await this.getHeldTokenAddresses(e,n);if(!c.length)return;let u=(await a.API.tokensInfoCall(n,c)).filter(e=>!!e),d=await s.tokenVisibilityStorage.hideSpamsAndFetchHiddenTokensAddresses(n,u),f=u.filter(e=>!t.lowerCaseIncludes(d,e.erc20TokenAddress));await(0,l.update)(i.StorageKeys.TRON_PUBLIC_TOKENS,(e={})=>{let t={...e,[r]:f};return this.fetchedTokens=t,t})}async getHeldTokenAddresses(t,i){let a=r.toTronBase58IfHex(t),o=`${r.getTronWalletRpcUrl(i)}/v1/accounts/${a}`,s=(await n.httpClient.get(o))?.data?.[0];if(!s)return[];let c=[];return s.balance&&s.balance>0&&c.push(e.zeroAddress),(s.trc20??[]).forEach(e=>{Object.entries(e).forEach(([e,t])=>{BigInt(t)>0n&&c.push(r.addressToHexFormat(e))})}),Array.from(new Set(c))}},d=new u;exports.TronPublicTokensDB=u,exports.tronPublicTokensDB=d;
@@ -1,9 +1,9 @@
1
1
  import { zeroAddress as e } from "../../constants/protocol.constants.mjs";
2
2
  import { lowerCaseIncludes as t } from "../../functions/utils/caseInsensitive.utils.mjs";
3
- import { StorageKeys as n } from "../../types/cache.types.mjs";
4
- import { httpClient as r } from "../http/HttpClient.mjs";
3
+ import { httpClient as n } from "../http/HttpClient.mjs";
5
4
  import "../http/index.mjs";
6
- import { addressToHexFormat as i, getTronWalletRpcUrl as a, toTronBase58IfHex as o } from "../../functions/utils/tron.utils.mjs";
5
+ import { addressToHexFormat as r, getTronWalletRpcUrl as i, toTronBase58IfHex as a } from "../../functions/utils/tron.utils.mjs";
6
+ import { StorageKeys as o } from "../../types/cache.types.mjs";
7
7
  import { API as s } from "../../API/API.mjs";
8
8
  import { getStateKey as c } from "../../functions/utils/string.utils.mjs";
9
9
  import { tokenVisibilityStorage as l } from "./token-visibility-db.mjs";
@@ -13,32 +13,32 @@ import { get as d, update as f } from "idb-keyval";
13
13
  var p = class {
14
14
  fetchedTokens = {};
15
15
  async getPublicTokens(e, t) {
16
- let r = c(e, t);
17
- return u((await d(n.TRON_PUBLIC_TOKENS))?.[r] || [], t);
16
+ let n = c(e, t);
17
+ return u((await d(o.TRON_PUBLIC_TOKENS))?.[n] || [], t);
18
18
  }
19
19
  async getFetchedTokens(e, t) {
20
20
  let n = c(e, t);
21
21
  return u(this.fetchedTokens[n] || [], t);
22
22
  }
23
- async fetchAndUpdatePublicTokens(e, r) {
24
- let i = c(e, r), a = await this.getHeldTokenAddresses(e, r);
25
- if (!a.length) return;
26
- let o = (await s.tokensInfoCall(r, a)).filter((e) => !!e), u = await l.hideSpamsAndFetchHiddenTokensAddresses(r, o), d = o.filter((e) => !t(u, e.erc20TokenAddress));
27
- await f(n.TRON_PUBLIC_TOKENS, (e = {}) => {
23
+ async fetchAndUpdatePublicTokens(e, n) {
24
+ let r = c(e, n), i = await this.getHeldTokenAddresses(e, n);
25
+ if (!i.length) return;
26
+ let a = (await s.tokensInfoCall(n, i)).filter((e) => !!e), u = await l.hideSpamsAndFetchHiddenTokensAddresses(n, a), d = a.filter((e) => !t(u, e.erc20TokenAddress));
27
+ await f(o.TRON_PUBLIC_TOKENS, (e = {}) => {
28
28
  let t = {
29
29
  ...e,
30
- [i]: d
30
+ [r]: d
31
31
  };
32
32
  return this.fetchedTokens = t, t;
33
33
  });
34
34
  }
35
- async getHeldTokenAddresses(t, n) {
36
- let s = o(t), c = `${a(n)}/v1/accounts/${s}`, l = (await r.get(c))?.data?.[0];
35
+ async getHeldTokenAddresses(t, o) {
36
+ let s = a(t), c = `${i(o)}/v1/accounts/${s}`, l = (await n.get(c))?.data?.[0];
37
37
  if (!l) return [];
38
38
  let u = [];
39
39
  return l.balance && l.balance > 0 && u.push(e), (l.trc20 ?? []).forEach((e) => {
40
40
  Object.entries(e).forEach(([e, t]) => {
41
- BigInt(t) > 0n && u.push(i(e));
41
+ BigInt(t) > 0n && u.push(r(e));
42
42
  });
43
43
  }), Array.from(new Set(u));
44
44
  }
@@ -6,6 +6,7 @@ export declare class WalletManager {
6
6
  private readonly tronDerivationBasePath;
7
7
  generateMnemonic(wordCount?: 12 | 24): string[];
8
8
  isValidMnemonic(mnemonic: string): boolean;
9
+ getMnemonicPhrase(): string[] | null;
9
10
  isValidWord(word: string): boolean;
10
11
  createEvmWallet(index: number): {
11
12
  address: string;
@@ -1 +1 @@
1
- const e=require(`../../functions/utils/serialize.utils.cjs`);var t=class{inMemoryCache=new Map;constructor(e){e&&this.mergeWithSerialized(e)}getInMemory(e){return this.inMemoryCache.get(e)??void 0}setInMemory(e,t){this.inMemoryCache.set(e,t)}mergeWithSerialized(t){Object.entries(t).forEach(([t,n])=>{this.set(t,e.CustomJSONParse(n))})}};exports.BaseCacheDevice=t;
1
+ const e=require(`../../functions/utils/serialize.utils.cjs`);var t=class{inMemoryCache=new Map;constructor(e){e&&this.mergeWithSerialized(e)}getInMemory(e){return this.inMemoryCache.get(e)??void 0}setInMemory(e,t){this.inMemoryCache.set(e,t)}deleteInMemory(e){this.inMemoryCache.delete(e)}mergeWithSerialized(t){Object.entries(t).forEach(([t,n])=>{this.set(t,e.CustomJSONParse(n))})}};exports.BaseCacheDevice=t;
@@ -4,6 +4,7 @@ export declare abstract class BaseCacheDevice<T = string> implements ICacheDevic
4
4
  constructor(serialized?: Record<string, string>);
5
5
  protected getInMemory(key: string): T | undefined;
6
6
  protected setInMemory(key: string, value: T): void;
7
+ protected deleteInMemory(key: string): void;
7
8
  abstract get(key: string): T | undefined;
8
9
  abstract set(key: string, value: T): void;
9
10
  abstract serialize(): Record<string, string>;
@@ -11,6 +11,9 @@ var t = class {
11
11
  setInMemory(e, t) {
12
12
  this.inMemoryCache.set(e, t);
13
13
  }
14
+ deleteInMemory(e) {
15
+ this.inMemoryCache.delete(e);
16
+ }
14
17
  mergeWithSerialized(t) {
15
18
  Object.entries(t).forEach(([t, n]) => {
16
19
  this.set(t, e(n));
@@ -1 +1 @@
1
- const e=require(`../../functions/utils/serialize.utils.cjs`),t=require(`./BaseCacheDevice.cjs`),n=require(`../../error-handling/logError.cjs`);var r=class extends t.BaseCacheDevice{filePath;useFileCache;constructor(e,t){super(),this.useFileCache=!!e,this.filePath=t,this.readFileFromDevice()}readFileFromDevice(){if(this.useFileCache&&this.filePath)try{let e=require(`fs`);if(e.existsSync(this.filePath)){let t=JSON.parse(e.readFileSync(this.filePath).toString());Object.entries(t).forEach(([e,t])=>{this.setInMemory(e,t)})}}catch(e){n.logError(`FileCacheDevice Constructor Error`,{err:e})}}get(e){return this.getInMemory(e)}set(t,r){if(this.readFileFromDevice(),this.setInMemory(t,r),this.useFileCache&&this.filePath)try{require(`fs`).writeFileSync(this.filePath,e.safeJsonStringify(Object.fromEntries(this.inMemoryCache)))}catch(e){n.logError(`FileCacheDevice set function`,{err:e})}}serialize(){return Object.fromEntries([...this.inMemoryCache].map(([t,n])=>[t,e.CustomJSONStringify(n)]))}};exports.FileCacheDevice=r;
1
+ const e=require(`../../functions/utils/serialize.utils.cjs`),t=require(`./BaseCacheDevice.cjs`),n=require(`../../error-handling/logError.cjs`);var r=class extends t.BaseCacheDevice{filePath;useFileCache;constructor(e,t){super(),this.useFileCache=!!e,this.filePath=t,this.readFileFromDevice()}readFileFromDevice(){if(this.useFileCache&&this.filePath)try{let e=require(`fs`);if(e.existsSync(this.filePath)){let t=JSON.parse(e.readFileSync(this.filePath).toString());Object.entries(t).forEach(([e,t])=>{this.setInMemory(e,t)})}}catch(e){n.logError(`FileCacheDevice Constructor Error`,{err:e})}}get(e){return this.getInMemory(e)}set(e,t){this.readFileFromDevice(),this.setInMemory(e,t),this.flushToFile(`FileCacheDevice set function`)}del(e){this.readFileFromDevice(),this.deleteInMemory(e),this.flushToFile(`FileCacheDevice del function`)}clear(){this.inMemoryCache.clear(),this.flushToFile(`FileCacheDevice clear function`)}flushToFile(t){if(this.useFileCache&&this.filePath)try{require(`fs`).writeFileSync(this.filePath,e.safeJsonStringify(Object.fromEntries(this.inMemoryCache)))}catch(e){n.logError(t,{err:e})}}serialize(){return Object.fromEntries([...this.inMemoryCache].map(([t,n])=>[t,e.CustomJSONStringify(n)]))}};exports.FileCacheDevice=r;
@@ -6,5 +6,8 @@ export declare class FileCacheDevice extends BaseCacheDevice {
6
6
  private readFileFromDevice;
7
7
  get(key: string): string | undefined;
8
8
  set(key: string, value: string): void;
9
+ del(key: string): void;
10
+ clear(): void;
11
+ private flushToFile;
9
12
  serialize(): Record<string, string>;
10
13
  }