@kapa123456789/sdk 0.0.25 → 0.0.36
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/common/src/API/accessCodeCalls.cjs +1 -1
- package/common/src/API/accessCodeCalls.mjs +0 -1
- package/common/src/API/admin-calls.cjs +1 -1
- package/common/src/API/admin-calls.mjs +0 -1
- package/common/src/API/brotherhoodCalls.cjs +1 -1
- package/common/src/API/brotherhoodCalls.mjs +0 -1
- package/common/src/API/callLifiAPI.cjs +1 -1
- package/common/src/API/callLifiAPI.mjs +0 -1
- package/common/src/API/callMonitor.cjs +1 -1
- package/common/src/API/callMonitor.mjs +0 -1
- package/common/src/API/callOdosAPI.cjs +1 -1
- package/common/src/API/callOdosAPI.mjs +0 -1
- package/common/src/API/callOkxAPI.cjs +1 -1
- package/common/src/API/callOkxAPI.mjs +0 -1
- package/common/src/API/callOneInchAPI.cjs +1 -1
- package/common/src/API/callOneInchAPI.mjs +0 -1
- package/common/src/API/callRelayer.cjs +1 -1
- package/common/src/API/callRelayer.mjs +0 -1
- package/common/src/API/dashboardAccountCalls.cjs +1 -1
- package/common/src/API/dashboardAccountCalls.mjs +0 -1
- package/common/src/API/dashboardAccountMemberCalls.cjs +1 -1
- package/common/src/API/dashboardAccountMemberCalls.mjs +0 -1
- package/common/src/API/dashboardBalanceCalls.cjs +1 -1
- package/common/src/API/dashboardBalanceCalls.mjs +0 -1
- package/common/src/API/dashboardContactCalls.cjs +1 -1
- package/common/src/API/dashboardContactCalls.mjs +0 -1
- package/common/src/API/dashboardPayoutCalls.cjs +1 -1
- package/common/src/API/dashboardPayoutCalls.mjs +0 -1
- package/common/src/API/dashboardTransactionCalls.cjs +1 -1
- package/common/src/API/dashboardTransactionCalls.mjs +0 -1
- package/common/src/API/enclaveSignatureCalls.cjs +1 -1
- package/common/src/API/enclaveSignatureCalls.mjs +0 -1
- package/common/src/API/enclaveUtxoCalls.cjs +1 -1
- package/common/src/API/enclaveUtxoCalls.mjs +0 -1
- package/common/src/API/fetchCommitmentsCache.cjs +1 -1
- package/common/src/API/fetchCommitmentsCache.mjs +0 -1
- package/common/src/API/generate-trading-points.cjs +1 -1
- package/common/src/API/generate-trading-points.mjs +0 -1
- package/common/src/API/get-token-data.cjs +1 -1
- package/common/src/API/get-token-data.mjs +0 -1
- package/common/src/API/getGasEstimates.cjs +1 -1
- package/common/src/API/getGasEstimates.mjs +0 -1
- package/common/src/API/getTokenPrice.cjs +1 -1
- package/common/src/API/getTokenPrice.mjs +0 -1
- package/common/src/API/kycCalls.cjs +1 -1
- package/common/src/API/kycCalls.mjs +0 -1
- package/common/src/API/leaderboardCalls.cjs +1 -1
- package/common/src/API/leaderboardCalls.mjs +0 -1
- package/common/src/API/onrampCalls.cjs +1 -1
- package/common/src/API/onrampCalls.mjs +0 -1
- package/common/src/API/privacy-score-calls.cjs +1 -1
- package/common/src/API/privacy-score-calls.mjs +0 -1
- package/common/src/API/privateSendEmailNotificationsCalls.cjs +1 -1
- package/common/src/API/privateSendEmailNotificationsCalls.mjs +0 -1
- package/common/src/API/privateSendNonceCalls.cjs +1 -1
- package/common/src/API/privateSendNonceCalls.mjs +0 -1
- package/common/src/API/privateSendRecipientInfoCalls.cjs +1 -1
- package/common/src/API/privateSendRecipientInfoCalls.mjs +0 -1
- package/common/src/API/proxyAccountsCalls.cjs +1 -1
- package/common/src/API/proxyAccountsCalls.mjs +0 -1
- package/common/src/API/referralsCalls.cjs +1 -1
- package/common/src/API/referralsCalls.mjs +0 -1
- package/common/src/API/relayCalls.cjs +1 -1
- package/common/src/API/relayCalls.mjs +0 -1
- package/common/src/API/rewardsUserCalls.cjs +1 -1
- package/common/src/API/rewardsUserCalls.mjs +0 -1
- package/common/src/API/seedless-calls.cjs +1 -1
- package/common/src/API/seedless-calls.mjs +0 -1
- package/common/src/API/send-telegram-callback.cjs +1 -1
- package/common/src/API/send-telegram-callback.mjs +0 -1
- package/common/src/API/simulate-batch-tx.cjs +1 -1
- package/common/src/API/simulate-batch-tx.mjs +0 -1
- package/common/src/API/simulate-transaction.cjs +1 -1
- package/common/src/API/simulate-transaction.mjs +0 -1
- package/common/src/API/snapshot-event-calls.cjs +1 -1
- package/common/src/API/snapshot-event-calls.mjs +0 -1
- package/common/src/API/solana-calls.cjs +1 -1
- package/common/src/API/solana-calls.mjs +0 -1
- package/common/src/API/temporaryWalletCalls.cjs +1 -1
- package/common/src/API/temporaryWalletCalls.mjs +0 -1
- package/common/src/API/token-calls.cjs +1 -1
- package/common/src/API/token-calls.mjs +0 -1
- package/common/src/API/tronSubsidyCalls.cjs +1 -1
- package/common/src/API/tronSubsidyCalls.mjs +0 -1
- package/common/src/API/weeklyAnalyticCalls.cjs +1 -1
- package/common/src/API/weeklyAnalyticCalls.mjs +0 -1
- package/common/src/constants/addresses.constants.cjs +1 -1
- package/common/src/constants/addresses.constants.mjs +0 -1
- package/common/src/constants/chains.constants.cjs +1 -1
- package/common/src/constants/chains.constants.mjs +30 -30
- package/common/src/constants/contracts.constants.cjs +1 -1
- package/common/src/constants/contracts.constants.mjs +1 -1
- package/common/src/constants/kyc.constants.cjs +1 -1
- package/common/src/constants/kyc.constants.mjs +1 -1
- package/common/src/constants/lifi.constants.cjs +1 -1
- package/common/src/constants/lifi.constants.mjs +1 -1
- package/common/src/constants/permit2.constants.cjs +1 -1
- package/common/src/constants/permit2.constants.mjs +7 -8
- package/common/src/constants/protocol.constants.cjs +1 -1
- package/common/src/constants/protocol.constants.mjs +3 -8
- package/common/src/constants/server.constants.cjs +1 -1
- package/common/src/constants/server.constants.mjs +1 -2
- package/common/src/constants/vite.constants.cjs +1 -1
- package/common/src/constants/vite.constants.mjs +2 -2
- package/common/src/crypto/babyJub.cjs +1 -1
- package/common/src/crypto/babyJub.mjs +6 -5
- package/common/src/crypto/poseidon.cjs +1 -1
- package/common/src/crypto/poseidon.mjs +11 -10
- package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
- package/common/src/data-structures/Hinkal/Hinkal.d.ts +0 -4
- package/common/src/data-structures/Hinkal/Hinkal.mjs +2 -13
- package/common/src/data-structures/Hinkal/IHinkal.d.ts +0 -3
- package/common/src/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
- package/common/src/data-structures/Hinkal/handleAutoDepositBack.mjs +0 -4
- package/common/src/data-structures/Hinkal/hinkalCheckTokenRegistry.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalCheckTokenRegistry.mjs +0 -1
- package/common/src/data-structures/Hinkal/hinkalClaimUtxo.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalClaimUtxo.mjs +0 -1
- package/common/src/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDeposit.mjs +0 -1
- package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.mjs +0 -4
- package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +0 -3
- package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +0 -1
- package/common/src/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalPrivateWallet.mjs +0 -2
- package/common/src/data-structures/Hinkal/hinkalSignSubAccount.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSignSubAccount.mjs +0 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.mjs +0 -2
- package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.mjs +0 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +0 -4
- package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +0 -3
- package/common/src/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaSwap.mjs +0 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.mjs +0 -2
- package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +0 -3
- package/common/src/data-structures/Hinkal/hinkalSwap.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSwap.mjs +0 -1
- package/common/src/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalTransfer.mjs +0 -2
- package/common/src/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalWithdraw.mjs +0 -2
- package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +0 -2
- package/common/src/data-structures/Hinkal/index.d.ts +0 -1
- package/common/src/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
- package/common/src/data-structures/Hinkal/resetMerkleTrees.mjs +0 -3
- package/common/src/data-structures/IndexedDB/activity-db.cjs +1 -1
- package/common/src/data-structures/IndexedDB/activity-db.mjs +3 -7
- package/common/src/data-structures/IndexedDB/index.d.ts +0 -1
- package/common/src/data-structures/TokenDBs/PrivateTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/PrivateTokensDB.mjs +3 -4
- package/common/src/data-structures/crypto-keys/decodeUTXO.cjs +1 -1
- package/common/src/data-structures/crypto-keys/decodeUTXO.mjs +1 -2
- package/common/src/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -1
- package/common/src/data-structures/crypto-keys/encryptDecryptUtxo.mjs +0 -2
- package/common/src/data-structures/crypto-keys/keyUtils.cjs +1 -1
- package/common/src/data-structures/crypto-keys/keyUtils.mjs +1 -1
- package/common/src/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.cjs +1 -1
- package/common/src/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.mjs +0 -2
- package/common/src/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.cjs +1 -1
- package/common/src/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.mjs +0 -2
- package/common/src/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.cjs +1 -1
- package/common/src/data-structures/event-service/solana/AbstractSolanaAccessTokenSnapshotService.mjs +0 -2
- package/common/src/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.cjs +1 -1
- package/common/src/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.mjs +0 -2
- package/common/src/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.cjs +1 -1
- package/common/src/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.mjs +0 -1
- package/common/src/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.cjs +1 -1
- package/common/src/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.mjs +0 -1
- package/common/src/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.cjs +1 -1
- package/common/src/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.mjs +0 -1
- package/common/src/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.cjs +1 -1
- package/common/src/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.mjs +0 -1
- package/common/src/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.cjs +1 -1
- package/common/src/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.mjs +0 -1
- package/common/src/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.cjs +1 -1
- package/common/src/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.mjs +0 -1
- package/common/src/error-handling/customErrors/customErrors.helpers.cjs +1 -1
- package/common/src/error-handling/customErrors/customErrors.helpers.mjs +0 -2
- package/common/src/error-handling/get-error.message.cjs +1 -1
- package/common/src/error-handling/get-error.message.mjs +1 -3
- package/common/src/functions/auto-deposit-back-helpers/get-gas-token-records.cjs +1 -1
- package/common/src/functions/auto-deposit-back-helpers/get-gas-token-records.mjs +0 -2
- package/common/src/functions/auto-deposit-back-helpers/get-tokens-to-deposit-back.cjs +1 -1
- package/common/src/functions/auto-deposit-back-helpers/get-tokens-to-deposit-back.mjs +0 -1
- 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 +0 -4
- package/common/src/functions/kyc/checkTokenLimitsUSD.cjs +1 -1
- package/common/src/functions/kyc/checkTokenLimitsUSD.mjs +0 -5
- package/common/src/functions/pre-transaction/getVolatileTransferAmount.cjs +1 -1
- package/common/src/functions/pre-transaction/getVolatileTransferAmount.mjs +0 -1
- package/common/src/functions/pre-transaction/sendV0Transaction.cjs +1 -1
- package/common/src/functions/pre-transaction/sendV0Transaction.mjs +1 -1
- package/common/src/functions/pre-transaction/solana.cjs +1 -1
- package/common/src/functions/pre-transaction/solana.mjs +1 -1
- package/common/src/functions/private-wallet/emporium.helpers.cjs +1 -1
- package/common/src/functions/private-wallet/emporium.helpers.mjs +1 -2
- package/common/src/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
- package/common/src/functions/private-wallet/emporium.swap.helpers.mjs +1 -2
- package/common/src/functions/snarkjs/constructEmporiumProof.cjs +1 -1
- package/common/src/functions/snarkjs/constructEmporiumProof.mjs +0 -1
- package/common/src/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
- package/common/src/functions/snarkjs/constructSolanaZkProof.mjs +0 -1
- package/common/src/functions/snarkjs/generateZkProofEnclave.cjs +1 -1
- package/common/src/functions/snarkjs/generateZkProofEnclave.mjs +0 -1
- package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.cjs +1 -1
- package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.mjs +0 -1
- package/common/src/functions/utils/addresses.cjs +1 -1
- package/common/src/functions/utils/addresses.mjs +0 -1
- package/common/src/functions/utils/cacheDevice.utils.cjs +1 -1
- package/common/src/functions/utils/cacheDevice.utils.mjs +0 -2
- package/common/src/functions/utils/cacheFunctions.cjs +1 -1
- package/common/src/functions/utils/cacheFunctions.mjs +1 -1
- package/common/src/functions/utils/encryptInputForEnclave.cjs +1 -1
- package/common/src/functions/utils/encryptInputForEnclave.mjs +0 -1
- package/common/src/functions/utils/erc20tokenFunctions.cjs +1 -1
- package/common/src/functions/utils/erc20tokenFunctions.mjs +2 -14
- package/common/src/functions/utils/getRecipientInfoFromUserKeys.cjs +1 -1
- package/common/src/functions/utils/getRecipientInfoFromUserKeys.mjs +0 -1
- package/common/src/functions/utils/getUtxosFromReceipt.utils.cjs +1 -1
- package/common/src/functions/utils/getUtxosFromReceipt.utils.mjs +0 -3
- package/common/src/functions/utils/getUtxosFromReceiptSolana.cjs +1 -1
- package/common/src/functions/utils/getUtxosFromReceiptSolana.mjs +0 -1
- package/common/src/functions/utils/process.utils.cjs +1 -1
- package/common/src/functions/utils/process.utils.mjs +1 -1
- package/common/src/functions/utils/publicBalance.utils.cjs +1 -1
- package/common/src/functions/utils/publicBalance.utils.mjs +6 -20
- package/common/src/functions/utils/solanaMint.utils.cjs +1 -1
- package/common/src/functions/utils/solanaMint.utils.mjs +1 -1
- package/common/src/functions/utils/string.utils.cjs +1 -1
- package/common/src/functions/utils/string.utils.mjs +7 -10
- package/common/src/functions/utils/token-check.utils.cjs +1 -1
- package/common/src/functions/utils/token-check.utils.mjs +0 -2
- package/common/src/functions/utils/tron.utils.cjs +1 -1
- package/common/src/functions/utils/tron.utils.mjs +1 -1
- package/common/src/functions/utils/tx-confirmation.utils.cjs +1 -1
- package/common/src/functions/utils/tx-confirmation.utils.mjs +1 -2
- package/common/src/functions/web3/events/balanceChangedHandler.cjs +1 -1
- package/common/src/functions/web3/events/balanceChangedHandler.d.ts +1 -1
- package/common/src/functions/web3/events/balanceChangedHandler.mjs +0 -1
- package/common/src/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
- package/common/src/functions/web3/events/getInputUtxoAndBalance.mjs +1 -1
- package/common/src/functions/web3/events/getShieldedBalance.cjs +1 -1
- package/common/src/functions/web3/events/getShieldedBalance.mjs +0 -1
- package/common/src/functions/web3/fetchSolanaMerkleTreeRootHash.cjs +1 -1
- package/common/src/functions/web3/fetchSolanaMerkleTreeRootHash.mjs +0 -1
- package/common/src/functions/web3/functionCalls/accessTokenCalls.cjs +1 -1
- package/common/src/functions/web3/functionCalls/accessTokenCalls.mjs +0 -1
- package/common/src/functions/web3/functionCalls/recoverTransactionFromError.cjs +1 -1
- package/common/src/functions/web3/functionCalls/recoverTransactionFromError.mjs +0 -1
- package/common/src/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
- package/common/src/functions/web3/functionCalls/transactCallRelayer.mjs +0 -2
- package/common/src/functions/web3/getSolanaPriorityFee.cjs +1 -1
- package/common/src/functions/web3/getSolanaPriorityFee.mjs +0 -1
- package/common/src/functions/web3/odosAPI.cjs +1 -1
- package/common/src/functions/web3/odosAPI.mjs +0 -2
- package/common/src/functions/web3/okxAPI.cjs +1 -1
- package/common/src/functions/web3/okxAPI.mjs +1 -1
- package/common/src/functions/web3/oneInchAPI.cjs +1 -1
- package/common/src/functions/web3/oneInchAPI.mjs +0 -3
- package/common/src/functions/web3/uniswapAPI.cjs +1 -1
- package/common/src/functions/web3/uniswapAPI.mjs +1 -4
- package/common/src/providers/TronProviderAdapter.cjs +1 -1
- package/common/src/providers/TronProviderAdapter.mjs +0 -1
- package/common/src/types/balances.types.d.ts +0 -22
- package/common/src/types/hinkal.types.cjs +1 -1
- package/common/src/types/hinkal.types.mjs +1 -1
- package/common/src/types/kyc.types.cjs +1 -1
- package/common/src/types/kyc.types.mjs +1 -1
- package/common/src/types/new-rewards.type.cjs +1 -1
- package/common/src/types/new-rewards.type.mjs +1 -5
- package/common/src/webworker/logError-FeCdVeea.js +1 -0
- package/common/src/webworker/package.json +1 -1
- package/common/src/webworker/snarkjsWorker/snarkjsWorkerNode.d.ts +1 -0
- package/common/src/webworker/snarkjsWorkerNode.cjs +122 -11
- 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/utxoWorker/utxoWorkerNode.d.ts +1 -0
- package/common/src/webworker/utxoWorkerNode.cjs +1 -1
- package/common/src/webworker/workerProxy-5NFtWSKK.js +1 -0
- package/common/src/webworker/workerThreadsPatch.d.ts +2 -1
- 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/zkProofWorker/zkProofWorkerNode.d.ts +1 -0
- package/common/src/webworker/zkProofWorkerNode.cjs +1 -1
- package/functions/index.mjs +0 -1
- package/functions/utils/index.mjs +0 -1
- package/index.cjs +1 -1
- package/index.mjs +0 -1
- package/package.json +1 -1
- package/services/Hinkal.cjs +1 -1
- package/services/Hinkal.d.ts +3 -3
- package/services/Hinkal.mjs +7 -10
- package/types/IHinkal.d.ts +3 -4
- package/types/balances.types.d.ts +1 -1
- package/common/src/API/checkRisk.cjs +0 -1
- package/common/src/API/checkRisk.mjs +0 -3
- package/common/src/API/enclaveRecipientInfoCalls.cjs +0 -1
- package/common/src/API/enclaveRecipientInfoCalls.mjs +0 -2
- package/common/src/API/getCoingeckoPrice.cjs +0 -1
- package/common/src/API/getCoingeckoPrice.mjs +0 -2
- package/common/src/API/getWebsiteURL.cjs +0 -1
- package/common/src/API/getWebsiteURL.mjs +0 -1
- package/common/src/API/index.cjs +0 -1
- package/common/src/API/index.mjs +0 -24
- package/common/src/API/resolve-sns.cjs +0 -1
- package/common/src/API/resolve-sns.mjs +0 -1
- package/common/src/API/tenderly.api.cjs +0 -1
- package/common/src/API/tenderly.api.mjs +0 -4
- package/common/src/constants/activity.constants.cjs +0 -1
- package/common/src/constants/activity.constants.mjs +0 -4
- package/common/src/constants/assets.constants.cjs +0 -1
- package/common/src/constants/assets.constants.mjs +0 -4
- package/common/src/constants/coingecko.constants.cjs +0 -1
- package/common/src/constants/coingecko.constants.mjs +0 -6
- package/common/src/constants/events.constants.cjs +0 -1
- package/common/src/constants/events.constants.mjs +0 -12
- package/common/src/constants/index.cjs +0 -1
- package/common/src/constants/index.mjs +0 -34
- package/common/src/constants/presale.constants.cjs +0 -1
- package/common/src/constants/presale.constants.mjs +0 -3
- package/common/src/constants/schedule.constants.cjs +0 -1
- package/common/src/constants/schedule.constants.mjs +0 -3
- package/common/src/constants/tasks.constants.cjs +0 -1
- package/common/src/constants/tasks.constants.mjs +0 -124
- package/common/src/constants/token-data/arbMainnetRegistryFixed.json.cjs +0 -1
- package/common/src/constants/token-data/arbMainnetRegistryFixed.json.mjs +0 -1841
- package/common/src/constants/token-data/baseRegistryFixed.json.cjs +0 -1
- package/common/src/constants/token-data/baseRegistryFixed.json.mjs +0 -1142
- package/common/src/constants/token-data/ethMainnetRegistryFixed.json.cjs +0 -1
- package/common/src/constants/token-data/ethMainnetRegistryFixed.json.mjs +0 -4274
- package/common/src/constants/token-data/index.cjs +0 -1
- package/common/src/constants/token-data/index.mjs +0 -17
- package/common/src/constants/token-data/optimismRegistryFixed.json.cjs +0 -1
- package/common/src/constants/token-data/optimismRegistryFixed.json.mjs +0 -709
- package/common/src/constants/token-data/polygonRegistryFixed.json.cjs +0 -1
- package/common/src/constants/token-data/polygonRegistryFixed.json.mjs +0 -2317
- package/common/src/constants/token.limits.constants.cjs +0 -1
- package/common/src/constants/token.limits.constants.mjs +0 -5
- package/common/src/constants/tokens.constants.cjs +0 -1
- package/common/src/constants/tokens.constants.mjs +0 -3
- package/common/src/crypto/index.cjs +0 -1
- package/common/src/crypto/index.mjs +0 -3
- package/common/src/data-structures/AccountActions/index.cjs +0 -1
- package/common/src/data-structures/AccountActions/index.mjs +0 -1
- package/common/src/data-structures/Hinkal/HinkalPrivateBalanceController.cjs +0 -1
- package/common/src/data-structures/Hinkal/HinkalPrivateBalanceController.d.ts +0 -19
- package/common/src/data-structures/Hinkal/HinkalPrivateBalanceController.mjs +0 -239
- package/common/src/data-structures/IndexedDB/balances-db.cjs +0 -1
- package/common/src/data-structures/IndexedDB/balances-db.mjs +0 -47
- package/common/src/data-structures/IndexedDB/contact-db.cjs +0 -1
- package/common/src/data-structures/IndexedDB/contact-db.mjs +0 -45
- package/common/src/data-structures/IndexedDB/index.cjs +0 -1
- package/common/src/data-structures/IndexedDB/index.mjs +0 -8
- package/common/src/data-structures/IndexedDB/key-val-store.cjs +0 -1
- package/common/src/data-structures/IndexedDB/key-val-store.d.ts +0 -6
- package/common/src/data-structures/IndexedDB/key-val-store.mjs +0 -41
- package/common/src/data-structures/IndexedDB/pay-activity-db.cjs +0 -1
- package/common/src/data-structures/IndexedDB/pay-activity-db.mjs +0 -21
- package/common/src/data-structures/IndexedDB/prices-db.cjs +0 -1
- package/common/src/data-structures/IndexedDB/prices-db.mjs +0 -54
- package/common/src/data-structures/IndexedDB/private-balances-db.cjs +0 -1
- package/common/src/data-structures/IndexedDB/private-balances-db.mjs +0 -21
- package/common/src/data-structures/IndexedDB/signatures-db.cjs +0 -1
- package/common/src/data-structures/IndexedDB/signatures-db.mjs +0 -40
- package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +0 -1
- package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +0 -168
- package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.cjs +0 -1
- package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.mjs +0 -94
- package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.cjs +0 -1
- package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.mjs +0 -144
- package/common/src/data-structures/TokenDBs/PublicTokensDB.cjs +0 -1
- package/common/src/data-structures/TokenDBs/PublicTokensDB.mjs +0 -29
- package/common/src/data-structures/TokenDBs/index.cjs +0 -1
- package/common/src/data-structures/TokenDBs/index.mjs +0 -4
- package/common/src/data-structures/cacheDevices/index.cjs +0 -1
- package/common/src/data-structures/cacheDevices/index.mjs +0 -2
- package/common/src/data-structures/crypto-keys/index.cjs +0 -1
- package/common/src/data-structures/crypto-keys/index.mjs +0 -4
- package/common/src/data-structures/event-service/evm/PollingBlockchainEventEmitter.cjs +0 -1
- package/common/src/data-structures/event-service/evm/PollingBlockchainEventEmitter.mjs +0 -1
- package/common/src/data-structures/event-service/index.cjs +0 -1
- package/common/src/data-structures/event-service/index.mjs +0 -16
- package/common/src/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.cjs +0 -1
- package/common/src/data-structures/event-service/solana/PollingSolanaBlockchainEventEmitter.mjs +0 -1
- package/common/src/data-structures/http/index.cjs +0 -1
- package/common/src/data-structures/http/index.mjs +0 -2
- package/common/src/data-structures/merkle-tree/index.cjs +0 -1
- package/common/src/data-structures/merkle-tree/index.mjs +0 -3
- package/common/src/data-structures/snapshot/index.cjs +0 -1
- package/common/src/data-structures/snapshot/index.mjs +0 -7
- package/common/src/error-handling/customErrors/index.cjs +0 -1
- package/common/src/error-handling/customErrors/index.mjs +0 -4
- package/common/src/error-handling/index.cjs +0 -1
- package/common/src/error-handling/index.mjs +0 -10
- package/common/src/functions/auto-deposit-back-helpers/index.cjs +0 -1
- package/common/src/functions/auto-deposit-back-helpers/index.mjs +0 -4
- package/common/src/functions/index.cjs +0 -1
- package/common/src/functions/index.mjs +0 -82
- package/common/src/functions/kyc/index.cjs +0 -1
- package/common/src/functions/kyc/index.mjs +0 -4
- package/common/src/functions/kyc/passportHelper.cjs +0 -1
- package/common/src/functions/kyc/passportHelper.mjs +0 -1
- package/common/src/functions/pre-transaction/addressTableLookup.cjs +0 -1
- package/common/src/functions/pre-transaction/addressTableLookup.mjs +0 -2
- package/common/src/functions/pre-transaction/calculateSolanaNullifierCount.cjs +0 -1
- package/common/src/functions/pre-transaction/calculateSolanaNullifierCount.mjs +0 -5
- package/common/src/functions/pre-transaction/getFlatFees.cjs +0 -1
- package/common/src/functions/pre-transaction/getFlatFees.mjs +0 -4
- package/common/src/functions/pre-transaction/index.cjs +0 -1
- package/common/src/functions/pre-transaction/index.mjs +0 -21
- package/common/src/functions/pre-transaction/initTokenLimitIfNeeded.cjs +0 -1
- package/common/src/functions/pre-transaction/initTokenLimitIfNeeded.mjs +0 -3
- package/common/src/functions/pre-transaction/interaction-to-action.cjs +0 -1
- package/common/src/functions/pre-transaction/interaction-to-action.mjs +0 -1
- package/common/src/functions/pre-transaction/sendInitNullifiersTransaction.cjs +0 -1
- package/common/src/functions/pre-transaction/sendInitNullifiersTransaction.mjs +0 -3
- package/common/src/functions/pre-transaction/store-instructions.cjs +0 -1
- package/common/src/functions/pre-transaction/store-instructions.mjs +0 -2
- package/common/src/functions/pre-transaction/store-proof.cjs +0 -1
- package/common/src/functions/pre-transaction/store-proof.mjs +0 -3
- package/common/src/functions/private-wallet/index.cjs +0 -1
- package/common/src/functions/private-wallet/index.mjs +0 -3
- package/common/src/functions/private-wallet/opProducer.cjs +0 -1
- package/common/src/functions/private-wallet/opProducer.mjs +0 -3
- package/common/src/functions/snarkjs/index.cjs +0 -1
- package/common/src/functions/snarkjs/index.mjs +0 -7
- package/common/src/functions/snarkjs/verifyCommitmentValidationData.cjs +0 -1
- package/common/src/functions/snarkjs/verifyCommitmentValidationData.mjs +0 -6
- package/common/src/functions/utils/buildClaimableDepositPlan.cjs +0 -1
- package/common/src/functions/utils/buildClaimableDepositPlan.mjs +0 -3
- package/common/src/functions/utils/convertIntegrationProviderToExternalActionId.cjs +0 -1
- package/common/src/functions/utils/convertIntegrationProviderToExternalActionId.mjs +0 -4
- package/common/src/functions/utils/deposit-claimable.utils.cjs +0 -1
- package/common/src/functions/utils/deposit-claimable.utils.mjs +0 -12
- package/common/src/functions/utils/dispatchBalanceRefreshes.cjs +0 -1
- package/common/src/functions/utils/dispatchBalanceRefreshes.mjs +0 -4
- package/common/src/functions/utils/enclave-recipient-info-storage.cjs +0 -1
- package/common/src/functions/utils/enclave-recipient-info-storage.mjs +0 -2
- package/common/src/functions/utils/enclave-signature-storage.cjs +0 -1
- package/common/src/functions/utils/enclave-signature-storage.mjs +0 -2
- package/common/src/functions/utils/enclave-utxo-storage.cjs +0 -1
- package/common/src/functions/utils/enclave-utxo-storage.mjs +0 -4
- package/common/src/functions/utils/evmNetworkFunctions.cjs +0 -1
- package/common/src/functions/utils/evmNetworkFunctions.mjs +0 -1
- package/common/src/functions/utils/formatter.cjs +0 -1
- package/common/src/functions/utils/formatter.mjs +0 -1
- package/common/src/functions/utils/getBlockExplorerUrl.cjs +0 -1
- package/common/src/functions/utils/getBlockExplorerUrl.mjs +0 -1
- package/common/src/functions/utils/inLogicMetadata.cjs +0 -1
- package/common/src/functions/utils/inLogicMetadata.mjs +0 -1
- package/common/src/functions/utils/index.cjs +0 -1
- package/common/src/functions/utils/index.mjs +0 -68
- package/common/src/functions/utils/ipfs.cjs +0 -1
- package/common/src/functions/utils/ipfs.mjs +0 -1
- package/common/src/functions/utils/lifi.utils.cjs +0 -1
- package/common/src/functions/utils/lifi.utils.mjs +0 -4
- package/common/src/functions/utils/networks.utils.cjs +0 -1
- package/common/src/functions/utils/networks.utils.mjs +0 -1
- package/common/src/functions/utils/nftTokenFunctions.cjs +0 -1
- package/common/src/functions/utils/nftTokenFunctions.mjs +0 -2
- package/common/src/functions/utils/prepareHinkal.cjs +0 -1
- package/common/src/functions/utils/prepareHinkal.mjs +0 -7
- package/common/src/functions/utils/rpc-int-encode.cjs +0 -1
- package/common/src/functions/utils/rpc-int-encode.mjs +0 -1
- package/common/src/functions/utils/transfer-claimable.utils.cjs +0 -1
- package/common/src/functions/utils/transfer-claimable.utils.mjs +0 -12
- package/common/src/functions/utils/userAgent.cjs +0 -1
- package/common/src/functions/utils/userAgent.mjs +0 -3
- package/common/src/functions/utils/walletBalances.utils.cjs +0 -1
- package/common/src/functions/utils/walletBalances.utils.mjs +0 -1
- package/common/src/functions/web3/EIP-712.cjs +0 -1
- package/common/src/functions/web3/EIP-712.mjs +0 -1
- package/common/src/functions/web3/connectors.utils.cjs +0 -1
- package/common/src/functions/web3/connectors.utils.mjs +0 -1
- package/common/src/functions/web3/events/getTransactionLogEvents.cjs +0 -1
- package/common/src/functions/web3/events/getTransactionLogEvents.mjs +0 -2
- package/common/src/functions/web3/events/index.cjs +0 -1
- package/common/src/functions/web3/events/index.mjs +0 -4
- package/common/src/functions/web3/getTokenHolder.cjs +0 -1
- package/common/src/functions/web3/getTokenHolder.mjs +0 -7
- package/common/src/functions/web3/index.cjs +0 -1
- package/common/src/functions/web3/index.mjs +0 -16
- package/common/src/functions/web3/runContractFunction.cjs +0 -1
- package/common/src/functions/web3/runContractFunction.mjs +0 -1
- package/common/src/mutexes/mutex.cjs +0 -1
- package/common/src/mutexes/mutex.mjs +0 -3
- package/common/src/types/index.cjs +0 -1
- package/common/src/types/index.mjs +0 -19
- package/common/src/types/schedule.types.cjs +0 -1
- package/common/src/types/schedule.types.mjs +0 -6
- package/common/src/webworker/workerProxy-DPSmXOIl.js +0 -122
- package/functions/integrations/index.mjs +0 -5
- package/functions/utils/getFeeStructure.mjs +0 -1
- package/types/balances.types.cjs +0 -1
- package/types/balances.types.mjs +0 -2
- package/types/external-action.types.cjs +0 -1
- package/types/external-action.types.mjs +0 -2
- package/types/index.cjs +0 -1
- package/types/index.mjs +0 -4
|
@@ -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(`../../types/hinkal.types.cjs`),i=require(`../../types/ethereum-network.types.cjs`),a=require(`../../crypto/poseidon.cjs`),o=require(`../../functions/pre-transaction/solana.cjs`),s=require(`./hinkalCheckSolanaTokenRegistry.cjs`),c=require(`../../functions/web3/functionCalls/accessTokenCalls.cjs`),l=require(`../../error-handling/error-codes.constants.cjs`),u=require(`../../functions/utils/erc20tokenFunctions.cjs`),d=require(`../crypto-keys/keys.cjs`),f=require(`../../API/API.cjs`),p=require(`../../functions/utils/token-check.utils.cjs`),m=require(`../TokenDBs/PrivateTokensDB.cjs`),ee=require(`../../functions/web3/events/getShieldedBalance.cjs`),h=require(`../../constants/kyc.constants.cjs`),g=require(`../../functions/utils/reloadPage.cjs`),te=require(`../../functions/utils/cacheDevice.utils.cjs`),_=require(`../../functions/web3/getContractMetadata.cjs`),v=require(`../../providers/SolanaProviderAdapter.cjs`),y=require(`./hinkalCheckTokenRegistry.cjs`),b=require(`../merkle-tree/MerkleTree.cjs`);require(`../merkle-tree/index.cjs`);const x=require(`../../functions/web3/fetchSolanaMerkleTreeRootHash.cjs`),S=require(`./hinkalDeposit.cjs`),C=require(`../../functions/private-wallet/emporium.helpers.cjs`);require(`../../API/index.cjs`);const w=require(`../../functions/kyc/checkTokenLimitsUSD.cjs`),T=require(`./hinkalDepositAndWithdraw.cjs`),E=require(`./hinkalSolanaDeposit.cjs`),D=require(`./hinkalSwap.cjs`),O=require(`./hinkalWithdraw.cjs`),k=require(`./resetMerkleTrees.cjs`),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 F=require(`./hinkalProoflessDeposit.cjs`),I=require(`./hinkalProxySwap.cjs`),L=require(`./hinkalMultiSend.cjs`),ne=require(`./hinkalTransfer.cjs`),R=require(`./hinkalProxyToPrivate.cjs`),z=require(`../../providers/TronProviderAdapter.cjs`),B=require(`./hinkalSolanaDepositAndWithdraw.cjs`),V=require(`./hinkalSolanaWithdraw.cjs`),H=require(`./hinkalSolanaTransfer.cjs`),U=require(`./hinkalSolanaSwap.cjs`),W=require(`./hinkalSolanaProxySend.cjs`),G=require(`./hinkalSolanaProxySwap.cjs`),K=require(`./hinkalSolanaProxyShield.cjs`),q=require(`./hinkalDepositAndBridge.cjs`),J=require(`./hinkalClaimUtxo.cjs`),Y=require(`./hinkalSolanaProoflessDeposit.cjs`),X=require(`./hinkalSolanaClaimUtxo.cjs`),Z=require(`./hinkalWithdrawStuckUtxos.cjs`),re=require(`./HinkalPrivateBalanceController.cjs`);let Q=require(`ethers`),$=require(`@solana/web3.js`);var ie=class{ethereumProviderAdapter;solanaProviderAdapter;tronProviderAdapter;userKeys;signingMessage=`Login to Hinkal Protocol`;privateTransferSigningMessage=`Login to Hinkal's Private Transfer App`;merkleTreeHinkalByChain={};merkleTreeAccessTokenByChain={};nullifiersByChain={};encryptedOutputsByChain={};commitmentsSnapshotServiceByChain={};nullifierSnapshotServiceByChain={};accessTokenSnapshotServiceByChain={};utxoUtils;lastCallState=new Map;cacheDevice;generateProofRemotely;disableMerkleTreeUpdates;privateBalances=new re.HinkalPrivateBalanceController(this);constructor(e){this.userKeys=new d.UserKeys(void 0),n.HINKAL_SUPPORTED_CHAINS.forEach(e=>{this.merkleTreeHinkalByChain[e]=b.MerkleTree.create(a.poseidonFunction,0n),this.merkleTreeAccessTokenByChain[e]=b.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=te.createCacheDevice(e),this.disableMerkleTreeUpdates=e?.disableMerkleTreeUpdates??!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.chainIds.solanaMainnet: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 v.SolanaProviderAdapter?r=n.chainIds.solanaMainnet:t instanceof z.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=r.LoginMessageMode.PROTOCOL){switch(e){case r.LoginMessageMode.PRIVATE_TRANSFER:return this.privateTransferSigningMessage;case r.LoginMessageMode.PROTOCOL:default:return this.signingMessage}}async initUserKeys(e=r.LoginMessageMode.PROTOCOL){let t=this.getSigningMessage(e);this.userKeys=new d.UserKeys(await this.getProviderAdapter().signMessage(t))}initUserKeysWithSignature(e){this.userKeys=new d.UserKeys(e)}async initUserKeysFromSeedPhrases(e){let t=e.join(` `),n=Q.ethers.toUtf8Bytes(t),r=Q.ethers.keccak256(n);this.userKeys=new d.UserKeys(r)}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 z.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.HINKAL_SUPPORTED_CHAINS.filter(e=>n.isTronLike(e)):[]}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 _.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){try{await this.getProviderAdapter().switchNetwork(e)}catch{throw Error(l.transactionErrorCodes.FAILED_TO_SWITCH_NETWORKS)}}isPermitterAvailable(e){return this.getProviderAdapter(e).isPermitterAvailable()}async disconnectFromConnector(){await this.ethereumProviderAdapter?.disconnectFromConnector(),await this.solanaProviderAdapter?.disconnectFromConnector(),await this.tronProviderAdapter?.disconnectFromConnector()}async resetProviderAdapters(){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=r.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(),g.reloadPage())}async monitorConnectedAddress(e){await f.API.monitor(await this.getEthereumAddressByChain(e))}async getBalances(e,t,n,r,i=!1,a,o=!1){return ee.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),d=t.isExtension?await m.privateTokensDB.getPrivateTokens(e,s):u.getErc20TokensForChain(e),f=[];return d.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||[]};f.push(r)}),f}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)}getSupportedPassportLinks(){return h.supportedPassportLinks}checkAccessToken(e,t){return c.checkHinkalAccessToken(this,e,t)}checkExternalTokenLimitsUSD(e,t,n){return w.checkTokenLimitsUSD(e,t,n)}async getHinkalTreeRootHash(e){if(n.isSolanaLike(e)){let{hinkalIdl:t,hinkalAddress:r,originalDeployer:i}=n.networkRegistry[e].contractData;if(!t||!r||!i)throw Error(`Missing Solana configuration for chain ${e}`);let a=new $.PublicKey(i),s=o.getMerkleAccountPublicKey(new $.PublicKey(r),a);return x.fetchSolanaMerkleTreeRootHash(this.getSolanaProgram(t),s)}return this.getContractWithFetcherByChainId(e,i.ContractType.HinkalContract).getRootHash()}async getAccessTokenTreeRootHash(e){if(n.isSolanaLike(e)){let{hinkalIdl:t,hinkalAddress:r,originalDeployer:i}=n.networkRegistry[e].contractData;if(!t||!r||!i)throw Error(`Missing Solana configuration for chain ${e}`);let a=new $.PublicKey(i),s=o.getAccessTokenMerkleAccountPublicKey(new $.PublicKey(r),a);return x.fetchSolanaMerkleTreeRootHash(this.getSolanaProgram(t),s)}return this.getContractWithFetcherByChainId(e,i.ContractType.AccessTokenContract).getRootHash()}async resetMerkleTreesIfNecessary(e){let t=(await Promise.all((e??this.getSupportedChains()).map(async e=>{let[t,n]=await Promise.all([this.getHinkalTreeRootHash(e),this.getAccessTokenTreeRootHash(e)]);return{chainId:e,needsReset:BigInt(t)!==this.merkleTreeHinkalByChain[e].getRootHash()||BigInt(n)!==this.merkleTreeAccessTokenByChain[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 f.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 f.API}snapshotsClearInterval(){this.getSupportedChains().forEach(e=>{this.commitmentsSnapshotServiceByChain[e]?.intervalClear(),this.accessTokenSnapshotServiceByChain[e]?.intervalClear(),this.nullifierSnapshotServiceByChain[e]?.intervalClear()})}checkTokenRegistry(e,t,r){if(n.isSolanaLike(e)){let{hinkalIdl:i,hinkalAddress:a,originalDeployer:o}=n.networkRegistry[e].contractData;if(!i||!a||!o)throw Error(`missing solana data`);return s.hinkalCheckSolanaTokenRegistry(this.getSolanaProgram(i),new $.PublicKey(o),t,r)}return n.isTronLike(e)?y.hinkalCheckTronTokenRegistry(t,r,e):y.hinkalCheckTokenRegistry(this.getContractWithFetcher(e,i.ContractType.HinkalHelperContract),t,r)}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){return E.hinkalSolanaDeposit(this,e,t)}async depositForOther(e,t,n,r=!0,i=!1){return this.enforceRateLimit(this.depositForOther.name,[e,t,n]),S.hinkalDepositForOther(this,e,t,n,r,i)}async depositSolanaForOther(e,t,n){return this.enforceRateLimit(this.depositSolanaForOther.name,[e,t,n]),E.hinkalSolanaDepositForOther(this,e,t,n)}async depositAndWithdraw(e,t,r,i,a,o,s,c,l=!0){return n.isSolanaLike(p.validateAndGetChainId([e]))?B.hinkalSolanaDepositAndWithdraw(this,e,t,r,i,a,o,s,c):T.hinkalDepositAndWithdraw(this,e,t,r,i,a,o,s,c,l)}async claimUtxo(e,t,r,i){return n.isSolanaLike(p.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 q.hinkalDepositAndBridge(this,e,t,n,r,i,a,o,s)}async prooflessDeposit(e,t,r,i){return n.isSolanaLike(p.validateAndGetChainId(e))?Y.hinkalSolanaProoflessDeposit(this,e,t,r,i):F.hinkalProoflessDeposit(this,e,t,r,i)}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 n.isSolanaLike(p.validateAndGetChainId(e))?H.hinkalSolanaTransfer(this,e,t,r,i,a,o):ne.hinkalTransfer(this,e,t,r,i,a,o)}async withdraw(e,t,r,i,a,o,s){return n.isSolanaLike(p.validateAndGetChainId(e))?V.hinkalSolanaWithdraw(this,e,t,r,a,o,s):O.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(p.validateAndGetChainId(e))?this.swapSolana(e,t,i,a,o):D.hinkalSwap(this,e,t,r,i,a,o,s)}async swapSolana(e,t,n,r,i){let a=JSON.parse(n),o=BigInt(a.swapperAccountSalt),{instructionLists:s,addressLookupTableAccount:c}=a.data;return U.hinkalSolanaSwap(this,e,t,o,s,c,r,i)}async actionReceive(e,t,r,i,a,o){if(!a)throw Error(`subAccount is required`);return n.isSolanaLike(p.validateAndGetChainId(e))?K.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,u,d){return n.isSolanaLike(p.validateAndGetChainId(e))?G.hinkalSolanaProxySwap(this,e,t,i,o,r,s,c,d):I.hinkalProxySwap(this,e,t,r,i,a,o,s,c,l,u,d)}async proxyToPrivate(e,t,r,i,a,o,s){return n.isSolanaLike(p.validateAndGetChainId(e))?(this.enforceRateLimit(this.proxyToPrivate.name,[e[0],t[0],r,i]),K.hinkalSolanaProxyShield(this,e[0],t[0],r,i,s)):R.hinkalProxyToPrivate(this,e,t,i,a,o,r,s)}async proxySend(e,t,r,i,a,o,s){let c=p.validateAndGetChainId(e);if(n.isSolanaLike(c))return W.hinkalSolanaProxySend(this,e[0],t[0],r,i,s);let l=C.createTransaferEmporiumOpsBatch(this,c,e.map(e=>e.erc20TokenAddress),t,i),u=e.map((e,n)=>({token:e,amount:-1n*t[n]}));return await this.actionPrivateWallet(c,[],[],[],l,u,r,a,o,void 0,void 0,void 0,s,void 0)}async multiSendPrivateRecipients(e,t,n){return this.enforceRateLimit(this.multiSendPrivateRecipients.name,[e,t,n]),L.hinkalMultiSendPrivateRecipients(this,e,t,n)}areMerkleTreeUpdatesDisabled(){return this.disableMerkleTreeUpdates}updateMerkleTreeUpdates(e){this.disableMerkleTreeUpdates=e}};exports.Hinkal=ie;
|
|
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(`../../types/hinkal.types.cjs`),i=require(`../../types/ethereum-network.types.cjs`),a=require(`../../crypto/poseidon.cjs`),o=require(`../../functions/pre-transaction/solana.cjs`),s=require(`./hinkalCheckSolanaTokenRegistry.cjs`),c=require(`../../functions/web3/functionCalls/accessTokenCalls.cjs`),l=require(`../../error-handling/error-codes.constants.cjs`),u=require(`../../functions/utils/erc20tokenFunctions.cjs`),d=require(`../crypto-keys/keys.cjs`),f=require(`../../API/API.cjs`),p=require(`../../functions/utils/token-check.utils.cjs`),m=require(`../TokenDBs/PrivateTokensDB.cjs`),ee=require(`../../functions/web3/events/getShieldedBalance.cjs`),h=require(`../../constants/kyc.constants.cjs`),g=require(`../../functions/utils/reloadPage.cjs`),te=require(`../../functions/utils/cacheDevice.utils.cjs`),_=require(`../../functions/web3/getContractMetadata.cjs`),v=require(`../../providers/SolanaProviderAdapter.cjs`),y=require(`./hinkalCheckTokenRegistry.cjs`),b=require(`../merkle-tree/MerkleTree.cjs`),x=require(`../../functions/web3/fetchSolanaMerkleTreeRootHash.cjs`),S=require(`./hinkalDeposit.cjs`),C=require(`../../functions/private-wallet/emporium.helpers.cjs`),w=require(`../../functions/kyc/checkTokenLimitsUSD.cjs`),T=require(`./hinkalDepositAndWithdraw.cjs`),E=require(`./hinkalSolanaDeposit.cjs`),D=require(`./hinkalSwap.cjs`),O=require(`./hinkalWithdraw.cjs`),k=require(`./resetMerkleTrees.cjs`),A=require(`../MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs`),j=require(`./hinkalPrivateWallet.cjs`),M=require(`./hinkalGetRecipientInfo.cjs`),N=require(`./hinkalSignSubAccount.cjs`),P=require(`./hinkalActionReceive.cjs`),F=require(`./hinkalProoflessDeposit.cjs`),I=require(`./hinkalProxySwap.cjs`),L=require(`./hinkalMultiSend.cjs`),ne=require(`./hinkalTransfer.cjs`),R=require(`./hinkalProxyToPrivate.cjs`),z=require(`../../providers/TronProviderAdapter.cjs`),B=require(`./hinkalSolanaDepositAndWithdraw.cjs`),V=require(`./hinkalSolanaWithdraw.cjs`),H=require(`./hinkalSolanaTransfer.cjs`),U=require(`./hinkalSolanaSwap.cjs`),W=require(`./hinkalSolanaProxySend.cjs`),G=require(`./hinkalSolanaProxySwap.cjs`),K=require(`./hinkalSolanaProxyShield.cjs`),q=require(`./hinkalDepositAndBridge.cjs`),J=require(`./hinkalClaimUtxo.cjs`),Y=require(`./hinkalSolanaProoflessDeposit.cjs`),X=require(`./hinkalSolanaClaimUtxo.cjs`),Z=require(`./hinkalWithdrawStuckUtxos.cjs`);let Q=require(`ethers`),$=require(`@solana/web3.js`);var re=class{ethereumProviderAdapter;solanaProviderAdapter;tronProviderAdapter;userKeys;signingMessage=`Login to Hinkal Protocol`;privateTransferSigningMessage=`Login to Hinkal's Private Transfer App`;merkleTreeHinkalByChain={};merkleTreeAccessTokenByChain={};nullifiersByChain={};encryptedOutputsByChain={};commitmentsSnapshotServiceByChain={};nullifierSnapshotServiceByChain={};accessTokenSnapshotServiceByChain={};utxoUtils;lastCallState=new Map;cacheDevice;generateProofRemotely;disableMerkleTreeUpdates;constructor(e){this.userKeys=new d.UserKeys(void 0),n.HINKAL_SUPPORTED_CHAINS.forEach(e=>{this.merkleTreeHinkalByChain[e]=b.MerkleTree.create(a.poseidonFunction,0n),this.merkleTreeAccessTokenByChain[e]=b.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=te.createCacheDevice(e),this.disableMerkleTreeUpdates=e?.disableMerkleTreeUpdates??!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.chainIds.solanaMainnet: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 v.SolanaProviderAdapter?r=n.chainIds.solanaMainnet:t instanceof z.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=r.LoginMessageMode.PROTOCOL){switch(e){case r.LoginMessageMode.PRIVATE_TRANSFER:return this.privateTransferSigningMessage;case r.LoginMessageMode.PROTOCOL:default:return this.signingMessage}}async initUserKeys(e=r.LoginMessageMode.PROTOCOL){let t=this.getSigningMessage(e);this.userKeys=new d.UserKeys(await this.getProviderAdapter().signMessage(t))}initUserKeysWithSignature(e){this.userKeys=new d.UserKeys(e)}async initUserKeysFromSeedPhrases(e){let t=e.join(` `),n=Q.ethers.toUtf8Bytes(t),r=Q.ethers.keccak256(n);this.userKeys=new d.UserKeys(r)}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 z.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.HINKAL_SUPPORTED_CHAINS.filter(e=>n.isTronLike(e)):[]}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 _.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){try{await this.getProviderAdapter().switchNetwork(e)}catch{throw Error(l.transactionErrorCodes.FAILED_TO_SWITCH_NETWORKS)}}isPermitterAvailable(e){return this.getProviderAdapter(e).isPermitterAvailable()}async disconnectFromConnector(){await this.ethereumProviderAdapter?.disconnectFromConnector(),await this.solanaProviderAdapter?.disconnectFromConnector(),await this.tronProviderAdapter?.disconnectFromConnector()}async resetProviderAdapters(){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=r.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(),g.reloadPage())}async monitorConnectedAddress(e){await f.API.monitor(await this.getEthereumAddressByChain(e))}async getBalances(e,t,n,r,i=!1,a,o=!1){return ee.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),d=t.isExtension?await m.privateTokensDB.getPrivateTokens(e,s):u.getErc20TokensForChain(e),f=[];return d.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||[]};f.push(r)}),f}async getStuckShieldedBalances(e,t,n,r=!1,i=!1){return(await this.getTotalBalance(e,t,n,r,i,!0)).filter(e=>e.balance>0n)}getSupportedPassportLinks(){return h.supportedPassportLinks}checkAccessToken(e,t){return c.checkHinkalAccessToken(this,e,t)}checkExternalTokenLimitsUSD(e,t,n){return w.checkTokenLimitsUSD(e,t,n)}async getHinkalTreeRootHash(e){if(n.isSolanaLike(e)){let{hinkalIdl:t,hinkalAddress:r,originalDeployer:i}=n.networkRegistry[e].contractData;if(!t||!r||!i)throw Error(`Missing Solana configuration for chain ${e}`);let a=new $.PublicKey(i),s=o.getMerkleAccountPublicKey(new $.PublicKey(r),a);return x.fetchSolanaMerkleTreeRootHash(this.getSolanaProgram(t),s)}return this.getContractWithFetcherByChainId(e,i.ContractType.HinkalContract).getRootHash()}async getAccessTokenTreeRootHash(e){if(n.isSolanaLike(e)){let{hinkalIdl:t,hinkalAddress:r,originalDeployer:i}=n.networkRegistry[e].contractData;if(!t||!r||!i)throw Error(`Missing Solana configuration for chain ${e}`);let a=new $.PublicKey(i),s=o.getAccessTokenMerkleAccountPublicKey(new $.PublicKey(r),a);return x.fetchSolanaMerkleTreeRootHash(this.getSolanaProgram(t),s)}return this.getContractWithFetcherByChainId(e,i.ContractType.AccessTokenContract).getRootHash()}async resetMerkleTreesIfNecessary(e){let t=(await Promise.all((e??this.getSupportedChains()).map(async e=>{let[t,n]=await Promise.all([this.getHinkalTreeRootHash(e),this.getAccessTokenTreeRootHash(e)]);return{chainId:e,needsReset:BigInt(t)!==this.merkleTreeHinkalByChain[e].getRootHash()||BigInt(n)!==this.merkleTreeAccessTokenByChain[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 f.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 f.API}snapshotsClearInterval(){this.getSupportedChains().forEach(e=>{this.commitmentsSnapshotServiceByChain[e]?.intervalClear(),this.accessTokenSnapshotServiceByChain[e]?.intervalClear(),this.nullifierSnapshotServiceByChain[e]?.intervalClear()})}checkTokenRegistry(e,t,r){if(n.isSolanaLike(e)){let{hinkalIdl:i,hinkalAddress:a,originalDeployer:o}=n.networkRegistry[e].contractData;if(!i||!a||!o)throw Error(`missing solana data`);return s.hinkalCheckSolanaTokenRegistry(this.getSolanaProgram(i),new $.PublicKey(o),t,r)}return n.isTronLike(e)?y.hinkalCheckTronTokenRegistry(t,r,e):y.hinkalCheckTokenRegistry(this.getContractWithFetcher(e,i.ContractType.HinkalHelperContract),t,r)}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){return E.hinkalSolanaDeposit(this,e,t)}async depositForOther(e,t,n,r=!0,i=!1){return this.enforceRateLimit(this.depositForOther.name,[e,t,n]),S.hinkalDepositForOther(this,e,t,n,r,i)}async depositSolanaForOther(e,t,n){return this.enforceRateLimit(this.depositSolanaForOther.name,[e,t,n]),E.hinkalSolanaDepositForOther(this,e,t,n)}async depositAndWithdraw(e,t,r,i,a,o,s,c,l=!0){return n.isSolanaLike(p.validateAndGetChainId([e]))?B.hinkalSolanaDepositAndWithdraw(this,e,t,r,i,a,o,s,c):T.hinkalDepositAndWithdraw(this,e,t,r,i,a,o,s,c,l)}async claimUtxo(e,t,r,i){return n.isSolanaLike(p.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 q.hinkalDepositAndBridge(this,e,t,n,r,i,a,o,s)}async prooflessDeposit(e,t,r,i){return n.isSolanaLike(p.validateAndGetChainId(e))?Y.hinkalSolanaProoflessDeposit(this,e,t,r,i):F.hinkalProoflessDeposit(this,e,t,r,i)}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 n.isSolanaLike(p.validateAndGetChainId(e))?H.hinkalSolanaTransfer(this,e,t,r,i,a,o):ne.hinkalTransfer(this,e,t,r,i,a,o)}async withdraw(e,t,r,i,a,o,s){return n.isSolanaLike(p.validateAndGetChainId(e))?V.hinkalSolanaWithdraw(this,e,t,r,a,o,s):O.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(p.validateAndGetChainId(e))?this.swapSolana(e,t,i,a,o):D.hinkalSwap(this,e,t,r,i,a,o,s)}async swapSolana(e,t,n,r,i){let a=JSON.parse(n),o=BigInt(a.swapperAccountSalt),{instructionLists:s,addressLookupTableAccount:c}=a.data;return U.hinkalSolanaSwap(this,e,t,o,s,c,r,i)}async actionReceive(e,t,r,i,a,o){if(!a)throw Error(`subAccount is required`);return n.isSolanaLike(p.validateAndGetChainId(e))?K.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,u,d){return n.isSolanaLike(p.validateAndGetChainId(e))?G.hinkalSolanaProxySwap(this,e,t,i,o,r,s,c,d):I.hinkalProxySwap(this,e,t,r,i,a,o,s,c,l,u,d)}async proxyToPrivate(e,t,r,i,a,o,s){return n.isSolanaLike(p.validateAndGetChainId(e))?(this.enforceRateLimit(this.proxyToPrivate.name,[e[0],t[0],r,i]),K.hinkalSolanaProxyShield(this,e[0],t[0],r,i,s)):R.hinkalProxyToPrivate(this,e,t,i,a,o,r,s)}async proxySend(e,t,r,i,a,o,s){let c=p.validateAndGetChainId(e);if(n.isSolanaLike(c))return W.hinkalSolanaProxySend(this,e[0],t[0],r,i,s);let l=C.createTransaferEmporiumOpsBatch(this,c,e.map(e=>e.erc20TokenAddress),t,i),u=e.map((e,n)=>({token:e,amount:-1n*t[n]}));return await this.actionPrivateWallet(c,[],[],[],l,u,r,a,o,void 0,void 0,void 0,s,void 0)}async multiSendPrivateRecipients(e,t,n){return this.enforceRateLimit(this.multiSendPrivateRecipients.name,[e,t,n]),L.hinkalMultiSendPrivateRecipients(this,e,t,n)}areMerkleTreeUpdatesDisabled(){return this.disableMerkleTreeUpdates}updateMerkleTreeUpdates(e){this.disableMerkleTreeUpdates=e}};exports.Hinkal=re;
|
|
@@ -19,7 +19,6 @@ import { Idl, Program } from '@coral-xyz/anchor';
|
|
|
19
19
|
import { PublicKey } from '@solana/web3.js';
|
|
20
20
|
import { BridgeRecipient } from '../../types/bridging-tx.types';
|
|
21
21
|
import { Utxo } from '../utxo/Utxo';
|
|
22
|
-
import { PrivateBalancesState } from '../../types/balances.types';
|
|
23
22
|
export declare class Hinkal<ConnectorType> implements IHinkal {
|
|
24
23
|
private ethereumProviderAdapter?;
|
|
25
24
|
private solanaProviderAdapter?;
|
|
@@ -39,7 +38,6 @@ export declare class Hinkal<ConnectorType> implements IHinkal {
|
|
|
39
38
|
cacheDevice: ICacheDevice;
|
|
40
39
|
generateProofRemotely: boolean;
|
|
41
40
|
private disableMerkleTreeUpdates;
|
|
42
|
-
private readonly privateBalances;
|
|
43
41
|
constructor(hinkalConfig?: HinkalConfig);
|
|
44
42
|
private enforceRateLimit;
|
|
45
43
|
getProviderAdapter(chainId?: number): IProviderAdapter<ConnectorType>;
|
|
@@ -72,8 +70,6 @@ export declare class Hinkal<ConnectorType> implements IHinkal {
|
|
|
72
70
|
getBalances(chainId: number, passedShieldedPrivateKey: string, passedShieldedPublicKey: string, ethAddress: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean, useBlockedUtxos?: boolean): Promise<Map<string, TokenBalance>>;
|
|
73
71
|
getTotalBalance(chainId: number, _userKeys?: UserKeys, _ethAddress?: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean, useBlockedUtxos?: boolean): Promise<TokenBalance[]>;
|
|
74
72
|
getStuckShieldedBalances(chainId: number, _userKeys?: UserKeys, _ethAddress?: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean): Promise<TokenBalance[]>;
|
|
75
|
-
get privateBalancesWithUSD(): PrivateBalancesState;
|
|
76
|
-
onPrivateBalancesWithUSDChange(callback: (state: PrivateBalancesState) => void): () => void;
|
|
77
73
|
getSupportedPassportLinks(): string[];
|
|
78
74
|
checkAccessToken(chainId: number, accessKeyOverride?: string): Promise<boolean>;
|
|
79
75
|
checkExternalTokenLimitsUSD(chainId: number, tokenAddresses: string[], amounts: bigint[]): Promise<boolean>;
|
|
@@ -21,11 +21,9 @@ import { getContractWithFetcherByChainId as C } from "../../functions/web3/getCo
|
|
|
21
21
|
import { SolanaProviderAdapter as w } from "../../providers/SolanaProviderAdapter.mjs";
|
|
22
22
|
import { hinkalCheckTokenRegistry as T, hinkalCheckTronTokenRegistry as E } from "./hinkalCheckTokenRegistry.mjs";
|
|
23
23
|
import { MerkleTree as D } from "../merkle-tree/MerkleTree.mjs";
|
|
24
|
-
import "../merkle-tree/index.mjs";
|
|
25
24
|
import { fetchSolanaMerkleTreeRootHash as O } from "../../functions/web3/fetchSolanaMerkleTreeRootHash.mjs";
|
|
26
25
|
import { hinkalDeposit as k, hinkalDepositForOther as A } from "./hinkalDeposit.mjs";
|
|
27
26
|
import { createTransaferEmporiumOpsBatch as j } from "../../functions/private-wallet/emporium.helpers.mjs";
|
|
28
|
-
import "../../API/index.mjs";
|
|
29
27
|
import { checkTokenLimitsUSD as M } from "../../functions/kyc/checkTokenLimitsUSD.mjs";
|
|
30
28
|
import { hinkalDepositAndWithdraw as N } from "./hinkalDepositAndWithdraw.mjs";
|
|
31
29
|
import { hinkalSolanaDeposit as P, hinkalSolanaDepositForOther as F } from "./hinkalSolanaDeposit.mjs";
|
|
@@ -37,7 +35,6 @@ import { hinkalPrivateWallet as ie } from "./hinkalPrivateWallet.mjs";
|
|
|
37
35
|
import { getRecipientInfo as B } from "./hinkalGetRecipientInfo.mjs";
|
|
38
36
|
import { hinkalSignSubAccount as V } from "./hinkalSignSubAccount.mjs";
|
|
39
37
|
import { hinkalActionReceive as H } from "./hinkalActionReceive.mjs";
|
|
40
|
-
import "../TokenDBs/index.mjs";
|
|
41
38
|
import { hinkalProoflessDeposit as U } from "./hinkalProoflessDeposit.mjs";
|
|
42
39
|
import { hinkalProxySwap as W } from "./hinkalProxySwap.mjs";
|
|
43
40
|
import { hinkalMultiSendPrivateRecipients as G } from "./hinkalMultiSend.mjs";
|
|
@@ -56,11 +53,10 @@ import { hinkalClaimUtxo as de } from "./hinkalClaimUtxo.mjs";
|
|
|
56
53
|
import { hinkalSolanaProoflessDeposit as Z } from "./hinkalSolanaProoflessDeposit.mjs";
|
|
57
54
|
import { hinkalSolanaClaimUtxo as fe } from "./hinkalSolanaClaimUtxo.mjs";
|
|
58
55
|
import { hinkalWithdrawStuckUtxos as pe } from "./hinkalWithdrawStuckUtxos.mjs";
|
|
59
|
-
import { HinkalPrivateBalanceController as me } from "./HinkalPrivateBalanceController.mjs";
|
|
60
56
|
import { ethers as Q } from "ethers";
|
|
61
57
|
import { PublicKey as $ } from "@solana/web3.js";
|
|
62
58
|
//#region libs/shared/common/src/data-structures/Hinkal/Hinkal.ts
|
|
63
|
-
var
|
|
59
|
+
var me = class {
|
|
64
60
|
ethereumProviderAdapter;
|
|
65
61
|
solanaProviderAdapter;
|
|
66
62
|
tronProviderAdapter;
|
|
@@ -79,7 +75,6 @@ var he = class {
|
|
|
79
75
|
cacheDevice;
|
|
80
76
|
generateProofRemotely;
|
|
81
77
|
disableMerkleTreeUpdates;
|
|
82
|
-
privateBalances = new me(this);
|
|
83
78
|
constructor(e) {
|
|
84
79
|
this.userKeys = new _(void 0), n.forEach((e) => {
|
|
85
80
|
this.merkleTreeHinkalByChain[e] = D.create(f, 0n), this.merkleTreeAccessTokenByChain[e] = D.create(f, 0n), this.nullifiersByChain[e] = /* @__PURE__ */ new Set(), this.encryptedOutputsByChain[e] = [];
|
|
@@ -241,12 +236,6 @@ var he = class {
|
|
|
241
236
|
async getStuckShieldedBalances(e, t, n, r = !1, i = !1) {
|
|
242
237
|
return (await this.getTotalBalance(e, t, n, r, i, !0)).filter((e) => e.balance > 0n);
|
|
243
238
|
}
|
|
244
|
-
get privateBalancesWithUSD() {
|
|
245
|
-
return this.privateBalances.getSnapshot();
|
|
246
|
-
}
|
|
247
|
-
onPrivateBalancesWithUSDChange(e) {
|
|
248
|
-
return this.privateBalances.onPrivateBalancesWithUSDChange(e);
|
|
249
|
-
}
|
|
250
239
|
getSupportedPassportLinks() {
|
|
251
240
|
return b;
|
|
252
241
|
}
|
|
@@ -430,4 +419,4 @@ var he = class {
|
|
|
430
419
|
}
|
|
431
420
|
};
|
|
432
421
|
//#endregion
|
|
433
|
-
export {
|
|
422
|
+
export { me as Hinkal };
|
|
@@ -17,7 +17,6 @@ import { AdminTransactionType } from '../../types/admin.types';
|
|
|
17
17
|
import { Idl, Program } from '@coral-xyz/anchor';
|
|
18
18
|
import { PublicKey } from '@solana/web3.js';
|
|
19
19
|
import { BridgeRecipient } from '../../types/bridging-tx.types';
|
|
20
|
-
import { PrivateBalancesState } from '../../types/balances.types';
|
|
21
20
|
import { Utxo } from '../utxo/Utxo';
|
|
22
21
|
import { TronWeb } from 'tronweb';
|
|
23
22
|
export interface IHinkal<ConnectorType = unknown> {
|
|
@@ -37,8 +36,6 @@ export interface IHinkal<ConnectorType = unknown> {
|
|
|
37
36
|
getBalances(chainId: number, passedShieldedPrivateKey: string, passedShieldedPublicKey: string, ethAddress: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean): Promise<Map<string, TokenBalance>>;
|
|
38
37
|
getTotalBalance(chainId: number, userKeys?: UserKeys, ethAddress?: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean, useBlockedUtxos?: boolean): Promise<TokenBalance[]>;
|
|
39
38
|
getStuckShieldedBalances(chainId: number, userKeys?: UserKeys, ethAddress?: string, resetCacheBefore?: boolean, updateTokensListBefore?: boolean): Promise<TokenBalance[]>;
|
|
40
|
-
privateBalancesWithUSD: PrivateBalancesState;
|
|
41
|
-
onPrivateBalancesWithUSDChange(callback: (state: PrivateBalancesState) => void): () => void;
|
|
42
39
|
getSupportedPassportLinks(): string[];
|
|
43
40
|
checkAccessToken(chainId: number, accessKeyOverride?: string): Promise<boolean>;
|
|
44
41
|
checkExternalTokenLimitsUSD(chainId: number, tokenAddresses: string[], amounts: bigint[]): Promise<boolean>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../constants/chains.constants.cjs`),t=require(`../../types/external-action.types.cjs`),n=require(`../../types/transactions.types.cjs`),r=require(`../../types/admin.types.cjs`),i=require(`../../types/activities.types.cjs`),a=require(`../../types/transaction.types.cjs`),o=require(`../../types/offscreen.types.cjs`)
|
|
1
|
+
const e=require(`../../constants/chains.constants.cjs`),t=require(`../../types/external-action.types.cjs`),n=require(`../../types/transactions.types.cjs`),r=require(`../../types/admin.types.cjs`),i=require(`../../types/activities.types.cjs`),a=require(`../../types/transaction.types.cjs`),o=require(`../../types/offscreen.types.cjs`),s=require(`../../error-handling/error-codes.constants.cjs`),c=require(`../../functions/web3/etherFunctions.cjs`),l=require(`../../functions/utils/erc20tokenFunctions.cjs`),u=require(`../../functions/utils/caseInsensitive.utils.cjs`),d=require(`../../functions/utils/time.utils.cjs`),f=require(`../../error-handling/customErrors/ErrorWithTx.cjs`),p=require(`../../API/API.cjs`),m=require(`../../error-handling/logger.cjs`),h=require(`../../functions/utils/fees.utils.cjs`),g=require(`../../functions/utils/create-provider.cjs`),_=require(`../../error-handling/get-error.message.cjs`),v=require(`../../functions/pre-transaction/getVolatileTransferAmount.cjs`),y=require(`../../functions/pre-transaction/getFeeStructure.cjs`),b=require(`../../functions/utils/convertEmporiumOpToCallInfo.cjs`),x=require(`../../functions/utils/postToOffscreen.cjs`),S=require(`../../functions/private-wallet/emporium.helpers.cjs`),C=require(`../../functions/auto-deposit-back-helpers/get-tokens-to-deposit-back.cjs`),w=require(`../../functions/auto-deposit-back-helpers/get-gas-token-records.cjs`),T=require(`../../functions/auto-deposit-back-helpers/select-gas-token.cjs`),ee=require(`../../functions/auto-deposit-back-helpers/update-hinkal.cjs`),E=require(`../IndexedDB/activity-db.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 a=g.createJsonRpcProvider(A);await d.waitLittle(A===e.chainIds.ethMainnet?O:D);let f=await C.getTokensToDepositBack(F,N,j,a);if(!f.length){x.postToOffscreen(o.MessagesFromOffscreen.AutoShieldTxStatus,{message:s.transactionErrorCodes.AUTO_SHIELD_SKIPPED});return}let m=h.getGasTokenSymbols(A).map(e=>l.getERC20TokenBySymbol(e,A)).filter(e=>e!==void 0),{prices:_}=await p.API.getTokenPrices(A,m.map(e=>e.erc20TokenAddress)),R=new Map(_.map((e,t)=>[m[t].erc20TokenAddress.toLowerCase(),e])),z=f.map(({token:e})=>e),B=f.map(({balance:e})=>e),V=z.map(({erc20TokenAddress:e})=>e),H=S.createTransaferEmporiumOpsBatch(k,A,V,await v.modifyVolatileTokenAmountChanges(A,z,B,j)),U=await y.getFeeStructure(A,N,V,t.ExternalActionId.Emporium,H.map(e=>b.convertEmporiumOpToCallInfo(e,j,A))),{flatFee:W}=U??{},G=l.getERC20Token(U.feeToken,A);if(!G)return;let K=c.getAmountInToken(G,W),q=(R.get(G.erc20TokenAddress.toLowerCase())??0)*Number(K),J=await T.selectGasToken(N,q,A,z,H,await w.getGasTokenRecords(m,A,k,j,a,R),U,V,j);if(!J)return;let{feeToken:Y,feeStructure:X}=J??{};if(P&&Number(P)<q){x.postToOffscreen(o.MessagesFromOffscreen.AutoShieldTxStatus,{message:s.gasErrorCodes.GAS_PRICE_EXCEEDS_AUTOSHIELD_LIMIT});return}let Z=z.findIndex(e=>u.caseInsensitiveEqual(e.erc20TokenAddress,Y));Z!==-1&&(B[Z]-=X?.flatFee??0n);let{hinkalAddress:Q}=e.networkRegistry[A].contractData,$={activityType:i.ActivityTypes.AUTO_SHIELD,chainId:A,from:j,to:Q,gasInDollar:q.toString(),tokensReceive:z.map((e,t)=>({amount:c.getAmountInToken(e,B[t]),token:e}))};L=await E.activityStorage.saveTxRequest($),x.postToOffscreen(o.MessagesFromOffscreen.AutoShieldTxStatus,{status:n.TransactionStatus.Loading}),ee.updateHinkal(I,A,k);let te={id:0,success:!0,txHash:await k.actionReceive(z,B,Y,X,M,r.AdminTransactionType.AutoShield)};await E.activityStorage.updatePendingTransactions(te,L),x.postToOffscreen(o.MessagesFromOffscreen.AutoShieldTxStatus,{status:n.TransactionStatus.Confirmed,activityRequest:$})}catch(e){let t;e instanceof f.ErrorWithRelayerTransaction&&(t=e.txHash);let r={error:e,id:0,success:!1,...t?{erroredTx:t}:{}};L&&await E.activityStorage.updatePendingTransactions(r,L),x.postToOffscreen(o.MessagesFromOffscreen.AutoShieldTxStatus,{status:n.TransactionStatus.Failed,error:_.getErrorMessageFromTransactionRequest(e,a.TransactionRequestType.ReceiveFromShieldedAccount)}),m.Logger.error(`Error in auto deposit back:`,e)}};exports.handleAutoDepositBack=k;
|
|
@@ -5,7 +5,6 @@ import { AdminTransactionType as i } from "../../types/admin.types.mjs";
|
|
|
5
5
|
import { ActivityTypes as a } from "../../types/activities.types.mjs";
|
|
6
6
|
import { TransactionRequestType as o } from "../../types/transaction.types.mjs";
|
|
7
7
|
import { MessagesFromOffscreen as s } from "../../types/offscreen.types.mjs";
|
|
8
|
-
import "../../types/index.mjs";
|
|
9
8
|
import { gasErrorCodes as c, transactionErrorCodes as l } from "../../error-handling/error-codes.constants.mjs";
|
|
10
9
|
import { getAmountInToken as u } from "../../functions/web3/etherFunctions.mjs";
|
|
11
10
|
import { getERC20Token as d, getERC20TokenBySymbol as f } from "../../functions/utils/erc20tokenFunctions.mjs";
|
|
@@ -17,7 +16,6 @@ import { Logger as _ } from "../../error-handling/logger.mjs";
|
|
|
17
16
|
import { getGasTokenSymbols as ee } from "../../functions/utils/fees.utils.mjs";
|
|
18
17
|
import { createJsonRpcProvider as v } from "../../functions/utils/create-provider.mjs";
|
|
19
18
|
import { getErrorMessageFromTransactionRequest as y } from "../../error-handling/get-error.message.mjs";
|
|
20
|
-
import "../../error-handling/index.mjs";
|
|
21
19
|
import { modifyVolatileTokenAmountChanges as b } from "../../functions/pre-transaction/getVolatileTransferAmount.mjs";
|
|
22
20
|
import { getFeeStructure as x } from "../../functions/pre-transaction/getFeeStructure.mjs";
|
|
23
21
|
import { convertEmporiumOpToCallInfo as S } from "../../functions/utils/convertEmporiumOpToCallInfo.mjs";
|
|
@@ -27,9 +25,7 @@ import { getTokensToDepositBack as T } from "../../functions/auto-deposit-back-h
|
|
|
27
25
|
import { getGasTokenRecords as E } from "../../functions/auto-deposit-back-helpers/get-gas-token-records.mjs";
|
|
28
26
|
import { selectGasToken as D } from "../../functions/auto-deposit-back-helpers/select-gas-token.mjs";
|
|
29
27
|
import { updateHinkal as O } from "../../functions/auto-deposit-back-helpers/update-hinkal.mjs";
|
|
30
|
-
import "../../functions/index.mjs";
|
|
31
28
|
import { activityStorage as k } from "../IndexedDB/activity-db.mjs";
|
|
32
|
-
import "../IndexedDB/index.mjs";
|
|
33
29
|
//#region libs/shared/common/src/data-structures/Hinkal/handleAutoDepositBack.ts
|
|
34
30
|
var te = 3 * 1e3, ne = 13 * 1e3, A = async (A, j, M, N, P, F, I, L) => {
|
|
35
31
|
if (!M || I.length === 0) return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../functions/utils/tron.utils.cjs`),n=require(`../../functions/utils/create-provider.cjs`);
|
|
1
|
+
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../functions/utils/tron.utils.cjs`),n=require(`../../functions/utils/create-provider.cjs`);let r=require(`ethers`);var i=async(e,t,n)=>await e.checkTokenRegistry(t,n),a=t=>{let i=e.networkRegistry[t].contractData,a=n.createJsonRpcProvider(t);if(!i.hinkalHelperAddress||!i.hinkalHelperABI)throw Error(`hinkal helpercontract data not found`);return new r.ethers.Contract(i.hinkalHelperAddress,i.hinkalHelperABI,a)},o=async(n,r,i)=>{let a=t.createTronWeb(i),{contractData:o}=e.networkRegistry[i],{hinkalHelperAddress:s,hinkalHelperABI:c}=o;if(!s||!c)throw Error(`hinkal helper contract data not found`);let l=a.contract(c,t.evmHexToTronBase58Address(s)),u=n.map(t.evmHexToTronBase58Address);return!!await l.checkTokenRegistry(u,r.map(String)).call()};exports.createHinkalHelperFromData=a,exports.hinkalCheckTokenRegistry=i,exports.hinkalCheckTronTokenRegistry=o;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { networkRegistry as e } from "../../constants/chains.constants.mjs";
|
|
2
2
|
import { createTronWeb as t, evmHexToTronBase58Address as n } from "../../functions/utils/tron.utils.mjs";
|
|
3
3
|
import { createJsonRpcProvider as r } from "../../functions/utils/create-provider.mjs";
|
|
4
|
-
import "../../functions/utils/index.mjs";
|
|
5
4
|
import { ethers as i } from "ethers";
|
|
6
5
|
//#region libs/shared/common/src/data-structures/Hinkal/hinkalCheckTokenRegistry.ts
|
|
7
6
|
var a = async (e, t, n) => await e.checkTokenRegistry(t, n), o = (t) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/ethereum-network.types.cjs`),r=require(`../../types/external-action.types.cjs`),i=require(`../../types/admin.types.cjs`),a=require(`../../error-handling/error-codes.constants.cjs`),o=require(`../../functions/utils/caseInsensitive.utils.cjs`),s=require(`../crypto-keys/keys.cjs`),c=require(`../../functions/utils/time.utils.cjs`),l=require(`../utxo/Utxo.cjs`),u=require(`../../functions/utils/tron.utils.cjs`),d=require(`../../functions/utils/token-check.utils.cjs`),f=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),p=require(`../../functions/pre-transaction/constructAdminData.cjs`),m=require(`../../functions/pre-transaction/getFeeStructure.cjs`),h=require(`../../functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs`),g=require(`../../functions/pre-transaction/getSignatureDataForTransact.cjs`),_=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`)
|
|
1
|
+
const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/ethereum-network.types.cjs`),r=require(`../../types/external-action.types.cjs`),i=require(`../../types/admin.types.cjs`),a=require(`../../error-handling/error-codes.constants.cjs`),o=require(`../../functions/utils/caseInsensitive.utils.cjs`),s=require(`../crypto-keys/keys.cjs`),c=require(`../../functions/utils/time.utils.cjs`),l=require(`../utxo/Utxo.cjs`),u=require(`../../functions/utils/tron.utils.cjs`),d=require(`../../functions/utils/token-check.utils.cjs`),f=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),p=require(`../../functions/pre-transaction/constructAdminData.cjs`),m=require(`../../functions/pre-transaction/getFeeStructure.cjs`),h=require(`../../functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs`),g=require(`../../functions/pre-transaction/getSignatureDataForTransact.cjs`),_=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`),v=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),y=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`);var b=async(b,x,S,C,w)=>{let T=d.validateAndGetChainId([x]),ee=e.isTronLike(T),E=x.erc20TokenAddress,D=u.addressToHexFormat(await b.getEthereumAddressByChain(T));if(!o.caseInsensitiveEqual(E,S.erc20TokenAddress))throw Error(`Off-chain UTXO token mismatch`);if(!S.shieldedPrivateKey)throw Error(`Claimable UTXO shieldedPrivateKey is missing`);let O=new s.UserKeys(void 0,S.shieldedPrivateKey),k=b.getRecipientInfo(),A=l.Utxo.createFrom(S,{shieldedPrivateKey:O.getShieldedPrivateKey()}),j=new l.Utxo({amount:0n,erc20TokenAddress:A.erc20TokenAddress,mintAddress:A.mintAddress,tokenId:A.tokenId,shieldedPrivateKey:O.getShieldedPrivateKey()}),M=[E],N=C??await m.getFeeStructure(T,E,[E],r.ExternalActionId.Transact);if(!o.caseInsensitiveEqual(N.feeToken,E))throw Error(`Claim fee token mismatch: fee must be paid from claimed UTXO token`);let P=N.variableRate>0n?N.variableRate:t.HINKAL_PRIVATE_SEND_VARIABLE_RATE;if(A.amount<=N.flatFee)throw Error(a.transactionErrorCodes.INSUFFICIENT_FUNDS_TO_TRANSACT);let F=A.amount-N.flatFee,I=F*P/10000n,L=F-I;if(L<=0n)throw Error(a.transactionErrorCodes.RECIPIENT_AMOUNT_INVALID);let R={feeToken:N.feeToken,flatFee:N.flatFee+I,variableRate:0n},z=[-A.amount],B=await b.getRandomRelay(T,!0);if(!B)throw Error(a.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let V={externalActionId:0n,externalAddress:B??D,externalActionMetadata:`0x00`},H=[[A,j]],U=[],W=c.getCurrentTimeInSeconds().toString(),{outputUtxos:G}=f.outputUtxoProcessing(O,H[0],z[0],W,A.tokenId,!0,k,L);U.push(G);let{patchAccessTokenMerkleTree:K,kycRequired:q,hasAccessToken:J}=await h.shouldPatchAccessTokenMerkleTree(b,T,M,z,O.getAccessKey()),Y=await g.getSignatureDataForTransact(T,D,O,q,J),X=`swapperM${z.length}x${H[0].length}x2`,[{zkCallData:Z,circomData:Q,dimData:$},te]=await Promise.all([v.constructZkProof(b.merkleTreeHinkalByChain[T],b.merkleTreeAccessTokenByChain[T],H,U,O,X,V.externalActionId,V.externalAddress,V.externalActionMetadata,b.generateProofRemotely,B,T,void 0,void 0,void 0,K,void 0,R,b.getContractWithFetcher(T,n.ContractType.HinkalHelperContract),Y),_.buildCommitmentValidationData(T,O,M,H)]),ne=await u.reorderZkCallData(ee,Z,$,Q);return y.transactCallRelayer(T,Z,$,Q,te,void 0,void 0,p.constructAdminData(w??i.AdminTransactionType.ClaimUtxo,T,M,z,D),ne)};exports.hinkalClaimUtxo=b;
|
|
@@ -16,7 +16,6 @@ import { getFeeStructure as h } from "../../functions/pre-transaction/getFeeStru
|
|
|
16
16
|
import { shouldPatchAccessTokenMerkleTree as g } from "../../functions/pre-transaction/shouldPatchAccessTokenMerkleTree.mjs";
|
|
17
17
|
import { getSignatureDataForTransact as _ } from "../../functions/pre-transaction/getSignatureDataForTransact.mjs";
|
|
18
18
|
import { buildCommitmentValidationData as ee } from "../../functions/pre-transaction/buildCommitmentValidationData.mjs";
|
|
19
|
-
import "../../functions/pre-transaction/index.mjs";
|
|
20
19
|
import { constructZkProof as v } from "../../functions/snarkjs/constructGeneralZkProof.mjs";
|
|
21
20
|
import { transactCallRelayer as y } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
|
|
22
21
|
//#region libs/shared/common/src/data-structures/Hinkal/hinkalClaimUtxo.ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../constants/protocol.constants.cjs`),t=require(`../../types/ethereum-network.types.cjs`),n=require(`../../types/admin.types.cjs`)
|
|
1
|
+
const e=require(`../../constants/protocol.constants.cjs`),t=require(`../../types/ethereum-network.types.cjs`),n=require(`../../types/admin.types.cjs`),r=require(`../../error-handling/error-codes.constants.cjs`),i=require(`../../functions/utils/time.utils.cjs`),a=require(`../utxo/Utxo.cjs`),o=require(`../../functions/utils/addresses.cjs`),s=require(`../../functions/utils/token-check.utils.cjs`),c=require(`../../functions/web3/events/getShieldedBalance.cjs`),l=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),u=require(`../../functions/pre-transaction/constructAdminData.cjs`),d=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`),f=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),p=require(`../../functions/web3/functionCalls/transactCallDirect.cjs`),m=require(`../../API/admin-calls.cjs`);var h=async(e,t,n,r)=>{let i=await e.getEthereumAddressByChain(t),{patchAccessTokenMerkleTree:a,signatureData:o}=await d.getKycAndSignatureData(e,t,n,r,i);return{signatureData:o,externalActionData:{externalActionId:0n,externalAddress:i,externalActionMetadata:`0x00`},contractTransaction:void 0,contractToApprove:void 0,patchAccessTokenMerkleTree:a}},g=async(e,t,n,r)=>{let a=[...await c.addPaddingToUtxos(e,t,n,r)],o=[],s=i.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=l.outputUtxoProcessing(e.userKeys,a[t],r[t],s);o.push(n)}return{inputUtxosArray:a,outputUtxosArray:o}},_=async(r,i,a,o=!0,c=!1)=>{let l=s.validateAndGetChainId(i),d=i.map(e=>e.erc20TokenAddress),[{externalActionData:_,contractTransaction:v,contractToApprove:y,patchAccessTokenMerkleTree:b,signatureData:x},{inputUtxosArray:S,outputUtxosArray:C}]=await Promise.all([h(r,l,d,a),g(r,l,d,a)]),w=`swapperM${a.length.toString()}x${S[0].length}x1`,{zkCallData:T,circomData:E,dimData:D}=await f.constructZkProof(r.merkleTreeHinkalByChain[l],r.merkleTreeAccessTokenByChain[l],S,C,r.userKeys,w,_.externalActionId,_.externalAddress,_.externalActionMetadata,r.generateProofRemotely,e.zeroAddress,l,void 0,void 0,void 0,b,void 0,void 0,r.getContractWithFetcher(l,t.ContractType.HinkalHelperContract),x),O=await p.transactCallDirect(r,l,a,i,T,E,D,y,v,o,c);return m.emitTxPublicData(u.constructAdminData(n.AdminTransactionType.Onboarding,l,d,a,await r.getEthereumAddress())),O},v=async(i,c,l,d,g=!0,_=!1)=>{let v=s.validateAndGetChainId(c),y=c.map(e=>e.erc20TokenAddress),[b,x,S]=d.split(`,`);if(!o.isValidPrivateAddress(d))throw Error(r.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);let C=y.map(e=>[new a.Utxo({amount:0n,erc20TokenAddress:e,shieldedPrivateKey:i.userKeys.getShieldedPrivateKey()}),new a.Utxo({amount:0n,erc20TokenAddress:e,shieldedPrivateKey:i.userKeys.getShieldedPrivateKey()})]),w=`swapperM${l.length.toString()}x${C[0].length}x1`,T=y.map((e,t)=>[new a.Utxo({amount:l[t],erc20TokenAddress:e,randomization:BigInt(b),stealthAddress:x,encryptionKey:S})]),{externalActionData:E,contractTransaction:D,contractToApprove:O,patchAccessTokenMerkleTree:k}=await h(i,v,y,l),{zkCallData:A,circomData:j,dimData:M}=await f.constructZkProof(i.merkleTreeHinkalByChain[v],i.merkleTreeAccessTokenByChain[v],C,T,i.userKeys,w,E.externalActionId,E.externalAddress,E.externalActionMetadata,i.generateProofRemotely,e.zeroAddress,v,void 0,void 0,void 0,k,void 0,void 0,i.getContractWithFetcher(v,t.ContractType.HinkalHelperContract)),N=await p.transactCallDirect(i,v,l,c,A,j,M,O,D,g,_);return m.emitTxPublicData(u.constructAdminData(n.AdminTransactionType.PaymentLink,v,y,l,await i.getEthereumAddress())),N};exports.hinkalDeposit=_,exports.hinkalDepositForOther=v;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { zeroAddress as e } from "../../constants/protocol.constants.mjs";
|
|
2
2
|
import { ContractType as t } from "../../types/ethereum-network.types.mjs";
|
|
3
3
|
import { AdminTransactionType as n } from "../../types/admin.types.mjs";
|
|
4
|
-
import "../../types/index.mjs";
|
|
5
4
|
import { transactionErrorCodes as r } from "../../error-handling/error-codes.constants.mjs";
|
|
6
5
|
import { getCurrentTimeInSeconds as i } from "../../functions/utils/time.utils.mjs";
|
|
7
6
|
import { Utxo as a } from "../utxo/Utxo.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/ethereum-network.types.cjs`),r=require(`../../types/external-action.types.cjs`),i=require(`../../types/scheduled-transactions.types.cjs`)
|
|
1
|
+
const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/ethereum-network.types.cjs`),r=require(`../../types/external-action.types.cjs`),i=require(`../../types/scheduled-transactions.types.cjs`),a=require(`../../error-handling/error-codes.constants.cjs`),o=require(`../../functions/utils/erc20tokenFunctions.cjs`),s=require(`../../functions/utils/caseInsensitive.utils.cjs`),c=require(`../../functions/utils/time.utils.cjs`),l=require(`../utxo/Utxo.cjs`),u=require(`../../functions/utils/addresses.cjs`),d=require(`../../API/API.cjs`),f=require(`../../functions/utils/token-check.utils.cjs`),p=require(`../../functions/utils/fees.utils.cjs`),m=require(`../../functions/pre-transaction/constructAdminData.cjs`),h=require(`../../functions/pre-transaction/getFeeStructure.cjs`),g=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`),_=require(`../../functions/pre-transaction/waitForDepositedUtxosInMerkleTree.cjs`),v=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`),y=require(`../../constants/addresses.constants.cjs`),b=require(`../../functions/utils/convertEmporiumOpToCallInfo.cjs`),x=require(`../../functions/private-wallet/emporium.helpers.cjs`),S=require(`../../functions/snarkjs/constructEmporiumProof.cjs`),C=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),w=require(`../../API/deposit-and-withdraw-status-calls.cjs`),T=require(`./hinkalDepositOnChainUtxos.cjs`);var E=async(o,u,f,h,_,b,T,E,D,O,k)=>{if(h.length===0)throw Error(`No recipients to bridge`);let A=f.erc20TokenAddress,{contractData:j}=e.networkRegistry[u],{emporiumAddress:M}=j;if(!M)throw Error(`No Emporium Address`);let N=y.SWAP_ROUTER_ADDRESSES[r.ExternalActionId.Lifi][u];if(!N)throw Error(`LIFI not configured for chain ${u}`);let P=await o.getRandomRelay(u);if(!P)throw Error(a.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let F=await o.getEthereumAddressByChain(u),I=c.getCurrentTimeInSeconds().toString(),L=o.generateProofRemotely?5:1,R=[];for(let e=0;e<h.length;e+=L){let r=h.slice(e,e+L),i=await Promise.all(r.map(async({utxo:e,nativeUtxo:r,bridgeAmount:i,quote:a,temporarySubAccount:c,recipientAddress:f})=>{await d.API.addTemporaryWalletNonce(u,b,c.index);let h=a.nativeFee>0n&&!s.caseInsensitiveEqual(A,t.zeroAddress),y=[A],C=[-e.amount],w=[!1],T=new l.Utxo({amount:0n,erc20TokenAddress:A,shieldedPrivateKey:o.userKeys.getShieldedPrivateKey(),timeStamp:I,tokenId:0}),E=[[e,T]],D=[[T]];if(h&&r){let e=new l.Utxo({amount:0n,erc20TokenAddress:t.zeroAddress,shieldedPrivateKey:o.userKeys.getShieldedPrivateKey(),timeStamp:I,tokenId:0});y.push(t.zeroAddress),C.push(-r.amount),w.push(!1),E.push([r,e]),D.push([e])}let k=x.createLifiBridgeOps(o,u,c.ethAddress,N,A,e.amount,i,a),{patchAccessTokenMerkleTree:j,signatureData:L}=await g.getKycAndSignatureData(o,u,y,C,F),R=p.calculateTotalFee(i,_),z={feeToken:_.feeToken,flatFee:R,variableRate:0n},B=m.constructAdminData(O,u,y,[-e.amount],F),[{zkCallData:V,circomData:H,dimData:U,authorizationData:W},G]=await Promise.all([S.constructEmporiumProof(o.merkleTreeHinkalByChain[u],o.merkleTreeAccessTokenByChain[u],y,y.map(()=>0),E,D,o.userKeys,y.length,E[0].length,M,k,o.generateProofRemotely,P??t.zeroAddress,u,w,void 0,c.privateKey,j,void 0,z,o.getContractWithFetcher(u,n.ContractType.HinkalHelperContract),L),v.buildCommitmentValidationData(u,o.userKeys,y,E)]);return{zkCallData:V,dimData:U,circomData:H,commitmentValidationData:G,authorizationData:W,recipientAddress:f,adminData:B}}));R.push(...i)}await w.safeUpdateDepositAndWithdrawStatus({id:T,chainId:u,hashedEthereumAddress:b,phase:i.DepositAndWithdrawPhase.BEFORE_SCHEDULE_WITHDRAW});let z=await C.transactCallRelayerBatch(u,R,b,E,D,k);return await w.safeUpdateDepositAndWithdrawStatus({id:T,chainId:u,hashedEthereumAddress:b,phase:i.DepositAndWithdrawPhase.AFTER_SCHEDULE_WITHDRAW,scheduleId:z}),z},D=async(e,n,i,a,c,l,d,p,m=!0)=>{let g=n.erc20TokenAddress,v=f.validateAndGetChainId([n]),S=p?u.hashString(p):void 0,C=u.hashEthereumAddress(await e.getEthereumAddressByChain(v)),w=y.SWAP_ROUTER_ADDRESSES[r.ExternalActionId.Lifi][v];if(!w)throw Error(`LIFI router not configured`);let D;if(c)D=c;else{let n=i[0],a=x.createLifiBridgeOps(e,v,n.temporarySubAccount.ethAddress,w,g,n.bridgeAmount,n.bridgeAmount,n.quote).map(e=>b.convertEmporiumOpToCallInfo(e,n.temporarySubAccount.ethAddress,v));D=await h.getFeeStructure(v,g,[g],r.ExternalActionId.Emporium,a,t.PAY_SEND_VARIABLE_RATE)}let O={feeToken:D.feeToken,flatFee:0n,variableRate:0n},k=i.reduce((e,t)=>e+t.quote.nativeFee,0n)>0n&&!s.caseInsensitiveEqual(g,t.zeroAddress),A=i.map(e=>e.bridgeAmount),j=i.map(e=>e.recipientAddress),{userDepositedUtxos:M,statusId:N,depositTxHash:P}=await T.hinkalDepositOnChainUtxos(e,v,n,A,j,D,C,m),F=[];if(k){let n=o.getERC20Token(t.zeroAddress,v);if(!n)throw Error(`No native token`);let{userDepositedUtxos:r}=await T.hinkalDepositOnChainUtxos(e,v,n,i.map(e=>e.quote.nativeFee),j,O,C,m);F=r}return await _.waitForDepositedUtxosInMerkleTree(e,v,[...M,...F]),await E(e,v,n,i.map((e,t)=>({...e,utxo:M[t].utxo,nativeUtxo:k?F[t]?.utxo:void 0})),D,C,N,a,l,d,S),P};exports.hinkalDepositAndBridge=D;
|
|
@@ -3,7 +3,6 @@ import { PAY_SEND_VARIABLE_RATE as t, zeroAddress as n } from "../../constants/p
|
|
|
3
3
|
import { ContractType as r } from "../../types/ethereum-network.types.mjs";
|
|
4
4
|
import { ExternalActionId as i } from "../../types/external-action.types.mjs";
|
|
5
5
|
import { DepositAndWithdrawPhase as a } from "../../types/scheduled-transactions.types.mjs";
|
|
6
|
-
import "../../types/index.mjs";
|
|
7
6
|
import { transactionErrorCodes as o } from "../../error-handling/error-codes.constants.mjs";
|
|
8
7
|
import { getERC20Token as s } from "../../functions/utils/erc20tokenFunctions.mjs";
|
|
9
8
|
import { caseInsensitiveEqual as c } from "../../functions/utils/caseInsensitive.utils.mjs";
|
|
@@ -18,16 +17,13 @@ import { getFeeStructure as _ } from "../../functions/pre-transaction/getFeeStru
|
|
|
18
17
|
import { getKycAndSignatureData as v } from "../../functions/pre-transaction/getKycAndSignatureData.mjs";
|
|
19
18
|
import { waitForDepositedUtxosInMerkleTree as y } from "../../functions/pre-transaction/waitForDepositedUtxosInMerkleTree.mjs";
|
|
20
19
|
import { buildCommitmentValidationData as b } from "../../functions/pre-transaction/buildCommitmentValidationData.mjs";
|
|
21
|
-
import "../../functions/pre-transaction/index.mjs";
|
|
22
20
|
import { SWAP_ROUTER_ADDRESSES as x } from "../../constants/addresses.constants.mjs";
|
|
23
21
|
import { convertEmporiumOpToCallInfo as S } from "../../functions/utils/convertEmporiumOpToCallInfo.mjs";
|
|
24
|
-
import "../../functions/utils/index.mjs";
|
|
25
22
|
import { createLifiBridgeOps as C } from "../../functions/private-wallet/emporium.helpers.mjs";
|
|
26
23
|
import { constructEmporiumProof as w } from "../../functions/snarkjs/constructEmporiumProof.mjs";
|
|
27
24
|
import { transactCallRelayerBatch as T } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
|
|
28
25
|
import { safeUpdateDepositAndWithdrawStatus as E } from "../../API/deposit-and-withdraw-status-calls.mjs";
|
|
29
26
|
import { hinkalDepositOnChainUtxos as D } from "./hinkalDepositOnChainUtxos.mjs";
|
|
30
|
-
import "../../functions/index.mjs";
|
|
31
27
|
//#region libs/shared/common/src/data-structures/Hinkal/hinkalDepositAndBridge.ts
|
|
32
28
|
var O = async (t, s, d, f, m, _, y, S, D, O, k) => {
|
|
33
29
|
if (f.length === 0) throw Error("No recipients to bridge");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/ethereum-network.types.cjs`),r=require(`../../types/external-action.types.cjs`),i=require(`../../types/scheduled-transactions.types.cjs`)
|
|
1
|
+
const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/ethereum-network.types.cjs`),r=require(`../../types/external-action.types.cjs`),i=require(`../../types/scheduled-transactions.types.cjs`),a=require(`../../error-handling/error-codes.constants.cjs`),o=require(`../../functions/utils/caseInsensitive.utils.cjs`),s=require(`../../functions/utils/time.utils.cjs`),c=require(`../utxo/Utxo.cjs`),l=require(`../../functions/utils/addresses.cjs`),u=require(`../../functions/utils/tron.utils.cjs`),d=require(`../../functions/utils/token-check.utils.cjs`),f=require(`../../functions/utils/fees.utils.cjs`),p=require(`../../functions/pre-transaction/constructAdminData.cjs`),m=require(`../../functions/pre-transaction/getFeeStructure.cjs`),h=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`),g=require(`../../functions/pre-transaction/waitForDepositedUtxosInMerkleTree.cjs`),_=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`),v=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),y=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),b=require(`../../API/deposit-and-withdraw-status-calls.cjs`),x=require(`./hinkalDepositOnChainUtxos.cjs`);var S=async(r,l,d,m,g,x,S,C,w,T,E,D)=>{let O=e.isTronLike(l);if(m.length===0)throw Error(`userDepositedUtxos must not be empty`);let k=d.erc20TokenAddress,[A,j]=await Promise.all([r.getRandomRelay(l),r.getEthereumAddressByChain(l)]);if(!A)throw Error(a.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let M=s.getCurrentTimeInSeconds().toString(),N=r.generateProofRemotely&&!O?5:1,P=[],F=u.addressToHexFormat(j);for(let e=0;e<m.length;e+=N){let i=m.slice(e,e+N),a=await Promise.all(i.map(async({recipientAddress:i,utxo:a})=>{let s=u.addressToHexFormat(i),d=[-a.amount],m=new c.Utxo({amount:0n,erc20TokenAddress:k,shieldedPrivateKey:r.userKeys.getShieldedPrivateKey(),timeStamp:M,tokenId:0}),y=[[o.caseInsensitiveEqual(a.erc20TokenAddress,k)?a:c.Utxo.createFrom(a,{erc20TokenAddress:k}),m]],b=[[m]],S=`swapperM1x${y[0].length}x1`,{patchAccessTokenMerkleTree:C,signatureData:w}=await h.getKycAndSignatureData(r,l,[k],d,F),T={externalActionId:0n,externalAddress:s,externalActionMetadata:`0x00`},D=p.constructAdminData(E,l,[k],[-a.amount],F),j=f.calculateTotalFee(g[e],x),N={feeToken:x.feeToken,flatFee:j,variableRate:0n},[{zkCallData:P,circomData:I,dimData:L},R]=await Promise.all([v.constructZkProof(r.merkleTreeHinkalByChain[l],r.merkleTreeAccessTokenByChain[l],y,b,r.userKeys,S,T.externalActionId,T.externalAddress,T.externalActionMetadata,r.generateProofRemotely,A??t.zeroAddress,l,void 0,void 0,void 0,C,void 0,N,r.getContractWithFetcher(l,n.ContractType.HinkalHelperContract),w),_.buildCommitmentValidationData(l,r.userKeys,[k],y)]);return{zkCallData:P,dimData:L,circomData:I,commitmentValidationData:R,adminData:D,recipientAddress:i,tronProofSignature:await u.reorderZkCallData(O,P,L,I)}}));P.push(...a)}await b.safeUpdateDepositAndWithdrawStatus({id:C,chainId:l,hashedEthereumAddress:S,phase:i.DepositAndWithdrawPhase.BEFORE_SCHEDULE_WITHDRAW});let I=await y.transactCallRelayerBatch(l,P,S,w,T,D);return await b.safeUpdateDepositAndWithdrawStatus({id:C,chainId:l,hashedEthereumAddress:S,phase:i.DepositAndWithdrawPhase.AFTER_SCHEDULE_WITHDRAW,scheduleId:I}),I},C=async(e,t,n,i,a,o,s,c,f,p=!0)=>{let h=d.validateAndGetChainId([t]),_=f?l.hashString(f):void 0,v=t.erc20TokenAddress,y=l.hashEthereumAddress(u.addressToHexFormat(await e.getEthereumAddressByChain(h))),b=o??await m.getFeeStructure(h,v,[v],r.ExternalActionId.Transact,[],10n),{userDepositedUtxos:C,statusId:w,depositTxHash:T}=await x.hinkalDepositOnChainUtxos(e,h,t,n,i,b,y,p);return await g.waitForDepositedUtxosInMerkleTree(e,h,C),await S(e,h,t,C,n,b,y,w,a,s,c,_),T};exports.hinkalDepositAndWithdraw=C;
|
|
@@ -3,7 +3,6 @@ import { zeroAddress as t } from "../../constants/protocol.constants.mjs";
|
|
|
3
3
|
import { ContractType as n } from "../../types/ethereum-network.types.mjs";
|
|
4
4
|
import { ExternalActionId as r } from "../../types/external-action.types.mjs";
|
|
5
5
|
import { DepositAndWithdrawPhase as i } from "../../types/scheduled-transactions.types.mjs";
|
|
6
|
-
import "../../types/index.mjs";
|
|
7
6
|
import { transactionErrorCodes as a } from "../../error-handling/error-codes.constants.mjs";
|
|
8
7
|
import { caseInsensitiveEqual as o } from "../../functions/utils/caseInsensitive.utils.mjs";
|
|
9
8
|
import { getCurrentTimeInSeconds as s } from "../../functions/utils/time.utils.mjs";
|
|
@@ -17,12 +16,10 @@ import { getFeeStructure as g } from "../../functions/pre-transaction/getFeeStru
|
|
|
17
16
|
import { getKycAndSignatureData as _ } from "../../functions/pre-transaction/getKycAndSignatureData.mjs";
|
|
18
17
|
import { waitForDepositedUtxosInMerkleTree as v } from "../../functions/pre-transaction/waitForDepositedUtxosInMerkleTree.mjs";
|
|
19
18
|
import { buildCommitmentValidationData as y } from "../../functions/pre-transaction/buildCommitmentValidationData.mjs";
|
|
20
|
-
import "../../functions/pre-transaction/index.mjs";
|
|
21
19
|
import { constructZkProof as b } from "../../functions/snarkjs/constructGeneralZkProof.mjs";
|
|
22
20
|
import { transactCallRelayerBatch as x } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
|
|
23
21
|
import { safeUpdateDepositAndWithdrawStatus as S } from "../../API/deposit-and-withdraw-status-calls.mjs";
|
|
24
22
|
import { hinkalDepositOnChainUtxos as C } from "./hinkalDepositOnChainUtxos.mjs";
|
|
25
|
-
import "../../functions/index.mjs";
|
|
26
23
|
//#region libs/shared/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.ts
|
|
27
24
|
var w = async (r, l, u, p, g, v, C, w, T, E, D, O) => {
|
|
28
25
|
let k = e(l);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/ethereum-network.types.cjs`),r=require(`../../types/external-action.types.cjs`),i=require(`../../types/admin.types.cjs`),a=require(`../../types/scheduled-transactions.types.cjs`)
|
|
1
|
+
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/ethereum-network.types.cjs`),r=require(`../../types/external-action.types.cjs`),i=require(`../../types/admin.types.cjs`),a=require(`../../types/scheduled-transactions.types.cjs`),o=require(`../../functions/utils/tron.utils.cjs`),s=require(`../../functions/web3/events/getShieldedBalance.cjs`),c=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),l=require(`../../functions/utils/fees.utils.cjs`),u=require(`../../functions/pre-transaction/constructAdminData.cjs`),d=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`),f=require(`../../functions/utils/getUtxosFromReceipt.utils.cjs`),p=require(`../../functions/utils/tx-confirmation.utils.cjs`),m=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),h=require(`../../functions/web3/functionCalls/transactCallDirect.cjs`),g=require(`../../API/admin-calls.cjs`),_=require(`../../functions/web3/functionCalls/transactCallDirectTron.cjs`),v=require(`../../API/deposit-and-withdraw-status-calls.cjs`);let y=require(`ethers`);var b=async(e,t,n,r)=>{let i=[...await s.addPaddingToUtxos(e,t,n,r)],a=[];for(let t=0;t<i.length;t+=1){let{outputUtxos:n}=c.outputUtxoProcessing(e.userKeys,i[t],r[t]);a.push(n)}return{inputUtxosArray:i,outputUtxosArray:a}},x=async(s,c,x,S,C,w,T,E=!0)=>{let D=e.isTronLike(c),O=x.erc20TokenAddress,k=o.addressToHexFormat(await s.getEthereumAddressByChain(c)),A=S.map(e=>e+l.calculateTotalFee(e,w)),j=A.reduce((e,t)=>e+t,0n),M=[O],N=[0n],P=[!0],F=y.ethers.AbiCoder.defaultAbiCoder().encode([`uint256[]`],[A]),{hinkalWrapperAddress:I,hinkalWrapperABI:L,depositOnChainUtxosExternalActionAddress:R,depositOnChainUtxosExternalActionABI:z}=e.networkRegistry[c].contractData;if(!I||!L||!R||!z)throw Error(`contract data not set in networkRegistry`);let[{patchAccessTokenMerkleTree:B,signatureData:V},{inputUtxosArray:H,outputUtxosArray:U}]=await Promise.all([d.getKycAndSignatureData(s,c,M,N,k),b(s,c,M,N)]),{zkCallData:W,circomData:G,dimData:K}=await m.constructZkProof(s.merkleTreeHinkalByChain[c],s.merkleTreeAccessTokenByChain[c],H,U,s.userKeys,`swapperM1x${H[0].length}x1`,r.ExternalActionId.DepositOnChainUtxos,R,F,s.generateProofRemotely,t.zeroAddress,c,P,void 0,void 0,B,void 0,void 0,s.getContractWithFetcher(c,n.ContractType.HinkalHelperContract),V,I),q=(await v.updateDepositAndWithdrawStatus({chainId:c,hashedEthereumAddress:T,phase:a.DepositAndWithdrawPhase.BEFORE_DEPOSIT})).id??void 0,J;if(D){let e=s.getTronWeb();J=await _.transactCallDirectTron(s,c,j,x,W,G,K,e.contract(z,o.evmHexToTronBase58Address(R)),e.contract(L,o.evmHexToTronBase58Address(I)),E)}else{let e=s.getContractWithSigner(c,n.ContractType.HinkalWrapper);J=(await h.transactCallDirect(s,c,j,x,W,G,K,s.getContractWithSigner(c,n.ContractType.DepositOnChainUtxos),e,E)).hash}if(!J)throw Error(`Deposit transaction hash not found`);let Y=await p.waitForEthereumTransactionConfirmation(c,J);await v.safeUpdateDepositAndWithdrawStatus({id:q,chainId:c,hashedEthereumAddress:T,phase:a.DepositAndWithdrawPhase.AFTER_DEPOSIT,depositTxHash:J});let X=f.getOnChainUtxosFromReceipt(Y,s,c,O);if(X.length===0)throw Error(`No UTXOs found in deposit transaction. Check contract address and ABI.`);let Z=[],Q=[...X];return C.forEach((e,t)=>{let n=A[t],r=Q.find(e=>e.amount===n);if(!r)throw Error(`Could not find newly created UTXO with amount ${n} for recipient ${e}.`);Z.push({recipientAddress:e,utxo:r});let i=Q.indexOf(r);Q.splice(i,1)}),g.emitTxPublicData(u.constructAdminData(i.AdminTransactionType.DepositOnChainUtxos,c,M,[j],k)),{userDepositedUtxos:Z,statusId:q,depositTxHash:J}};exports.hinkalDepositOnChainUtxos=x;
|
|
@@ -4,7 +4,6 @@ import { ContractType as r } from "../../types/ethereum-network.types.mjs";
|
|
|
4
4
|
import { ExternalActionId as i } from "../../types/external-action.types.mjs";
|
|
5
5
|
import { AdminTransactionType as a } from "../../types/admin.types.mjs";
|
|
6
6
|
import { DepositAndWithdrawPhase as o } from "../../types/scheduled-transactions.types.mjs";
|
|
7
|
-
import "../../types/index.mjs";
|
|
8
7
|
import { addressToHexFormat as s, evmHexToTronBase58Address as c } from "../../functions/utils/tron.utils.mjs";
|
|
9
8
|
import { addPaddingToUtxos as l } from "../../functions/web3/events/getShieldedBalance.mjs";
|
|
10
9
|
import { outputUtxoProcessing as u } from "../../functions/pre-transaction/outputUtxoProcessing.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../constants/chains.constants.cjs`),t=require(`../../types/ethereum-network.types.cjs`),n=require(`../../types/external-action.types.cjs`),r=require(`../../types/admin.types.cjs`),i=require(`../../error-handling/error-codes.constants.cjs`),a=require(`../../functions/utils/caseInsensitive.utils.cjs`),o=require(`../../functions/utils/time.utils.cjs`),s=require(`../../functions/utils/addresses.cjs`),c=require(`../../functions/web3/events/getShieldedBalance.cjs`),l=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`)
|
|
1
|
+
const e=require(`../../constants/chains.constants.cjs`),t=require(`../../types/ethereum-network.types.cjs`),n=require(`../../types/external-action.types.cjs`),r=require(`../../types/admin.types.cjs`),i=require(`../../error-handling/error-codes.constants.cjs`),a=require(`../../functions/utils/caseInsensitive.utils.cjs`),o=require(`../../functions/utils/time.utils.cjs`),s=require(`../../functions/utils/addresses.cjs`),c=require(`../../functions/web3/events/getShieldedBalance.cjs`),l=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),u=require(`../../functions/pre-transaction/constructAdminData.cjs`),d=require(`../AccountActions/AccountActions.cjs`),f=require(`../../functions/pre-transaction/recipientUtxoProcessing.cjs`),p=require(`../../functions/pre-transaction/getFeeStructure.cjs`),m=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`),h=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`),g=require(`../../functions/utils/involves-permit2-op.cjs`),_=require(`../../functions/utils/convertEmporiumOpToCallInfo.cjs`),v=require(`../../functions/snarkjs/constructEmporiumProof.cjs`),y=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),b=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`),x=require(`../../functions/pre-transaction/merge-with-fee-structure-emporium.cjs`),S=require(`./handleAutoDepositBack.cjs`);var C=async(e,t,n,r,i)=>{let a=[...await c.addPaddingToUtxos(e,t,n,r)],s=[],u=o.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=l.outputUtxoProcessing(e.userKeys,a[t],r[t],u);s.push(n)}return i&&f.recipientUtxoProcessing(i,s,r,u),{inputUtxosArray:a,outputUtxosArray:s}},w=async(o,c,l,f,w,T,E,D,O,k,A,j=!1,M,N,P)=>{if(P&&!s.isValidPrivateAddress(P.recipientInfo))throw Error(i.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);if(E.length>0&&!D)throw Error(`Subaccount is required for private wallet transactions`);let F=l.map(e=>e.erc20TokenAddress),I=await o.getEthereumAddressByChain(c),L=D?d.AccountActions.getAddressFromSubAccount(c,D):void 0,{contractData:R}=e.networkRegistry[c],{emporiumAddress:z}=R;if(!z)throw Error(`No Emporium Address Provided`);let B=k??await p.getFeeStructure(c,O,F,n.ExternalActionId.Emporium,T.map(e=>_.convertEmporiumOpToCallInfo(e,L??``,c)));for(L?await x.mergeWithFeeStructureEmporium(o,c,L,T,F,f,B,E.find(e=>a.caseInsensitiveEqual(e.token.erc20TokenAddress,B.feeToken))?.amount??0n):b.mergeWithFeeStructure(c,F,f,B);w.length<F.length;)w.push(!1);let[{inputUtxosArray:V,outputUtxosArray:H},U,{patchAccessTokenMerkleTree:W,signatureData:G}]=await Promise.all([C(o,c,F,f,P),A??await o.getRandomRelay(c,!0),m.getKycAndSignatureData(o,c,F,f,I)]);if(!U)throw Error(i.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let K=D?d.AccountActions.getPrivateKeyFromSubAccount(c,D):void 0,[{zkCallData:q,circomData:J,dimData:Y,authorizationData:X},Z]=await Promise.all([v.constructEmporiumProof(o.merkleTreeHinkalByChain[c],o.merkleTreeAccessTokenByChain[c],F,F.map(()=>0),V,H,o.userKeys,f.length,V.length>0?V[0].length:0,z,T,o.generateProofRemotely,U,c,w,void 0,K,W,void 0,B,o.getContractWithFetcher(c,t.ContractType.HinkalHelperContract),G),h.buildCommitmentValidationData(c,o.userKeys,F,V)]),Q=await y.transactCallRelayer(c,q,Y,J,Z,g.uniswapWorkaround(T),X,u.constructAdminData(N,c,E.map(e=>e.token.erc20TokenAddress),E.map(e=>e.amount),I,N===r.AdminTransactionType.PublicSwap?E.map(({token:e})=>e):void 0));return j&&D&&S.handleAutoDepositBack(o,c,L,D,B.feeToken,M,E,J),Q};exports.hinkalPrivateWallet=w;
|
|
@@ -8,14 +8,12 @@ import { getCurrentTimeInSeconds as o } from "../../functions/utils/time.utils.m
|
|
|
8
8
|
import { isValidPrivateAddress as s } from "../../functions/utils/addresses.mjs";
|
|
9
9
|
import { addPaddingToUtxos as c } from "../../functions/web3/events/getShieldedBalance.mjs";
|
|
10
10
|
import { outputUtxoProcessing as l } from "../../functions/pre-transaction/outputUtxoProcessing.mjs";
|
|
11
|
-
import "../../error-handling/index.mjs";
|
|
12
11
|
import { constructAdminData as u } from "../../functions/pre-transaction/constructAdminData.mjs";
|
|
13
12
|
import { AccountActions as d } from "../AccountActions/AccountActions.mjs";
|
|
14
13
|
import { recipientUtxoProcessing as f } from "../../functions/pre-transaction/recipientUtxoProcessing.mjs";
|
|
15
14
|
import { getFeeStructure as p } from "../../functions/pre-transaction/getFeeStructure.mjs";
|
|
16
15
|
import { getKycAndSignatureData as m } from "../../functions/pre-transaction/getKycAndSignatureData.mjs";
|
|
17
16
|
import { buildCommitmentValidationData as h } from "../../functions/pre-transaction/buildCommitmentValidationData.mjs";
|
|
18
|
-
import "../../functions/pre-transaction/index.mjs";
|
|
19
17
|
import { uniswapWorkaround as g } from "../../functions/utils/involves-permit2-op.mjs";
|
|
20
18
|
import { convertEmporiumOpToCallInfo as _ } from "../../functions/utils/convertEmporiumOpToCallInfo.mjs";
|
|
21
19
|
import { constructEmporiumProof as v } from "../../functions/snarkjs/constructEmporiumProof.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../AccountActions/AccountActions.cjs`);
|
|
1
|
+
const e=require(`../AccountActions/AccountActions.cjs`);var t=async(t,n,r,i)=>{let a,o=e.AccountActions.getPrivateKeyFromSubAccount(t,i);if(!o)throw Error(`Private key is not available`);if(r)a=await e.AccountActions.signTypedDataFromPrivateKey(t,o,r.domain,r.types,r.value);else{if(!n)throw Error(`dataHash must be provided if typedData is not provided`);a=await e.AccountActions.signMessageFromPrivateKey(t,o,n)}return a};exports.hinkalSignSubAccount=t;
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { AccountActions as e } from "../AccountActions/AccountActions.mjs";
|
|
2
|
-
import "../AccountActions/index.mjs";
|
|
3
2
|
//#region libs/shared/common/src/data-structures/Hinkal/hinkalSignSubAccount.ts
|
|
4
3
|
var t = async (t, n, r, i) => {
|
|
5
4
|
let a, o = e.getPrivateKeyFromSubAccount(t, i);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/external-action.types.cjs`),r=require(`../../types/admin.types.cjs`)
|
|
1
|
+
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/external-action.types.cjs`),r=require(`../../types/admin.types.cjs`),i=require(`../../error-handling/error-codes.constants.cjs`),a=require(`../../functions/web3/etherFunctions.cjs`),o=require(`../crypto-keys/keys.cjs`),s=require(`../../functions/utils/time.utils.cjs`),c=require(`../utxo/Utxo.cjs`),l=require(`../../functions/utils/token-check.utils.cjs`),u=require(`../../functions/snarkjs/common.snarkjs.cjs`),d=require(`../../functions/pre-transaction/constructAdminData.cjs`),f=require(`../../functions/pre-transaction/getFeeStructure.cjs`),p=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`),m=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),h=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`);let g=require(`ethers`);var _=async(_,v,y,b,x)=>{let S=l.validateAndGetChainId([v]),C=v.erc20TokenAddress;if(y.getTokenAddress(S)!==C)throw Error(`Off-chain UTXO token mismatch`);if(!y.shieldedPrivateKey)throw Error(`Claimable UTXO shieldedPrivateKey is missing`);let{originalDeployer:w,hinkalIdl:T}=e.networkRegistry[S].contractData;if(!w||!T)throw Error(`missing data`);let E=new o.UserKeys(void 0,y.shieldedPrivateKey),D=new c.Utxo({amount:y.amount,erc20TokenAddress:y.erc20TokenAddress,mintAddress:y.mintAddress,timeStamp:y.timeStamp,tokenId:y.tokenId,randomization:y.randomization,shieldedPrivateKey:E.getShieldedPrivateKey()}),O=b??await f.getFeeStructure(S,C,[C],n.ExternalActionId.Transact,void 0,void 0,{mintTo:C,nullifierCount:1});if(O.feeToken!==C)throw Error(`Claim fee token mismatch: fee must be paid from claimed UTXO token`);let k=O.variableRate>0n?O.variableRate:t.HINKAL_PRIVATE_SEND_VARIABLE_RATE;if(D.amount<=O.flatFee)throw Error(i.transactionErrorCodes.INSUFFICIENT_FUNDS_TO_TRANSACT);let A=D.amount-O.flatFee,j=A*k/10000n,M=A-j;if(M<=0n)throw Error(i.transactionErrorCodes.RECIPIENT_AMOUNT_INVALID);let N=O.flatFee+j,[P,F,I]=_.getRecipientInfo().split(`,`);if(!P||!F||!I)throw Error(`Invalid recipient info`);let L=s.getCurrentTimeInSeconds().toString(),R=new c.Utxo({amount:0n,erc20TokenAddress:D.erc20TokenAddress,mintAddress:D.mintAddress,tokenId:D.tokenId,shieldedPrivateKey:E.getShieldedPrivateKey()}),z=new c.Utxo({amount:0n,erc20TokenAddress:D.erc20TokenAddress,mintAddress:D.mintAddress,tokenId:D.tokenId,shieldedPrivateKey:E.getShieldedPrivateKey(),timeStamp:L}),B=new c.Utxo({amount:M,erc20TokenAddress:D.erc20TokenAddress,mintAddress:D.mintAddress,tokenId:D.tokenId,timeStamp:L,randomization:BigInt(P),stealthAddress:F,encryptionKey:I}),V=[D,R],H=[z,B],U=await _.getRandomRelay(S,!0);if(!U)throw Error(i.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let W=c.Utxo.findCorrectRandomization(a.randomBigInt(31),E.getShieldedPrivateKey()),G={tokenNumber:1,nullifierAmount:V.length,outputAmount:H.length},K=u.calcEncryptedOutputs([H])[0].map(e=>Array.from(g.ethers.getBytes(e))),q=_.getSolanaProgram(T),[{proofAArr:J,proofBArr:Y,proofCArr:X,publicInputsArr:Z},Q]=await Promise.all([m.constructSolanaZkProof(_.generateProofRemotely,w,_.merkleTreeHinkalByChain[S],_.merkleTreeAccessTokenByChain[S],E,q,[C],[V],[H],W,N,0n,t.solanaNativeAddress,U,G,K,S),p.buildCommitmentValidationData(S,E,[C],[V])]),$={recipient:U,mint:C===`11111111111111111111111111111111`?void 0:C};return h.solanaTransactCallRelayer({chainId:S,relayAddress:U,functionName:`transfer`,args:{proofAArr:J,proofBArr:Y,proofCArr:X,publicInputsArr:Z,encryptedOutputs:K,relayerFee:N.toString(),dimensions:G},accounts:$,adminData:d.constructAdminData(x??r.AdminTransactionType.ClaimUtxo,S,[C],[-A],await _.getEthereumAddress()),commitmentValidationData:Q})};exports.hinkalSolanaClaimUtxo=_;
|
|
@@ -2,7 +2,6 @@ import { networkRegistry as e } from "../../constants/chains.constants.mjs";
|
|
|
2
2
|
import { HINKAL_PRIVATE_SEND_VARIABLE_RATE as t, solanaNativeAddress as n } from "../../constants/protocol.constants.mjs";
|
|
3
3
|
import { ExternalActionId as r } from "../../types/external-action.types.mjs";
|
|
4
4
|
import { AdminTransactionType as i } from "../../types/admin.types.mjs";
|
|
5
|
-
import "../../types/index.mjs";
|
|
6
5
|
import { transactionErrorCodes as a } from "../../error-handling/error-codes.constants.mjs";
|
|
7
6
|
import { randomBigInt as o } from "../../functions/web3/etherFunctions.mjs";
|
|
8
7
|
import { UserKeys as s } from "../crypto-keys/keys.mjs";
|
|
@@ -13,7 +12,6 @@ import { calcEncryptedOutputs as d } from "../../functions/snarkjs/common.snarkj
|
|
|
13
12
|
import { constructAdminData as f } from "../../functions/pre-transaction/constructAdminData.mjs";
|
|
14
13
|
import { getFeeStructure as p } from "../../functions/pre-transaction/getFeeStructure.mjs";
|
|
15
14
|
import { buildCommitmentValidationData as m } from "../../functions/pre-transaction/buildCommitmentValidationData.mjs";
|
|
16
|
-
import "../../functions/pre-transaction/index.mjs";
|
|
17
15
|
import { constructSolanaZkProof as h } from "../../functions/snarkjs/constructSolanaZkProof.mjs";
|
|
18
16
|
import { solanaTransactCallRelayer as g } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
|
|
19
17
|
import { ethers as _ } from "ethers";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`);require(`../../constants/protocol.constants.cjs`);const t=require(`../../functions/pre-transaction/solana.cjs`),n=require(`./hinkalCheckSolanaTokenRegistry.cjs`),r=require(`../../types/admin.types.cjs`),i=require(`../../error-handling/error-codes.constants.cjs`),a=require(`../../functions/web3/etherFunctions.cjs`),o=require(`../utxo/Utxo.cjs`),s=require(`../../functions/utils/solanaMint.utils.cjs`),c=require(`../../functions/utils/addresses.cjs`),l=require(`../../API/API.cjs`),u=require(`../../functions/utils/token-check.utils.cjs`),d=require(`../../functions/snarkjs/common.snarkjs.cjs`),f=require(`../../functions/pre-transaction/constructAdminData.cjs`),p=require(`../../error-handling/retrySolanaError.cjs`),m=require(`../../API/admin-calls.cjs`)
|
|
1
|
+
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`);require(`../../constants/protocol.constants.cjs`);const t=require(`../../functions/pre-transaction/solana.cjs`),n=require(`./hinkalCheckSolanaTokenRegistry.cjs`),r=require(`../../types/admin.types.cjs`),i=require(`../../error-handling/error-codes.constants.cjs`),a=require(`../../functions/web3/etherFunctions.cjs`),o=require(`../utxo/Utxo.cjs`),s=require(`../../functions/utils/solanaMint.utils.cjs`),c=require(`../../functions/utils/addresses.cjs`),l=require(`../../API/API.cjs`),u=require(`../../functions/utils/token-check.utils.cjs`),d=require(`../../functions/snarkjs/common.snarkjs.cjs`),f=require(`../../functions/pre-transaction/constructAdminData.cjs`),p=require(`../../error-handling/retrySolanaError.cjs`),m=require(`../../API/admin-calls.cjs`),h=require(`../../functions/web3/signAndSendSerializedTransaction.cjs`);let g=require(`@coral-xyz/anchor`),_=require(`@solana/web3.js`);var v=async(r,i,a,o,c)=>{if(a.length===0)throw Error(`amounts must not be empty`);if(a.length!==o.length)throw Error(`amounts and stealthAddressStructures length mismatch`);if(a.some(e=>e<=0n))throw Error(`all amounts must be positive`);let d=u.validateAndGetChainId([i]),v=i.erc20TokenAddress,{hinkalIdl:y,hinkalAddress:b,originalDeployer:x}=e.networkRegistry[d].contractData;if(!y)throw Error(`No IDL configured for Solana program on this network`);if(!x)throw Error(`missing original deployer`);let S=f.constructAdminData(c,d,Array(a.length).fill(v),a,await r.getEthereumAddress()),C=r.getSolanaProgram(y),w=r.getSolanaPublicKey(),T=new _.PublicKey(x),E=new _.PublicKey(b),{mintPublicKey:D}=s.formatMintAddress(v),O=D.toString(),k=t.getStorageAccountPublicKey(E,T),A=t.getStorageVaultPublicKey(E,T),j=t.getMerkleAccountPublicKey(E,T),M=o.map(e=>t.buildAnchorStealthAddressStructure(e)),N=a.reduce((e,t)=>e+t,0n),P=await n.hinkalCheckSolanaTokenRegistry(C,new _.PublicKey(T),[v],[N]),F=a.map(e=>e.toString()),I=t.getTokenLimitStorageAccountPublicKey(C.programId,T,D),L=O===`11111111111111111111111111111111`?null:D,R=O===`11111111111111111111111111111111`?null:void 0;for(let e=0;e<10;e+=1){let t=e===9;try{if(P){let{serializedTransaction:e,blockhash:t,lastValidBlockHeight:n}=await l.API.generateMultiPaymentDepositLimitless({amounts:F,payer:w.toBase58(),ethereumAddress:await r.getEthereumAddressByChain(d),mint:v,stealthAddressStructures:M,chainId:d,createBlockedUtxos:!1}),i=await h.signAndSendSerializedTransaction(C.provider,e,t,n);return await m.emitTxPublicData(S),i}let e=await C.methods.multiPaymentDeposit(F.map(e=>new g.BN(e)),M,!1).accounts({mint:L,signer:w,signerAta:R,originalDeployer:T,storageAccount:k,storageVault:A,merkleAccount:j,tokenLimitStorage:I,storageVaultAta:R,accessTokenOwner:null}).rpc();return await m.emitTxPublicData(S),e}catch(e){if(p.shouldRetryForSolanaError(e)&&!t)continue;throw e}}return``},y=async(e,t,n)=>{let i=e.userKeys.getShieldedPrivateKey(),s=d.calcStealthAddressStructure(o.Utxo.findCorrectRandomization(a.randomBigInt(31),i),i);return v(e,n,[t],[s],r.AdminTransactionType.ProoflessDeposit)},b=async(e,t,n,a)=>{if(!c.isValidPrivateAddress(a))throw Error(i.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);let o=c.constructStealthAddressStructure(a);return v(e,n,[t],[o],r.AdminTransactionType.PaymentLink)};exports.hinkalSolanaDeposit=y,exports.hinkalSolanaDepositForOther=b,exports.submitSolanaProoflessDeposit=v;
|
|
@@ -14,7 +14,6 @@ import { calcStealthAddressStructure as g } from "../../functions/snarkjs/common
|
|
|
14
14
|
import { constructAdminData as _ } from "../../functions/pre-transaction/constructAdminData.mjs";
|
|
15
15
|
import { shouldRetryForSolanaError as v } from "../../error-handling/retrySolanaError.mjs";
|
|
16
16
|
import { emitTxPublicData as y } from "../../API/admin-calls.mjs";
|
|
17
|
-
import "../../API/index.mjs";
|
|
18
17
|
import { signAndSendSerializedTransaction as b } from "../../functions/web3/signAndSendSerializedTransaction.mjs";
|
|
19
18
|
import { BN as x } from "@coral-xyz/anchor";
|
|
20
19
|
import { PublicKey as S } from "@solana/web3.js";
|