@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
|
-
require(`../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../../constants/vite.constants.cjs`),t=require(`../../../constants/chains.constants.cjs`),n=require(`../../utils/caseInsensitive.utils.cjs`),r=require(`../../../error-handling/error-codes.constants.cjs`),i=require(`../etherFunctions.cjs`),a=require(`../../../data-structures/utxo/Utxo.cjs`),o=require(`../../../error-handling/customErrors/ErrorWithAmount.cjs`);require(`../../../error-handling/customErrors/index.cjs`);const s=require(`../../utils/encodeTokenWithId.cjs`),c=require(`../../utils/solanaMint.utils.cjs`),l=require(`./
|
|
1
|
+
require(`../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../../constants/vite.constants.cjs`),t=require(`../../../constants/chains.constants.cjs`),n=require(`../../utils/caseInsensitive.utils.cjs`),r=require(`../../../error-handling/error-codes.constants.cjs`),i=require(`../etherFunctions.cjs`),a=require(`../../../data-structures/utxo/Utxo.cjs`),o=require(`../../../error-handling/customErrors/ErrorWithAmount.cjs`);require(`../../../error-handling/customErrors/index.cjs`);const s=require(`../../utils/encodeTokenWithId.cjs`),c=require(`../../utils/solanaMint.utils.cjs`),l=require(`./getInputUtxosEnclave.cjs`),u=require(`../../utils/addresses.cjs`),d=require(`../../utils/tron.utils.cjs`),f=require(`./getInputUtxoAndBalance.cjs`),p=require(`../../../data-structures/TokenDBs/PrivateTokensDB.cjs`),m=require(`../../utils/map.utils.cjs`),h=require(`../../utils/mutexes.utils.cjs`),g=require(`../../utils/erc20tokenFunctions.cjs`);let _=require(`async-mutex`);var v=async(r,i,a,o,c,v=!1,y=!1,b=!1)=>m.getOrCreateMapValue(r.balanceFetchingMutexByChain,i,()=>new _.Mutex).runExclusive(async()=>h.getChainBalanceFetchingMutex(i).runShared(async()=>{if(r.generateProofRemotely){let n=await l.getRemoteManagedTokenBalances(r,i,a,b,b?u.hashEthereumAddress(t.isTronLike(i)?d.addressToHexFormat(c):c):void 0);y&&e.isExtension&&await p.privateTokensDB.fetchAndUpdatePrivateTokens([...n.keys()],i,c);let o=e.isExtension?await p.privateTokensDB.getPrivateTokens(i,c):await g.getErc20TokensForChainAPI(i),f=new Map;return o.forEach(e=>{f.set(e.erc20TokenAddress.toLowerCase(),{token:e,balance:n.get(s.normalizeTokenAddress(i,e.erc20TokenAddress))??0n,nfts:[]})}),f}let{inputUtxos:m}=b?await f.getInputUtxoAndBalanceOfStuckUtxos({hinkal:r,chainId:i,ethAddress:c,passedShieldedPrivateKey:a,resetCacheBefore:v}):await f.getInputUtxoAndBalance({hinkal:r,sliceIfMore6:!1,chainId:i,passedShieldedPrivateKey:a,passedShieldedPublicKey:o,ethAddress:c,resetCacheBefore:v});y&&e.isExtension&&await p.privateTokensDB.fetchAndUpdatePrivateTokens(m.map(e=>e.getTokenAddress(i)).filter(e=>e!==void 0),i,c);let h=(e.isExtension?await p.privateTokensDB.getPrivateTokens(i,c):await g.getErc20TokensForChainAPI(i)).map(e=>({token:e,balance:m.reduce((t,r)=>{let a=e.erc20TokenAddress;return n.caseInsensitiveEqual(a,r.getTokenAddress(i))?t+r.amount:t},0n),timestamp:m.filter(t=>n.caseInsensitiveEqual(t.getTokenAddress(i),e.erc20TokenAddress))[0]?.timeStamp,nfts:[]})),_=new Map;return h.forEach(e=>{_.set(e.token.erc20TokenAddress.toLowerCase(),e)}),_})),y=async(e,n,l,u,d=6,p=!1,m=!1)=>{let{userKeys:h}=e,_=h.getSpendingKeyPair().pubSpendingBJJPoint,v=[],y=[];if(l.length===0)return[];if(p){for(let e=0;e<l.length;e+=1){let r=t.isSolanaLike(n),i=r?l[e]:void 0,o=r?c.formatMintAddress(l[e]).compressedAddress:l[e];v.push(Array.from({length:d},()=>new a.Utxo({amount:0n,erc20TokenAddress:o,mintAddress:i,nullifyingKey:h.getShieldedPrivateKey(),spendingPublicKey:_})))}return v}let b=await f.getInputUtxoAndBalancePerToken({hinkal:e,sliceIfMore6:!1,ensuredTokensWithId:l,useBlockedUtxos:m,chainId:n}),x=0;for(let e=0;e<l.length;e+=1){let t=b.get(s.normalizeTokenAddress(n,l[e]))??[];if(!t)throw Error(`Missing utxos for token`);x=Math.max(t.length,x),y.push(t)}if(x===2)return y;for(let[e,s]of y.entries())if(s.length>d){let t=s.slice(0,d),a=t.reduce((e,t)=>e+t.amount,0n);if(u[e]<0n&&a<-u[e]){let t=await g.getErc20TokenFromAPI(n,l[e]);if(!t)throw Error(`Token not found`);let s=t.decimals===18?6:2,c=Number(i.getAmountWithPrecision(a,t,s));throw new o.ErrorWithAmount(c,`${r.DIRECTLY_SHOW_MESSAGE_ERROR_CODES.UTXO_LIMITATIONS}. Please try again with ${c} ${t.symbol}, including gas fees.`)}v.push(t)}else if(s.length<=d){let r=[...s],i=d-s.length;for(;i>0;){--i;let o=t.isSolanaLike(n),s=o?l[e]:void 0,u=o?c.formatMintAddress(l[e]).compressedAddress:l[e];r.push(new a.Utxo({amount:0n,erc20TokenAddress:u,mintAddress:s,nullifyingKey:h.getShieldedPrivateKey(),spendingPublicKey:_}))}v.push(r)}return v};exports.addPaddingToUtxos=y,exports.getShieldedBalance=v;
|
|
@@ -6,7 +6,7 @@ import { IHinkal } from '../../../data-structures/Hinkal/IHinkal';
|
|
|
6
6
|
* @param UserKeys to access user's encryption keys
|
|
7
7
|
* @returns shielded balance
|
|
8
8
|
*/
|
|
9
|
-
export declare const getShieldedBalance: (hinkal: IHinkal, chainId: number, passedShieldedPrivateKey: string, passedShieldedPublicKey: string, ethAddress: string, resetCacheBefore?: boolean,
|
|
9
|
+
export declare const getShieldedBalance: (hinkal: IHinkal, chainId: number, passedShieldedPrivateKey: string, passedShieldedPublicKey: string, ethAddress: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean, useBlockedUtxos?: boolean) => Promise<Map<string, TokenBalance>>;
|
|
10
10
|
/**
|
|
11
11
|
*
|
|
12
12
|
* @param hinkal hinkal instance to get userKeys
|
|
@@ -1,106 +1,118 @@
|
|
|
1
1
|
import { isExtension as e } from "../../../constants/vite.constants.mjs";
|
|
2
|
-
import { isSolanaLike as t } from "../../../constants/chains.constants.mjs";
|
|
3
|
-
import { caseInsensitiveEqual as
|
|
4
|
-
import { DIRECTLY_SHOW_MESSAGE_ERROR_CODES as
|
|
5
|
-
import { getAmountWithPrecision as
|
|
6
|
-
import { Utxo as
|
|
7
|
-
import { ErrorWithAmount as
|
|
2
|
+
import { isSolanaLike as t, isTronLike as n } from "../../../constants/chains.constants.mjs";
|
|
3
|
+
import { caseInsensitiveEqual as r } from "../../utils/caseInsensitive.utils.mjs";
|
|
4
|
+
import { DIRECTLY_SHOW_MESSAGE_ERROR_CODES as i } from "../../../error-handling/error-codes.constants.mjs";
|
|
5
|
+
import { getAmountWithPrecision as a } from "../etherFunctions.mjs";
|
|
6
|
+
import { Utxo as o } from "../../../data-structures/utxo/Utxo.mjs";
|
|
7
|
+
import { ErrorWithAmount as s } from "../../../error-handling/customErrors/ErrorWithAmount.mjs";
|
|
8
8
|
import "../../../error-handling/customErrors/index.mjs";
|
|
9
|
-
import { normalizeTokenAddress as
|
|
10
|
-
import { formatMintAddress as
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
9
|
+
import { normalizeTokenAddress as c } from "../../utils/encodeTokenWithId.mjs";
|
|
10
|
+
import { formatMintAddress as l } from "../../utils/solanaMint.utils.mjs";
|
|
11
|
+
import { getRemoteManagedTokenBalances as u } from "./getInputUtxosEnclave.mjs";
|
|
12
|
+
import { hashEthereumAddress as d } from "../../utils/addresses.mjs";
|
|
13
|
+
import { addressToHexFormat as f } from "../../utils/tron.utils.mjs";
|
|
14
|
+
import { getInputUtxoAndBalance as p, getInputUtxoAndBalanceOfStuckUtxos as m, getInputUtxoAndBalancePerToken as h } from "./getInputUtxoAndBalance.mjs";
|
|
15
|
+
import { privateTokensDB as g } from "../../../data-structures/TokenDBs/PrivateTokensDB.mjs";
|
|
16
|
+
import { getOrCreateMapValue as _ } from "../../utils/map.utils.mjs";
|
|
17
|
+
import { getChainBalanceFetchingMutex as v } from "../../utils/mutexes.utils.mjs";
|
|
18
|
+
import { getErc20TokenFromAPI as y, getErc20TokensForChainAPI as b } from "../../utils/erc20tokenFunctions.mjs";
|
|
19
|
+
import { Mutex as x } from "async-mutex";
|
|
17
20
|
//#region libs/shared/common/src/functions/web3/events/getShieldedBalance.ts
|
|
18
|
-
var
|
|
19
|
-
|
|
21
|
+
var S = async (t, i, a, o, s, l = !1, h = !1, y = !1) => _(t.balanceFetchingMutexByChain, i, () => new x()).runExclusive(async () => v(i).runShared(async () => {
|
|
22
|
+
if (t.generateProofRemotely) {
|
|
23
|
+
let r = await u(t, i, a, y, y ? d(n(i) ? f(s) : s) : void 0);
|
|
24
|
+
h && e && await g.fetchAndUpdatePrivateTokens([...r.keys()], i, s);
|
|
25
|
+
let o = e ? await g.getPrivateTokens(i, s) : await b(i), l = /* @__PURE__ */ new Map();
|
|
26
|
+
return o.forEach((e) => {
|
|
27
|
+
l.set(e.erc20TokenAddress.toLowerCase(), {
|
|
28
|
+
token: e,
|
|
29
|
+
balance: r.get(c(i, e.erc20TokenAddress)) ?? 0n,
|
|
30
|
+
nfts: []
|
|
31
|
+
});
|
|
32
|
+
}), l;
|
|
33
|
+
}
|
|
34
|
+
let { inputUtxos: _ } = y ? await m({
|
|
20
35
|
hinkal: t,
|
|
21
|
-
chainId:
|
|
22
|
-
ethAddress:
|
|
23
|
-
passedShieldedPrivateKey:
|
|
24
|
-
resetCacheBefore:
|
|
25
|
-
|
|
26
|
-
}) : await l({
|
|
36
|
+
chainId: i,
|
|
37
|
+
ethAddress: s,
|
|
38
|
+
passedShieldedPrivateKey: a,
|
|
39
|
+
resetCacheBefore: l
|
|
40
|
+
}) : await p({
|
|
27
41
|
hinkal: t,
|
|
28
42
|
sliceIfMore6: !1,
|
|
29
|
-
chainId:
|
|
30
|
-
passedShieldedPrivateKey:
|
|
31
|
-
passedShieldedPublicKey:
|
|
32
|
-
ethAddress:
|
|
33
|
-
resetCacheBefore:
|
|
34
|
-
allowRemoteDecryption: c
|
|
43
|
+
chainId: i,
|
|
44
|
+
passedShieldedPrivateKey: a,
|
|
45
|
+
passedShieldedPublicKey: o,
|
|
46
|
+
ethAddress: s,
|
|
47
|
+
resetCacheBefore: l
|
|
35
48
|
});
|
|
36
|
-
|
|
37
|
-
let
|
|
49
|
+
h && e && await g.fetchAndUpdatePrivateTokens(_.map((e) => e.getTokenAddress(i)).filter((e) => e !== void 0), i, s);
|
|
50
|
+
let v = (e ? await g.getPrivateTokens(i, s) : await b(i)).map((e) => ({
|
|
38
51
|
token: e,
|
|
39
|
-
balance:
|
|
52
|
+
balance: _.reduce((t, n) => {
|
|
40
53
|
let a = e.erc20TokenAddress;
|
|
41
|
-
return
|
|
54
|
+
return r(a, n.getTokenAddress(i)) ? t + n.amount : t;
|
|
42
55
|
}, 0n),
|
|
43
|
-
timestamp:
|
|
56
|
+
timestamp: _.filter((t) => r(t.getTokenAddress(i), e.erc20TokenAddress))[0]?.timeStamp,
|
|
44
57
|
nfts: []
|
|
45
|
-
})),
|
|
46
|
-
return
|
|
47
|
-
|
|
48
|
-
}),
|
|
49
|
-
})),
|
|
50
|
-
let { userKeys:
|
|
51
|
-
if (
|
|
52
|
-
if (
|
|
53
|
-
for (let e = 0; e <
|
|
54
|
-
let
|
|
55
|
-
|
|
58
|
+
})), x = /* @__PURE__ */ new Map();
|
|
59
|
+
return v.forEach((e) => {
|
|
60
|
+
x.set(e.token.erc20TokenAddress.toLowerCase(), e);
|
|
61
|
+
}), x;
|
|
62
|
+
})), C = async (e, n, r, u, d = 6, f = !1, p = !1) => {
|
|
63
|
+
let { userKeys: m } = e, g = m.getSpendingKeyPair().pubSpendingBJJPoint, _ = [], v = [];
|
|
64
|
+
if (r.length === 0) return [];
|
|
65
|
+
if (f) {
|
|
66
|
+
for (let e = 0; e < r.length; e += 1) {
|
|
67
|
+
let i = t(n), a = i ? r[e] : void 0, s = i ? l(r[e]).compressedAddress : r[e];
|
|
68
|
+
_.push(Array.from({ length: d }, () => new o({
|
|
56
69
|
amount: 0n,
|
|
57
|
-
erc20TokenAddress:
|
|
58
|
-
mintAddress:
|
|
59
|
-
nullifyingKey:
|
|
60
|
-
spendingPublicKey:
|
|
70
|
+
erc20TokenAddress: s,
|
|
71
|
+
mintAddress: a,
|
|
72
|
+
nullifyingKey: m.getShieldedPrivateKey(),
|
|
73
|
+
spendingPublicKey: g
|
|
61
74
|
})));
|
|
62
75
|
}
|
|
63
|
-
return
|
|
76
|
+
return _;
|
|
64
77
|
}
|
|
65
|
-
let b = await
|
|
78
|
+
let b = await h({
|
|
66
79
|
hinkal: e,
|
|
67
80
|
sliceIfMore6: !1,
|
|
68
|
-
ensuredTokensWithId:
|
|
69
|
-
|
|
70
|
-
useBlockedUtxos: m,
|
|
81
|
+
ensuredTokensWithId: r,
|
|
82
|
+
useBlockedUtxos: p,
|
|
71
83
|
chainId: n
|
|
72
84
|
}), x = 0;
|
|
73
|
-
for (let e = 0; e <
|
|
74
|
-
let t = b.get(
|
|
85
|
+
for (let e = 0; e < r.length; e += 1) {
|
|
86
|
+
let t = b.get(c(n, r[e])) ?? [];
|
|
75
87
|
if (!t) throw Error("Missing utxos for token");
|
|
76
|
-
x = Math.max(t.length, x),
|
|
88
|
+
x = Math.max(t.length, x), v.push(t);
|
|
77
89
|
}
|
|
78
|
-
if (x === 2) return
|
|
79
|
-
for (let [e,
|
|
80
|
-
let t =
|
|
81
|
-
if (u[e] < 0n &&
|
|
82
|
-
let t = await
|
|
90
|
+
if (x === 2) return v;
|
|
91
|
+
for (let [e, c] of v.entries()) if (c.length > d) {
|
|
92
|
+
let t = c.slice(0, d), o = t.reduce((e, t) => e + t.amount, 0n);
|
|
93
|
+
if (u[e] < 0n && o < -u[e]) {
|
|
94
|
+
let t = await y(n, r[e]);
|
|
83
95
|
if (!t) throw Error("Token not found");
|
|
84
|
-
let
|
|
85
|
-
throw new
|
|
96
|
+
let c = t.decimals === 18 ? 6 : 2, l = Number(a(o, t, c));
|
|
97
|
+
throw new s(l, `${i.UTXO_LIMITATIONS}. Please try again with ${l} ${t.symbol}, including gas fees.`);
|
|
86
98
|
}
|
|
87
|
-
|
|
88
|
-
} else if (
|
|
89
|
-
let
|
|
90
|
-
for (;
|
|
91
|
-
--
|
|
92
|
-
let
|
|
93
|
-
|
|
99
|
+
_.push(t);
|
|
100
|
+
} else if (c.length <= d) {
|
|
101
|
+
let i = [...c], a = d - c.length;
|
|
102
|
+
for (; a > 0;) {
|
|
103
|
+
--a;
|
|
104
|
+
let s = t(n), c = s ? r[e] : void 0, u = s ? l(r[e]).compressedAddress : r[e];
|
|
105
|
+
i.push(new o({
|
|
94
106
|
amount: 0n,
|
|
95
107
|
erc20TokenAddress: u,
|
|
96
|
-
mintAddress:
|
|
97
|
-
nullifyingKey:
|
|
98
|
-
spendingPublicKey:
|
|
108
|
+
mintAddress: c,
|
|
109
|
+
nullifyingKey: m.getShieldedPrivateKey(),
|
|
110
|
+
spendingPublicKey: g
|
|
99
111
|
}));
|
|
100
112
|
}
|
|
101
|
-
|
|
113
|
+
_.push(i);
|
|
102
114
|
}
|
|
103
|
-
return
|
|
115
|
+
return _;
|
|
104
116
|
};
|
|
105
117
|
//#endregion
|
|
106
|
-
export {
|
|
118
|
+
export { C as addPaddingToUtxos, S as getShieldedBalance };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(
|
|
1
|
+
const e=require(`../../constants/protocol.constants.cjs`),t=require(`../pre-transaction/solana.cjs`),n=require(`../utils/bytes32.utils.cjs`);var r=32,i=async(i,a)=>{let o=await t.fetchSolanaMIndex(i,a),s=t.getMerkleMinimumIndex(e.MERKLE_LEVELS);if(o<=s)return 0n;let c=o-1n-s,l=t.getRootBucketIndex(c),u=t.getRootBucketSlot(c),d=t.getRootBucketPublicKey(i.programId,a,l),f=await i.provider.connection.getAccountInfo(d,`confirmed`),p=Number(u)*r;return!f||f.data.length<p+r?0n:n.convertBytes32ToBigInt([...f.data.subarray(p,p+r)])};exports.fetchSolanaMerkleTreeRootHash=i;
|
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import "../
|
|
1
|
+
import { MERKLE_LEVELS as e } from "../../constants/protocol.constants.mjs";
|
|
2
|
+
import { fetchSolanaMIndex as t, getMerkleMinimumIndex as n, getRootBucketIndex as r, getRootBucketPublicKey as i, getRootBucketSlot as a } from "../pre-transaction/solana.mjs";
|
|
3
|
+
import { convertBytes32ToBigInt as o } from "../utils/bytes32.utils.mjs";
|
|
3
4
|
//#region libs/shared/common/src/functions/web3/fetchSolanaMerkleTreeRootHash.ts
|
|
4
|
-
var
|
|
5
|
-
let
|
|
6
|
-
|
|
5
|
+
var s = 32, c = async (c, l) => {
|
|
6
|
+
let u = await t(c, l), d = n(e);
|
|
7
|
+
if (u <= d) return 0n;
|
|
8
|
+
let f = u - 1n - d, p = r(f), m = a(f), h = i(c.programId, l, p), g = await c.provider.connection.getAccountInfo(h, "confirmed"), _ = Number(m) * s;
|
|
9
|
+
return !g || g.data.length < _ + s ? 0n : o([...g.data.subarray(_, _ + s)]);
|
|
7
10
|
};
|
|
8
11
|
//#endregion
|
|
9
|
-
export {
|
|
12
|
+
export { c as fetchSolanaMerkleTreeRootHash };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../../constants/chains.constants.cjs`),t=require(`../../../types/ethereum-network.types.cjs`),n=require(`../../utils/getContractAddress.cjs`),r=require(
|
|
1
|
+
const e=require(`../../../constants/chains.constants.cjs`),t=require(`../../../types/ethereum-network.types.cjs`),n=require(`../../utils/getContractAddress.cjs`),r=require(`./recoverTransactionFromError.cjs`),i=require(`../../utils/getSignerFromContract.cjs`);var a=async(e,t,n)=>{let r=i.getSignerFromContract(n);return await n.allowance(await r.getAddress(),t.target)>=e},o=async(t,r,a,o,s)=>{if(e.getNonLocalhostChainId(r)!==e.chainIds.ethMainnet||o.symbol.toLowerCase()!==`usdt`||BigInt(await s.allowance(await i.getSignerFromContract(s).getAddress(),a.target))===0n)return;let c=await s.approve(n.getContractAddress(a),0n);c&&`hash`in c&&await t.waitForTransaction(r,c.hash)},s=async(s,c,l,u,d)=>{let f=s.getContractWithSigner(c,t.ContractType.ERC20Contract,d.erc20TokenAddress);if(await a(u,l,f))return;await o(s,c,l,d,f);let p=c===e.chainIds.base?2:1;try{let e=await f.approve(n.getContractAddress(l),u);e&&`hash`in e&&await s.waitForTransaction(c,e.hash,p)}catch(e){if(!e?.transactionHash||!await r.recoverTransactionFromError(i.getProviderFromContract(f),e.transactionHash,p))throw e}};exports.approveTokenToHinkal=s;
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
import { chainIds as e, getNonLocalhostChainId as t } from "../../../constants/chains.constants.mjs";
|
|
2
2
|
import { ContractType as n } from "../../../types/ethereum-network.types.mjs";
|
|
3
3
|
import { getContractAddress as r } from "../../utils/getContractAddress.mjs";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { recoverTransactionFromError as i } from "./recoverTransactionFromError.mjs";
|
|
5
|
+
import { getProviderFromContract as a, getSignerFromContract as o } from "../../utils/getSignerFromContract.mjs";
|
|
6
6
|
//#region libs/shared/common/src/functions/web3/functionCalls/approveToken.ts
|
|
7
7
|
var s = async (e, t, n) => {
|
|
8
|
-
let r =
|
|
8
|
+
let r = o(n);
|
|
9
9
|
return await n.allowance(await r.getAddress(), t.target) >= e;
|
|
10
|
-
}, c = async (n, i,
|
|
11
|
-
if (t(i) !== e.ethMainnet || s.symbol.toLowerCase() !== "usdt" || BigInt(await c.allowance(await
|
|
12
|
-
let l = await c.approve(r(
|
|
10
|
+
}, c = async (n, i, a, s, c) => {
|
|
11
|
+
if (t(i) !== e.ethMainnet || s.symbol.toLowerCase() !== "usdt" || BigInt(await c.allowance(await o(c).getAddress(), a.target)) === 0n) return;
|
|
12
|
+
let l = await c.approve(r(a), 0n);
|
|
13
13
|
l && "hash" in l && await n.waitForTransaction(i, l.hash);
|
|
14
|
-
}, l = async (t,
|
|
15
|
-
let f = t.getContractWithSigner(
|
|
14
|
+
}, l = async (t, o, l, u, d) => {
|
|
15
|
+
let f = t.getContractWithSigner(o, n.ERC20Contract, d.erc20TokenAddress);
|
|
16
16
|
if (await s(u, l, f)) return;
|
|
17
|
-
await c(t,
|
|
18
|
-
let p =
|
|
17
|
+
await c(t, o, l, d, f);
|
|
18
|
+
let p = o === e.base ? 2 : 1;
|
|
19
19
|
try {
|
|
20
20
|
let e = await f.approve(r(l), u);
|
|
21
|
-
e && "hash" in e && await t.waitForTransaction(
|
|
21
|
+
e && "hash" in e && await t.waitForTransaction(o, e.hash, p);
|
|
22
22
|
} catch (e) {
|
|
23
|
-
if (!e?.transactionHash || !await
|
|
23
|
+
if (!e?.transactionHash || !await i(a(f), e.transactionHash, p)) throw e;
|
|
24
24
|
}
|
|
25
25
|
};
|
|
26
26
|
//#endregion
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const e=require(`../../../constants/chains.constants.cjs`),t=require(`../../utils/tron.utils.cjs`),n=require(`../../../types/transact.types.cjs`),r=require(`./transactCallDirect.cjs`),i=require(`./transactCallDirectTron.cjs`),a=require(`./transactCallRelayer.cjs`);var o=async(e,t,i)=>{let{chainId:o,submit:s}=t,{zkCallData:c,circomData:l,dimData:u,commitmentValidationData:d}=i;switch(s.mode){case n.SubmitMode.ProofOnly:return i;case n.SubmitMode.Self:return r.transactCallDirect(e,o,s.approvalAmounts,s.erc20Tokens,c,l,u,void 0,void 0,s.preEstimateGas,s.returnTxData);case n.SubmitMode.Relayer:return a.transactCallRelayer(o,c,u,l,d,s.withUniswapWorkAround,s.authorizationData,s.adminData);default:throw Error(`submitEvm: unhandled submit mode ${JSON.stringify(s)}`)}},s=async(e,r,o)=>{let{chainId:s,submit:c}=r,{zkCallData:l,circomData:u,dimData:d,commitmentValidationData:f}=o;if(c.mode===n.SubmitMode.Self)return c.returnTxData?i.buildTronUnsignedTransactTransaction(e,s,c.approvalAmounts,c.erc20Tokens,l,u,d,o.tronProofSignature):i.transactCallDirectTron(e,s,c.approvalAmounts,c.erc20Tokens,l,u,d,void 0,void 0,c.preEstimateGas,o.tronProofSignature);let{tronProofSignature:p}=o;return p?t.swapTronBCoordinate(l):p=await t.reorderZkCallData(!0,l,d,u,s),c.mode===n.SubmitMode.ProofOnly?{...o,tronProofSignature:p}:a.transactCallRelayer(s,l,d,u,f,c.withUniswapWorkAround,c.authorizationData,c.adminData,p)},c=(t,n,r)=>(e.isTronLike(n.chainId)?s:o)(t,n,r);exports.submitProof=c;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { HinkalTransactParams, TransactProof, TransactResult } from '../../../types/transact.types';
|
|
2
|
+
import { IHinkal } from '../../../data-structures/Hinkal/IHinkal';
|
|
3
|
+
type ProofSubmitter = (hinkal: IHinkal, params: HinkalTransactParams, proof: TransactProof) => Promise<TransactResult>;
|
|
4
|
+
export declare const submitProof: ProofSubmitter;
|
|
5
|
+
export {};
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { isTronLike as e } from "../../../constants/chains.constants.mjs";
|
|
2
|
+
import { reorderZkCallData as t, swapTronBCoordinate as n } from "../../utils/tron.utils.mjs";
|
|
3
|
+
import { SubmitMode as r } from "../../../types/transact.types.mjs";
|
|
4
|
+
import { transactCallDirect as i } from "./transactCallDirect.mjs";
|
|
5
|
+
import { buildTronUnsignedTransactTransaction as a, transactCallDirectTron as o } from "./transactCallDirectTron.mjs";
|
|
6
|
+
import { transactCallRelayer as s } from "./transactCallRelayer.mjs";
|
|
7
|
+
//#region libs/shared/common/src/functions/web3/functionCalls/submitProof.ts
|
|
8
|
+
var c = async (e, t, n) => {
|
|
9
|
+
let { chainId: a, submit: o } = t, { zkCallData: c, circomData: l, dimData: u, commitmentValidationData: d } = n;
|
|
10
|
+
switch (o.mode) {
|
|
11
|
+
case r.ProofOnly: return n;
|
|
12
|
+
case r.Self: return i(e, a, o.approvalAmounts, o.erc20Tokens, c, l, u, void 0, void 0, o.preEstimateGas, o.returnTxData);
|
|
13
|
+
case r.Relayer: return s(a, c, u, l, d, o.withUniswapWorkAround, o.authorizationData, o.adminData);
|
|
14
|
+
default: throw Error(`submitEvm: unhandled submit mode ${JSON.stringify(o)}`);
|
|
15
|
+
}
|
|
16
|
+
}, l = async (e, i, c) => {
|
|
17
|
+
let { chainId: l, submit: u } = i, { zkCallData: d, circomData: f, dimData: p, commitmentValidationData: m } = c;
|
|
18
|
+
if (u.mode === r.Self) return u.returnTxData ? a(e, l, u.approvalAmounts, u.erc20Tokens, d, f, p, c.tronProofSignature) : o(e, l, u.approvalAmounts, u.erc20Tokens, d, f, p, void 0, void 0, u.preEstimateGas, c.tronProofSignature);
|
|
19
|
+
let { tronProofSignature: h } = c;
|
|
20
|
+
return h ? n(d) : h = await t(!0, d, p, f, l), u.mode === r.ProofOnly ? {
|
|
21
|
+
...c,
|
|
22
|
+
tronProofSignature: h
|
|
23
|
+
} : s(l, d, p, f, m, u.withUniswapWorkAround, u.authorizationData, u.adminData, h);
|
|
24
|
+
}, u = (t, n, r) => (e(n.chainId) ? l : c)(t, n, r);
|
|
25
|
+
//#endregion
|
|
26
|
+
export { u as submitProof };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../../constants/chains.constants.cjs`),t=require(`../../../constants/protocol.constants.cjs`),n=require(`../../utils/caseInsensitive.utils.cjs`),r=require(`../../../error-handling/error-codes.constants.cjs`),i=require(
|
|
1
|
+
const e=require(`../../../constants/chains.constants.cjs`),t=require(`../../../constants/protocol.constants.cjs`),n=require(`../../utils/caseInsensitive.utils.cjs`),r=require(`../../../error-handling/error-codes.constants.cjs`),i=require(`../../utils/tron.utils.cjs`),a=require(`../../../error-handling/logger.cjs`),o=require(`../../../externalABIs/index.cjs`),s=require(`./waitForErc20Approvals.cjs`),c=require(`../../utils/tronSimulation.utils.cjs`);var l=async(l,u,d,f,p,m,h,g,_,v=!0,y)=>{let b=Array.isArray(d)?d:[d],x=Array.isArray(f)?f:[f];if(b.length!==x.length)throw Error(`token and amount length mismatch`);let S=l.getTronWeb(),C=await l.getEthereumAddressByChain(u),{hinkalAddress:w,hinkalABI:T}=e.networkRegistry[u].contractData,E=S.contract(T,i.evmHexToTronBase58Address(w)),D=g??E,O=_??E;if(!D.address)throw Error(`contractForApproval address not set`);if(!O.address)throw Error(`contractForTransaction address not set`);let k=x.findIndex(({erc20TokenAddress:e})=>n.caseInsensitiveEqual(e,t.zeroAddress)),A=k===-1?0n:b[k],j=A>0n?A:0n;if(x.some(({erc20TokenAddress:e},r)=>!n.caseInsensitiveEqual(e,t.zeroAddress)&&b[r]>0n)){let e=D.address;if(!e)throw Error(`token approval spender not set`);let r=[];for(let a=0;a<x.length;a+=1){let s=x[a],c=b[a];if(c>0n&&!n.caseInsensitiveEqual(s.erc20TokenAddress,t.zeroAddress)){let n=i.evmHexToTronBase58Address(s.erc20TokenAddress),a=await S.contract(o.ERC20ABI,n).allowance(C,e).call({from:C});if(BigInt(String(a))<c){let{transaction:i}=await S.transactionBuilder.triggerSmartContract(n,`approve(address,uint256)`,{feeLimit:t.TRON_DEFAULT_FEE_LIMIT_SUN},[{type:`address`,value:e},{type:`uint256`,value:c.toString()}],C),a=await S.trx.sign(i),o=await S.trx.sendRawTransaction(a);if(!o.result){let e=o.code??`UNKNOWN`,t=o.message?Buffer.from(o.message,`hex`).toString():`no message`;throw Error(`Tron token approval failed: ${e} - ${t}`)}r.push({tokenAddress:n,requiredAmount:c})}}}r.length>0&&await s.waitForTronErc20Approvals(S,C,e,r)}let{a:M,b:N,c:P}=i.parseZkCalldata(p),F=y??await i.reorderZkCallData(!0,p,h,m,u,!1);if(!F)throw Error(`Tron proof signature not found`);let I=[F.v,F.r,F.s],L=[h.tokenNumber,h.nullifierAmount,h.outputAmount],R=i.circomDataToArray(m);if(v){await c.simulateTronTransaction(u,O.address,`transact`,O.abi,[I,M,N,P,L,R],C,j);let e=BigInt(await S.trx.getBalance(C)),n=BigInt(t.TRON_DEFAULT_FEE_LIMIT_SUN);try{let e=i.createTronCallData(O.abi,`transact`,[I,M,N,P,L,R]);n=await i.estimateTronFeeSunWithPadding(S,u,O.address,C,e,j)}catch(e){a.Logger.error(`Error estimating Tron transact fee`,e)}if(e<j+n)throw Error(r.insufficientResourcesErrorCodes.INSUFFICIENT_TRON_BALANCE_FOR_FEE)}let z=await O.transact(I,M,N,P,L,R).send({feeLimit:t.TRON_DEFAULT_FEE_LIMIT_SUN,callValue:Number(j)}),B=typeof z==`string`?z:z?.txid??z?.transaction?.txID??z?.transaction?.txid;if(!B)throw Error(`Tron transact failed (missing txid)`);return B},u=async(r,a,o,s,c,l,u,d)=>{let f=Array.isArray(o)?o:[o],p=Array.isArray(s)?s:[s];if(f.length!==p.length)throw Error(`token and amount length mismatch`);let{hinkalAddress:m,hinkalABI:h}=e.networkRegistry[a].contractData;if(!m||!h)throw Error(`Missing Tron contract data (hinkalAddress/hinkalABI)`);let g=r.getTronWeb(),_=await r.getEthereumAddressByChain(a),v=p.findIndex(({erc20TokenAddress:e})=>n.caseInsensitiveEqual(e,t.zeroAddress)),y=v===-1?0n:f[v],b=y>0n?y:0n,{a:x,b:S,c:C}=i.parseZkCalldata(c),w=d??await i.reorderZkCallData(!0,c,u,l,a,!1);if(!w)throw Error(`Tron proof signature not found`);let T=i.createTronCallData(h,`transact`,[[w.v,w.r,w.s],x,S,C,[u.tokenNumber,u.nullifierAmount,u.outputAmount],i.circomDataToArray(l)]),{transaction:E}=await g.transactionBuilder.triggerSmartContract(i.evmHexToTronBase58Address(m),``,{feeLimit:t.TRON_DEFAULT_FEE_LIMIT_SUN,callValue:Number(b),input:T},[],_);return E};exports.buildTronUnsignedTransactTransaction=u,exports.transactCallDirectTron=l;
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
import { IHinkal } from '../../../data-structures/Hinkal/IHinkal';
|
|
2
|
-
import { createTronCallData } from '../../utils/tron.utils';
|
|
3
2
|
import { CircomDataType, DimDataType } from '../../../types/circom-data.types';
|
|
4
3
|
import { NewZkCallDataType } from '../../../types/snark.types';
|
|
5
4
|
import { ERC20Token } from '../../../types/token.types';
|
|
5
|
+
import { TronProofSignature } from '../../../types/transact.types';
|
|
6
6
|
import { Types as TronWebTypes } from 'tronweb';
|
|
7
7
|
export declare const transactCallDirectTron: (hinkal: IHinkal, chainId: number, amount: bigint | bigint[], tokenToApprove: ERC20Token | ERC20Token[], // in hex format
|
|
8
8
|
newZkCallData: NewZkCallDataType, circomData: CircomDataType, dimData: DimDataType, contractApproval?: TronWebTypes.ContractInstance<any>, // in base58 format
|
|
9
9
|
contractTransaction?: TronWebTypes.ContractInstance<any>, // in base58 format
|
|
10
|
-
preEstimateGas?: boolean
|
|
10
|
+
preEstimateGas?: boolean, precomputedProofSignature?: {
|
|
11
|
+
v: number;
|
|
12
|
+
r: string;
|
|
13
|
+
s: string;
|
|
14
|
+
}) => Promise<string>;
|
|
11
15
|
/** Builds an unsigned Tron `transact` transaction (no approve/send). Used for PAL / deposit-and-withdraw prepare flows. */
|
|
12
|
-
export declare const buildTronUnsignedTransactTransaction: (hinkal: IHinkal, chainId: number, amount: bigint, token: ERC20Token, newZkCallData: NewZkCallDataType, circomData: CircomDataType, dimData: DimDataType,
|
|
16
|
+
export declare const buildTronUnsignedTransactTransaction: (hinkal: IHinkal, chainId: number, amount: bigint | bigint[], token: ERC20Token | ERC20Token[], newZkCallData: NewZkCallDataType, circomData: CircomDataType, dimData: DimDataType, precomputedProofSignature?: TronProofSignature) => Promise<TronWebTypes.Transaction<TronWebTypes.TriggerSmartContract>>;
|
|
@@ -2,124 +2,118 @@ import { networkRegistry as e } from "../../../constants/chains.constants.mjs";
|
|
|
2
2
|
import { TRON_DEFAULT_FEE_LIMIT_SUN as t, zeroAddress as n } from "../../../constants/protocol.constants.mjs";
|
|
3
3
|
import { caseInsensitiveEqual as r } from "../../utils/caseInsensitive.utils.mjs";
|
|
4
4
|
import { insufficientResourcesErrorCodes as i } from "../../../error-handling/error-codes.constants.mjs";
|
|
5
|
-
import {
|
|
6
|
-
import { Logger as
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
5
|
+
import { circomDataToArray as a, createTronCallData as o, estimateTronFeeSunWithPadding as s, evmHexToTronBase58Address as c, parseZkCalldata as l, reorderZkCallData as u } from "../../utils/tron.utils.mjs";
|
|
6
|
+
import { Logger as d } from "../../../error-handling/logger.mjs";
|
|
7
|
+
import { ERC20ABI as f } from "../../../externalABIs/index.mjs";
|
|
8
|
+
import { waitForTronErc20Approvals as p } from "./waitForErc20Approvals.mjs";
|
|
9
|
+
import { simulateTronTransaction as m } from "../../utils/tronSimulation.utils.mjs";
|
|
10
10
|
//#region libs/shared/common/src/functions/web3/functionCalls/transactCallDirectTron.ts
|
|
11
|
-
var h = async (h, g, _, v, y, b, x, S, C, w = !0) => {
|
|
12
|
-
let
|
|
13
|
-
if (
|
|
14
|
-
let
|
|
15
|
-
if (!
|
|
16
|
-
if (!
|
|
17
|
-
let
|
|
18
|
-
if (
|
|
19
|
-
let e =
|
|
11
|
+
var h = async (h, g, _, v, y, b, x, S, C, w = !0, T) => {
|
|
12
|
+
let E = Array.isArray(_) ? _ : [_], D = Array.isArray(v) ? v : [v];
|
|
13
|
+
if (E.length !== D.length) throw Error("token and amount length mismatch");
|
|
14
|
+
let O = h.getTronWeb(), k = await h.getEthereumAddressByChain(g), { hinkalAddress: A, hinkalABI: j } = e[g].contractData, M = O.contract(j, c(A)), N = S ?? M, P = C ?? M;
|
|
15
|
+
if (!N.address) throw Error("contractForApproval address not set");
|
|
16
|
+
if (!P.address) throw Error("contractForTransaction address not set");
|
|
17
|
+
let F = D.findIndex(({ erc20TokenAddress: e }) => r(e, n)), I = F === -1 ? 0n : E[F], L = I > 0n ? I : 0n;
|
|
18
|
+
if (D.some(({ erc20TokenAddress: e }, t) => !r(e, n) && E[t] > 0n)) {
|
|
19
|
+
let e = N.address;
|
|
20
20
|
if (!e) throw Error("token approval spender not set");
|
|
21
21
|
let i = [];
|
|
22
|
-
for (let
|
|
23
|
-
let
|
|
24
|
-
if (
|
|
25
|
-
let n =
|
|
26
|
-
if (BigInt(String(r)) <
|
|
27
|
-
let { transaction: r } = await
|
|
22
|
+
for (let a = 0; a < D.length; a += 1) {
|
|
23
|
+
let o = D[a], s = E[a];
|
|
24
|
+
if (s > 0n && !r(o.erc20TokenAddress, n)) {
|
|
25
|
+
let n = c(o.erc20TokenAddress), r = await O.contract(f, n).allowance(k, e).call({ from: k });
|
|
26
|
+
if (BigInt(String(r)) < s) {
|
|
27
|
+
let { transaction: r } = await O.transactionBuilder.triggerSmartContract(n, "approve(address,uint256)", { feeLimit: t }, [{
|
|
28
28
|
type: "address",
|
|
29
29
|
value: e
|
|
30
30
|
}, {
|
|
31
31
|
type: "uint256",
|
|
32
|
-
value:
|
|
33
|
-
}],
|
|
32
|
+
value: s.toString()
|
|
33
|
+
}], k), a = await O.trx.sign(r), o = await O.trx.sendRawTransaction(a);
|
|
34
34
|
if (!o.result) {
|
|
35
35
|
let e = o.code ?? "UNKNOWN", t = o.message ? Buffer.from(o.message, "hex").toString() : "no message";
|
|
36
36
|
throw Error(`Tron token approval failed: ${e} - ${t}`);
|
|
37
37
|
}
|
|
38
38
|
i.push({
|
|
39
39
|
tokenAddress: n,
|
|
40
|
-
requiredAmount:
|
|
40
|
+
requiredAmount: s
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
-
i.length > 0 && await
|
|
45
|
+
i.length > 0 && await p(O, k, e, i);
|
|
46
46
|
}
|
|
47
|
-
let { a:
|
|
48
|
-
if (!
|
|
49
|
-
let
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
],
|
|
47
|
+
let { a: R, b: z, c: B } = l(y), V = T ?? await u(!0, y, x, b, g, !1);
|
|
48
|
+
if (!V) throw Error("Tron proof signature not found");
|
|
49
|
+
let H = [
|
|
50
|
+
V.v,
|
|
51
|
+
V.r,
|
|
52
|
+
V.s
|
|
53
|
+
], U = [
|
|
54
54
|
x.tokenNumber,
|
|
55
55
|
x.nullifierAmount,
|
|
56
56
|
x.outputAmount
|
|
57
|
-
],
|
|
57
|
+
], W = a(b);
|
|
58
58
|
if (w) {
|
|
59
|
-
await
|
|
60
|
-
|
|
61
|
-
L,
|
|
59
|
+
await m(g, P.address, "transact", P.abi, [
|
|
60
|
+
H,
|
|
62
61
|
R,
|
|
63
62
|
z,
|
|
64
|
-
|
|
65
|
-
U
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
return e ? (await D.trx.getBalance(e)).toString() : "empty-addr";
|
|
70
|
-
} catch (e) {
|
|
71
|
-
return `ERR:${e?.message ?? String(e)}`;
|
|
72
|
-
}
|
|
73
|
-
}, a = async (e) => {
|
|
74
|
-
try {
|
|
75
|
-
if (!e) return "empty-addr";
|
|
76
|
-
let t = await D.trx.getAccount(e);
|
|
77
|
-
return t && Object.keys(t).length > 0 ? `exists(balance=${t.balance ?? 0})` : "not-found";
|
|
78
|
-
} catch (e) {
|
|
79
|
-
return `ERR:${e?.message ?? String(e)}`;
|
|
80
|
-
}
|
|
81
|
-
}, s = n?.defaultAddress?.base58 || "", [d, f, m, h] = await Promise.all([
|
|
82
|
-
r(O),
|
|
83
|
-
r(e),
|
|
84
|
-
r(s),
|
|
85
|
-
a(e)
|
|
86
|
-
]);
|
|
87
|
-
o.error("Tron balance read debug", {
|
|
88
|
-
chainId: g,
|
|
89
|
-
rawEthereumAddress: O,
|
|
90
|
-
rawAddrPrefix: O?.slice(0, 4),
|
|
91
|
-
balanceQueryAddress: e,
|
|
92
|
-
tronWebDefaultBase58: s || "none",
|
|
93
|
-
tronWebDefaultHex: n?.defaultAddress?.hex ?? "none",
|
|
94
|
-
balanceWithRawAddr: d,
|
|
95
|
-
balanceWithConvertedAddr: f,
|
|
96
|
-
balanceWithTronWebDefault: m,
|
|
97
|
-
accountLookupConverted: h,
|
|
98
|
-
fullNodeHost: n?.fullNode?.host ?? "unknown",
|
|
99
|
-
solidityNodeHost: n?.solidityNode?.host ?? "unknown"
|
|
100
|
-
});
|
|
101
|
-
let _ = BigInt(await D.trx.getBalance(O)), v = BigInt(t);
|
|
63
|
+
B,
|
|
64
|
+
U,
|
|
65
|
+
W
|
|
66
|
+
], k, L);
|
|
67
|
+
let e = BigInt(await O.trx.getBalance(k)), n = BigInt(t);
|
|
102
68
|
try {
|
|
103
|
-
let e =
|
|
104
|
-
|
|
105
|
-
L,
|
|
69
|
+
let e = o(P.abi, "transact", [
|
|
70
|
+
H,
|
|
106
71
|
R,
|
|
107
72
|
z,
|
|
108
|
-
|
|
109
|
-
U
|
|
73
|
+
B,
|
|
74
|
+
U,
|
|
75
|
+
W
|
|
110
76
|
]);
|
|
111
|
-
|
|
77
|
+
n = await s(O, g, P.address, k, e, L);
|
|
112
78
|
} catch (e) {
|
|
113
|
-
|
|
79
|
+
d.error("Error estimating Tron transact fee", e);
|
|
114
80
|
}
|
|
115
|
-
if (
|
|
81
|
+
if (e < L + n) throw Error(i.INSUFFICIENT_TRON_BALANCE_FOR_FEE);
|
|
116
82
|
}
|
|
117
|
-
let
|
|
83
|
+
let G = await P.transact(H, R, z, B, U, W).send({
|
|
84
|
+
feeLimit: t,
|
|
85
|
+
callValue: Number(L)
|
|
86
|
+
}), K = typeof G == "string" ? G : G?.txid ?? G?.transaction?.txID ?? G?.transaction?.txid;
|
|
87
|
+
if (!K) throw Error("Tron transact failed (missing txid)");
|
|
88
|
+
return K;
|
|
89
|
+
}, g = async (i, s, d, f, p, m, h, g) => {
|
|
90
|
+
let _ = Array.isArray(d) ? d : [d], v = Array.isArray(f) ? f : [f];
|
|
91
|
+
if (_.length !== v.length) throw Error("token and amount length mismatch");
|
|
92
|
+
let { hinkalAddress: y, hinkalABI: b } = e[s].contractData;
|
|
93
|
+
if (!y || !b) throw Error("Missing Tron contract data (hinkalAddress/hinkalABI)");
|
|
94
|
+
let x = i.getTronWeb(), S = await i.getEthereumAddressByChain(s), C = v.findIndex(({ erc20TokenAddress: e }) => r(e, n)), w = C === -1 ? 0n : _[C], T = w > 0n ? w : 0n, { a: E, b: D, c: O } = l(p), k = g ?? await u(!0, p, h, m, s, !1);
|
|
95
|
+
if (!k) throw Error("Tron proof signature not found");
|
|
96
|
+
let A = o(b, "transact", [
|
|
97
|
+
[
|
|
98
|
+
k.v,
|
|
99
|
+
k.r,
|
|
100
|
+
k.s
|
|
101
|
+
],
|
|
102
|
+
E,
|
|
103
|
+
D,
|
|
104
|
+
O,
|
|
105
|
+
[
|
|
106
|
+
h.tokenNumber,
|
|
107
|
+
h.nullifierAmount,
|
|
108
|
+
h.outputAmount
|
|
109
|
+
],
|
|
110
|
+
a(m)
|
|
111
|
+
]), { transaction: j } = await x.transactionBuilder.triggerSmartContract(c(y), "", {
|
|
118
112
|
feeLimit: t,
|
|
119
|
-
callValue: Number(
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
return
|
|
113
|
+
callValue: Number(T),
|
|
114
|
+
input: A
|
|
115
|
+
}, [], S);
|
|
116
|
+
return j;
|
|
123
117
|
};
|
|
124
118
|
//#endregion
|
|
125
|
-
export { h as transactCallDirectTron };
|
|
119
|
+
export { g as buildTronUnsignedTransactTransaction, h as transactCallDirectTron };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../../error-handling/customErrors/ErrorWithTx.cjs`),t=require(`../../../constants/server.constants.cjs`),n=require(`../../../API/getServerURL.cjs`),r=require(`../../../data-structures/http/HttpClient.cjs`),i=require(`../../../API/callRelayer.cjs`),a=require(`../../snarkjs/common.snarkjs.cjs`);require(`../../../error-handling/index.cjs`)
|
|
1
|
+
const e=require(`../../../error-handling/customErrors/ErrorWithTx.cjs`),t=require(`../../../constants/server.constants.cjs`),n=require(`../../../API/getServerURL.cjs`),r=require(`../../../data-structures/http/HttpClient.cjs`),i=require(`../../../API/callRelayer.cjs`),a=require(`../../snarkjs/common.snarkjs.cjs`);require(`../../../error-handling/index.cjs`);var o=t=>{if(t.status===`success`)return t.message;throw t.message&&t.error?new e.ErrorWithRelayerTransaction(t.error,t.message):Error(t.error)},s=async(e,t,n,r,s,c,l,u,d)=>{let f=a.serializeCircomData(r);return o(await i.callRelayerTransactAPI({chainId:e,a:t[0],b:t[1],c:t[2],dimData:n,circomData:f,withUniswapWorkAround:c,authorizationData:l,adminData:u,tronProofSignature:d,commitmentValidationData:s}))},c=async e=>o(await r.httpClient.post(`${n.RELAYER_URL}${t.RELAYER_CONFIG.SOLANA_TRANSACT}`,e)),l=e=>{if(e.status===`success`)return e.message.scheduleId;throw Error(e.error||`Batch transaction failed`)},u=async(e,t,n,r,o,s)=>{let c=t.map(e=>a.serializeCircomData(e.circomData));return l(await i.callRelayerTransactBatchAPI({chainId:e,transactions:t.map((t,n)=>({chainId:e,a:t.zkCallData[0],b:t.zkCallData[1],c:t.zkCallData[2],dimData:t.dimData,circomData:c[n],commitmentValidationData:t.commitmentValidationData,withUniswapWorkAround:t.withUniswapWorkAround,authorizationData:t.authorizationData,adminData:t.adminData,recipientAddress:t.recipientAddress,tronProofSignature:t.tronProofSignature,destinationChainId:t.destinationChainId,destinationTokenAddress:t.destinationTokenAddress,destinationTokenAmount:t.destinationTokenAmount})),txCompletionTime:r,hashedEthereumAddress:n,ref:o,hashedDashboardAccountId:s}))},d=async(e,t,n,r,a,o)=>l(await i.callRelayerSolanaTransactBatchAPI({chainId:e,transactions:t,hashedEthereumAddress:n,txCompletionTime:r,ref:a,hashedDashboardAccountId:o}));exports.solanaTransactCallRelayer=c,exports.solanaTransactCallRelayerBatch=d,exports.transactCallRelayer=s,exports.transactCallRelayerBatch=u;
|