@hinkal/common 0.2.21 → 0.2.23
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.
- package/API/API.cjs +1 -1
- package/API/API.d.ts +14 -14
- package/API/API.mjs +88 -87
- package/API/admin-calls.cjs +1 -1
- package/API/admin-calls.d.ts +1 -1
- package/API/admin-calls.mjs +4 -4
- package/API/ai-calls.cjs +1 -0
- package/API/ai-calls.d.ts +17 -0
- package/API/ai-calls.mjs +21 -0
- package/API/callLifiAPI.cjs +1 -1
- package/API/callLifiAPI.d.ts +1 -1
- package/API/callLifiAPI.mjs +5 -5
- package/API/callMonitor.cjs +1 -1
- package/API/callMonitor.d.ts +1 -1
- package/API/callMonitor.mjs +7 -7
- package/API/callOdosAPI.cjs +1 -1
- package/API/callOdosAPI.mjs +11 -11
- package/API/callOkxAPI.cjs +1 -1
- package/API/callOkxAPI.d.ts +1 -1
- package/API/callOkxAPI.mjs +5 -5
- package/API/callOneInchAPI.cjs +1 -1
- package/API/callOneInchAPI.mjs +11 -10
- package/API/callRelayer.cjs +1 -1
- package/API/callRelayer.d.ts +5 -6
- package/API/callRelayer.mjs +11 -11
- package/API/checkRisk.cjs +1 -1
- package/API/checkRisk.d.ts +1 -1
- package/API/checkRisk.mjs +4 -4
- package/API/deposit-and-withdraw-status-calls.cjs +1 -0
- package/API/deposit-and-withdraw-status-calls.d.ts +20 -0
- package/API/deposit-and-withdraw-status-calls.mjs +18 -0
- package/API/duneAPI.cjs +1 -0
- package/API/duneAPI.d.ts +11 -0
- package/API/duneAPI.mjs +25 -0
- package/API/enclaveCalls.cjs +1 -1
- package/API/enclaveCalls.mjs +4 -5
- package/API/fetchCommitmentsCache.cjs +1 -1
- package/API/fetchCommitmentsCache.mjs +9 -9
- package/API/get-token-data.cjs +1 -1
- package/API/get-token-data.d.ts +1 -1
- package/API/get-token-data.mjs +5 -5
- package/API/getBridgeProtocols.cjs +1 -0
- package/API/getBridgeProtocols.d.ts +7 -0
- package/API/getBridgeProtocols.mjs +8 -0
- package/API/getGasEstimates.cjs +1 -1
- package/API/getGasEstimates.mjs +9 -9
- package/API/getLifiStatus.cjs +1 -0
- package/API/getLifiStatus.d.ts +24 -0
- package/API/getLifiStatus.mjs +15 -0
- package/API/getRelayerURL.cjs +1 -0
- package/API/getRelayerURL.d.ts +1 -0
- package/API/getRelayerURL.mjs +10 -0
- package/API/getServerURL.cjs +1 -1
- package/API/getServerURL.d.ts +3 -3
- package/API/getServerURL.mjs +67 -51
- package/API/getTokenPrice.cjs +1 -1
- package/API/getTokenPrice.d.ts +0 -5
- package/API/getTokenPrice.mjs +7 -14
- package/API/index.d.ts +3 -1
- package/API/is-tx-stateless.cjs +1 -1
- package/API/is-tx-stateless.d.ts +1 -1
- package/API/is-tx-stateless.mjs +12 -10
- package/API/kycCalls.cjs +1 -1
- package/API/kycCalls.d.ts +8 -4
- package/API/kycCalls.mjs +26 -23
- package/API/passwordCalls.cjs +1 -0
- package/API/passwordCalls.d.ts +9 -0
- package/API/passwordCalls.mjs +13 -0
- package/API/proxyAccountsCalls.cjs +1 -1
- package/API/proxyAccountsCalls.d.ts +2 -7
- package/API/proxyAccountsCalls.mjs +21 -27
- package/API/relayCalls.cjs +1 -1
- package/API/relayCalls.mjs +4 -4
- package/API/restoreSnapshots.cjs +1 -0
- package/API/restoreSnapshots.d.ts +1 -0
- package/API/restoreSnapshots.mjs +10 -0
- package/API/scheduled-transactions-calls.cjs +1 -1
- package/API/scheduled-transactions-calls.d.ts +9 -1
- package/API/scheduled-transactions-calls.mjs +9 -5
- package/API/simulate-batch-tx.cjs +1 -1
- package/API/simulate-batch-tx.d.ts +2 -2
- package/API/simulate-batch-tx.mjs +6 -7
- package/API/solana-calls.cjs +1 -1
- package/API/solana-calls.d.ts +3 -6
- package/API/solana-calls.mjs +15 -15
- package/API/temporaryWalletCalls.cjs +1 -1
- package/API/temporaryWalletCalls.mjs +19 -13
- package/API/token-calls.cjs +1 -1
- package/API/token-calls.mjs +5 -6
- package/README.md +64 -256
- package/constants/activity.constants.cjs +1 -1
- package/constants/activity.constants.mjs +0 -1
- package/constants/addresses.constants.cjs +1 -1
- package/constants/addresses.constants.mjs +9 -10
- package/constants/chains.constants.cjs +1 -1
- package/constants/chains.constants.d.ts +6 -0
- package/constants/chains.constants.mjs +52 -58
- package/constants/coingecko.constants.cjs +1 -1
- package/constants/coingecko.constants.d.ts +0 -1
- package/constants/coingecko.constants.mjs +10 -11
- package/constants/contracts.constants.cjs +1 -1
- package/constants/contracts.constants.d.ts +3 -3
- package/constants/contracts.constants.mjs +29 -29
- package/constants/deploy-data/deploy-data-solana.json.cjs +1 -1
- package/constants/deploy-data/deploy-data-solana.json.mjs +2 -28
- package/constants/function-signatures.constants.cjs +1 -1
- package/constants/function-signatures.constants.d.ts +1 -0
- package/constants/function-signatures.constants.mjs +4 -3
- package/constants/kyc.constants.cjs +1 -1
- package/constants/kyc.constants.mjs +40 -39
- package/constants/mediaUrls.constants.cjs +1 -1
- package/constants/mediaUrls.constants.d.ts +0 -1
- package/constants/mediaUrls.constants.mjs +1 -2
- package/constants/permit2.constants.cjs +1 -1
- package/constants/permit2.constants.d.ts +1 -0
- package/constants/permit2.constants.mjs +11 -10
- package/constants/server.constants.cjs +1 -1
- package/constants/server.constants.d.ts +123 -19
- package/constants/server.constants.mjs +138 -35
- package/constants/tasks.constants.cjs +1 -1
- package/constants/tasks.constants.mjs +4 -5
- package/constants/vite.constants.cjs +1 -1
- package/constants/vite.constants.mjs +13 -36
- package/crypto/poseidon.cjs +1 -1
- package/crypto/poseidon.mjs +10 -10
- package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.cjs +1 -1
- package/data-structures/ApprovalDBs/EventsPublicApprovalsDB.mjs +86 -83
- package/data-structures/Hinkal/Hinkal.cjs +1 -1
- package/data-structures/Hinkal/Hinkal.d.ts +56 -45
- package/data-structures/Hinkal/Hinkal.mjs +348 -315
- package/data-structures/Hinkal/IHinkal.d.ts +56 -42
- package/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
- package/data-structures/Hinkal/handleAutoDepositBack.d.ts +1 -1
- package/data-structures/Hinkal/handleAutoDepositBack.mjs +49 -48
- package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.cjs +1 -0
- package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.d.ts +7 -0
- package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.mjs +42 -0
- package/data-structures/Hinkal/hinkalActionReceive.cjs +1 -1
- package/data-structures/Hinkal/hinkalActionReceive.mjs +24 -29
- package/data-structures/Hinkal/hinkalApprove.cjs +1 -0
- package/data-structures/Hinkal/hinkalApprove.d.ts +3 -0
- package/data-structures/Hinkal/hinkalApprove.mjs +114 -0
- package/data-structures/Hinkal/hinkalCheckTokenRegistry.cjs +1 -1
- package/data-structures/Hinkal/hinkalCheckTokenRegistry.mjs +19 -20
- package/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
- package/data-structures/Hinkal/hinkalDeposit.mjs +84 -89
- package/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalDepositAndWithdraw.d.ts +1 -1
- package/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +96 -78
- package/data-structures/Hinkal/hinkalDepositOnChainUtxos.cjs +1 -1
- package/data-structures/Hinkal/hinkalDepositOnChainUtxos.d.ts +4 -1
- package/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +79 -75
- package/data-structures/Hinkal/hinkalDepostAndBridge.cjs +1 -1
- package/data-structures/Hinkal/hinkalDepostAndBridge.d.ts +1 -1
- package/data-structures/Hinkal/hinkalDepostAndBridge.mjs +151 -140
- package/data-structures/Hinkal/hinkalGetZkMeProvider.cjs +1 -1
- package/data-structures/Hinkal/hinkalGetZkMeProvider.mjs +5 -4
- package/data-structures/Hinkal/hinkalInsideTransact.cjs +1 -0
- package/data-structures/Hinkal/hinkalInsideTransact.d.ts +4 -0
- package/data-structures/Hinkal/hinkalInsideTransact.mjs +120 -0
- package/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
- package/data-structures/Hinkal/hinkalPrivateWallet.d.ts +2 -2
- package/data-structures/Hinkal/hinkalPrivateWallet.mjs +118 -115
- package/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
- package/data-structures/Hinkal/hinkalProoflessDeposit.mjs +29 -30
- package/data-structures/Hinkal/hinkalProxySwap.cjs +1 -1
- package/data-structures/Hinkal/hinkalProxySwap.mjs +36 -40
- package/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -1
- package/data-structures/Hinkal/hinkalProxyToPrivate.mjs +32 -37
- package/data-structures/Hinkal/hinkalSignSubAccount.cjs +1 -1
- package/data-structures/Hinkal/hinkalSignSubAccount.d.ts +2 -1
- package/data-structures/Hinkal/hinkalSignSubAccount.mjs +15 -17
- package/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaDeposit.d.ts +3 -4
- package/data-structures/Hinkal/hinkalSolanaDeposit.mjs +95 -84
- package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +1 -2
- package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +180 -154
- package/data-structures/Hinkal/hinkalSolanaProxySend.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaProxySend.d.ts +3 -2
- package/data-structures/Hinkal/hinkalSolanaProxySend.mjs +40 -43
- package/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +67 -71
- package/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaProxySwap.d.ts +1 -1
- package/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +59 -63
- package/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaSwap.mjs +46 -50
- package/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaTransfer.mjs +50 -52
- package/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaWithdraw.d.ts +1 -2
- package/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +65 -69
- package/data-structures/Hinkal/hinkalSwap.cjs +1 -1
- package/data-structures/Hinkal/hinkalSwap.mjs +77 -71
- package/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
- package/data-structures/Hinkal/hinkalTransfer.mjs +70 -72
- package/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalWithdraw.mjs +78 -81
- package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
- package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +103 -106
- package/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
- package/data-structures/Hinkal/resetMerkleTrees.d.ts +1 -1
- package/data-structures/Hinkal/resetMerkleTrees.mjs +54 -108
- package/data-structures/IndexedDB/activity-db.cjs +1 -1
- package/data-structures/IndexedDB/activity-db.d.ts +0 -1
- package/data-structures/IndexedDB/activity-db.mjs +79 -97
- package/data-structures/IndexedDB/balances-db.cjs +1 -1
- package/data-structures/IndexedDB/balances-db.mjs +39 -43
- package/data-structures/IndexedDB/contact-db.cjs +1 -1
- package/data-structures/IndexedDB/contact-db.mjs +31 -36
- package/data-structures/IndexedDB/signatures-db.cjs +1 -1
- package/data-structures/IndexedDB/signatures-db.mjs +40 -26
- package/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
- package/data-structures/TokenDBs/EventsPublicTokensDB.mjs +82 -82
- package/data-structures/TokenDBs/token-visibility-db.cjs +1 -1
- package/data-structures/TokenDBs/token-visibility-db.mjs +36 -22
- package/data-structures/crypto-keys/decodeUTXO.cjs +1 -1
- package/data-structures/crypto-keys/decodeUTXO.mjs +45 -45
- package/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -1
- package/data-structures/crypto-keys/encryptDecryptUtxo.mjs +28 -27
- package/data-structures/crypto-keys/keys.cjs +1 -1
- package/data-structures/crypto-keys/keys.d.ts +10 -0
- package/data-structures/crypto-keys/keys.mjs +106 -47
- package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.cjs +1 -1
- package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.d.ts +2 -3
- package/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.mjs +9 -9
- package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.cjs +1 -1
- package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.d.ts +2 -3
- package/data-structures/event-service/evm/AbstractApprovalsSnapshotService.mjs +5 -5
- package/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.cjs +1 -1
- package/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.d.ts +2 -3
- package/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.mjs +6 -6
- package/data-structures/event-service/evm/AbstractEventService.cjs +1 -1
- package/data-structures/event-service/evm/AbstractEventService.d.ts +2 -4
- package/data-structures/event-service/evm/AbstractEventService.mjs +13 -13
- package/data-structures/event-service/evm/AbstractNullifierSnapshotService.cjs +1 -1
- package/data-structures/event-service/evm/AbstractNullifierSnapshotService.d.ts +2 -3
- package/data-structures/event-service/evm/AbstractNullifierSnapshotService.mjs +3 -3
- package/data-structures/event-service/evm/AbstractSnapshotService.cjs +1 -1
- package/data-structures/event-service/evm/AbstractSnapshotService.d.ts +2 -1
- package/data-structures/event-service/evm/AbstractSnapshotService.mjs +6 -2
- package/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
- package/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +5 -10
- package/data-structures/event-service/evm/BlockchainEventEmitter.mjs +40 -40
- package/data-structures/event-service/index.d.ts +0 -4
- package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.cjs +1 -1
- package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.d.ts +2 -3
- package/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.mjs +6 -6
- package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.cjs +1 -1
- package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.d.ts +3 -4
- package/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.mjs +8 -8
- package/data-structures/event-service/solana/AbstractSolanaEventService.cjs +1 -1
- package/data-structures/event-service/solana/AbstractSolanaEventService.d.ts +10 -4
- package/data-structures/event-service/solana/AbstractSolanaEventService.mjs +7 -10
- package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.cjs +1 -1
- package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.d.ts +2 -3
- package/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.mjs +2 -2
- package/data-structures/event-service/solana/AbstractSolanaSnapshotService.cjs +1 -1
- package/data-structures/event-service/solana/AbstractSolanaSnapshotService.d.ts +2 -1
- package/data-structures/event-service/solana/AbstractSolanaSnapshotService.mjs +2 -1
- package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.cjs +1 -1
- package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.d.ts +16 -11
- package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.mjs +66 -64
- package/data-structures/index.d.ts +0 -3
- package/data-structures/presale/PresaleContractWrapper.cjs +1 -1
- package/data-structures/presale/PresaleContractWrapper.d.ts +3 -3
- package/data-structures/presale/PresaleContractWrapper.mjs +10 -10
- package/data-structures/provider-adapter/IProviderAdapter.d.ts +16 -11
- package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.cjs +1 -1
- package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.mjs +18 -18
- package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.cjs +1 -1
- package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.mjs +9 -9
- package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.cjs +1 -1
- package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.mjs +4 -6
- package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.cjs +1 -1
- package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.mjs +4 -6
- package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.cjs +1 -1
- package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.mjs +4 -6
- package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.cjs +1 -1
- package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.mjs +4 -5
- package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.cjs +1 -1
- package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.mjs +4 -6
- package/error-handling/error-codes.constants.cjs +1 -1
- package/error-handling/error-codes.constants.d.ts +0 -1
- package/error-handling/error-codes.constants.mjs +3 -4
- package/error-handling/get-error.message.cjs +1 -1
- package/error-handling/get-error.message.mjs +27 -22
- package/error-handling/handleErrorRestore.cjs +1 -0
- package/error-handling/handleErrorRestore.d.ts +2 -0
- package/error-handling/handleErrorRestore.mjs +11 -0
- package/error-handling/index.d.ts +1 -0
- package/functions/kyc/authentoHelper.cjs +1 -0
- package/functions/kyc/authentoHelper.d.ts +12 -0
- package/functions/kyc/authentoHelper.mjs +30 -0
- package/functions/kyc/zkMeHelper.cjs +1 -1
- package/functions/kyc/zkMeHelper.mjs +16 -17
- package/functions/pre-transaction/constructAdminData.cjs +1 -1
- package/functions/pre-transaction/constructAdminData.d.ts +2 -2
- package/functions/pre-transaction/constructAdminData.mjs +18 -12
- package/functions/pre-transaction/getExternalSwapAddress.cjs +1 -1
- package/functions/pre-transaction/getExternalSwapAddress.d.ts +2 -1
- package/functions/pre-transaction/getExternalSwapAddress.mjs +8 -8
- package/functions/pre-transaction/getFlatFees.cjs +1 -1
- package/functions/pre-transaction/getFlatFees.mjs +2 -3
- package/functions/pre-transaction/getSolanaCalldataHash.cjs +1 -1
- package/functions/pre-transaction/getSolanaCalldataHash.mjs +21 -21
- package/functions/pre-transaction/getVolatileTransferAmount.cjs +1 -1
- package/functions/pre-transaction/getVolatileTransferAmount.mjs +36 -22
- package/functions/pre-transaction/interaction-to-action.cjs +1 -1
- package/functions/pre-transaction/interaction-to-action.mjs +2 -3
- package/functions/pre-transaction/merge-with-fee-structure-emporium.cjs +1 -1
- package/functions/pre-transaction/merge-with-fee-structure-emporium.d.ts +1 -1
- package/functions/pre-transaction/merge-with-fee-structure-emporium.mjs +17 -17
- package/functions/pre-transaction/outputApprovalDataProcessing.cjs +1 -1
- package/functions/pre-transaction/outputApprovalDataProcessing.d.ts +9 -1
- package/functions/pre-transaction/outputApprovalDataProcessing.mjs +34 -19
- package/functions/pre-transaction/sendV0Transaction.cjs +1 -1
- package/functions/pre-transaction/sendV0Transaction.mjs +50 -53
- package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs +1 -1
- package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.d.ts +1 -1
- package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.mjs +4 -4
- package/functions/private-wallet/emporium.helpers.cjs +1 -1
- package/functions/private-wallet/emporium.helpers.d.ts +12 -10
- package/functions/private-wallet/emporium.helpers.mjs +139 -102
- package/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
- package/functions/private-wallet/emporium.swap.helpers.d.ts +4 -1
- package/functions/private-wallet/emporium.swap.helpers.mjs +106 -103
- package/functions/private-wallet/opProducer.cjs +1 -1
- package/functions/private-wallet/opProducer.mjs +1 -1
- package/functions/snarkjs/common.snarkjs.cjs +1 -1
- package/functions/snarkjs/common.snarkjs.mjs +21 -18
- package/functions/snarkjs/constructEmporiumProof.cjs +1 -1
- package/functions/snarkjs/constructEmporiumProof.mjs +49 -49
- package/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
- package/functions/snarkjs/constructSolanaZkProof.mjs +11 -10
- package/functions/snarkjs/fetchMerkleTreeSiblings.cjs +1 -1
- package/functions/snarkjs/fetchMerkleTreeSiblings.mjs +10 -11
- package/functions/utils/addresses.cjs +1 -1
- package/functions/utils/addresses.d.ts +0 -1
- package/functions/utils/addresses.mjs +11 -12
- package/functions/utils/cacheFunctions.cjs +1 -1
- package/functions/utils/cacheFunctions.d.ts +1 -1
- package/functions/utils/cacheFunctions.mjs +55 -54
- package/functions/utils/convertEmporiumOpToCallInfo.cjs +1 -1
- package/functions/utils/convertEmporiumOpToCallInfo.mjs +5 -5
- package/functions/utils/create-provider.cjs +1 -1
- package/functions/utils/create-provider.d.ts +2 -2
- package/functions/utils/create-provider.mjs +7 -11
- package/functions/utils/encryptInputForEnclave.cjs +1 -1
- package/functions/utils/encryptInputForEnclave.mjs +9 -9
- package/functions/utils/ethers-formatter.utils.d.ts +1 -1
- package/functions/utils/external-action.utils.cjs +1 -1
- package/functions/utils/external-action.utils.mjs +2 -2
- package/functions/utils/get-hinkal-approvals.cjs +1 -0
- package/functions/utils/get-hinkal-approvals.d.ts +3 -0
- package/functions/utils/get-hinkal-approvals.mjs +38 -0
- package/functions/utils/getContractAddress.cjs +1 -0
- package/functions/utils/getContractAddress.d.ts +2 -0
- package/functions/utils/getContractAddress.mjs +9 -0
- package/functions/utils/getDataFromTransaction.cjs +1 -1
- package/functions/utils/getDataFromTransaction.d.ts +0 -11
- package/functions/utils/getDataFromTransaction.mjs +26 -50
- package/functions/utils/getRecipientInfoFromUserKeys.cjs +1 -1
- package/functions/utils/getRecipientInfoFromUserKeys.mjs +1 -1
- package/functions/utils/getSignerFromContract.cjs +1 -0
- package/functions/utils/getSignerFromContract.d.ts +3 -0
- package/functions/utils/getSignerFromContract.mjs +16 -0
- package/functions/utils/getUtxosFromReceipt.utils.cjs +1 -1
- package/functions/utils/getUtxosFromReceipt.utils.d.ts +1 -1
- package/functions/utils/getUtxosFromReceipt.utils.mjs +14 -15
- package/functions/utils/inLogicMetadata.cjs +1 -1
- package/functions/utils/inLogicMetadata.mjs +2 -2
- package/functions/utils/index.d.ts +1 -0
- package/functions/utils/involves-permit2-op.cjs +1 -1
- package/functions/utils/involves-permit2-op.d.ts +1 -0
- package/functions/utils/involves-permit2-op.mjs +6 -4
- package/functions/utils/mutexes.utils.cjs +1 -1
- package/functions/utils/mutexes.utils.d.ts +1 -1
- package/functions/utils/mutexes.utils.mjs +3 -3
- package/functions/utils/nftTokenFunctions.cjs +1 -1
- package/functions/utils/nftTokenFunctions.mjs +23 -9
- package/functions/utils/prepareHinkal.cjs +1 -1
- package/functions/utils/prepareHinkal.d.ts +13 -6
- package/functions/utils/prepareHinkal.mjs +72 -45
- package/functions/utils/publicBalance.utils.cjs +1 -1
- package/functions/utils/publicBalance.utils.d.ts +1 -1
- package/functions/utils/publicBalance.utils.mjs +62 -57
- package/functions/utils/replaceAddressInCalldata.cjs +1 -0
- package/functions/utils/replaceAddressInCalldata.d.ts +1 -0
- package/functions/utils/replaceAddressInCalldata.mjs +7 -0
- package/functions/utils/rpc-int-encode.cjs +1 -1
- package/functions/utils/rpc-int-encode.d.ts +1 -2
- package/functions/utils/rpc-int-encode.mjs +3 -6
- package/functions/utils/solanaMint.utils.cjs +1 -1
- package/functions/utils/solanaMint.utils.mjs +6 -6
- package/functions/utils/string.utils.cjs +1 -1
- package/functions/utils/string.utils.d.ts +0 -1
- package/functions/utils/string.utils.mjs +14 -18
- package/functions/utils/token-check.utils.cjs +1 -1
- package/functions/utils/token-check.utils.d.ts +0 -3
- package/functions/utils/token-check.utils.mjs +7 -18
- package/functions/utils/upToDateState.cjs +1 -1
- package/functions/utils/upToDateState.d.ts +1 -1
- package/functions/utils/upToDateState.mjs +4 -4
- package/functions/utils/walletBalances.utils.cjs +1 -1
- package/functions/utils/walletBalances.utils.d.ts +17 -2
- package/functions/utils/walletBalances.utils.mjs +36 -5
- package/functions/web3/EIP-712.cjs +1 -1
- package/functions/web3/EIP-712.d.ts +4 -4
- package/functions/web3/EIP-712.mjs +1 -1
- package/functions/web3/etherFunctions.cjs +1 -1
- package/functions/web3/etherFunctions.mjs +32 -29
- package/functions/web3/events/balanceChangedCustomHandler.cjs +1 -1
- package/functions/web3/events/balanceChangedCustomHandler.mjs +4 -5
- package/functions/web3/events/balanceChangedHandler.cjs +1 -1
- package/functions/web3/events/balanceChangedHandler.mjs +2 -3
- package/functions/web3/events/getApprovedBalance.cjs +1 -1
- package/functions/web3/events/getApprovedBalance.d.ts +4 -3
- package/functions/web3/events/getApprovedBalance.mjs +44 -39
- package/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
- package/functions/web3/events/getInputUtxoAndBalance.d.ts +3 -3
- package/functions/web3/events/getInputUtxoAndBalance.mjs +150 -129
- package/functions/web3/events/getInputUtxosEnclave.cjs +1 -1
- package/functions/web3/events/getInputUtxosEnclave.mjs +20 -20
- package/functions/web3/events/getShieldedBalance.cjs +2 -2
- package/functions/web3/events/getShieldedBalance.d.ts +1 -1
- package/functions/web3/events/getShieldedBalance.mjs +75 -73
- package/functions/web3/events/getTransactionLogEvents.cjs +1 -1
- package/functions/web3/events/getTransactionLogEvents.d.ts +3 -3
- package/functions/web3/events/getTransactionLogEvents.mjs +41 -40
- package/functions/web3/events/index.d.ts +0 -1
- package/functions/web3/fetchSolanaMerkleTreeRootHash.cjs +1 -1
- package/functions/web3/fetchSolanaMerkleTreeRootHash.d.ts +1 -2
- package/functions/web3/fetchSolanaMerkleTreeRootHash.mjs +12 -16
- package/functions/web3/functionCalls/accessTokenCalls.cjs +1 -1
- package/functions/web3/functionCalls/accessTokenCalls.d.ts +6 -1
- package/functions/web3/functionCalls/accessTokenCalls.mjs +20 -12
- package/functions/web3/functionCalls/approveToken.cjs +1 -1
- package/functions/web3/functionCalls/approveToken.d.ts +1 -1
- package/functions/web3/functionCalls/approveToken.mjs +68 -69
- package/functions/web3/functionCalls/approveTokensToHinkal.cjs +1 -1
- package/functions/web3/functionCalls/approveTokensToHinkal.d.ts +1 -1
- package/functions/web3/functionCalls/approveTokensToHinkal.mjs +6 -6
- package/functions/web3/functionCalls/constructBatchCall.cjs +1 -1
- package/functions/web3/functionCalls/constructBatchCall.d.ts +2 -2
- package/functions/web3/functionCalls/constructBatchCall.mjs +10 -9
- package/functions/web3/functionCalls/estimateGasRelayer.cjs +1 -1
- package/functions/web3/functionCalls/estimateGasRelayer.d.ts +2 -1
- package/functions/web3/functionCalls/estimateGasRelayer.mjs +10 -10
- package/functions/web3/functionCalls/inHinkalApprovalCalls.cjs +1 -0
- package/functions/web3/functionCalls/inHinkalApprovalCalls.d.ts +5 -0
- package/functions/web3/functionCalls/inHinkalApprovalCalls.mjs +29 -0
- package/functions/web3/functionCalls/recoverTransactionFromError.d.ts +1 -1
- package/functions/web3/functionCalls/transactCallDirect.cjs +1 -1
- package/functions/web3/functionCalls/transactCallDirect.d.ts +1 -1
- package/functions/web3/functionCalls/transactCallDirect.mjs +47 -39
- package/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
- package/functions/web3/functionCalls/transactCallRelayer.d.ts +3 -3
- package/functions/web3/functionCalls/transactCallRelayer.mjs +54 -56
- package/functions/web3/getContractMetadata.cjs +1 -1
- package/functions/web3/getContractMetadata.d.ts +1 -1
- package/functions/web3/getContractMetadata.mjs +21 -16
- package/functions/web3/getPublicAddressBalance.cjs +1 -1
- package/functions/web3/getPublicAddressBalance.d.ts +1 -1
- package/functions/web3/getPublicAddressBalance.mjs +7 -6
- package/functions/web3/getTokenHolder.cjs +1 -1
- package/functions/web3/getTokenHolder.mjs +32 -31
- package/functions/web3/index.d.ts +0 -1
- package/functions/web3/lifiAPI.cjs +1 -1
- package/functions/web3/lifiAPI.d.ts +1 -1
- package/functions/web3/lifiAPI.mjs +12 -12
- package/functions/web3/odosAPI.cjs +1 -1
- package/functions/web3/odosAPI.mjs +15 -3
- package/functions/web3/okxAPI.cjs +1 -1
- package/functions/web3/okxAPI.mjs +13 -13
- package/functions/web3/oneInchAPI.cjs +1 -1
- package/functions/web3/oneInchAPI.mjs +20 -8
- package/functions/web3/runContractFunction.cjs +1 -1
- package/functions/web3/runContractFunction.d.ts +6 -5
- package/functions/web3/runContractFunction.mjs +60 -46
- package/functions/web3/uniswapAPI.cjs +1 -1
- package/functions/web3/uniswapAPI.d.ts +2 -2
- package/functions/web3/uniswapAPI.mjs +49 -38
- package/index.cjs +1 -1
- package/index.mjs +912 -914
- package/package.json +4 -6
- package/providers/CustomEthersProvider.d.ts +1 -1
- package/providers/EthersProviderAdapter.cjs +1 -1
- package/providers/EthersProviderAdapter.d.ts +21 -14
- package/providers/EthersProviderAdapter.mjs +86 -53
- package/providers/SolanaProviderAdapter.cjs +1 -1
- package/providers/SolanaProviderAdapter.d.ts +12 -8
- package/providers/SolanaProviderAdapter.mjs +31 -16
- package/providers/WagmiProviderAdapter.cjs +1 -1
- package/providers/WagmiProviderAdapter.d.ts +20 -14
- package/providers/WagmiProviderAdapter.mjs +126 -91
- package/providers/prepareEthersHinkal.cjs +1 -1
- package/providers/prepareEthersHinkal.d.ts +2 -2
- package/providers/prepareEthersHinkal.mjs +9 -16
- package/providers/prepareWagmiHinkal.cjs +1 -1
- package/providers/prepareWagmiHinkal.mjs +9 -17
- package/types/TransactionSimulator.types.d.ts +9 -2
- package/types/activities.types.d.ts +2 -5
- package/types/admin.types.cjs +1 -1
- package/types/admin.types.d.ts +6 -0
- package/types/admin.types.mjs +2 -2
- package/types/balances.types.d.ts +1 -0
- package/types/big-intable.types.d.ts +3 -2
- package/types/bridging.types.d.ts +29 -0
- package/types/cache.types.cjs +1 -1
- package/types/cache.types.d.ts +3 -6
- package/types/cache.types.mjs +1 -1
- package/types/coingecko.types.d.ts +0 -5
- package/types/duneAPI.types.d.ts +9 -0
- package/types/ethereum-network.types.d.ts +10 -11
- package/types/hinkal.types.cjs +1 -1
- package/types/hinkal.types.d.ts +1 -1
- package/types/hinkal.types.mjs +18 -18
- package/types/index.d.ts +2 -2
- package/types/proxy.types.d.ts +3 -6
- package/types/sandbox.types.cjs +1 -1
- package/types/sandbox.types.d.ts +39 -10
- package/types/sandbox.types.mjs +2 -2
- package/types/scheduled-transactions.types.cjs +1 -1
- package/types/scheduled-transactions.types.d.ts +6 -0
- package/types/scheduled-transactions.types.mjs +3 -2
- package/types/session.types.d.ts +0 -2
- package/types/solana.types.d.ts +0 -9
- package/types/token-prices.types.cjs +1 -1
- package/types/token-prices.types.d.ts +0 -7
- package/types/token-prices.types.mjs +2 -4
- package/types/transactions.types.cjs +1 -1
- package/types/transactions.types.d.ts +2 -3
- package/types/transactions.types.mjs +6 -7
- package/webworker/snarkjsWorker/snarkjsWorkerLauncher.cjs +1 -1
- package/webworker/snarkjsWorker/snarkjsWorkerLauncher.mjs +1 -1
- package/webworker/utxoWorker/utxoWorkerLauncher.cjs +1 -1
- package/webworker/utxoWorker/utxoWorkerLauncher.mjs +1 -1
- package/webworker/utxoWorker/utxoWorkerLogic.cjs +1 -1
- package/webworker/utxoWorker/utxoWorkerLogic.mjs +1 -1
- package/webworker/viteWorkerURL.constant.cjs +3 -3
- package/webworker/viteWorkerURL.constant.mjs +3 -3
- package/webworker/zkProofWorker/zkProofWorkerLauncher.cjs +1 -1
- package/webworker/zkProofWorker/zkProofWorkerLauncher.mjs +1 -1
- package/API/get-token-price-chart-data.cjs +0 -1
- package/API/get-token-price-chart-data.d.ts +0 -16
- package/API/get-token-price-chart-data.mjs +0 -13
- package/API/onrampCalls.cjs +0 -1
- package/API/onrampCalls.d.ts +0 -20
- package/API/onrampCalls.mjs +0 -15
- package/API/unspent-utxos-calls.cjs +0 -1
- package/API/unspent-utxos-calls.d.ts +0 -26
- package/API/unspent-utxos-calls.mjs +0 -26
- package/data-structures/AccountActions/AccountActions.cjs +0 -1
- package/data-structures/AccountActions/AccountActions.d.ts +0 -18
- package/data-structures/AccountActions/AccountActions.mjs +0 -78
- package/data-structures/AccountActions/index.d.ts +0 -1
- package/data-structures/BlockchainEvent/BlockchainEvent.cjs +0 -1
- package/data-structures/BlockchainEvent/BlockchainEvent.d.ts +0 -14
- package/data-structures/BlockchainEvent/BlockchainEvent.mjs +0 -41
- package/data-structures/PublicBalance/PublicBalanceWatcher.cjs +0 -1
- package/data-structures/PublicBalance/PublicBalanceWatcher.d.ts +0 -20
- package/data-structures/PublicBalance/PublicBalanceWatcher.mjs +0 -124
- package/data-structures/PublicBalance/SolanaPublicBalancerWatcher.cjs +0 -1
- package/data-structures/PublicBalance/SolanaPublicBalancerWatcher.d.ts +0 -15
- package/data-structures/PublicBalance/SolanaPublicBalancerWatcher.mjs +0 -64
- package/data-structures/PublicBalance/index.d.ts +0 -2
- package/data-structures/event-service/evm/ClientBlockchainEventEmitter.cjs +0 -1
- package/data-structures/event-service/evm/ClientBlockchainEventEmitter.d.ts +0 -11
- package/data-structures/event-service/evm/ClientBlockchainEventEmitter.mjs +0 -21
- package/data-structures/event-service/evm/PollingBlockchainEventEmitter.cjs +0 -1
- package/data-structures/event-service/evm/PollingBlockchainEventEmitter.d.ts +0 -6
- package/data-structures/event-service/evm/PollingBlockchainEventEmitter.mjs +0 -16
- package/data-structures/event-service/helpers/ClientEventHelper.cjs +0 -1
- package/data-structures/event-service/helpers/ClientEventHelper.d.ts +0 -11
- package/data-structures/event-service/helpers/ClientEventHelper.mjs +0 -26
- package/data-structures/event-service/helpers/PollingEventHelper.cjs +0 -1
- package/data-structures/event-service/helpers/PollingEventHelper.d.ts +0 -5
- package/data-structures/event-service/helpers/PollingEventHelper.mjs +0 -14
- package/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.cjs +0 -1
- package/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.d.ts +0 -11
- package/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.mjs +0 -22
- package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.cjs +0 -1
- package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.d.ts +0 -6
- package/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.mjs +0 -16
- package/functions/utils/enum.utils.cjs +0 -1
- package/functions/utils/enum.utils.mjs +0 -14
- package/functions/utils/socket.utils.cjs +0 -1
- package/functions/utils/socket.utils.d.ts +0 -1
- package/functions/utils/socket.utils.mjs +0 -12
- package/functions/web3/crypto.cjs +0 -1
- package/functions/web3/crypto.d.ts +0 -1
- package/functions/web3/crypto.mjs +0 -7
- package/functions/web3/events/web3RetrieveEvents.cjs +0 -1
- package/functions/web3/events/web3RetrieveEvents.d.ts +0 -14
- package/functions/web3/events/web3RetrieveEvents.mjs +0 -9
- package/types/events.types.cjs +0 -1
- package/types/events.types.d.ts +0 -9
- package/types/events.types.mjs +0 -5
- package/types/onramp.types.cjs +0 -1
- package/types/onramp.types.d.ts +0 -58
- package/types/onramp.types.mjs +0 -4
|
@@ -1,48 +1,62 @@
|
|
|
1
|
-
import { get as
|
|
1
|
+
import { get as m, set as c } from "idb-keyval";
|
|
2
2
|
import "../../error-handling/error-codes.constants.mjs";
|
|
3
3
|
import "ethers";
|
|
4
4
|
import "../../types/circom-data.types.mjs";
|
|
5
|
-
import "../../types/transactions.types.mjs";
|
|
6
5
|
import "../../types/activities.types.mjs";
|
|
7
|
-
import { StorageKeys as
|
|
6
|
+
import { StorageKeys as s } from "../../types/cache.types.mjs";
|
|
7
|
+
import "../../constants/server.constants.mjs";
|
|
8
|
+
import "../../API/getServerURL.mjs";
|
|
9
|
+
import "../http/HttpClient.mjs";
|
|
10
|
+
import "axios";
|
|
11
|
+
import "../../constants/chains.constants.mjs";
|
|
12
|
+
import "circomlibjs-hinkal-fork";
|
|
13
|
+
import "libsodium-wrappers";
|
|
14
|
+
import "process";
|
|
15
|
+
import "buffer";
|
|
8
16
|
import "../../constants/vite.constants.mjs";
|
|
9
|
-
import
|
|
10
|
-
|
|
17
|
+
import "../../constants/save-depths.mjs";
|
|
18
|
+
import "../../constants/reorg-depths.constants.mjs";
|
|
19
|
+
import "../../functions/utils/mutexes.utils.mjs";
|
|
20
|
+
import "@coral-xyz/anchor";
|
|
21
|
+
import { Logger as a } from "../../error-handling/logger.mjs";
|
|
22
|
+
import "@solana/web3.js";
|
|
23
|
+
import "../crypto-keys/keys.mjs";
|
|
24
|
+
class d {
|
|
11
25
|
generateMessageId() {
|
|
12
|
-
const
|
|
13
|
-
return `msg_${
|
|
26
|
+
const t = (/* @__PURE__ */ new Date()).getTime(), e = Math.random().toString(36).substring(2, 15);
|
|
27
|
+
return `msg_${t}_${e}`;
|
|
14
28
|
}
|
|
15
|
-
async saveSignedMessage(
|
|
29
|
+
async saveSignedMessage(t, e, r, g, n, p) {
|
|
16
30
|
try {
|
|
17
|
-
const
|
|
18
|
-
chainId:
|
|
19
|
-
messageText:
|
|
31
|
+
const o = this.generateMessageId(), i = await m(s.SIGNED_MESSAGES) || {}, S = {
|
|
32
|
+
chainId: t,
|
|
33
|
+
messageText: e,
|
|
20
34
|
messageType: r,
|
|
21
|
-
subAccountAddress:
|
|
22
|
-
signature:
|
|
23
|
-
appMetaData:
|
|
35
|
+
subAccountAddress: g,
|
|
36
|
+
signature: n,
|
|
37
|
+
appMetaData: p
|
|
24
38
|
};
|
|
25
|
-
o
|
|
39
|
+
i[o] = {
|
|
26
40
|
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
27
|
-
...
|
|
28
|
-
}, await
|
|
29
|
-
} catch (
|
|
30
|
-
|
|
31
|
-
chainId:
|
|
41
|
+
...S
|
|
42
|
+
}, await c(s.SIGNED_MESSAGES, i);
|
|
43
|
+
} catch (o) {
|
|
44
|
+
a.error("Failed to save signed message:", o, {
|
|
45
|
+
chainId: t,
|
|
32
46
|
messageType: r
|
|
33
47
|
});
|
|
34
48
|
}
|
|
35
49
|
}
|
|
36
50
|
async getAllSignedMessages() {
|
|
37
51
|
try {
|
|
38
|
-
const
|
|
39
|
-
return Object.values(
|
|
40
|
-
} catch (
|
|
41
|
-
return
|
|
52
|
+
const t = await m(s.SIGNED_MESSAGES) || {};
|
|
53
|
+
return Object.values(t).sort((e, r) => new Date(r.timestamp).getTime() - new Date(e.timestamp).getTime());
|
|
54
|
+
} catch (t) {
|
|
55
|
+
return a.error("Failed to retrieve signed messages:", t), [];
|
|
42
56
|
}
|
|
43
57
|
}
|
|
44
58
|
}
|
|
45
|
-
const
|
|
59
|
+
const k = new d();
|
|
46
60
|
export {
|
|
47
|
-
|
|
61
|
+
k as signedMessagesStorage
|
|
48
62
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const y=require("ethers"),k=require("idb-keyval"),_=require("../../API/API.cjs"),A=require("../../constants/chains.constants.cjs"),p=require("../../error-handling/logger.cjs"),f=require("../../functions/utils/caseInsensitive.utils.cjs"),T=require("../../types/cache.types.cjs"),d=require("../../functions/utils/string.utils.cjs"),C=require("../../constants/protocol.constants.cjs"),I=require("async-mutex"),S=require("../../functions/utils/erc20tokenFunctions.cjs"),K=require("./token-visibility-db.cjs");require("../../types/circom-data.types.cjs");require("../../types/activities.types.cjs");require("@coral-xyz/anchor");require("@solana/web3.js");require("circomlibjs-hinkal-fork");require("../../constants/kyc.constants.cjs");const m=require("../../functions/utils/create-provider.cjs");require("../../functions/utils/convertIntegrationProviderToExternalActionId.cjs");require("../../error-handling/error-codes.constants.cjs");require("../crypto-keys/keys.cjs");require("../../constants/server.constants.cjs");require("../../constants/vite.constants.cjs");require("../http/HttpClient.cjs");require("axios");require("../../API/getServerURL.cjs");require("libsodium-wrappers");require("process");require("buffer");require("../../constants/save-depths.cjs");require("../../constants/reorg-depths.constants.cjs");require("../../functions/utils/mutexes.utils.cjs");require("@solana/spl-token");require("../../constants/token-data/index.cjs");require("../../constants/contracts.constants.cjs");require("../../constants/coingecko.constants.cjs");require("../../constants/addresses.constants.cjs");require("../../constants/token.limits.constants.cjs");require("../../constants/presale.constants.cjs");require("../../constants/activity.constants.cjs");require("../../constants/tasks.constants.cjs");const x=require("../../constants/events.constants.cjs");require("../../functions/utils/userAgent.cjs");require("multiformats");require("../../API/tenderly.api.cjs");require("node-forge");require("../../functions/web3/events/getApprovedBalance.cjs");require("../../functions/web3/getTokenHolder.cjs");class P{fetchedTokens={};updateMutexes={};transferEventTopic=y.ethers.id("Transfer(address,address,uint256)");getMutex(t){return this.updateMutexes[t]||(this.updateMutexes[t]=new I.Mutex),this.updateMutexes[t]}async getPublicTokens(t,o){const r=d.getStateKey(o,t);return(await k.get(T.StorageKeys.EVENTS_PUBLIC_TOKENS))?.[r]||[]}getFetchedTokens(t,o){const r=d.getStateKey(o,t);return this.fetchedTokens[r]||[]}async fetchAndUpdatePublicTokens(t,o){const r=d.getStateKey(t,o);await this.getMutex(r).runExclusive(async()=>{try{const s=(await this.getPublicTokens(o,t)).map(a=>a.erc20TokenAddress),{toEvents:i,fromEvents:u,latestBlock:c}=await this.getEvents(t,o),g=[...i,...u],{erc20Tokens:l}=await this.fetchPublicTokens(g,o,s),B=await K.tokenVisibilityStorage.hideSpamsAndFetchHiddenTokensAddresses(o,l),w=l.filter(a=>!f.lowerCaseIncludes(B,a.erc20TokenAddress));await k.update(T.StorageKeys.EVENTS_PUBLIC_TOKENS,(a={})=>{const q=a[r]||[],b=q.map(h=>h.erc20TokenAddress),L=w.filter(h=>!f.lowerCaseIncludes(b,h.erc20TokenAddress));q.push(...L);const v=this.updateTokenIds(u,i,q),E={...a,[r]:v};return this.fetchedTokens=E,E}),c&&await this.updateLastProcessedBlock(o,t,c)}catch(e){p.Logger.error("public tokens db error",e)}})}async getLastProcessedBlock(t,o){const r=await k.get(T.StorageKeys.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS)||{},n=d.getStateKey(o,t);return r[n]||x.EVENTS_INITIAL_BLOCKS[t]}async updateLastProcessedBlock(t,o,r){await k.update(T.StorageKeys.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS,(n={})=>{const e=d.getStateKey(o,t);return{...n,[e]:r}})}async getEvents(t,o){try{const{fetchRpcUrl:r}=A.networkRegistry[o];if(!r)throw Error("No fetchRpcUrl in PublicTokensDB");const n=m.createCustomRpcProvider(r),e=await this.getLastProcessedBlock(o,t)+1,s=await n.getBlockNumber(),i=y.ethers.zeroPadValue(t.toLowerCase(),32),u={topics:[this.transferEventTopic,null,i],fromBlock:e,toBlock:s},c={topics:[this.transferEventTopic,i,null],fromBlock:e,toBlock:s},[g,l]=await Promise.all([n.getLogs(u),n.getLogs(c)]);return{toEvents:g,fromEvents:l,latestBlock:s}}catch(r){return p.Logger.error("Error fetching events:",r),{toEvents:[],fromEvents:[],latestBlock:void 0}}}updateTokenIds(t,o,r){const n=new Map;return r.forEach(e=>{if(S.isNFTToken(e)&&e.tokenIds){const s=e.erc20TokenAddress.toLowerCase();n.set(s,[...e.tokenIds])}}),o.forEach(e=>{if(e.topics.length<=3)return;const s=e.address.toLowerCase(),i=BigInt(e.topics[3]).toString();n.has(s)||n.set(s,[]),n.get(s)?.push(i)}),t.forEach(e=>{if(e.topics.length<=3)return;const s=e.address.toLowerCase(),i=n.get(s);if(i?.length){const u=BigInt(e.topics[3]).toString(),c=i.indexOf(u);c!==-1&&i.splice(c,1)}}),r.forEach(e=>{if(S.isNFTToken(e)){const s=e.erc20TokenAddress.toLowerCase(),i=n.get(s);e.tokenIds=i?.length&&i.length>0?i:void 0}}),r}async fetchPublicTokens(t,o,r){try{const n=[C.zeroAddress,...new Set(t.map(s=>s.address))].filter(s=>s&&!f.lowerCaseIncludes(r,s));return n.length?{erc20Tokens:(await _.API.tokensInfoCall(o,n)).filter(s=>!!s)}:{erc20Tokens:[]}}catch(n){return p.Logger.error("Error fetching public tokens:",n),{erc20Tokens:[]}}}}const N=new P;exports.EventsPublicTokensDB=P;exports.eventsPublicTokensDB=N;
|
|
@@ -1,122 +1,122 @@
|
|
|
1
|
-
import { ethers as
|
|
2
|
-
import { get as B, update as
|
|
1
|
+
import { ethers as E } from "ethers";
|
|
2
|
+
import { get as B, update as w } from "idb-keyval";
|
|
3
3
|
import { API as C } from "../../API/API.mjs";
|
|
4
|
+
import { networkRegistry as v } from "../../constants/chains.constants.mjs";
|
|
4
5
|
import { Logger as T } from "../../error-handling/logger.mjs";
|
|
5
6
|
import { lowerCaseIncludes as h } from "../../functions/utils/caseInsensitive.utils.mjs";
|
|
6
|
-
import { StorageKeys as
|
|
7
|
-
import { getStateKey as
|
|
8
|
-
import { zeroAddress as
|
|
9
|
-
import { Mutex as
|
|
10
|
-
import { isNFTToken as
|
|
11
|
-
import { tokenVisibilityStorage as
|
|
7
|
+
import { StorageKeys as k } from "../../types/cache.types.mjs";
|
|
8
|
+
import { getStateKey as d } from "../../functions/utils/string.utils.mjs";
|
|
9
|
+
import { zeroAddress as I } from "../../constants/protocol.constants.mjs";
|
|
10
|
+
import { Mutex as _ } from "async-mutex";
|
|
11
|
+
import { isNFTToken as P } from "../../functions/utils/erc20tokenFunctions.mjs";
|
|
12
|
+
import { tokenVisibilityStorage as x } from "./token-visibility-db.mjs";
|
|
12
13
|
import "../../types/circom-data.types.mjs";
|
|
13
|
-
import "../../types/transactions.types.mjs";
|
|
14
14
|
import "../../types/activities.types.mjs";
|
|
15
|
-
import "../../constants/chains.constants.mjs";
|
|
16
15
|
import "@coral-xyz/anchor";
|
|
17
16
|
import "@solana/web3.js";
|
|
18
17
|
import "circomlibjs-hinkal-fork";
|
|
19
18
|
import "../../constants/kyc.constants.mjs";
|
|
20
|
-
import { createCustomRpcProvider as
|
|
19
|
+
import { createCustomRpcProvider as N } from "../../functions/utils/create-provider.mjs";
|
|
21
20
|
import "../../functions/utils/convertIntegrationProviderToExternalActionId.mjs";
|
|
22
21
|
import "../../error-handling/error-codes.constants.mjs";
|
|
23
22
|
import "../crypto-keys/keys.mjs";
|
|
24
23
|
import "../../constants/server.constants.mjs";
|
|
25
|
-
import "../../
|
|
24
|
+
import "../../constants/vite.constants.mjs";
|
|
26
25
|
import "../http/HttpClient.mjs";
|
|
27
26
|
import "axios";
|
|
28
|
-
import "../../
|
|
29
|
-
import "
|
|
30
|
-
import "
|
|
31
|
-
import "tweetnacl";
|
|
32
|
-
import "bs58";
|
|
27
|
+
import "../../API/getServerURL.mjs";
|
|
28
|
+
import "libsodium-wrappers";
|
|
29
|
+
import "process";
|
|
33
30
|
import "buffer";
|
|
31
|
+
import "../../constants/save-depths.mjs";
|
|
32
|
+
import "../../constants/reorg-depths.constants.mjs";
|
|
33
|
+
import "../../functions/utils/mutexes.utils.mjs";
|
|
34
|
+
import "@solana/spl-token";
|
|
34
35
|
import "../../constants/token-data/index.mjs";
|
|
35
36
|
import "../../constants/contracts.constants.mjs";
|
|
36
37
|
import "../../constants/coingecko.constants.mjs";
|
|
37
|
-
import "../../constants/reorg-depths.constants.mjs";
|
|
38
38
|
import "../../constants/addresses.constants.mjs";
|
|
39
39
|
import "../../constants/token.limits.constants.mjs";
|
|
40
40
|
import "../../constants/presale.constants.mjs";
|
|
41
41
|
import "../../constants/activity.constants.mjs";
|
|
42
42
|
import "../../constants/tasks.constants.mjs";
|
|
43
|
-
import { EVENTS_INITIAL_BLOCKS as
|
|
43
|
+
import { EVENTS_INITIAL_BLOCKS as O } from "../../constants/events.constants.mjs";
|
|
44
44
|
import "../../functions/utils/userAgent.mjs";
|
|
45
|
-
import "libsodium-wrappers";
|
|
46
45
|
import "multiformats";
|
|
47
|
-
import "
|
|
48
|
-
import "
|
|
49
|
-
import "../../functions/web3/events/getInputUtxoAndBalance.mjs";
|
|
46
|
+
import "../../API/tenderly.api.mjs";
|
|
47
|
+
import "node-forge";
|
|
50
48
|
import "../../functions/web3/events/getApprovedBalance.mjs";
|
|
51
49
|
import "../../functions/web3/getTokenHolder.mjs";
|
|
52
|
-
|
|
53
|
-
class O {
|
|
50
|
+
class K {
|
|
54
51
|
fetchedTokens = {};
|
|
55
52
|
updateMutexes = {};
|
|
56
|
-
transferEventTopic =
|
|
53
|
+
transferEventTopic = E.id("Transfer(address,address,uint256)");
|
|
57
54
|
getMutex(e) {
|
|
58
|
-
return this.updateMutexes[e] || (this.updateMutexes[e] = new
|
|
55
|
+
return this.updateMutexes[e] || (this.updateMutexes[e] = new _()), this.updateMutexes[e];
|
|
59
56
|
}
|
|
60
|
-
async getPublicTokens(e,
|
|
61
|
-
const o =
|
|
62
|
-
return (await B(
|
|
57
|
+
async getPublicTokens(e, s) {
|
|
58
|
+
const o = d(s, e);
|
|
59
|
+
return (await B(k.EVENTS_PUBLIC_TOKENS))?.[o] || [];
|
|
63
60
|
}
|
|
64
|
-
getFetchedTokens(e,
|
|
65
|
-
const o =
|
|
61
|
+
getFetchedTokens(e, s) {
|
|
62
|
+
const o = d(s, e);
|
|
66
63
|
return this.fetchedTokens[o] || [];
|
|
67
64
|
}
|
|
68
|
-
async fetchAndUpdatePublicTokens(e,
|
|
69
|
-
const o =
|
|
65
|
+
async fetchAndUpdatePublicTokens(e, s) {
|
|
66
|
+
const o = d(e, s);
|
|
70
67
|
await this.getMutex(o).runExclusive(async () => {
|
|
71
68
|
try {
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
),
|
|
76
|
-
(a) => !h(
|
|
69
|
+
const r = (await this.getPublicTokens(s, e)).map((a) => a.erc20TokenAddress), { toEvents: i, fromEvents: p, latestBlock: c } = await this.getEvents(e, s), u = [...i, ...p], { erc20Tokens: m } = await this.fetchPublicTokens(u, s, r), S = await x.hideSpamsAndFetchHiddenTokensAddresses(
|
|
70
|
+
s,
|
|
71
|
+
m
|
|
72
|
+
), L = m.filter(
|
|
73
|
+
(a) => !h(S, a.erc20TokenAddress)
|
|
77
74
|
// filter out hidden tokens
|
|
78
75
|
);
|
|
79
|
-
await
|
|
80
|
-
const l = a[o] || [],
|
|
81
|
-
(f) => !h(
|
|
76
|
+
await w(k.EVENTS_PUBLIC_TOKENS, (a = {}) => {
|
|
77
|
+
const l = a[o] || [], y = l.map((f) => f.erc20TokenAddress), b = L.filter(
|
|
78
|
+
(f) => !h(y, f.erc20TokenAddress)
|
|
82
79
|
);
|
|
83
|
-
l.push(...
|
|
84
|
-
const A = this.updateTokenIds(p, i, l),
|
|
80
|
+
l.push(...b);
|
|
81
|
+
const A = this.updateTokenIds(p, i, l), g = {
|
|
85
82
|
...a,
|
|
86
83
|
[o]: A
|
|
87
84
|
};
|
|
88
|
-
return this.fetchedTokens =
|
|
89
|
-
}), c && await this.updateLastProcessedBlock(
|
|
85
|
+
return this.fetchedTokens = g, g;
|
|
86
|
+
}), c && await this.updateLastProcessedBlock(s, e, c);
|
|
90
87
|
} catch (t) {
|
|
91
88
|
T.error("public tokens db error", t);
|
|
92
89
|
}
|
|
93
90
|
});
|
|
94
91
|
}
|
|
95
|
-
async getLastProcessedBlock(e,
|
|
96
|
-
const o = await B(
|
|
97
|
-
return o[n] ||
|
|
92
|
+
async getLastProcessedBlock(e, s) {
|
|
93
|
+
const o = await B(k.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS) || {}, n = d(s, e);
|
|
94
|
+
return o[n] || O[e];
|
|
98
95
|
}
|
|
99
|
-
async updateLastProcessedBlock(e,
|
|
100
|
-
await
|
|
101
|
-
const t =
|
|
96
|
+
async updateLastProcessedBlock(e, s, o) {
|
|
97
|
+
await w(k.PUBLIC_TOKENS_LAST_PROCESSED_BLOCKS, (n = {}) => {
|
|
98
|
+
const t = d(s, e);
|
|
102
99
|
return {
|
|
103
100
|
...n,
|
|
104
101
|
[t]: o
|
|
105
102
|
};
|
|
106
103
|
});
|
|
107
104
|
}
|
|
108
|
-
async getEvents(e,
|
|
105
|
+
async getEvents(e, s) {
|
|
109
106
|
try {
|
|
110
|
-
const
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
107
|
+
const { fetchRpcUrl: o } = v[s];
|
|
108
|
+
if (!o)
|
|
109
|
+
throw Error("No fetchRpcUrl in PublicTokensDB");
|
|
110
|
+
const n = N(o), t = await this.getLastProcessedBlock(s, e) + 1, r = await n.getBlockNumber(), i = E.zeroPadValue(e.toLowerCase(), 32), p = {
|
|
111
|
+
topics: [this.transferEventTopic, null, i],
|
|
112
|
+
fromBlock: t,
|
|
113
|
+
toBlock: r
|
|
114
|
+
}, c = {
|
|
115
|
+
topics: [this.transferEventTopic, i, null],
|
|
116
|
+
fromBlock: t,
|
|
117
|
+
toBlock: r
|
|
118
|
+
}, [u, m] = await Promise.all([n.getLogs(p), n.getLogs(c)]);
|
|
119
|
+
return { toEvents: u, fromEvents: m, latestBlock: r };
|
|
120
120
|
} catch (o) {
|
|
121
121
|
return T.error("Error fetching events:", o), { toEvents: [], fromEvents: [], latestBlock: void 0 };
|
|
122
122
|
}
|
|
@@ -124,48 +124,48 @@ class O {
|
|
|
124
124
|
// First get existed tokenIds from tokens
|
|
125
125
|
// Then add new tokenIds from toEvents (incoming transfers)
|
|
126
126
|
// Then remove tokenIds from fromEvents (outgoing transfers)
|
|
127
|
-
updateTokenIds(e,
|
|
127
|
+
updateTokenIds(e, s, o) {
|
|
128
128
|
const n = /* @__PURE__ */ new Map();
|
|
129
129
|
return o.forEach((t) => {
|
|
130
|
-
if (
|
|
131
|
-
const
|
|
132
|
-
n.set(
|
|
130
|
+
if (P(t) && t.tokenIds) {
|
|
131
|
+
const r = t.erc20TokenAddress.toLowerCase();
|
|
132
|
+
n.set(r, [...t.tokenIds]);
|
|
133
133
|
}
|
|
134
|
-
}),
|
|
134
|
+
}), s.forEach((t) => {
|
|
135
135
|
if (t.topics.length <= 3)
|
|
136
136
|
return;
|
|
137
|
-
const
|
|
138
|
-
n.has(
|
|
137
|
+
const r = t.address.toLowerCase(), i = BigInt(t.topics[3]).toString();
|
|
138
|
+
n.has(r) || n.set(r, []), n.get(r)?.push(i);
|
|
139
139
|
}), e.forEach((t) => {
|
|
140
140
|
if (t.topics.length <= 3)
|
|
141
141
|
return;
|
|
142
|
-
const
|
|
142
|
+
const r = t.address.toLowerCase(), i = n.get(r);
|
|
143
143
|
if (i?.length) {
|
|
144
|
-
const p =
|
|
144
|
+
const p = BigInt(t.topics[3]).toString(), c = i.indexOf(p);
|
|
145
145
|
c !== -1 && i.splice(c, 1);
|
|
146
146
|
}
|
|
147
147
|
}), o.forEach((t) => {
|
|
148
|
-
if (
|
|
149
|
-
const
|
|
148
|
+
if (P(t)) {
|
|
149
|
+
const r = t.erc20TokenAddress.toLowerCase(), i = n.get(r);
|
|
150
150
|
t.tokenIds = i?.length && i.length > 0 ? i : void 0;
|
|
151
151
|
}
|
|
152
152
|
}), o;
|
|
153
153
|
}
|
|
154
|
-
async fetchPublicTokens(e,
|
|
154
|
+
async fetchPublicTokens(e, s, o) {
|
|
155
155
|
try {
|
|
156
|
-
const n = [
|
|
157
|
-
(
|
|
156
|
+
const n = [I, ...new Set(e.map((r) => r.address))].filter(
|
|
157
|
+
(r) => r && !h(o, r)
|
|
158
158
|
);
|
|
159
|
-
return n.length ? { erc20Tokens: (await C.tokensInfoCall(
|
|
160
|
-
(
|
|
159
|
+
return n.length ? { erc20Tokens: (await C.tokensInfoCall(s, n)).filter(
|
|
160
|
+
(r) => !!r
|
|
161
161
|
) } : { erc20Tokens: [] };
|
|
162
162
|
} catch (n) {
|
|
163
163
|
return T.error("Error fetching public tokens:", n), { erc20Tokens: [] };
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
166
|
}
|
|
167
|
-
const
|
|
167
|
+
const xt = new K();
|
|
168
168
|
export {
|
|
169
|
-
|
|
170
|
-
|
|
169
|
+
K as EventsPublicTokensDB,
|
|
170
|
+
xt as eventsPublicTokensDB
|
|
171
171
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("idb-keyval"),a=require("../../error-handling/logger.cjs"),d=require("../../functions/utils/
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("idb-keyval"),a=require("../../error-handling/logger.cjs"),d=require("../../functions/utils/caseInsensitive.utils.cjs");class h{STORAGE_KEY="hiddenTokenAddresses";UNHIDDEN_SPAM_KEY="unhiddenSpamTokens";async getHiddenTokens(e){try{return(await i.get(this.STORAGE_KEY))?.[e]||[]}catch(r){return a.Logger.error("Error retrieving hidden tokens",r),[]}}async getHiddenTokenAddresses(e){try{return(await this.getHiddenTokens(e)).map(({erc20TokenAddress:s})=>s.toLowerCase())}catch(r){return a.Logger.error("Error retrieving hidden tokens",r),[]}}async filterOutHiddenTokens(e,r){const s=await this.getHiddenTokens(e);return r.filter(n=>!s.some(t=>d.caseInsensitiveEqual(t.erc20TokenAddress,n.erc20TokenAddress)))}async hideToken(e){try{await i.update(this.STORAGE_KEY,r=>{const s=r??{},{chainId:n}=e;return s[n]||(s[n]=[]),s[n].some(({erc20TokenAddress:o})=>d.caseInsensitiveEqual(o,e.erc20TokenAddress))||s[n].push(e),s}),e.isSpam&&await this.deleteUnhiddenSpamToken(e)}catch(r){a.Logger.error("Error hiding token",r)}}async showToken(e){try{await i.update(this.STORAGE_KEY,r=>{const{chainId:s}=e,n=r??{};return n[s]||(n[s]=[]),n[s]=n[s].filter(({erc20TokenAddress:t})=>!d.caseInsensitiveEqual(t,e.erc20TokenAddress)),n}),e.isSpam&&await this.storeUnhiddenSpamToken(e)}catch(r){a.Logger.error("Error showing token",r)}}async storeUnhiddenSpamToken(e){const{chainId:r}=e;try{await i.update(this.UNHIDDEN_SPAM_KEY,s=>{const n=s??{};return n[r]||(n[r]=[]),n[r].some(({erc20TokenAddress:o})=>d.caseInsensitiveEqual(o,e.erc20TokenAddress))||n[r].push(e),n})}catch(s){a.Logger.error("Error storing unhidden spam token",s)}}async deleteUnhiddenSpamToken(e){await i.update(this.UNHIDDEN_SPAM_KEY,r=>{const{chainId:s}=e,n=r??{};return n[s]=n[s]?.filter(({erc20TokenAddress:t})=>!d.caseInsensitiveEqual(t,e.erc20TokenAddress)),n})}async getUnhiddenSpamTokens(e){try{return(await i.get(this.UNHIDDEN_SPAM_KEY))?.[e]||[]}catch(r){return a.Logger.error("Error retrieving unhidden spam tokens",r),[]}}async hideUnnecessarySpamTokens(e,r){const s=await this.getUnhiddenSpamTokens(e),n=r.filter(({erc20TokenAddress:t,isSpam:o})=>o?!s.some(({erc20TokenAddress:c})=>d.caseInsensitiveEqual(t,c)):!1);await Promise.all(n.map(t=>this.hideToken(t)))}async hideSpamsAndFetchHiddenTokensAddresses(e,r){return await this.hideUnnecessarySpamTokens(e,r),this.getHiddenTokenAddresses(e)}}const u=new h;exports.tokenVisibilityStorage=u;
|
|
@@ -1,32 +1,38 @@
|
|
|
1
|
-
import { get as
|
|
1
|
+
import { get as c, update as o } from "idb-keyval";
|
|
2
2
|
import { Logger as a } from "../../error-handling/logger.mjs";
|
|
3
|
-
import {
|
|
4
|
-
class
|
|
3
|
+
import { caseInsensitiveEqual as d } from "../../functions/utils/caseInsensitive.utils.mjs";
|
|
4
|
+
class T {
|
|
5
5
|
STORAGE_KEY = "hiddenTokenAddresses";
|
|
6
6
|
UNHIDDEN_SPAM_KEY = "unhiddenSpamTokens";
|
|
7
7
|
async getHiddenTokens(e) {
|
|
8
8
|
try {
|
|
9
|
-
return (await
|
|
9
|
+
return (await c(this.STORAGE_KEY))?.[e] || [];
|
|
10
10
|
} catch (r) {
|
|
11
11
|
return a.error("Error retrieving hidden tokens", r), [];
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
async getHiddenTokenAddresses(e) {
|
|
15
15
|
try {
|
|
16
|
-
return (await this.getHiddenTokens(e)).map(({ erc20TokenAddress:
|
|
16
|
+
return (await this.getHiddenTokens(e)).map(({ erc20TokenAddress: s }) => s.toLowerCase());
|
|
17
17
|
} catch (r) {
|
|
18
18
|
return a.error("Error retrieving hidden tokens", r), [];
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
async filterOutHiddenTokens(e, r) {
|
|
22
|
-
const
|
|
23
|
-
return r.filter(
|
|
22
|
+
const s = await this.getHiddenTokens(e);
|
|
23
|
+
return r.filter(
|
|
24
|
+
(n) => !s.some(
|
|
25
|
+
(t) => d(t.erc20TokenAddress, n.erc20TokenAddress)
|
|
26
|
+
)
|
|
27
|
+
);
|
|
24
28
|
}
|
|
25
29
|
async hideToken(e) {
|
|
26
30
|
try {
|
|
27
31
|
await o(this.STORAGE_KEY, (r) => {
|
|
28
|
-
const
|
|
29
|
-
return
|
|
32
|
+
const s = r ?? {}, { chainId: n } = e;
|
|
33
|
+
return s[n] || (s[n] = []), s[n].some(
|
|
34
|
+
({ erc20TokenAddress: i }) => d(i, e.erc20TokenAddress)
|
|
35
|
+
) || s[n].push(e), s;
|
|
30
36
|
}), e.isSpam && await this.deleteUnhiddenSpamToken(e);
|
|
31
37
|
} catch (r) {
|
|
32
38
|
a.error("Error hiding token", r);
|
|
@@ -35,8 +41,10 @@ class c {
|
|
|
35
41
|
async showToken(e) {
|
|
36
42
|
try {
|
|
37
43
|
await o(this.STORAGE_KEY, (r) => {
|
|
38
|
-
const { chainId:
|
|
39
|
-
return n[
|
|
44
|
+
const { chainId: s } = e, n = r ?? {};
|
|
45
|
+
return n[s] || (n[s] = []), n[s] = n[s].filter(
|
|
46
|
+
({ erc20TokenAddress: t }) => !d(t, e.erc20TokenAddress)
|
|
47
|
+
), n;
|
|
40
48
|
}), e.isSpam && await this.storeUnhiddenSpamToken(e);
|
|
41
49
|
} catch (r) {
|
|
42
50
|
a.error("Error showing token", r);
|
|
@@ -45,38 +53,44 @@ class c {
|
|
|
45
53
|
async storeUnhiddenSpamToken(e) {
|
|
46
54
|
const { chainId: r } = e;
|
|
47
55
|
try {
|
|
48
|
-
await o(this.UNHIDDEN_SPAM_KEY, (
|
|
49
|
-
const n =
|
|
50
|
-
return n[r] || (n[r] = []), n[r].some(
|
|
56
|
+
await o(this.UNHIDDEN_SPAM_KEY, (s) => {
|
|
57
|
+
const n = s ?? {};
|
|
58
|
+
return n[r] || (n[r] = []), n[r].some(
|
|
59
|
+
({ erc20TokenAddress: i }) => d(i, e.erc20TokenAddress)
|
|
60
|
+
) || n[r].push(e), n;
|
|
51
61
|
});
|
|
52
|
-
} catch (
|
|
53
|
-
a.error("Error storing unhidden spam token",
|
|
62
|
+
} catch (s) {
|
|
63
|
+
a.error("Error storing unhidden spam token", s);
|
|
54
64
|
}
|
|
55
65
|
}
|
|
56
66
|
async deleteUnhiddenSpamToken(e) {
|
|
57
67
|
await o(this.UNHIDDEN_SPAM_KEY, (r) => {
|
|
58
|
-
const { chainId:
|
|
59
|
-
return n[
|
|
68
|
+
const { chainId: s } = e, n = r ?? {};
|
|
69
|
+
return n[s] = n[s]?.filter(
|
|
70
|
+
({ erc20TokenAddress: t }) => !d(t, e.erc20TokenAddress)
|
|
71
|
+
), n;
|
|
60
72
|
});
|
|
61
73
|
}
|
|
62
74
|
async getUnhiddenSpamTokens(e) {
|
|
63
75
|
try {
|
|
64
|
-
return (await
|
|
76
|
+
return (await c(this.UNHIDDEN_SPAM_KEY))?.[e] || [];
|
|
65
77
|
} catch (r) {
|
|
66
78
|
return a.error("Error retrieving unhidden spam tokens", r), [];
|
|
67
79
|
}
|
|
68
80
|
}
|
|
69
81
|
// From the list of tokens, hide the spam tokens that are not in the unhidden spam tokens list
|
|
70
82
|
async hideUnnecessarySpamTokens(e, r) {
|
|
71
|
-
const
|
|
72
|
-
|
|
83
|
+
const s = await this.getUnhiddenSpamTokens(e), n = r.filter(({ erc20TokenAddress: t, isSpam: i }) => i ? !s.some(
|
|
84
|
+
({ erc20TokenAddress: h }) => d(t, h)
|
|
85
|
+
) : !1);
|
|
86
|
+
await Promise.all(n.map((t) => this.hideToken(t)));
|
|
73
87
|
}
|
|
74
88
|
// First hide spam tokens from the list, then fetch the all hidden tokens addresses
|
|
75
89
|
async hideSpamsAndFetchHiddenTokensAddresses(e, r) {
|
|
76
90
|
return await this.hideUnnecessarySpamTokens(e, r), this.getHiddenTokenAddresses(e);
|
|
77
91
|
}
|
|
78
92
|
}
|
|
79
|
-
const y = new
|
|
93
|
+
const y = new T();
|
|
80
94
|
export {
|
|
81
95
|
y as tokenVisibilityStorage
|
|
82
96
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const O=require("@solana/web3.js"),E=require("../../crypto/poseidon.cjs"),B=require("../../constants/chains.constants.cjs"),z=require("../utxo/Utxo.cjs"),_=require("./keys.cjs"),a=require("ethers"),y="solana-on-chain-utxo:",x=8,P=e=>{if(e.length!==x)throw new Error(`Expected ${x} on-chain fields, received ${e.length}`);const t=e.map((n,r)=>{const o=n instanceof Uint8Array?n:Uint8Array.from(n);if(o.length!==32)throw new Error(`Expected bytes32 length 32 at position ${r}, got ${o.length}`);return`0x${Buffer.from(o).toString("hex")}`});return`${y}${a.ethers.AbiCoder.defaultAbiCoder().encode(["bytes32[8]"],[t])}`},I=e=>e.startsWith(y),S=e=>{if(!I(e))throw new Error("Invalid encoded Solana UTXO payload");const[t]=a.ethers.AbiCoder.defaultAbiCoder().decode(["bytes32[8]"],e.slice(y.length)),n=t;if(!Array.isArray(n)||n.length!==x)throw new Error("Malformed encoded Solana UTXO payload");const[r,o,s,i,d,c,h,l]=n,m=BigInt(r),u=BigInt(i),A=a.ethers.toBeHex(BigInt(d)),g=BigInt(c),f=BigInt(h),H=BigInt(l).toString(),k=Array.from(a.ethers.getBytes(o)),w=Array.from(a.ethers.getBytes(s)),C=Uint8Array.from([...k.slice(16),...w.slice(16)]),p=new O.PublicKey(C).toBase58(),T=E.poseidonHash(BigInt(o),BigInt(s));return{amount:m,erc20TokenAddress:T,mintAddress:p,randomization:u,stealthAddress:A,H0:g,H1:f,timeStamp:H}},U=e=>{const t=a.ethers.AbiCoder.defaultAbiCoder().decode(["uint256","address","tuple(uint256, uint256, uint256, uint256)","uint256","uint256"],e),n=BigInt(t[0]),r=t[1],o=BigInt(t[2][0]),s=a.ethers.toBeHex(BigInt(t[2][1])),i=BigInt(t[2][2]),d=BigInt(t[2][3]),c=BigInt(t[3]).toString(),h=Number(t[4]);return{amount:n,erc20TokenAddress:r,randomization:o,stealthAddress:s,H0:i,H1:d,timeStamp:c,tokenId:h}},b=(e,t,n)=>{if(B.isSolanaLike(n)){const{amount:h,erc20TokenAddress:l,mintAddress:m,randomization:u,stealthAddress:A,timeStamp:g}=S(e);return{amount:h,erc20TokenAddress:l,mintAddress:m,timeStamp:g,tokenId:0,randomization:u,shieldedPrivateKey:t,stealthAddress:A}}const{amount:r,erc20TokenAddress:o,timeStamp:s,tokenId:i,randomization:d,stealthAddress:c}=U(e);return{amount:r,erc20TokenAddress:o,timeStamp:s,tokenId:i,randomization:d,shieldedPrivateKey:t,stealthAddress:c}},$=(e,t,n)=>new z.Utxo(b(e,t,n)),q=(e,t,n)=>{const{randomization:r,H0:o,H1:s}=B.isSolanaLike(n)?S(e):U(e),i=_.UserKeys.checkSignature(r,o,s,t);if(!i)throw new Error("UTXO doesn't belong to user");return i};exports.abiDecodeUtxo=U;exports.checkUtxoSignature=q;exports.decodeSolanaOnChainUtxo=S;exports.decodeUtxo=$;exports.decodeUtxoConstructorArgs=b;exports.encodeSolanaOnChainUtxo=P;exports.isSolanaOnChainUtxo=I;
|