@hinkal/common 0.3.2 → 0.3.4
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 +16 -19
- 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/crypto/index.cjs +1 -1
- package/common/src/crypto/index.d.ts +0 -1
- package/common/src/crypto/index.mjs +0 -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/crypto/ecdh-dual-path.cjs +0 -1
- package/common/src/crypto/ecdh-dual-path.d.ts +0 -13
- package/common/src/crypto/ecdh-dual-path.mjs +0 -6
- 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 +1 @@
|
|
|
1
|
-
const e=require(`./vite.constants.cjs`);var t={ROUTES:{getSnapshots:e=>`/snapshots/${e}`,getMerkleTreeSiblings:`/merkle-tree-siblings`,getSnapshotServerEvents:`/events`,
|
|
1
|
+
const e=require(`./vite.constants.cjs`);var t={ROUTES:{getSnapshots:e=>`/snapshots/${e}`,getMerkleTreeSiblings:`/merkle-tree-siblings`,getTronInsertionSiblings:`/tron-insertion-siblings`,getSnapshotServerEvents:`/events`,callLifiAPI:`/LifiBridgeData`,callOkxAPI:`/OkxSwapData`,callNearIntentsQuote:`/near-intents/quote`,callNearIntentsTokens:`/near-intents/tokens`,getOdosPriceForToken:(e,t)=>`/getOdosPriceForToken/${e}/${t}`,monitor:`/monitor`,monitorBatch:`/monitor/batch`,checkRisk:e=>`/check-risk/${e}`,simulateTransaction:`/simulate-transaction`,simulateBatchTx:`/simulate-batch-tx`,simulateVolatileTokenTransfer:`/simulate-volatile-token-transfer`,getTokensInfo:`/get-tokens-info`,getTokensForChain:`/get-tokens-for-chain`,getTokensBySymbols:`/get-tokens-by-symbols`,getTokenData:e=>`/get-token-data/${e}`,getProxyAccounts:e=>`/get-proxy-accounts/${e}`,updateProxyAccounts:`/update-proxy-accounts`,getTemporaryWalletNonces:(e,t)=>`/temporary-wallets/nonces/${e}/${t}`,addTemporaryWalletNonce:`/temporary-wallets/add-nonce`,removeTemporaryWalletNonce:`/temporary-wallets/remove-nonce`,encodeMoonPayBuyUrl:`/moonpay-buy-url`,getMoonPayQuote:`/moonpay-quote`,privateSendTopUpRecipientInfos:`/private-send-recipient-info/top-up`,privateSendAllocateRecipientInfos:`/private-send-recipient-info/allocate`,privateSendNonceSync:`/private-send-nonce/sync`,privateSendNonceReserve:`/private-send-nonce/reserve`,getDashboardAccount:`/get-dashboard-account`,updateDashboardAccount:`/update-dashboard-account`,deleteDashboardAccount:`/delete-dashboard-account`,updateUserProfile:`/update-user-profile`,addDashboardContact:`/add-dashboard-contact`,deleteDashboardContact:`/delete-dashboard-contact`,updateDashboardContact:`/update-dashboard-contact`,getDashboardContacts:`/get-dashboard-contacts`,sendDashboardInvitationEmail:`/send-dashboard-invitation-email`,resolveInviteRequest:`/resolve-invite-request`,deleteInviteRequest:`/delete-invite-request`,removeMember:`/remove-member`,editMember:`/edit-member`,createDashboardPayout:`/create-dashboard-payout`,getDashboardPayouts:`/get-dashboard-payouts`,syncDashboardBalances:`/sync-dashboard-balances`,getDashboardBalances:`/get-dashboard-balances`,changePayoutStatus:`/change-payout-status`,getPayoutNotifications:`/get-payout-notifications`,markPayoutNotificationsRead:`/mark-payout-notifications-read`,dismissPayoutNotification:`/dismiss-payout-notification`,getDashboardTransactions:`/get-dashboard-transactions`,createDashboardTransactions:`/create-dashboard-transactions`,tronSubsidyEligibility:`/tron-subsidy/eligibility`,tronSubsidyRecord:`/tron-subsidy/record`,privateSendRecipientInfoGetAny:`/private-send-recipient-info/get-any`}},n={getGasEstimate:(e,t,n,r)=>`/gas-estimation/${e}/${n}/${t}/${r}`,getTokenPrices:`/get-token-prices`,TRANSACT:`/general-transact`,TRANSACT_BATCH:`/general-transact-batch`,SOLANA_TRANSACT:`/solana-transact`,SOLANA_TRANSACT_BATCH:`/solana-transact-batch`,getIdleRelay:`/get-idle-relay`,emitTxPublicData:`/emit-tx-public-data`,emitReferralTx:`/emit-referral-tx`,getScheduledTransactions:`/scheduled-transactions`,getScheduledTransactionById:e=>`/scheduled-transactions/${e}`,getScheduledTransactionsNullifierIndexes:`/scheduled-transactions/nullifier-indexes`,updateDepositAndWithdrawStatus:`/update-deposit-and-withdraw-status`,getTokenPriceChartData:`/get-token-price-chart-data`,getTokenPreviousDayPrices:`/get-token-previous-day-prices`,getPrivateTransactionsRatio:e=>`/get-private-transactions-ratio/${e}`,savePrivacyScoreAndGetPrivacyRank:`/save-privacy-score-and-get-privacy-rank`},r={createPresaleReferral:`/create-presale-referral`,updatePresaleReferralList:`/update-presale-referral-list`,getUserAnalytics:`/get-user-analytics`,updateRewardsUser:`/update-rewards-user`,getRewardsUser:e=>`/get-rewards-user/${e}`,checkUsernameAvailability:e=>`/check-username/${encodeURIComponent(e)}`,seedlessInit:`/seedless/init`,seedlessBackup:`/seedless/backup`,seedlessCheckPassword:`/seedless/check-password`,seedlessStatus:`/seedless/status`,seedlessSalt:`/seedless/salt`,sendPrivateSendEmailNotifications:`/private-send-email-notifications`,webflowBlogPosts:`/webflow-blog-posts`,brevoSubscribe:`/brevo-subscribe`,versionChecker:e=>`/version-checker/${e}`};e.isNotProduction?e.deploymentMode:`${e.deploymentMode}`;var i=`https://wallet-playground.hinkal.io`,a=`https://wallet-staging-v2.hinkal.io`,o=`https://wallet-prodv12.hinkal.io`,s=`/server`,c=`/relayer`,l=`/snapshot-server`,u=`/data-server`,d=`/compliance-server`,f=`https://api-staging.hinkal.io`,p=`https://api.hinkal.io`;exports.API_CONFIG=t,exports.DATA_SERVER_CONFIG=r,exports.DATA_SERVER_URL_ENDPOINT=u,exports.ENCLAVE_API_PRODUCTION_URL=p,exports.ENCLAVE_API_STAGING_URL=f,exports.FUND_COMPLIANCE_URL_ENDPOINT=d,exports.PLAYGROUND_URL=i,exports.PRODUCTION_URL=o,exports.RELAYER_CONFIG=n,exports.RELAYER_URL_ENDPOINT=c,exports.SERVER_URL_ENDPOINT=s,exports.SNAPSHOT_SERVER_URL_ENDPOINT=l,exports.STAGING_URL=a;
|
|
@@ -2,9 +2,8 @@ export declare const API_CONFIG: {
|
|
|
2
2
|
ROUTES: {
|
|
3
3
|
getSnapshots: (chainId: number) => string;
|
|
4
4
|
getMerkleTreeSiblings: string;
|
|
5
|
+
getTronInsertionSiblings: string;
|
|
5
6
|
getSnapshotServerEvents: string;
|
|
6
|
-
callOdosAPI: string;
|
|
7
|
-
callOneInchAPI: string;
|
|
8
7
|
callLifiAPI: string;
|
|
9
8
|
callOkxAPI: string;
|
|
10
9
|
callNearIntentsQuote: string;
|
|
@@ -3,9 +3,8 @@ import { deploymentMode as e, isNotProduction as t } from "./vite.constants.mjs"
|
|
|
3
3
|
var n = { ROUTES: {
|
|
4
4
|
getSnapshots: (e) => `/snapshots/${e}`,
|
|
5
5
|
getMerkleTreeSiblings: "/merkle-tree-siblings",
|
|
6
|
+
getTronInsertionSiblings: "/tron-insertion-siblings",
|
|
6
7
|
getSnapshotServerEvents: "/events",
|
|
7
|
-
callOdosAPI: "/OdosSwapData",
|
|
8
|
-
callOneInchAPI: "/OneInchSwapData",
|
|
9
8
|
callLifiAPI: "/LifiBridgeData",
|
|
10
9
|
callOkxAPI: "/OkxSwapData",
|
|
11
10
|
callNearIntentsQuote: "/near-intents/quote",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`./chains.constants.cjs`);var t=new Set([`0x23d7cffd0876f3abb6b074287ba2aeefbc83825d`,`0xd2a530170d71a9cfe1651fb468e2b98f7ed7456b`]);e.chainIds.ethMainnet,e.chainIds.arbMainnet,e.chainIds.optimism,e.chainIds.optimismTest,e.chainIds.base,e.chainIds.arcTestnet,e.chainIds.sepoliaTestnet,e.chainIds.polygon,e.chainIds.solanaMainnet,e.chainIds.solanaLocalnet,e.chainIds.bnbMainnet,e.chainIds.avalanche,e.chainIds.cronos,e.chainIds.monad,e.chainIds.plasma,e.chainIds.ink,e.chainIds.hyperEvm,exports.NON_STANDARD_STORAGE_TOKENS=t;
|
|
1
|
+
const e=require(`./chains.constants.cjs`);var t=new Set([`0x23d7cffd0876f3abb6b074287ba2aeefbc83825d`,`0xd2a530170d71a9cfe1651fb468e2b98f7ed7456b`]);e.chainIds.ethMainnet,e.chainIds.arbMainnet,e.chainIds.optimism,e.chainIds.optimismTest,e.chainIds.base,e.chainIds.arcTestnet,e.chainIds.tempo,e.chainIds.sepoliaTestnet,e.chainIds.polygon,e.chainIds.solanaMainnet,e.chainIds.solanaLocalnet,e.chainIds.bnbMainnet,e.chainIds.avalanche,e.chainIds.cronos,e.chainIds.monad,e.chainIds.plasma,e.chainIds.ink,e.chainIds.hyperEvm,exports.NON_STANDARD_STORAGE_TOKENS=t;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { chainIds as e } from "./chains.constants.mjs";
|
|
2
2
|
//#region libs/shared/common/src/constants/tokens.constants.ts
|
|
3
3
|
var t = new Set(["0x23d7cffd0876f3abb6b074287ba2aeefbc83825d", "0xd2a530170d71a9cfe1651fb468e2b98f7ed7456b"]);
|
|
4
|
-
e.ethMainnet, e.arbMainnet, e.optimism, e.optimismTest, e.base, e.arcTestnet, e.sepoliaTestnet, e.polygon, e.solanaMainnet, e.solanaLocalnet, e.bnbMainnet, e.avalanche, e.cronos, e.monad, e.plasma, e.ink, e.hyperEvm;
|
|
4
|
+
e.ethMainnet, e.arbMainnet, e.optimism, e.optimismTest, e.base, e.arcTestnet, e.tempo, e.sepoliaTestnet, e.polygon, e.solanaMainnet, e.solanaLocalnet, e.bnbMainnet, e.avalanche, e.cronos, e.monad, e.plasma, e.ink, e.hyperEvm;
|
|
5
5
|
//#endregion
|
|
6
6
|
export { t as NON_STANDARD_STORAGE_TOKENS };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`./poseidon.cjs`),require(`./babyJub.cjs`),require(`./eddsa.cjs`),require(`./ecdh-sealed-keys.cjs`),require(`./preProcessing.cjs`),require(`./ecdh.cjs`)
|
|
1
|
+
require(`./poseidon.cjs`),require(`./babyJub.cjs`),require(`./eddsa.cjs`),require(`./ecdh-sealed-keys.cjs`),require(`./preProcessing.cjs`),require(`./ecdh.cjs`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../functions/utils/serialize.utils.cjs`),t=require(`../../constants/vite.constants.cjs`),n=require(`../../constants/chains.constants.cjs`),r=require(`../../constants/protocol.constants.cjs`),i=require(`../../types/hinkal.types.cjs`),a=require(`../../crypto/poseidon.cjs`),o=require(`../../error-handling/error-codes.constants.cjs`),s=require(`../crypto-keys/keys.cjs`),c=require(`../../API/scheduled-transactions-calls.cjs`),l=require(`../../API/API.cjs`),u=require(`../../functions/utils/token-check.utils.cjs`),d=require(`../TokenDBs/PrivateTokensDB.cjs`),f=require(`../../functions/utils/erc20tokenFunctions.cjs`),p=require(`../../functions/web3/events/getShieldedBalance.cjs`),m=require(`../../functions/web3/getContractMetadata.cjs`),h=require(`../../functions/utils/reloadPage.cjs`),g=require(`../../functions/utils/cacheDevice.utils.cjs`),_=require(`../../providers/SolanaProviderAdapter.cjs`),v=require(`../../functions/utils/enclave-signature-storage.cjs`),y=require(`../../functions/utils/mnemonics.cjs`),b=require(`../../functions/snarkjs/fetchOnChainRootHashes.cjs`),x=require(`../../functions/private-wallet/emporium.helpers.cjs`),S=require(`./hinkalDeposit.cjs`),C=require(`./hinkalProoflessDeposit.cjs`);require(`../../functions/index.cjs`);const w=require(`./hinkalDepositAndWithdraw.cjs`),T=require(`./hinkalSolanaDeposit.cjs`),E=require(`./hinkalSwap.cjs`),D=require(`./hinkalWithdraw.cjs`),O=require(`../merkle-tree/MerkleTree.cjs`);require(`../merkle-tree/index.cjs`);const k=require(`./resetMerkleTrees.cjs`);require(`../../API/index.cjs`);const A=require(`../MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs`),j=require(`./hinkalPrivateWallet.cjs`),M=require(`./hinkalGetRecipientInfo.cjs`),N=require(`./hinkalSignSubAccount.cjs`),P=require(`./hinkalActionReceive.cjs`);require(`../TokenDBs/index.cjs`);const ee=require(`./hinkalProxySwap.cjs`),F=require(`./hinkalTransfer.cjs`),I=require(`./hinkalProxyToPrivate.cjs`),L=require(`../../providers/TronProviderAdapter.cjs`),R=require(`./hinkalSolanaDepositAndWithdraw.cjs`),z=require(`./hinkalSolanaWithdraw.cjs`),B=require(`./hinkalSolanaTransfer.cjs`),V=require(`./hinkalSolanaSwap.cjs`),H=require(`./hinkalSolanaProxySend.cjs`),U=require(`./hinkalSolanaProxySwap.cjs`),W=require(`./hinkalSolanaProxyShield.cjs`),G=require(`./hinkalDepositAndBridge.cjs`),K=require(`./hinkalBridgePrivateToPrivate.cjs`),q=require(`./hinkalNearDepositAndBridge.cjs`),J=require(`./hinkalClaimUtxo.cjs`),Y=require(`./hinkalSolanaProoflessDeposit.cjs`),X=require(`./hinkalSolanaClaimUtxo.cjs`),Z=require(`./hinkalWithdrawStuckUtxos.cjs`),Q=require(`../private-balances/HinkalPrivateBalanceController.cjs`);require(`../private-balances/index.cjs`);let $=require(`@solana/web3.js`);var te=class{ethereumProviderAdapter;solanaProviderAdapter;tronProviderAdapter;userKeys;legacySignature;merkleTreeHinkalByChain={};nullifiersByChain={};encryptedOutputsByChain={};commitmentsSnapshotServiceByChain={};nullifierSnapshotServiceByChain={};privateBalances=new Q.HinkalPrivateBalanceController(this);utxoUtils;lastCallState=new Map;cacheDevice;balanceFetchingMutexByChain=new Map;generateProofRemotely;disableMerkleTreeUpdates;allowParallelBalanceLocalDecryption;constructor(e){this.userKeys=new s.UserKeys(void 0),e?.tronChainOverride&&n.setHinkalTronChainId(e.tronChainOverride),n.HINKAL_SUPPORTED_CHAINS.forEach(e=>{this.merkleTreeHinkalByChain[e]=O.MerkleTree.create(a.poseidonFunction,0n),this.nullifiersByChain[e]=new Set,this.encryptedOutputsByChain[e]=[]}),this.generateProofRemotely=e?.generateProofRemotely??!0,this.utxoUtils=new A.MultiThreadedUtxoUtils,this.cacheDevice=g.createCacheDevice(e),this.disableMerkleTreeUpdates=e?.disableMerkleTreeUpdates??!1,this.allowParallelBalanceLocalDecryption=e?.allowParallelBalanceLocalDecryption??!1}enforceRateLimit(t,n,r=1e3){let i=Date.now(),a=e.CustomJSONStringify(n),o=this.lastCallState.get(t);if(o&&o.argsKey===a&&i-o.timestamp<r)throw Error(`${t} was already called with the same arguments`);this.lastCallState.set(t,{timestamp:i,argsKey:a})}getProviderAdapter(e){let t=e;t||=this.ethereumProviderAdapter?n.chainIds.ethMainnet:this.solanaProviderAdapter?n.currentSolanaChainId:n.chainIds.tronMainnet;let r;if(r=n.isSolanaLike(t)?this.solanaProviderAdapter:n.isTronLike(t)?this.tronProviderAdapter:this.ethereumProviderAdapter,!r)throw Error(`ProviderAdapter is not initialized`);return r}async initProviderAdapter(e,t){let r=n.chainIds.ethMainnet;t instanceof _.SolanaProviderAdapter?r=n.currentSolanaChainId:t instanceof L.TronProviderAdapter&&(r=n.currentTronChainId),await this.updateProviderAdapter(r,t),t.initConnector(e);let i=await t.connectAndPatchProvider(e);await t.init(i),await this.setListeners()}getSigningMessage(e=i.LoginMessageMode.SDK){switch(e){case i.LoginMessageMode.SDK:return r.SDK_SIGNING_MESSAGE;case i.LoginMessageMode.HINKAL_DAPP:default:return r.DAPP_SIGNING_MESSAGE}}async signHinkalMessage(e=i.LoginMessageMode.SDK){let t=this.getSigningMessage(e);return this.getProviderAdapter().signMessage(t)}async signSolanaLedgerMessage(){let e=new $.Transaction({blockhash:r.DETERMINISTIC_SOLANA_LEDGER_BLOCKHASH,lastValidBlockHeight:r.DETERMINISTIC_SOLANA_LEDGER_LAST_VALID_BLOCK_HEIGHT,feePayer:this.getSolanaPublicKey()}),t=await this.getProviderAdapter().signTransactionWithoutBroadcast?.(e);if(!t)throw Error(`Failed to sign transaction without broadcast`);return{signature:t.signature,txMessageForSolanaLedger:t.transactionMessageB64}}async initUserKeys(e=i.LoginMessageMode.SDK){this.userKeys=new s.UserKeys(await this.signHinkalMessage(e))}initUserKeysWithSignature(e){this.userKeys=new s.UserKeys(e)}async initUserKeysFromSeedPhrases(e){let t=y.generateHashFromSeedPhrases(e);this.userKeys=new s.UserKeys(t)}async initUserKeysWithEnclaveSignature(e=i.LoginMessageMode.SDK){if(!await this.getEthereumAddress())throw Error(`Connected address not found`);let t=this.getProviderAdapter().isSolanaLedger?.()??!1,n,r;if(t){let e=await this.signSolanaLedgerMessage();n=e.signature,r=e.txMessageForSolanaLedger}else n=await this.getProviderAdapter().signMessage(this.getSigningMessage(e));let a=await this.storeAndGetInitialSignature(n,t,r);return this.initUserKeysWithSignature(a??n),r}async storeAndGetInitialSignature(e,t=!1,n){let r=await this.getEthereumAddress();if(!r)throw Error(`Connected address not found`);return await v.storeAndGetSignatureFromEnclave(r,e,t,n)}async resetMerkle(e){this.disableMerkleTreeUpdates||(e?.every(e=>this.isSelectedNetworkSupported(e))??!0)&&await k.resetMerkleTrees(this,e)}getTronWeb(){let e=this.tronProviderAdapter;if(!e)throw Error(`Tron provider adapter not initialized`);if(!(e instanceof L.TronProviderAdapter))throw Error(`Tron provider adapter is not a TronProviderAdapter`);let t=e.getTronWeb();if(!t)throw Error(`TronWeb not available`);return t}getSupportedChains(){return this.ethereumProviderAdapter&&this.solanaProviderAdapter?n.WALLET_SUPPORTED_CHAINS:this.ethereumProviderAdapter?n.HINKAL_SUPPORTED_CHAINS.filter(e=>!n.isSolanaLike(e)&&!n.isTronLike(e)):this.solanaProviderAdapter?n.HINKAL_SUPPORTED_CHAINS.filter(e=>n.isSolanaLike(e)):this.tronProviderAdapter?[n.currentTronChainId]:[]}async waitForTransaction(e,t,n=1){return!!await this.getProviderAdapter(e).waitForTransaction(e,t,n)}getContract(e,t,n=void 0){return this.getProviderAdapter(e).getContract(e,t,n)}getContractWithFetcherByChainId(e,t,n=void 0){return m.getContractWithFetcherByChainId(e,t,n)}async signMessage(e){return await this.getProviderAdapter().signMessage(e)}async signTypedData(e,t,n){return await this.getProviderAdapter().signTypedData(e,t,n)}async signWithSubAccount(e,t,n,r){return N.hinkalSignSubAccount(e,t,n,r)}getContractWithSigner(e,t,n=``){return this.getProviderAdapter(e).getContractWithSigner(e,t,n)}getContractWithFetcher(e,t,n=``){return this.getProviderAdapter(e).getContractWithFetcher(e,t,n)}isSelectedNetworkSupported(e){return!!n.networkRegistry[e]}async switchNetwork(e){let t=this.getProviderAdapter(),r=t.getChainId(),i=r!==void 0&&n.isSameOnchainNetwork(e.chainId,r);if(!(e.chainId===r||i))try{await t.switchNetwork(e)}catch{throw Error(o.transactionErrorCodes.FAILED_TO_SWITCH_NETWORKS)}}async disconnectFromConnector(){await this.ethereumProviderAdapter?.disconnectFromConnector(),await this.solanaProviderAdapter?.disconnectFromConnector(),await this.tronProviderAdapter?.disconnectFromConnector()}async resetProviderAdapters(){this.ethereumProviderAdapter?.release(),this.solanaProviderAdapter?.release(),this.tronProviderAdapter?.release(),this.ethereumProviderAdapter=void 0,this.solanaProviderAdapter=void 0,this.tronProviderAdapter=void 0}async updateProviderAdapter(e,t){try{n.isSolanaLike(e)?(this.solanaProviderAdapter&&this.solanaProviderAdapter.release(),this.solanaProviderAdapter=t):n.isTronLike(e)?(this.tronProviderAdapter&&this.tronProviderAdapter.release(),this.tronProviderAdapter=t):(this.ethereumProviderAdapter&&this.ethereumProviderAdapter.release(),this.ethereumProviderAdapter=t)}catch(e){throw console.error(e),Error(`updateProviderAdapter failed, please try again.`)}}async setListeners(){this.ethereumProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}}),this.solanaProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}}),this.tronProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}})}async onAccountChanged(){await this.ethereumProviderAdapter?.onAccountChanged(),await this.solanaProviderAdapter?.onAccountChanged(),await this.tronProviderAdapter?.onAccountChanged();let e=i.EventType.AccountChanged;typeof document<`u`?document?.dispatchEvent(new Event(e)):process?.emit(`message`,e,void 0)}async onChainChanged(e){e?await this.getProviderAdapter(e).onChainChanged(e):(await this.disconnectFromConnector(),h.reloadPage())}async monitorConnectedAddress(e){await l.API.monitor(await this.getEthereumAddressByChain(e))}async getBalances(e,t,n,r,i=!1,a,o=!1){return p.getShieldedBalance(this,e,t,n,r,i,this.generateProofRemotely,a,o)}async getTotalBalance(e,n,r,i=!1,a,o=!1){let s=r??await this.getEthereumAddressByChain(e),c=n??this.userKeys,l=await this.getBalances(e,c.getShieldedPrivateKey(),c.getShieldedPublicKey(),s,i,a,o),u=t.isExtension?await d.privateTokensDB.getPrivateTokens(e,s):await f.getErc20TokensForChainAPI(e),p=[];return u.forEach(e=>{let t=e.erc20TokenAddress.toLowerCase(),n=l.get(t),r={token:e,balance:n?.balance??0n,timestamp:n?.timestamp||`0`,nfts:n?.nfts||[]};p.push(r)}),p}async getStuckShieldedBalances(e,t,n,r=!1,i=!1){return(await this.getTotalBalance(e,t,n,r,i,!0)).filter(e=>e.balance>0n)}get privateBalancesWithUSD(){return this.privateBalances.getSnapshot()}onPrivateBalancesWithUSDChange(e){return this.privateBalances.onPrivateBalancesWithUSDChange(e)}async getHinkalTreeRootHash(e){return(await b.fetchOnChainRootHashes(e)).hinkalRootHash}async resetMerkleTreesIfNecessary(e){let t=(await Promise.all((e??this.getSupportedChains()).map(async e=>{let t=await this.getHinkalTreeRootHash(e);return{chainId:e,needsReset:BigInt(t)!==this.merkleTreeHinkalByChain[e].getRootHash()}}))).filter(e=>e.needsReset).map(e=>e.chainId);t.length>0&&(console.log(`resetting merkle tree in resetMerkleTreesIfNecessary for chains:`,t),await this.resetMerkle(t))}async getEthereumAddress(){let e=this.ethereumProviderAdapter??this.solanaProviderAdapter??this.tronProviderAdapter;if(!e)throw Error(`No provider adapter initialized`);return e.getAddress()}getEthereumAddressByChain(e){return this.getProviderAdapter(e).getAddress()}async getRandomRelay(e,t=!1){return(await l.API.getIdleRelay(e,t)).relay}getGasPrice(e){let t=this.getProviderAdapter(e);if(!t)throw Error(`Illegal State of providerAdapter in Hinkal: no providerAdapter initialized`);return t.getGasPrice(e)}getAPI(){return l.API}snapshotsClearInterval(){this.getSupportedChains().forEach(e=>{this.commitmentsSnapshotServiceByChain[e]?.intervalClear(),this.nullifierSnapshotServiceByChain[e]?.intervalClear()})}async destroy(){this.snapshotsClearInterval(),this.privateBalances.dispose(),await this.resetProviderAdapters()}getRecipientInfo(){return M.getRecipientInfo(this)}async deposit(e,t,n=!0,r=!1){return S.hinkalDeposit(this,e,t,n,r)}async depositSolana(e,t,n=!1){return T.hinkalSolanaDeposit(this,e,t,n)}async depositForOther(e,t,n,r=!0,i=!1,a){return this.enforceRateLimit(this.depositForOther.name,[e,t,n]),S.hinkalDepositForOther(this,e,t,n,r,i,a)}async depositSolanaForOther(e,t,n,r=!1,i){return this.enforceRateLimit(this.depositSolanaForOther.name,[e,t,n]),T.hinkalSolanaDepositForOther(this,e,t,n,r,i)}async depositAndWithdraw(e,t,r,i,a,o,s,c,l=!0){return n.isSolanaLike(u.validateAndGetChainId([e]))?R.hinkalSolanaDepositAndWithdraw(this,e,t,r,i,a,o,s,c):w.hinkalDepositAndWithdraw(this,e,t,r,i,a,o,s,c,l)}async claimUtxo(e,t,r,i){return n.isSolanaLike(u.validateAndGetChainId([e]))?X.hinkalSolanaClaimUtxo(this,e,t,r,i):J.hinkalClaimUtxo(this,e,t,r,i)}async depositAndBridge(e,t,n,r,i,a,o,s=!0){return G.hinkalDepositAndBridge(this,e,t,n,r,i,a,o,s)}async bridgePrivateToPrivate(e,t,n,r,i,a,o){return this.enforceRateLimit(this.bridgePrivateToPrivate.name,[e,t,n]),K.hinkalBridgePrivateToPrivate(this,e,t,n,r,i,a,o)}async checkSendTransactionStatus(e){return c.getScheduledTransactionById(e)}async nearDepositAndBridge(e,t,n,r,i,a,o,s,c){return this.enforceRateLimit(this.nearDepositAndBridge.name,[e,t,n,r]),q.hinkalNearDepositAndBridge(this,e,t,n,r,i,a,o,s,c)}async prooflessDeposit(e,t,r,a,o=!1,s=i.zeroProoflessFeeStructure,c=``,l,d=!1){return n.isSolanaLike(u.validateAndGetChainId(e))?Y.hinkalSolanaProoflessDeposit(this,e,t,r,l,d):C.hinkalProoflessDeposit(this,e,t,r,a,o,s,c,l,d)}getSolanaProgram(e){if(!this.solanaProviderAdapter)throw Error(`No provider adapter initialized`);if(!(`getSolanaProgram`in this.solanaProviderAdapter))throw Error(`Current provider adapter is not a Solana provider adapter`);return this.solanaProviderAdapter.getSolanaProgram(e)}getSolanaPublicKey(){if(!this.solanaProviderAdapter)throw Error(`No provider adapter initialized`);if(!(`getSolanaPublicKey`in this.solanaProviderAdapter))throw Error(`Current provider adapter is not a Solana provider adapter`);return this.solanaProviderAdapter.getSolanaPublicKey()}async transfer(e,t,r,i,a,o){return this.enforceRateLimit(this.transfer.name,[e,t,r]),n.isSolanaLike(u.validateAndGetChainId(e))?B.hinkalSolanaTransfer(this,e,t,r,i,a,o):F.hinkalTransfer(this,e,t,r,i,a,o)}async withdraw(e,t,r,i,a,o,s){return n.isSolanaLike(u.validateAndGetChainId(e))?z.hinkalSolanaWithdraw(this,e,t,r,a,o,s):D.hinkalWithdraw(this,e,t,r,i,a,o,s)}async withdrawStuckUtxos(e,t){return Z.hinkalWithdrawStuckUtxos(this,e,t)}async swap(e,t,r,i,a,o,s){return n.isSolanaLike(u.validateAndGetChainId(e))?this.swapSolana(e,t,i,a,o,s):E.hinkalSwap(this,e,t,r,i,a,o,s)}async swapSolana(e,t,n,r,i,a){let o=JSON.parse(n),s=BigInt(o.swapperAccountSalt),{instructionLists:c,addressLookupTableAccount:l}=o.data;return V.hinkalSolanaSwap(this,e,t,s,c,l,r,i,a)}async actionReceive(e,t,r,i,a,o){if(!a)throw Error(`subAccount is required`);return n.isSolanaLike(u.validateAndGetChainId(e))?W.hinkalSolanaProxyShield(this,e[0],t[0],a,void 0,o):P.hinkalActionReceive(this,e,t,r,i,a,o)}async actionPrivateWallet(e,t,n,r,i,a,o,s,c,l,u=!1,d,f,p){return this.enforceRateLimit(this.actionPrivateWallet.name,[e,t,n,r,i,a,o,s,c,p]),j.hinkalPrivateWallet(this,e,t,n,r,i,a,o,s,c,l,u,d,f,p)}async proxySwap(e,t,r,i,a,o,s,c,l=!1,d,f){return n.isSolanaLike(u.validateAndGetChainId(e))?U.hinkalSolanaProxySwap(this,e,t,i,o,r,s,c,f):ee.hinkalProxySwap(this,e,t,r,i,a,o,s,c,l,d,f)}async proxyToPrivate(e,t,r,i,a,o,s){return n.isSolanaLike(u.validateAndGetChainId(e))?(this.enforceRateLimit(this.proxyToPrivate.name,[e[0],t[0],r,i]),W.hinkalSolanaProxyShield(this,e[0],t[0],r,i,s)):I.hinkalProxyToPrivate(this,e,t,i,a,o,r,s)}async proxySend(e,t,r,i,a,o,s){let c=u.validateAndGetChainId(e);if(n.isSolanaLike(c))return H.hinkalSolanaProxySend(this,e[0],t[0],r,i,s);let l=x.createTransaferEmporiumOpsBatch(this,c,e.map(e=>e.erc20TokenAddress),t,i),d=e.map((e,n)=>({token:e,amount:-1n*t[n]}));return await this.actionPrivateWallet(c,[],[],[],l,d,r,a,o,void 0,void 0,void 0,s,void 0)}areMerkleTreeUpdatesDisabled(){return this.disableMerkleTreeUpdates}updateMerkleTreeUpdates(e){this.disableMerkleTreeUpdates=e}};exports.Hinkal=te;
|
|
1
|
+
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../functions/utils/serialize.utils.cjs`),t=require(`../../constants/vite.constants.cjs`),n=require(`../../constants/chains.constants.cjs`),r=require(`../../constants/protocol.constants.cjs`),i=require(`../../types/hinkal.types.cjs`),a=require(`../../crypto/poseidon.cjs`),o=require(`../../error-handling/error-codes.constants.cjs`),s=require(`../crypto-keys/keys.cjs`),c=require(`../../API/scheduled-transactions-calls.cjs`),l=require(`../../API/API.cjs`),u=require(`../../functions/utils/token-check.utils.cjs`),d=require(`../TokenDBs/PrivateTokensDB.cjs`),f=require(`../../functions/utils/erc20tokenFunctions.cjs`),p=require(`../../functions/web3/events/getShieldedBalance.cjs`),m=require(`../../functions/web3/getContractMetadata.cjs`),h=require(`../../functions/snarkjs/fetchOnChainRootHashes.cjs`),g=require(`../../functions/private-wallet/emporium.helpers.cjs`),_=require(`./hinkalDeposit.cjs`),v=require(`./hinkalProoflessDeposit.cjs`),y=require(`../../functions/utils/reloadPage.cjs`),b=require(`../../functions/utils/cacheDevice.utils.cjs`),x=require(`../../providers/SolanaProviderAdapter.cjs`),S=require(`../../functions/utils/enclave-signature-storage.cjs`),C=require(`../../functions/utils/mnemonics.cjs`);require(`../../functions/index.cjs`);const w=require(`./hinkalDepositAndWithdraw.cjs`),T=require(`./hinkalSolanaDeposit.cjs`),E=require(`./hinkalSwap.cjs`),D=require(`./hinkalWithdraw.cjs`),O=require(`../merkle-tree/MerkleTree.cjs`);require(`../merkle-tree/index.cjs`);const k=require(`./resetMerkleTrees.cjs`);require(`../../API/index.cjs`);const A=require(`../MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs`),j=require(`./hinkalPrivateWallet.cjs`),M=require(`./hinkalGetRecipientInfo.cjs`),N=require(`./hinkalSignSubAccount.cjs`),P=require(`./hinkalActionReceive.cjs`);require(`../TokenDBs/index.cjs`);const ee=require(`./hinkalProxySwap.cjs`),F=require(`./hinkalTransfer.cjs`),I=require(`./hinkalProxyToPrivate.cjs`),L=require(`../../providers/TronProviderAdapter.cjs`),R=require(`./hinkalSolanaDepositAndWithdraw.cjs`),z=require(`./hinkalSolanaWithdraw.cjs`),B=require(`./hinkalSolanaTransfer.cjs`),V=require(`./hinkalSolanaSwap.cjs`),H=require(`./hinkalSolanaProxySend.cjs`),U=require(`./hinkalSolanaProxySwap.cjs`),W=require(`./hinkalSolanaProxyShield.cjs`),G=require(`./hinkalDepositAndBridge.cjs`),K=require(`./hinkalBridgePrivateToPrivate.cjs`),q=require(`./hinkalNearDepositAndBridge.cjs`),J=require(`./hinkalClaimUtxo.cjs`),Y=require(`./hinkalSolanaProoflessDeposit.cjs`),X=require(`./hinkalSolanaClaimUtxo.cjs`),Z=require(`./hinkalWithdrawStuckUtxos.cjs`),Q=require(`../private-balances/HinkalPrivateBalanceController.cjs`);require(`../private-balances/index.cjs`);let $=require(`@solana/web3.js`);var te=class{ethereumProviderAdapter;solanaProviderAdapter;tronProviderAdapter;userKeys;legacySignature;merkleTreeHinkalByChain={};nullifiersByChain={};encryptedOutputsByChain={};commitmentsSnapshotServiceByChain={};nullifierSnapshotServiceByChain={};privateBalances=new Q.HinkalPrivateBalanceController(this);utxoUtils;lastCallState=new Map;cacheDevice;balanceFetchingMutexByChain=new Map;generateProofRemotely;disableMerkleTreeUpdates;allowParallelBalanceLocalDecryption;constructor(e){this.userKeys=new s.UserKeys(void 0),e?.tronChainOverride&&n.setHinkalTronChainId(e.tronChainOverride),n.HINKAL_SUPPORTED_CHAINS.forEach(e=>{this.merkleTreeHinkalByChain[e]=O.MerkleTree.create(a.poseidonFunction,0n),this.nullifiersByChain[e]=new Set,this.encryptedOutputsByChain[e]=[]}),this.generateProofRemotely=e?.generateProofRemotely??!0,this.utxoUtils=new A.MultiThreadedUtxoUtils,this.cacheDevice=b.createCacheDevice(e),this.disableMerkleTreeUpdates=e?.disableMerkleTreeUpdates??!1,this.allowParallelBalanceLocalDecryption=e?.allowParallelBalanceLocalDecryption??!1}enforceRateLimit(t,n,r=1e3){let i=Date.now(),a=e.CustomJSONStringify(n),o=this.lastCallState.get(t);if(o&&o.argsKey===a&&i-o.timestamp<r)throw Error(`${t} was already called with the same arguments`);this.lastCallState.set(t,{timestamp:i,argsKey:a})}getProviderAdapter(e){let t=e;t||=this.ethereumProviderAdapter?n.chainIds.ethMainnet:this.solanaProviderAdapter?n.currentSolanaChainId:n.chainIds.tronMainnet;let r;if(r=n.isSolanaLike(t)?this.solanaProviderAdapter:n.isTronLike(t)?this.tronProviderAdapter:this.ethereumProviderAdapter,!r)throw Error(`ProviderAdapter is not initialized`);return r}async initProviderAdapter(e,t){let r=n.chainIds.ethMainnet;t instanceof x.SolanaProviderAdapter?r=n.currentSolanaChainId:t instanceof L.TronProviderAdapter&&(r=n.currentTronChainId),await this.updateProviderAdapter(r,t),t.initConnector(e);let i=await t.connectAndPatchProvider(e);await t.init(i),await this.setListeners()}getSigningMessage(e=i.LoginMessageMode.SDK){switch(e){case i.LoginMessageMode.SDK:return r.SDK_SIGNING_MESSAGE;case i.LoginMessageMode.HINKAL_DAPP:default:return r.DAPP_SIGNING_MESSAGE}}async signHinkalMessage(e=i.LoginMessageMode.SDK){let t=this.getSigningMessage(e);return this.getProviderAdapter().signMessage(t)}async signSolanaLedgerMessage(){let e=new $.Transaction({blockhash:r.DETERMINISTIC_SOLANA_LEDGER_BLOCKHASH,lastValidBlockHeight:r.DETERMINISTIC_SOLANA_LEDGER_LAST_VALID_BLOCK_HEIGHT,feePayer:this.getSolanaPublicKey()}),t=await this.getProviderAdapter().signTransactionWithoutBroadcast?.(e);if(!t)throw Error(`Failed to sign transaction without broadcast`);return{signature:t.signature,txMessageForSolanaLedger:t.transactionMessageB64}}async initUserKeys(e=i.LoginMessageMode.SDK){this.userKeys=new s.UserKeys(await this.signHinkalMessage(e))}initUserKeysWithSignature(e){this.userKeys=new s.UserKeys(e)}async initUserKeysFromSeedPhrases(e){let t=C.generateHashFromSeedPhrases(e);this.userKeys=new s.UserKeys(t)}async initUserKeysWithEnclaveSignature(e=i.LoginMessageMode.SDK){if(!await this.getEthereumAddress())throw Error(`Connected address not found`);let t=this.getProviderAdapter().isSolanaLedger?.()??!1,n,r;if(t){let e=await this.signSolanaLedgerMessage();n=e.signature,r=e.txMessageForSolanaLedger}else n=await this.getProviderAdapter().signMessage(this.getSigningMessage(e));let a=await this.storeAndGetInitialSignature(n,t,r);return this.initUserKeysWithSignature(a??n),r}async storeAndGetInitialSignature(e,t=!1,n){let r=await this.getEthereumAddress();if(!r)throw Error(`Connected address not found`);return await S.storeAndGetSignatureFromEnclave(r,e,t,n)}async resetMerkle(e){this.disableMerkleTreeUpdates||(e?.every(e=>this.isSelectedNetworkSupported(e))??!0)&&await k.resetMerkleTrees(this,e)}getTronWeb(){let e=this.tronProviderAdapter;if(!e)throw Error(`Tron provider adapter not initialized`);if(!(e instanceof L.TronProviderAdapter))throw Error(`Tron provider adapter is not a TronProviderAdapter`);let t=e.getTronWeb();if(!t)throw Error(`TronWeb not available`);return t}getSupportedChains(){return this.ethereumProviderAdapter&&this.solanaProviderAdapter?n.WALLET_SUPPORTED_CHAINS:this.ethereumProviderAdapter?n.HINKAL_SUPPORTED_CHAINS.filter(e=>!n.isSolanaLike(e)&&!n.isTronLike(e)):this.solanaProviderAdapter?n.HINKAL_SUPPORTED_CHAINS.filter(e=>n.isSolanaLike(e)):this.tronProviderAdapter?[n.currentTronChainId]:[]}async waitForTransaction(e,t,n=1){return!!await this.getProviderAdapter(e).waitForTransaction(e,t,n)}getContract(e,t,n=void 0){return this.getProviderAdapter(e).getContract(e,t,n)}getContractWithFetcherByChainId(e,t,n=void 0){return m.getContractWithFetcherByChainId(e,t,n)}async signMessage(e){return await this.getProviderAdapter().signMessage(e)}async signTypedData(e,t,n){return await this.getProviderAdapter().signTypedData(e,t,n)}async signWithSubAccount(e,t,n,r){return N.hinkalSignSubAccount(e,t,n,r)}getContractWithSigner(e,t,n=``){return this.getProviderAdapter(e).getContractWithSigner(e,t,n)}getContractWithFetcher(e,t,n=``){return this.getProviderAdapter(e).getContractWithFetcher(e,t,n)}isSelectedNetworkSupported(e){return!!n.networkRegistry[e]}async switchNetwork(e){let t=this.getProviderAdapter(),r=t.getChainId(),i=r!==void 0&&n.isSameOnchainNetwork(e.chainId,r);if(!(e.chainId===r||i))try{await t.switchNetwork(e)}catch{throw Error(o.transactionErrorCodes.FAILED_TO_SWITCH_NETWORKS)}}async disconnectFromConnector(){await this.ethereumProviderAdapter?.disconnectFromConnector(),await this.solanaProviderAdapter?.disconnectFromConnector(),await this.tronProviderAdapter?.disconnectFromConnector()}async resetProviderAdapters(){this.ethereumProviderAdapter?.release(),this.solanaProviderAdapter?.release(),this.tronProviderAdapter?.release(),this.ethereumProviderAdapter=void 0,this.solanaProviderAdapter=void 0,this.tronProviderAdapter=void 0}async updateProviderAdapter(e,t){try{n.isSolanaLike(e)?(this.solanaProviderAdapter&&this.solanaProviderAdapter.release(),this.solanaProviderAdapter=t):n.isTronLike(e)?(this.tronProviderAdapter&&this.tronProviderAdapter.release(),this.tronProviderAdapter=t):(this.ethereumProviderAdapter&&this.ethereumProviderAdapter.release(),this.ethereumProviderAdapter=t)}catch(e){throw console.error(e),Error(`updateProviderAdapter failed, please try again.`)}}async setListeners(){this.ethereumProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}}),this.solanaProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}}),this.tronProviderAdapter?.setChainEventListener({onAccountChanged:()=>{this.onAccountChanged()},onChainChanged:e=>{this.onChainChanged(e)}})}async onAccountChanged(){await this.ethereumProviderAdapter?.onAccountChanged(),await this.solanaProviderAdapter?.onAccountChanged(),await this.tronProviderAdapter?.onAccountChanged();let e=i.EventType.AccountChanged;typeof document<`u`?document?.dispatchEvent(new Event(e)):process?.emit(`message`,e,void 0)}async onChainChanged(e){e?await this.getProviderAdapter(e).onChainChanged(e):(await this.disconnectFromConnector(),y.reloadPage())}async monitorConnectedAddress(e){await l.API.monitor(await this.getEthereumAddressByChain(e))}async getBalances(e,t,n,r,i=!1,a,o=!1){return p.getShieldedBalance(this,e,t,n,r,i,a,o)}async getTotalBalance(e,n,r,i=!1,a,o=!1){let s=r??await this.getEthereumAddressByChain(e),c=n??this.userKeys,l=await this.getBalances(e,c.getShieldedPrivateKey(),c.getShieldedPublicKey(),s,i,a,o),u=t.isExtension?await d.privateTokensDB.getPrivateTokens(e,s):await f.getErc20TokensForChainAPI(e),p=[];return u.forEach(e=>{let t=e.erc20TokenAddress.toLowerCase(),n=l.get(t),r={token:e,balance:n?.balance??0n,timestamp:n?.timestamp||`0`,nfts:n?.nfts||[]};p.push(r)}),p}async getStuckShieldedBalances(e,t,n,r=!1,i=!1){return(await this.getTotalBalance(e,t,n,r,i,!0)).filter(e=>e.balance>0n)}get privateBalancesWithUSD(){return this.privateBalances.getSnapshot()}onPrivateBalancesWithUSDChange(e){return this.privateBalances.onPrivateBalancesWithUSDChange(e)}async getHinkalTreeRootHash(e){return(await h.fetchOnChainRootHashes(e)).hinkalRootHash}async resetMerkleTreesIfNecessary(e){let t=(await Promise.all((e??this.getSupportedChains()).map(async e=>{if(this.generateProofRemotely)return{chainId:e,needsReset:!1};let t=await this.getHinkalTreeRootHash(e);return{chainId:e,needsReset:BigInt(t)!==this.merkleTreeHinkalByChain[e].getRootHash()}}))).filter(e=>e.needsReset).map(e=>e.chainId);t.length>0&&(console.log(`resetting merkle tree in resetMerkleTreesIfNecessary for chains:`,t),await this.resetMerkle(t))}async getEthereumAddress(){let e=this.ethereumProviderAdapter??this.solanaProviderAdapter??this.tronProviderAdapter;if(!e)throw Error(`No provider adapter initialized`);return e.getAddress()}getEthereumAddressByChain(e){return this.getProviderAdapter(e).getAddress()}async getRandomRelay(e,t=!1){return(await l.API.getIdleRelay(e,t)).relay}getGasPrice(e){let t=this.getProviderAdapter(e);if(!t)throw Error(`Illegal State of providerAdapter in Hinkal: no providerAdapter initialized`);return t.getGasPrice(e)}getAPI(){return l.API}snapshotsClearInterval(){this.getSupportedChains().forEach(e=>{this.commitmentsSnapshotServiceByChain[e]?.intervalClear(),this.nullifierSnapshotServiceByChain[e]?.intervalClear()})}async destroy(){this.snapshotsClearInterval(),this.privateBalances.dispose(),await this.resetProviderAdapters()}getRecipientInfo(){return M.getRecipientInfo(this)}async deposit(e,t,n=!0,r=!1){return _.hinkalDeposit(this,e,t,n,r)}async depositSolana(e,t,n=!1){return T.hinkalSolanaDeposit(this,e,t,n)}async depositForOther(e,t,n,r=!0,i=!1,a){return this.enforceRateLimit(this.depositForOther.name,[e,t,n]),_.hinkalDepositForOther(this,e,t,n,r,i,a)}async depositSolanaForOther(e,t,n,r=!1,i){return this.enforceRateLimit(this.depositSolanaForOther.name,[e,t,n]),T.hinkalSolanaDepositForOther(this,e,t,n,r,i)}async depositAndWithdraw(e,t,r,i,a,o,s,c,l=!0){return n.isSolanaLike(u.validateAndGetChainId([e]))?R.hinkalSolanaDepositAndWithdraw(this,e,t,r,i,a,o,s,c):w.hinkalDepositAndWithdraw(this,e,t,r,i,a,o,s,c,l)}async claimUtxo(e,t,r,i){return n.isSolanaLike(u.validateAndGetChainId([e]))?X.hinkalSolanaClaimUtxo(this,e,t,r,i):J.hinkalClaimUtxo(this,e,t,r,i)}async depositAndBridge(e,t,n,r,i,a,o,s=!0){return G.hinkalDepositAndBridge(this,e,t,n,r,i,a,o,s)}async bridgePrivateToPrivate(e,t,n,r,i,a,o){return this.enforceRateLimit(this.bridgePrivateToPrivate.name,[e,t,n]),K.hinkalBridgePrivateToPrivate(this,e,t,n,r,i,a,o)}async checkSendTransactionStatus(e){return c.getScheduledTransactionById(e)}async nearDepositAndBridge(e,t,n,r,i,a,o,s,c){return this.enforceRateLimit(this.nearDepositAndBridge.name,[e,t,n,r]),q.hinkalNearDepositAndBridge(this,e,t,n,r,i,a,o,s,c)}async prooflessDeposit(e,t,r,a,o=!1,s=i.zeroProoflessFeeStructure,c=``,l,d=!1){return n.isSolanaLike(u.validateAndGetChainId(e))?Y.hinkalSolanaProoflessDeposit(this,e,t,r,a,o,l,d):v.hinkalProoflessDeposit(this,e,t,r,a,o,s,c,l,d)}getSolanaProgram(e){if(!this.solanaProviderAdapter)throw Error(`No provider adapter initialized`);if(!(`getSolanaProgram`in this.solanaProviderAdapter))throw Error(`Current provider adapter is not a Solana provider adapter`);return this.solanaProviderAdapter.getSolanaProgram(e)}getSolanaPublicKey(){if(!this.solanaProviderAdapter)throw Error(`No provider adapter initialized`);if(!(`getSolanaPublicKey`in this.solanaProviderAdapter))throw Error(`Current provider adapter is not a Solana provider adapter`);return this.solanaProviderAdapter.getSolanaPublicKey()}async transfer(e,t,r,i,a,o){return this.enforceRateLimit(this.transfer.name,[e,t,r]),n.isSolanaLike(u.validateAndGetChainId(e))?B.hinkalSolanaTransfer(this,e,t,r,i,a,o):F.hinkalTransfer(this,e,t,r,i,a,o)}async withdraw(e,t,r,i,a,o,s){return n.isSolanaLike(u.validateAndGetChainId(e))?z.hinkalSolanaWithdraw(this,e,t,r,a,o,s):D.hinkalWithdraw(this,e,t,r,i,a,o,s)}async withdrawStuckUtxos(e,t){return Z.hinkalWithdrawStuckUtxos(this,e,t)}async swap(e,t,r,i,a,o,s){return n.isSolanaLike(u.validateAndGetChainId(e))?this.swapSolana(e,t,i,a,o,s):E.hinkalSwap(this,e,t,r,i,a,o,s)}async swapSolana(e,t,n,r,i,a){let o=JSON.parse(n),s=BigInt(o.swapperAccountSalt),{instructionLists:c,addressLookupTableAccount:l}=o.data;return V.hinkalSolanaSwap(this,e,t,s,c,l,r,i,a)}async actionReceive(e,t,r,i,a,o){if(!a)throw Error(`subAccount is required`);return n.isSolanaLike(u.validateAndGetChainId(e))?W.hinkalSolanaProxyShield(this,e[0],t[0],a,void 0,!1,o):P.hinkalActionReceive(this,e,t,r,i,a,o)}async actionPrivateWallet(e,t,n,r,i,a,o,s,c,l,u=!1,d,f,p){return this.enforceRateLimit(this.actionPrivateWallet.name,[e,t,n,r,i,a,o,s,c,p]),j.hinkalPrivateWallet(this,e,t,n,r,i,a,o,s,c,l,u,d,f,p)}async proxySwap(e,t,r,i,a,o,s,c,l=!1,d,f){return n.isSolanaLike(u.validateAndGetChainId(e))?U.hinkalSolanaProxySwap(this,e,t,i,o,r,s,c,f):ee.hinkalProxySwap(this,e,t,r,i,a,o,s,c,l,d,f)}async proxyToPrivate(e,t,r,i,a,o,s){return n.isSolanaLike(u.validateAndGetChainId(e))?(this.enforceRateLimit(this.proxyToPrivate.name,[e[0],t[0],r,i]),W.hinkalSolanaProxyShield(this,e[0],t[0],r,i,!1,s)):I.hinkalProxyToPrivate(this,e,t,i,a,o,r,s)}async proxySend(e,t,r,i,a,o,s){let c=u.validateAndGetChainId(e);if(n.isSolanaLike(c))return H.hinkalSolanaProxySend(this,e[0],t[0],r,i,s);let l=g.createTransaferEmporiumOpsBatch(this,c,e.map(e=>e.erc20TokenAddress),t,i),d=e.map((e,n)=>({token:e,amount:-1n*t[n]}));return await this.actionPrivateWallet(c,[],[],[],l,d,r,a,o,void 0,void 0,void 0,s,void 0)}areMerkleTreeUpdatesDisabled(){return this.disableMerkleTreeUpdates}updateMerkleTreeUpdates(e){this.disableMerkleTreeUpdates=e}};exports.Hinkal=te;
|
|
@@ -13,15 +13,15 @@ import { privateTokensDB as C } from "../TokenDBs/PrivateTokensDB.mjs";
|
|
|
13
13
|
import { getErc20TokensForChainAPI as w } from "../../functions/utils/erc20tokenFunctions.mjs";
|
|
14
14
|
import { getShieldedBalance as T } from "../../functions/web3/events/getShieldedBalance.mjs";
|
|
15
15
|
import { getContractWithFetcherByChainId as E } from "../../functions/web3/getContractMetadata.mjs";
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
16
|
+
import { fetchOnChainRootHashes as D } from "../../functions/snarkjs/fetchOnChainRootHashes.mjs";
|
|
17
|
+
import { createTransaferEmporiumOpsBatch as O } from "../../functions/private-wallet/emporium.helpers.mjs";
|
|
18
|
+
import { hinkalDeposit as k, hinkalDepositForOther as A } from "./hinkalDeposit.mjs";
|
|
19
|
+
import { hinkalProoflessDeposit as j } from "./hinkalProoflessDeposit.mjs";
|
|
20
|
+
import { reloadPage as M } from "../../functions/utils/reloadPage.mjs";
|
|
21
|
+
import { createCacheDevice as N } from "../../functions/utils/cacheDevice.utils.mjs";
|
|
22
|
+
import { SolanaProviderAdapter as P } from "../../providers/SolanaProviderAdapter.mjs";
|
|
23
|
+
import { storeAndGetSignatureFromEnclave as F } from "../../functions/utils/enclave-signature-storage.mjs";
|
|
24
|
+
import { generateHashFromSeedPhrases as I } from "../../functions/utils/mnemonics.mjs";
|
|
25
25
|
import "../../functions/index.mjs";
|
|
26
26
|
import { hinkalDepositAndWithdraw as L } from "./hinkalDepositAndWithdraw.mjs";
|
|
27
27
|
import { hinkalSolanaDeposit as R, hinkalSolanaDepositForOther as z } from "./hinkalSolanaDeposit.mjs";
|
|
@@ -81,7 +81,7 @@ var _e = class {
|
|
|
81
81
|
constructor(e) {
|
|
82
82
|
this.userKeys = new y(void 0), e?.tronChainOverride && d(e.tronChainOverride), n.forEach((e) => {
|
|
83
83
|
this.merkleTreeHinkalByChain[e] = H.create(ee, 0n), this.nullifiersByChain[e] = /* @__PURE__ */ new Set(), this.encryptedOutputsByChain[e] = [];
|
|
84
|
-
}), this.generateProofRemotely = e?.generateProofRemotely ?? !0, this.utxoUtils = new U(), this.cacheDevice =
|
|
84
|
+
}), this.generateProofRemotely = e?.generateProofRemotely ?? !0, this.utxoUtils = new U(), this.cacheDevice = N(e), this.disableMerkleTreeUpdates = e?.disableMerkleTreeUpdates ?? !1, this.allowParallelBalanceLocalDecryption = e?.allowParallelBalanceLocalDecryption ?? !1;
|
|
85
85
|
}
|
|
86
86
|
enforceRateLimit(t, n, r = 1e3) {
|
|
87
87
|
let i = Date.now(), a = e(n), o = this.lastCallState.get(t);
|
|
@@ -100,7 +100,7 @@ var _e = class {
|
|
|
100
100
|
}
|
|
101
101
|
async initProviderAdapter(e, t) {
|
|
102
102
|
let n = i.ethMainnet;
|
|
103
|
-
t instanceof
|
|
103
|
+
t instanceof P ? n = a : t instanceof Z && (n = o), await this.updateProviderAdapter(n, t), t.initConnector(e);
|
|
104
104
|
let r = await t.connectAndPatchProvider(e);
|
|
105
105
|
await t.init(r), await this.setListeners();
|
|
106
106
|
}
|
|
@@ -134,7 +134,7 @@ var _e = class {
|
|
|
134
134
|
this.userKeys = new y(e);
|
|
135
135
|
}
|
|
136
136
|
async initUserKeysFromSeedPhrases(e) {
|
|
137
|
-
let t =
|
|
137
|
+
let t = I(e);
|
|
138
138
|
this.userKeys = new y(t);
|
|
139
139
|
}
|
|
140
140
|
async initUserKeysWithEnclaveSignature(e = _.SDK) {
|
|
@@ -150,7 +150,7 @@ var _e = class {
|
|
|
150
150
|
async storeAndGetInitialSignature(e, t = !1, n) {
|
|
151
151
|
let r = await this.getEthereumAddress();
|
|
152
152
|
if (!r) throw Error("Connected address not found");
|
|
153
|
-
return await
|
|
153
|
+
return await F(r, e, t, n);
|
|
154
154
|
}
|
|
155
155
|
async resetMerkle(e) {
|
|
156
156
|
this.disableMerkleTreeUpdates || (e?.every((e) => this.isSelectedNetworkSupported(e)) ?? !0) && await ne(this, e);
|
|
@@ -244,13 +244,13 @@ var _e = class {
|
|
|
244
244
|
typeof document < "u" ? document?.dispatchEvent(new Event(e)) : process?.emit("message", e, void 0);
|
|
245
245
|
}
|
|
246
246
|
async onChainChanged(e) {
|
|
247
|
-
e ? await this.getProviderAdapter(e).onChainChanged(e) : (await this.disconnectFromConnector(),
|
|
247
|
+
e ? await this.getProviderAdapter(e).onChainChanged(e) : (await this.disconnectFromConnector(), M());
|
|
248
248
|
}
|
|
249
249
|
async monitorConnectedAddress(e) {
|
|
250
250
|
await x.monitor(await this.getEthereumAddressByChain(e));
|
|
251
251
|
}
|
|
252
252
|
async getBalances(e, t, n, r, i = !1, a, o = !1) {
|
|
253
|
-
return T(this, e, t, n, r, i,
|
|
253
|
+
return T(this, e, t, n, r, i, a, o);
|
|
254
254
|
}
|
|
255
255
|
async getTotalBalance(e, n, r, i = !1, a, o = !1) {
|
|
256
256
|
let s = r ?? await this.getEthereumAddressByChain(e), c = n ?? this.userKeys, l = await this.getBalances(e, c.getShieldedPrivateKey(), c.getShieldedPublicKey(), s, i, a, o), u = t ? await C.getPrivateTokens(e, s) : await w(e), d = [];
|
|
@@ -274,10 +274,14 @@ var _e = class {
|
|
|
274
274
|
return this.privateBalances.onPrivateBalancesWithUSDChange(e);
|
|
275
275
|
}
|
|
276
276
|
async getHinkalTreeRootHash(e) {
|
|
277
|
-
return (await
|
|
277
|
+
return (await D(e)).hinkalRootHash;
|
|
278
278
|
}
|
|
279
279
|
async resetMerkleTreesIfNecessary(e) {
|
|
280
280
|
let t = (await Promise.all((e ?? this.getSupportedChains()).map(async (e) => {
|
|
281
|
+
if (this.generateProofRemotely) return {
|
|
282
|
+
chainId: e,
|
|
283
|
+
needsReset: !1
|
|
284
|
+
};
|
|
281
285
|
let t = await this.getHinkalTreeRootHash(e);
|
|
282
286
|
return {
|
|
283
287
|
chainId: e,
|
|
@@ -317,7 +321,7 @@ var _e = class {
|
|
|
317
321
|
return G(this);
|
|
318
322
|
}
|
|
319
323
|
async deposit(e, t, n = !0, r = !1) {
|
|
320
|
-
return
|
|
324
|
+
return k(this, e, t, n, r);
|
|
321
325
|
}
|
|
322
326
|
async depositSolana(e, t, n = !1) {
|
|
323
327
|
return R(this, e, t, n);
|
|
@@ -327,7 +331,7 @@ var _e = class {
|
|
|
327
331
|
e,
|
|
328
332
|
t,
|
|
329
333
|
n
|
|
330
|
-
]),
|
|
334
|
+
]), A(this, e, t, n, r, i, a);
|
|
331
335
|
}
|
|
332
336
|
async depositSolanaForOther(e, t, n, r = !1, i) {
|
|
333
337
|
return this.enforceRateLimit(this.depositSolanaForOther.name, [
|
|
@@ -364,7 +368,7 @@ var _e = class {
|
|
|
364
368
|
]), de(this, e, t, n, r, i, a, o, s, c);
|
|
365
369
|
}
|
|
366
370
|
async prooflessDeposit(e, t, n, r, i = !1, a = v, o = "", s, l = !1) {
|
|
367
|
-
return c(S(e)) ? pe(this, e, t, n, s, l) :
|
|
371
|
+
return c(S(e)) ? pe(this, e, t, n, r, i, s, l) : j(this, e, t, n, r, i, a, o, s, l);
|
|
368
372
|
}
|
|
369
373
|
getSolanaProgram(e) {
|
|
370
374
|
if (!this.solanaProviderAdapter) throw Error("No provider adapter initialized");
|
|
@@ -398,7 +402,7 @@ var _e = class {
|
|
|
398
402
|
}
|
|
399
403
|
async actionReceive(e, t, n, r, i, a) {
|
|
400
404
|
if (!i) throw Error("subAccount is required");
|
|
401
|
-
return c(S(e)) ? Q(this, e[0], t[0], i, void 0, a) : q(this, e, t, n, r, i, a);
|
|
405
|
+
return c(S(e)) ? Q(this, e[0], t[0], i, void 0, !1, a) : q(this, e, t, n, r, i, a);
|
|
402
406
|
}
|
|
403
407
|
async actionPrivateWallet(e, t, n, r, i, a, o, s, c, l, u = !1, d, f, p) {
|
|
404
408
|
return this.enforceRateLimit(this.actionPrivateWallet.name, [
|
|
@@ -423,12 +427,12 @@ var _e = class {
|
|
|
423
427
|
t[0],
|
|
424
428
|
n,
|
|
425
429
|
r
|
|
426
|
-
]), Q(this, e[0], t[0], n, r, o)) : X(this, e, t, r, i, a, n, o);
|
|
430
|
+
]), Q(this, e[0], t[0], n, r, !1, o)) : X(this, e, t, r, i, a, n, o);
|
|
427
431
|
}
|
|
428
432
|
async proxySend(e, t, n, r, i, a, o) {
|
|
429
433
|
let s = S(e);
|
|
430
434
|
if (c(s)) return se(this, e[0], t[0], n, r, o);
|
|
431
|
-
let l =
|
|
435
|
+
let l = O(this, s, e.map((e) => e.erc20TokenAddress), t, r), u = e.map((e, n) => ({
|
|
432
436
|
token: e,
|
|
433
437
|
amount: -1n * t[n]
|
|
434
438
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../constants/chains.constants.cjs`),t=require(`../../functions/utils/caseInsensitive.utils.cjs`),n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../../functions/web3/etherFunctions.cjs`),
|
|
1
|
+
const e=require(`../../constants/chains.constants.cjs`),t=require(`../../functions/utils/caseInsensitive.utils.cjs`),n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../../functions/web3/etherFunctions.cjs`),ee=require(`../../functions/utils/time.utils.cjs`),i=require(`../../error-handling/customErrors/ErrorWithTx.cjs`),a=require(`../../types/external-action.types.cjs`),o=require(`../../types/transactions.types.cjs`),s=require(`../../types/admin.types.cjs`),c=require(`../../types/activities.types.cjs`),l=require(`../../types/transaction.types.cjs`),u=require(`../../types/offscreen.types.cjs`);require(`../../types/index.cjs`);const d=require(`../../API/API.cjs`),f=require(`../../error-handling/logger.cjs`),p=require(`../../functions/utils/erc20tokenFunctions.cjs`),m=require(`../../error-handling/get-error.message.cjs`);require(`../../error-handling/index.cjs`);const h=require(`../../functions/pre-transaction/getVolatileTransferAmount.cjs`),g=require(`../../functions/utils/create-provider.cjs`),_=require(`../../functions/pre-transaction/getFeeStructure.cjs`),v=require(`../../functions/private-wallet/emporium.helpers.cjs`),y=require(`../../functions/utils/convertEmporiumOpToCallInfo.cjs`),b=require(`../../functions/utils/postToOffscreen.cjs`),x=require(`../../functions/utils/fees.utils.cjs`),S=require(`../../functions/auto-deposit-back-helpers/get-tokens-to-deposit-back.cjs`),C=require(`../../functions/auto-deposit-back-helpers/get-gas-token-records.cjs`),w=require(`../../functions/auto-deposit-back-helpers/select-gas-token.cjs`),T=require(`../../functions/auto-deposit-back-helpers/update-hinkal.cjs`);require(`../../functions/index.cjs`);const E=require(`../IndexedDB/activity-db.cjs`);require(`../IndexedDB/index.cjs`);var D=3*1e3,O=13*1e3,k=async(k,A,j,M,N,P,F,I)=>{if(!j||F.length===0)return;let L;try{let i=g.createJsonRpcProvider(A);await ee.waitLittle(A===e.chainIds.ethMainnet?O:D);let l=await S.getTokensToDepositBack(F,N,j,i);if(!l.length){b.postToOffscreen(u.MessagesFromOffscreen.AutoShieldTxStatus,{message:n.transactionErrorCodes.AUTO_SHIELD_SKIPPED});return}let f=(await p.getErc20TokensBySymbolsFromAPI(await x.getGasTokenSymbols(A),A)).filter(e=>e!==void 0),{prices:m}=await d.API.getTokenPrices(A,f.map(e=>e.erc20TokenAddress)),R=new Map(m.map((e,t)=>[f[t].erc20TokenAddress.toLowerCase(),e])),z=l.map(({token:e})=>e),B=l.map(({balance:e})=>e),V=z.map(({erc20TokenAddress:e})=>e),H=v.createTransaferEmporiumOpsBatch(k,A,V,await h.modifyVolatileTokenAmountChanges(A,z,B,j)),U=await _.getFeeStructure(A,N,V,a.ExternalActionId.Emporium,H.map(e=>y.convertEmporiumOpToCallInfo(e,j,A))),{flatFee:W}=U??{},G=await p.getErc20TokenFromAPI(A,U.feeToken);if(!G)return;let K=r.getAmountInToken(G,W),q=(R.get(G.erc20TokenAddress.toLowerCase())??0)*Number(K),J=await w.selectGasToken(N,q,A,z,H,await C.getGasTokenRecords(f,A,k,j,i,R),U,V,j);if(!J)return;let{feeToken:Y,feeStructure:X}=J??{};if(P&&Number(P)<q){b.postToOffscreen(u.MessagesFromOffscreen.AutoShieldTxStatus,{message:n.gasErrorCodes.GAS_PRICE_EXCEEDS_AUTOSHIELD_LIMIT});return}let Z=z.findIndex(e=>t.caseInsensitiveEqual(e.erc20TokenAddress,Y));Z!==-1&&(B[Z]-=X?.flatFee??0n);let{hinkalAddress:Q}=e.networkRegistry[A].contractData,$={activityType:c.ActivityTypes.AUTO_SHIELD,chainId:A,from:j,to:Q,gasInDollar:q.toString(),tokensReceive:z.map((e,t)=>({amount:r.getAmountInToken(e,B[t]),token:e}))};if(L=await E.activityStorage.saveTxRequest($),b.postToOffscreen(u.MessagesFromOffscreen.AutoShieldTxStatus,{status:o.TransactionStatus.Loading}),I)T.updateHinkal(A,k,I.inputNullifiers?.flat(),I.outCommitments?.flat(),I.encryptedOutputs?.flat());else if(!k.generateProofRemotely)throw Error(`Circomdata should be passed if tx is done locally`);let te={id:0,success:!0,txHash:await k.actionReceive(z,B,Y,X,M,s.AdminTransactionType.AutoShield)};await E.activityStorage.updatePendingTransactions(te,L),b.postToOffscreen(u.MessagesFromOffscreen.AutoShieldTxStatus,{status:o.TransactionStatus.Confirmed,activityRequest:$})}catch(e){let t;e instanceof i.ErrorWithRelayerTransaction&&(t=e.txHash);let n={error:e,id:0,success:!1,...t?{erroredTx:t}:{}};L&&await E.activityStorage.updatePendingTransactions(n,L),b.postToOffscreen(u.MessagesFromOffscreen.AutoShieldTxStatus,{status:o.TransactionStatus.Failed,error:m.getErrorMessageFromTransactionRequest(e,l.TransactionRequestType.ReceiveFromShieldedAccount)}),f.Logger.error(`Error in auto deposit back:`,e)}};exports.handleAutoDepositBack=k;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { IHinkal } from './IHinkal';
|
|
2
2
|
import { CircomDataType, SubAccount, TokenChanges } from '../../types';
|
|
3
|
-
export declare const handleAutoDepositBack: (hinkal: IHinkal, chainId: number, walletAddress: string | undefined, subAccount: SubAccount, feeToken: string | undefined, maxGasInDollar: string | undefined, emporiumTokenChanges: TokenChanges<bigint>[], circomData
|
|
3
|
+
export declare const handleAutoDepositBack: (hinkal: IHinkal, chainId: number, walletAddress: string | undefined, subAccount: SubAccount, feeToken: string | undefined, maxGasInDollar: string | undefined, emporiumTokenChanges: TokenChanges<bigint>[], circomData?: CircomDataType) => Promise<void>;
|
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
import { chainIds as e, networkRegistry as t } from "../../constants/chains.constants.mjs";
|
|
2
2
|
import { caseInsensitiveEqual as n } from "../../functions/utils/caseInsensitive.utils.mjs";
|
|
3
|
-
import { gasErrorCodes as
|
|
4
|
-
import { getAmountInToken as
|
|
5
|
-
import { waitLittle as
|
|
3
|
+
import { gasErrorCodes as r, transactionErrorCodes as i } from "../../error-handling/error-codes.constants.mjs";
|
|
4
|
+
import { getAmountInToken as a } from "../../functions/web3/etherFunctions.mjs";
|
|
5
|
+
import { waitLittle as ee } from "../../functions/utils/time.utils.mjs";
|
|
6
6
|
import { ErrorWithRelayerTransaction as o } from "../../error-handling/customErrors/ErrorWithTx.mjs";
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import { MessagesFromOffscreen as p } from "../../types/offscreen.types.mjs";
|
|
7
|
+
import { ExternalActionId as s } from "../../types/external-action.types.mjs";
|
|
8
|
+
import { TransactionStatus as c } from "../../types/transactions.types.mjs";
|
|
9
|
+
import { AdminTransactionType as l } from "../../types/admin.types.mjs";
|
|
10
|
+
import { ActivityTypes as u } from "../../types/activities.types.mjs";
|
|
11
|
+
import { TransactionRequestType as d } from "../../types/transaction.types.mjs";
|
|
12
|
+
import { MessagesFromOffscreen as f } from "../../types/offscreen.types.mjs";
|
|
14
13
|
import "../../types/index.mjs";
|
|
15
|
-
import { API as
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
14
|
+
import { API as p } from "../../API/API.mjs";
|
|
15
|
+
import { Logger as m } from "../../error-handling/logger.mjs";
|
|
16
|
+
import { getErc20TokenFromAPI as h, getErc20TokensBySymbolsFromAPI as g } from "../../functions/utils/erc20tokenFunctions.mjs";
|
|
17
|
+
import { getErrorMessageFromTransactionRequest as _ } from "../../error-handling/get-error.message.mjs";
|
|
18
18
|
import "../../error-handling/index.mjs";
|
|
19
|
-
import { modifyVolatileTokenAmountChanges as
|
|
19
|
+
import { modifyVolatileTokenAmountChanges as te } from "../../functions/pre-transaction/getVolatileTransferAmount.mjs";
|
|
20
20
|
import { createJsonRpcProvider as v } from "../../functions/utils/create-provider.mjs";
|
|
21
21
|
import { getFeeStructure as y } from "../../functions/pre-transaction/getFeeStructure.mjs";
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
22
|
+
import { createTransaferEmporiumOpsBatch as b } from "../../functions/private-wallet/emporium.helpers.mjs";
|
|
23
|
+
import { convertEmporiumOpToCallInfo as x } from "../../functions/utils/convertEmporiumOpToCallInfo.mjs";
|
|
24
|
+
import { postToOffscreen as S } from "../../functions/utils/postToOffscreen.mjs";
|
|
25
|
+
import { getGasTokenSymbols as C } from "../../functions/utils/fees.utils.mjs";
|
|
26
26
|
import { getTokensToDepositBack as w } from "../../functions/auto-deposit-back-helpers/get-tokens-to-deposit-back.mjs";
|
|
27
27
|
import { getGasTokenRecords as T } from "../../functions/auto-deposit-back-helpers/get-gas-token-records.mjs";
|
|
28
28
|
import { selectGasToken as E } from "../../functions/auto-deposit-back-helpers/select-gas-token.mjs";
|
|
@@ -36,42 +36,43 @@ var k = 3 * 1e3, ne = 13 * 1e3, A = async (A, j, M, N, P, F, I, L) => {
|
|
|
36
36
|
let R;
|
|
37
37
|
try {
|
|
38
38
|
let o = v(j);
|
|
39
|
-
await
|
|
40
|
-
let
|
|
41
|
-
if (!
|
|
42
|
-
|
|
39
|
+
await ee(j === e.ethMainnet ? ne : k);
|
|
40
|
+
let d = await w(I, P, M, o);
|
|
41
|
+
if (!d.length) {
|
|
42
|
+
S(f.AutoShieldTxStatus, { message: i.AUTO_SHIELD_SKIPPED });
|
|
43
43
|
return;
|
|
44
44
|
}
|
|
45
|
-
let
|
|
45
|
+
let m = (await g(await C(j), j)).filter((e) => e !== void 0), { prices: _ } = await p.getTokenPrices(j, m.map((e) => e.erc20TokenAddress)), z = new Map(_.map((e, t) => [m[t].erc20TokenAddress.toLowerCase(), e])), B = d.map(({ token: e }) => e), V = d.map(({ balance: e }) => e), H = B.map(({ erc20TokenAddress: e }) => e), U = b(A, j, H, await te(j, B, V, M)), W = await y(j, P, H, s.Emporium, U.map((e) => x(e, M, j))), { flatFee: G } = W ?? {}, K = await h(j, W.feeToken);
|
|
46
46
|
if (!K) return;
|
|
47
|
-
let q =
|
|
47
|
+
let q = a(K, G), J = (z.get(K.erc20TokenAddress.toLowerCase()) ?? 0) * Number(q), Y = await E(P, J, j, B, U, await T(m, j, A, M, o, z), W, H, M);
|
|
48
48
|
if (!Y) return;
|
|
49
49
|
let { feeToken: X, feeStructure: Z } = Y ?? {};
|
|
50
50
|
if (F && Number(F) < J) {
|
|
51
|
-
|
|
51
|
+
S(f.AutoShieldTxStatus, { message: r.GAS_PRICE_EXCEEDS_AUTOSHIELD_LIMIT });
|
|
52
52
|
return;
|
|
53
53
|
}
|
|
54
54
|
let Q = B.findIndex((e) => n(e.erc20TokenAddress, X));
|
|
55
55
|
Q !== -1 && (V[Q] -= Z?.flatFee ?? 0n);
|
|
56
56
|
let { hinkalAddress: re } = t[j].contractData, $ = {
|
|
57
|
-
activityType:
|
|
57
|
+
activityType: u.AUTO_SHIELD,
|
|
58
58
|
chainId: j,
|
|
59
59
|
from: M,
|
|
60
60
|
to: re,
|
|
61
61
|
gasInDollar: J.toString(),
|
|
62
62
|
tokensReceive: B.map((e, t) => ({
|
|
63
|
-
amount:
|
|
63
|
+
amount: a(e, V[t]),
|
|
64
64
|
token: e
|
|
65
65
|
}))
|
|
66
66
|
};
|
|
67
|
-
R = await O.saveTxRequest($),
|
|
67
|
+
if (R = await O.saveTxRequest($), S(f.AutoShieldTxStatus, { status: c.Loading }), L) D(j, A, L.inputNullifiers?.flat(), L.outCommitments?.flat(), L.encryptedOutputs?.flat());
|
|
68
|
+
else if (!A.generateProofRemotely) throw Error("Circomdata should be passed if tx is done locally");
|
|
68
69
|
let ie = {
|
|
69
70
|
id: 0,
|
|
70
71
|
success: !0,
|
|
71
|
-
txHash: await A.actionReceive(B, V, X, Z, N,
|
|
72
|
+
txHash: await A.actionReceive(B, V, X, Z, N, l.AutoShield)
|
|
72
73
|
};
|
|
73
|
-
await O.updatePendingTransactions(ie, R),
|
|
74
|
-
status:
|
|
74
|
+
await O.updatePendingTransactions(ie, R), S(f.AutoShieldTxStatus, {
|
|
75
|
+
status: c.Confirmed,
|
|
75
76
|
activityRequest: $
|
|
76
77
|
});
|
|
77
78
|
} catch (e) {
|
|
@@ -83,10 +84,10 @@ var k = 3 * 1e3, ne = 13 * 1e3, A = async (A, j, M, N, P, F, I, L) => {
|
|
|
83
84
|
success: !1,
|
|
84
85
|
...t ? { erroredTx: t } : {}
|
|
85
86
|
};
|
|
86
|
-
R && await O.updatePendingTransactions(n, R),
|
|
87
|
-
status:
|
|
88
|
-
error:
|
|
89
|
-
}),
|
|
87
|
+
R && await O.updatePendingTransactions(n, R), S(f.AutoShieldTxStatus, {
|
|
88
|
+
status: c.Failed,
|
|
89
|
+
error: _(e, d.ReceiveFromShieldedAccount)
|
|
90
|
+
}), m.error("Error in auto deposit back:", e);
|
|
90
91
|
}
|
|
91
92
|
};
|
|
92
93
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../types/external-action.types.cjs`),t=require(`../../functions/utils/token-check.utils.cjs`),n=require(`../../functions/pre-transaction/getVolatileTransferAmount.cjs`),r=require(`../AccountActions/AccountActions.cjs`),i=require(`../../functions/pre-transaction/getFeeStructure.cjs`),a=require(`../../functions/
|
|
1
|
+
const e=require(`../../types/external-action.types.cjs`),t=require(`../../functions/utils/token-check.utils.cjs`),n=require(`../../functions/pre-transaction/getVolatileTransferAmount.cjs`),r=require(`../AccountActions/AccountActions.cjs`),i=require(`../../functions/pre-transaction/getFeeStructure.cjs`),a=require(`../../functions/private-wallet/emporium.helpers.cjs`),o=require(`../../functions/utils/convertEmporiumOpToCallInfo.cjs`);var s=async(s,c,l,u,d,f,p)=>{if(!f)throw Error(`hinkalActionReceive: subAccount should be provided`);if(!u)throw Error(`Fee token is required in hinkalActionReceive`);let m=t.validateAndGetChainId(c),h=r.AccountActions.getAddressFromSubAccount(m,f);if(!h)throw Error(`Public account address is not available`);let g=c.map(e=>e.erc20TokenAddress),_=await n.modifyVolatileTokenAmountChanges(m,c,l,h),v=a.createTransaferEmporiumOpsBatch(s,m,g,_),y=d??await i.getFeeStructure(m,u,g,e.ExternalActionId.Emporium,v.map(e=>o.convertEmporiumOpToCallInfo(e,h,m))),b=c.map((e,t)=>({token:e,amount:-1n*_[t]}));return s.actionPrivateWallet(m,c,_,_.map(()=>!1),v,b,f,u,y,void 0,void 0,void 0,p,void 0)};exports.hinkalActionReceive=s;
|
|
@@ -3,15 +3,15 @@ import { validateAndGetChainId as t } from "../../functions/utils/token-check.ut
|
|
|
3
3
|
import { modifyVolatileTokenAmountChanges as n } from "../../functions/pre-transaction/getVolatileTransferAmount.mjs";
|
|
4
4
|
import { AccountActions as r } from "../AccountActions/AccountActions.mjs";
|
|
5
5
|
import { getFeeStructure as i } from "../../functions/pre-transaction/getFeeStructure.mjs";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { createTransaferEmporiumOpsBatch as a } from "../../functions/private-wallet/emporium.helpers.mjs";
|
|
7
|
+
import { convertEmporiumOpToCallInfo as o } from "../../functions/utils/convertEmporiumOpToCallInfo.mjs";
|
|
8
8
|
//#region libs/shared/common/src/data-structures/Hinkal/hinkalActionReceive.ts
|
|
9
9
|
var s = async (s, c, l, u, d, f, p) => {
|
|
10
10
|
if (!f) throw Error("hinkalActionReceive: subAccount should be provided");
|
|
11
11
|
if (!u) throw Error("Fee token is required in hinkalActionReceive");
|
|
12
12
|
let m = t(c), h = r.getAddressFromSubAccount(m, f);
|
|
13
13
|
if (!h) throw Error("Public account address is not available");
|
|
14
|
-
let g = c.map((e) => e.erc20TokenAddress), _ = await n(m, c, l, h), v =
|
|
14
|
+
let g = c.map((e) => e.erc20TokenAddress), _ = await n(m, c, l, h), v = a(s, m, g, _), y = d ?? await i(m, u, g, e.Emporium, v.map((e) => o(e, h, m))), b = c.map((e, t) => ({
|
|
15
15
|
token: e,
|
|
16
16
|
amount: -1n * _[t]
|
|
17
17
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../constants/protocol.constants.cjs`),t=require(`../../functions/utils/caseInsensitive.utils.cjs`),n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../../functions/web3/etherFunctions.cjs`),i=require(`../crypto-keys/keys.cjs`),a=require(`../../functions/utils/time.utils.cjs`),o=require(`../../functions/utils/addresses.cjs`),s=require(`../../
|
|
1
|
+
const e=require(`../../constants/protocol.constants.cjs`),t=require(`../../functions/utils/caseInsensitive.utils.cjs`),n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../../functions/web3/etherFunctions.cjs`),i=require(`../crypto-keys/keys.cjs`),a=require(`../../functions/utils/time.utils.cjs`),o=require(`../../functions/utils/addresses.cjs`),s=require(`../../types/external-action.types.cjs`),c=require(`../../types/token.types.cjs`),l=require(`../../API/API.cjs`),u=require(`../../error-handling/logger.cjs`),d=require(`../../functions/utils/erc20tokenFunctions.cjs`),f=require(`../../functions/pre-transaction/getFeeStructure.cjs`),p=require(`../../functions/private-wallet/emporium.helpers.cjs`),m=require(`../../constants/addresses.constants.cjs`),h=require(`../../constants/bridging.constants.cjs`),g=require(`../../constants/tx-confirmation.constants.cjs`);require(`../../constants/index.cjs`);const _=require(`../../functions/utils/tx-confirmation.utils.cjs`),v=require(`../../functions/utils/getUtxosFromReceipt.utils.cjs`),y=require(`../../functions/utils/getRecipientInfoFromUserKeys.cjs`),b=require(`../../functions/utils/convertEmporiumOpToCallInfo.cjs`),x=require(`../../functions/utils/publicBalance.utils.cjs`),S=require(`../../functions/utils/fees.utils.cjs`),C=require(`../../functions/utils/temp-wallet.utils.cjs`),w=require(`../../functions/web3/lifiAPI.cjs`);var T=async(n,i,a,u,f,h,g)=>{let{chainId:_}=i,v=a.chainId,y=i.erc20TokenAddress,b=m.SWAP_ROUTER_ADDRESSES[s.ExternalActionId.Lifi][_];if(!b)throw Error(`LIFI not configured for chain ${_}`);let x=r.randomBigInt(6),{privateKey:S,ethAddress:T}=C.deriveTempWallet(n,_,x),{lifiDataValue:E,outSwapAmountValue:D,extraNativeTokenFee:O}=await w.getLifiPrice(i,a,u,f,T,T),k={calldata:E,expectedAmount:D,nativeFee:O},A=r.getAmountInWei(i,u),j=C.buildTempSubAccount(x,S,T),M=o.hashEthereumAddress(await n.getEthereumAddressByChain(_));await Promise.all([l.API.addTemporaryWalletNonce(_,M,Number(x),c.TemporaryWalletRecoveryDestination.Confidential),l.API.addTemporaryWalletNonce(v,M,Number(x),c.TemporaryWalletRecoveryDestination.Confidential)]);let N=t.caseInsensitiveEqual(y,e.zeroAddress),P=k.nativeFee>0n&&!N,F=N?A+k.nativeFee:A,I=[i],L=[-F];if(P){let t=await d.getErc20TokenFromAPI(_,e.zeroAddress);if(!t)throw Error(`Native token not found for bridge fee`);I.push(t),L.push(-k.nativeFee)}let R=p.createLifiBridgeOps(n,_,T,b,y,F,A,k),z=I.map((e,t)=>({token:e,amount:L[t]}));return{nonce:x,tempSubAccount:j,sourceTxHash:await n.actionPrivateWallet(_,I,L,L.map(()=>!1),R,z,j,h??y,void 0,void 0,!1,void 0,g,void 0),quote:k}},E=async(e,t,n,r,i)=>{let o=BigInt(Math.round(i*h.SLIPPAGE_SCALING_FACTOR)),s=r.expectedAmount-r.expectedAmount*o/BigInt(h.SLIPPAGE_SCALING_FACTOR),c=s>0n?s:1n,l=Date.now()+h.BRIDGE_ARRIVAL_TIMEOUT_MS;for(;Date.now()<l;){let r=await x.getPublicBalanceByTokenAddress(e,t,n);if(r!==null&&r>=c)return r;await a.waitLittle(h.BRIDGE_ARRIVAL_POLL_INTERVAL_MS)}throw Error(`Bridge did not land on destination temp wallet ${t} on chain ${e} within timeout.`)},D=async(t,r,a,o,c,l)=>{let u=r.chainId,d=r.erc20TokenAddress,m=a.ethAddress;if(!m)throw Error(`Missing temp wallet address for bridge shield`);let h=p.createTransaferEmporiumOpsBatch(t,u,[d],[o]),x=await S.calculateModifiedFeeStructure(u,r,o,await f.getFeeStructure(u,d,[d],s.ExternalActionId.Emporium,h.map(e=>b.convertEmporiumOpToCallInfo(e,m,u)),e.PAY_SEND_VARIABLE_RATE)),C=o-S.calculateTotalFee(o,x);if(C<=0n)throw Error(n.transactionErrorCodes.INSUFFICIENT_FUNDS_TO_TRANSACT);let w,T;if(`recipientInfo`in c)w=c.recipientInfo;else{let e=t.userKeys.getClaimableSignatureFromNonce(c.claimableNonce),n=new i.UserKeys(e);T={signature:e,keys:n,ethAddress:c.recipientEthAddress},w=y.getRecipientInfoFromUserKeys(n)}let E=await t.proxyToPrivate([r],[C],a,w,x.feeToken,x,l),D;if(T){let e=await _.waitForEthereumTransactionConfirmation(u,E,{evmTimeoutMs:g.RELAYER_TX_CONFIRMATION_TIMEOUT});if(!e)throw Error(`Could not fetch receipt for bridge shield tx ${E}`);let[n]=v.getUtxosFromReceipt(e,t,u,d,T.keys.getShieldedPrivateKey());if(!n)throw Error(`Could not find recipient UTXO in bridge shield tx`);D={chainId:u,senderAddress:await t.getEthereumAddressByChain(u),recipientAddress:T.ethAddress,claimableSignature:T.signature,utxo:n}}return{destTxHash:E,pendingEnclaveUtxo:D,shieldedAmount:C}},O=async(e,t,n,r,i,a=h.DEFAULT_BRIDGING_SLIPPAGE_DECIMAL,s,c)=>{let{nonce:d,tempSubAccount:f,sourceTxHash:p,quote:m}=await T(e,t,n,r,a,s,c),g=f.ethAddress;if(!g)throw Error(`Missing temp wallet address for bridge`);let{destTxHash:_,pendingEnclaveUtxo:v,shieldedAmount:y}=await D(e,n,f,await E(n.chainId,g,n.erc20TokenAddress,m,a),i,c),b=o.hashEthereumAddress(await e.getEthereumAddressByChain(n.chainId)),x=[t.chainId,n.chainId];return(await Promise.allSettled(x.map(e=>l.API.removeTemporaryWalletNonce(e,b,Number(d))))).forEach((e,t)=>{e.status===`rejected`&&u.Logger.error(`Failed to remove temp-wallet nonce on chain ${x[t]}`,e.reason)}),{sourceTxHash:p,destTxHash:_,pendingEnclaveUtxo:v,destinationTokenAmount:y.toString()}};exports.hinkalBridgePrivateToPrivate=O;
|