@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(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../functions/pre-transaction/solana.cjs`),r=require(`./hinkalCheckSolanaTokenRegistry.cjs`),i=require(`../../types/external-action.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(`../../functions/pre-transaction/solana.cjs`),r=require(`./hinkalCheckSolanaTokenRegistry.cjs`),i=require(`../../types/external-action.types.cjs`),a=require(`../../types/scheduled-transactions.types.cjs`),o=require(`../../error-handling/error-codes.constants.cjs`),s=require(`../../functions/web3/etherFunctions.cjs`),c=require(`../../functions/utils/time.utils.cjs`),l=require(`../utxo/Utxo.cjs`),u=require(`../../functions/utils/solanaMint.utils.cjs`),d=require(`../../functions/utils/addresses.cjs`),f=require(`../../API/API.cjs`),p=require(`../../functions/utils/token-check.utils.cjs`),m=require(`../../functions/snarkjs/common.snarkjs.cjs`),h=require(`../../functions/utils/fees.utils.cjs`),g=require(`../../functions/pre-transaction/constructAdminData.cjs`),_=require(`../../functions/pre-transaction/sendV0Transaction.cjs`),v=require(`../../functions/pre-transaction/getFeeStructure.cjs`),y=require(`../../functions/pre-transaction/waitForDepositedUtxosInMerkleTree.cjs`),b=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`),x=require(`../../functions/utils/getUtxosFromReceiptSolana.cjs`),S=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),C=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),w=require(`../../API/deposit-and-withdraw-status-calls.cjs`),T=require(`../../functions/web3/signAndSendSerializedTransaction.cjs`);let E=require(`ethers`),D=require(`@coral-xyz/anchor`),O=require(`@solana/web3.js`);var k=async(t,i,o,c,d,p,g)=>{let v=o.erc20TokenAddress,y=c.map(e=>e+h.calculateTotalFee(e,p)),{hinkalIdl:b,hinkalAddress:S,originalDeployer:C}=e.networkRegistry[i].contractData;if(!b)throw Error(`No IDL configured for Solana program on this network`);if(!C)throw Error(`missing original deployer`);let E=t.userKeys.getShieldedPrivateKey(),k=t.getSolanaProgram(b),A=t.getSolanaPublicKey(),j=new O.PublicKey(C),M=new O.PublicKey(S),{mintPublicKey:N}=u.formatMintAddress(v),P=N.toString(),F=n.getStorageAccountPublicKey(M,j),I=n.getStorageVaultPublicKey(M,j),L=n.getMerkleAccountPublicKey(M,j),R=y.map(()=>n.buildAnchorStealthAddressStructure(m.calcStealthAddressStructure(l.Utxo.findCorrectRandomization(s.randomBigInt(31),E),E))),z=y.reduce((e,t)=>e+t,0n),B=await r.hinkalCheckSolanaTokenRegistry(k,new O.PublicKey(j),[v],[z]),V=y.map(e=>`${e}`),H=``,U=(await w.updateDepositAndWithdrawStatus({chainId:i,hashedEthereumAddress:g,phase:a.DepositAndWithdrawPhase.BEFORE_DEPOSIT})).id??void 0;if(B){let{serializedTransaction:e,blockhash:n,lastValidBlockHeight:r}=await f.API.generateMultiPaymentDepositLimitless({amounts:V,payer:t.getSolanaPublicKey().toBase58(),ethereumAddress:await t.getEthereumAddressByChain(i),mint:v,stealthAddressStructures:R,chainId:i,createBlockedUtxos:!0}),{wallet:a}=k.provider;if(!a)throw Error(`missing wallet`);H=await T.signAndSendSerializedTransaction(k.provider,e,n,r)}else{let e=n.getTokenLimitStorageAccountPublicKey(k.programId,j,N),t=P===`11111111111111111111111111111111`?null:N,r=P===`11111111111111111111111111111111`?null:void 0;H=await k.methods.multiPaymentDeposit(V.map(e=>new D.BN(e)),R,!0).accounts({mint:t,signer:A,signerAta:r,originalDeployer:j,storageAccount:F,storageVault:I,merkleAccount:L,tokenLimitStorage:e,storageVaultAta:r,accessTokenOwner:null}).rpc();let i=await k.provider.connection.getLatestBlockhash();await k.provider.connection.confirmTransaction({blockhash:i.blockhash,lastValidBlockHeight:i.lastValidBlockHeight,signature:H},`finalized`)}let W=await _.fetchSolanaTransaction(k.provider.connection,H,`finalized`);if(!W)throw Error(`Transaction missing`);await w.safeUpdateDepositAndWithdrawStatus({id:U,chainId:i,hashedEthereumAddress:g,phase:a.DepositAndWithdrawPhase.AFTER_DEPOSIT,depositTxHash:H});let{compressedAddress:G}=u.formatMintAddress(o.erc20TokenAddress),K=x.getOnChainUtxosFromReceiptSolana(W,k,t.userKeys,G),q=[],J=[...K];return d.forEach((e,t)=>{let n=y[t],r=J.find(e=>e.amount===n);if(!r)throw Error(`Could not find newly created UTXO with amount ${n} for recipient ${e}.`);q.push({recipientAddress:e,utxo:r});let i=J.indexOf(r);J.splice(i,1)}),{userDepositedUtxos:q,depositTxHash:H,statusId:U}},A=async(n,r,i,d,f,p,_,v,y,x,T,D)=>{let O=i.erc20TokenAddress;if(d.length===0)throw Error(`userDepositedUtxos must not be empty`);let{hinkalIdl:k,originalDeployer:A}=e.networkRegistry[r].contractData;if(!A||!k)throw Error(`missing data`);let j=n.getSolanaProgram(k),M=await n.getRandomRelay(r,!0);if(!M)throw Error(o.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let N=c.getCurrentTimeInSeconds().toString(),P=n.generateProofRemotely?5:1,F=[];for(let e=0;e<d.length;e+=P){let i=d.slice(e,e+P),a=await Promise.all(i.map(async({recipientAddress:e,utxo:i},a)=>{let{compressedAddress:o}=u.formatMintAddress(t.solanaNativeAddress),c=new l.Utxo({amount:0n,mintAddress:O,erc20TokenAddress:o,shieldedPrivateKey:n.userKeys.getShieldedPrivateKey(),timeStamp:N,tokenId:0}),d=[i,c],p=[c],v=l.Utxo.findCorrectRandomization(s.randomBigInt(31),n.userKeys.getShieldedPrivateKey()),y={tokenNumber:1,nullifierAmount:d.length,outputAmount:p.length},x=m.calcEncryptedOutputs([p])[0][0],C=Array.from(E.ethers.getBytes(x)),w=h.calculateTotalFee(_[a],f),D={feeToken:f.feeToken,flatFee:w,variableRate:0n},k=g.constructAdminData(T,r,[O],[_[a]],await n.getEthereumAddress()),[{proofAArr:P,proofBArr:F,proofCArr:I,publicInputsArr:L},R]=await Promise.all([S.constructSolanaZkProof(n.generateProofRemotely,A,n.merkleTreeHinkalByChain[r],n.merkleTreeAccessTokenByChain[r],n.userKeys,j,[O],[d],[p],v,D.flatFee,D.variableRate,e,M,y,[C],r),b.buildCommitmentValidationData(r,n.userKeys,[O],[d])]),z={recipient:e,mint:O===`11111111111111111111111111111111`?void 0:O};return{relayAddress:M,functionName:`transact`,chainId:r,recipientAmount:_[a].toString(),args:{proofAArr:P,proofBArr:F,proofCArr:I,publicInputsArr:L,encryptedOutputs:[C],relayerFee:D.flatFee.toString(),dimensions:y},accounts:z,adminData:k,commitmentValidationData:R}}));F.push(...a)}await w.safeUpdateDepositAndWithdrawStatus({id:v,chainId:r,hashedEthereumAddress:p,phase:a.DepositAndWithdrawPhase.BEFORE_SCHEDULE_WITHDRAW});let I=await C.solanaTransactCallRelayerBatch(r,F,p,y,x,D);return await w.safeUpdateDepositAndWithdrawStatus({id:v,chainId:r,hashedEthereumAddress:p,phase:a.DepositAndWithdrawPhase.AFTER_SCHEDULE_WITHDRAW,scheduleId:I}),I},j=async(e,t,n,r,a,o,s,c,l)=>{let u=p.validateAndGetChainId([t]),f=t.erc20TokenAddress,m=d.hashEthereumAddress(await e.getEthereumAddressByChain(u)),h=l?d.hashString(l):void 0,g=o??await v.getFeeStructure(u,f,[f],i.ExternalActionId.Transact,[],5n),{userDepositedUtxos:_,depositTxHash:b,statusId:x}=await k(e,u,t,n,r,g,m);return await y.waitForDepositedUtxosInMerkleTree(e,u,_),await A(e,u,t,_,g,m,n,x,a,s,c,h),b};exports.hinkalSolanaDepositAndWithdraw=j;
|
|
@@ -4,7 +4,6 @@ import { buildAnchorStealthAddressStructure as n, getMerkleAccountPublicKey as r
|
|
|
4
4
|
import { hinkalCheckSolanaTokenRegistry as s } from "./hinkalCheckSolanaTokenRegistry.mjs";
|
|
5
5
|
import { ExternalActionId as c } from "../../types/external-action.types.mjs";
|
|
6
6
|
import { DepositAndWithdrawPhase as l } from "../../types/scheduled-transactions.types.mjs";
|
|
7
|
-
import "../../types/index.mjs";
|
|
8
7
|
import { transactionErrorCodes as u } from "../../error-handling/error-codes.constants.mjs";
|
|
9
8
|
import { randomBigInt as d } from "../../functions/web3/etherFunctions.mjs";
|
|
10
9
|
import { getCurrentTimeInSeconds as f } from "../../functions/utils/time.utils.mjs";
|
|
@@ -20,14 +19,11 @@ import { fetchSolanaTransaction as C } from "../../functions/pre-transaction/sen
|
|
|
20
19
|
import { getFeeStructure as w } from "../../functions/pre-transaction/getFeeStructure.mjs";
|
|
21
20
|
import { waitForDepositedUtxosInMerkleTree as T } from "../../functions/pre-transaction/waitForDepositedUtxosInMerkleTree.mjs";
|
|
22
21
|
import { buildCommitmentValidationData as E } from "../../functions/pre-transaction/buildCommitmentValidationData.mjs";
|
|
23
|
-
import "../../functions/pre-transaction/index.mjs";
|
|
24
22
|
import { getOnChainUtxosFromReceiptSolana as D } from "../../functions/utils/getUtxosFromReceiptSolana.mjs";
|
|
25
23
|
import { constructSolanaZkProof as O } from "../../functions/snarkjs/constructSolanaZkProof.mjs";
|
|
26
24
|
import { solanaTransactCallRelayerBatch as k } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
|
|
27
25
|
import { safeUpdateDepositAndWithdrawStatus as A, updateDepositAndWithdrawStatus as j } from "../../API/deposit-and-withdraw-status-calls.mjs";
|
|
28
26
|
import { signAndSendSerializedTransaction as M } from "../../functions/web3/signAndSendSerializedTransaction.mjs";
|
|
29
|
-
import "../../functions/web3/index.mjs";
|
|
30
|
-
import "../../functions/index.mjs";
|
|
31
27
|
import { ethers as N } from "ethers";
|
|
32
28
|
import { BN as P } from "@coral-xyz/anchor";
|
|
33
29
|
import { PublicKey as F } from "@solana/web3.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../types/external-action.types.cjs`),n=require(`../../types/admin.types.cjs`)
|
|
1
|
+
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../types/external-action.types.cjs`),n=require(`../../types/admin.types.cjs`),r=require(`../../error-handling/error-codes.constants.cjs`),i=require(`../../functions/utils/token-check.utils.cjs`),a=require(`../../functions/utils/create-provider.cjs`),o=require(`../../functions/pre-transaction/constructAdminData.cjs`),s=require(`../AccountActions/AccountActions.cjs`),c=require(`../../functions/pre-transaction/sendV0Transaction.cjs`),l=require(`../../functions/pre-transaction/getFeeStructure.cjs`),u=require(`../../API/admin-calls.cjs`),d=require(`../../functions/pre-transaction/solanaTransfer.utils.cjs`);let f=require(`@solana/web3.js`);var p=async(e,t)=>{let{addressLookupTableAccount:n,instructionLists:r}=JSON.parse(t).data,i=await Promise.all(n.map(async t=>{let n=await e.getAddressLookupTable(new f.PublicKey(t));if(!n.value)throw Error(`Failed to fetch lookup table: ${t}`);return n.value}));if(r.length===0)throw Error(`No instructions found`);return{instructions:r.map(e=>new f.TransactionInstruction({keys:e.accounts.map(e=>({pubkey:new f.PublicKey(e.pubkey),isSigner:e.isSigner,isWritable:e.isWritable})),programId:new f.PublicKey(e.programId),data:Buffer.from(e.data,`base64`)})),lookupTableAccounts:i}},m=async(e,t)=>{let n=f.VersionedTransaction.deserialize(Buffer.from(t,`base64`)),r=await Promise.all(n.message.addressTableLookups.map(async({accountKey:t})=>{let n=await e.getAddressLookupTable(t);if(!n.value)throw Error(`Failed to fetch lookup table: ${t.toBase58()}`);return n.value})),{instructions:i}=f.TransactionMessage.decompile(n.message,{addressLookupTableAccounts:r});return{instructions:i,lookupTableAccounts:r}},h=async(n,r,i,o)=>{let c=s.AccountActions.getAddressFromSubAccount(n,i);if(!c)throw Error(`Public account address is not available`);let{fetchRpcUrl:l}=e.networkRegistry[n];if(!l)throw Error(`RPC URL not found for the specified chain ID`);let u=a.createCustomSolanaConnection(l),d=new f.PublicKey(c),{instructions:h,lookupTableAccounts:g}=o===t.ExternalActionId.Lifi?await m(u,r):await p(u,r);return{connection:u,walletPublicKey:d,instructions:h,lookupTableAccounts:g}},g=async(e,a,s,p,m,g,_,v,y)=>{let b=i.validateAndGetChainId(a),x=g===t.ExternalActionId.Lifi,[{connection:S,walletPublicKey:C,instructions:w,lookupTableAccounts:T},E,D]=await Promise.all([h(b,p,m,g),x?Promise.resolve(null):e.getRandomRelay(b),e.getEthereumAddressByChain(b)]),O=w;if(!x){if(!E)throw Error(r.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let e=a[1],n=s[1]*(v??await l.getFeeStructure(b,_,a.map(e=>e.erc20TokenAddress),t.ExternalActionId.Emporium)).variableRate/10000n,{instructions:i}=await d.buildSolanaTransferInstructions(S,C,new f.PublicKey(E),e,n);O=[...w,...i]}let k=await c.sendProxyV0Transaction({connection:S,chainId:b,subAccount:m,payerPublicKey:C,instructions:O,lookupTableAccounts:T}),A=x?n.AdminTransactionType.PublicBridgeSwap:n.AdminTransactionType.PublicSwap;return u.emitTxPublicData(o.constructAdminData(y??A,b,a.map(e=>e.erc20TokenAddress),s,D,a)),k};exports.hinkalSolanaProxySwap=g;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { networkRegistry as e } from "../../constants/chains.constants.mjs";
|
|
2
2
|
import { ExternalActionId as t } from "../../types/external-action.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 { validateAndGetChainId as i } from "../../functions/utils/token-check.utils.mjs";
|
|
7
6
|
import { createCustomSolanaConnection as a } from "../../functions/utils/create-provider.mjs";
|
|
@@ -9,9 +8,7 @@ import { constructAdminData as o } from "../../functions/pre-transaction/constru
|
|
|
9
8
|
import { AccountActions as s } from "../AccountActions/AccountActions.mjs";
|
|
10
9
|
import { sendProxyV0Transaction as c } from "../../functions/pre-transaction/sendV0Transaction.mjs";
|
|
11
10
|
import { getFeeStructure as l } from "../../functions/pre-transaction/getFeeStructure.mjs";
|
|
12
|
-
import "../../constants/index.mjs";
|
|
13
11
|
import { emitTxPublicData as u } from "../../API/admin-calls.mjs";
|
|
14
|
-
import "../AccountActions/index.mjs";
|
|
15
12
|
import { buildSolanaTransferInstructions as d } from "../../functions/pre-transaction/solanaTransfer.utils.mjs";
|
|
16
13
|
import { PublicKey as f, TransactionInstruction as p, TransactionMessage as m, VersionedTransaction as h } from "@solana/web3.js";
|
|
17
14
|
//#region libs/shared/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../functions/pre-transaction/solana.cjs`),r=require(`../../types/external-action.types.cjs`),i=require(`../../types/admin.types.cjs`),a=require(`../../types/cache.types.cjs`)
|
|
1
|
+
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../functions/pre-transaction/solana.cjs`),r=require(`../../types/external-action.types.cjs`),i=require(`../../types/admin.types.cjs`),a=require(`../../types/cache.types.cjs`),o=require(`../../error-handling/error-codes.constants.cjs`),s=require(`../../functions/web3/etherFunctions.cjs`),c=require(`../../functions/utils/time.utils.cjs`),ee=require(`../utxo/Utxo.cjs`),te=require(`../../functions/utils/token-check.utils.cjs`),l=require(`../../functions/web3/events/getShieldedBalance.cjs`),u=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),ne=require(`../../functions/snarkjs/common.snarkjs.cjs`),d=require(`../../functions/pre-transaction/constructAdminData.cjs`),f=require(`../../functions/pre-transaction/convert-okx-instructions.cjs`),p=require(`../../functions/pre-transaction/ensureAmountChanges.cjs`),m=require(`../../functions/pre-transaction/getFeeStructure.cjs`),h=require(`../../functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs`),g=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`),_=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),v=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`);let re=require(`ethers`),y=require(`@solana/web3.js`);var b=async(e,t,n,r)=>{let i=[...await l.addPaddingToUtxos(e,t,n,r,6)],a=c.getCurrentTimeInSeconds().toString(),o=[];for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=u.outputUtxoProcessing(e.userKeys,i[t],r[t],a);o.push([n[0]])}return{inputUtxosArray:i,outputUtxosArray:o}},x=async(c,l,u,x,ie,S,ae,oe)=>{let C=te.validateAndGetChainId(l),w=new y.PublicKey(t.solanaNativeAddress),{hinkalAddress:se,originalDeployer:T,hinkalIdl:E}=e.networkRegistry[C].contractData;if(!T||!E)throw Error(`No IDL configured for Solana program on this network`);let D=new y.PublicKey(T),O=new y.PublicKey(se),k=l.map(e=>e.erc20TokenAddress),{userKeys:A,merkleTreeAccessTokenByChain:j,merkleTreeHinkalByChain:M}=c,N=c.getSolanaProgram(E),P=oe??await m.getFeeStructure(C,ae,k,r.ExternalActionId.Transact),F=u[1],I=Number(c.cacheDevice.get(a.StorageKeys.SLIPPAGE_PERCENTAGE)??0),L=l[1],R=s.getAmountInToken(L,F),z=Number(R)*I/100;u[1]-=s.getAmountInWei(L,z.toFixed(L.decimals));let B=F*BigInt(P.variableRate??0)/10000n+P.flatFee;if(u[1]-=B,u[1]<0)throw Error(o.transactionErrorCodes.LOW_OUTPUT_AMOUNT);let V=P.variableRate.toString(),[{patchAccessTokenMerkleTree:H,kycRequired:U,hasAccessToken:W},G,K,{inputUtxosArray:q,outputUtxosArray:J}]=await Promise.all([h.shouldPatchAccessTokenMerkleTree(c,C,k,u),c.getRandomRelay(C,!0),c.getEthereumAddressByChain(C),b(c,C,k,u)]);if(!G)throw Error(o.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let ce=c.userKeys.getShieldedPrivateKey(),le=ee.Utxo.findCorrectRandomization(s.randomBigInt(31),ce),Y={tokenNumber:2,nullifierAmount:q[0].length,outputAmount:1},X=ne.calcEncryptedOutputs(J).map(e=>[...re.ethers.getBytes(e[0])]),Z=n.getSwapperAccountPublicKeyFromSalt(O,D,x),{remainingAccounts:Q,hinkalInstructions:$}=f.convertOKXToHinkalInstructions(ie,Z);p.ensureAmountChanges(q,J,u);let[{proofAArr:ue,proofBArr:de,proofCArr:fe,publicInputsArr:pe},me]=await Promise.all([_.constructSolanaZkProof(c.generateProofRemotely,T,M[C],j[C],A,N,k,q,J,le,P.flatFee,P.variableRate,w.toString(),G,Y,X,C,H,x,$,Q),g.buildCommitmentValidationData(C,A,k,q)]),he=n.getStorageAccountPublicKey(O,D),ge=n.getStorageVaultPublicKey(O,D),_e=l[0].erc20TokenAddress===`11111111111111111111111111111111`?null:new y.PublicKey(l[0].erc20TokenAddress),ve=l[1].erc20TokenAddress===`11111111111111111111111111111111`?null:new y.PublicKey(l[1].erc20TokenAddress),ye={recipient:w.toString(),storageAccount:he.toString(),storageVault:ge.toString(),swapperAccount:Z.toString(),mintFrom:_e?.toString()??null,mintTo:ve?.toString()??null,remainingAccounts:Q.map(e=>({pubkey:e.pubkey.toString(),isSigner:e.isSigner,isWritable:e.isWritable})),addressLookupTableAccount:S},be={encryptedOutputs:X,proofAArr:ue,proofBArr:de,proofCArr:fe,publicInputsArr:pe,relayerFee:P.flatFee.toString(),variableRate:V,dimensions:Y,hinkalInstructions:$.map(e=>({accountIndexes:[...e.accountIndexes],data:[...e.data],programIndex:e.programIndex}))},xe=d.constructAdminData(i.AdminTransactionType.PrivateSwap,C,k,u,K,l);return v.solanaTransactCallRelayer({chainId:C,relayAddress:G,functionName:`swap`,args:be,accounts:ye,commitmentValidationData:me,solanaAccessTokenData:!W&&U?{ethereumAddress:K,accessKey:A.getAccessKey()}:void 0,adminData:xe})};exports.hinkalSolanaSwap=x;
|
|
@@ -4,7 +4,6 @@ import { getStorageAccountPublicKey as n, getStorageVaultPublicKey as r, getSwap
|
|
|
4
4
|
import { ExternalActionId as a } from "../../types/external-action.types.mjs";
|
|
5
5
|
import { AdminTransactionType as o } from "../../types/admin.types.mjs";
|
|
6
6
|
import { StorageKeys as s } from "../../types/cache.types.mjs";
|
|
7
|
-
import "../../types/index.mjs";
|
|
8
7
|
import { transactionErrorCodes as c } from "../../error-handling/error-codes.constants.mjs";
|
|
9
8
|
import { getAmountInToken as l, getAmountInWei as ee, randomBigInt as te } from "../../functions/web3/etherFunctions.mjs";
|
|
10
9
|
import { getCurrentTimeInSeconds as u } from "../../functions/utils/time.utils.mjs";
|
|
@@ -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`)
|
|
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(`../../error-handling/error-codes.constants.cjs`),i=require(`../../functions/web3/etherFunctions.cjs`),a=require(`../../functions/utils/time.utils.cjs`),o=require(`../utxo/Utxo.cjs`),s=require(`../../functions/utils/addresses.cjs`),c=require(`../../functions/utils/token-check.utils.cjs`),l=require(`../../functions/web3/events/getShieldedBalance.cjs`),u=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),d=require(`../../functions/snarkjs/common.snarkjs.cjs`),f=require(`../../functions/utils/fees.utils.cjs`),p=require(`../../functions/pre-transaction/constructAdminData.cjs`),m=require(`../../functions/pre-transaction/ensureAmountChanges.cjs`),h=require(`../../functions/pre-transaction/getFeeStructure.cjs`),g=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`),_=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),v=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`);let y=require(`ethers`);var b=async(e,t,n,r,i,s)=>{let c=(await l.addPaddingToUtxos(e,t,n,r,6))[0],d=a.getCurrentTimeInSeconds().toString(),{outputUtxos:f}=u.outputUtxoProcessing(e.userKeys,c,r[0],d),[p,m,h]=i.split(`,`);return{inputUtxos:c,senderOutputUtxos:f,recipientUtxo:new o.Utxo({amount:s,erc20TokenAddress:c[0].erc20TokenAddress,mintAddress:c[0].mintAddress,timeStamp:d,randomization:BigInt(p),stealthAddress:m,encryptionKey:h})}},x=async(a,l,u,v,x,S,C)=>{if(!s.isValidPrivateAddress(v))throw Error(r.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);let w=c.validateAndGetChainId(l),T=[...u],{originalDeployer:E,hinkalIdl:D}=e.networkRegistry[w].contractData;if(!E||!D)throw Error(`missing data`);let{userKeys:O,merkleTreeAccessTokenByChain:k,merkleTreeHinkalByChain:A}=a,j=l.map(e=>e.erc20TokenAddress);if(j.length>1)throw Error(`Solana Transfer: Only one mint address is supported`);let M=S??await h.getFeeStructure(w,x,j,n.ExternalActionId.Transact,[],5n);M.variableRate||=t.HINKAL_PRIVATE_SEND_VARIABLE_RATE;let N=f.calculateTotalFee(-T[0],M),P=-T[0];T[0]-=N;let[F,I,{inputUtxos:L,senderOutputUtxos:R,recipientUtxo:z}]=await Promise.all([a.getRandomRelay(w,!0),a.getEthereumAddressByChain(w),b(a,w,j,T,v,P)]);if(!F)throw Error(r.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let B=R[0],V=o.Utxo.findCorrectRandomization(i.randomBigInt(31),a.userKeys.getShieldedPrivateKey()),H={tokenNumber:j.length,nullifierAmount:L.length,outputAmount:2},U=a.getSolanaProgram(D),W=d.calcEncryptedOutputs([[B,z]])[0].map(e=>Array.from(y.ethers.getBytes(e)));m.ensureAmountChanges([L],[R],T);let[{proofAArr:G,proofBArr:K,proofCArr:q,publicInputsArr:J},Y]=await Promise.all([_.constructSolanaZkProof(a.generateProofRemotely,E,A[w],k[w],O,U,[j[0]],[L],[[B,z]],V,N,0n,t.solanaNativeAddress,F,H,W,w),g.buildCommitmentValidationData(w,O,j,[L])]),X={recipient:F,mint:j[0]===`11111111111111111111111111111111`?void 0:j[0]};return{chainId:w,relay:F,args:{proofAArr:G,proofBArr:K,proofCArr:q,publicInputsArr:J,encryptedOutputs:W,relayerFee:N.toString(),dimensions:H},accounts:X,adminData:p.constructAdminData(C,w,j,T,I),commitmentValidationData:Y,recipientUtxo:z}},S=async(e,t,n,r,i,a,o,s=!1)=>{if(s)throw Error(`onlyGasEstimate is not supported for Solana transfer`);let c=await x(e,t,n,r,i,a,o);return v.solanaTransactCallRelayer({chainId:c.chainId,relayAddress:c.relay,functionName:`transfer`,args:c.args,accounts:c.accounts,adminData:c.adminData,commitmentValidationData:c.commitmentValidationData})};exports.hinkalSolanaTransfer=S;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
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
|
-
import "../../types/index.mjs";
|
|
5
4
|
import { transactionErrorCodes as i } from "../../error-handling/error-codes.constants.mjs";
|
|
6
5
|
import { randomBigInt as a } from "../../functions/web3/etherFunctions.mjs";
|
|
7
6
|
import { getCurrentTimeInSeconds as o } from "../../functions/utils/time.utils.mjs";
|
|
@@ -16,7 +15,6 @@ import { constructAdminData as m } from "../../functions/pre-transaction/constru
|
|
|
16
15
|
import { ensureAmountChanges as h } from "../../functions/pre-transaction/ensureAmountChanges.mjs";
|
|
17
16
|
import { getFeeStructure as g } from "../../functions/pre-transaction/getFeeStructure.mjs";
|
|
18
17
|
import { buildCommitmentValidationData as _ } from "../../functions/pre-transaction/buildCommitmentValidationData.mjs";
|
|
19
|
-
import "../../functions/pre-transaction/index.mjs";
|
|
20
18
|
import { constructSolanaZkProof as v } from "../../functions/snarkjs/constructSolanaZkProof.mjs";
|
|
21
19
|
import { solanaTransactCallRelayer as y } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
|
|
22
20
|
import { ethers as b } 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(`../../types/external-action.types.cjs`)
|
|
1
|
+
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`);require(`../../constants/protocol.constants.cjs`);const t=require(`../../types/external-action.types.cjs`),n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../../functions/web3/etherFunctions.cjs`),i=require(`../../functions/utils/time.utils.cjs`),a=require(`../utxo/Utxo.cjs`),o=require(`../../functions/utils/token-check.utils.cjs`),s=require(`../../functions/web3/events/getShieldedBalance.cjs`),c=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),l=require(`../../functions/snarkjs/common.snarkjs.cjs`),u=require(`../../functions/utils/fees.utils.cjs`),d=require(`../../functions/pre-transaction/constructAdminData.cjs`),f=require(`../../functions/pre-transaction/ensureAmountChanges.cjs`),p=require(`../../functions/pre-transaction/getFeeStructure.cjs`),m=require(`../../functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs`),h=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`),g=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),_=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`);let v=require(`ethers`);var y=async(e,t,n,r)=>{let a=[...await s.addPaddingToUtxos(e,t,n,r,6)][0],o=i.getCurrentTimeInSeconds().toString(),{outputUtxos:l}=c.outputUtxoProcessing(e.userKeys,a,r[0],o);return{inputUtxos:a,outputUtxos:l}},b=async(i,s,c,b,x,S,C)=>{let w=o.validateAndGetChainId(s),T=s.map(e=>e.erc20TokenAddress),{originalDeployer:E,hinkalIdl:D}=e.networkRegistry[w].contractData;if(!E||!D)throw Error(`missing data`);let{userKeys:O,merkleTreeAccessTokenByChain:k,merkleTreeHinkalByChain:A}=i,j=S??await p.getFeeStructure(w,x,T,t.ExternalActionId.Transact),M=u.calculateTotalFee(-c[0],j),N={feeToken:j.feeToken,flatFee:M,variableRate:0n};c[0]-=N.flatFee;let[{patchAccessTokenMerkleTree:P,kycRequired:F,hasAccessToken:I},L,R,{inputUtxos:z,outputUtxos:B}]=await Promise.all([m.shouldPatchAccessTokenMerkleTree(i,w,T,c),i.getEthereumAddressByChain(w),i.getRandomRelay(w,!0),y(i,w,T,c)]);if(!R)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);if(T.length>1)throw Error(`Solana Withdraw: Only one mint address is supported`);let V=a.Utxo.findCorrectRandomization(r.randomBigInt(31),i.userKeys.getShieldedPrivateKey()),H={tokenNumber:T.length,nullifierAmount:z.length,outputAmount:B.length},U=i.getSolanaProgram(D),W=l.calcEncryptedOutputs([B])[0][0],G=Array.from(v.ethers.getBytes(W));f.ensureAmountChanges([z],[B],c);let[{proofAArr:K,proofBArr:q,proofCArr:J,publicInputsArr:Y},X]=await Promise.all([g.constructSolanaZkProof(i.generateProofRemotely,E,A[w],k[w],O,U,[T[0]],[z],[B],V,N.flatFee,N.variableRate,b,R,H,[G],w,P),h.buildCommitmentValidationData(w,O,T,[z])]),Z={recipient:b,mint:T[0]===`11111111111111111111111111111111`?void 0:T[0]},Q={proofAArr:K,proofBArr:q,proofCArr:J,publicInputsArr:Y,encryptedOutputs:[G],relayerFee:N.flatFee.toString(),dimensions:H},$=d.constructAdminData(C,w,T,c,await i.getEthereumAddress());return _.solanaTransactCallRelayer({chainId:w,relayAddress:R,functionName:`transact`,args:Q,accounts:Z,commitmentValidationData:X,solanaAccessTokenData:!I&&F?{ethereumAddress:L,accessKey:O.getAccessKey()}:void 0,adminData:$})};exports.hinkalSolanaWithdraw=b;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { networkRegistry as e } from "../../constants/chains.constants.mjs";
|
|
2
2
|
import "../../constants/protocol.constants.mjs";
|
|
3
3
|
import { ExternalActionId as t } from "../../types/external-action.types.mjs";
|
|
4
|
-
import "../../types/index.mjs";
|
|
5
4
|
import { transactionErrorCodes as n } from "../../error-handling/error-codes.constants.mjs";
|
|
6
5
|
import { randomBigInt as r } from "../../functions/web3/etherFunctions.mjs";
|
|
7
6
|
import { getCurrentTimeInSeconds as i } from "../../functions/utils/time.utils.mjs";
|
|
@@ -16,8 +15,6 @@ import { ensureAmountChanges as f } from "../../functions/pre-transaction/ensure
|
|
|
16
15
|
import { getFeeStructure as p } from "../../functions/pre-transaction/getFeeStructure.mjs";
|
|
17
16
|
import { shouldPatchAccessTokenMerkleTree as m } from "../../functions/pre-transaction/shouldPatchAccessTokenMerkleTree.mjs";
|
|
18
17
|
import { buildCommitmentValidationData as h } from "../../functions/pre-transaction/buildCommitmentValidationData.mjs";
|
|
19
|
-
import "../../functions/pre-transaction/index.mjs";
|
|
20
|
-
import "../../constants/index.mjs";
|
|
21
18
|
import { constructSolanaZkProof as g } from "../../functions/snarkjs/constructSolanaZkProof.mjs";
|
|
22
19
|
import { solanaTransactCallRelayer as _ } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
|
|
23
20
|
import { ethers as v } from "ethers";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../constants/protocol.constants.cjs`);const e=require(`../../types/ethereum-network.types.cjs`),t=require(`../../error-handling/error-codes.constants.cjs`),n=require(`../../functions/utils/time.utils.cjs`),r=require(`../../functions/utils/token-check.utils.cjs`),i=require(`../../functions/web3/events/getShieldedBalance.cjs`),a=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),o=require(`../../functions/pre-transaction/constructAdminData.cjs`),s=require(`../../functions/pre-transaction/getFeeStructure.cjs`),c=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`),l=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`)
|
|
1
|
+
require(`../../constants/protocol.constants.cjs`);const e=require(`../../types/ethereum-network.types.cjs`),t=require(`../../error-handling/error-codes.constants.cjs`),n=require(`../../functions/utils/time.utils.cjs`),r=require(`../../functions/utils/token-check.utils.cjs`),i=require(`../../functions/web3/events/getShieldedBalance.cjs`),a=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),o=require(`../../functions/pre-transaction/constructAdminData.cjs`),s=require(`../../functions/pre-transaction/getFeeStructure.cjs`),c=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`),l=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`),u=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),d=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),f=require(`../../functions/pre-transaction/getExternalSwapAddress.cjs`),p=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`);var m=async(e,t,r,o)=>{let s=[...await i.addPaddingToUtxos(e,t,r,o)],c=[],l=n.getCurrentTimeInSeconds().toString();for(let t=0;t<r.length;t+=1){let{outputUtxos:n}=a.outputUtxoProcessing(e.userKeys,s[t],o[t],l);c.push(n)}return{inputUtxosArray:s,outputUtxosArray:c}},h=async(n,i,a,h,g,_,v,y)=>{let b=r.validateAndGetChainId(i),x=i.map(e=>e.erc20TokenAddress),S=await n.getEthereumAddressByChain(b),C=v??await s.getFeeStructure(b,_,x,h,void 0,35n);p.mergeWithFeeStructure(b,x,a,C);let w={externalActionId:h,externalAddress:f.getExternalSwapAddress(b,h),externalActionMetadata:g},[T,{patchAccessTokenMerkleTree:E,signatureData:D},{inputUtxosArray:O,outputUtxosArray:k}]=await Promise.all([n.getRandomRelay(b,!0),c.getKycAndSignatureData(n,b,x,a,S),m(n,b,x,a)]);if(!T)throw Error(t.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let A=`swapperM${a.length.toString()}x${O[0].length}x1`,j=[!1,!0,!1].slice(0,a.length),[{zkCallData:M,circomData:N,dimData:P},F]=await Promise.all([u.constructZkProof(n.merkleTreeHinkalByChain[b],n.merkleTreeAccessTokenByChain[b],O,k,n.userKeys,A,w.externalActionId,w.externalAddress,w.externalActionMetadata,n.generateProofRemotely,T,b,j,void 0,void 0,E,void 0,C,n.getContractWithFetcher(b,e.ContractType.HinkalHelperContract),D),l.buildCommitmentValidationData(b,n.userKeys,x,O)]);return await d.transactCallRelayer(b,M,P,N,F,void 0,void 0,o.constructAdminData(y,b,x,a,S,i))};exports.hinkalSwap=h;
|
|
@@ -9,7 +9,6 @@ import { constructAdminData as o } from "../../functions/pre-transaction/constru
|
|
|
9
9
|
import { getFeeStructure as s } from "../../functions/pre-transaction/getFeeStructure.mjs";
|
|
10
10
|
import { getKycAndSignatureData as c } from "../../functions/pre-transaction/getKycAndSignatureData.mjs";
|
|
11
11
|
import { buildCommitmentValidationData as l } from "../../functions/pre-transaction/buildCommitmentValidationData.mjs";
|
|
12
|
-
import "../../functions/pre-transaction/index.mjs";
|
|
13
12
|
import { constructZkProof as u } from "../../functions/snarkjs/constructGeneralZkProof.mjs";
|
|
14
13
|
import { transactCallRelayer as d } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
|
|
15
14
|
import { getExternalSwapAddress as f } from "../../functions/pre-transaction/getExternalSwapAddress.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`)
|
|
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(`../../error-handling/error-codes.constants.cjs`),a=require(`../../functions/utils/time.utils.cjs`),o=require(`../../functions/utils/addresses.cjs`),s=require(`../../functions/utils/tron.utils.cjs`),c=require(`../../functions/utils/token-check.utils.cjs`),l=require(`../../functions/web3/events/getShieldedBalance.cjs`),u=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),d=require(`../../functions/utils/fees.utils.cjs`),f=require(`../../functions/pre-transaction/getVolatileTransferAmount.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/buildCommitmentValidationData.cjs`),_=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),v=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),y=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`);var b=async(e,t,n,r,i,o)=>{let s=[...await l.addPaddingToUtxos(e,t,n,r)],c=[],d=a.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=u.outputUtxoProcessing(e.userKeys,s[t],r[t],d,void 0,!0,i,t===0?o:0n);c.push(n)}return{inputUtxosArray:s,outputUtxosArray:c}},x=async(a,l,u,x,S,C,w)=>{let T=c.validateAndGetChainId(l),E=e.isTronLike(T);if(!o.isValidPrivateAddress(x))throw Error(i.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);let D=s.addressToHexFormat(await a.getEthereumAddressByChain(T)),O=l.map(e=>e.erc20TokenAddress),k=await f.modifyVolatileTokenAmountChanges(T,l,u),A=C??await m.getFeeStructure(T,S,O,r.ExternalActionId.Transact,[],5n);A.variableRate||=t.HINKAL_PRIVATE_SEND_VARIABLE_RATE;let j=d.calculateTotalFee(-k[0],A),M=-k[0],N={feeToken:A.feeToken,flatFee:j,variableRate:0n};if(y.mergeWithFeeStructure(T,O,k,N),!l[0])throw Error(`Transfer Action: No Token Found`);let[P,{patchAccessTokenMerkleTree:F,signatureData:I},{inputUtxosArray:L,outputUtxosArray:R}]=await Promise.all([a.getRandomRelay(T,!0),h.getKycAndSignatureData(a,T,O,k,D),b(a,T,O,k,x,M)]);if(!P)throw Error(i.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let z={externalActionId:0n,externalAddress:P,externalActionMetadata:`0x00`},B=`swapperM${k.length}x${L[0].length}x2`,[{zkCallData:V,circomData:H,dimData:U},W]=await Promise.all([_.constructZkProof(a.merkleTreeHinkalByChain[T],a.merkleTreeAccessTokenByChain[T],L,R,a.userKeys,B,z.externalActionId,z.externalAddress,z.externalActionMetadata,a.generateProofRemotely,P,T,void 0,void 0,void 0,F,void 0,N,a.getContractWithFetcher(T,n.ContractType.HinkalHelperContract),I),g.buildCommitmentValidationData(T,a.userKeys,O,L)]),G=await s.reorderZkCallData(E,V,U,H);return await v.transactCallRelayer(T,V,U,H,W,void 0,void 0,p.constructAdminData(w,T,O,k,D),G)};exports.hinkalTransfer=x;
|
|
@@ -2,7 +2,6 @@ import { isTronLike as e } from "../../constants/chains.constants.mjs";
|
|
|
2
2
|
import { HINKAL_PRIVATE_SEND_VARIABLE_RATE 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
|
-
import "../../types/index.mjs";
|
|
6
5
|
import { transactionErrorCodes as i } from "../../error-handling/error-codes.constants.mjs";
|
|
7
6
|
import { getCurrentTimeInSeconds as a } from "../../functions/utils/time.utils.mjs";
|
|
8
7
|
import { isValidPrivateAddress as o } from "../../functions/utils/addresses.mjs";
|
|
@@ -16,7 +15,6 @@ import { constructAdminData as m } from "../../functions/pre-transaction/constru
|
|
|
16
15
|
import { getFeeStructure as h } from "../../functions/pre-transaction/getFeeStructure.mjs";
|
|
17
16
|
import { getKycAndSignatureData as g } from "../../functions/pre-transaction/getKycAndSignatureData.mjs";
|
|
18
17
|
import { buildCommitmentValidationData as _ } from "../../functions/pre-transaction/buildCommitmentValidationData.mjs";
|
|
19
|
-
import "../../functions/pre-transaction/index.mjs";
|
|
20
18
|
import { constructZkProof as v } from "../../functions/snarkjs/constructGeneralZkProof.mjs";
|
|
21
19
|
import { transactCallRelayer as y } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
|
|
22
20
|
import { mergeWithFeeStructure as b } from "../../functions/pre-transaction/merge-with-fee-structure.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`)
|
|
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(`../../error-handling/error-codes.constants.cjs`),a=require(`../../functions/utils/time.utils.cjs`),o=require(`../../functions/utils/tron.utils.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/utils/fees.utils.cjs`),d=require(`../../functions/pre-transaction/getVolatileTransferAmount.cjs`),f=require(`../../functions/pre-transaction/constructAdminData.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/snarkjs/constructGeneralZkProof.cjs`),_=require(`../../functions/web3/functionCalls/transactCallDirect.cjs`),v=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),y=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`);var b=async(e,t,n,r)=>{let i=[...await c.addPaddingToUtxos(e,t,n,r)],o=[],s=a.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=l.outputUtxoProcessing(e.userKeys,i[t],r[t],s);o.push(n)}return{inputUtxosArray:i,outputUtxosArray:o}},x=async(a,c,l,x,S,C,w,T)=>{let E=s.validateAndGetChainId(c),D=e.isTronLike(E),O=o.addressToHexFormat(await a.getEthereumAddressByChain(E)),k=c.map(e=>e.erc20TokenAddress),A=await d.modifyVolatileTokenAmountChanges(E,c,l),j;if(!S){let e=w??await p.getFeeStructure(E,C,k,r.ExternalActionId.Transact),t=u.calculateTotalFee(-A[0],e);j={feeToken:e.feeToken,flatFee:t,variableRate:0n},y.mergeWithFeeStructure(E,k,A,j)}let M=c[0];if(!M)throw Error(`Deposit Action: No Token Found`);let N={externalActionId:0n,externalAddress:o.addressToHexFormat(x),externalActionMetadata:`0x00`},[P,{patchAccessTokenMerkleTree:F,signatureData:I},{inputUtxosArray:L,outputUtxosArray:R}]=await Promise.all([a.getRandomRelay(E,!0),m.getKycAndSignatureData(a,E,k,A,O),b(a,E,k,A)]);if(!S&&!P)throw Error(i.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let z=`swapperM${A.length.toString()}x${L[0].length}x1`,[{zkCallData:B,circomData:V,dimData:H},U]=await Promise.all([g.constructZkProof(a.merkleTreeHinkalByChain[E],a.merkleTreeAccessTokenByChain[E],L,R,a.userKeys,z,N.externalActionId,N.externalAddress,N.externalActionMetadata,a.generateProofRemotely,S?t.zeroAddress:P,E,void 0,void 0,void 0,F,void 0,j,a.getContractWithFetcher(E,n.ContractType.HinkalHelperContract),I,S?O:void 0),h.buildCommitmentValidationData(E,a.userKeys,k,L)]),W=await o.reorderZkCallData(D,B,H,V);if(S){if(!M)throw Error(`Withdraw Action: No Token Found`);return await _.transactCallDirect(a,E,A[0],M,B,V,H)}return await v.transactCallRelayer(E,B,H,V,U,void 0,void 0,f.constructAdminData(T,E,k,A,O),W)};exports.hinkalWithdraw=x;
|
|
@@ -2,7 +2,6 @@ import { isTronLike as e } from "../../constants/chains.constants.mjs";
|
|
|
2
2
|
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
|
-
import "../../types/index.mjs";
|
|
6
5
|
import { transactionErrorCodes as i } from "../../error-handling/error-codes.constants.mjs";
|
|
7
6
|
import { getCurrentTimeInSeconds as a } from "../../functions/utils/time.utils.mjs";
|
|
8
7
|
import { addressToHexFormat as o, reorderZkCallData as s } from "../../functions/utils/tron.utils.mjs";
|
|
@@ -15,7 +14,6 @@ import { constructAdminData as p } from "../../functions/pre-transaction/constru
|
|
|
15
14
|
import { getFeeStructure as m } from "../../functions/pre-transaction/getFeeStructure.mjs";
|
|
16
15
|
import { getKycAndSignatureData as h } from "../../functions/pre-transaction/getKycAndSignatureData.mjs";
|
|
17
16
|
import { buildCommitmentValidationData as g } from "../../functions/pre-transaction/buildCommitmentValidationData.mjs";
|
|
18
|
-
import "../../functions/pre-transaction/index.mjs";
|
|
19
17
|
import { constructZkProof as _ } from "../../functions/snarkjs/constructGeneralZkProof.mjs";
|
|
20
18
|
import { transactCallDirect as v } from "../../functions/web3/functionCalls/transactCallDirect.mjs";
|
|
21
19
|
import { transactCallRelayer as y } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`);require(`../../constants/protocol.constants.cjs`);const t=require(`../../types/ethereum-network.types.cjs`),n=require(`../../functions/utils/amounts.utils.cjs`),r=require(`../../types/external-action.types.cjs`),i=require(`../../types/admin.types.cjs`)
|
|
1
|
+
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`);require(`../../constants/protocol.constants.cjs`);const t=require(`../../types/ethereum-network.types.cjs`),n=require(`../../functions/utils/amounts.utils.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/web3/etherFunctions.cjs`),s=require(`../../functions/utils/time.utils.cjs`),c=require(`../utxo/Utxo.cjs`),l=require(`../../functions/utils/encodeTokenWithId.cjs`),u=require(`../../functions/utils/tron.utils.cjs`),d=require(`../../functions/web3/events/getInputUtxoAndBalance.cjs`),f=require(`../../functions/utils/token-check.utils.cjs`),p=require(`../../functions/web3/events/getShieldedBalance.cjs`),m=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),h=require(`../../functions/snarkjs/common.snarkjs.cjs`),g=require(`../../functions/pre-transaction/constructAdminData.cjs`),_=require(`../../functions/pre-transaction/getFeeStructure.cjs`),v=require(`../../functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs`),y=require(`../../functions/pre-transaction/getKycAndSignatureData.cjs`),b=require(`../../functions/pre-transaction/buildCommitmentValidationData.cjs`),x=require(`../../constants/tx-confirmation.constants.cjs`),S=require(`../../functions/utils/tx-confirmation.utils.cjs`),C=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),w=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),T=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),E=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`);let D=require(`ethers`);var O=async(e,t,n,r)=>{let i=[...await p.addPaddingToUtxos(e,t,n,r,void 0,void 0,!1,!0)],a=[],o=s.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=m.outputUtxoProcessing(e.userKeys,i[t],r[t],o);a.push(n)}return{inputUtxosArray:i,outputUtxosArray:a}},k=async(e,t,n,r)=>{let i=[...await p.addPaddingToUtxos(e,t,n,r,6,void 0,!1,!0)][0],a=s.getCurrentTimeInSeconds().toString(),{outputUtxos:o}=m.outputUtxoProcessing(e.userKeys,i,r[0],a,void 0,!1);return{inputUtxos:i,outputUtxos:o}},A=async(n,o,s,c,l)=>{let d=e.isTronLike(o),f=[s.erc20TokenAddress],p=s.erc20TokenAddress,[m,h,v]=await Promise.all([_.getFeeStructure(o,p,f,r.ExternalActionId.Transact),n.getRandomRelay(o,!0),n.getEthereumAddressByChain(o)]),x=u.addressToHexFormat(v);if(!h)throw Error(a.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let S=u.addressToHexFormat(l),w=c-m.flatFee;if(w<=0n)throw Error(`Insufficient balance to cover fee. Balance: ${c}, Fee: ${m.flatFee}`);let D=[-w];E.mergeWithFeeStructure(o,f,D,m);let k={externalActionId:0n,externalAddress:S,externalActionMetadata:`0x00`},[{patchAccessTokenMerkleTree:A,signatureData:j},{inputUtxosArray:M,outputUtxosArray:N}]=await Promise.all([y.getKycAndSignatureData(n,o,f,D,x),O(n,o,f,D)]),P=`swapperM${D.length.toString()}x${M[0].length}x1`,[{zkCallData:F,circomData:I,dimData:L},R]=await Promise.all([C.constructZkProof(n.merkleTreeHinkalByChain[o],n.merkleTreeAccessTokenByChain[o],M,N,n.userKeys,P,k.externalActionId,k.externalAddress,k.externalActionMetadata,n.generateProofRemotely,h,o,void 0,void 0,void 0,A,void 0,m,n.getContractWithFetcher(o,t.ContractType.HinkalHelperContract),j),b.buildCommitmentValidationData(o,n.userKeys,f,M)]),z=await u.reorderZkCallData(d,F,L,I);return{tx:await T.transactCallRelayer(o,F,L,I,R,void 0,void 0,g.constructAdminData(i.AdminTransactionType.WithdrawOnChainUtxos,o,f,D,x),z),amountToRecipient:w}},j=async(t,n,i,s,l,u)=>{let d=[i.erc20TokenAddress],{originalDeployer:f,hinkalIdl:p}=e.networkRegistry[n].contractData;if(!f||!p)throw Error(`missing data`);let{userKeys:m,merkleTreeAccessTokenByChain:g,merkleTreeHinkalByChain:y}=t,x=i.erc20TokenAddress,[S,C,E]=await Promise.all([_.getFeeStructure(n,x,d,r.ExternalActionId.Transact,void 0,void 0,{mintTo:d[0],recipient:l,nullifierCount:u}),t.getRandomRelay(n,!0),t.getEthereumAddressByChain(n)]);if(!C)throw Error(a.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let O=s-S.flatFee;if(O<=0n)throw Error(`Insufficient balance to cover fee. Balance: ${s}, Fee: ${S.flatFee}`);let A=[-O];A[0]-=S.flatFee;let[{patchAccessTokenMerkleTree:j,kycRequired:M,hasAccessToken:N},{inputUtxos:P,outputUtxos:F}]=await Promise.all([v.shouldPatchAccessTokenMerkleTree(t,n,d,A),k(t,n,d,A)]),I=c.Utxo.findCorrectRandomization(o.randomBigInt(31),t.userKeys.getShieldedPrivateKey()),L={tokenNumber:d.length,nullifierAmount:P.length,outputAmount:F.length},R=t.getSolanaProgram(p),z=h.calcEncryptedOutputs([F])[0][0],B=Array.from(D.ethers.getBytes(z)),[{proofAArr:V,proofBArr:H,proofCArr:U,publicInputsArr:W},G]=await Promise.all([w.constructSolanaZkProof(t.generateProofRemotely,f,y[n],g[n],m,R,[d[0]],[P],[F],I,S.flatFee,S.variableRate,l,C,L,[B],n,j),b.buildCommitmentValidationData(n,m,d,[P])]),K={recipient:l,mint:d[0]===`11111111111111111111111111111111`?void 0:d[0]};return{tx:await T.solanaTransactCallRelayer({chainId:n,relayAddress:C,functionName:`transact`,args:{proofAArr:V,proofBArr:H,proofCArr:U,publicInputsArr:W,encryptedOutputs:[B],relayerFee:S.flatFee.toString(),dimensions:L},accounts:K,commitmentValidationData:G,solanaAccessTokenData:!N&&M?{ethereumAddress:E,accessKey:m.getAccessKey()}:void 0}),amountToRecipient:O}},M=async(t,n,r,i,a,o)=>e.isSolanaLike(n)?j(t,n,r,i,a,o):A(t,n,r,i,a),N=async(e,t,r)=>{let i=[],a=f.validateAndGetChainId([t]),o=l.encodeTokenWithId(a,{erc20TokenAddress:t.erc20TokenAddress,tokenId:0});for(;;){await e.resetMerkleTreesIfNecessary([a]);let s=((await d.getInputUtxoAndBalancePerToken({hinkal:e,sliceIfMore6:!1,useBlockedUtxos:!0,chainId:a,allowRemoteDecryption:e.generateProofRemotely}))?.get(o)??[]).filter(e=>e.amount>0n).sort((e,t)=>Number(t.amount-e.amount)).slice(0,6),c=n.countTotalAmountInUtxos(s);if(!c)break;let{tx:l}=await M(e,a,t,c,r,s.length);await S.waitForTransactionConfirmation(a,l,{solanaCommitment:`finalized`,evmTimeoutMs:x.RELAYER_TX_CONFIRMATION_TIMEOUT}),i.push(l)}return i};exports.hinkalWithdrawStuckUtxos=N;
|
|
@@ -4,7 +4,6 @@ import { ContractType as r } from "../../types/ethereum-network.types.mjs";
|
|
|
4
4
|
import { countTotalAmountInUtxos as i } from "../../functions/utils/amounts.utils.mjs";
|
|
5
5
|
import { ExternalActionId as a } from "../../types/external-action.types.mjs";
|
|
6
6
|
import { AdminTransactionType as o } from "../../types/admin.types.mjs";
|
|
7
|
-
import "../../types/index.mjs";
|
|
8
7
|
import { transactionErrorCodes as s } from "../../error-handling/error-codes.constants.mjs";
|
|
9
8
|
import { randomBigInt as c } from "../../functions/web3/etherFunctions.mjs";
|
|
10
9
|
import { getCurrentTimeInSeconds as l } from "../../functions/utils/time.utils.mjs";
|
|
@@ -21,7 +20,6 @@ import { getFeeStructure as b } from "../../functions/pre-transaction/getFeeStru
|
|
|
21
20
|
import { shouldPatchAccessTokenMerkleTree as x } from "../../functions/pre-transaction/shouldPatchAccessTokenMerkleTree.mjs";
|
|
22
21
|
import { getKycAndSignatureData as S } from "../../functions/pre-transaction/getKycAndSignatureData.mjs";
|
|
23
22
|
import { buildCommitmentValidationData as C } from "../../functions/pre-transaction/buildCommitmentValidationData.mjs";
|
|
24
|
-
import "../../functions/pre-transaction/index.mjs";
|
|
25
23
|
import { RELAYER_TX_CONFIRMATION_TIMEOUT as w } from "../../constants/tx-confirmation.constants.mjs";
|
|
26
24
|
import { waitForTransactionConfirmation as T } from "../../functions/utils/tx-confirmation.utils.mjs";
|
|
27
25
|
import { constructZkProof as E } from "../../functions/snarkjs/constructGeneralZkProof.mjs";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../types/ethereum-network.types.cjs`),n=require(`../../types/balances.types.cjs`),r=require(`../../types/events.types.cjs`)
|
|
1
|
+
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../types/ethereum-network.types.cjs`),n=require(`../../types/balances.types.cjs`),r=require(`../../types/events.types.cjs`),i=require(`../../functions/utils/getContractAddress.cjs`),a=require(`../../functions/utils/mutexes.utils.cjs`),o=require(`../../functions/utils/create-provider.cjs`),s=require(`../../functions/web3/events/balanceChangedHandler.cjs`),c=require(`../event-service/evm/ClientBlockchainEventEmitter.cjs`),l=require(`../event-service/solana/ClientSolanaBlockchainEventEmitter.cjs`),u=require(`../snapshot/SnapshotFetcherService.cjs`),d=require(`../snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.cjs`),f=require(`../snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.cjs`),p=require(`../snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.cjs`),m=require(`../snapshot/evm-snapshots/ClientAccessTokenSnapshotService.cjs`),h=require(`../snapshot/evm-snapshots/ClientCommitmentsSnapshotService.cjs`),g=require(`../snapshot/evm-snapshots/ClientNullifierSnapshotService.cjs`);let _=require(`@solana/web3.js`);var v=async(v,y)=>{let b=y??v.getSupportedChains();b.forEach(e=>{v.commitmentsSnapshotServiceByChain[e]?.intervalClear(),v.nullifierSnapshotServiceByChain[e]?.intervalClear(),v.accessTokenSnapshotServiceByChain[e]?.intervalClear()});let x=b.map(async y=>{let{maxPageSize:b,fetchRpcUrl:x,contractData:S}=e.networkRegistry[y],C,w;if(e.isSolanaLike(y)){let e=S.hinkalAddress;if(!x||!e)throw Error(`Fetch RPC URL or Solana program ID is not set`);C=new l.ClientSolanaBlockchainEventEmitter(y,o.createCustomSolanaConnection(x),new _.PublicKey(e),0,a.getChainBalanceFetchingMutex(y),b);let t=S.hinkalIdl;t&&C.setIdl(t);let n=new u.SnapshotFetcherService(y,e);v.commitmentsSnapshotServiceByChain[y]=new d.ClientSolanaCommitmentsSnapshotService(C,n),v.nullifierSnapshotServiceByChain[y]=new f.ClientSolanaNullifierSnapshotService(C,n),v.accessTokenSnapshotServiceByChain[y]=new p.ClientSolanaAccessTokenSnapshotService(C,n)}else{let e=v.getContractWithFetcherByChainId(y,t.ContractType.HinkalContract),n=v.getContractWithFetcherByChainId(y,t.ContractType.DepositOnChainUtxos),o=a.getChainBalanceFetchingMutex(y);C=new c.ClientBlockchainEventEmitter(r.EventCategory.MainContractEvents,y,e,0,o,b,n),w=new c.ClientBlockchainEventEmitter(r.EventCategory.AccessTokenContractEvents,y,v.getContractWithFetcherByChainId(y,t.ContractType.AccessTokenContract),0,o,b);let s=new u.SnapshotFetcherService(y,i.getContractAddress(e));v.commitmentsSnapshotServiceByChain[y]=new h.ClientCommitmentsSnapshotService(C,s),v.nullifierSnapshotServiceByChain[y]=new g.ClientNullifierSnapshotService(C,s),v.accessTokenSnapshotServiceByChain[y]=new m.ClientAccessTokenSnapshotService(w,s)}let T=v.commitmentsSnapshotServiceByChain[y],E=v.nullifierSnapshotServiceByChain[y],D=v.accessTokenSnapshotServiceByChain[y];if(!T||!E||!D)throw Error(`Missing snapshot service for chain ${y}`);await Promise.all([T.init(),E.init(),D.init()]),await Promise.all([C.init(),w?.init()]),v.merkleTreeHinkalByChain[y]=T.merkleTree,v.merkleTreeAccessTokenByChain[y]=D.merkleTree,v.nullifiersByChain[y]=E.nullifiers,v.encryptedOutputsByChain[y]=T.encryptedOutputs,C.onEventsProcessed=e=>{e>0&&s.balanceChangedHandler({updateType:n.PrivateBalanceUpdateType.FreshWithoutLoader,updateTokensListBefore:!0,chainIdToUpdate:y})}});await Promise.allSettled(x)};exports.resetMerkleTrees=v;
|
|
@@ -2,14 +2,12 @@ import { isSolanaLike as e, networkRegistry as t } from "../../constants/chains.
|
|
|
2
2
|
import { ContractType as n } from "../../types/ethereum-network.types.mjs";
|
|
3
3
|
import { PrivateBalanceUpdateType as r } from "../../types/balances.types.mjs";
|
|
4
4
|
import { EventCategory as i } from "../../types/events.types.mjs";
|
|
5
|
-
import "../../types/index.mjs";
|
|
6
5
|
import { getContractAddress as a } from "../../functions/utils/getContractAddress.mjs";
|
|
7
6
|
import { getChainBalanceFetchingMutex as o } from "../../functions/utils/mutexes.utils.mjs";
|
|
8
7
|
import { createCustomSolanaConnection as s } from "../../functions/utils/create-provider.mjs";
|
|
9
8
|
import { balanceChangedHandler as c } from "../../functions/web3/events/balanceChangedHandler.mjs";
|
|
10
9
|
import { ClientBlockchainEventEmitter as l } from "../event-service/evm/ClientBlockchainEventEmitter.mjs";
|
|
11
10
|
import { ClientSolanaBlockchainEventEmitter as u } from "../event-service/solana/ClientSolanaBlockchainEventEmitter.mjs";
|
|
12
|
-
import "../event-service/index.mjs";
|
|
13
11
|
import { SnapshotFetcherService as d } from "../snapshot/SnapshotFetcherService.mjs";
|
|
14
12
|
import { ClientSolanaCommitmentsSnapshotService as f } from "../snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.mjs";
|
|
15
13
|
import { ClientSolanaNullifierSnapshotService as p } from "../snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.mjs";
|
|
@@ -17,7 +15,6 @@ import { ClientSolanaAccessTokenSnapshotService as m } from "../snapshot/solana-
|
|
|
17
15
|
import { ClientAccessTokenSnapshotService as h } from "../snapshot/evm-snapshots/ClientAccessTokenSnapshotService.mjs";
|
|
18
16
|
import { ClientCommitmentsSnapshotService as g } from "../snapshot/evm-snapshots/ClientCommitmentsSnapshotService.mjs";
|
|
19
17
|
import { ClientNullifierSnapshotService as _ } from "../snapshot/evm-snapshots/ClientNullifierSnapshotService.mjs";
|
|
20
|
-
import "../snapshot/index.mjs";
|
|
21
18
|
import { PublicKey as v } from "@solana/web3.js";
|
|
22
19
|
//#region libs/shared/common/src/data-structures/Hinkal/resetMerkleTrees.ts
|
|
23
20
|
var y = async (y, b) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../types/activities.types.cjs`),t=require(`../../types/cache.types.cjs`)
|
|
1
|
+
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../types/activities.types.cjs`),t=require(`../../types/cache.types.cjs`),n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../../error-handling/logger.cjs`),i=require(`../../constants/tx-confirmation.constants.cjs`),a=require(`../../functions/utils/tx-confirmation.utils.cjs`);let o=require(`idb-keyval`);var s=new class{generateTxId(){return`tx_${new Date().getTime()}_${Math.random().toString(36).substring(2,15)}`}async getTransactionRecord(){return await(0,o.get)(t.StorageKeys.TX_ACTIVITY)||{}}async saveTxRequest(n){let{from:r,to:i,gasInDollar:a,extraNativeTokenFee:s,chainId:c,status:l,txHash:u,activityType:d,tokensReceive:f,tokensSpend:p,tokensApprove:m,activityIcon:h,dappUrl:g,dappName:_,integrationProvider:v,knownPartialSignature:y}=n,b=this.generateTxId(),x={id:b,from:r,to:i,gasInDollar:a?.toString(),extraNativeTokenFee:s?.toString(),chainId:c,txHash:u,activityType:d,status:l??e.ActivityStatus.PENDING,timestamp:new Date,tokensReceive:f,tokensSpend:p,tokensApprove:m,activityIcon:h,dappUrl:g,dappName:_,integrationProvider:v,knownPartialSignature:y};return await(0,o.update)(t.StorageKeys.TX_ACTIVITY,(e={})=>(e[b]=x,e)),b}async getTxRequest(e){return(await this.getTransactionRecord())[e]||null}async getAllTxRequests(e){let t=await this.getTransactionRecord();return Object.values(t).filter(t=>t.chainId===e).sort((e,t)=>new Date(t.timestamp).getTime()-new Date(e.timestamp).getTime())}async updateTxHash(e,n){let r=await this.getTxRequest(e);if(!r)throw Error(`Activity not found`);let i={...r,txHash:n};await(0,o.update)(t.StorageKeys.TX_ACTIVITY,(t={})=>(t[e]=i,t))}async updateTxStatusAndHash(e,n,r){let i=await this.getTxRequest(e);if(!i)throw Error(`Transaction not found`);let a={...i,status:n,txHash:r,timestamp:new Date};return await(0,o.update)(t.StorageKeys.TX_ACTIVITY,(t={})=>(t[e]=a,t)),a}async updateActivity(e,t,n){try{await this.updateTxStatusAndHash(e,t,n)}catch(e){r.Logger.error(`error in updating tx request`,e)}}async removePendingTransactions(e){try{await(0,o.update)(t.StorageKeys.TX_ACTIVITY,(t={})=>(delete t[e],t))}catch(e){r.Logger.error(`error in deleting tx requests`,e)}}async updatePendingTransactions(t,o,s,c){try{let r=await this.getTxRequest(o);if(!r)throw Error(`Transaction not found`);let{chainId:l}=r;if(!t.success){c?.(t.error),await this.updateActivity(o,e.ActivityStatus.FAILED,`erroredTx`in t?t.erroredTx:void 0);return}if(`txHash`in t){let{txHash:r}=t;try{await a.waitForTransactionConfirmation(l,r,{evmTimeoutMs:i.RELAYER_TX_CONFIRMATION_TIMEOUT})}catch(t){let i=t instanceof Error?t:Error(n.transactionErrorCodes.UNKNOWN);c?.(i),await this.updateActivity(o,e.ActivityStatus.FAILED,r);return}s?.(),await this.updateActivity(o,e.ActivityStatus.SUCCESSFUL,r)}}catch(e){r.Logger.error(`error in updating pending transactions`,e)}}};exports.activityStorage=s;
|
|
@@ -1,15 +1,11 @@
|
|
|
1
1
|
import { ActivityStatus as e } from "../../types/activities.types.mjs";
|
|
2
2
|
import { StorageKeys as t } from "../../types/cache.types.mjs";
|
|
3
|
-
import "../../types/index.mjs";
|
|
4
3
|
import { transactionErrorCodes as n } from "../../error-handling/error-codes.constants.mjs";
|
|
5
4
|
import { Logger as r } from "../../error-handling/logger.mjs";
|
|
6
|
-
import "../../error-handling/index.mjs";
|
|
7
5
|
import { RELAYER_TX_CONFIRMATION_TIMEOUT as i } from "../../constants/tx-confirmation.constants.mjs";
|
|
8
6
|
import { waitForTransactionConfirmation as a } from "../../functions/utils/tx-confirmation.utils.mjs";
|
|
9
|
-
import "../../functions/index.mjs";
|
|
10
7
|
import { get as o, update as s } from "idb-keyval";
|
|
11
|
-
|
|
12
|
-
var c = class {
|
|
8
|
+
var c = new class {
|
|
13
9
|
generateTxId() {
|
|
14
10
|
return `tx_${(/* @__PURE__ */ new Date()).getTime()}_${Math.random().toString(36).substring(2, 15)}`;
|
|
15
11
|
}
|
|
@@ -104,6 +100,6 @@ var c = class {
|
|
|
104
100
|
r.error("error in updating pending transactions", e);
|
|
105
101
|
}
|
|
106
102
|
}
|
|
107
|
-
}
|
|
103
|
+
}();
|
|
108
104
|
//#endregion
|
|
109
|
-
export { c as
|
|
105
|
+
export { c as activityStorage };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../types/cache.types.cjs`),t=require(`../../functions/utils/caseInsensitive.utils.cjs`),n=require(`../../API/API.cjs`),r=require(`../../error-handling/logger.cjs`),i=require(`../../functions/utils/string.utils.cjs`),a=require(`./token-visibility-db.cjs`);let o=require(`idb-keyval`);var s=class{fetchedTokens={};initalFetched=!1;async updateFetchedTokens(){let t=await(0,o.get)(e.StorageKeys.PRIVATE_TOKENS);this.fetchedTokens=t??{},this.initalFetched=!0}async getPrivateTokens(t,n){let r=i.getStateKey(n,t);return(await(0,o.get)(e.StorageKeys.PRIVATE_TOKENS))?.[r]||[]}async fetchPrivateTokens(e,i,a){try{let r=[...new Set(i)].filter(e=>e&&!t.lowerCaseIncludes(a,e));if(!r.length)return[];let o=(await n.API.tokensInfoCall(e,r)).filter(e=>!!e),s=new Map;return o.forEach(e=>{s.set(e.erc20TokenAddress.toLowerCase(),e)}),Array.from(s.values())}catch(e){return r.Logger.error(`Error fetching private tokens:`,e),[]}}async fetchAndUpdatePrivateTokens(n,r,s,c){let l=(await this.getPrivateTokens(r,s)).map(e=>e.erc20TokenAddress),u=c??await this.fetchPrivateTokens(r,n,l),d=await a.tokenVisibilityStorage.hideSpamsAndFetchHiddenTokensAddresses(r,u),f=i.getStateKey(s,r);await(0,o.update)(e.StorageKeys.PRIVATE_TOKENS,(e={})=>{let n=e?.[f]||[],r=n.map(e=>e.erc20TokenAddress),i=u.filter(e=>!t.lowerCaseIncludes(r,e.erc20TokenAddress));n.push(...i);let a=n.filter(e=>!t.lowerCaseIncludes(d,e.erc20TokenAddress)),o={...e,[f]:a};return this.fetchedTokens=o,o})}getFetchedTokens(e,t){let n=i.getStateKey(t,e);return this.fetchedTokens[n]||[]}}
|
|
1
|
+
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../types/cache.types.cjs`),t=require(`../../functions/utils/caseInsensitive.utils.cjs`),n=require(`../../API/API.cjs`),r=require(`../../error-handling/logger.cjs`),i=require(`../../functions/utils/string.utils.cjs`),a=require(`./token-visibility-db.cjs`);let o=require(`idb-keyval`);var s=new class{fetchedTokens={};initalFetched=!1;async updateFetchedTokens(){let t=await(0,o.get)(e.StorageKeys.PRIVATE_TOKENS);this.fetchedTokens=t??{},this.initalFetched=!0}async getPrivateTokens(t,n){let r=i.getStateKey(n,t);return(await(0,o.get)(e.StorageKeys.PRIVATE_TOKENS))?.[r]||[]}async fetchPrivateTokens(e,i,a){try{let r=[...new Set(i)].filter(e=>e&&!t.lowerCaseIncludes(a,e));if(!r.length)return[];let o=(await n.API.tokensInfoCall(e,r)).filter(e=>!!e),s=new Map;return o.forEach(e=>{s.set(e.erc20TokenAddress.toLowerCase(),e)}),Array.from(s.values())}catch(e){return r.Logger.error(`Error fetching private tokens:`,e),[]}}async fetchAndUpdatePrivateTokens(n,r,s,c){let l=(await this.getPrivateTokens(r,s)).map(e=>e.erc20TokenAddress),u=c??await this.fetchPrivateTokens(r,n,l),d=await a.tokenVisibilityStorage.hideSpamsAndFetchHiddenTokensAddresses(r,u),f=i.getStateKey(s,r);await(0,o.update)(e.StorageKeys.PRIVATE_TOKENS,(e={})=>{let n=e?.[f]||[],r=n.map(e=>e.erc20TokenAddress),i=u.filter(e=>!t.lowerCaseIncludes(r,e.erc20TokenAddress));n.push(...i);let a=n.filter(e=>!t.lowerCaseIncludes(d,e.erc20TokenAddress)),o={...e,[f]:a};return this.fetchedTokens=o,o})}getFetchedTokens(e,t){let n=i.getStateKey(t,e);return this.fetchedTokens[n]||[]}};exports.privateTokensDB=s;
|
|
@@ -5,8 +5,7 @@ import { Logger as r } from "../../error-handling/logger.mjs";
|
|
|
5
5
|
import { getStateKey as i } from "../../functions/utils/string.utils.mjs";
|
|
6
6
|
import { tokenVisibilityStorage as a } from "./token-visibility-db.mjs";
|
|
7
7
|
import { get as o, update as s } from "idb-keyval";
|
|
8
|
-
|
|
9
|
-
var c = class {
|
|
8
|
+
var c = new class {
|
|
10
9
|
fetchedTokens = {};
|
|
11
10
|
initalFetched = !1;
|
|
12
11
|
async updateFetchedTokens() {
|
|
@@ -45,6 +44,6 @@ var c = class {
|
|
|
45
44
|
let n = i(t, e);
|
|
46
45
|
return this.fetchedTokens[n] || [];
|
|
47
46
|
}
|
|
48
|
-
}
|
|
47
|
+
}();
|
|
49
48
|
//#endregion
|
|
50
|
-
export { c as
|
|
49
|
+
export { c as privateTokensDB };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../crypto/poseidon.cjs`)
|
|
1
|
+
require(`../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../crypto/poseidon.cjs`),n=require(`../utxo/Utxo.cjs`);let r=require(`ethers`),i=require(`@solana/web3.js`);var a=`solana-on-chain-utxo:`,o=8,s=e=>{if(e.length!==o)throw Error(`Expected ${o} on-chain fields, received ${e.length}`);let t=e.map((e,t)=>{let n=e instanceof Uint8Array?e:Uint8Array.from(e);if(n.length!==32)throw Error(`Expected bytes32 length 32 at position ${t}, got ${n.length}`);return`0x${Buffer.from(n).toString(`hex`)}`});return`${a}${r.ethers.AbiCoder.defaultAbiCoder().encode([`bytes32[8]`],[t])}`},c=e=>e.startsWith(a),l=e=>{if(!c(e))throw Error(`Invalid encoded Solana UTXO payload`);let[n]=r.ethers.AbiCoder.defaultAbiCoder().decode([`bytes32[8]`],e.slice(21)),a=n;if(!Array.isArray(a)||a.length!==o)throw Error(`Malformed encoded Solana UTXO payload`);let[s,l,u,d,f,p,m,h]=a,g=BigInt(s),_=BigInt(d),v=r.ethers.toBeHex(BigInt(f)),y=BigInt(p),b=BigInt(m),x=BigInt(h).toString(),S=Array.from(r.ethers.getBytes(l)),C=Array.from(r.ethers.getBytes(u)),w=new i.PublicKey(Uint8Array.from([...S.slice(16),...C.slice(16)])).toBase58();return{amount:g,erc20TokenAddress:t.poseidonHash(BigInt(l),BigInt(u)),mintAddress:w,randomization:_,stealthAddress:v,H0:y,H1:b,timeStamp:x}},u=e=>{let t=r.ethers.AbiCoder.defaultAbiCoder().decode([`uint256`,`address`,`tuple(uint256, uint256, uint256, uint256)`,`uint256`,`uint256`],e);return{amount:BigInt(t[0]),erc20TokenAddress:t[1],randomization:BigInt(t[2][0]),stealthAddress:r.ethers.toBeHex(BigInt(t[2][1])),H0:BigInt(t[2][2]),H1:BigInt(t[2][3]),timeStamp:BigInt(t[3]).toString(),tokenId:Number(t[4])}},d=(t,n,r)=>{if(e.isSolanaLike(r)){let{amount:e,erc20TokenAddress:r,mintAddress:i,randomization:a,stealthAddress:o,timeStamp:s}=l(t);return{amount:e,erc20TokenAddress:r,mintAddress:i,timeStamp:s,tokenId:0,randomization:a,shieldedPrivateKey:n,stealthAddress:o}}let{amount:i,erc20TokenAddress:a,timeStamp:o,tokenId:s,randomization:c,stealthAddress:d}=u(t);return{amount:i,erc20TokenAddress:a,timeStamp:o,tokenId:s,randomization:c,shieldedPrivateKey:n,stealthAddress:d}},f=(e,t,r)=>new n.Utxo(d(e,t,r));exports.decodeUtxo=f,exports.encodeSolanaOnChainUtxo=s,exports.isSolanaOnChainUtxo=c;
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { isSolanaLike as e } from "../../constants/chains.constants.mjs";
|
|
2
2
|
import { poseidonHash as t } from "../../crypto/poseidon.mjs";
|
|
3
|
-
import "./keys.mjs";
|
|
4
3
|
import { Utxo as n } from "../utxo/Utxo.mjs";
|
|
5
4
|
import { ethers as r } from "ethers";
|
|
6
5
|
import { PublicKey as i } from "@solana/web3.js";
|
|
@@ -72,4 +71,4 @@ var a = "solana-on-chain-utxo:", o = 8, s = (e) => {
|
|
|
72
71
|
};
|
|
73
72
|
}, f = (e, t, r) => new n(d(e, t, r));
|
|
74
73
|
//#endregion
|
|
75
|
-
export {
|
|
74
|
+
export { f as decodeUtxo, s as encodeSolanaOnChainUtxo, c as isSolanaOnChainUtxo };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../../../_virtual/_rolldown/runtime.cjs`);
|
|
1
|
+
const e=require(`../../../../_virtual/_rolldown/runtime.cjs`);let t=require(`ethers`),n=require(`@solana/web3.js`),r=require(`libsodium-wrappers`);r=e.__toESM(r);var i=e=>e.startsWith(`0x`)?e:`0x${e}`,a=e=>{let a=[Buffer.from(t.ethers.toBeHex(e.amount)),Buffer.from(i(e.erc20TokenAddress)),Buffer.from(t.ethers.toBeHex(e.randomization)),Buffer.from(i(e.getStealthAddress())),Buffer.from(t.ethers.toBeHex(BigInt(e.timeStamp))),Buffer.from(t.ethers.toBeHex(BigInt(e.tokenId??0)))];if(e.mintAddress){let r=new n.PublicKey(e.mintAddress),i=t.ethers.hexlify(r.toBytes());a.push(Buffer.from(i))}let o=Buffer.concat(a);return r.default.crypto_box_seal(o,t.ethers.getBytes(e.getEncryptionKey()))};exports.encryptUtxo=a;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../constants/protocol.constants.cjs`);var t=t=>{if(t<0n||t>=21888242871839275222246405745257275088548364400416034343698204186575808495617n)throw RangeError();return t>e.CIRCOM_P_HALF},n=e=>t(e)?1n:0n;exports.getCircomSign=n
|
|
1
|
+
const e=require(`../../constants/protocol.constants.cjs`);var t=t=>{if(t<0n||t>=21888242871839275222246405745257275088548364400416034343698204186575808495617n)throw RangeError();return t>e.CIRCOM_P_HALF},n=e=>t(e)?1n:0n;exports.getCircomSign=n;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../../constants/protocol.constants.cjs`),t=require(`../../../functions/utils/amounts.utils.cjs`),n=require(`../../../crypto/poseidon.cjs`),r=require(`../../merkle-tree/MerkleTree.cjs`)
|
|
1
|
+
const e=require(`../../../constants/protocol.constants.cjs`),t=require(`../../../functions/utils/amounts.utils.cjs`),n=require(`../../../crypto/poseidon.cjs`),r=require(`../../merkle-tree/MerkleTree.cjs`),i=require(`./AbstractSnapshotService.cjs`),a=require(`../../../functions/utils/merkleTree.utils.cjs`);var o=class extends i.AbstractSnapshotService{constructor(e){super(e,`NewAccessKeyAdded`)}_merkleTree;_senderAddresses;_senderAddressIndexMap;get merkleTree(){return this._merkleTree}get senderAddresses(){return this._senderAddresses}get senderAddressIndexMap(){return this._senderAddressIndexMap}serializeSnapshot(e){return{merkleTree:e.payload.merkleTree.toJSON(),senderAddresses:Array.from(e.payload.senderAddresses),latestBlockNumber:e.latestBlockNumber,senderAddressIndexMap:Array.from(e.payload.senderAddressIndexMap).map(([e,t])=>({address:e,index:t}))}}deserializeSnapshot(e){let t,i;return t=e.latestBlockNumber&&e.merkleTree?a.contructMerkleTreeFromSerialized(e.merkleTree):r.MerkleTree.create(n.poseidonFunction,0n),i=e.latestBlockNumber&&e.senderAddressIndexMap?new Map(e.senderAddressIndexMap.map(({address:e,index:t})=>[e,t])):new Map,{latestBlockNumber:e.latestBlockNumber??0,payload:{merkleTree:t,senderAddresses:e.senderAddresses??[],senderAddressIndexMap:i}}}acceptEvent(t,n){try{return this._merkleTree.insert(t.accessKey,t.index),this._senderAddressIndexMap.set(t.senderAddress,Math.max(Number(t.index),this._senderAddressIndexMap.get(t.senderAddress)??0)),this._senderAddresses.includes(t.senderAddress)||this._senderAddresses.push(t.senderAddress),t.accessKey===0n&&t.senderAddress===e.zeroAddress&&this._merkleTree.remove(t.index),!0}catch(e){return console.error(e),!1}}mapEvent(e){let n=e.getArg(`accessKey`),r=e.getArg(`index`),i=e.getArg(`senderAddress`);return{accessKey:t.toBigInt(n),index:t.toBigInt(r),senderAddress:i}}getSnapshotPayload(){return{merkleTree:this._merkleTree,senderAddresses:this._senderAddresses,senderAddressIndexMap:this._senderAddressIndexMap}}populateSnapshot({payload:{merkleTree:e,senderAddresses:t,senderAddressIndexMap:n}}){this._merkleTree=e,this._senderAddresses=t,this._senderAddressIndexMap=n}};exports.AbstractAccessTokenSnapshotService=o;
|
|
@@ -2,8 +2,6 @@ import { zeroAddress as e } from "../../../constants/protocol.constants.mjs";
|
|
|
2
2
|
import { toBigInt as t } from "../../../functions/utils/amounts.utils.mjs";
|
|
3
3
|
import { poseidonFunction as n } from "../../../crypto/poseidon.mjs";
|
|
4
4
|
import { MerkleTree as r } from "../../merkle-tree/MerkleTree.mjs";
|
|
5
|
-
import "../../merkle-tree/index.mjs";
|
|
6
|
-
import "../../../crypto/index.mjs";
|
|
7
5
|
import { AbstractSnapshotService as i } from "./AbstractSnapshotService.mjs";
|
|
8
6
|
import { contructMerkleTreeFromSerialized as a } from "../../../functions/utils/merkleTree.utils.mjs";
|
|
9
7
|
//#region libs/shared/common/src/data-structures/event-service/evm/AbstractAccessTokenSnapshotService.ts
|