@hinkal/common 0.3.2 → 0.3.3
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/README.md +15 -18
- package/common/src/API/API.cjs +1 -1
- package/common/src/API/API.d.ts +5 -5
- package/common/src/API/API.mjs +78 -78
- package/common/src/API/callRelayer.d.ts +3 -0
- package/common/src/API/enclaveUtxoCalls.cjs +1 -1
- package/common/src/API/enclaveUtxoCalls.d.ts +8 -7
- package/common/src/API/enclaveUtxoCalls.mjs +5 -3
- package/common/src/API/getOdosPriceForToken.cjs +1 -0
- package/common/src/API/getOdosPriceForToken.d.ts +1 -0
- package/common/src/API/getOdosPriceForToken.mjs +14 -0
- package/common/src/API/getWebsiteURL.d.ts +0 -1
- package/common/src/API/index.cjs +1 -1
- package/common/src/API/index.d.ts +0 -1
- package/common/src/API/index.mjs +1 -2
- package/common/src/API/rewardsUserCalls.cjs +1 -1
- package/common/src/API/rewardsUserCalls.d.ts +0 -2
- package/common/src/API/rewardsUserCalls.mjs +2 -3
- package/common/src/API/tenderly.api.cjs +1 -1
- package/common/src/API/tenderly.api.d.ts +5 -10
- package/common/src/API/tenderly.api.mjs +1 -1
- package/common/src/constants/addresses.constants.cjs +1 -1
- package/common/src/constants/addresses.constants.d.ts +4 -46
- package/common/src/constants/addresses.constants.mjs +19 -60
- package/common/src/constants/balance.constants.cjs +1 -0
- package/common/src/constants/balance.constants.d.ts +1 -0
- package/common/src/constants/balance.constants.mjs +4 -0
- package/common/src/constants/chains.constants.cjs +1 -1
- package/common/src/constants/chains.constants.d.ts +3 -1
- package/common/src/constants/chains.constants.mjs +117 -131
- package/common/src/constants/coingecko.constants.cjs +1 -1
- package/common/src/constants/coingecko.constants.d.ts +2 -0
- package/common/src/constants/coingecko.constants.mjs +1 -1
- package/common/src/constants/contracts.constants.cjs +1 -1
- package/common/src/constants/contracts.constants.d.ts +0 -109
- package/common/src/constants/contracts.constants.mjs +13 -22
- package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.mjs +1 -3
- package/common/src/constants/deploy-data/deploy-data-arcTestnet.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-arcTestnet.json.mjs +6 -6
- package/common/src/constants/deploy-data/deploy-data-base.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-base.json.mjs +1 -3
- package/common/src/constants/deploy-data/deploy-data-bnbMainnet.json.cjs +1 -0
- package/common/src/constants/deploy-data/deploy-data-bnbMainnet.json.mjs +10 -0
- package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.mjs +1 -3
- package/common/src/constants/deploy-data/deploy-data-localhost.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-localhost.json.mjs +0 -3
- package/common/src/constants/deploy-data/deploy-data-optimism.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-optimism.json.mjs +6 -8
- package/common/src/constants/deploy-data/deploy-data-optimismTest.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-optimismTest.json.mjs +1 -4
- package/common/src/constants/deploy-data/deploy-data-polygon.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-polygon.json.mjs +1 -3
- package/common/src/constants/deploy-data/deploy-data-sepoliaTestnet.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-sepoliaTestnet.json.mjs +0 -1
- package/common/src/constants/deploy-data/deploy-data-solana.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-solana.json.mjs +2 -2
- package/common/src/constants/deploy-data/deploy-data-tempo.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-tempo.json.mjs +6 -7
- package/common/src/constants/deploy-data/deploy-data-tronMainnet.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-tronMainnet.json.mjs +2 -4
- package/common/src/constants/deploy-data/deploy-data-tronNile.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-tronNile.json.mjs +2 -4
- package/common/src/constants/deploy-data/index.cjs +1 -1
- package/common/src/constants/deploy-data/index.d.ts +2 -1
- package/common/src/constants/deploy-data/index.mjs +16 -15
- package/common/src/constants/deploy-data/shared-deploy-data-solana.json.cjs +1 -1
- package/common/src/constants/deploy-data/shared-deploy-data-solana.json.mjs +1 -1
- package/common/src/constants/deploy-data/shared-deploy-data-tron.json.cjs +1 -1
- package/common/src/constants/deploy-data/shared-deploy-data-tron.json.mjs +2 -35
- package/common/src/constants/events.constants.cjs +1 -1
- package/common/src/constants/events.constants.mjs +3 -2
- package/common/src/constants/fees.constants.cjs +1 -1
- package/common/src/constants/fees.constants.mjs +2 -2
- package/common/src/constants/index.cjs +1 -1
- package/common/src/constants/index.d.ts +0 -1
- package/common/src/constants/index.mjs +1 -0
- package/common/src/constants/protocol.constants.cjs +2 -2
- package/common/src/constants/protocol.constants.d.ts +3 -1
- package/common/src/constants/protocol.constants.mjs +2 -2
- package/common/src/constants/server.constants.cjs +1 -1
- package/common/src/constants/server.constants.d.ts +1 -2
- package/common/src/constants/server.constants.mjs +1 -2
- package/common/src/constants/tokens.constants.cjs +1 -1
- package/common/src/constants/tokens.constants.mjs +1 -1
- package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
- package/common/src/data-structures/Hinkal/Hinkal.mjs +26 -22
- package/common/src/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
- package/common/src/data-structures/Hinkal/handleAutoDepositBack.d.ts +1 -1
- package/common/src/data-structures/Hinkal/handleAutoDepositBack.mjs +36 -35
- package/common/src/data-structures/Hinkal/hinkalActionReceive.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalActionReceive.mjs +3 -3
- package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.mjs +60 -58
- package/common/src/data-structures/Hinkal/hinkalClaimUtxo.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalClaimUtxo.mjs +42 -47
- package/common/src/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDeposit.d.ts +1 -0
- package/common/src/data-structures/Hinkal/hinkalDeposit.mjs +50 -116
- package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.mjs +102 -92
- package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.d.ts +3 -2
- package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +104 -59
- package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +4 -4
- package/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.mjs +7 -3
- package/common/src/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalPrivateWallet.mjs +51 -39
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.d.ts +1 -2
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.mjs +53 -131
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.d.ts +1 -1
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.mjs +29 -47
- package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.mjs +3 -3
- package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.mjs +70 -45
- package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.d.ts +2 -2
- package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.mjs +47 -45
- package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +8 -4
- package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +133 -81
- package/common/src/data-structures/Hinkal/hinkalSolanaProoflessDeposit.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaProoflessDeposit.d.ts +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaProoflessDeposit.mjs +16 -12
- package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.d.ts +2 -2
- package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +61 -54
- package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaSwap.mjs +87 -51
- package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.d.ts +1 -0
- package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.mjs +95 -50
- package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +60 -34
- package/common/src/data-structures/Hinkal/hinkalSwap.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSwap.mjs +29 -32
- package/common/src/data-structures/Hinkal/hinkalTransact.cjs +1 -0
- package/common/src/data-structures/Hinkal/hinkalTransact.d.ts +3 -0
- package/common/src/data-structures/Hinkal/hinkalTransact.mjs +90 -0
- package/common/src/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalTransfer.mjs +40 -45
- package/common/src/data-structures/Hinkal/hinkalTronDepositToSelf.cjs +1 -0
- package/common/src/data-structures/Hinkal/hinkalTronDepositToSelf.d.ts +8 -0
- package/common/src/data-structures/Hinkal/hinkalTronDepositToSelf.mjs +30 -0
- package/common/src/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalWithdraw.mjs +35 -45
- package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +167 -95
- package/common/src/data-structures/Hinkal/prepareTronDepositToSelf.cjs +1 -0
- package/common/src/data-structures/Hinkal/prepareTronDepositToSelf.d.ts +27 -0
- package/common/src/data-structures/Hinkal/prepareTronDepositToSelf.mjs +31 -0
- package/common/src/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
- package/common/src/data-structures/Hinkal/resetMerkleTrees.mjs +1 -0
- package/common/src/data-structures/IndexedDB/activity-db.cjs +1 -1
- package/common/src/data-structures/IndexedDB/activity-db.mjs +34 -34
- package/common/src/data-structures/IndexedDB/signatures-db.cjs +1 -1
- package/common/src/data-structures/IndexedDB/signatures-db.mjs +11 -11
- package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +11 -10
- package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.mjs +14 -14
- package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.mjs +26 -26
- package/common/src/data-structures/TokenDBs/PrivateTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/PrivateTokensDB.mjs +15 -15
- package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.mjs +12 -16
- package/common/src/data-structures/TokenDBs/TronPublicTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/TronPublicTokensDB.d.ts +1 -0
- package/common/src/data-structures/TokenDBs/TronPublicTokensDB.mjs +8 -4
- package/common/src/data-structures/crypto-keys/decodeUTXO.cjs +1 -1
- package/common/src/data-structures/crypto-keys/decodeUTXO.d.ts +1 -0
- package/common/src/data-structures/crypto-keys/decodeUTXO.mjs +12 -12
- package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
- package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.mjs +12 -12
- package/common/src/data-structures/event-service/helpers/ClientEventHelper.cjs +1 -1
- package/common/src/data-structures/event-service/helpers/ClientEventHelper.mjs +6 -6
- package/common/src/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.cjs +1 -1
- package/common/src/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.mjs +27 -23
- package/common/src/data-structures/merkle-tree/MerkleTree.cjs +1 -1
- package/common/src/data-structures/merkle-tree/MerkleTree.d.ts +10 -0
- package/common/src/data-structures/merkle-tree/MerkleTree.mjs +9 -1
- package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.cjs +1 -1
- package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.d.ts +3 -0
- package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.mjs +64 -54
- package/common/src/error-handling/error-codes.constants.cjs +1 -1
- package/common/src/error-handling/error-codes.constants.d.ts +6 -11
- package/common/src/error-handling/error-codes.constants.mjs +8 -13
- package/common/src/error-handling/get-error.message.cjs +1 -1
- package/common/src/error-handling/get-error.message.mjs +27 -14
- package/common/src/externalABIs/index.cjs +1 -1
- package/common/src/externalABIs/index.d.ts +1 -113
- package/common/src/externalABIs/index.mjs +2 -6
- package/common/src/functions/auto-deposit-back-helpers/select-gas-token.cjs +1 -1
- package/common/src/functions/auto-deposit-back-helpers/select-gas-token.mjs +8 -8
- package/common/src/functions/index.cjs +1 -1
- package/common/src/functions/index.d.ts +0 -1
- package/common/src/functions/index.mjs +12 -15
- package/common/src/functions/pre-transaction/calculateSolanaNullifierCount.cjs +1 -1
- package/common/src/functions/pre-transaction/calculateSolanaNullifierCount.mjs +39 -5
- package/common/src/functions/pre-transaction/getExternalSwapAddress.cjs +1 -1
- package/common/src/functions/pre-transaction/getExternalSwapAddress.mjs +2 -18
- package/common/src/functions/pre-transaction/getSolanaCalldataHash.cjs +1 -1
- package/common/src/functions/pre-transaction/getSolanaCalldataHash.d.ts +1 -1
- package/common/src/functions/pre-transaction/getSolanaCalldataHash.mjs +11 -10
- package/common/src/functions/pre-transaction/getVolatileTransferAmount.cjs +1 -1
- package/common/src/functions/pre-transaction/getVolatileTransferAmount.mjs +12 -12
- package/common/src/functions/pre-transaction/index.cjs +1 -1
- package/common/src/functions/pre-transaction/index.d.ts +1 -2
- package/common/src/functions/pre-transaction/index.mjs +1 -2
- package/common/src/functions/pre-transaction/outputUtxoProcessing.cjs +1 -1
- package/common/src/functions/pre-transaction/outputUtxoProcessing.d.ts +1 -1
- package/common/src/functions/pre-transaction/outputUtxoProcessing.mjs +7 -8
- package/common/src/functions/pre-transaction/solana.cjs +1 -1
- package/common/src/functions/pre-transaction/solana.d.ts +13 -0
- package/common/src/functions/pre-transaction/solana.mjs +46 -22
- package/common/src/functions/pre-transaction/store-proof.cjs +1 -1
- package/common/src/functions/pre-transaction/store-proof.d.ts +1 -1
- package/common/src/functions/pre-transaction/store-proof.mjs +1 -0
- package/common/src/functions/pre-transaction/waitForDepositedUtxosInMerkleTree.cjs +1 -1
- package/common/src/functions/pre-transaction/waitForDepositedUtxosInMerkleTree.mjs +1 -1
- package/common/src/functions/private-wallet/emporium.helpers.cjs +1 -1
- package/common/src/functions/private-wallet/emporium.helpers.mjs +12 -13
- package/common/src/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
- package/common/src/functions/private-wallet/emporium.swap.helpers.d.ts +0 -1
- package/common/src/functions/private-wallet/emporium.swap.helpers.mjs +38 -80
- package/common/src/functions/private-wallet/index.cjs +1 -1
- package/common/src/functions/private-wallet/index.d.ts +0 -1
- package/common/src/functions/private-wallet/index.mjs +0 -1
- package/common/src/functions/snarkjs/common.snarkjs.cjs +1 -1
- package/common/src/functions/snarkjs/common.snarkjs.d.ts +2 -2
- package/common/src/functions/snarkjs/common.snarkjs.mjs +89 -52
- package/common/src/functions/snarkjs/constant.cjs +1 -1
- package/common/src/functions/snarkjs/constant.d.ts +32 -0
- package/common/src/functions/snarkjs/constant.mjs +32 -0
- package/common/src/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
- package/common/src/functions/snarkjs/constructGeneralZkProof.d.ts +1 -1
- package/common/src/functions/snarkjs/constructGeneralZkProof.mjs +78 -65
- package/common/src/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
- package/common/src/functions/snarkjs/constructSolanaZkProof.d.ts +4 -1
- package/common/src/functions/snarkjs/constructSolanaZkProof.mjs +44 -39
- package/common/src/functions/snarkjs/constructTxEnclave.cjs +1 -0
- package/common/src/functions/snarkjs/constructTxEnclave.d.ts +32 -0
- package/common/src/functions/snarkjs/constructTxEnclave.mjs +162 -0
- package/common/src/functions/snarkjs/fetchTronInsertionSiblings.cjs +1 -0
- package/common/src/functions/snarkjs/fetchTronInsertionSiblings.d.ts +7 -0
- package/common/src/functions/snarkjs/fetchTronInsertionSiblings.mjs +13 -0
- package/common/src/functions/snarkjs/generateCircomData.cjs +1 -1
- package/common/src/functions/snarkjs/generateCircomData.d.ts +1 -1
- package/common/src/functions/snarkjs/generateCircomData.mjs +33 -27
- package/common/src/functions/snarkjs/generateMainAndCommitmentZkProof.cjs +1 -1
- package/common/src/functions/snarkjs/generateMainAndCommitmentZkProof.d.ts +1 -1
- package/common/src/functions/snarkjs/generateMainAndCommitmentZkProof.mjs +7 -7
- package/common/src/functions/snarkjs/generateZkProof.cjs +1 -1
- package/common/src/functions/snarkjs/generateZkProof.d.ts +1 -1
- package/common/src/functions/snarkjs/generateZkProof.mjs +9 -16
- package/common/src/functions/snarkjs/signedMessageHash.cjs +1 -1
- package/common/src/functions/snarkjs/signedMessageHash.d.ts +11 -0
- package/common/src/functions/snarkjs/signedMessageHash.mjs +21 -3
- package/common/src/functions/snarkjs/verifySignedEnclaveResponse.cjs +1 -0
- package/common/src/functions/snarkjs/verifySignedEnclaveResponse.d.ts +1 -0
- package/common/src/functions/snarkjs/verifySignedEnclaveResponse.mjs +11 -0
- package/common/src/functions/utils/addresses.cjs +1 -1
- package/common/src/functions/utils/addresses.d.ts +1 -0
- package/common/src/functions/utils/addresses.mjs +6 -2
- package/common/src/functions/utils/buildClaimableDepositPlan.d.ts +2 -2
- package/common/src/functions/utils/convertIntegrationProviderToExternalActionId.cjs +1 -1
- package/common/src/functions/utils/convertIntegrationProviderToExternalActionId.mjs +1 -1
- package/common/src/functions/utils/deposit-claimable.utils.cjs +1 -1
- package/common/src/functions/utils/deposit-claimable.utils.d.ts +1 -1
- package/common/src/functions/utils/deposit-claimable.utils.mjs +3 -1
- package/common/src/functions/utils/enclave-utxo-storage.cjs +1 -1
- package/common/src/functions/utils/enclave-utxo-storage.mjs +1 -1
- package/common/src/functions/utils/fees.utils.cjs +1 -1
- package/common/src/functions/utils/fees.utils.mjs +31 -31
- package/common/src/functions/utils/formatter.d.ts +1 -0
- package/common/src/functions/utils/getUtxosFromReceipt.utils.cjs +1 -1
- package/common/src/functions/utils/getUtxosFromReceipt.utils.mjs +6 -6
- package/common/src/functions/utils/getUtxosFromReceiptSolana.cjs +1 -1
- package/common/src/functions/utils/getUtxosFromReceiptSolana.mjs +11 -10
- package/common/src/functions/utils/index.cjs +1 -1
- package/common/src/functions/utils/index.d.ts +2 -2
- package/common/src/functions/utils/index.mjs +11 -10
- package/common/src/functions/utils/process.utils.cjs +1 -1
- package/common/src/functions/utils/process.utils.d.ts +0 -1
- package/common/src/functions/utils/process.utils.mjs +2 -11
- package/common/src/functions/utils/publicBalance.utils.cjs +1 -1
- package/common/src/functions/utils/publicBalance.utils.mjs +2 -1
- package/common/src/functions/utils/transfer-claimable.utils.cjs +1 -1
- package/common/src/functions/utils/transfer-claimable.utils.mjs +2 -2
- package/common/src/functions/utils/tron.utils.cjs +1 -1
- package/common/src/functions/utils/tron.utils.d.ts +5 -14
- package/common/src/functions/utils/tron.utils.mjs +91 -127
- package/common/src/functions/utils/waasStamp.cjs +1 -0
- package/common/src/functions/utils/waasStamp.d.ts +5 -0
- package/common/src/functions/utils/waasStamp.mjs +2 -0
- package/common/src/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
- package/common/src/functions/web3/events/getInputUtxoAndBalance.d.ts +3 -8
- package/common/src/functions/web3/events/getInputUtxoAndBalance.mjs +44 -48
- package/common/src/functions/web3/events/getInputUtxosEnclave.cjs +1 -1
- package/common/src/functions/web3/events/getInputUtxosEnclave.d.ts +4 -3
- package/common/src/functions/web3/events/getInputUtxosEnclave.mjs +34 -25
- package/common/src/functions/web3/events/getShieldedBalance.cjs +1 -1
- package/common/src/functions/web3/events/getShieldedBalance.d.ts +1 -1
- package/common/src/functions/web3/events/getShieldedBalance.mjs +88 -76
- package/common/src/functions/web3/fetchSolanaMerkleTreeRootHash.cjs +1 -1
- package/common/src/functions/web3/fetchSolanaMerkleTreeRootHash.mjs +9 -6
- package/common/src/functions/web3/functionCalls/approveToken.cjs +1 -1
- package/common/src/functions/web3/functionCalls/approveToken.mjs +12 -12
- package/common/src/functions/web3/functionCalls/submitProof.cjs +1 -0
- package/common/src/functions/web3/functionCalls/submitProof.d.ts +5 -0
- package/common/src/functions/web3/functionCalls/submitProof.mjs +26 -0
- package/common/src/functions/web3/functionCalls/transactCallDirectTron.cjs +1 -1
- package/common/src/functions/web3/functionCalls/transactCallDirectTron.d.ts +7 -3
- package/common/src/functions/web3/functionCalls/transactCallDirectTron.mjs +81 -87
- package/common/src/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
- package/common/src/functions/web3/functionCalls/transactCallRelayer.d.ts +6 -11
- package/common/src/functions/web3/functionCalls/transactCallRelayer.mjs +4 -2
- package/common/src/functions/web3/functionCalls/waitForErc20Approvals.cjs +1 -1
- package/common/src/functions/web3/functionCalls/waitForErc20Approvals.mjs +6 -6
- package/common/src/functions/web3/getContractMetadata.cjs +1 -1
- package/common/src/functions/web3/getContractMetadata.mjs +1 -1
- package/common/src/functions/web3/getTokenHolder.cjs +1 -1
- package/common/src/functions/web3/getTokenHolder.mjs +3 -2
- package/common/src/functions/web3/index.cjs +1 -1
- package/common/src/functions/web3/index.d.ts +0 -3
- package/common/src/functions/web3/index.mjs +0 -3
- package/common/src/functions/web3/lifiAPI.cjs +1 -1
- package/common/src/functions/web3/lifiAPI.mjs +1 -1
- package/common/src/providers/TronProviderAdapter.cjs +1 -1
- package/common/src/providers/TronProviderAdapter.mjs +7 -1
- package/common/src/providers/WagmiProviderAdapter.cjs +1 -1
- package/common/src/providers/WagmiProviderAdapter.mjs +5 -5
- package/common/src/types/activities.types.cjs +1 -1
- package/common/src/types/activities.types.d.ts +0 -9
- package/common/src/types/activities.types.mjs +1 -1
- package/common/src/types/admin.types.cjs +1 -1
- package/common/src/types/admin.types.d.ts +3 -1
- package/common/src/types/admin.types.mjs +1 -1
- package/common/src/types/bridging-tx.types.d.ts +8 -0
- package/common/src/types/cache.types.cjs +1 -1
- package/common/src/types/cache.types.d.ts +2 -1
- package/common/src/types/cache.types.mjs +1 -1
- package/common/src/types/circom-data.types.d.ts +6 -0
- package/common/src/types/commitments.types.d.ts +2 -0
- package/common/src/types/dashboard-transaction.types.d.ts +3 -0
- package/common/src/types/ethereum-network.types.cjs +1 -1
- package/common/src/types/ethereum-network.types.d.ts +6 -15
- package/common/src/types/ethereum-network.types.mjs +1 -1
- package/common/src/types/external-action.types.cjs +1 -1
- package/common/src/types/external-action.types.d.ts +2 -5
- package/common/src/types/external-action.types.mjs +1 -1
- package/common/src/types/hinkal.types.cjs +1 -1
- package/common/src/types/hinkal.types.d.ts +4 -7
- package/common/src/types/hinkal.types.mjs +1 -1
- package/common/src/types/index.cjs +1 -1
- package/common/src/types/index.d.ts +2 -0
- package/common/src/types/index.mjs +1 -0
- package/common/src/types/near-intents.types.d.ts +1 -0
- package/common/src/types/offscreen.types.cjs +1 -1
- package/common/src/types/offscreen.types.d.ts +0 -1
- package/common/src/types/offscreen.types.mjs +1 -1
- package/common/src/types/pay-activities.types.d.ts +3 -0
- package/common/src/types/remote-proof.types.d.ts +0 -6
- package/common/src/types/remote-tx-build.types.d.ts +242 -0
- package/common/src/types/scheduled-transactions.types.d.ts +3 -0
- package/common/src/types/solana.types.d.ts +7 -0
- package/common/src/types/tenderly.api.types.d.ts +70 -0
- package/common/src/types/transact.types.cjs +1 -0
- package/common/src/types/transact.types.d.ts +53 -0
- package/common/src/types/transact.types.mjs +6 -0
- package/common/src/webworker/{logError-uy41lNp1.js → logError-CxZzSALU.js} +1 -1
- package/common/src/webworker/package.json +12 -12
- package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
- package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
- package/common/src/webworker/snarkjsWorkerNode.cjs +1 -1
- package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
- package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
- package/common/src/webworker/utxoWorkerNode.cjs +1 -1
- package/common/src/webworker/viteWorkerURL.constant.cjs +3 -3
- package/common/src/webworker/viteWorkerURL.constant.mjs +3 -3
- package/common/src/webworker/workerProxy-swwPYw6e.js +1 -0
- package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
- package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
- package/common/src/webworker/zkProofWorkerNode.cjs +1 -1
- package/index.cjs +1 -1
- package/index.mjs +1 -1
- package/internal/swapApi.cjs +1 -1
- package/internal/swapApi.d.ts +3 -3
- package/internal/swapApi.mjs +22 -25
- package/package.json +12 -12
- package/services/Hinkal.cjs +1 -1
- package/services/Hinkal.d.ts +3 -3
- package/services/Hinkal.mjs +7 -7
- package/types/IHinkal.d.ts +3 -3
- package/types/swap.types.d.ts +3 -20
- package/common/src/API/callOdosAPI.cjs +0 -1
- package/common/src/API/callOdosAPI.d.ts +0 -63
- package/common/src/API/callOdosAPI.mjs +0 -18
- package/common/src/API/callOneInchAPI.cjs +0 -1
- package/common/src/API/callOneInchAPI.d.ts +0 -24
- package/common/src/API/callOneInchAPI.mjs +0 -16
- package/common/src/constants/rewards.constants.d.ts +0 -2
- package/common/src/externalABIs/IQuoterV2.json.cjs +0 -1
- package/common/src/externalABIs/IQuoterV2.json.mjs +0 -203
- package/common/src/externalABIs/ISwapRouter.json.cjs +0 -1
- package/common/src/externalABIs/ISwapRouter.json.mjs +0 -537
- package/common/src/externalABIs/IUniswapV3Factory.json.cjs +0 -1
- package/common/src/externalABIs/IUniswapV3Factory.json.mjs +0 -188
- package/common/src/externalABIs/IUniswapV3Pool.json.cjs +0 -1
- package/common/src/externalABIs/IUniswapV3Pool.json.mjs +0 -938
- package/common/src/externalABIs/UniswapV2PoolAbi.json.cjs +0 -1
- package/common/src/externalABIs/UniswapV2PoolAbi.json.mjs +0 -78
- package/common/src/functions/pre-transaction/interaction-to-action.cjs +0 -1
- package/common/src/functions/pre-transaction/interaction-to-action.d.ts +0 -2
- package/common/src/functions/pre-transaction/interaction-to-action.mjs +0 -1
- package/common/src/functions/pre-transaction/recipientUtxoProcessing.cjs +0 -1
- package/common/src/functions/pre-transaction/recipientUtxoProcessing.d.ts +0 -3
- package/common/src/functions/pre-transaction/recipientUtxoProcessing.mjs +0 -30
- package/common/src/functions/private-wallet/opProducer.cjs +0 -1
- package/common/src/functions/private-wallet/opProducer.d.ts +0 -5
- package/common/src/functions/private-wallet/opProducer.mjs +0 -3
- package/common/src/functions/snarkjs/generateZkProofEnclave.cjs +0 -1
- package/common/src/functions/snarkjs/generateZkProofEnclave.d.ts +0 -5
- package/common/src/functions/snarkjs/generateZkProofEnclave.mjs +0 -27
- package/common/src/functions/utils/get-signature-header.cjs +0 -1
- package/common/src/functions/utils/get-signature-header.d.ts +0 -5
- package/common/src/functions/utils/get-signature-header.mjs +0 -4
- package/common/src/functions/web3/odosAPI.cjs +0 -1
- package/common/src/functions/web3/odosAPI.d.ts +0 -5
- package/common/src/functions/web3/odosAPI.mjs +0 -35
- package/common/src/functions/web3/oneInchAPI.cjs +0 -1
- package/common/src/functions/web3/oneInchAPI.d.ts +0 -5
- package/common/src/functions/web3/oneInchAPI.mjs +0 -44
- package/common/src/functions/web3/uniswapAPI.cjs +0 -1
- package/common/src/functions/web3/uniswapAPI.d.ts +0 -16
- package/common/src/functions/web3/uniswapAPI.mjs +0 -60
- package/common/src/webworker/workerProxy-MheXtWa4.js +0 -1
|
@@ -1,113 +1,185 @@
|
|
|
1
|
-
import { isSolanaLike as e,
|
|
1
|
+
import { isSolanaLike as e, networkRegistry as t } from "../../constants/chains.constants.mjs";
|
|
2
2
|
import "../../constants/protocol.constants.mjs";
|
|
3
|
-
import { countTotalAmountInUtxos as
|
|
4
|
-
import { transactionErrorCodes as
|
|
5
|
-
import { randomBigInt as
|
|
6
|
-
import { UserKeys as
|
|
7
|
-
import { getCurrentTimeInSeconds as
|
|
8
|
-
import { normalizeTokenAddress as
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
3
|
+
import { countTotalAmountInUtxos as n } from "../../functions/utils/amounts.utils.mjs";
|
|
4
|
+
import { transactionErrorCodes as r } from "../../error-handling/error-codes.constants.mjs";
|
|
5
|
+
import { randomBigInt as i } from "../../functions/web3/etherFunctions.mjs";
|
|
6
|
+
import { UserKeys as a } from "../crypto-keys/keys.mjs";
|
|
7
|
+
import { getCurrentTimeInSeconds as o } from "../../functions/utils/time.utils.mjs";
|
|
8
|
+
import { normalizeTokenAddress as s } from "../../functions/utils/encodeTokenWithId.mjs";
|
|
9
|
+
import { hashEthereumAddress as c } from "../../functions/utils/addresses.mjs";
|
|
10
|
+
import { addressToHexFormat as l } from "../../functions/utils/tron.utils.mjs";
|
|
11
|
+
import { getInputUtxoAndBalancePerToken as u } from "../../functions/web3/events/getInputUtxoAndBalance.mjs";
|
|
12
|
+
import { ExternalActionId as d } from "../../types/external-action.types.mjs";
|
|
13
|
+
import { SubmitMode as f } from "../../types/transact.types.mjs";
|
|
14
|
+
import { Logger as p } from "../../error-handling/logger.mjs";
|
|
15
|
+
import { validateAndGetChainId as m } from "../../functions/utils/token-check.utils.mjs";
|
|
16
|
+
import { addPaddingToUtxos as h } from "../../functions/web3/events/getShieldedBalance.mjs";
|
|
17
|
+
import { outputUtxoProcessing as g } from "../../functions/pre-transaction/outputUtxoProcessing.mjs";
|
|
18
|
+
import { buildOutCommitments as _ } from "../../functions/snarkjs/common.snarkjs.mjs";
|
|
19
|
+
import { finalizeSolanaTxEnclaveCallRelay as v, finalizeTxEnclaveCallRelay as y, prepareSolanaStuckWithdrawEnclaveCall as b, prepareStuckWithdrawEnclaveCall as x } from "../../functions/snarkjs/constructTxEnclave.mjs";
|
|
20
|
+
import { getFeeStructure as S } from "../../functions/pre-transaction/getFeeStructure.mjs";
|
|
21
|
+
import { solanaTransactCallRelayer as C } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
|
|
22
|
+
import { hinkalTransact as w } from "./hinkalTransact.mjs";
|
|
23
|
+
import { constructSolanaZkProof as T } from "../../functions/snarkjs/constructSolanaZkProof.mjs";
|
|
24
|
+
import { updateHinkal as E } from "../../functions/auto-deposit-back-helpers/update-hinkal.mjs";
|
|
25
|
+
import { mergeWithFeeStructure as D } from "../../functions/pre-transaction/merge-with-fee-structure.mjs";
|
|
26
|
+
import { ethers as O } from "ethers";
|
|
23
27
|
//#region libs/shared/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.ts
|
|
24
|
-
var
|
|
25
|
-
let i = [...await
|
|
26
|
-
for (let t = 0; t < n.length; t += 1) {
|
|
27
|
-
let { outputUtxos: n } = h(e.userKeys, i[t], r[t], o);
|
|
28
|
-
a.push(n);
|
|
29
|
-
}
|
|
30
|
-
return {
|
|
31
|
-
inputUtxosArray: i,
|
|
32
|
-
outputUtxosArray: a
|
|
33
|
-
};
|
|
34
|
-
}, O = async (e, t, n, r) => {
|
|
35
|
-
let i = [...await m(e, t, n, r, 6, !1, !0)][0], a = s().toString(), { outputUtxos: o } = h(e.userKeys, i, r[0], a);
|
|
28
|
+
var k = 6, A = async (e, t, n, r) => {
|
|
29
|
+
let i = [...await h(e, t, n, r, 6, !1, !0)][0], a = o().toString(), { outputUtxos: s } = g(e.userKeys, i, r[0], a);
|
|
36
30
|
return {
|
|
37
31
|
inputUtxos: i,
|
|
38
|
-
outputUtxos:
|
|
32
|
+
outputUtxos: s
|
|
39
33
|
};
|
|
40
|
-
},
|
|
41
|
-
let
|
|
42
|
-
if (!
|
|
43
|
-
let
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
34
|
+
}, j = async (e, t, n, i) => {
|
|
35
|
+
let a = n.erc20TokenAddress, o = await e.getEthereumAddressByChain(t), [s, u] = await Promise.all([S(t, a, [a], d.Transact), e.getRandomRelay(t, !0)]);
|
|
36
|
+
if (!u) throw Error(r.RELAYER_NOT_AVAILABLE);
|
|
37
|
+
let f = await x(e, {
|
|
38
|
+
chainId: t,
|
|
39
|
+
erc20Address: a,
|
|
40
|
+
externalAddress: l(i),
|
|
41
|
+
relay: u,
|
|
42
|
+
feeStructure: s,
|
|
43
|
+
hashedEthereumAddress: c(o)
|
|
44
|
+
}), m = [];
|
|
45
|
+
for (let n = 0; n < f.length; n += 1) try {
|
|
46
|
+
let { jobId: r, signedMessageHash: i } = f[n], { R8: a, S: o } = e.userKeys.signEddsa(BigInt(i));
|
|
47
|
+
m.push(await y(r, {
|
|
48
|
+
R8: a,
|
|
49
|
+
S: o
|
|
50
|
+
}, t));
|
|
51
|
+
} catch (e) {
|
|
52
|
+
if (!m.length) throw e;
|
|
53
|
+
return p.error(`Stuck withdrawal partially submitted (${m.length}/${f.length})`, e), m;
|
|
54
|
+
}
|
|
55
|
+
return m;
|
|
56
|
+
}, M = async (e, t, n) => {
|
|
57
|
+
let r = await Promise.all(Array.from({ length: k }, async (r, i) => {
|
|
58
|
+
let a = i + 1, o = await S(e, t, [t], d.Transact, void 0, void 0, {
|
|
59
|
+
mintTo: t,
|
|
60
|
+
recipient: n,
|
|
61
|
+
nullifierCount: a
|
|
62
|
+
});
|
|
63
|
+
return [String(a), o];
|
|
64
|
+
}));
|
|
65
|
+
return Object.fromEntries(r);
|
|
66
|
+
}, N = async (e, t, n, i) => {
|
|
67
|
+
let a = n.erc20TokenAddress, [o, s, l] = await Promise.all([
|
|
68
|
+
e.getEthereumAddressByChain(t),
|
|
69
|
+
e.getRandomRelay(t, !0),
|
|
70
|
+
M(t, a, i)
|
|
71
|
+
]);
|
|
72
|
+
if (!s) throw Error(r.RELAYER_NOT_AVAILABLE);
|
|
73
|
+
let u = await b(e, {
|
|
74
|
+
chainId: t,
|
|
75
|
+
mintAddress: a,
|
|
76
|
+
recipient: i,
|
|
77
|
+
relayAddress: s,
|
|
78
|
+
accounts: {
|
|
79
|
+
recipient: i,
|
|
80
|
+
mint: a === "11111111111111111111111111111111" ? void 0 : a
|
|
81
|
+
},
|
|
82
|
+
feeStructures: l,
|
|
83
|
+
hashedEthereumAddress: c(o)
|
|
84
|
+
}), d = [];
|
|
85
|
+
for (let n = 0; n < u.length; n += 1) {
|
|
86
|
+
let { jobId: r, signedMessageHash: i } = u[n], { R8: a, S: o } = e.userKeys.signEddsa(BigInt(i));
|
|
87
|
+
d.push(await v(r, {
|
|
88
|
+
R8: a,
|
|
89
|
+
S: o
|
|
90
|
+
}, t));
|
|
91
|
+
}
|
|
92
|
+
return d;
|
|
93
|
+
}, P = async (e, t, n, i, a) => {
|
|
94
|
+
let o = [n.erc20TokenAddress], s = n.erc20TokenAddress, [c, u] = await Promise.all([S(t, s, o, d.Transact), e.getRandomRelay(t, !0)]);
|
|
95
|
+
if (!u) throw Error(r.RELAYER_NOT_AVAILABLE);
|
|
96
|
+
let p = l(a), m = i - c.flatFee;
|
|
97
|
+
if (m <= 0n) throw Error(`Insufficient balance to cover fee. Balance: ${i}, Fee: ${c.flatFee}`);
|
|
98
|
+
let h = [-m];
|
|
99
|
+
return await D(t, o, h, c), {
|
|
100
|
+
tx: await w(e, {
|
|
101
|
+
chainId: t,
|
|
102
|
+
erc20Addresses: o,
|
|
103
|
+
amountChanges: h,
|
|
104
|
+
externalAddress: p,
|
|
105
|
+
feeStructure: c,
|
|
106
|
+
relay: u,
|
|
107
|
+
useBlockedUtxos: !0,
|
|
108
|
+
onTxSubmitLocally: (n) => {
|
|
109
|
+
E(t, e, n.inputNullifiers?.flat(), n.outCommitments?.flat(), n.encryptedOutputs?.flat());
|
|
110
|
+
},
|
|
111
|
+
submit: { mode: f.Relayer }
|
|
112
|
+
}),
|
|
113
|
+
amountToRecipient: m
|
|
55
114
|
};
|
|
56
|
-
},
|
|
57
|
-
let u = [
|
|
58
|
-
if (!
|
|
59
|
-
let { userKeys: p, merkleTreeHinkalByChain: m } = e, h =
|
|
115
|
+
}, F = async (e, n, o, s, c, l) => {
|
|
116
|
+
let u = [o.erc20TokenAddress], { originalDeployer: f } = t[n].contractData;
|
|
117
|
+
if (!f) throw Error("missing data");
|
|
118
|
+
let { userKeys: p, merkleTreeHinkalByChain: m } = e, h = o.erc20TokenAddress, [g, v] = await Promise.all([S(n, h, u, d.Transact, void 0, void 0, {
|
|
60
119
|
mintTo: u[0],
|
|
61
120
|
recipient: c,
|
|
62
121
|
nullifierCount: l
|
|
63
|
-
}), e.getRandomRelay(
|
|
64
|
-
if (!
|
|
65
|
-
let
|
|
66
|
-
if (
|
|
67
|
-
let
|
|
68
|
-
|
|
69
|
-
let { inputUtxos:
|
|
122
|
+
}), e.getRandomRelay(n, !0)]);
|
|
123
|
+
if (!v) throw Error(r.RELAYER_NOT_AVAILABLE);
|
|
124
|
+
let y = s - g.flatFee;
|
|
125
|
+
if (y <= 0n) throw Error(`Insufficient balance to cover fee. Balance: ${s}, Fee: ${g.flatFee}`);
|
|
126
|
+
let b = [-y];
|
|
127
|
+
b[0] -= g.flatFee;
|
|
128
|
+
let { inputUtxos: x, outputUtxos: w } = await A(e, n, u, b), D = a.findCorrectRandomization(i(31), e.userKeys.getShieldedPrivateKey()), k = {
|
|
70
129
|
tokenNumber: u.length,
|
|
71
|
-
nullifierAmount:
|
|
72
|
-
outputAmount:
|
|
73
|
-
},
|
|
130
|
+
nullifierAmount: x.length,
|
|
131
|
+
outputAmount: w.length
|
|
132
|
+
}, { proofAArr: j, proofBArr: M, proofCArr: N, publicInputsArr: P, commitmentValidationData: F, rootHashHinkalIndex: I, encryptedOutputs: L } = await T(m[n], p, [u[0]], [x], [w], D, g.flatFee, g.variableRate, c, v, k, void 0, n), R = {
|
|
74
133
|
recipient: c,
|
|
75
134
|
mint: u[0] === "11111111111111111111111111111111" ? void 0 : u[0]
|
|
76
|
-
},
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
135
|
+
}, z = await C({
|
|
136
|
+
chainId: n,
|
|
137
|
+
relayAddress: v,
|
|
138
|
+
functionName: "transact",
|
|
139
|
+
args: {
|
|
140
|
+
proofAArr: j,
|
|
141
|
+
proofBArr: M,
|
|
142
|
+
proofCArr: N,
|
|
143
|
+
publicInputsArr: P,
|
|
144
|
+
encryptedOutputs: L,
|
|
145
|
+
relayerFee: g.flatFee.toString(),
|
|
146
|
+
dimensions: k,
|
|
147
|
+
rootHashIndex: I.toString()
|
|
148
|
+
},
|
|
149
|
+
accounts: R,
|
|
150
|
+
commitmentValidationData: F
|
|
151
|
+
});
|
|
152
|
+
return E(n, e, x.map((e) => e.getNullifier()), _([w]).flat(), L.map((e) => O.hexlify(new Uint8Array(e)))), {
|
|
153
|
+
tx: z,
|
|
154
|
+
amountToRecipient: y
|
|
84
155
|
};
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
}, j = async (t, n, r, i, a, o) => e(n) ? A(t, n, r, i, a, o) : k(t, n, r, i, a), M = async (e, t, n) => {
|
|
97
|
-
let i = [], a = p([t]), o = c(a, t.erc20TokenAddress);
|
|
98
|
-
await e.resetMerkleTreesIfNecessary([a]);
|
|
99
|
-
let s = ((await d({
|
|
100
|
-
hinkal: e,
|
|
156
|
+
}, I = async (t, n, r, i, a, o) => e(n) ? F(t, n, r, i, a, o) : P(t, n, r, i, a), L = async (t, i, a) => {
|
|
157
|
+
let o = m([i]);
|
|
158
|
+
if (t.generateProofRemotely) {
|
|
159
|
+
let n = e(o) ? await N(t, o, i, a) : await j(t, o, i, a);
|
|
160
|
+
if (!n.length) throw Error(r.NO_STUCK_BALANCE_TO_WITHDRAW);
|
|
161
|
+
return n;
|
|
162
|
+
}
|
|
163
|
+
let c = [], l = s(o, i.erc20TokenAddress);
|
|
164
|
+
await t.resetMerkleTreesIfNecessary([o]);
|
|
165
|
+
let d = ((await u({
|
|
166
|
+
hinkal: t,
|
|
101
167
|
sliceIfMore6: !1,
|
|
102
168
|
useBlockedUtxos: !0,
|
|
103
|
-
chainId:
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
for (let
|
|
107
|
-
let
|
|
108
|
-
|
|
169
|
+
chainId: o
|
|
170
|
+
}))?.get(l) ?? []).filter((e) => e.amount > 0n).sort((e, t) => Number(t.amount - e.amount));
|
|
171
|
+
if (!d.length) throw Error(r.NO_STUCK_BALANCE_TO_WITHDRAW);
|
|
172
|
+
for (let e = 0; e < d.length; e += k) {
|
|
173
|
+
let r = d.slice(e, e + k), s = n(r);
|
|
174
|
+
try {
|
|
175
|
+
let { tx: e } = await I(t, o, i, s, a, r.length);
|
|
176
|
+
c.push(e);
|
|
177
|
+
} catch (e) {
|
|
178
|
+
if (!c.length) throw e;
|
|
179
|
+
return p.error(`Stuck withdrawal partially submitted (${c.length}/${Math.ceil(d.length / k)})`, e), c;
|
|
180
|
+
}
|
|
109
181
|
}
|
|
110
|
-
return
|
|
182
|
+
return c;
|
|
111
183
|
};
|
|
112
184
|
//#endregion
|
|
113
|
-
export {
|
|
185
|
+
export { L as hinkalWithdrawStuckUtxos };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../../constants/protocol.constants.cjs`),t=require(`../../functions/utils/time.utils.cjs`),n=require(`../utxo/Utxo.cjs`),r=require(`../../functions/utils/tron.utils.cjs`),i=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`);var a=async(a,o,s,c,l,u={})=>{let d=s.erc20TokenAddress,f=r.addressToHexFormat(await a.getEthereumAddressByChain(o)),p=t.getCurrentTimeInSeconds().toString(),m=c.map(e=>e+l.flatFee),h=m.reduce((e,t)=>e+t,0n),g=m.map((e,t)=>new n.Utxo({amount:e,erc20TokenAddress:d,nullifyingKey:a.userKeys.getShieldedPrivateKey(),timeStamp:(BigInt(p)+BigInt(t)).toString(),spendingPublicKey:a.userKeys.getSpendingKeyPair().pubSpendingBJJPoint})),_=new n.Utxo({amount:0n,erc20TokenAddress:d,nullifyingKey:a.userKeys.getShieldedPrivateKey(),timeStamp:p,spendingPublicKey:a.userKeys.getSpendingKeyPair().pubSpendingBJJPoint}),v=[[_,_]],y=[g],{zkCallData:b,circomData:x,dimData:S}=await i.constructZkProof(a.merkleTreeHinkalByChain[o],v,y,a.userKeys,0n,f,`0x00`,l,e.zeroAddress,o,void 0,void 0,void 0,void 0,u.extraData,!0);return{zkCallData:b,circomData:x,dimData:S,utxoAmounts:m,totalDepositAmount:h,depositOutputUtxos:g}};exports.prepareTronDepositToSelf=a;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { CircomDataType, DimDataType } from '../../types/circom-data.types';
|
|
2
|
+
import { NewZkCallDataType } from '../../types/snark.types';
|
|
3
|
+
import { ERC20Token } from '../../types';
|
|
4
|
+
import { FeeStructure } from '../../types/hinkal.types';
|
|
5
|
+
import { Utxo } from '../utxo/Utxo';
|
|
6
|
+
import { IHinkal } from './IHinkal';
|
|
7
|
+
interface PrepareTronDepositOptions {
|
|
8
|
+
extraData?: string;
|
|
9
|
+
}
|
|
10
|
+
interface TronDepositToSelf {
|
|
11
|
+
zkCallData: NewZkCallDataType;
|
|
12
|
+
circomData: CircomDataType;
|
|
13
|
+
dimData: DimDataType;
|
|
14
|
+
utxoAmounts: bigint[];
|
|
15
|
+
totalDepositAmount: bigint;
|
|
16
|
+
depositOutputUtxos: Utxo[];
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Builds the ZK proof for a Tron deposit to the user's own shielded key.
|
|
20
|
+
*
|
|
21
|
+
* Produces one output UTXO per recipient amount (each holding `amount + fee`),
|
|
22
|
+
* all assigned to the user's own shielded key so they can be spent in a
|
|
23
|
+
* subsequent withdrawal step. Inputs are zero-amount padding (the circuit skips
|
|
24
|
+
* the merkle membership check when amount is 0).
|
|
25
|
+
*/
|
|
26
|
+
export declare const prepareTronDepositToSelf: (hinkal: IHinkal, chainId: number, erc20Token: ERC20Token, recipientAmounts: bigint[], feeStructure: FeeStructure, options?: PrepareTronDepositOptions) => Promise<TronDepositToSelf>;
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { zeroAddress as e } from "../../constants/protocol.constants.mjs";
|
|
2
|
+
import { getCurrentTimeInSeconds as t } from "../../functions/utils/time.utils.mjs";
|
|
3
|
+
import { Utxo as n } from "../utxo/Utxo.mjs";
|
|
4
|
+
import { addressToHexFormat as r } from "../../functions/utils/tron.utils.mjs";
|
|
5
|
+
import { constructZkProof as i } from "../../functions/snarkjs/constructGeneralZkProof.mjs";
|
|
6
|
+
//#region libs/shared/common/src/data-structures/Hinkal/prepareTronDepositToSelf.ts
|
|
7
|
+
var a = async (a, o, s, c, l, u = {}) => {
|
|
8
|
+
let d = s.erc20TokenAddress, f = r(await a.getEthereumAddressByChain(o)), p = t().toString(), m = c.map((e) => e + l.flatFee), h = m.reduce((e, t) => e + t, 0n), g = m.map((e, t) => new n({
|
|
9
|
+
amount: e,
|
|
10
|
+
erc20TokenAddress: d,
|
|
11
|
+
nullifyingKey: a.userKeys.getShieldedPrivateKey(),
|
|
12
|
+
timeStamp: (BigInt(p) + BigInt(t)).toString(),
|
|
13
|
+
spendingPublicKey: a.userKeys.getSpendingKeyPair().pubSpendingBJJPoint
|
|
14
|
+
})), _ = new n({
|
|
15
|
+
amount: 0n,
|
|
16
|
+
erc20TokenAddress: d,
|
|
17
|
+
nullifyingKey: a.userKeys.getShieldedPrivateKey(),
|
|
18
|
+
timeStamp: p,
|
|
19
|
+
spendingPublicKey: a.userKeys.getSpendingKeyPair().pubSpendingBJJPoint
|
|
20
|
+
}), v = [[_, _]], y = [g], { zkCallData: b, circomData: x, dimData: S } = await i(a.merkleTreeHinkalByChain[o], v, y, a.userKeys, 0n, f, "0x00", l, e, o, void 0, void 0, void 0, void 0, u.extraData, !0);
|
|
21
|
+
return {
|
|
22
|
+
zkCallData: b,
|
|
23
|
+
circomData: x,
|
|
24
|
+
dimData: S,
|
|
25
|
+
utxoAmounts: m,
|
|
26
|
+
totalDepositAmount: h,
|
|
27
|
+
depositOutputUtxos: g
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
//#endregion
|
|
31
|
+
export { a as prepareTronDepositToSelf };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../types/ethereum-network.types.cjs`),n=require(`../../types/balances.types.cjs`),r=require(`../../types/events.types.cjs`);require(`../../types/index.cjs`);const i=require(`../../functions/utils/map.utils.cjs`),a=require(`../../functions/utils/mutexes.utils.cjs`),o=require(`../../functions/utils/create-provider.cjs`),s=require(`../../functions/utils/getContractAddress.cjs`),c=require(`../private-balances/BalanceChangedHandler.cjs`),l=require(`../event-service/evm/ClientBlockchainEventEmitter.cjs`),u=require(`../event-service/solana/ClientSolanaBlockchainEventEmitter.cjs`);require(`../event-service/index.cjs`);const d=require(`../snapshot/SnapshotFetcherService.cjs`),f=require(`../snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.cjs`),p=require(`../snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.cjs`),m=require(`../snapshot/evm-snapshots/ClientCommitmentsSnapshotService.cjs`),h=require(`../snapshot/evm-snapshots/ClientNullifierSnapshotService.cjs`);require(`../snapshot/index.cjs`);let g=require(`@solana/web3.js`),_=require(`async-mutex`);var v=new Map,y=e=>i.getOrCreateMapValue(v,e,()=>new _.Mutex),b=async(i,_)=>{let v=(_??i.getSupportedChains()).map(_=>y(_).runExclusive(async()=>{i.commitmentsSnapshotServiceByChain[_]?.intervalClear(),i.nullifierSnapshotServiceByChain[_]?.intervalClear();let{maxPageSize:v,fetchRpcUrl:y,contractData:b}=e.networkRegistry[_],x;if(e.isSolanaLike(_)){let e=b.hinkalAddress;if(!y||!e)throw Error(`Fetch RPC URL or Solana program ID is not set`);x=new u.ClientSolanaBlockchainEventEmitter(_,o.createCustomSolanaConnection(y),new g.PublicKey(e),0,a.getChainBalanceFetchingMutex(_),v);let t=b.hinkalIdl;t&&x.setIdl(t);let n=new d.SnapshotFetcherService(_,e);i.commitmentsSnapshotServiceByChain[_]=new f.ClientSolanaCommitmentsSnapshotService(x,n),i.nullifierSnapshotServiceByChain[_]=new p.ClientSolanaNullifierSnapshotService(x,n)}else{let e=i.getContractWithFetcherByChainId(_,t.ContractType.HinkalContract),n=a.getChainBalanceFetchingMutex(_);x=new l.ClientBlockchainEventEmitter(r.EventCategory.MainContractEvents,_,e,0,n,v);let o=new d.SnapshotFetcherService(_,s.getContractAddress(e));i.commitmentsSnapshotServiceByChain[_]=new m.ClientCommitmentsSnapshotService(x,o),i.nullifierSnapshotServiceByChain[_]=new h.ClientNullifierSnapshotService(x,o)}let S=i.commitmentsSnapshotServiceByChain[_],C=i.nullifierSnapshotServiceByChain[_];if(!S||!C)throw Error(`Missing snapshot service for chain ${_}`);await Promise.all([S.init(),C.init()]),await x.init(),i.merkleTreeHinkalByChain[_]=S.merkleTree,i.nullifiersByChain[_]=C.nullifiers,i.encryptedOutputsByChain[_]=S.encryptedOutputs,x.onEventsProcessed=e=>{e>0&&c.balanceChangedHandler.dispatch({updateType:n.PrivateBalanceUpdateType.FreshWithoutLoader,updateTokensListBefore:!0,chainIdToUpdate:_})}}));await Promise.allSettled(v)};exports.resetMerkleTrees=b;
|
|
1
|
+
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../types/ethereum-network.types.cjs`),n=require(`../../types/balances.types.cjs`),r=require(`../../types/events.types.cjs`);require(`../../types/index.cjs`);const i=require(`../../functions/utils/map.utils.cjs`),a=require(`../../functions/utils/mutexes.utils.cjs`),o=require(`../../functions/utils/create-provider.cjs`),s=require(`../../functions/utils/getContractAddress.cjs`),c=require(`../private-balances/BalanceChangedHandler.cjs`),l=require(`../event-service/evm/ClientBlockchainEventEmitter.cjs`),u=require(`../event-service/solana/ClientSolanaBlockchainEventEmitter.cjs`);require(`../event-service/index.cjs`);const d=require(`../snapshot/SnapshotFetcherService.cjs`),f=require(`../snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.cjs`),p=require(`../snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.cjs`),m=require(`../snapshot/evm-snapshots/ClientCommitmentsSnapshotService.cjs`),h=require(`../snapshot/evm-snapshots/ClientNullifierSnapshotService.cjs`);require(`../snapshot/index.cjs`);let g=require(`@solana/web3.js`),_=require(`async-mutex`);var v=new Map,y=e=>i.getOrCreateMapValue(v,e,()=>new _.Mutex),b=async(i,_)=>{let v=(_??i.getSupportedChains()).map(_=>y(_).runExclusive(async()=>{if(i.generateProofRemotely)return;i.commitmentsSnapshotServiceByChain[_]?.intervalClear(),i.nullifierSnapshotServiceByChain[_]?.intervalClear();let{maxPageSize:v,fetchRpcUrl:y,contractData:b}=e.networkRegistry[_],x;if(e.isSolanaLike(_)){let e=b.hinkalAddress;if(!y||!e)throw Error(`Fetch RPC URL or Solana program ID is not set`);x=new u.ClientSolanaBlockchainEventEmitter(_,o.createCustomSolanaConnection(y),new g.PublicKey(e),0,a.getChainBalanceFetchingMutex(_),v);let t=b.hinkalIdl;t&&x.setIdl(t);let n=new d.SnapshotFetcherService(_,e);i.commitmentsSnapshotServiceByChain[_]=new f.ClientSolanaCommitmentsSnapshotService(x,n),i.nullifierSnapshotServiceByChain[_]=new p.ClientSolanaNullifierSnapshotService(x,n)}else{let e=i.getContractWithFetcherByChainId(_,t.ContractType.HinkalContract),n=a.getChainBalanceFetchingMutex(_);x=new l.ClientBlockchainEventEmitter(r.EventCategory.MainContractEvents,_,e,0,n,v);let o=new d.SnapshotFetcherService(_,s.getContractAddress(e));i.commitmentsSnapshotServiceByChain[_]=new m.ClientCommitmentsSnapshotService(x,o),i.nullifierSnapshotServiceByChain[_]=new h.ClientNullifierSnapshotService(x,o)}let S=i.commitmentsSnapshotServiceByChain[_],C=i.nullifierSnapshotServiceByChain[_];if(!S||!C)throw Error(`Missing snapshot service for chain ${_}`);await Promise.all([S.init(),C.init()]),await x.init(),i.merkleTreeHinkalByChain[_]=S.merkleTree,i.nullifiersByChain[_]=C.nullifiers,i.encryptedOutputsByChain[_]=S.encryptedOutputs,x.onEventsProcessed=e=>{e>0&&c.balanceChangedHandler.dispatch({updateType:n.PrivateBalanceUpdateType.FreshWithoutLoader,updateTokensListBefore:!0,chainIdToUpdate:_})}}));await Promise.allSettled(v)};exports.resetMerkleTrees=b;
|
|
@@ -22,6 +22,7 @@ import { Mutex as v } from "async-mutex";
|
|
|
22
22
|
//#region libs/shared/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
|
+
if (a.generateProofRemotely) return;
|
|
25
26
|
a.commitmentsSnapshotServiceByChain[v]?.intervalClear(), a.nullifierSnapshotServiceByChain[v]?.intervalClear();
|
|
26
27
|
let { maxPageSize: y, fetchRpcUrl: b, contractData: x } = t[v], S;
|
|
27
28
|
if (e(v)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../error-handling/error-codes.constants.cjs`),t=require(`../../
|
|
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,8 +1,8 @@
|
|
|
1
1
|
import { transactionErrorCodes as e } from "../../error-handling/error-codes.constants.mjs";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { StorageKeys as r } from "../../types/cache.types.mjs";
|
|
2
|
+
import { ActivityStatus as t } from "../../types/activities.types.mjs";
|
|
3
|
+
import { StorageKeys as n } from "../../types/cache.types.mjs";
|
|
5
4
|
import "../../types/index.mjs";
|
|
5
|
+
import { Logger as r } from "../../error-handling/logger.mjs";
|
|
6
6
|
import "../../error-handling/index.mjs";
|
|
7
7
|
import { RELAYER_TX_CONFIRMATION_TIMEOUT as i } from "../../constants/tx-confirmation.constants.mjs";
|
|
8
8
|
import { waitForTransactionConfirmation as a } from "../../functions/utils/tx-confirmation.utils.mjs";
|
|
@@ -15,19 +15,19 @@ var l = class {
|
|
|
15
15
|
return `tx_${(/* @__PURE__ */ new Date()).getTime()}_${Math.random().toString(36).substring(2, 15)}`;
|
|
16
16
|
}
|
|
17
17
|
async getTransactionRecord() {
|
|
18
|
-
return await s(
|
|
18
|
+
return await s(n.TX_ACTIVITY) || {};
|
|
19
19
|
}
|
|
20
20
|
async saveTxRequest(e) {
|
|
21
|
-
let { from:
|
|
21
|
+
let { from: r, to: i, gasInDollar: a, extraNativeTokenFee: s, chainId: l, status: u, txHash: d, activityType: f, tokensReceive: p, tokensSpend: m, tokensApprove: h, activityIcon: g, dappUrl: _, dappName: v, integrationProvider: y, knownPartialSignature: b } = e, x = this.generateTxId(), S = m?.length ? o(m) : [], C = p?.length ? o(p) : [], w = {
|
|
22
22
|
id: x,
|
|
23
|
-
from:
|
|
23
|
+
from: r,
|
|
24
24
|
to: i,
|
|
25
25
|
gasInDollar: a?.toString(),
|
|
26
26
|
extraNativeTokenFee: s?.toString(),
|
|
27
27
|
chainId: l,
|
|
28
28
|
txHash: d,
|
|
29
29
|
activityType: f,
|
|
30
|
-
status: u ??
|
|
30
|
+
status: u ?? t.PENDING,
|
|
31
31
|
timestamp: /* @__PURE__ */ new Date(),
|
|
32
32
|
tokensReceive: C,
|
|
33
33
|
tokensSpend: S,
|
|
@@ -38,7 +38,7 @@ var l = class {
|
|
|
38
38
|
integrationProvider: y,
|
|
39
39
|
knownPartialSignature: b
|
|
40
40
|
};
|
|
41
|
-
return await c(
|
|
41
|
+
return await c(n.TX_ACTIVITY, (e = {}) => (e[x] = w, e)), x;
|
|
42
42
|
}
|
|
43
43
|
async getTxRequest(e) {
|
|
44
44
|
return (await this.getTransactionRecord())[e] || null;
|
|
@@ -48,61 +48,61 @@ var l = class {
|
|
|
48
48
|
return Object.values(t).filter((t) => t.chainId === e).sort((e, t) => new Date(t.timestamp).getTime() - new Date(e.timestamp).getTime());
|
|
49
49
|
}
|
|
50
50
|
async updateTxHash(e, t) {
|
|
51
|
-
let
|
|
52
|
-
if (!
|
|
51
|
+
let r = await this.getTxRequest(e);
|
|
52
|
+
if (!r) throw Error("Activity not found");
|
|
53
53
|
let i = {
|
|
54
|
-
...
|
|
54
|
+
...r,
|
|
55
55
|
txHash: t
|
|
56
56
|
};
|
|
57
|
-
await c(
|
|
57
|
+
await c(n.TX_ACTIVITY, (t = {}) => (t[e] = i, t));
|
|
58
58
|
}
|
|
59
|
-
async updateTxStatusAndHash(e, t,
|
|
59
|
+
async updateTxStatusAndHash(e, t, r) {
|
|
60
60
|
let i = await this.getTxRequest(e);
|
|
61
61
|
if (!i) throw Error("Transaction not found");
|
|
62
62
|
let a = {
|
|
63
63
|
...i,
|
|
64
64
|
status: t,
|
|
65
|
-
txHash:
|
|
65
|
+
txHash: r,
|
|
66
66
|
timestamp: /* @__PURE__ */ new Date()
|
|
67
67
|
};
|
|
68
|
-
return await c(
|
|
68
|
+
return await c(n.TX_ACTIVITY, (t = {}) => (t[e] = a, t)), a;
|
|
69
69
|
}
|
|
70
|
-
async updateActivity(e,
|
|
70
|
+
async updateActivity(e, t, n) {
|
|
71
71
|
try {
|
|
72
|
-
await this.updateTxStatusAndHash(e,
|
|
72
|
+
await this.updateTxStatusAndHash(e, t, n);
|
|
73
73
|
} catch (e) {
|
|
74
|
-
|
|
74
|
+
r.error("error in updating tx request", e);
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
async removePendingTransactions(e) {
|
|
78
78
|
try {
|
|
79
|
-
await c(
|
|
79
|
+
await c(n.TX_ACTIVITY, (t = {}) => (delete t[e], t));
|
|
80
80
|
} catch (e) {
|
|
81
|
-
|
|
81
|
+
r.error("error in deleting tx requests", e);
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
|
-
async updatePendingTransactions(
|
|
84
|
+
async updatePendingTransactions(n, o, s, c) {
|
|
85
85
|
try {
|
|
86
|
-
let
|
|
87
|
-
if (!
|
|
88
|
-
let { chainId: l } =
|
|
89
|
-
if (!
|
|
90
|
-
c?.(
|
|
86
|
+
let r = await this.getTxRequest(o);
|
|
87
|
+
if (!r) throw Error("Transaction not found");
|
|
88
|
+
let { chainId: l } = r;
|
|
89
|
+
if (!n.success) {
|
|
90
|
+
c?.(n.error), await this.updateActivity(o, t.FAILED, "erroredTx" in n ? n.erroredTx : void 0);
|
|
91
91
|
return;
|
|
92
92
|
}
|
|
93
|
-
if ("txHash" in
|
|
94
|
-
let { txHash:
|
|
93
|
+
if ("txHash" in n) {
|
|
94
|
+
let { txHash: r } = n;
|
|
95
95
|
try {
|
|
96
|
-
await a(l,
|
|
97
|
-
} catch (
|
|
98
|
-
let i =
|
|
99
|
-
c?.(i), await this.updateActivity(o,
|
|
96
|
+
await a(l, r, { evmTimeoutMs: i });
|
|
97
|
+
} catch (n) {
|
|
98
|
+
let i = n instanceof Error ? n : Error(e.UNKNOWN);
|
|
99
|
+
c?.(i), await this.updateActivity(o, t.FAILED, r);
|
|
100
100
|
return;
|
|
101
101
|
}
|
|
102
|
-
s?.(), await this.updateActivity(o,
|
|
102
|
+
s?.(), await this.updateActivity(o, t.SUCCESSFUL, r);
|
|
103
103
|
}
|
|
104
104
|
} catch (e) {
|
|
105
|
-
|
|
105
|
+
r.error("error in updating pending transactions", e);
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
108
|
}, u = new l();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../
|
|
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,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { StorageKeys as t } from "../../types/cache.types.mjs";
|
|
1
|
+
import { StorageKeys as e } from "../../types/cache.types.mjs";
|
|
3
2
|
import "../../types/index.mjs";
|
|
3
|
+
import { Logger as t } from "../../error-handling/logger.mjs";
|
|
4
4
|
import "../../error-handling/index.mjs";
|
|
5
5
|
import { get as n, set as r } from "idb-keyval";
|
|
6
6
|
new class {
|
|
@@ -9,7 +9,7 @@ new class {
|
|
|
9
9
|
}
|
|
10
10
|
async saveSignedMessage(i, a, o, s, c, l) {
|
|
11
11
|
try {
|
|
12
|
-
let
|
|
12
|
+
let t = this.generateMessageId(), u = await n(e.SIGNED_MESSAGES) || {}, d = {
|
|
13
13
|
chainId: i,
|
|
14
14
|
messageText: a,
|
|
15
15
|
messageType: o,
|
|
@@ -17,12 +17,12 @@ new class {
|
|
|
17
17
|
signature: c,
|
|
18
18
|
appMetaData: l
|
|
19
19
|
};
|
|
20
|
-
u[
|
|
20
|
+
u[t] = {
|
|
21
21
|
timestamp: (/* @__PURE__ */ new Date()).toISOString(),
|
|
22
22
|
...d
|
|
23
|
-
}, await r(
|
|
24
|
-
} catch (
|
|
25
|
-
|
|
23
|
+
}, await r(e.SIGNED_MESSAGES, u);
|
|
24
|
+
} catch (e) {
|
|
25
|
+
t.error("Failed to save signed message:", e, {
|
|
26
26
|
chainId: i,
|
|
27
27
|
messageType: o
|
|
28
28
|
});
|
|
@@ -30,10 +30,10 @@ new class {
|
|
|
30
30
|
}
|
|
31
31
|
async getAllSignedMessages() {
|
|
32
32
|
try {
|
|
33
|
-
let
|
|
34
|
-
return Object.values(
|
|
35
|
-
} catch (
|
|
36
|
-
return
|
|
33
|
+
let t = await n(e.SIGNED_MESSAGES) || {};
|
|
34
|
+
return Object.values(t).sort((e, t) => new Date(t.timestamp).getTime() - new Date(e.timestamp).getTime());
|
|
35
|
+
} catch (e) {
|
|
36
|
+
return t.error("Failed to retrieve signed messages:", e), [];
|
|
37
37
|
}
|
|
38
38
|
}
|
|
39
39
|
}();
|
|
@@ -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(`../http/HttpClient.cjs`);require(`../http/index.cjs`);const i=require(`../../
|
|
1
|
+
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../functions/utils/caseInsensitive.utils.cjs`),r=require(`../http/HttpClient.cjs`);require(`../http/index.cjs`);const i=require(`../../types/cache.types.cjs`),a=require(`../../API/API.cjs`),o=require(`../../error-handling/logger.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.bnbMainnet]:`bnb-mainnet`,[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)(i.StorageKeys.ALCHEMY_PUBLIC_TOKENS))?.[n]||[],e)}async getFetchedTokens(e,t){let n=s.getStateKey(t,e);return l.overlayTokensWithRegistryData(this.fetchedTokens[n]||[],e)}fetchAndUpdatePublicTokens(t,n){return e.isSolanaLike(n)?this.fetchAndUpdateSolanaTokens(t,n):this.fetchAndUpdateEVMTokens(t,n)}async fetchAndUpdateSolanaTokens(e,t){let r=s.getStateKey(e,t),[o,l]=await Promise.all([this.getSolanaTokenAddresses(t,e),this.getNFTAddresses(t,e)]),u=Array.from(new Set([...o,...l]));if(!u.length)return;let d=(await a.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)(i.StorageKeys.ALCHEMY_PUBLIC_TOKENS,(e={})=>{let t={...e,[r]:m};return this.fetchedTokens=t,t})}async getWalletTokenAddresses(t,n){return e.isSolanaLike(t)?this.getSolanaTokenAddresses(t,n):this.getEVMTokenAddresses(t,n)}async fetchAndUpdateEVMTokens(e,r){let o=s.getStateKey(e,r),l=await this.getEVMTokenAddresses(r,e),u=await this.getNFTTokens(r,e),d=u.map(e=>e.contractAddress),f=[...l,...d];if(!f.length)return;let m=(await a.API.tokensInfoCall(r,f)).map((e,i)=>{if(e)return e;let a=f[i],o=u.find(e=>n.caseInsensitiveEqual(e.contractAddress,a));return o&&o.tokenIds&&o.tokenIds.length>0&&this.isWhitelistedNFT(a,r)?{chainId:r,name:`Unknown NFT`,symbol:`NFT`,erc20TokenAddress:a,decimals:0,nftTokenType:t.TokenType.ERC721,tokenIds:o.tokenIds}:null}).filter(e=>!!e),h=await c.tokenVisibilityStorage.hideSpamsAndFetchHiddenTokensAddresses(r,m),g=m.filter(e=>!n.lowerCaseIncludes(h,e.erc20TokenAddress)).map(e=>({...e,tokenIds:u.find(t=>n.caseInsensitiveEqual(t.contractAddress,e.erc20TokenAddress))?.tokenIds}));await(0,p.update)(i.StorageKeys.ALCHEMY_PUBLIC_TOKENS,(e={})=>{let t={...e,[o]: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,i){let{fetchRpcUrl:a}=e.networkRegistry[n];if(!a)throw Error(`RPC URL not found for the specified chain ID`);try{let e=[],n=1;do{let{items:o=[],page:s}=(await r.httpClient.post(a,{jsonrpc:`2.0`,id:1,method:`getAssetsByOwner`,params:{ownerAddress:i,page:n,limit:1e3,displayOptions:{showFungible:!1,showCollectionMetadata:!0}}})).result||{},c=o.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 o.Logger.error(`Failed to fetch NFTs from DAS API`,e),[]}}async getEVMTokenAddresses(n,i){let a=await d.getPublicBalanceByTokenAddress(n,i,t.zeroAddress),o=this.ALCHEMY_URLS[n];if(!o)throw Error(`Alchemy URL not found for the specified chain ID: ${n}`);let s=`https://${o}.g.alchemy.com/v2/${e.ALCHEMY_API_KEY}`,c=[],l;do{let e=[i,`erc20`];l&&e.push({pageKey:l});let{result:t}=await r.httpClient.post(s,{jsonrpc:`2.0`,id:1,method:`alchemy_getTokenBalances`,params:e});c.push(...t?.tokenBalances??[]),l=t?.pageKey}while(l);a&&a>0n&&c.push({contractAddress:t.zeroAddress,tokenBalance:a.toString()});let u={};return c.forEach(e=>{(!u[e.contractAddress]||BigInt(e.tokenBalance)>0n)&&(u[e.contractAddress]=e)}),Object.keys(u)}async getNFTTokens(t,n){let i=`https://${this.ALCHEMY_URLS[t]}.g.alchemy.com/nft/v3/${e.ALCHEMY_API_KEY}/getNFTsForOwner`,a=[],o;do{let e=new URLSearchParams({owner:n,withMetadata:`false`,pageSize:`100`});o&&e.append(`pageKey`,o);let{ownedNfts:t=[],pageKey:s}=await r.httpClient.get(`${i}?${e.toString()}`);a.push(...t),o=s}while(o);let s=a.filter(({contractAddress:e,tokenId:t})=>e&&t).reduce((e,{contractAddress:t,tokenId:n})=>{let r=t.toLowerCase();return e.has(r)||e.set(r,[]),e.get(r)?.push(n),e},new Map);return Array.from(s.entries()).map(([e,t])=>({contractAddress:e,tokenIds:t}))}};exports.alchemyPublicTokensDB=h;
|