@gurge/sdk-react-native 0.3.57 → 0.3.64

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 (434) hide show
  1. package/_virtual/_rolldown/runtime.cjs +1 -0
  2. package/_virtual/_rolldown/runtime.mjs +7 -0
  3. package/bootstrap.cjs +1 -0
  4. package/bootstrap.mjs +8 -0
  5. package/common/src/API/API.mjs +1 -1
  6. package/common/src/API/accessCodeCalls.mjs +1 -1
  7. package/common/src/API/admin-calls.mjs +1 -1
  8. package/common/src/API/brotherhoodCalls.mjs +1 -1
  9. package/common/src/API/callMonitor.mjs +1 -1
  10. package/common/src/API/callNearIntentsAPI.mjs +1 -1
  11. package/common/src/API/callOdosAPI.mjs +1 -1
  12. package/common/src/API/callOkxAPI.mjs +1 -1
  13. package/common/src/API/callOneInchAPI.mjs +1 -1
  14. package/common/src/API/callRelayer.mjs +1 -1
  15. package/common/src/API/dashboardAccountCalls.mjs +1 -1
  16. package/common/src/API/dashboardAccountMemberCalls.mjs +1 -1
  17. package/common/src/API/dashboardBalanceCalls.mjs +1 -1
  18. package/common/src/API/dashboardContactCalls.mjs +1 -1
  19. package/common/src/API/dashboardPayoutCalls.mjs +1 -1
  20. package/common/src/API/dashboardTransactionCalls.mjs +1 -1
  21. package/common/src/API/deposit-and-withdraw-status-calls.mjs +1 -1
  22. package/common/src/API/enclaveSignatureCalls.mjs +1 -1
  23. package/common/src/API/enclaveUtxoCalls.mjs +1 -1
  24. package/common/src/API/fetchCommitmentsCache.mjs +1 -1
  25. package/common/src/API/generate-trading-points.mjs +1 -1
  26. package/common/src/API/get-token-data.mjs +1 -1
  27. package/common/src/API/get-token-price-chart-data.mjs +1 -1
  28. package/common/src/API/getCoingeckoPrice.cjs +1 -1
  29. package/common/src/API/getGasEstimates.mjs +1 -1
  30. package/common/src/API/getTokenPrice.mjs +1 -1
  31. package/common/src/API/leaderboardCalls.mjs +1 -1
  32. package/common/src/API/onrampCalls.mjs +1 -1
  33. package/common/src/API/privacy-score-calls.mjs +1 -1
  34. package/common/src/API/privateSendEmailNotificationsCalls.mjs +1 -1
  35. package/common/src/API/privateSendNonceCalls.mjs +1 -1
  36. package/common/src/API/privateSendRecipientInfoCalls.mjs +1 -1
  37. package/common/src/API/proxyAccountsCalls.cjs +1 -1
  38. package/common/src/API/proxyAccountsCalls.mjs +1 -1
  39. package/common/src/API/referralsCalls.mjs +1 -1
  40. package/common/src/API/relayCalls.mjs +1 -1
  41. package/common/src/API/rewardsUserCalls.mjs +1 -1
  42. package/common/src/API/scheduled-transactions-calls.mjs +1 -1
  43. package/common/src/API/seedless-calls.mjs +1 -1
  44. package/common/src/API/send-telegram-callback.mjs +1 -1
  45. package/common/src/API/simulate-batch-tx.mjs +1 -1
  46. package/common/src/API/simulate-transaction.mjs +1 -1
  47. package/common/src/API/snapshot-event-calls.mjs +1 -1
  48. package/common/src/API/temporaryWalletCalls.mjs +1 -1
  49. package/common/src/API/token-calls.mjs +1 -1
  50. package/common/src/API/tronSubsidyCalls.mjs +1 -1
  51. package/common/src/API/weeklyAnalyticCalls.mjs +1 -1
  52. package/common/src/constants/addresses.constants.mjs +1 -1
  53. package/common/src/constants/auth.constants.mjs +1 -1
  54. package/common/src/constants/chains.constants.cjs +1 -1
  55. package/common/src/constants/chains.constants.mjs +22 -22
  56. package/common/src/constants/coingecko.constants.mjs +1 -1
  57. package/common/src/constants/contracts.constants.mjs +1 -1
  58. package/common/src/constants/deploy-data/index.mjs +1 -1
  59. package/common/src/constants/deploy-data/mergeDeployData.mjs +1 -1
  60. package/common/src/constants/events.constants.mjs +1 -1
  61. package/common/src/constants/fees.constants.mjs +1 -1
  62. package/common/src/constants/index.cjs +1 -1
  63. package/common/src/constants/index.mjs +1 -1
  64. package/common/src/constants/lifi.constants.mjs +1 -1
  65. package/common/src/constants/permit2.constants.mjs +1 -1
  66. package/common/src/constants/protocol.constants.mjs +1 -1
  67. package/common/src/constants/reorg-depths.constants.mjs +1 -1
  68. package/common/src/constants/save-depths.mjs +1 -1
  69. package/common/src/constants/server.constants.mjs +1 -1
  70. package/common/src/constants/tasks.constants.mjs +1 -1
  71. package/common/src/constants/tx-confirmation.constants.mjs +1 -1
  72. package/common/src/constants/vite.constants.cjs +1 -1
  73. package/common/src/constants/vite.constants.mjs +7 -7
  74. package/common/src/crypto/BabyJubRN.mjs +1 -1
  75. package/common/src/crypto/EddsaRN.cjs +1 -1
  76. package/common/src/crypto/EddsaRN.mjs +1 -1
  77. package/common/src/crypto/babyJub.cjs +1 -1
  78. package/common/src/crypto/ecdh-sealed-keys.cjs +1 -1
  79. package/common/src/crypto/ecdh-sealed-keys.mjs +1 -1
  80. package/common/src/crypto/ecdh.cjs +1 -1
  81. package/common/src/crypto/eddsa.cjs +1 -1
  82. package/common/src/crypto/poseidon.cjs +1 -1
  83. package/common/src/crypto/poseidon.mjs +1 -1
  84. package/common/src/crypto/preProcessing.cjs +1 -1
  85. package/common/src/crypto/preProcessing.mjs +5 -5
  86. package/common/src/data-structures/AccountActions/AccountActions.cjs +1 -1
  87. package/common/src/data-structures/AccountActions/AccountActions.mjs +1 -1
  88. package/common/src/data-structures/BlockchainEvent/BlockchainEvent.mjs +1 -1
  89. package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
  90. package/common/src/data-structures/Hinkal/Hinkal.mjs +1 -1
  91. package/common/src/data-structures/Hinkal/handleAutoDepositBack.mjs +1 -1
  92. package/common/src/data-structures/Hinkal/hinkalActionReceive.mjs +1 -1
  93. package/common/src/data-structures/Hinkal/hinkalClaimUtxo.mjs +1 -1
  94. package/common/src/data-structures/Hinkal/hinkalDeposit.mjs +1 -1
  95. package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.mjs +1 -1
  96. package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +1 -1
  97. package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +1 -1
  98. package/common/src/data-structures/Hinkal/hinkalGetRecipientInfo.mjs +1 -1
  99. package/common/src/data-structures/Hinkal/hinkalMultiSend.mjs +1 -1
  100. package/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.mjs +1 -1
  101. package/common/src/data-structures/Hinkal/hinkalPrivateWallet.mjs +1 -1
  102. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.mjs +1 -1
  103. package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.mjs +1 -1
  104. package/common/src/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.mjs +1 -1
  105. package/common/src/data-structures/Hinkal/hinkalProxySwap.mjs +1 -1
  106. package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.mjs +1 -1
  107. package/common/src/data-structures/Hinkal/hinkalSignSubAccount.mjs +1 -1
  108. package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.cjs +1 -1
  109. package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.mjs +1 -1
  110. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
  111. package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.mjs +1 -1
  112. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
  113. package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +1 -1
  114. package/common/src/data-structures/Hinkal/hinkalSolanaProoflessDeposit.mjs +1 -1
  115. package/common/src/data-structures/Hinkal/hinkalSolanaProxySend.cjs +1 -1
  116. package/common/src/data-structures/Hinkal/hinkalSolanaProxySend.mjs +1 -1
  117. package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -1
  118. package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +1 -1
  119. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
  120. package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +1 -1
  121. package/common/src/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
  122. package/common/src/data-structures/Hinkal/hinkalSolanaSwap.mjs +1 -1
  123. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
  124. package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.mjs +1 -1
  125. package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
  126. package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +1 -1
  127. package/common/src/data-structures/Hinkal/hinkalSwap.mjs +1 -1
  128. package/common/src/data-structures/Hinkal/hinkalTransfer.mjs +1 -1
  129. package/common/src/data-structures/Hinkal/hinkalWithdraw.mjs +1 -1
  130. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
  131. package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +1 -1
  132. package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.cjs +1 -1
  133. package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.mjs +1 -1
  134. package/common/src/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
  135. package/common/src/data-structures/Hinkal/resetMerkleTrees.mjs +1 -1
  136. package/common/src/data-structures/IndexedDB/activity-db.cjs +1 -1
  137. package/common/src/data-structures/IndexedDB/activity-db.mjs +1 -1
  138. package/common/src/data-structures/IndexedDB/balances-db.cjs +1 -1
  139. package/common/src/data-structures/IndexedDB/contact-db.cjs +1 -1
  140. package/common/src/data-structures/IndexedDB/key-val-store.cjs +1 -1
  141. package/common/src/data-structures/IndexedDB/key-val-store.mjs +10 -9
  142. package/common/src/data-structures/IndexedDB/pay-activity-db.cjs +1 -1
  143. package/common/src/data-structures/IndexedDB/signatures-db.cjs +1 -1
  144. package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs +1 -1
  145. package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.mjs +11 -11
  146. package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +1 -1
  147. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.cjs +1 -1
  148. package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.mjs +1 -1
  149. package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
  150. package/common/src/data-structures/TokenDBs/PrivateTokensDB.cjs +1 -1
  151. package/common/src/data-structures/TokenDBs/PrivateTokensDB.mjs +1 -1
  152. package/common/src/data-structures/TokenDBs/PublicTokensDB.mjs +1 -1
  153. package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.cjs +1 -1
  154. package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.mjs +1 -1
  155. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.cjs +1 -1
  156. package/common/src/data-structures/TokenDBs/TronPublicTokensDB.mjs +1 -1
  157. package/common/src/data-structures/TokenDBs/token-visibility-db.cjs +1 -1
  158. package/common/src/data-structures/cacheDevices/AttachableMemoryCacheDevice.mjs +1 -1
  159. package/common/src/data-structures/cacheDevices/BaseCacheDevice.mjs +1 -1
  160. package/common/src/data-structures/cacheDevices/FileCacheDevice.cjs +1 -1
  161. package/common/src/data-structures/cacheDevices/FileCacheDevice.mjs +11 -11
  162. package/common/src/data-structures/cacheDevices/LocalStorageCacheDevice.mjs +1 -1
  163. package/common/src/data-structures/crypto-keys/decodeUTXO.cjs +1 -1
  164. package/common/src/data-structures/crypto-keys/decodeUTXO.mjs +1 -1
  165. package/common/src/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -1
  166. package/common/src/data-structures/crypto-keys/encryptDecryptUtxo.mjs +1 -1
  167. package/common/src/data-structures/crypto-keys/keyUtils.mjs +1 -1
  168. package/common/src/data-structures/crypto-keys/keys.cjs +1 -1
  169. package/common/src/data-structures/crypto-keys/keys.mjs +1 -1
  170. package/common/src/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.mjs +1 -1
  171. package/common/src/data-structures/event-service/evm/AbstractEventService.mjs +1 -1
  172. package/common/src/data-structures/event-service/evm/AbstractNullifierSnapshotService.cjs +1 -1
  173. package/common/src/data-structures/event-service/evm/AbstractNullifierSnapshotService.mjs +1 -1
  174. package/common/src/data-structures/event-service/evm/AbstractSnapshotService.mjs +1 -1
  175. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
  176. package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.mjs +1 -1
  177. package/common/src/data-structures/event-service/evm/ClientBlockchainEventEmitter.mjs +1 -1
  178. package/common/src/data-structures/event-service/helpers/ClientEventHelper.mjs +1 -1
  179. package/common/src/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.mjs +1 -1
  180. package/common/src/data-structures/event-service/solana/AbstractSolanaEventService.mjs +1 -1
  181. package/common/src/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.cjs +1 -1
  182. package/common/src/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.mjs +1 -1
  183. package/common/src/data-structures/event-service/solana/AbstractSolanaSnapshotService.mjs +1 -1
  184. package/common/src/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.mjs +1 -1
  185. package/common/src/data-structures/event-service/solana/SolanaBlockchainEventEmitter.cjs +1 -1
  186. package/common/src/data-structures/event-service/solana/SolanaBlockchainEventEmitter.mjs +1 -1
  187. package/common/src/data-structures/http/BasicHttpClient.cjs +1 -1
  188. package/common/src/data-structures/http/BasicHttpClient.mjs +1 -1
  189. package/common/src/data-structures/http/HttpClient.mjs +1 -1
  190. package/common/src/data-structures/merkle-tree/MerkleTree.mjs +1 -1
  191. package/common/src/data-structures/merkle-tree/MerkleTreeIncompleteError.mjs +1 -1
  192. package/common/src/data-structures/private-balances/BalanceChangedHandler.mjs +1 -1
  193. package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.mjs +1 -1
  194. package/common/src/data-structures/private-balances/privateBalancesReducer.mjs +1 -1
  195. package/common/src/data-structures/snapshot/SnapshotFetcherService.mjs +1 -1
  196. package/common/src/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.mjs +1 -1
  197. package/common/src/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.mjs +1 -1
  198. package/common/src/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.mjs +1 -1
  199. package/common/src/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.mjs +1 -1
  200. package/common/src/data-structures/token-price-fetcher/TokenChecker.mjs +1 -1
  201. package/common/src/data-structures/utxo/Utxo.mjs +1 -1
  202. package/common/src/error-handling/customErrors/ErrorWithAmount.mjs +1 -1
  203. package/common/src/error-handling/customErrors/ErrorWithTx.mjs +1 -1
  204. package/common/src/error-handling/customErrors/FeeOverTransactionValueError.mjs +1 -1
  205. package/common/src/error-handling/customErrors/customErrors.helpers.mjs +1 -1
  206. package/common/src/error-handling/error-codes.constants.mjs +1 -1
  207. package/common/src/error-handling/get-error.message.mjs +1 -1
  208. package/common/src/error-handling/isInsufficientFundsError.mjs +1 -1
  209. package/common/src/error-handling/logError.mjs +1 -1
  210. package/common/src/error-handling/logger.mjs +1 -1
  211. package/common/src/error-handling/retrySolanaError.mjs +1 -1
  212. package/common/src/error-handling/types.mjs +1 -1
  213. package/common/src/externalABIs/index.mjs +1 -1
  214. package/common/src/externalABIs/swapAbi.mjs +1 -1
  215. package/common/src/functions/auto-deposit-back-helpers/get-gas-token-records.mjs +1 -1
  216. package/common/src/functions/auto-deposit-back-helpers/get-tokens-to-deposit-back.mjs +1 -1
  217. package/common/src/functions/auto-deposit-back-helpers/select-gas-token.mjs +1 -1
  218. package/common/src/functions/auto-deposit-back-helpers/update-hinkal.mjs +1 -1
  219. package/common/src/functions/index.cjs +1 -1
  220. package/common/src/functions/index.mjs +1 -1
  221. package/common/src/functions/pre-transaction/buildCommitmentValidationData.cjs +1 -1
  222. package/common/src/functions/pre-transaction/buildCommitmentValidationData.mjs +15 -15
  223. package/common/src/functions/pre-transaction/constructAdminData.mjs +1 -1
  224. package/common/src/functions/pre-transaction/convert-okx-instructions.cjs +1 -1
  225. package/common/src/functions/pre-transaction/convert-okx-instructions.mjs +1 -1
  226. package/common/src/functions/pre-transaction/ensureAmountChanges.cjs +1 -1
  227. package/common/src/functions/pre-transaction/ensureAmountChanges.mjs +1 -1
  228. package/common/src/functions/pre-transaction/getExternalSwapAddress.mjs +1 -1
  229. package/common/src/functions/pre-transaction/getFeeStructure.mjs +1 -1
  230. package/common/src/functions/pre-transaction/getSolanaCalldataHash.cjs +1 -1
  231. package/common/src/functions/pre-transaction/getSolanaCalldataHash.mjs +1 -1
  232. package/common/src/functions/pre-transaction/getVolatileTransferAmount.mjs +1 -1
  233. package/common/src/functions/pre-transaction/merge-with-fee-structure-emporium.mjs +1 -1
  234. package/common/src/functions/pre-transaction/merge-with-fee-structure.mjs +1 -1
  235. package/common/src/functions/pre-transaction/outputUtxoProcessing.mjs +1 -1
  236. package/common/src/functions/pre-transaction/process-gas-estimates.mjs +1 -1
  237. package/common/src/functions/pre-transaction/recipientUtxoProcessing.mjs +1 -1
  238. package/common/src/functions/pre-transaction/sendV0Transaction.cjs +1 -1
  239. package/common/src/functions/pre-transaction/sendV0Transaction.mjs +1 -1
  240. package/common/src/functions/pre-transaction/solana.cjs +1 -1
  241. package/common/src/functions/pre-transaction/solana.mjs +1 -1
  242. package/common/src/functions/pre-transaction/solanaTransfer.utils.cjs +1 -1
  243. package/common/src/functions/pre-transaction/solanaTransfer.utils.mjs +1 -1
  244. package/common/src/functions/pre-transaction/waitForDepositedUtxosInMerkleTree.mjs +1 -1
  245. package/common/src/functions/private-wallet/emporium.helpers.cjs +1 -1
  246. package/common/src/functions/private-wallet/emporium.helpers.mjs +1 -1
  247. package/common/src/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
  248. package/common/src/functions/private-wallet/emporium.swap.helpers.mjs +1 -1
  249. package/common/src/functions/snarkjs/common.snarkjs.cjs +1 -1
  250. package/common/src/functions/snarkjs/common.snarkjs.mjs +1 -1
  251. package/common/src/functions/snarkjs/constant.mjs +1 -1
  252. package/common/src/functions/snarkjs/constructGeneralZkProof.mjs +1 -1
  253. package/common/src/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
  254. package/common/src/functions/snarkjs/constructSolanaZkProof.mjs +1 -1
  255. package/common/src/functions/snarkjs/fetchMerkleTreeSiblings.mjs +1 -1
  256. package/common/src/functions/snarkjs/fetchOnChainRootHashes.cjs +1 -1
  257. package/common/src/functions/snarkjs/fetchOnChainRootHashes.mjs +1 -1
  258. package/common/src/functions/snarkjs/generateCircomData.mjs +1 -1
  259. package/common/src/functions/snarkjs/generateMainAndCommitmentZkProof.mjs +1 -1
  260. package/common/src/functions/snarkjs/generateZkProof.mjs +1 -1
  261. package/common/src/functions/snarkjs/generateZkProofEnclave.mjs +1 -1
  262. package/common/src/functions/snarkjs/generateZkProofSelf.mjs +1 -1
  263. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.cjs +1 -1
  264. package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.mjs +34 -34
  265. package/common/src/functions/snarkjs/getOriginalSender.mjs +1 -1
  266. package/common/src/functions/snarkjs/getZKFiles.mjs +1 -1
  267. package/common/src/functions/snarkjs/signedMessageHash.cjs +1 -1
  268. package/common/src/functions/snarkjs/signedMessageHash.mjs +1 -1
  269. package/common/src/functions/snarkjs/verifyCommitmentValidationData.cjs +1 -1
  270. package/common/src/functions/utils/abi.utils.cjs +1 -1
  271. package/common/src/functions/utils/abi.utils.mjs +1 -1
  272. package/common/src/functions/utils/addresses.cjs +1 -1
  273. package/common/src/functions/utils/addresses.mjs +1 -1
  274. package/common/src/functions/utils/aggregateTokenAmounts.mjs +1 -1
  275. package/common/src/functions/utils/amounts.utils.mjs +1 -1
  276. package/common/src/functions/utils/auth.utils.mjs +1 -1
  277. package/common/src/functions/utils/bigint-math.utils.mjs +1 -1
  278. package/common/src/functions/utils/bit.operations.mjs +1 -1
  279. package/common/src/functions/utils/bytes32.utils.cjs +1 -1
  280. package/common/src/functions/utils/bytes32.utils.mjs +2 -2
  281. package/common/src/functions/utils/cacheDevice.utils.cjs +1 -1
  282. package/common/src/functions/utils/cacheDevice.utils.mjs +8 -8
  283. package/common/src/functions/utils/cacheFunctions.mjs +1 -1
  284. package/common/src/functions/utils/caseInsensitive.utils.mjs +1 -1
  285. package/common/src/functions/utils/convertEmporiumOpToCallInfo.cjs +1 -1
  286. package/common/src/functions/utils/convertEmporiumOpToCallInfo.mjs +1 -1
  287. package/common/src/functions/utils/create-provider.cjs +1 -1
  288. package/common/src/functions/utils/create-provider.mjs +1 -1
  289. package/common/src/functions/utils/customEnclaveFunctionsRegister.mjs +1 -1
  290. package/common/src/functions/utils/enclave-signature-storage.mjs +1 -1
  291. package/common/src/functions/utils/enclaveHandshakeService.mjs +1 -1
  292. package/common/src/functions/utils/encodeTokenWithId.mjs +1 -1
  293. package/common/src/functions/utils/encryptInputForEnclave.cjs +1 -1
  294. package/common/src/functions/utils/encryptInputForEnclave.mjs +1 -1
  295. package/common/src/functions/utils/enum.utils.mjs +1 -1
  296. package/common/src/functions/utils/erc20tokenFunctions.mjs +1 -1
  297. package/common/src/functions/utils/external-action.utils.cjs +1 -1
  298. package/common/src/functions/utils/external-action.utils.mjs +1 -1
  299. package/common/src/functions/utils/fees.utils.mjs +1 -1
  300. package/common/src/functions/utils/get-signature-header.mjs +1 -1
  301. package/common/src/functions/utils/getContractAddress.mjs +1 -1
  302. package/common/src/functions/utils/getRecipientInfoFromUserKeys.mjs +1 -1
  303. package/common/src/functions/utils/getSignerFromContract.cjs +1 -1
  304. package/common/src/functions/utils/getSignerFromContract.mjs +1 -1
  305. package/common/src/functions/utils/getUtxosFromReceipt.utils.mjs +1 -1
  306. package/common/src/functions/utils/getUtxosFromReceiptSolana.cjs +1 -1
  307. package/common/src/functions/utils/getUtxosFromReceiptSolana.mjs +1 -1
  308. package/common/src/functions/utils/index.cjs +1 -1
  309. package/common/src/functions/utils/index.mjs +1 -1
  310. package/common/src/functions/utils/involves-permit2-op.mjs +1 -1
  311. package/common/src/functions/utils/map.utils.mjs +1 -1
  312. package/common/src/functions/utils/merkleTree.utils.mjs +1 -1
  313. package/common/src/functions/utils/mnemonics.cjs +1 -1
  314. package/common/src/functions/utils/mnemonics.mjs +1 -1
  315. package/common/src/functions/utils/mutexes.utils.mjs +1 -1
  316. package/common/src/functions/utils/nearIntents.utils.mjs +1 -1
  317. package/common/src/functions/utils/postToOffscreen.mjs +1 -1
  318. package/common/src/functions/utils/process.utils.mjs +1 -1
  319. package/common/src/functions/utils/publicBalance.utils.cjs +1 -1
  320. package/common/src/functions/utils/publicBalance.utils.mjs +1 -1
  321. package/common/src/functions/utils/reloadPage.mjs +1 -1
  322. package/common/src/functions/utils/resolve-sync.utils.mjs +1 -1
  323. package/common/src/functions/utils/serialize-utxos.utils.mjs +1 -1
  324. package/common/src/functions/utils/serialize.utils.mjs +1 -1
  325. package/common/src/functions/utils/solana-memo.cjs +1 -1
  326. package/common/src/functions/utils/solanaMint.utils.cjs +1 -1
  327. package/common/src/functions/utils/solanaMint.utils.mjs +1 -1
  328. package/common/src/functions/utils/string.utils.mjs +1 -1
  329. package/common/src/functions/utils/time.utils.mjs +1 -1
  330. package/common/src/functions/utils/token-check.utils.mjs +1 -1
  331. package/common/src/functions/utils/tron.utils.cjs +1 -1
  332. package/common/src/functions/utils/tron.utils.mjs +1 -1
  333. package/common/src/functions/utils/tronSimulation.utils.mjs +1 -1
  334. package/common/src/functions/utils/tx-confirmation.utils.mjs +1 -1
  335. package/common/src/functions/utils/upToDateState.mjs +1 -1
  336. package/common/src/functions/utils/userAgent.cjs +1 -1
  337. package/common/src/functions/web3/etherFunctions.cjs +1 -1
  338. package/common/src/functions/web3/etherFunctions.mjs +1 -1
  339. package/common/src/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
  340. package/common/src/functions/web3/events/getInputUtxoAndBalance.mjs +1 -1
  341. package/common/src/functions/web3/events/getInputUtxosEnclave.cjs +1 -1
  342. package/common/src/functions/web3/events/getInputUtxosEnclave.mjs +1 -1
  343. package/common/src/functions/web3/events/getShieldedBalance.cjs +1 -1
  344. package/common/src/functions/web3/events/getShieldedBalance.mjs +1 -1
  345. package/common/src/functions/web3/fetchSolanaMerkleTreeRootHash.mjs +1 -1
  346. package/common/src/functions/web3/functionCalls/approveToken.cjs +1 -1
  347. package/common/src/functions/web3/functionCalls/approveToken.mjs +1 -1
  348. package/common/src/functions/web3/functionCalls/approveTokensToHinkal.mjs +1 -1
  349. package/common/src/functions/web3/functionCalls/constructBatchCall.cjs +1 -1
  350. package/common/src/functions/web3/functionCalls/constructBatchCall.mjs +1 -1
  351. package/common/src/functions/web3/functionCalls/recoverTransactionFromError.mjs +1 -1
  352. package/common/src/functions/web3/functionCalls/transactCallDirect.cjs +1 -1
  353. package/common/src/functions/web3/functionCalls/transactCallDirect.mjs +1 -1
  354. package/common/src/functions/web3/functionCalls/transactCallDirectTron.mjs +1 -1
  355. package/common/src/functions/web3/functionCalls/transactCallRelayer.mjs +1 -1
  356. package/common/src/functions/web3/functionCalls/waitForErc20Approvals.mjs +1 -1
  357. package/common/src/functions/web3/getContractMetadata.cjs +1 -1
  358. package/common/src/functions/web3/getContractMetadata.mjs +1 -1
  359. package/common/src/functions/web3/getPublicAddressBalance.mjs +1 -1
  360. package/common/src/functions/web3/getSolanaPriorityFee.mjs +1 -1
  361. package/common/src/functions/web3/odosAPI.mjs +1 -1
  362. package/common/src/functions/web3/okxAPI.cjs +1 -1
  363. package/common/src/functions/web3/okxAPI.mjs +1 -1
  364. package/common/src/functions/web3/oneInchAPI.mjs +1 -1
  365. package/common/src/functions/web3/uniswapAPI.cjs +1 -1
  366. package/common/src/functions/web3/uniswapAPI.mjs +1 -1
  367. package/common/src/mutexes/chainBalanceRwLock.cjs +1 -1
  368. package/common/src/mutexes/chainBalanceRwLock.mjs +1 -1
  369. package/common/src/mutexes/mutex.cjs +1 -1
  370. package/common/src/providers/EthersProviderAdapter.cjs +1 -1
  371. package/common/src/providers/EthersProviderAdapter.mjs +5 -3
  372. package/common/src/providers/SolanaProviderAdapter.cjs +1 -1
  373. package/common/src/providers/SolanaProviderAdapter.mjs +1 -1
  374. package/common/src/providers/TronProviderAdapter.mjs +1 -1
  375. package/common/src/providers/WagmiProviderAdapter.cjs +1 -1
  376. package/common/src/providers/WagmiProviderAdapter.mjs +5 -3
  377. package/common/src/types/activities.types.mjs +1 -1
  378. package/common/src/types/admin.types.mjs +1 -1
  379. package/common/src/types/balances.types.mjs +1 -1
  380. package/common/src/types/cache.types.mjs +1 -1
  381. package/common/src/types/chains.types.mjs +1 -1
  382. package/common/src/types/circom-data.types.mjs +1 -1
  383. package/common/src/types/eip5792.types.mjs +1 -1
  384. package/common/src/types/ethereum-network.types.mjs +1 -1
  385. package/common/src/types/events.types.mjs +1 -1
  386. package/common/src/types/external-action.types.mjs +1 -1
  387. package/common/src/types/fee.types.mjs +1 -1
  388. package/common/src/types/hinkal.types.cjs +1 -1
  389. package/common/src/types/hinkal.types.mjs +1 -1
  390. package/common/src/types/new-rewards.type.mjs +1 -1
  391. package/common/src/types/offscreen.types.mjs +1 -1
  392. package/common/src/types/schedule.types.mjs +1 -1
  393. package/common/src/types/scheduled-transactions.types.mjs +1 -1
  394. package/common/src/types/token.types.mjs +1 -1
  395. package/common/src/types/transaction.types.mjs +1 -1
  396. package/common/src/types/transactions.types.mjs +1 -1
  397. package/common/src/webworker/WorkerWrapper.mjs +1 -1
  398. package/common/src/webworker/performTaskWithWorker.cjs +1 -1
  399. package/common/src/webworker/performTaskWithWorker.mjs +7 -7
  400. package/common/src/webworker/snarkjsWorker/snarkjsWorker.types.mjs +1 -1
  401. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
  402. package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +2 -2
  403. package/common/src/webworker/utxoWorker/utxoWorker.types.mjs +1 -1
  404. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
  405. package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +2 -2
  406. package/common/src/webworker/viteWorkerURL.constant.cjs +1 -28
  407. package/common/src/webworker/viteWorkerURL.constant.mjs +13 -27
  408. package/common/src/webworker/worker.registry.mjs +1 -1
  409. package/common/src/webworker/workerFactory.cjs +1 -1
  410. package/common/src/webworker/workerFactory.mjs +23 -21
  411. package/common/src/webworker/zkProofWorker/zkProofWorker.types.mjs +1 -1
  412. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
  413. package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +2 -2
  414. package/index.cjs +1 -98
  415. package/index.mjs +12 -363
  416. package/internal/monitorConnectedAddress.cjs +1 -0
  417. package/internal/monitorConnectedAddress.mjs +8 -0
  418. package/internal/swapApi.cjs +1 -0
  419. package/internal/swapApi.mjs +32 -0
  420. package/internal/token.utils.cjs +1 -0
  421. package/internal/token.utils.mjs +17 -0
  422. package/package.json +14 -15
  423. package/providers/prepareWagmiHinkal.cjs +1 -1
  424. package/providers/prepareWagmiHinkal.mjs +4 -4
  425. package/react-native/HinkalProvider.cjs +1 -0
  426. package/react-native/HinkalProvider.mjs +6 -0
  427. package/providers/EthersProviderAdapter.cjs +0 -1
  428. package/providers/EthersProviderAdapter.mjs +0 -5
  429. package/providers/SolanaProviderAdapter.cjs +0 -1
  430. package/providers/SolanaProviderAdapter.mjs +0 -5
  431. package/providers/TronProviderAdapter.cjs +0 -1
  432. package/providers/TronProviderAdapter.mjs +0 -5
  433. package/providers/WagmiProviderAdapter.cjs +0 -1
  434. package/providers/WagmiProviderAdapter.mjs +0 -5
@@ -19,7 +19,7 @@ import { ClientNullifierSnapshotService as g } from "../snapshot/evm-snapshots/C
19
19
  import "../snapshot/index.mjs";
20
20
  import { PublicKey as _ } from "@solana/web3.js";
21
21
  import { Mutex as v } from "async-mutex";
22
- //#region libs/shared/common/src/data-structures/Hinkal/resetMerkleTrees.ts
22
+ //#region common/src/data-structures/Hinkal/resetMerkleTrees.ts
23
23
  var y = /* @__PURE__ */ new Map(), b = (e) => a(y, e, () => new v()), x = async (a, v) => {
24
24
  let y = (v ?? a.getSupportedChains()).map((v) => b(v).runExclusive(async () => {
25
25
  a.commitmentsSnapshotServiceByChain[v]?.intervalClear(), a.nullifierSnapshotServiceByChain[v]?.intervalClear();
@@ -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(`../../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;
@@ -9,7 +9,7 @@ import { waitForTransactionConfirmation as a } from "../../functions/utils/tx-co
9
9
  import "../../functions/index.mjs";
10
10
  import { aggregateTokensBySymbol as o } from "../../functions/utils/aggregateTokenAmounts.mjs";
11
11
  import { get as s, update as c } from "idb-keyval";
12
- //#region libs/shared/common/src/data-structures/IndexedDB/activity-db.ts
12
+ //#region common/src/data-structures/IndexedDB/activity-db.ts
13
13
  var l = class {
14
14
  generateTxId() {
15
15
  return `tx_${(/* @__PURE__ */ new Date()).getTime()}_${Math.random().toString(36).substring(2, 15)}`;
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../error-handling/logger.cjs`),t=require(`../../functions/utils/string.utils.cjs`);require(`../../functions/utils/index.cjs`);let n=require(`idb-keyval`);new class{balancesRecordLabel=`walletsBalances`;async getBalances(){return await(0,n.get)(this.balancesRecordLabel)}async getBalancesByWallet(e,n){let r=await this.getBalances();if(r)return r[t.getStateKey(e,n)]}async setBalances(r,i,a,o){let s=[];if(!o)return await(0,n.update)(this.balancesRecordLabel,(e={})=>{let n=t.getStateKey(i,r);return{...e,[n]:a}}),a;if(o.length===0)return await this.getBalancesByWallet(i,r)??[];try{await(0,n.update)(this.balancesRecordLabel,(e={})=>{let n=t.getStateKey(i,r),c=this.createBalanceLookup(e[n]),l=this.createBalanceLookup(a);return o.forEach(({erc20TokenAddress:e})=>{let t=e.toLowerCase();t in l?c[t]=l[t]:delete c[t]}),s=Object.values(c),{...e,[n]:s}})}catch(t){e.Logger.error(`Failed to update wallet balances:`,t)}return s}createBalanceLookup(e=[]){return e.reduce((e,t)=>({...e,[t.token.erc20TokenAddress.toLowerCase()]:t}),{})}};
1
+ require(`../../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../error-handling/logger.cjs`),t=require(`../../functions/utils/string.utils.cjs`);require(`../../functions/utils/index.cjs`);let n=require(`idb-keyval`);new class{balancesRecordLabel=`walletsBalances`;async getBalances(){return await(0,n.get)(this.balancesRecordLabel)}async getBalancesByWallet(e,n){let r=await this.getBalances();if(r)return r[t.getStateKey(e,n)]}async setBalances(r,i,a,o){let s=[];if(!o)return await(0,n.update)(this.balancesRecordLabel,(e={})=>{let n=t.getStateKey(i,r);return{...e,[n]:a}}),a;if(o.length===0)return await this.getBalancesByWallet(i,r)??[];try{await(0,n.update)(this.balancesRecordLabel,(e={})=>{let n=t.getStateKey(i,r),c=this.createBalanceLookup(e[n]),l=this.createBalanceLookup(a);return o.forEach(({erc20TokenAddress:e})=>{let t=e.toLowerCase();t in l?c[t]=l[t]:delete c[t]}),s=Object.values(c),{...e,[n]:s}})}catch(t){e.Logger.error(`Failed to update wallet balances:`,t)}return s}createBalanceLookup(e=[]){return e.reduce((e,t)=>({...e,[t.token.erc20TokenAddress.toLowerCase()]:t}),{})}};
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../functions/utils/caseInsensitive.utils.cjs`),t=require(`../../functions/utils/addresses.cjs`),n=require(`../../error-handling/logger.cjs`);require(`../../functions/index.cjs`);let r=require(`idb-keyval`);new class{STORAGE_KEY=`contacts`;checkForDuplicate(e,t,n){if(e.find(({ethereumAddress:e,nickname:r})=>(e===t.ethereumAddress||r===t.nickname)&&e!==n)!==void 0)throw Error(`Duplicate Contact attribute`)}async createContact(e,t){let n=e.toLowerCase();await(0,r.update)(this.STORAGE_KEY,e=>{let r=e??{},i=r[n]??[];return this.checkForDuplicate(i,t),i.push(t),r[n]=i,r})}async getContacts(e){try{await this.removeOldStylePrivateAddressContacts(e);let t=e.toLowerCase(),n=await(0,r.get)(this.STORAGE_KEY);return!n||!n[t]?[]:n[t]}catch(e){return n.Logger.error(`Error while getting contacts:`,e),[]}}async editContact(t,n,i){let a=t.toLowerCase();await(0,r.update)(this.STORAGE_KEY,t=>{let r=t??{},o=r[a];if(!r||!o)throw Error(`Contacts could not be fetched`);this.checkForDuplicate(o,i,n);let s=o.findIndex(({ethereumAddress:t})=>e.caseInsensitiveEqual(t,n));if(s===-1)throw Error(`Contact to be edited was not found`);return o[s]=i,r[a]=o,r})}async removeOldStylePrivateAddressContacts(e){let n=e.toLowerCase(),i=0;return await(0,r.update)(this.STORAGE_KEY,e=>{let r=e??{},a=r[n];if(!a?.length)return r;let o=a.filter(e=>{let n=e.ethereumAddress;return!t.isValidOldStylePrivateAddress(n)||t.isValidPrivateAddress(n)?!0:(i+=1,!1)});return i===0||(r[n]=o),r}),i}async deleteContact(e,t){let n=e.toLowerCase();await(0,r.update)(this.STORAGE_KEY,e=>{let r=e??{},i=r[n];if(!r||!i)throw Error(`Contacts could not be fetched`);return r[n]=i.filter(({ethereumAddress:e})=>e!==t),r})}};
1
+ require(`../../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../functions/utils/caseInsensitive.utils.cjs`),t=require(`../../functions/utils/addresses.cjs`),n=require(`../../error-handling/logger.cjs`);require(`../../functions/index.cjs`);let r=require(`idb-keyval`);new class{STORAGE_KEY=`contacts`;checkForDuplicate(e,t,n){if(e.find(({ethereumAddress:e,nickname:r})=>(e===t.ethereumAddress||r===t.nickname)&&e!==n)!==void 0)throw Error(`Duplicate Contact attribute`)}async createContact(e,t){let n=e.toLowerCase();await(0,r.update)(this.STORAGE_KEY,e=>{let r=e??{},i=r[n]??[];return this.checkForDuplicate(i,t),i.push(t),r[n]=i,r})}async getContacts(e){try{await this.removeOldStylePrivateAddressContacts(e);let t=e.toLowerCase(),n=await(0,r.get)(this.STORAGE_KEY);return!n||!n[t]?[]:n[t]}catch(e){return n.Logger.error(`Error while getting contacts:`,e),[]}}async editContact(t,n,i){let a=t.toLowerCase();await(0,r.update)(this.STORAGE_KEY,t=>{let r=t??{},o=r[a];if(!r||!o)throw Error(`Contacts could not be fetched`);this.checkForDuplicate(o,i,n);let s=o.findIndex(({ethereumAddress:t})=>e.caseInsensitiveEqual(t,n));if(s===-1)throw Error(`Contact to be edited was not found`);return o[s]=i,r[a]=o,r})}async removeOldStylePrivateAddressContacts(e){let n=e.toLowerCase(),i=0;return await(0,r.update)(this.STORAGE_KEY,e=>{let r=e??{},a=r[n];if(!a?.length)return r;let o=a.filter(e=>{let n=e.ethereumAddress;return!t.isValidOldStylePrivateAddress(n)||t.isValidPrivateAddress(n)?!0:(i+=1,!1)});return i===0||(r[n]=o),r}),i}async deleteContact(e,t){let n=e.toLowerCase();await(0,r.update)(this.STORAGE_KEY,e=>{let r=e??{},i=r[n];if(!r||!i)throw Error(`Contacts could not be fetched`);return r[n]=i.filter(({ethereumAddress:e})=>e!==t),r})}};
@@ -1 +1 @@
1
- const e=require(`../../functions/utils/serialize.utils.cjs`),t=require(`../../constants/vite.constants.cjs`);require(`../../constants/index.cjs`);const n=require(`../cacheDevices/FileCacheDevice.cjs`);var r=()=>typeof globalThis<`u`&&`indexedDB`in globalThis&&globalThis.indexedDB!=null||t.isReactNative,i=class{idbPromise=null;idb(){return this.idbPromise||=Promise.resolve(require(`idb-keyval`)),this.idbPromise}async get(e){let{get:t}=await this.idb();return t(e)}async set(e,t){let{set:n}=await this.idb();await n(e,t)}async update(e,t){let{update:n}=await this.idb(),r;return await n(e,e=>(r=t(e),r)),r}},a=class{device;constructor(){let e=require(`path`);this.device=new n.FileCacheDevice(!0,e.resolve(process.cwd(),`hinkalKeyValCache.json`))}async get(t){let n=this.device.get(t);if(n)return e.CustomJSONParse(n)}async set(t,n){this.device.set(t,e.CustomJSONStringify(n))}async update(e,t){let n=t(await this.get(e));return await this.set(e,n),n}},o=r()?new i:new a;exports.keyValStore=o;
1
+ const e=require(`../../functions/utils/serialize.utils.cjs`),t=require(`../../constants/vite.constants.cjs`),n=require(`../../../../sdk-react-native/shims/path.cjs`);require(`../../constants/index.cjs`);const r=require(`../cacheDevices/FileCacheDevice.cjs`);var i=()=>typeof globalThis<`u`&&`indexedDB`in globalThis&&globalThis.indexedDB!=null||t.isReactNative,a=class{idbPromise=null;idb(){return this.idbPromise||=Promise.resolve(require(`idb-keyval`)),this.idbPromise}async get(e){let{get:t}=await this.idb();return t(e)}async set(e,t){let{set:n}=await this.idb();await n(e,t)}async update(e,t){let{update:n}=await this.idb(),r;return await n(e,e=>(r=t(e),r)),r}},o=class{device;constructor(){let e=n.default;this.device=new r.FileCacheDevice(!0,e.resolve(process.cwd(),`hinkalKeyValCache.json`))}async get(t){let n=this.device.get(t);if(n)return e.CustomJSONParse(n)}async set(t,n){this.device.set(t,e.CustomJSONStringify(n))}async update(e,t){let n=t(await this.get(e));return await this.set(e,n),n}},s=i()?new a:new o;exports.keyValStore=s;
@@ -1,10 +1,11 @@
1
- import { __require as e } from "../../../../_virtual/_rolldown/runtime.mjs";
1
+ import { __require as e } from "../../../../../../_virtual/_rolldown/runtime.mjs";
2
2
  import { CustomJSONParse as t, CustomJSONStringify as n } from "../../functions/utils/serialize.utils.mjs";
3
3
  import { isReactNative as r } from "../../constants/vite.constants.mjs";
4
+ import { require_path as i } from "../../../../sdk-react-native/shims/path.mjs";
4
5
  import "../../constants/index.mjs";
5
- import { FileCacheDevice as i } from "../cacheDevices/FileCacheDevice.mjs";
6
- //#region libs/shared/common/src/data-structures/IndexedDB/key-val-store.ts
7
- var a = () => typeof globalThis < "u" && "indexedDB" in globalThis && globalThis.indexedDB != null || r, o = class {
6
+ import { FileCacheDevice as a } from "../cacheDevices/FileCacheDevice.mjs";
7
+ //#region common/src/data-structures/IndexedDB/key-val-store.ts
8
+ var o = () => typeof globalThis < "u" && "indexedDB" in globalThis && globalThis.indexedDB != null || r, s = class {
8
9
  idbPromise = null;
9
10
  idb() {
10
11
  return this.idbPromise ||= Promise.resolve(e("idb-keyval")), this.idbPromise;
@@ -21,11 +22,11 @@ var a = () => typeof globalThis < "u" && "indexedDB" in globalThis && globalThis
21
22
  let { update: n } = await this.idb(), r;
22
23
  return await n(e, (e) => (r = t(e), r)), r;
23
24
  }
24
- }, s = class {
25
+ }, c = class {
25
26
  device;
26
27
  constructor() {
27
- let t = e("path");
28
- this.device = new i(!0, t.resolve(process.cwd(), "hinkalKeyValCache.json"));
28
+ let e = i();
29
+ this.device = new a(!0, e.resolve(process.cwd(), "hinkalKeyValCache.json"));
29
30
  }
30
31
  async get(e) {
31
32
  let n = this.device.get(e);
@@ -38,6 +39,6 @@ var a = () => typeof globalThis < "u" && "indexedDB" in globalThis && globalThis
38
39
  let n = t(await this.get(e));
39
40
  return await this.set(e, n), n;
40
41
  }
41
- }, c = a() ? new o() : new s();
42
+ }, l = o() ? new s() : new c();
42
43
  //#endregion
43
- export { c as keyValStore };
44
+ export { l as keyValStore };
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../types/cache.types.cjs`);require(`../../types/index.cjs`);const t=require(`./activity-db.cjs`);let n=require(`idb-keyval`);new class extends t.ActivityStorage{async savePrivateSendTx(t){let r=this.generateTxId(),i={timestamp:new Date,...t};return await(0,n.update)(e.StorageKeys.TX_ACTIVITY,(e={})=>(e[r]=i,e)),r}async saveMultiplePrivateSendTxs(e){let t=e.map(e=>this.savePrivateSendTx(e));return Promise.all(t)}async getTransactionRecords(){return await(0,n.get)(e.StorageKeys.TX_ACTIVITY)||[]}};
1
+ require(`../../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../types/cache.types.cjs`);require(`../../types/index.cjs`);const t=require(`./activity-db.cjs`);let n=require(`idb-keyval`);new class extends t.ActivityStorage{async savePrivateSendTx(t){let r=this.generateTxId(),i={timestamp:new Date,...t};return await(0,n.update)(e.StorageKeys.TX_ACTIVITY,(e={})=>(e[r]=i,e)),r}async saveMultiplePrivateSendTxs(e){let t=e.map(e=>this.savePrivateSendTx(e));return Promise.all(t)}async getTransactionRecords(){return await(0,n.get)(e.StorageKeys.TX_ACTIVITY)||[]}};
@@ -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(`../../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 +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),t.stealthAddressCacheDevice.mergeWithSerialized(e.stealthAddressCache)}),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(`../../webworker/worker.registry.cjs`),n=require(`../crypto-keys/keys.cjs`),r=require(`../utxo/Utxo.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:t.WorkerVariant.UTXO,payload:e})}async batchFilterUtxosWithNullifier(e,t){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:t}})),o=await Promise.all(i);return o.forEach(e=>{n.stealthPairCacheDevice.mergeWithSerialized(e.stealthPairCache),n.stealthAddressCacheDevice.mergeWithSerialized(e.stealthAddressCache)}),o.flatMap(e=>e.utxoConstructors).map(e=>new r.Utxo(e))}async buildBatchProcess(e,t,n){let i=this.sliceArrayIntoParts(e,this.NUM_WORKERS).map(e=>this.createUtxoPromise({type:a.UtxoWorkerActionType.BUILD_UTXOS,data:{signature:t.getSignature(),encryptedOutputs:e,chainId:n}}));return(await Promise.all(i)).flat().map(e=>new r.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,10 +1,10 @@
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";
2
+ import { WorkerVariant as t } from "../../webworker/worker.registry.mjs";
3
+ import { stealthAddressCacheDevice as n, stealthPairCacheDevice as r } from "../crypto-keys/keys.mjs";
4
+ import { Utxo as i } from "../utxo/Utxo.mjs";
5
5
  import { performTaskWithWorker as a } from "../../webworker/performTaskWithWorker.mjs";
6
6
  import { UtxoWorkerActionType as o } from "../../webworker/utxoWorker/utxoWorker.types.mjs";
7
- //#region libs/shared/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.ts
7
+ //#region common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.ts
8
8
  var s = 16, c = class {
9
9
  NUM_WORKERS;
10
10
  NUM_WORKERS_BATCH_PROCESS;
@@ -13,24 +13,24 @@ var s = 16, c = class {
13
13
  }
14
14
  async createUtxoPromise(e) {
15
15
  return await a({
16
- type: i.UTXO,
16
+ type: t.UTXO,
17
17
  payload: e
18
18
  });
19
19
  }
20
- async batchFilterUtxosWithNullifier(e, i) {
20
+ async batchFilterUtxosWithNullifier(e, t) {
21
21
  let a = this.sliceArrayIntoParts(e, this.NUM_WORKERS).map((e) => this.createUtxoPromise({
22
22
  type: o.BATCH_FILTER_UTXOS_WITH_NULLIFIER,
23
23
  data: {
24
24
  utxos: e.map((e) => e.getConstructableParams()),
25
- nullifiers: i
25
+ nullifiers: t
26
26
  }
27
27
  })), s = await Promise.all(a);
28
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));
29
+ r.mergeWithSerialized(e.stealthPairCache), n.mergeWithSerialized(e.stealthAddressCache);
30
+ }), s.flatMap((e) => e.utxoConstructors).map((e) => new i(e));
31
31
  }
32
32
  async buildBatchProcess(e, t, n) {
33
- let i = this.sliceArrayIntoParts(e, this.NUM_WORKERS).map((e) => this.createUtxoPromise({
33
+ let r = this.sliceArrayIntoParts(e, this.NUM_WORKERS).map((e) => this.createUtxoPromise({
34
34
  type: o.BUILD_UTXOS,
35
35
  data: {
36
36
  signature: t.getSignature(),
@@ -38,7 +38,7 @@ var s = 16, c = class {
38
38
  chainId: n
39
39
  }
40
40
  }));
41
- return (await Promise.all(i)).flat().map((e) => new r(e));
41
+ return (await Promise.all(r)).flat().map((e) => new i(e));
42
42
  }
43
43
  sliceArrayIntoParts(e, t) {
44
44
  let n = Math.ceil(e.length / t);
@@ -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(`../../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 +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(`../../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;
@@ -10,7 +10,7 @@ import { tokenVisibilityStorage as l } from "./token-visibility-db.mjs";
10
10
  import { getContractWithFetcherByChainId as u } from "../../functions/web3/getContractMetadata.mjs";
11
11
  import { get as d, update as f } from "idb-keyval";
12
12
  import p from "axios";
13
- //#region libs/shared/common/src/data-structures/TokenDBs/ArcPublicTokensDB.ts
13
+ //#region common/src/data-structures/TokenDBs/ArcPublicTokensDB.ts
14
14
  var m = class {
15
15
  API_BASE = "https://testnet.arcscan.app/api";
16
16
  fetchedTokens = {};
@@ -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(`../../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 +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(`../../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;
@@ -5,7 +5,7 @@ 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";
7
7
  import { get as o, update as s } from "idb-keyval";
8
- //#region libs/shared/common/src/data-structures/TokenDBs/PrivateTokensDB.ts
8
+ //#region common/src/data-structures/TokenDBs/PrivateTokensDB.ts
9
9
  var c = class {
10
10
  fetchedTokens = {};
11
11
  initalFetched = !1;
@@ -6,7 +6,7 @@ import { eventsPublicTokensDB as s } from "./EventsPublicTokensDB.mjs";
6
6
  import { arcPublicTokensDB as c } from "./ArcPublicTokensDB.mjs";
7
7
  import { tronPublicTokensDB as l } from "./TronPublicTokensDB.mjs";
8
8
  import { tempoPublicTokensDB as u } from "./TempoPublicTokensDB.mjs";
9
- //#region libs/shared/common/src/data-structures/TokenDBs/PublicTokensDB.ts
9
+ //#region common/src/data-structures/TokenDBs/PublicTokensDB.ts
10
10
  var d = class {
11
11
  useAlternativeDB = {};
12
12
  async getPublicTokens(t, i) {
@@ -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(`../../functions/utils/string.utils.cjs`),i=require(`./token-visibility-db.cjs`),a=require(`../../functions/utils/erc20tokenFunctions.cjs`),o=require(`../../functions/utils/publicBalance.utils.cjs`);let s=require(`idb-keyval`);var c=class{fetchedTokens={};async getPublicTokens(e,n){let i=r.getStateKey(e,n);return a.overlayTokensWithRegistryData((await(0,s.get)(t.StorageKeys.TEMPO_PUBLIC_TOKENS))?.[i]||[],n)}async getFetchedTokens(e,t){let n=r.getStateKey(e,t);return a.overlayTokensWithRegistryData(this.fetchedTokens[n]||[],t)}async fetchAndUpdatePublicTokens(a,o){let c=r.getStateKey(a,o),l=await this.getHeldTokenAddresses(a,o);if(!l.length)return;let u=(await n.API.tokensInfoCall(o,l)).filter(e=>!!e),d=await i.tokenVisibilityStorage.hideSpamsAndFetchHiddenTokensAddresses(o,u),f=u.filter(t=>!e.lowerCaseIncludes(d,t.erc20TokenAddress));await(0,s.update)(t.StorageKeys.TEMPO_PUBLIC_TOKENS,(e={})=>{let t={...e,[c]:f};return this.fetchedTokens=t,t})}async getHeldTokenAddresses(e,t){let n=await a.getErc20TokensForChainAPI(t),r=await Promise.all(n.map(async n=>{let r=await o.getPublicBalanceByTokenAddress(t,e,n.erc20TokenAddress);return r&&r>0n?n.erc20TokenAddress:null}));return Array.from(new Set(r.filter(e=>!!e)))}},l=new c;exports.TempoPublicTokensDB=c,exports.tempoPublicTokensDB=l;
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(`../../functions/utils/string.utils.cjs`),i=require(`./token-visibility-db.cjs`),a=require(`../../functions/utils/erc20tokenFunctions.cjs`),o=require(`../../functions/utils/publicBalance.utils.cjs`);let s=require(`idb-keyval`);var c=class{fetchedTokens={};async getPublicTokens(e,n){let i=r.getStateKey(e,n);return a.overlayTokensWithRegistryData((await(0,s.get)(t.StorageKeys.TEMPO_PUBLIC_TOKENS))?.[i]||[],n)}async getFetchedTokens(e,t){let n=r.getStateKey(e,t);return a.overlayTokensWithRegistryData(this.fetchedTokens[n]||[],t)}async fetchAndUpdatePublicTokens(a,o){let c=r.getStateKey(a,o),l=await this.getHeldTokenAddresses(a,o);if(!l.length)return;let u=(await n.API.tokensInfoCall(o,l)).filter(e=>!!e),d=await i.tokenVisibilityStorage.hideSpamsAndFetchHiddenTokensAddresses(o,u),f=u.filter(t=>!e.lowerCaseIncludes(d,t.erc20TokenAddress));await(0,s.update)(t.StorageKeys.TEMPO_PUBLIC_TOKENS,(e={})=>{let t={...e,[c]:f};return this.fetchedTokens=t,t})}async getHeldTokenAddresses(e,t){let n=await a.getErc20TokensForChainAPI(t),r=await Promise.all(n.map(async n=>{let r=await o.getPublicBalanceByTokenAddress(t,e,n.erc20TokenAddress);return r&&r>0n?n.erc20TokenAddress:null}));return Array.from(new Set(r.filter(e=>!!e)))}},l=new c;exports.TempoPublicTokensDB=c,exports.tempoPublicTokensDB=l;
@@ -6,7 +6,7 @@ import { tokenVisibilityStorage as i } from "./token-visibility-db.mjs";
6
6
  import { getErc20TokensForChainAPI as a, overlayTokensWithRegistryData as o } from "../../functions/utils/erc20tokenFunctions.mjs";
7
7
  import { getPublicBalanceByTokenAddress as s } from "../../functions/utils/publicBalance.utils.mjs";
8
8
  import { get as c, update as l } from "idb-keyval";
9
- //#region libs/shared/common/src/data-structures/TokenDBs/TempoPublicTokensDB.ts
9
+ //#region common/src/data-structures/TokenDBs/TempoPublicTokensDB.ts
10
10
  var u = class {
11
11
  fetchedTokens = {};
12
12
  async getPublicTokens(e, n) {
@@ -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(`../../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;
@@ -9,7 +9,7 @@ import { getStateKey as c } from "../../functions/utils/string.utils.mjs";
9
9
  import { tokenVisibilityStorage as l } from "./token-visibility-db.mjs";
10
10
  import { overlayTokensWithRegistryData as u } from "../../functions/utils/erc20tokenFunctions.mjs";
11
11
  import { get as d, update as f } from "idb-keyval";
12
- //#region libs/shared/common/src/data-structures/TokenDBs/TronPublicTokensDB.ts
12
+ //#region common/src/data-structures/TokenDBs/TronPublicTokensDB.ts
13
13
  var p = class {
14
14
  fetchedTokens = {};
15
15
  async getPublicTokens(e, t) {
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../error-handling/logger.cjs`),t=require(`../../functions/utils/token-check.utils.cjs`);let n=require(`idb-keyval`);var r=new class{STORAGE_KEY=`hiddenTokenAddresses`;UNHIDDEN_SPAM_KEY=`unhiddenSpamTokens`;async getHiddenTokens(t){try{return(await(0,n.get)(this.STORAGE_KEY))?.[t]||[]}catch(t){return e.Logger.error(`Error retrieving hidden tokens`,t),[]}}async getHiddenTokenAddresses(t){try{return(await this.getHiddenTokens(t)).map(({erc20TokenAddress:e})=>e.toLowerCase())}catch(t){return e.Logger.error(`Error retrieving hidden tokens`,t),[]}}async filterOutHiddenTokens(e,n){let r=await this.getHiddenTokens(e);return n.filter(e=>!r.some(n=>t.isSameERC20Token(n,e)))}async hideToken(r){try{await(0,n.update)(this.STORAGE_KEY,e=>{let n=e??{},{chainId:i}=r;return n[i]||(n[i]=[]),n[i].some(e=>t.isSameERC20Token(e,r))||n[i].push(r),n}),r.isSpam&&await this.deleteUnhiddenSpamToken(r)}catch(t){e.Logger.error(`Error hiding token`,t)}}async showToken(r){try{await(0,n.update)(this.STORAGE_KEY,e=>{let{chainId:n}=r,i=e??{};return i[n]||(i[n]=[]),i[n]=i[n].filter(e=>!t.isSameERC20Token(e,r)),i}),r.isSpam&&await this.storeUnhiddenSpamToken(r)}catch(t){e.Logger.error(`Error showing token`,t)}}async storeUnhiddenSpamToken(r){let{chainId:i}=r;try{await(0,n.update)(this.UNHIDDEN_SPAM_KEY,e=>{let n=e??{};return n[i]||(n[i]=[]),n[i].some(e=>t.isSameERC20Token(e,r))||n[i].push(r),n})}catch(t){e.Logger.error(`Error storing unhidden spam token`,t)}}async deleteUnhiddenSpamToken(e){await(0,n.update)(this.UNHIDDEN_SPAM_KEY,n=>{let{chainId:r}=e,i=n??{};return i[r]=i[r]?.filter(n=>!t.isSameERC20Token(n,e)),i})}async getUnhiddenSpamTokens(t){try{return(await(0,n.get)(this.UNHIDDEN_SPAM_KEY))?.[t]||[]}catch(t){return e.Logger.error(`Error retrieving unhidden spam tokens`,t),[]}}async hideUnnecessarySpamTokens(e,n){let r=await this.getUnhiddenSpamTokens(e),i=n.filter(e=>e.isSpam?!r.some(n=>t.isSameERC20Token(n,e)):!1);await Promise.all(i.map(e=>this.hideToken(e)))}async hideSpamsAndFetchHiddenTokensAddresses(e,t){return await this.hideUnnecessarySpamTokens(e,t),this.getHiddenTokenAddresses(e)}};exports.tokenVisibilityStorage=r;
1
+ require(`../../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../error-handling/logger.cjs`),t=require(`../../functions/utils/token-check.utils.cjs`);let n=require(`idb-keyval`);var r=new class{STORAGE_KEY=`hiddenTokenAddresses`;UNHIDDEN_SPAM_KEY=`unhiddenSpamTokens`;async getHiddenTokens(t){try{return(await(0,n.get)(this.STORAGE_KEY))?.[t]||[]}catch(t){return e.Logger.error(`Error retrieving hidden tokens`,t),[]}}async getHiddenTokenAddresses(t){try{return(await this.getHiddenTokens(t)).map(({erc20TokenAddress:e})=>e.toLowerCase())}catch(t){return e.Logger.error(`Error retrieving hidden tokens`,t),[]}}async filterOutHiddenTokens(e,n){let r=await this.getHiddenTokens(e);return n.filter(e=>!r.some(n=>t.isSameERC20Token(n,e)))}async hideToken(r){try{await(0,n.update)(this.STORAGE_KEY,e=>{let n=e??{},{chainId:i}=r;return n[i]||(n[i]=[]),n[i].some(e=>t.isSameERC20Token(e,r))||n[i].push(r),n}),r.isSpam&&await this.deleteUnhiddenSpamToken(r)}catch(t){e.Logger.error(`Error hiding token`,t)}}async showToken(r){try{await(0,n.update)(this.STORAGE_KEY,e=>{let{chainId:n}=r,i=e??{};return i[n]||(i[n]=[]),i[n]=i[n].filter(e=>!t.isSameERC20Token(e,r)),i}),r.isSpam&&await this.storeUnhiddenSpamToken(r)}catch(t){e.Logger.error(`Error showing token`,t)}}async storeUnhiddenSpamToken(r){let{chainId:i}=r;try{await(0,n.update)(this.UNHIDDEN_SPAM_KEY,e=>{let n=e??{};return n[i]||(n[i]=[]),n[i].some(e=>t.isSameERC20Token(e,r))||n[i].push(r),n})}catch(t){e.Logger.error(`Error storing unhidden spam token`,t)}}async deleteUnhiddenSpamToken(e){await(0,n.update)(this.UNHIDDEN_SPAM_KEY,n=>{let{chainId:r}=e,i=n??{};return i[r]=i[r]?.filter(n=>!t.isSameERC20Token(n,e)),i})}async getUnhiddenSpamTokens(t){try{return(await(0,n.get)(this.UNHIDDEN_SPAM_KEY))?.[t]||[]}catch(t){return e.Logger.error(`Error retrieving unhidden spam tokens`,t),[]}}async hideUnnecessarySpamTokens(e,n){let r=await this.getUnhiddenSpamTokens(e),i=n.filter(e=>e.isSpam?!r.some(n=>t.isSameERC20Token(n,e)):!1);await Promise.all(i.map(e=>this.hideToken(e)))}async hideSpamsAndFetchHiddenTokensAddresses(e,t){return await this.hideUnnecessarySpamTokens(e,t),this.getHiddenTokenAddresses(e)}};exports.tokenVisibilityStorage=r;
@@ -1,6 +1,6 @@
1
1
  import { CustomJSONStringify as e } from "../../functions/utils/serialize.utils.mjs";
2
2
  import { BaseCacheDevice as t } from "./BaseCacheDevice.mjs";
3
- //#region libs/shared/common/src/data-structures/cacheDevices/AttachableMemoryCacheDevice.ts
3
+ //#region common/src/data-structures/cacheDevices/AttachableMemoryCacheDevice.ts
4
4
  var n = class extends t {
5
5
  isAttached = !1;
6
6
  get(e) {
@@ -1,5 +1,5 @@
1
1
  import { CustomJSONParse as e } from "../../functions/utils/serialize.utils.mjs";
2
- //#region libs/shared/common/src/data-structures/cacheDevices/BaseCacheDevice.ts
2
+ //#region common/src/data-structures/cacheDevices/BaseCacheDevice.ts
3
3
  var t = class {
4
4
  inMemoryCache = /* @__PURE__ */ new Map();
5
5
  constructor(e) {
@@ -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(`../../../../sdk-react-native/shims/fs.cjs`),n=require(`./BaseCacheDevice.cjs`),r=require(`../../error-handling/logError.cjs`);var i=class extends n.BaseCacheDevice{filePath;useFileCache;constructor(e,t){super(),this.useFileCache=!!e,this.filePath=t,this.readFileFromDevice()}readFileFromDevice(){if(this.useFileCache&&this.filePath)try{let e=t.default;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){r.logError(`FileCacheDevice Constructor Error`,{err:e})}}get(e){return this.getInMemory(e)}set(n,i){if(this.readFileFromDevice(),this.setInMemory(n,i),this.useFileCache&&this.filePath)try{t.default.writeFileSync(this.filePath,e.safeJsonStringify(Object.fromEntries(this.inMemoryCache)))}catch(e){r.logError(`FileCacheDevice set function`,{err:e})}}serialize(){return Object.fromEntries([...this.inMemoryCache].map(([t,n])=>[t,e.CustomJSONStringify(n)]))}};exports.FileCacheDevice=i;
@@ -1,8 +1,8 @@
1
- import { __require as e } from "../../../../_virtual/_rolldown/runtime.mjs";
2
- import { CustomJSONStringify as t, safeJsonStringify as n } from "../../functions/utils/serialize.utils.mjs";
1
+ import { CustomJSONStringify as e, safeJsonStringify as t } from "../../functions/utils/serialize.utils.mjs";
2
+ import { require_fs as n } from "../../../../sdk-react-native/shims/fs.mjs";
3
3
  import { BaseCacheDevice as r } from "./BaseCacheDevice.mjs";
4
4
  import { logError as i } from "../../error-handling/logError.mjs";
5
- //#region libs/shared/common/src/data-structures/cacheDevices/FileCacheDevice.ts
5
+ //#region common/src/data-structures/cacheDevices/FileCacheDevice.ts
6
6
  var a = class extends r {
7
7
  filePath;
8
8
  useFileCache;
@@ -11,10 +11,10 @@ var a = class extends r {
11
11
  }
12
12
  readFileFromDevice() {
13
13
  if (this.useFileCache && this.filePath) try {
14
- let t = e("fs");
15
- if (t.existsSync(this.filePath)) {
16
- let e = JSON.parse(t.readFileSync(this.filePath).toString());
17
- Object.entries(e).forEach(([e, t]) => {
14
+ let e = n();
15
+ if (e.existsSync(this.filePath)) {
16
+ let t = JSON.parse(e.readFileSync(this.filePath).toString());
17
+ Object.entries(t).forEach(([e, t]) => {
18
18
  this.setInMemory(e, t);
19
19
  });
20
20
  }
@@ -25,15 +25,15 @@ var a = class extends r {
25
25
  get(e) {
26
26
  return this.getInMemory(e);
27
27
  }
28
- set(t, r) {
29
- if (this.readFileFromDevice(), this.setInMemory(t, r), this.useFileCache && this.filePath) try {
30
- e("fs").writeFileSync(this.filePath, n(Object.fromEntries(this.inMemoryCache)));
28
+ set(e, r) {
29
+ if (this.readFileFromDevice(), this.setInMemory(e, r), this.useFileCache && this.filePath) try {
30
+ n().writeFileSync(this.filePath, t(Object.fromEntries(this.inMemoryCache)));
31
31
  } catch (e) {
32
32
  i("FileCacheDevice set function", { err: e });
33
33
  }
34
34
  }
35
35
  serialize() {
36
- return Object.fromEntries([...this.inMemoryCache].map(([e, n]) => [e, t(n)]));
36
+ return Object.fromEntries([...this.inMemoryCache].map(([t, n]) => [t, e(n)]));
37
37
  }
38
38
  };
39
39
  //#endregion
@@ -1,6 +1,6 @@
1
1
  import { CustomJSONStringify as e } from "../../functions/utils/serialize.utils.mjs";
2
2
  import { BaseCacheDevice as t } from "./BaseCacheDevice.mjs";
3
- //#region libs/shared/common/src/data-structures/cacheDevices/LocalStorageCacheDevice.ts
3
+ //#region common/src/data-structures/cacheDevices/LocalStorageCacheDevice.ts
4
4
  var n = class extends t {
5
5
  localDataStorage;
6
6
  constructor(e, t) {
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../crypto/poseidon.cjs`);require(`./keys.cjs`);const n=require(`../utxo/Utxo.cjs`),r=require(`../../functions/utils/bit.operations.cjs`);let i=require(`ethers`),a=require(`@solana/web3.js`);var o=`solana-on-chain-utxo:`,s=8,c=e=>{if(e.length!==s)throw Error(`Expected ${s} on-chain fields, received ${e.length}`);let t=e.map((e,t)=>{let n=e instanceof Uint8Array?e:Uint8Array.from(e);if(n.length!==32)throw Error(`Expected bytes32 length 32 at position ${t}, got ${n.length}`);return`0x${Buffer.from(n).toString(`hex`)}`});return`${o}${i.ethers.AbiCoder.defaultAbiCoder().encode([`bytes32[8]`],[t])}`},l=e=>e.startsWith(o),u=e=>{if(!l(e))throw Error(`Invalid encoded Solana UTXO payload`);let[n]=i.ethers.AbiCoder.defaultAbiCoder().decode([`bytes32[8]`],e.slice(21)),o=n;if(!Array.isArray(o)||o.length!==s)throw Error(`Malformed encoded Solana UTXO payload`);let[c,u,d,f,p,m,h,g]=o,_=BigInt(c),v=BigInt(f),y=r.extractHighestBit(v)===1n,b=r.takeOffHighestBit(v),x=i.ethers.toBeHex(BigInt(p)),S=BigInt(m),C=BigInt(h),w=BigInt(g).toString(),T=Array.from(i.ethers.getBytes(u)),E=Array.from(i.ethers.getBytes(d)),D=new a.PublicKey(Uint8Array.from([...T.slice(16),...E.slice(16)])).toBase58();return{amount:_,erc20TokenAddress:t.poseidonHash(BigInt(u),BigInt(d)),mintAddress:D,randomization:b,stealthAddress:x,H0:S,H1:C,timeStamp:w,isNewStyle:y}},d=e=>{let t=i.ethers.AbiCoder.defaultAbiCoder().decode([`uint256`,`address`,`tuple(uint256, uint256, uint256, uint256)`,`uint256`,`uint256`],e),n=BigInt(t[0]),a=t[1],o=BigInt(t[2][0]),s=r.extractHighestBit(o),c=r.takeOffHighestBit(o),l=i.ethers.toBeHex(BigInt(t[2][1])),u=BigInt(t[2][2]),d=BigInt(t[2][3]),f=BigInt(t[3]).toString(),p=Number(t[4]);return{amount:n,erc20TokenAddress:a,randomization:c,isNewStyle:s===1n,stealthAddress:l,H0:u,H1:d,timeStamp:f,tokenId:p}},f=(t,n,r)=>{if(e.isSolanaLike(r)){let{amount:e,erc20TokenAddress:r,mintAddress:i,randomization:a,stealthAddress:o,timeStamp:s,isNewStyle:c,H0:l}=u(t);return{amount:e,erc20TokenAddress:r,mintAddress:i,timeStamp:s,nullifyingKey:n,stealthAddress:o,isNewStyle:c,...c?{H0:[a,l]}:{randomization:a}}}let{amount:i,erc20TokenAddress:a,timeStamp:o,randomization:s,isNewStyle:c,stealthAddress:l,H0:f}=d(t);return{amount:i,erc20TokenAddress:a,timeStamp:o,nullifyingKey:n,stealthAddress:l,isNewStyle:c,...c?{H0:[s,f]}:{randomization:s}}},p=(e,t,r)=>new n.Utxo(f(e,t,r));exports.decodeEvmUtxo=d,exports.decodeSolanaUtxo=u,exports.decodeUtxo=p,exports.decodeUtxoConstructorArgs=f,exports.encodeSolanaOnChainUtxo=c,exports.isSolanaOnChainUtxo=l;
1
+ require(`../../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../crypto/poseidon.cjs`);require(`./keys.cjs`);const n=require(`../utxo/Utxo.cjs`),r=require(`../../functions/utils/bit.operations.cjs`);let i=require(`ethers`),a=require(`@solana/web3.js`);var o=`solana-on-chain-utxo:`,s=8,c=e=>{if(e.length!==s)throw Error(`Expected ${s} on-chain fields, received ${e.length}`);let t=e.map((e,t)=>{let n=e instanceof Uint8Array?e:Uint8Array.from(e);if(n.length!==32)throw Error(`Expected bytes32 length 32 at position ${t}, got ${n.length}`);return`0x${Buffer.from(n).toString(`hex`)}`});return`${o}${i.ethers.AbiCoder.defaultAbiCoder().encode([`bytes32[8]`],[t])}`},l=e=>e.startsWith(o),u=e=>{if(!l(e))throw Error(`Invalid encoded Solana UTXO payload`);let[n]=i.ethers.AbiCoder.defaultAbiCoder().decode([`bytes32[8]`],e.slice(21)),o=n;if(!Array.isArray(o)||o.length!==s)throw Error(`Malformed encoded Solana UTXO payload`);let[c,u,d,f,p,m,h,g]=o,_=BigInt(c),v=BigInt(f),y=r.extractHighestBit(v)===1n,b=r.takeOffHighestBit(v),x=i.ethers.toBeHex(BigInt(p)),S=BigInt(m),C=BigInt(h),w=BigInt(g).toString(),T=Array.from(i.ethers.getBytes(u)),E=Array.from(i.ethers.getBytes(d)),D=new a.PublicKey(Uint8Array.from([...T.slice(16),...E.slice(16)])).toBase58();return{amount:_,erc20TokenAddress:t.poseidonHash(BigInt(u),BigInt(d)),mintAddress:D,randomization:b,stealthAddress:x,H0:S,H1:C,timeStamp:w,isNewStyle:y}},d=e=>{let t=i.ethers.AbiCoder.defaultAbiCoder().decode([`uint256`,`address`,`tuple(uint256, uint256, uint256, uint256)`,`uint256`,`uint256`],e),n=BigInt(t[0]),a=t[1],o=BigInt(t[2][0]),s=r.extractHighestBit(o),c=r.takeOffHighestBit(o),l=i.ethers.toBeHex(BigInt(t[2][1])),u=BigInt(t[2][2]),d=BigInt(t[2][3]),f=BigInt(t[3]).toString(),p=Number(t[4]);return{amount:n,erc20TokenAddress:a,randomization:c,isNewStyle:s===1n,stealthAddress:l,H0:u,H1:d,timeStamp:f,tokenId:p}},f=(t,n,r)=>{if(e.isSolanaLike(r)){let{amount:e,erc20TokenAddress:r,mintAddress:i,randomization:a,stealthAddress:o,timeStamp:s,isNewStyle:c,H0:l}=u(t);return{amount:e,erc20TokenAddress:r,mintAddress:i,timeStamp:s,nullifyingKey:n,stealthAddress:o,isNewStyle:c,...c?{H0:[a,l]}:{randomization:a}}}let{amount:i,erc20TokenAddress:a,timeStamp:o,randomization:s,isNewStyle:c,stealthAddress:l,H0:f}=d(t);return{amount:i,erc20TokenAddress:a,timeStamp:o,nullifyingKey:n,stealthAddress:l,isNewStyle:c,...c?{H0:[s,f]}:{randomization:s}}},p=(e,t,r)=>new n.Utxo(f(e,t,r));exports.decodeEvmUtxo=d,exports.decodeSolanaUtxo=u,exports.decodeUtxo=p,exports.decodeUtxoConstructorArgs=f,exports.encodeSolanaOnChainUtxo=c,exports.isSolanaOnChainUtxo=l;
@@ -5,7 +5,7 @@ import { Utxo as n } from "../utxo/Utxo.mjs";
5
5
  import { extractHighestBit as r, takeOffHighestBit as i } from "../../functions/utils/bit.operations.mjs";
6
6
  import { ethers as a } from "ethers";
7
7
  import { PublicKey as o } from "@solana/web3.js";
8
- //#region libs/shared/common/src/data-structures/crypto-keys/decodeUTXO.ts
8
+ //#region common/src/data-structures/crypto-keys/decodeUTXO.ts
9
9
  var s = "solana-on-chain-utxo:", c = 8, l = (e) => {
10
10
  if (e.length !== c) throw Error(`Expected ${c} on-chain fields, received ${e.length}`);
11
11
  let t = e.map((e, t) => {
@@ -1 +1 @@
1
- require(`../../../../_virtual/_rolldown/runtime.cjs`),require(`./keys.cjs`),require(`../utxo/Utxo.cjs`);const e=require(`../../crypto/ecdh-sealed-keys.cjs`);require(`../../crypto/ecdh.cjs`);let t=require(`ethers`),n=require(`@solana/web3.js`);var r=e=>e.startsWith(`0x`)?e:`0x${e}`,i=54912,a=e=>Uint8Array.from([Math.floor(e/256),e%256]),o=o=>{let s=[Buffer.from(t.ethers.toBeHex(o.amount)),Buffer.from(r(o.erc20TokenAddress)),Buffer.from(t.ethers.toBeHex(o.randomization??0n)),Buffer.from(r(o.getStealthAddress())),Buffer.from(t.ethers.toBeHex(BigInt(o.timeStamp))),Buffer.from(t.ethers.toBeHex(o.isNewStyle?1n:0n)),Buffer.from(t.ethers.toBeHex(o.H0?.[0]??0n)),Buffer.from(t.ethers.toBeHex(o.H0?.[1]??0n))];if(o.mintAddress){let e=new n.PublicKey(o.mintAddress),r=t.ethers.hexlify(e.toBytes());s.push(Buffer.from(r))}let c=e.encryptSealedKeys(Buffer.concat(s),[o.getEncryptionKey()]);return Buffer.concat([Buffer.from(a(i)),Buffer.from(c)])};exports.encryptUtxo=o;
1
+ require(`../../../../../../_virtual/_rolldown/runtime.cjs`),require(`./keys.cjs`),require(`../utxo/Utxo.cjs`);const e=require(`../../crypto/ecdh-sealed-keys.cjs`);require(`../../crypto/ecdh.cjs`);let t=require(`ethers`),n=require(`@solana/web3.js`);var r=e=>e.startsWith(`0x`)?e:`0x${e}`,i=54912,a=e=>Uint8Array.from([Math.floor(e/256),e%256]),o=o=>{let s=[Buffer.from(t.ethers.toBeHex(o.amount)),Buffer.from(r(o.erc20TokenAddress)),Buffer.from(t.ethers.toBeHex(o.randomization??0n)),Buffer.from(r(o.getStealthAddress())),Buffer.from(t.ethers.toBeHex(BigInt(o.timeStamp))),Buffer.from(t.ethers.toBeHex(o.isNewStyle?1n:0n)),Buffer.from(t.ethers.toBeHex(o.H0?.[0]??0n)),Buffer.from(t.ethers.toBeHex(o.H0?.[1]??0n))];if(o.mintAddress){let e=new n.PublicKey(o.mintAddress),r=t.ethers.hexlify(e.toBytes());s.push(Buffer.from(r))}let c=e.encryptSealedKeys(Buffer.concat(s),[o.getEncryptionKey()]);return Buffer.concat([Buffer.from(a(i)),Buffer.from(c)])};exports.encryptUtxo=o;
@@ -4,7 +4,7 @@ import { encryptSealedKeys as e } from "../../crypto/ecdh-sealed-keys.mjs";
4
4
  import "../../crypto/ecdh.mjs";
5
5
  import { ethers as t } from "ethers";
6
6
  import { PublicKey as n } from "@solana/web3.js";
7
- //#region libs/shared/common/src/data-structures/crypto-keys/encryptDecryptUtxo.ts
7
+ //#region common/src/data-structures/crypto-keys/encryptDecryptUtxo.ts
8
8
  var r = (e) => e.startsWith("0x") ? e : `0x${e}`, i = 54912, a = (e) => Uint8Array.from([Math.floor(e / 256), e % 256]), o = (o) => {
9
9
  let s = [
10
10
  Buffer.from(t.toBeHex(o.amount)),
@@ -1,5 +1,5 @@
1
1
  import { CIRCOM_P_HALF as e } from "../../constants/protocol.constants.mjs";
2
- //#region libs/shared/common/src/data-structures/crypto-keys/keyUtils.ts
2
+ //#region common/src/data-structures/crypto-keys/keyUtils.ts
3
3
  var t = (t) => {
4
4
  if (t < 0n || t >= 21888242871839275222246405745257275088548364400416034343698204186575808495617n) throw RangeError();
5
5
  return t > e;
@@ -1 +1 @@
1
- const e=require(`../../../../_virtual/_rolldown/runtime.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../crypto/poseidon.cjs`),r=require(`../../crypto/babyJub.cjs`),i=require(`../../crypto/eddsa.cjs`),a=require(`../cacheDevices/AttachableMemoryCacheDevice.cjs`),o=require(`./keyUtils.cjs`);let s=require(`ethers`),c=require(`@solana/web3.js`),l=require(`bs58`);l=e.__toESM(l);let u=require(`libsodium-wrappers`);u=e.__toESM(u);let d=require(`tweetnacl`);d=e.__toESM(d);let f=require(`tronweb`);var p=new a.AttachableMemoryCacheDevice,m=new a.AttachableMemoryCacheDevice,h=new a.AttachableMemoryCacheDevice,g=class{signature;nullifyingKey;PREFIX_FOR_SPENDING_PAIR=`1`;PREFIX_FOR_NULLIFYING_PAIR=`2`;constructor(e,t){this.signature=e,this.nullifyingKey=t}getSignature(){return this.requireSignature(),this.signature}setSignature(e){this.signature=e}requireSignature(){if(!this.signature)throw Error(`No signature provided`)}requireKeyMaterial(){if(!this.signature&&!this.nullifyingKey)throw Error(`No signature or private key provided`)}verifyTronMessage(e,t){return this.requireSignature(),t===f.Trx.verifyMessageV2(e,this.signature)}getShieldedPrivateKey=()=>(this.requireKeyMaterial(),this.nullifyingKey||=s.ethers.keccak256(this.signature),this.nullifyingKey);getShieldedPublicKey=()=>(this.requireKeyMaterial(),n.poseidonHash(this.getShieldedPrivateKey()));getSpendingKeyPair=()=>{this.requireSignature();let e=i.eddsaInstance(),t=r.babyJubInstance(),a=n.poseidonHash(this.PREFIX_FOR_SPENDING_PAIR,this.getSignature()),o=Buffer.from(s.ethers.getBytes(a)),c=e.prv2pub(o);return{privSpendingKey:a,pubSpendingBJJPoint:[BigInt(t.F.toString(c[0])),BigInt(t.F.toString(c[1]))]}};signEddsa=e=>{this.requireSignature();let t=r.babyJubInstance(),n=i.eddsaInstance(),a=Buffer.from(s.ethers.getBytes(this.getSpendingKeyPair().privSpendingKey)),o=t.F.e(e),c=n.signPoseidon(a,o);return{R8:[BigInt(t.F.toString(c.R8[0])),BigInt(t.F.toString(c.R8[1]))],S:BigInt(c.S)}};getShieldedPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=n.poseidonHash(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return s.ethers.keccak256(s.ethers.toUtf8Bytes(`hinkal-offchain-shielded-key:${t}`))};getClaimableSignatureFromNonce=e=>{this.requireKeyMaterial();let t=n.poseidonHash(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return s.ethers.keccak256(s.ethers.toUtf8Bytes(`hinkal-claimable-utxo-signature:${t}`))};getDerivedEthereumAddress=()=>(this.requireKeyMaterial(),new s.ethers.Wallet(this.getShieldedPrivateKey()).address);getDerivedSolanaPublicKey=()=>(this.requireKeyMaterial(),c.Keypair.fromSeed(s.ethers.getBytes(this.getShieldedPrivateKey())).publicKey.toBase58());getNearIntentsAccountId=()=>{this.requireKeyMaterial();let e=c.Keypair.fromSeed(s.ethers.getBytes(this.getShieldedPrivateKey()));return s.ethers.hexlify(e.publicKey.toBytes()).slice(2)};getNearIntentsKeyPairString=()=>{this.requireKeyMaterial();let e=c.Keypair.fromSeed(s.ethers.getBytes(this.getShieldedPrivateKey()));return`ed25519:${l.default.encode(e.secretKey)}`};getSignerPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=n.poseidonHash(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return s.ethers.keccak256(s.ethers.toUtf8Bytes(t))};getSignerSolanaPrivateKeyFromNonce=e=>{let t=this.getSignerPrivateKeyFromNonce(e),n=s.ethers.getBytes(t),r=c.Keypair.fromSeed(n);return l.default.encode(r.secretKey)};verifyMessage(e){return this.requireSignature(),s.ethers.verifyMessage(e,this.signature)}verifySolanaMessage(e,t){this.requireSignature();let n=new TextEncoder().encode(e),r=s.ethers.getBytes(this.signature),i=new c.PublicKey(t).toBytes();return d.default.sign.detached.verify(n,r,i)}static getRandomizedStealthPairOld=m.attach((e,n)=>{let i=r.babyJubInstance(),a=e*(BigInt(n)%t.CIRCOM_P)%t.CIRCOM_P,o=i.mulPointEscalar(i.Base8,e),s=i.mulPointEscalar(i.Base8,a);return{H0:[BigInt(i.F.toString(o[0])),BigInt(i.F.toString(o[1]))],H1:[BigInt(i.F.toString(s[0])),BigInt(i.F.toString(s[1]))]}});static getRandomizedStealthPair=p.attach((e,n)=>{let i=r.babyJubInstance(),a=BigInt(n)%t.CIRCOM_P,o=i.mulPointEscalar(i.Base8,e),s=i.mulPointEscalar(o,a);return{H0:[BigInt(i.F.toString(o[0])),BigInt(i.F.toString(o[1]))],H1:[BigInt(i.F.toString(s[0])),BigInt(i.F.toString(s[1]))]}});static getStealthAddressCompressedPoints=(e,t)=>{let{H0:n,H1:r}=this.getRandomizedStealthPairOld(e,t),[i,a]=[n,r].map(e=>BigInt(e[1])+2n**255n*o.getCircomSign(e[0]));return{h0:i,h1:a}};static checkSignature=(e,t,n,r)=>{let{h0:i,h1:a}=this.getStealthAddressCompressedPoints(e,r);return t===i&&n===a};static getStealthAddress=h.attach((e,t)=>{let{H0:r,H1:i}=this.getRandomizedStealthPairOld(e,t);return n.poseidonHash(2n*o.getCircomSign(r[0])+o.getCircomSign(i[0]),r[1],i[1])});static getH1FromH0=(e,n)=>{let i=r.babyJubInstance(),a=BigInt(n)%t.CIRCOM_P,o=[i.F.e(e[0]),i.F.e(e[1])],s=i.mulPointEscalar(o,a);return[BigInt(i.F.toString(s[0])),BigInt(i.F.toString(s[1]))]};static verifyStealthPair=(e,t,n,r=!0)=>{let i=this.getH1FromH0(e,n);return r?i[1]===t[1]:i===t};static getStealthAddressNewStyle=(e,t,r)=>{if(r?.length!==2)throw Error(`Spending public key must be an array of 2 elements`);let i=this.getH1FromH0(e,t);return n.poseidonHash(2n*o.getCircomSign(e[0])+o.getCircomSign(i[0]),e[1],i[1],r[0],r[1],t)};static findCorrectRandomization(e,n){if(!n)throw Error(`No Private Shielded Key Provided`);let r=BigInt(n)%t.CIRCOM_P,i,a,o=0n;do i=e*10n**o%t.CIRCOM_P,a=i*r%t.CIRCOM_P,o+=1n;while(a>=2n**253n||i>=2n**253n);return i}static getH0FromRandomization=e=>{let t=r.babyJubInstance(),n=t.mulPointEscalar(t.Base8,e);return[BigInt(t.F.toString(n[0])),BigInt(t.F.toString(n[1]))]};static findH0(e,t){if(!t)return;let{H0:n}=this.getRandomizedStealthPair(e,t);return n}static getEncryptionKeyPair=e=>{let t=u.default.crypto_box_seed_keypair(s.ethers.getBytes(e));return{privateKey:s.ethers.hexlify(t.privateKey),publicKey:s.ethers.hexlify(t.publicKey)}};getAccessKey=()=>(this.requireKeyMaterial(),n.poseidonHash(this.getShieldedPrivateKey(),this.getShieldedPublicKey()));getBackendToken=()=>(this.requireKeyMaterial(),n.poseidonHash(this.getAccessKey(),this.getShieldedPublicKey()))};exports.UserKeys=g,exports.stealthAddressCacheDevice=h,exports.stealthPairCacheDevice=p,exports.stealthPairOldCacheDevice=m;
1
+ const e=require(`../../../../../../_virtual/_rolldown/runtime.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../crypto/poseidon.cjs`),r=require(`../../crypto/babyJub.cjs`),i=require(`../../crypto/eddsa.cjs`),a=require(`../cacheDevices/AttachableMemoryCacheDevice.cjs`),o=require(`./keyUtils.cjs`);let s=require(`ethers`),c=require(`@solana/web3.js`),l=require(`bs58`);l=e.__toESM(l);let u=require(`libsodium-wrappers`);u=e.__toESM(u);let d=require(`tweetnacl`);d=e.__toESM(d);let f=require(`tronweb`);var p=new a.AttachableMemoryCacheDevice,m=new a.AttachableMemoryCacheDevice,h=new a.AttachableMemoryCacheDevice,g=class{signature;nullifyingKey;PREFIX_FOR_SPENDING_PAIR=`1`;PREFIX_FOR_NULLIFYING_PAIR=`2`;constructor(e,t){this.signature=e,this.nullifyingKey=t}getSignature(){return this.requireSignature(),this.signature}setSignature(e){this.signature=e}requireSignature(){if(!this.signature)throw Error(`No signature provided`)}requireKeyMaterial(){if(!this.signature&&!this.nullifyingKey)throw Error(`No signature or private key provided`)}verifyTronMessage(e,t){return this.requireSignature(),t===f.Trx.verifyMessageV2(e,this.signature)}getShieldedPrivateKey=()=>(this.requireKeyMaterial(),this.nullifyingKey||=s.ethers.keccak256(this.signature),this.nullifyingKey);getShieldedPublicKey=()=>(this.requireKeyMaterial(),n.poseidonHash(this.getShieldedPrivateKey()));getSpendingKeyPair=()=>{this.requireSignature();let e=i.eddsaInstance(),t=r.babyJubInstance(),a=n.poseidonHash(this.PREFIX_FOR_SPENDING_PAIR,this.getSignature()),o=Buffer.from(s.ethers.getBytes(a)),c=e.prv2pub(o);return{privSpendingKey:a,pubSpendingBJJPoint:[BigInt(t.F.toString(c[0])),BigInt(t.F.toString(c[1]))]}};signEddsa=e=>{this.requireSignature();let t=r.babyJubInstance(),n=i.eddsaInstance(),a=Buffer.from(s.ethers.getBytes(this.getSpendingKeyPair().privSpendingKey)),o=t.F.e(e),c=n.signPoseidon(a,o);return{R8:[BigInt(t.F.toString(c.R8[0])),BigInt(t.F.toString(c.R8[1]))],S:BigInt(c.S)}};getShieldedPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=n.poseidonHash(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return s.ethers.keccak256(s.ethers.toUtf8Bytes(`hinkal-offchain-shielded-key:${t}`))};getClaimableSignatureFromNonce=e=>{this.requireKeyMaterial();let t=n.poseidonHash(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return s.ethers.keccak256(s.ethers.toUtf8Bytes(`hinkal-claimable-utxo-signature:${t}`))};getDerivedEthereumAddress=()=>(this.requireKeyMaterial(),new s.ethers.Wallet(this.getShieldedPrivateKey()).address);getDerivedSolanaPublicKey=()=>(this.requireKeyMaterial(),c.Keypair.fromSeed(s.ethers.getBytes(this.getShieldedPrivateKey())).publicKey.toBase58());getNearIntentsAccountId=()=>{this.requireKeyMaterial();let e=c.Keypair.fromSeed(s.ethers.getBytes(this.getShieldedPrivateKey()));return s.ethers.hexlify(e.publicKey.toBytes()).slice(2)};getNearIntentsKeyPairString=()=>{this.requireKeyMaterial();let e=c.Keypair.fromSeed(s.ethers.getBytes(this.getShieldedPrivateKey()));return`ed25519:${l.default.encode(e.secretKey)}`};getSignerPrivateKeyFromNonce=e=>{this.requireKeyMaterial();let t=n.poseidonHash(e,this.getShieldedPrivateKey(),this.getShieldedPublicKey());return s.ethers.keccak256(s.ethers.toUtf8Bytes(t))};getSignerSolanaPrivateKeyFromNonce=e=>{let t=this.getSignerPrivateKeyFromNonce(e),n=s.ethers.getBytes(t),r=c.Keypair.fromSeed(n);return l.default.encode(r.secretKey)};verifyMessage(e){return this.requireSignature(),s.ethers.verifyMessage(e,this.signature)}verifySolanaMessage(e,t){this.requireSignature();let n=new TextEncoder().encode(e),r=s.ethers.getBytes(this.signature),i=new c.PublicKey(t).toBytes();return d.default.sign.detached.verify(n,r,i)}static getRandomizedStealthPairOld=m.attach((e,n)=>{let i=r.babyJubInstance(),a=e*(BigInt(n)%t.CIRCOM_P)%t.CIRCOM_P,o=i.mulPointEscalar(i.Base8,e),s=i.mulPointEscalar(i.Base8,a);return{H0:[BigInt(i.F.toString(o[0])),BigInt(i.F.toString(o[1]))],H1:[BigInt(i.F.toString(s[0])),BigInt(i.F.toString(s[1]))]}});static getRandomizedStealthPair=p.attach((e,n)=>{let i=r.babyJubInstance(),a=BigInt(n)%t.CIRCOM_P,o=i.mulPointEscalar(i.Base8,e),s=i.mulPointEscalar(o,a);return{H0:[BigInt(i.F.toString(o[0])),BigInt(i.F.toString(o[1]))],H1:[BigInt(i.F.toString(s[0])),BigInt(i.F.toString(s[1]))]}});static getStealthAddressCompressedPoints=(e,t)=>{let{H0:n,H1:r}=this.getRandomizedStealthPairOld(e,t),[i,a]=[n,r].map(e=>BigInt(e[1])+2n**255n*o.getCircomSign(e[0]));return{h0:i,h1:a}};static checkSignature=(e,t,n,r)=>{let{h0:i,h1:a}=this.getStealthAddressCompressedPoints(e,r);return t===i&&n===a};static getStealthAddress=h.attach((e,t)=>{let{H0:r,H1:i}=this.getRandomizedStealthPairOld(e,t);return n.poseidonHash(2n*o.getCircomSign(r[0])+o.getCircomSign(i[0]),r[1],i[1])});static getH1FromH0=(e,n)=>{let i=r.babyJubInstance(),a=BigInt(n)%t.CIRCOM_P,o=[i.F.e(e[0]),i.F.e(e[1])],s=i.mulPointEscalar(o,a);return[BigInt(i.F.toString(s[0])),BigInt(i.F.toString(s[1]))]};static verifyStealthPair=(e,t,n,r=!0)=>{let i=this.getH1FromH0(e,n);return r?i[1]===t[1]:i===t};static getStealthAddressNewStyle=(e,t,r)=>{if(r?.length!==2)throw Error(`Spending public key must be an array of 2 elements`);let i=this.getH1FromH0(e,t);return n.poseidonHash(2n*o.getCircomSign(e[0])+o.getCircomSign(i[0]),e[1],i[1],r[0],r[1],t)};static findCorrectRandomization(e,n){if(!n)throw Error(`No Private Shielded Key Provided`);let r=BigInt(n)%t.CIRCOM_P,i,a,o=0n;do i=e*10n**o%t.CIRCOM_P,a=i*r%t.CIRCOM_P,o+=1n;while(a>=2n**253n||i>=2n**253n);return i}static getH0FromRandomization=e=>{let t=r.babyJubInstance(),n=t.mulPointEscalar(t.Base8,e);return[BigInt(t.F.toString(n[0])),BigInt(t.F.toString(n[1]))]};static findH0(e,t){if(!t)return;let{H0:n}=this.getRandomizedStealthPair(e,t);return n}static getEncryptionKeyPair=e=>{let t=u.default.crypto_box_seed_keypair(s.ethers.getBytes(e));return{privateKey:s.ethers.hexlify(t.privateKey),publicKey:s.ethers.hexlify(t.publicKey)}};getAccessKey=()=>(this.requireKeyMaterial(),n.poseidonHash(this.getShieldedPrivateKey(),this.getShieldedPublicKey()));getBackendToken=()=>(this.requireKeyMaterial(),n.poseidonHash(this.getAccessKey(),this.getShieldedPublicKey()))};exports.UserKeys=g,exports.stealthAddressCacheDevice=h,exports.stealthPairCacheDevice=p,exports.stealthPairOldCacheDevice=m;
@@ -10,7 +10,7 @@ import l from "bs58";
10
10
  import u from "libsodium-wrappers";
11
11
  import d from "tweetnacl";
12
12
  import { Trx as f } from "tronweb";
13
- //#region libs/shared/common/src/data-structures/crypto-keys/keys.ts
13
+ //#region common/src/data-structures/crypto-keys/keys.ts
14
14
  var p = new i(), m = new i(), h = new i(), g = class {
15
15
  signature;
16
16
  nullifyingKey;
@@ -5,7 +5,7 @@ import { MerkleTree as n } from "../../merkle-tree/MerkleTree.mjs";
5
5
  import "../../merkle-tree/index.mjs";
6
6
  import { AbstractSnapshotService as r } from "./AbstractSnapshotService.mjs";
7
7
  import { contructMerkleTreeFromSerialized as i } from "../../../functions/utils/merkleTree.utils.mjs";
8
- //#region libs/shared/common/src/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.ts
8
+ //#region common/src/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.ts
9
9
  var a = class extends r {
10
10
  constructor(e) {
11
11
  super(e, "NewCommitment");
@@ -1,5 +1,5 @@
1
1
  import { resolveSync as e } from "../../../functions/utils/resolve-sync.utils.mjs";
2
- //#region libs/shared/common/src/data-structures/event-service/evm/AbstractEventService.ts
2
+ //#region common/src/data-structures/event-service/evm/AbstractEventService.ts
3
3
  var t = class {
4
4
  blockchainEventEmitter;
5
5
  eventName;
@@ -1 +1 @@
1
- require(`../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./AbstractSnapshotService.cjs`);let t=require(`ethers`);var n=class extends e.AbstractSnapshotService{constructor(e){super(e,`Nullified`)}_nullifiers;get nullifiers(){return this._nullifiers}serializeSnapshot(e){return{nullifiers:Array.from(e.payload.nullifiers).map(e=>e.toString()),latestBlockNumber:e.latestBlockNumber}}deserializeSnapshot(e){return{latestBlockNumber:e.latestBlockNumber??0,payload:{nullifiers:new Set(e.nullifiers??[])}}}acceptEvent(e,t){try{return this._nullifiers.has(e.nullifier)?!1:(this._nullifiers.add(e.nullifier),!0)}catch(e){return console.error(e),!1}}mapEvent(e){let n=e.getArg(`nullifier`);return{nullifier:t.ethers.toBeHex(n)}}getSnapshotPayload(){return{nullifiers:this._nullifiers}}populateSnapshot({payload:{nullifiers:e}}){this._nullifiers=e}};exports.AbstractNullifierSnapshotService=n;
1
+ require(`../../../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`./AbstractSnapshotService.cjs`);let t=require(`ethers`);var n=class extends e.AbstractSnapshotService{constructor(e){super(e,`Nullified`)}_nullifiers;get nullifiers(){return this._nullifiers}serializeSnapshot(e){return{nullifiers:Array.from(e.payload.nullifiers).map(e=>e.toString()),latestBlockNumber:e.latestBlockNumber}}deserializeSnapshot(e){return{latestBlockNumber:e.latestBlockNumber??0,payload:{nullifiers:new Set(e.nullifiers??[])}}}acceptEvent(e,t){try{return this._nullifiers.has(e.nullifier)?!1:(this._nullifiers.add(e.nullifier),!0)}catch(e){return console.error(e),!1}}mapEvent(e){let n=e.getArg(`nullifier`);return{nullifier:t.ethers.toBeHex(n)}}getSnapshotPayload(){return{nullifiers:this._nullifiers}}populateSnapshot({payload:{nullifiers:e}}){this._nullifiers=e}};exports.AbstractNullifierSnapshotService=n;
@@ -1,6 +1,6 @@
1
1
  import { AbstractSnapshotService as e } from "./AbstractSnapshotService.mjs";
2
2
  import { ethers as t } from "ethers";
3
- //#region libs/shared/common/src/data-structures/event-service/evm/AbstractNullifierSnapshotService.ts
3
+ //#region common/src/data-structures/event-service/evm/AbstractNullifierSnapshotService.ts
4
4
  var n = class extends e {
5
5
  constructor(e) {
6
6
  super(e, "Nullified");