@gurge/sdk-react-native 0.3.57 → 0.3.64
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/_virtual/_rolldown/runtime.cjs +1 -0
- package/_virtual/_rolldown/runtime.mjs +7 -0
- package/bootstrap.cjs +1 -0
- package/bootstrap.mjs +8 -0
- package/common/src/API/API.mjs +1 -1
- package/common/src/API/accessCodeCalls.mjs +1 -1
- package/common/src/API/admin-calls.mjs +1 -1
- package/common/src/API/brotherhoodCalls.mjs +1 -1
- package/common/src/API/callMonitor.mjs +1 -1
- package/common/src/API/callNearIntentsAPI.mjs +1 -1
- package/common/src/API/callOdosAPI.mjs +1 -1
- package/common/src/API/callOkxAPI.mjs +1 -1
- package/common/src/API/callOneInchAPI.mjs +1 -1
- package/common/src/API/callRelayer.mjs +1 -1
- package/common/src/API/dashboardAccountCalls.mjs +1 -1
- package/common/src/API/dashboardAccountMemberCalls.mjs +1 -1
- package/common/src/API/dashboardBalanceCalls.mjs +1 -1
- package/common/src/API/dashboardContactCalls.mjs +1 -1
- package/common/src/API/dashboardPayoutCalls.mjs +1 -1
- package/common/src/API/dashboardTransactionCalls.mjs +1 -1
- package/common/src/API/deposit-and-withdraw-status-calls.mjs +1 -1
- package/common/src/API/enclaveSignatureCalls.mjs +1 -1
- package/common/src/API/enclaveUtxoCalls.mjs +1 -1
- package/common/src/API/fetchCommitmentsCache.mjs +1 -1
- package/common/src/API/generate-trading-points.mjs +1 -1
- package/common/src/API/get-token-data.mjs +1 -1
- package/common/src/API/get-token-price-chart-data.mjs +1 -1
- package/common/src/API/getCoingeckoPrice.cjs +1 -1
- package/common/src/API/getGasEstimates.mjs +1 -1
- package/common/src/API/getTokenPrice.mjs +1 -1
- package/common/src/API/leaderboardCalls.mjs +1 -1
- package/common/src/API/onrampCalls.mjs +1 -1
- package/common/src/API/privacy-score-calls.mjs +1 -1
- package/common/src/API/privateSendEmailNotificationsCalls.mjs +1 -1
- package/common/src/API/privateSendNonceCalls.mjs +1 -1
- package/common/src/API/privateSendRecipientInfoCalls.mjs +1 -1
- package/common/src/API/proxyAccountsCalls.cjs +1 -1
- package/common/src/API/proxyAccountsCalls.mjs +1 -1
- package/common/src/API/referralsCalls.mjs +1 -1
- package/common/src/API/relayCalls.mjs +1 -1
- package/common/src/API/rewardsUserCalls.mjs +1 -1
- package/common/src/API/scheduled-transactions-calls.mjs +1 -1
- package/common/src/API/seedless-calls.mjs +1 -1
- package/common/src/API/send-telegram-callback.mjs +1 -1
- package/common/src/API/simulate-batch-tx.mjs +1 -1
- package/common/src/API/simulate-transaction.mjs +1 -1
- package/common/src/API/snapshot-event-calls.mjs +1 -1
- package/common/src/API/temporaryWalletCalls.mjs +1 -1
- package/common/src/API/token-calls.mjs +1 -1
- package/common/src/API/tronSubsidyCalls.mjs +1 -1
- package/common/src/API/weeklyAnalyticCalls.mjs +1 -1
- package/common/src/constants/addresses.constants.mjs +1 -1
- package/common/src/constants/auth.constants.mjs +1 -1
- package/common/src/constants/chains.constants.cjs +1 -1
- package/common/src/constants/chains.constants.mjs +22 -22
- package/common/src/constants/coingecko.constants.mjs +1 -1
- package/common/src/constants/contracts.constants.mjs +1 -1
- package/common/src/constants/deploy-data/index.mjs +1 -1
- package/common/src/constants/deploy-data/mergeDeployData.mjs +1 -1
- package/common/src/constants/events.constants.mjs +1 -1
- package/common/src/constants/fees.constants.mjs +1 -1
- package/common/src/constants/index.cjs +1 -1
- package/common/src/constants/index.mjs +1 -1
- package/common/src/constants/lifi.constants.mjs +1 -1
- package/common/src/constants/permit2.constants.mjs +1 -1
- package/common/src/constants/protocol.constants.mjs +1 -1
- package/common/src/constants/reorg-depths.constants.mjs +1 -1
- package/common/src/constants/save-depths.mjs +1 -1
- package/common/src/constants/server.constants.mjs +1 -1
- package/common/src/constants/tasks.constants.mjs +1 -1
- package/common/src/constants/tx-confirmation.constants.mjs +1 -1
- package/common/src/constants/vite.constants.cjs +1 -1
- package/common/src/constants/vite.constants.mjs +7 -7
- package/common/src/crypto/BabyJubRN.mjs +1 -1
- package/common/src/crypto/EddsaRN.cjs +1 -1
- package/common/src/crypto/EddsaRN.mjs +1 -1
- package/common/src/crypto/babyJub.cjs +1 -1
- package/common/src/crypto/ecdh-sealed-keys.cjs +1 -1
- package/common/src/crypto/ecdh-sealed-keys.mjs +1 -1
- package/common/src/crypto/ecdh.cjs +1 -1
- package/common/src/crypto/eddsa.cjs +1 -1
- package/common/src/crypto/poseidon.cjs +1 -1
- package/common/src/crypto/poseidon.mjs +1 -1
- package/common/src/crypto/preProcessing.cjs +1 -1
- package/common/src/crypto/preProcessing.mjs +5 -5
- package/common/src/data-structures/AccountActions/AccountActions.cjs +1 -1
- package/common/src/data-structures/AccountActions/AccountActions.mjs +1 -1
- package/common/src/data-structures/BlockchainEvent/BlockchainEvent.mjs +1 -1
- package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
- package/common/src/data-structures/Hinkal/Hinkal.mjs +1 -1
- package/common/src/data-structures/Hinkal/handleAutoDepositBack.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalActionReceive.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalClaimUtxo.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDeposit.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalGetRecipientInfo.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalMultiSend.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalPrivateWallet.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalProxySwap.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSignSubAccount.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaProoflessDeposit.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaProxySend.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaProxySend.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaSwap.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSwap.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalTransfer.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalWithdraw.mjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +1 -1
- package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.cjs +1 -1
- package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.mjs +1 -1
- package/common/src/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
- package/common/src/data-structures/Hinkal/resetMerkleTrees.mjs +1 -1
- package/common/src/data-structures/IndexedDB/activity-db.cjs +1 -1
- package/common/src/data-structures/IndexedDB/activity-db.mjs +1 -1
- package/common/src/data-structures/IndexedDB/balances-db.cjs +1 -1
- package/common/src/data-structures/IndexedDB/contact-db.cjs +1 -1
- package/common/src/data-structures/IndexedDB/key-val-store.cjs +1 -1
- package/common/src/data-structures/IndexedDB/key-val-store.mjs +10 -9
- package/common/src/data-structures/IndexedDB/pay-activity-db.cjs +1 -1
- package/common/src/data-structures/IndexedDB/signatures-db.cjs +1 -1
- package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs +1 -1
- package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.mjs +11 -11
- package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.mjs +1 -1
- package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/PrivateTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/PrivateTokensDB.mjs +1 -1
- package/common/src/data-structures/TokenDBs/PublicTokensDB.mjs +1 -1
- package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/TempoPublicTokensDB.mjs +1 -1
- package/common/src/data-structures/TokenDBs/TronPublicTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/TronPublicTokensDB.mjs +1 -1
- package/common/src/data-structures/TokenDBs/token-visibility-db.cjs +1 -1
- package/common/src/data-structures/cacheDevices/AttachableMemoryCacheDevice.mjs +1 -1
- package/common/src/data-structures/cacheDevices/BaseCacheDevice.mjs +1 -1
- package/common/src/data-structures/cacheDevices/FileCacheDevice.cjs +1 -1
- package/common/src/data-structures/cacheDevices/FileCacheDevice.mjs +11 -11
- package/common/src/data-structures/cacheDevices/LocalStorageCacheDevice.mjs +1 -1
- package/common/src/data-structures/crypto-keys/decodeUTXO.cjs +1 -1
- package/common/src/data-structures/crypto-keys/decodeUTXO.mjs +1 -1
- package/common/src/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -1
- package/common/src/data-structures/crypto-keys/encryptDecryptUtxo.mjs +1 -1
- package/common/src/data-structures/crypto-keys/keyUtils.mjs +1 -1
- package/common/src/data-structures/crypto-keys/keys.cjs +1 -1
- package/common/src/data-structures/crypto-keys/keys.mjs +1 -1
- package/common/src/data-structures/event-service/evm/AbstractCommitmentsSnapshotService.mjs +1 -1
- package/common/src/data-structures/event-service/evm/AbstractEventService.mjs +1 -1
- package/common/src/data-structures/event-service/evm/AbstractNullifierSnapshotService.cjs +1 -1
- package/common/src/data-structures/event-service/evm/AbstractNullifierSnapshotService.mjs +1 -1
- package/common/src/data-structures/event-service/evm/AbstractSnapshotService.mjs +1 -1
- package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
- package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.mjs +1 -1
- package/common/src/data-structures/event-service/evm/ClientBlockchainEventEmitter.mjs +1 -1
- package/common/src/data-structures/event-service/helpers/ClientEventHelper.mjs +1 -1
- package/common/src/data-structures/event-service/solana/AbstractSolanaCommitmentsSnapshotService.mjs +1 -1
- package/common/src/data-structures/event-service/solana/AbstractSolanaEventService.mjs +1 -1
- package/common/src/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.cjs +1 -1
- package/common/src/data-structures/event-service/solana/AbstractSolanaNullifierSnapshotService.mjs +1 -1
- package/common/src/data-structures/event-service/solana/AbstractSolanaSnapshotService.mjs +1 -1
- package/common/src/data-structures/event-service/solana/ClientSolanaBlockchainEventEmitter.mjs +1 -1
- package/common/src/data-structures/event-service/solana/SolanaBlockchainEventEmitter.cjs +1 -1
- package/common/src/data-structures/event-service/solana/SolanaBlockchainEventEmitter.mjs +1 -1
- package/common/src/data-structures/http/BasicHttpClient.cjs +1 -1
- package/common/src/data-structures/http/BasicHttpClient.mjs +1 -1
- package/common/src/data-structures/http/HttpClient.mjs +1 -1
- package/common/src/data-structures/merkle-tree/MerkleTree.mjs +1 -1
- package/common/src/data-structures/merkle-tree/MerkleTreeIncompleteError.mjs +1 -1
- package/common/src/data-structures/private-balances/BalanceChangedHandler.mjs +1 -1
- package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.mjs +1 -1
- package/common/src/data-structures/private-balances/privateBalancesReducer.mjs +1 -1
- package/common/src/data-structures/snapshot/SnapshotFetcherService.mjs +1 -1
- package/common/src/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.mjs +1 -1
- package/common/src/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.mjs +1 -1
- package/common/src/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.mjs +1 -1
- package/common/src/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.mjs +1 -1
- package/common/src/data-structures/token-price-fetcher/TokenChecker.mjs +1 -1
- package/common/src/data-structures/utxo/Utxo.mjs +1 -1
- package/common/src/error-handling/customErrors/ErrorWithAmount.mjs +1 -1
- package/common/src/error-handling/customErrors/ErrorWithTx.mjs +1 -1
- package/common/src/error-handling/customErrors/FeeOverTransactionValueError.mjs +1 -1
- package/common/src/error-handling/customErrors/customErrors.helpers.mjs +1 -1
- package/common/src/error-handling/error-codes.constants.mjs +1 -1
- package/common/src/error-handling/get-error.message.mjs +1 -1
- package/common/src/error-handling/isInsufficientFundsError.mjs +1 -1
- package/common/src/error-handling/logError.mjs +1 -1
- package/common/src/error-handling/logger.mjs +1 -1
- package/common/src/error-handling/retrySolanaError.mjs +1 -1
- package/common/src/error-handling/types.mjs +1 -1
- package/common/src/externalABIs/index.mjs +1 -1
- package/common/src/externalABIs/swapAbi.mjs +1 -1
- package/common/src/functions/auto-deposit-back-helpers/get-gas-token-records.mjs +1 -1
- package/common/src/functions/auto-deposit-back-helpers/get-tokens-to-deposit-back.mjs +1 -1
- package/common/src/functions/auto-deposit-back-helpers/select-gas-token.mjs +1 -1
- package/common/src/functions/auto-deposit-back-helpers/update-hinkal.mjs +1 -1
- package/common/src/functions/index.cjs +1 -1
- package/common/src/functions/index.mjs +1 -1
- package/common/src/functions/pre-transaction/buildCommitmentValidationData.cjs +1 -1
- package/common/src/functions/pre-transaction/buildCommitmentValidationData.mjs +15 -15
- package/common/src/functions/pre-transaction/constructAdminData.mjs +1 -1
- package/common/src/functions/pre-transaction/convert-okx-instructions.cjs +1 -1
- package/common/src/functions/pre-transaction/convert-okx-instructions.mjs +1 -1
- package/common/src/functions/pre-transaction/ensureAmountChanges.cjs +1 -1
- package/common/src/functions/pre-transaction/ensureAmountChanges.mjs +1 -1
- package/common/src/functions/pre-transaction/getExternalSwapAddress.mjs +1 -1
- package/common/src/functions/pre-transaction/getFeeStructure.mjs +1 -1
- package/common/src/functions/pre-transaction/getSolanaCalldataHash.cjs +1 -1
- package/common/src/functions/pre-transaction/getSolanaCalldataHash.mjs +1 -1
- package/common/src/functions/pre-transaction/getVolatileTransferAmount.mjs +1 -1
- package/common/src/functions/pre-transaction/merge-with-fee-structure-emporium.mjs +1 -1
- package/common/src/functions/pre-transaction/merge-with-fee-structure.mjs +1 -1
- package/common/src/functions/pre-transaction/outputUtxoProcessing.mjs +1 -1
- package/common/src/functions/pre-transaction/process-gas-estimates.mjs +1 -1
- package/common/src/functions/pre-transaction/recipientUtxoProcessing.mjs +1 -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/pre-transaction/solanaTransfer.utils.cjs +1 -1
- package/common/src/functions/pre-transaction/solanaTransfer.utils.mjs +1 -1
- package/common/src/functions/pre-transaction/waitForDepositedUtxosInMerkleTree.mjs +1 -1
- package/common/src/functions/private-wallet/emporium.helpers.cjs +1 -1
- package/common/src/functions/private-wallet/emporium.helpers.mjs +1 -1
- package/common/src/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
- package/common/src/functions/private-wallet/emporium.swap.helpers.mjs +1 -1
- package/common/src/functions/snarkjs/common.snarkjs.cjs +1 -1
- package/common/src/functions/snarkjs/common.snarkjs.mjs +1 -1
- package/common/src/functions/snarkjs/constant.mjs +1 -1
- package/common/src/functions/snarkjs/constructGeneralZkProof.mjs +1 -1
- package/common/src/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
- package/common/src/functions/snarkjs/constructSolanaZkProof.mjs +1 -1
- package/common/src/functions/snarkjs/fetchMerkleTreeSiblings.mjs +1 -1
- package/common/src/functions/snarkjs/fetchOnChainRootHashes.cjs +1 -1
- package/common/src/functions/snarkjs/fetchOnChainRootHashes.mjs +1 -1
- package/common/src/functions/snarkjs/generateCircomData.mjs +1 -1
- package/common/src/functions/snarkjs/generateMainAndCommitmentZkProof.mjs +1 -1
- package/common/src/functions/snarkjs/generateZkProof.mjs +1 -1
- package/common/src/functions/snarkjs/generateZkProofEnclave.mjs +1 -1
- package/common/src/functions/snarkjs/generateZkProofSelf.mjs +1 -1
- package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.cjs +1 -1
- package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.mjs +34 -34
- package/common/src/functions/snarkjs/getOriginalSender.mjs +1 -1
- package/common/src/functions/snarkjs/getZKFiles.mjs +1 -1
- package/common/src/functions/snarkjs/signedMessageHash.cjs +1 -1
- package/common/src/functions/snarkjs/signedMessageHash.mjs +1 -1
- package/common/src/functions/snarkjs/verifyCommitmentValidationData.cjs +1 -1
- package/common/src/functions/utils/abi.utils.cjs +1 -1
- package/common/src/functions/utils/abi.utils.mjs +1 -1
- package/common/src/functions/utils/addresses.cjs +1 -1
- package/common/src/functions/utils/addresses.mjs +1 -1
- package/common/src/functions/utils/aggregateTokenAmounts.mjs +1 -1
- package/common/src/functions/utils/amounts.utils.mjs +1 -1
- package/common/src/functions/utils/auth.utils.mjs +1 -1
- package/common/src/functions/utils/bigint-math.utils.mjs +1 -1
- package/common/src/functions/utils/bit.operations.mjs +1 -1
- package/common/src/functions/utils/bytes32.utils.cjs +1 -1
- package/common/src/functions/utils/bytes32.utils.mjs +2 -2
- package/common/src/functions/utils/cacheDevice.utils.cjs +1 -1
- package/common/src/functions/utils/cacheDevice.utils.mjs +8 -8
- package/common/src/functions/utils/cacheFunctions.mjs +1 -1
- package/common/src/functions/utils/caseInsensitive.utils.mjs +1 -1
- package/common/src/functions/utils/convertEmporiumOpToCallInfo.cjs +1 -1
- package/common/src/functions/utils/convertEmporiumOpToCallInfo.mjs +1 -1
- package/common/src/functions/utils/create-provider.cjs +1 -1
- package/common/src/functions/utils/create-provider.mjs +1 -1
- package/common/src/functions/utils/customEnclaveFunctionsRegister.mjs +1 -1
- package/common/src/functions/utils/enclave-signature-storage.mjs +1 -1
- package/common/src/functions/utils/enclaveHandshakeService.mjs +1 -1
- package/common/src/functions/utils/encodeTokenWithId.mjs +1 -1
- package/common/src/functions/utils/encryptInputForEnclave.cjs +1 -1
- package/common/src/functions/utils/encryptInputForEnclave.mjs +1 -1
- package/common/src/functions/utils/enum.utils.mjs +1 -1
- package/common/src/functions/utils/erc20tokenFunctions.mjs +1 -1
- package/common/src/functions/utils/external-action.utils.cjs +1 -1
- package/common/src/functions/utils/external-action.utils.mjs +1 -1
- package/common/src/functions/utils/fees.utils.mjs +1 -1
- package/common/src/functions/utils/get-signature-header.mjs +1 -1
- package/common/src/functions/utils/getContractAddress.mjs +1 -1
- package/common/src/functions/utils/getRecipientInfoFromUserKeys.mjs +1 -1
- package/common/src/functions/utils/getSignerFromContract.cjs +1 -1
- package/common/src/functions/utils/getSignerFromContract.mjs +1 -1
- package/common/src/functions/utils/getUtxosFromReceipt.utils.mjs +1 -1
- package/common/src/functions/utils/getUtxosFromReceiptSolana.cjs +1 -1
- package/common/src/functions/utils/getUtxosFromReceiptSolana.mjs +1 -1
- package/common/src/functions/utils/index.cjs +1 -1
- package/common/src/functions/utils/index.mjs +1 -1
- package/common/src/functions/utils/involves-permit2-op.mjs +1 -1
- package/common/src/functions/utils/map.utils.mjs +1 -1
- package/common/src/functions/utils/merkleTree.utils.mjs +1 -1
- package/common/src/functions/utils/mnemonics.cjs +1 -1
- package/common/src/functions/utils/mnemonics.mjs +1 -1
- package/common/src/functions/utils/mutexes.utils.mjs +1 -1
- package/common/src/functions/utils/nearIntents.utils.mjs +1 -1
- package/common/src/functions/utils/postToOffscreen.mjs +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 +1 -1
- package/common/src/functions/utils/reloadPage.mjs +1 -1
- package/common/src/functions/utils/resolve-sync.utils.mjs +1 -1
- package/common/src/functions/utils/serialize-utxos.utils.mjs +1 -1
- package/common/src/functions/utils/serialize.utils.mjs +1 -1
- package/common/src/functions/utils/solana-memo.cjs +1 -1
- 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.mjs +1 -1
- package/common/src/functions/utils/time.utils.mjs +1 -1
- package/common/src/functions/utils/token-check.utils.mjs +1 -1
- 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/tronSimulation.utils.mjs +1 -1
- package/common/src/functions/utils/tx-confirmation.utils.mjs +1 -1
- package/common/src/functions/utils/upToDateState.mjs +1 -1
- package/common/src/functions/utils/userAgent.cjs +1 -1
- package/common/src/functions/web3/etherFunctions.cjs +1 -1
- package/common/src/functions/web3/etherFunctions.mjs +1 -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/getInputUtxosEnclave.cjs +1 -1
- package/common/src/functions/web3/events/getInputUtxosEnclave.mjs +1 -1
- package/common/src/functions/web3/events/getShieldedBalance.cjs +1 -1
- package/common/src/functions/web3/events/getShieldedBalance.mjs +1 -1
- package/common/src/functions/web3/fetchSolanaMerkleTreeRootHash.mjs +1 -1
- package/common/src/functions/web3/functionCalls/approveToken.cjs +1 -1
- package/common/src/functions/web3/functionCalls/approveToken.mjs +1 -1
- package/common/src/functions/web3/functionCalls/approveTokensToHinkal.mjs +1 -1
- package/common/src/functions/web3/functionCalls/constructBatchCall.cjs +1 -1
- package/common/src/functions/web3/functionCalls/constructBatchCall.mjs +1 -1
- package/common/src/functions/web3/functionCalls/recoverTransactionFromError.mjs +1 -1
- package/common/src/functions/web3/functionCalls/transactCallDirect.cjs +1 -1
- package/common/src/functions/web3/functionCalls/transactCallDirect.mjs +1 -1
- package/common/src/functions/web3/functionCalls/transactCallDirectTron.mjs +1 -1
- package/common/src/functions/web3/functionCalls/transactCallRelayer.mjs +1 -1
- package/common/src/functions/web3/functionCalls/waitForErc20Approvals.mjs +1 -1
- package/common/src/functions/web3/getContractMetadata.cjs +1 -1
- package/common/src/functions/web3/getContractMetadata.mjs +1 -1
- package/common/src/functions/web3/getPublicAddressBalance.mjs +1 -1
- package/common/src/functions/web3/getSolanaPriorityFee.mjs +1 -1
- package/common/src/functions/web3/odosAPI.mjs +1 -1
- package/common/src/functions/web3/okxAPI.cjs +1 -1
- package/common/src/functions/web3/okxAPI.mjs +1 -1
- package/common/src/functions/web3/oneInchAPI.mjs +1 -1
- package/common/src/functions/web3/uniswapAPI.cjs +1 -1
- package/common/src/functions/web3/uniswapAPI.mjs +1 -1
- package/common/src/mutexes/chainBalanceRwLock.cjs +1 -1
- package/common/src/mutexes/chainBalanceRwLock.mjs +1 -1
- package/common/src/mutexes/mutex.cjs +1 -1
- package/common/src/providers/EthersProviderAdapter.cjs +1 -1
- package/common/src/providers/EthersProviderAdapter.mjs +5 -3
- package/common/src/providers/SolanaProviderAdapter.cjs +1 -1
- package/common/src/providers/SolanaProviderAdapter.mjs +1 -1
- package/common/src/providers/TronProviderAdapter.mjs +1 -1
- package/common/src/providers/WagmiProviderAdapter.cjs +1 -1
- package/common/src/providers/WagmiProviderAdapter.mjs +5 -3
- package/common/src/types/activities.types.mjs +1 -1
- package/common/src/types/admin.types.mjs +1 -1
- package/common/src/types/balances.types.mjs +1 -1
- package/common/src/types/cache.types.mjs +1 -1
- package/common/src/types/chains.types.mjs +1 -1
- package/common/src/types/circom-data.types.mjs +1 -1
- package/common/src/types/eip5792.types.mjs +1 -1
- package/common/src/types/ethereum-network.types.mjs +1 -1
- package/common/src/types/events.types.mjs +1 -1
- package/common/src/types/external-action.types.mjs +1 -1
- package/common/src/types/fee.types.mjs +1 -1
- package/common/src/types/hinkal.types.cjs +1 -1
- package/common/src/types/hinkal.types.mjs +1 -1
- package/common/src/types/new-rewards.type.mjs +1 -1
- package/common/src/types/offscreen.types.mjs +1 -1
- package/common/src/types/schedule.types.mjs +1 -1
- package/common/src/types/scheduled-transactions.types.mjs +1 -1
- package/common/src/types/token.types.mjs +1 -1
- package/common/src/types/transaction.types.mjs +1 -1
- package/common/src/types/transactions.types.mjs +1 -1
- package/common/src/webworker/WorkerWrapper.mjs +1 -1
- package/common/src/webworker/performTaskWithWorker.cjs +1 -1
- package/common/src/webworker/performTaskWithWorker.mjs +7 -7
- package/common/src/webworker/snarkjsWorker/snarkjsWorker.types.mjs +1 -1
- package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
- package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +2 -2
- package/common/src/webworker/utxoWorker/utxoWorker.types.mjs +1 -1
- package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
- package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +2 -2
- package/common/src/webworker/viteWorkerURL.constant.cjs +1 -28
- package/common/src/webworker/viteWorkerURL.constant.mjs +13 -27
- package/common/src/webworker/worker.registry.mjs +1 -1
- package/common/src/webworker/workerFactory.cjs +1 -1
- package/common/src/webworker/workerFactory.mjs +23 -21
- package/common/src/webworker/zkProofWorker/zkProofWorker.types.mjs +1 -1
- package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
- package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +2 -2
- package/index.cjs +1 -98
- package/index.mjs +12 -363
- package/internal/monitorConnectedAddress.cjs +1 -0
- package/internal/monitorConnectedAddress.mjs +8 -0
- package/internal/swapApi.cjs +1 -0
- package/internal/swapApi.mjs +32 -0
- package/internal/token.utils.cjs +1 -0
- package/internal/token.utils.mjs +17 -0
- package/package.json +14 -15
- package/providers/prepareWagmiHinkal.cjs +1 -1
- package/providers/prepareWagmiHinkal.mjs +4 -4
- package/react-native/HinkalProvider.cjs +1 -0
- package/react-native/HinkalProvider.mjs +6 -0
- package/providers/EthersProviderAdapter.cjs +0 -1
- package/providers/EthersProviderAdapter.mjs +0 -5
- package/providers/SolanaProviderAdapter.cjs +0 -1
- package/providers/SolanaProviderAdapter.mjs +0 -5
- package/providers/TronProviderAdapter.cjs +0 -1
- package/providers/TronProviderAdapter.mjs +0 -5
- package/providers/WagmiProviderAdapter.cjs +0 -1
- package/providers/WagmiProviderAdapter.mjs +0 -5
|
@@ -12,7 +12,7 @@ import { outputUtxoProcessing as d } from "../../functions/pre-transaction/outpu
|
|
|
12
12
|
import { getFeeStructure as f } from "../../functions/pre-transaction/getFeeStructure.mjs";
|
|
13
13
|
import { constructZkProof as p } from "../../functions/snarkjs/constructGeneralZkProof.mjs";
|
|
14
14
|
import { transactCallRelayer as m } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
|
|
15
|
-
//#region
|
|
15
|
+
//#region common/src/data-structures/Hinkal/hinkalClaimUtxo.ts
|
|
16
16
|
var h = async (h, g, _, v, y) => {
|
|
17
17
|
let b = u([g]), x = e(b), S = g.erc20TokenAddress, C = c(await h.getEthereumAddressByChain(b));
|
|
18
18
|
if (!n(S, _.erc20TokenAddress)) throw Error("Off-chain UTXO token mismatch");
|
|
@@ -15,7 +15,7 @@ import { constructZkProof as C } from "../../functions/snarkjs/constructGeneralZ
|
|
|
15
15
|
import { waitForTronErc20Approvals as w } from "../../functions/web3/functionCalls/waitForErc20Approvals.mjs";
|
|
16
16
|
import { transactCallDirect as T } from "../../functions/web3/functionCalls/transactCallDirect.mjs";
|
|
17
17
|
import { emitTxPublicData as E } from "../../API/admin-calls.mjs";
|
|
18
|
-
//#region
|
|
18
|
+
//#region common/src/data-structures/Hinkal/hinkalDeposit.ts
|
|
19
19
|
var D = async (e, t) => ({
|
|
20
20
|
externalActionData: {
|
|
21
21
|
externalActionId: 0n,
|
|
@@ -24,7 +24,7 @@ import { transactCallRelayerBatch as C } from "../../functions/web3/functionCall
|
|
|
24
24
|
import { safeUpdateDepositAndWithdrawStatus as w } from "../../API/deposit-and-withdraw-status-calls.mjs";
|
|
25
25
|
import { hinkalDepositOnChainUtxos as T } from "./hinkalDepositOnChainUtxos.mjs";
|
|
26
26
|
import "../../functions/index.mjs";
|
|
27
|
-
//#region
|
|
27
|
+
//#region common/src/data-structures/Hinkal/hinkalDepositAndBridge.ts
|
|
28
28
|
var E = async (t, l, u, f, p, h, g, v, T, E, D) => {
|
|
29
29
|
if (f.length === 0) throw Error("No recipients to bridge");
|
|
30
30
|
let O = u.erc20TokenAddress, { contractData: k } = e[l], { emporiumAddress: A } = k;
|
|
@@ -19,7 +19,7 @@ import { transactCallRelayerBatch as v } from "../../functions/web3/functionCall
|
|
|
19
19
|
import { safeUpdateDepositAndWithdrawStatus as y } from "../../API/deposit-and-withdraw-status-calls.mjs";
|
|
20
20
|
import { hinkalDepositOnChainUtxos as b } from "./hinkalDepositOnChainUtxos.mjs";
|
|
21
21
|
import "../../functions/index.mjs";
|
|
22
|
-
//#region
|
|
22
|
+
//#region common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.ts
|
|
23
23
|
var x = async (o, c, l, f, m, h, b, x, S, C, w, T) => {
|
|
24
24
|
let E = e(c);
|
|
25
25
|
if (f.length === 0) throw Error("userDepositedUtxos must not be empty");
|
|
@@ -9,7 +9,7 @@ import { transactCallDirect as o } from "../../functions/web3/functionCalls/tran
|
|
|
9
9
|
import { transactCallDirectTron as s } from "../../functions/web3/functionCalls/transactCallDirectTron.mjs";
|
|
10
10
|
import { safeUpdateDepositAndWithdrawStatus as c, updateDepositAndWithdrawStatus as l } from "../../API/deposit-and-withdraw-status-calls.mjs";
|
|
11
11
|
import { prepareDepositOnChainUtxosZkProof as u } from "./prepareDepositOnChainUtxosZkProof.mjs";
|
|
12
|
-
//#region
|
|
12
|
+
//#region common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.ts
|
|
13
13
|
var d = async (d, f, p, m, h, g, _, v = !0) => {
|
|
14
14
|
let y = e(f), b = p.erc20TokenAddress, { zkCallData: x, circomData: S, dimData: C, totalAmount: w, utxoAmounts: T, hinkalWrapperAddress: E, hinkalWrapperABI: D, depositOnChainUtxosExternalActionAddress: O, depositOnChainUtxosExternalActionABI: k } = await u(d, f, p, m, g), A = (await l({
|
|
15
15
|
chainId: f,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getRecipientInfoFromUserKeys as e } from "../../functions/utils/getRecipientInfoFromUserKeys.mjs";
|
|
2
|
-
//#region
|
|
2
|
+
//#region common/src/data-structures/Hinkal/hinkalGetRecipientInfo.ts
|
|
3
3
|
var t = (t) => {
|
|
4
4
|
if (!t) throw Error("No hinkal provided");
|
|
5
5
|
let { userKeys: n } = t;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { transactionErrorCodes as e } from "../../error-handling/error-codes.constants.mjs";
|
|
2
2
|
import { constructStealthAddressStructure as t, isValidPrivateAddress as n } from "../../functions/utils/addresses.mjs";
|
|
3
|
-
//#region
|
|
3
|
+
//#region common/src/data-structures/Hinkal/hinkalMultiSend.ts
|
|
4
4
|
var r = async (r, i, a, o) => {
|
|
5
5
|
let s;
|
|
6
6
|
return o && (s = o.map((r) => {
|
|
@@ -6,7 +6,7 @@ import { getNearIntentsQuote as i } from "../../API/callNearIntentsAPI.mjs";
|
|
|
6
6
|
import { buildNearBridgeFeeStructure as a } from "../../functions/utils/nearIntents.utils.mjs";
|
|
7
7
|
import { hinkalDepositAndWithdraw as o } from "./hinkalDepositAndWithdraw.mjs";
|
|
8
8
|
import { hinkalSolanaDepositAndWithdraw as s } from "./hinkalSolanaDepositAndWithdraw.mjs";
|
|
9
|
-
//#region
|
|
9
|
+
//#region common/src/data-structures/Hinkal/hinkalNearDepositAndBridge.ts
|
|
10
10
|
var c = async (c, l, u, d, f, p, m, h, g, _) => {
|
|
11
11
|
if (u.length !== d.length) throw Error("recipientAmounts and recipientAddresses length mismatch");
|
|
12
12
|
if (u.length === 0) throw Error("No recipients to bridge");
|
|
@@ -21,7 +21,7 @@ import { transactCallRelayer as _ } from "../../functions/web3/functionCalls/tra
|
|
|
21
21
|
import { mergeWithFeeStructure as v } from "../../functions/pre-transaction/merge-with-fee-structure.mjs";
|
|
22
22
|
import { mergeWithFeeStructureEmporium as y } from "../../functions/pre-transaction/merge-with-fee-structure-emporium.mjs";
|
|
23
23
|
import { handleAutoDepositBack as b } from "./handleAutoDepositBack.mjs";
|
|
24
|
-
//#region
|
|
24
|
+
//#region common/src/data-structures/Hinkal/hinkalPrivateWallet.ts
|
|
25
25
|
var x = async (e, t, n, i, a) => {
|
|
26
26
|
let o = [...await s(e, t, n, i)], l = [], u = r().toString();
|
|
27
27
|
for (let t = 0; t < n.length; t += 1) {
|
|
@@ -14,7 +14,7 @@ import { waitForErc20Approvals as _, waitForTronErc20Approvals as v } from "../.
|
|
|
14
14
|
import { emitTxPublicData as y } from "../../API/admin-calls.mjs";
|
|
15
15
|
import { aggregateAmountsForApproval as b, approveTokens as x, approveTronTokens as S, assertNoDuplicateStealthAddressStructures as C } from "./hinkalProoflessDeposit.utils.mjs";
|
|
16
16
|
import { hinkalEvmProoflessDepositViaWrapper as w, hinkalTronProoflessDepositViaWrapper as T } from "./hinkalProoflessDepositViaWrapper.mjs";
|
|
17
|
-
//#region
|
|
17
|
+
//#region common/src/data-structures/Hinkal/hinkalProoflessDeposit.ts
|
|
18
18
|
var E = async (e, r, i, a, d, f = !1) => {
|
|
19
19
|
let p = e.getTronWeb(), { hinkalAddress: m } = t[r].contractData, g = l(m), _ = await e.getEthereumAddressByChain(r), y = i.map((e) => e.erc20TokenAddress), b = i.map(() => 0n), { totalTrxValue: x, tokensNeedingApproval: C } = u(i, a), w = d.map((e) => ({
|
|
20
20
|
extraRandomization: e.extraRandomization.toString(),
|
|
@@ -4,7 +4,7 @@ import { ContractType as r } from "../../types/ethereum-network.types.mjs";
|
|
|
4
4
|
import { ERC20ABI as i } from "../../externalABIs/index.mjs";
|
|
5
5
|
import { isSameERC20Token as a } from "../../functions/utils/token-check.utils.mjs";
|
|
6
6
|
import { waitForEthereumTransactionConfirmation as o } from "../../functions/utils/tx-confirmation.utils.mjs";
|
|
7
|
-
//#region
|
|
7
|
+
//#region common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.ts
|
|
8
8
|
var s = (e, t) => {
|
|
9
9
|
let n = [], r = 0;
|
|
10
10
|
for (let i = 0; i < e.length; i += 1) {
|
|
@@ -11,7 +11,7 @@ import { buildApproveAndDepositWrapperCalls as f } from "../../functions/web3/fu
|
|
|
11
11
|
import { waitForErc20Approvals as p, waitForTronErc20Approvals as m } from "../../functions/web3/functionCalls/waitForErc20Approvals.mjs";
|
|
12
12
|
import { emitTxPublicData as h } from "../../API/admin-calls.mjs";
|
|
13
13
|
import { aggregateAmountsForApproval as g, approveTokens as _, approveTronTokens as v, assertNoDuplicateStealthAddressStructures as y } from "./hinkalProoflessDeposit.utils.mjs";
|
|
14
|
-
//#region
|
|
14
|
+
//#region common/src/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.ts
|
|
15
15
|
var b = (e, t, i, a) => {
|
|
16
16
|
let o = r(e, n), s = i.reduce((e, t, i) => r(t.erc20TokenAddress, n) ? e + a[i] : e, 0n) + (o ? t : 0n), c = g(i, a), l = c.filter(({ token: e }) => !r(e.erc20TokenAddress, n)).map((n) => !o && r(n.token.erc20TokenAddress, e) ? {
|
|
17
17
|
token: n.token,
|
|
@@ -7,7 +7,7 @@ import { getFeeStructure as i } from "../../functions/pre-transaction/getFeeStru
|
|
|
7
7
|
import { SWAP_ROUTER_ADDRESSES as a } from "../../constants/addresses.constants.mjs";
|
|
8
8
|
import { convertEmporiumOpToCallInfo as o } from "../../functions/utils/convertEmporiumOpToCallInfo.mjs";
|
|
9
9
|
import { createSwapToEmporiumOps as s } from "../../functions/private-wallet/emporium.swap.helpers.mjs";
|
|
10
|
-
//#region
|
|
10
|
+
//#region common/src/data-structures/Hinkal/hinkalProxySwap.ts
|
|
11
11
|
var c = async (c, l, u, d, f, p, m, h, g, _ = !1, v, y) => {
|
|
12
12
|
if (!h) throw Error("Fee token is required in hinkalProxySwap");
|
|
13
13
|
let b = n(l), x = r.getAddressFromSubAccount(b, m);
|
|
@@ -7,7 +7,7 @@ import { AccountActions as a } from "../AccountActions/AccountActions.mjs";
|
|
|
7
7
|
import { getFeeStructure as o } from "../../functions/pre-transaction/getFeeStructure.mjs";
|
|
8
8
|
import { convertEmporiumOpToCallInfo as s } from "../../functions/utils/convertEmporiumOpToCallInfo.mjs";
|
|
9
9
|
import { createTransaferEmporiumOpsBatch as c } from "../../functions/private-wallet/emporium.helpers.mjs";
|
|
10
|
-
//#region
|
|
10
|
+
//#region common/src/data-structures/Hinkal/hinkalProxyToPrivate.ts
|
|
11
11
|
var l = async (l, u, d, f, p, m, h, g) => {
|
|
12
12
|
if (!h) throw Error("hinkalProxyToPrivate: subAccount should be provided");
|
|
13
13
|
if (!p) throw Error("Fee token is required in hinkalProxyToPrivate");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AccountActions as e } from "../AccountActions/AccountActions.mjs";
|
|
2
2
|
import "../AccountActions/index.mjs";
|
|
3
|
-
//#region
|
|
3
|
+
//#region common/src/data-structures/Hinkal/hinkalSignSubAccount.ts
|
|
4
4
|
var t = async (t, n, r, i) => {
|
|
5
5
|
let a, o = e.getPrivateKeyFromSubAccount(t, i);
|
|
6
6
|
if (!o) throw Error("Private key is not available");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(
|
|
1
|
+
require(`../../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../../functions/web3/etherFunctions.cjs`),i=require(`../crypto-keys/keys.cjs`),a=require(`../../functions/utils/time.utils.cjs`),o=require(`../utxo/Utxo.cjs`),s=require(`../../types/external-action.types.cjs`);require(`../../types/index.cjs`);const c=require(`../../functions/utils/token-check.utils.cjs`),l=require(`../../functions/snarkjs/common.snarkjs.cjs`),u=require(`../../functions/pre-transaction/getFeeStructure.cjs`),d=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),f=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`);let p=require(`ethers`);var m=async(m,h,g,_,v)=>{let y=c.validateAndGetChainId([h]),b=h.erc20TokenAddress;if(g.getTokenAddress(y)!==b)throw Error(`Off-chain UTXO token mismatch`);let x=v?new i.UserKeys(v):new i.UserKeys(g.nullifyingKey,g.nullifyingKey);if(!g.nullifyingKey&&!v)throw Error(`Claimable UTXO nullifyingKey is missing`);let S=x.getShieldedPrivateKey();if(g.nullifyingKey&&g.nullifyingKey!==S)throw Error(`Claimable UTXO key mismatch`);let{originalDeployer:C}=e.networkRegistry[y].contractData;if(!C)throw Error(`missing data`);let w=o.Utxo.createFrom(g,{nullifyingKey:S}),T=_??await u.getFeeStructure(y,b,[b],s.ExternalActionId.Transact,void 0,void 0,{mintTo:b,nullifierCount:1});if(T.feeToken!==b)throw Error(`Claim fee token mismatch: fee must be paid from claimed UTXO token`);let E=T.variableRate>0n?T.variableRate:t.HINKAL_PRIVATE_SEND_VARIABLE_RATE;if(w.amount<=T.flatFee)throw Error(n.transactionErrorCodes.INSUFFICIENT_FUNDS_TO_TRANSACT);let D=w.amount-T.flatFee,O=D*E/10000n,k=D-O;if(k<=0n)throw Error(n.transactionErrorCodes.RECIPIENT_AMOUNT_INVALID);let A=T.flatFee+O,[j,M,N,,P]=m.getRecipientInfo().split(`,`);if(!M||!N||!j||!P)throw Error(`Invalid recipient info`);let F=a.getCurrentTimeInSeconds().toString(),I=new o.Utxo({amount:0n,erc20TokenAddress:w.erc20TokenAddress,mintAddress:w.mintAddress,nullifyingKey:x.getShieldedPrivateKey(),...w.isNewStyle?{spendingPublicKey:x.getSpendingKeyPair().pubSpendingBJJPoint,isNewStyle:!0}:{isNewStyle:!1}}),L=new o.Utxo({amount:0n,erc20TokenAddress:w.erc20TokenAddress,mintAddress:w.mintAddress,nullifyingKey:x.getShieldedPrivateKey(),timeStamp:F,spendingPublicKey:x.getSpendingKeyPair().pubSpendingBJJPoint,isNewStyle:!0}),R=new o.Utxo({amount:k,erc20TokenAddress:w.erc20TokenAddress,mintAddress:w.mintAddress,timeStamp:F,H0:[BigInt(M),BigInt(N)],stealthAddress:j,encryptionKey:P,isNewStyle:!0}),z=[w,I],B=[L,R],V=await m.getRandomRelay(y,!0);if(!V)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let H=i.UserKeys.findCorrectRandomization(r.randomBigInt(31),x.getShieldedPrivateKey()),U={tokenNumber:1,nullifierAmount:z.length,outputAmount:B.length},W=l.calcEncryptedOutputs([B])[0].map(e=>Array.from(p.ethers.getBytes(e))),{proofAArr:G,proofBArr:K,proofCArr:q,publicInputsArr:J,commitmentValidationData:Y}=await d.constructSolanaZkProof(m.generateProofRemotely,m.merkleTreeHinkalByChain[y],x,[b],[z],[B],H,A,0n,t.solanaNativeAddress,V,U,W,y),X={recipient:V,mint:b===`11111111111111111111111111111111`?void 0:b};return f.solanaTransactCallRelayer({chainId:y,relayAddress:V,functionName:`transfer`,args:{proofAArr:G,proofBArr:K,proofCArr:q,publicInputsArr:J,encryptedOutputs:W,relayerFee:A.toString(),dimensions:U},accounts:X,commitmentValidationData:Y})};exports.hinkalSolanaClaimUtxo=m;
|
|
@@ -13,7 +13,7 @@ import { getFeeStructure as d } from "../../functions/pre-transaction/getFeeStru
|
|
|
13
13
|
import { constructSolanaZkProof as f } from "../../functions/snarkjs/constructSolanaZkProof.mjs";
|
|
14
14
|
import { solanaTransactCallRelayer as p } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
|
|
15
15
|
import { ethers as m } from "ethers";
|
|
16
|
-
//#region
|
|
16
|
+
//#region common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.ts
|
|
17
17
|
var h = async (h, g, _, v, y) => {
|
|
18
18
|
let b = l([g]), x = g.erc20TokenAddress;
|
|
19
19
|
if (_.getTokenAddress(b) !== x) throw Error("Off-chain UTXO token mismatch");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(
|
|
1
|
+
require(`../../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../../functions/web3/etherFunctions.cjs`),i=require(`../crypto-keys/keys.cjs`),a=require(`../../functions/utils/solanaMint.utils.cjs`),o=require(`../../functions/utils/addresses.cjs`),s=require(`../../functions/utils/token-check.utils.cjs`),c=require(`../../functions/snarkjs/common.snarkjs.cjs`),l=require(`../../functions/pre-transaction/solana.cjs`),u=require(`../../functions/pre-transaction/constructAdminData.cjs`),d=require(`../../error-handling/retrySolanaError.cjs`),f=require(`../../API/admin-calls.cjs`),p=require(`../../functions/pre-transaction/solanaTransfer.utils.cjs`),m=require(`./hinkalProoflessDeposit.utils.cjs`);let h=require(`@solana/web3.js`),g=require(`@coral-xyz/anchor`);var _=(n,r)=>{let i=s.validateAndGetChainId([r]),o=r.erc20TokenAddress,{hinkalIdl:c,hinkalAddress:u,originalDeployer:d}=e.networkRegistry[i].contractData;if(!c)throw Error(`No IDL configured for Solana program on this network`);if(!d)throw Error(`missing original deployer`);let f=n.getSolanaProgram(c),p=n.getSolanaPublicKey(),{connection:m,wallet:g}=f.provider;if(!g)throw Error(`missing solana wallet`);let _=new h.PublicKey(d),v=new h.PublicKey(u),{mintPublicKey:y}=a.formatMintAddress(o),b=y.toString()===t.solanaNativeAddress;return{chainId:i,mintAddress:o,program:f,publicKey:p,connection:m,wallet:g,originalDeployer:_,mintPublicKey:y,mint:b?null:y,atasValue:b?null:void 0,storageAccount:l.getStorageAccountPublicKey(v,_),storageVault:l.getStorageVaultPublicKey(v,_),merkleAccount:l.getMerkleAccountPublicKey(v,_)}},v=(e,t,n)=>{let r=n.map(e=>l.buildAnchorStealthAddressStructure(e));return e.program.methods.multiPaymentDeposit(t.map(e=>new g.BN(e.toString())),r,!1).accounts({mint:e.mint,signer:e.publicKey,signerAta:e.atasValue,originalDeployer:e.originalDeployer,storageAccount:e.storageAccount,storageVault:e.storageVault,merkleAccount:e.merkleAccount,storageVaultAta:e.atasValue}).instruction()},y=async(e,t,n,r)=>{for(let i=0;i<10;i+=1){let a=i===9;try{let{blockhash:i,lastValidBlockHeight:a}=await e.getLatestBlockhash(),o=new h.VersionedTransaction(new h.TransactionMessage({payerKey:n,recentBlockhash:i,instructions:r}).compileToV0Message()),s=await t.signTransaction(o),c=await e.sendTransaction(s);return await e.confirmTransaction({signature:c,blockhash:i,lastValidBlockHeight:a},`confirmed`),c}catch(e){if(d.shouldRetryForSolanaError(e)&&!a)continue;throw e}}return``},b=(e,t)=>{if(e.length===0)throw Error(`amounts must not be empty`);if(e.length!==t.length)throw Error(`amounts and stealthAddressStructures length mismatch`);if(e.some(e=>e<=0n))throw Error(`all amounts must be positive`);m.assertNoDuplicateStealthAddressStructures(t)},x=async(e,t,n,r,i,a=!1)=>{b(n,r);let o=_(e,t),s=u.constructAdminData(i,o.chainId,Array(n.length).fill(o.mintAddress),n,await e.getEthereumAddress()),c=await v(o,n,r);if(a){let{blockhash:e}=await o.connection.getLatestBlockhash(),t=new h.Transaction().add(c);return t.recentBlockhash=e,t.feePayer=o.publicKey,Buffer.from(t.serialize({requireAllSignatures:!1})).toString(`base64`)}let l=await y(o.connection,o.wallet,o.publicKey,[c]);return await f.emitTxPublicData(s),l},S=async(e,t,n,r,i,a)=>{b(n,r);let o=_(e,t),s=await e.getRandomRelay(o.chainId,!1);if(!s)throw Error(`No relay available for chainId ${o.chainId}`);let{instructions:c}=await p.buildSolanaTransferInstructions(o.connection,o.publicKey,new h.PublicKey(s),t,i),l=await v(o,n,r),d=u.constructAdminData(a,o.chainId,Array(n.length).fill(o.mintAddress),n,await e.getEthereumAddress()),m=await y(o.connection,o.wallet,o.publicKey,[...c,l]);return await f.emitTxPublicData(d),m},C=async(e,t,n,a=!1)=>{let o=e.userKeys.getShieldedPrivateKey(),s=c.calcStealthAddressStructure(i.UserKeys.findCorrectRandomization(r.randomBigInt(31),o),o,e.userKeys.getSpendingKeyPair().pubSpendingBJJPoint);return x(e,n,[t],[s],void 0,a)},w=async(e,t,r,i,a=!1,s)=>{if(!o.isValidPrivateAddress(i))throw Error(n.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);let c=o.constructStealthAddressStructure(i);return x(e,r,[t],[c],s,a)};exports.hinkalSolanaDeposit=C,exports.hinkalSolanaDepositForOther=w,exports.hinkalSolanaProoflessDepositWithPublicFee=S,exports.submitSolanaProoflessDeposit=x;
|
|
@@ -15,7 +15,7 @@ import { buildSolanaTransferInstructions as _ } from "../../functions/pre-transa
|
|
|
15
15
|
import { assertNoDuplicateStealthAddressStructures as v } from "./hinkalProoflessDeposit.utils.mjs";
|
|
16
16
|
import { PublicKey as y, Transaction as b, TransactionMessage as x, VersionedTransaction as S } from "@solana/web3.js";
|
|
17
17
|
import { BN as C } from "@coral-xyz/anchor";
|
|
18
|
-
//#region
|
|
18
|
+
//#region common/src/data-structures/Hinkal/hinkalSolanaDeposit.ts
|
|
19
19
|
var w = (n, r) => {
|
|
20
20
|
let i = c([r]), o = r.erc20TokenAddress, { hinkalIdl: s, hinkalAddress: l, originalDeployer: u } = e[i].contractData;
|
|
21
21
|
if (!s) throw Error("No IDL configured for Solana program on this network");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(
|
|
1
|
+
require(`../../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../../functions/web3/etherFunctions.cjs`),i=require(`../crypto-keys/keys.cjs`),a=require(`../../functions/utils/time.utils.cjs`),o=require(`../utxo/Utxo.cjs`),s=require(`../../types/external-action.types.cjs`),c=require(`../../types/scheduled-transactions.types.cjs`);require(`../../types/index.cjs`);const l=require(`../../functions/utils/solanaMint.utils.cjs`),u=require(`../../functions/utils/addresses.cjs`),d=require(`../../functions/utils/token-check.utils.cjs`),f=require(`../../functions/snarkjs/common.snarkjs.cjs`),p=require(`../../functions/pre-transaction/solana.cjs`),m=require(`../../functions/pre-transaction/constructAdminData.cjs`),h=require(`../../functions/pre-transaction/sendV0Transaction.cjs`),g=require(`../../functions/pre-transaction/getFeeStructure.cjs`),_=require(`../../functions/pre-transaction/waitForDepositedUtxosInMerkleTree.cjs`);require(`../../functions/pre-transaction/index.cjs`);const v=require(`../../functions/utils/getUtxosFromReceiptSolana.cjs`),y=require(`../../functions/utils/fees.utils.cjs`);require(`../../functions/web3/index.cjs`);const b=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),x=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),S=require(`../../API/deposit-and-withdraw-status-calls.cjs`);require(`../../functions/index.cjs`);let C=require(`ethers`),w=require(`@solana/web3.js`),T=require(`@coral-xyz/anchor`);var E=(n,a,o,s)=>{let{hinkalIdl:c,hinkalAddress:u,originalDeployer:d}=e.networkRegistry[a].contractData;if(!c)throw Error(`No IDL configured for Solana program on this network`);if(!d)throw Error(`missing original deployer`);let m=n.userKeys.getShieldedPrivateKey(),h=n.getSolanaProgram(c),g=n.getSolanaPublicKey(),_=new w.PublicKey(d),v=new w.PublicKey(u),{mintPublicKey:y}=l.formatMintAddress(o.erc20TokenAddress),b=y.toString(),x=p.getStorageAccountPublicKey(v,_),S=p.getStorageVaultPublicKey(v,_),C=p.getMerkleAccountPublicKey(v,_),T=s.map(()=>p.buildAnchorStealthAddressStructure(f.calcStealthAddressStructure(i.UserKeys.findCorrectRandomization(r.randomBigInt(31),m),m,n.userKeys.getSpendingKeyPair().pubSpendingBJJPoint))),E=b===t.solanaNativeAddress;return{program:h,publicKey:g,originalDeployer:_,mint:E?null:y,atasValue:E?null:void 0,storageAccount:x,storageVault:S,merkleAccount:C,amounts:s,anchorStealthStructures:T}},D=e=>e.program.methods.multiPaymentDeposit(e.amounts.map(e=>new T.BN(e.toString())),e.anchorStealthStructures,!0).accounts({mint:e.mint,signer:e.publicKey,signerAta:e.atasValue,originalDeployer:e.originalDeployer,storageAccount:e.storageAccount,storageVault:e.storageVault,merkleAccount:e.merkleAccount,storageVaultAta:e.atasValue}),O=async(e,t,n,r,i,a,o)=>{let s=r.map(e=>e+y.calculateTotalFee(e,a)),u=E(e,t,n,s),d=(await S.updateDepositAndWithdrawStatus({chainId:t,hashedEthereumAddress:o,phase:c.DepositAndWithdrawPhase.BEFORE_DEPOSIT})).id??void 0,f=await D(u).rpc(),p=await u.program.provider.connection.getLatestBlockhash();await u.program.provider.connection.confirmTransaction({blockhash:p.blockhash,lastValidBlockHeight:p.lastValidBlockHeight,signature:f},`finalized`);let m=await h.fetchSolanaTransaction(u.program.provider.connection,f,`finalized`);if(!m)throw Error(`Transaction missing`);await S.safeUpdateDepositAndWithdrawStatus({id:d,chainId:t,hashedEthereumAddress:o,phase:c.DepositAndWithdrawPhase.AFTER_DEPOSIT,depositTxHash:f});let{compressedAddress:g}=l.formatMintAddress(n.erc20TokenAddress),_=v.getOnChainUtxosFromReceiptSolana(m,u.program,e.userKeys,g),b=[],x=[..._];return i.forEach((e,t)=>{let n=s[t],r=x.find(e=>e.amount===n);if(!r)throw Error(`Could not find newly created UTXO with amount ${n} for recipient ${e}.`);b.push({recipientAddress:e,utxo:r}),x.splice(x.indexOf(r),1)}),{userDepositedUtxos:b,depositTxHash:f,statusId:d}},k=async(s,u,d,p,h,g,_,v,w,T,E,D,O)=>{let k=d.erc20TokenAddress;if(p.length===0)throw Error(`userDepositedUtxos must not be empty`);let{originalDeployer:A}=e.networkRegistry[u].contractData;if(!A)throw Error(`missing data`);let j=await s.getRandomRelay(u,!0);if(!j)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let M=a.getCurrentTimeInSeconds().toString(),N=s.generateProofRemotely?5:1,P=[];for(let e=0;e<p.length;e+=N){let n=p.slice(e,e+N),a=await Promise.all(n.map(async({recipientAddress:e,utxo:n},a)=>{let{compressedAddress:c}=l.formatMintAddress(t.solanaNativeAddress),p=new o.Utxo({amount:0n,mintAddress:k,erc20TokenAddress:c,nullifyingKey:s.userKeys.getShieldedPrivateKey(),timeStamp:M,...n.isNewStyle?{spendingPublicKey:s.userKeys.getSpendingKeyPair().pubSpendingBJJPoint,isNewStyle:!0}:{isNewStyle:!1}}),g=[n,p],v=[p],x=i.UserKeys.findCorrectRandomization(r.randomBigInt(31),s.userKeys.getShieldedPrivateKey()),S={tokenNumber:1,nullifierAmount:g.length,outputAmount:v.length},w=f.calcEncryptedOutputs([v])[0][0],T=Array.from(C.ethers.getBytes(w)),D=await y.calculateModifiedFeeStructure(u,d,_[a],h),A=m.constructAdminData(E,u,[k],[_[a]],await s.getEthereumAddress()),{proofAArr:N,proofBArr:P,proofCArr:F,publicInputsArr:I,commitmentValidationData:L}=await b.constructSolanaZkProof(s.generateProofRemotely,s.merkleTreeHinkalByChain[u],s.userKeys,[k],[g],[v],x,D.flatFee,D.variableRate,e,j,S,[T],u),R={recipient:e,mint:k===`11111111111111111111111111111111`?void 0:k};return{relayAddress:j,functionName:`transact`,chainId:u,recipientAmount:_[a].toString(),args:{proofAArr:N,proofBArr:P,proofCArr:F,publicInputsArr:I,encryptedOutputs:[T],relayerFee:D.flatFee.toString(),dimensions:S},accounts:R,adminData:A,commitmentValidationData:L,displayRecipient:O?.[a]}}));P.push(...a)}await S.safeUpdateDepositAndWithdrawStatus({id:v,chainId:u,hashedEthereumAddress:g,phase:c.DepositAndWithdrawPhase.BEFORE_SCHEDULE_WITHDRAW});let F=await x.solanaTransactCallRelayerBatch(u,P,g,w,T,D);return await S.safeUpdateDepositAndWithdrawStatus({id:v,chainId:u,hashedEthereumAddress:g,phase:c.DepositAndWithdrawPhase.AFTER_SCHEDULE_WITHDRAW,scheduleId:F}),F},A=async(e,t,n,r,i,a,o,c,l,f)=>{let p=d.validateAndGetChainId([t]),m=t.erc20TokenAddress,h=u.hashEthereumAddress(await e.getEthereumAddressByChain(p)),v=l?u.hashString(l):void 0,y=a??await g.getFeeStructure(p,m,[m],s.ExternalActionId.Transact,[],5n),{userDepositedUtxos:b,depositTxHash:x,statusId:S}=await O(e,p,t,n,r,y,h);return await _.waitForDepositedUtxosInMerkleTree(e,p,b),{depositTxHash:x,scheduleId:await k(e,p,t,b,y,h,n,S,i,o,c,v,f)}};exports.hinkalSolanaDepositAndWithdraw=A;
|
|
@@ -28,7 +28,7 @@ import "../../functions/index.mjs";
|
|
|
28
28
|
import { ethers as A } from "ethers";
|
|
29
29
|
import { PublicKey as j } from "@solana/web3.js";
|
|
30
30
|
import { BN as M } from "@coral-xyz/anchor";
|
|
31
|
-
//#region
|
|
31
|
+
//#region common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.ts
|
|
32
32
|
var N = (n, a, o, s) => {
|
|
33
33
|
let { hinkalIdl: c, hinkalAddress: u, originalDeployer: d } = e[a].contractData;
|
|
34
34
|
if (!c) throw Error("No IDL configured for Solana program on this network");
|
|
@@ -2,7 +2,7 @@ import { isSolanaLike as e } from "../../constants/chains.constants.mjs";
|
|
|
2
2
|
import { validateAndGetChainId as t } from "../../functions/utils/token-check.utils.mjs";
|
|
3
3
|
import { getStealthAddressStructureFromUserKeys as n } from "../../functions/utils/getRecipientInfoFromUserKeys.mjs";
|
|
4
4
|
import { submitSolanaProoflessDeposit as r } from "./hinkalSolanaDeposit.mjs";
|
|
5
|
-
//#region
|
|
5
|
+
//#region common/src/data-structures/Hinkal/hinkalSolanaProoflessDeposit.ts
|
|
6
6
|
var i = async (i, a, o, s, c, l = !1) => {
|
|
7
7
|
if (a.length === 0) throw Error("erc20Tokens must not be empty");
|
|
8
8
|
if (a.length !== o.length) throw Error("erc20Tokens and amountChanges length mismatch");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(
|
|
1
|
+
require(`../../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../functions/utils/token-check.utils.cjs`),n=require(`../../functions/pre-transaction/constructAdminData.cjs`),r=require(`../../functions/utils/create-provider.cjs`),i=require(`../AccountActions/AccountActions.cjs`),a=require(`../../functions/pre-transaction/sendV0Transaction.cjs`),o=require(`../../API/admin-calls.cjs`),s=require(`../../functions/pre-transaction/solanaTransfer.utils.cjs`);let c=require(`@solana/web3.js`);var l=async(n,a,o,l)=>{let u=t.validateAndGetChainId([n]),d=i.AccountActions.getAddressFromSubAccount(u,o);if(!d)throw Error(`Public account address is not available`);let{fetchRpcUrl:f}=e.networkRegistry[u];if(!f)throw Error(`RPC URL not found for the specified chain ID`);let p=r.createCustomSolanaConnection(f),m=new c.PublicKey(d),{instructions:h,programId:g}=await s.buildSolanaTransferInstructions(p,m,new c.PublicKey(l),n,a);return{connection:p,chainId:u,senderAddress:d,senderPublickey:m,programId:g,instructions:h}},u=async(e,t,r,i,s,c)=>{let[{connection:u,chainId:d,senderPublickey:f,instructions:p},m]=await Promise.all([l(t,r,i,s),e.getEthereumAddress()]),h=await a.sendProxyV0Transaction({connection:u,chainId:d,subAccount:i,payerPublicKey:f,instructions:p});return o.emitTxPublicData(n.constructAdminData(c,d,[t.erc20TokenAddress],[r],m)),h};exports.hinkalSolanaProxySend=u;
|
|
@@ -7,7 +7,7 @@ import { sendProxyV0Transaction as a } from "../../functions/pre-transaction/sen
|
|
|
7
7
|
import { emitTxPublicData as o } from "../../API/admin-calls.mjs";
|
|
8
8
|
import { buildSolanaTransferInstructions as s } from "../../functions/pre-transaction/solanaTransfer.utils.mjs";
|
|
9
9
|
import { PublicKey as c } from "@solana/web3.js";
|
|
10
|
-
//#region
|
|
10
|
+
//#region common/src/data-structures/Hinkal/hinkalSolanaProxySend.ts
|
|
11
11
|
var l = async (n, a, o, l) => {
|
|
12
12
|
let u = t([n]), d = i.getAddressFromSubAccount(u, o);
|
|
13
13
|
if (!d) throw Error("Public account address is not available");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(
|
|
1
|
+
require(`../../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`);require(`../../constants/protocol.constants.cjs`);const t=require(`../../error-handling/error-codes.constants.cjs`),n=require(`../../functions/utils/solanaMint.utils.cjs`),r=require(`../../functions/utils/addresses.cjs`),i=require(`../../functions/utils/token-check.utils.cjs`),a=require(`../../functions/pre-transaction/solana.cjs`),o=require(`../../functions/pre-transaction/constructAdminData.cjs`),s=require(`../../functions/utils/create-provider.cjs`),c=require(`../AccountActions/AccountActions.cjs`),l=require(`../../functions/pre-transaction/sendV0Transaction.cjs`),u=require(`../../API/admin-calls.cjs`);let d=require(`@solana/web3.js`),f=require(`@coral-xyz/anchor`),p=require(`@solana/spl-token`);var m=async({program:e,mintPublicKey:t,mintAddressString:n,tokenAmount:r,anchorStealthStructure:i,senderPublickey:a,originalDeployer:o,storageAccount:s,storageVault:c})=>{let l=new f.BN(r.toString()),u=n===`11111111111111111111111111111111`?null:t,d=n===`11111111111111111111111111111111`?null:void 0;return e.methods.prooflessDeposit(l,i).accounts({mint:u,signer:a,signerAta:d,originalDeployer:o,storageAccount:s,storageVault:c,storageVaultAta:d}).instruction()},h=async(i,o,l,u,f,h)=>{let g=h??i.getRecipientInfo();if(!r.isValidPrivateAddress(g))throw Error(t.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);let _=c.AccountActions.getAddressFromSubAccount(o,f);if(!_)throw Error(`Public account address is not available`);let{hinkalIdl:v,hinkalAddress:y,originalDeployer:b}=e.networkRegistry[o].contractData;if(!v)throw Error(`No IDL configured for Solana program on this network`);if(!b)throw Error(`missing original deployer`);let x=i.getSolanaProgram(v),S=new d.PublicKey(b),C=new d.PublicKey(y),w=new d.PublicKey(_),{erc20TokenAddress:T}=l,{fetchRpcUrl:E}=e.networkRegistry[o];if(!E)throw Error(`RPC URL not found for the specified chain ID`);let D=s.createCustomSolanaConnection(E),{mintPublicKey:O}=n.formatMintAddress(T),k=O.toString(),A=a.getStorageAccountPublicKey(C,S),j=a.getStorageVaultPublicKey(C,S),M=await m({program:x,mintPublicKey:O,mintAddressString:k,tokenAmount:u,anchorStealthStructure:a.buildAnchorStealthAddressStructure(r.constructStealthAddressStructure(g)),senderPublickey:w,originalDeployer:S,storageAccount:A,storageVault:j}),N=l.is2022Program?p.TOKEN_2022_PROGRAM_ID:p.TOKEN_PROGRAM_ID;return{connection:D,senderAddress:_,senderPublickey:w,instructions:[M],storageAccount:A,programId:N}},g=async(e,t,n,r,a,s)=>{if(!r)throw Error(`subAccount is required`);let c=i.validateAndGetChainId([t]),[{connection:d,senderPublickey:f,instructions:p},m]=await Promise.all([h(e,c,t,n,r,a),e.getEthereumAddress()]),g=await l.sendProxyV0Transaction({connection:d,chainId:c,subAccount:r,payerPublicKey:f,instructions:p});return u.emitTxPublicData(o.constructAdminData(s,c,[t.erc20TokenAddress],[n],m)),g};exports.hinkalSolanaProxyShield=g;
|
|
@@ -13,7 +13,7 @@ import { emitTxPublicData as p } from "../../API/admin-calls.mjs";
|
|
|
13
13
|
import { PublicKey as m } from "@solana/web3.js";
|
|
14
14
|
import { BN as h } from "@coral-xyz/anchor";
|
|
15
15
|
import { TOKEN_2022_PROGRAM_ID as g, TOKEN_PROGRAM_ID as _ } from "@solana/spl-token";
|
|
16
|
-
//#region
|
|
16
|
+
//#region common/src/data-structures/Hinkal/hinkalSolanaProxyShield.ts
|
|
17
17
|
var v = async ({ program: e, mintPublicKey: t, mintAddressString: n, tokenAmount: r, anchorStealthStructure: i, senderPublickey: a, originalDeployer: o, storageAccount: s, storageVault: c }) => {
|
|
18
18
|
let l = new h(r.toString()), u = n === "11111111111111111111111111111111" ? null : t, d = n === "11111111111111111111111111111111" ? null : void 0;
|
|
19
19
|
return e.methods.prooflessDeposit(l, i).accounts({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(
|
|
1
|
+
require(`../../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../error-handling/error-codes.constants.cjs`),n=require(`../../types/external-action.types.cjs`),r=require(`../../functions/utils/token-check.utils.cjs`),i=require(`../../functions/pre-transaction/constructAdminData.cjs`),a=require(`../../functions/utils/create-provider.cjs`),o=require(`../AccountActions/AccountActions.cjs`),s=require(`../../functions/pre-transaction/sendV0Transaction.cjs`),c=require(`../../functions/pre-transaction/getFeeStructure.cjs`);require(`../../constants/index.cjs`);const l=require(`../../API/admin-calls.cjs`),u=require(`../../functions/pre-transaction/solanaTransfer.utils.cjs`);require(`../AccountActions/index.cjs`);let d=require(`@solana/web3.js`);var f=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 d.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 d.TransactionInstruction({keys:e.accounts.map(e=>({pubkey:new d.PublicKey(e.pubkey),isSigner:e.isSigner,isWritable:e.isWritable})),programId:new d.PublicKey(e.programId),data:Buffer.from(e.data,`base64`)})),lookupTableAccounts:i}},p=async(e,t)=>{let n=d.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}=d.TransactionMessage.decompile(n.message,{addressLookupTableAccounts:r});return{instructions:i,lookupTableAccounts:r}},m=async(t,r,i,s)=>{let c=o.AccountActions.getAddressFromSubAccount(t,i);if(!c)throw Error(`Public account address is not available`);let{fetchRpcUrl:l}=e.networkRegistry[t];if(!l)throw Error(`RPC URL not found for the specified chain ID`);let u=a.createCustomSolanaConnection(l),m=new d.PublicKey(c),{instructions:h,lookupTableAccounts:g}=s===n.ExternalActionId.Lifi?await p(u,r):await f(u,r);return{connection:u,walletPublicKey:m,instructions:h,lookupTableAccounts:g}},h=async(e,a,o,f,p,h,g,_,v)=>{let y=r.validateAndGetChainId(a),b=h===n.ExternalActionId.Lifi,[{connection:x,walletPublicKey:S,instructions:C,lookupTableAccounts:w},T,E]=await Promise.all([m(y,f,p,h),b?Promise.resolve(null):e.getRandomRelay(y),e.getEthereumAddressByChain(y)]),D=C;if(!b){if(!T)throw Error(t.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let e=a[1],r=o[1]*(_??await c.getFeeStructure(y,g,a.map(e=>e.erc20TokenAddress),n.ExternalActionId.Emporium)).variableRate/10000n,{instructions:i}=await u.buildSolanaTransferInstructions(x,S,new d.PublicKey(T),e,r);D=[...C,...i]}let O=await s.sendProxyV0Transaction({connection:x,chainId:y,subAccount:p,payerPublicKey:S,instructions:D,lookupTableAccounts:w});return l.emitTxPublicData(i.constructAdminData(v,y,a.map(e=>e.erc20TokenAddress),o,E,a)),O};exports.hinkalSolanaProxySwap=h;
|
|
@@ -12,7 +12,7 @@ import { emitTxPublicData as l } from "../../API/admin-calls.mjs";
|
|
|
12
12
|
import { buildSolanaTransferInstructions as u } from "../../functions/pre-transaction/solanaTransfer.utils.mjs";
|
|
13
13
|
import "../AccountActions/index.mjs";
|
|
14
14
|
import { PublicKey as d, TransactionInstruction as f, TransactionMessage as p, VersionedTransaction as m } from "@solana/web3.js";
|
|
15
|
-
//#region
|
|
15
|
+
//#region common/src/data-structures/Hinkal/hinkalSolanaProxySwap.ts
|
|
16
16
|
var h = async (e, t) => {
|
|
17
17
|
let { addressLookupTableAccount: n, instructionLists: r } = JSON.parse(t).data, i = await Promise.all(n.map(async (t) => {
|
|
18
18
|
let n = await e.getAddressLookupTable(new d(t));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(
|
|
1
|
+
require(`../../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../../functions/web3/etherFunctions.cjs`),i=require(`../crypto-keys/keys.cjs`),a=require(`../../functions/utils/time.utils.cjs`),o=require(`../../types/external-action.types.cjs`),s=require(`../../types/cache.types.cjs`);require(`../../types/index.cjs`);const 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/pre-transaction/solana.cjs`),p=require(`../../functions/pre-transaction/constructAdminData.cjs`),ee=require(`../../functions/pre-transaction/convert-okx-instructions.cjs`),m=require(`../../functions/pre-transaction/ensureAmountChanges.cjs`),h=require(`../../functions/pre-transaction/getFeeStructure.cjs`),g=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),_=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`);let v=require(`ethers`),y=require(`@solana/web3.js`);var b=async(e,t,n,r)=>{let i=[...await l.addPaddingToUtxos(e,t,n,r,6)],o=a.getCurrentTimeInSeconds().toString(),s=[];for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=u.outputUtxoProcessing(e.userKeys,i[t],r[t],o);s.push([n[0]])}return{inputUtxosArray:i,outputUtxosArray:s}},x=async(a,l,u,x,te,S,C,w,T)=>{let E=c.validateAndGetChainId(l),D=new y.PublicKey(t.solanaNativeAddress),{hinkalAddress:ne,originalDeployer:O}=e.networkRegistry[E].contractData;if(!O)throw Error(`No IDL configured for Solana program on this network`);let k=new y.PublicKey(O),A=new y.PublicKey(ne),j=l.map(e=>e.erc20TokenAddress),{userKeys:M,merkleTreeHinkalByChain:N}=a,P=w??await h.getFeeStructure(E,C,j,o.ExternalActionId.Transact),F=u[1],I=Number(a.cacheDevice.get(s.StorageKeys.SLIPPAGE_PERCENTAGE)??0),L=l[1],R=r.getAmountInToken(L,F),z=Number(R)*I/100;u[1]-=r.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(n.transactionErrorCodes.LOW_OUTPUT_AMOUNT);let V=P.variableRate.toString(),[H,U,{inputUtxosArray:W,outputUtxosArray:G}]=await Promise.all([a.getRandomRelay(E,!0),a.getEthereumAddressByChain(E),b(a,E,j,u)]);if(!H)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let K=a.userKeys.getShieldedPrivateKey(),q=i.UserKeys.findCorrectRandomization(r.randomBigInt(31),K),J={tokenNumber:2,nullifierAmount:W[0].length,outputAmount:1},Y=d.calcEncryptedOutputs(G).map(e=>[...v.ethers.getBytes(e[0])]),X=f.getSwapperAccountPublicKeyFromSalt(A,k,x),{remainingAccounts:Z,hinkalInstructions:Q}=ee.convertOKXToHinkalInstructions(te,X);m.ensureAmountChanges(W,G,u);let{proofAArr:re,proofBArr:ie,proofCArr:ae,publicInputsArr:oe,commitmentValidationData:$}=await g.constructSolanaZkProof(a.generateProofRemotely,N[E],M,j,W,G,q,P.flatFee,P.variableRate,D.toString(),H,J,Y,E,Q,Z,x),se=f.getStorageAccountPublicKey(A,k),ce=f.getStorageVaultPublicKey(A,k),le=l[0].erc20TokenAddress===`11111111111111111111111111111111`?null:new y.PublicKey(l[0].erc20TokenAddress),ue=l[1].erc20TokenAddress===`11111111111111111111111111111111`?null:new y.PublicKey(l[1].erc20TokenAddress),de={recipient:D.toString(),storageAccount:se.toString(),storageVault:ce.toString(),swapperAccount:X.toString(),mintFrom:le?.toString()??null,mintTo:ue?.toString()??null,remainingAccounts:Z.map(e=>({pubkey:e.pubkey.toString(),isSigner:e.isSigner,isWritable:e.isWritable})),addressLookupTableAccount:S};return _.solanaTransactCallRelayer({chainId:E,relayAddress:H,functionName:`swap`,args:{encryptedOutputs:Y,proofAArr:re,proofBArr:ie,proofCArr:ae,publicInputsArr:oe,relayerFee:P.flatFee.toString(),variableRate:V,dimensions:J,hinkalInstructions:Q.map(e=>({accountIndexes:[...e.accountIndexes],data:[...e.data],programIndex:e.programIndex}))},accounts:de,commitmentValidationData:$,adminData:p.constructAdminData(T,E,j,u,U,l)})};exports.hinkalSolanaSwap=x;
|
|
@@ -20,7 +20,7 @@ import { constructSolanaZkProof as y } from "../../functions/snarkjs/constructSo
|
|
|
20
20
|
import { solanaTransactCallRelayer as b } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
|
|
21
21
|
import { ethers as x } from "ethers";
|
|
22
22
|
import { PublicKey as S } from "@solana/web3.js";
|
|
23
|
-
//#region
|
|
23
|
+
//#region common/src/data-structures/Hinkal/hinkalSolanaSwap.ts
|
|
24
24
|
var ne = async (e, t, n, r) => {
|
|
25
25
|
let i = [...await d(e, t, n, r, 6)], a = s().toString(), o = [];
|
|
26
26
|
for (let t = 0; t < n.length; t += 1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(
|
|
1
|
+
require(`../../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../../functions/web3/etherFunctions.cjs`),i=require(`../crypto-keys/keys.cjs`),a=require(`../../functions/utils/time.utils.cjs`),o=require(`../../types/external-action.types.cjs`);require(`../../types/index.cjs`);const 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/pre-transaction/constructAdminData.cjs`),p=require(`../../functions/pre-transaction/ensureAmountChanges.cjs`),m=require(`../../functions/pre-transaction/getFeeStructure.cjs`);require(`../../functions/pre-transaction/index.cjs`);const h=require(`../../functions/utils/fees.utils.cjs`),g=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),_=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`);let v=require(`ethers`);var y=async(e,t,n,r,i,o)=>{let s=(await l.addPaddingToUtxos(e,t,n,r,6))[0],c=a.getCurrentTimeInSeconds().toString(),{outputUtxos:d}=u.outputUtxoProcessing(e.userKeys,s,r[0],c,!0,i,o);return{inputUtxos:s,senderUtxo:d[0],recipientUtxo:d[1]}},b=async(a,l,u,_,b,x,S)=>{if(!s.isValidPrivateAddress(_))throw Error(n.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);let C=c.validateAndGetChainId(l),w=[...u],{originalDeployer:T}=e.networkRegistry[C].contractData;if(!T)throw Error(`missing data`);let{userKeys:E,merkleTreeHinkalByChain:D}=a,O=l.map(e=>e.erc20TokenAddress);if(O.length>1)throw Error(`Solana Transfer: Only one mint address is supported`);let k=x??await m.getFeeStructure(C,b,O,o.ExternalActionId.Transact,[],5n);k.variableRate||=t.HINKAL_PRIVATE_SEND_VARIABLE_RATE;let A=h.calculateTotalFee(-w[0],k),j=-w[0];w[0]-=A;let[M,N,{inputUtxos:P,senderUtxo:F,recipientUtxo:I}]=await Promise.all([a.getRandomRelay(C,!0),a.getEthereumAddressByChain(C),y(a,C,O,w,_,j)]);if(!M)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let L=i.UserKeys.findCorrectRandomization(r.randomBigInt(31),a.userKeys.getShieldedPrivateKey()),R={tokenNumber:O.length,nullifierAmount:P.length,outputAmount:2},z=d.calcEncryptedOutputs([[F,I]])[0].map(e=>Array.from(v.ethers.getBytes(e)));p.ensureAmountChanges([P],[[F]],w);let{proofAArr:B,proofBArr:V,proofCArr:H,publicInputsArr:U,commitmentValidationData:W}=await g.constructSolanaZkProof(a.generateProofRemotely,D[C],E,[O[0]],[P],[[F,I]],L,A,0n,t.solanaNativeAddress,M,R,z,C),G={recipient:M,mint:O[0]===`11111111111111111111111111111111`?void 0:O[0]};return{chainId:C,relay:M,args:{proofAArr:B,proofBArr:V,proofCArr:H,publicInputsArr:U,encryptedOutputs:z,relayerFee:A.toString(),dimensions:R},accounts:G,adminData:f.constructAdminData(S,C,O,w,N),commitmentValidationData:W,recipientUtxo:I}},x=async(e,t,n,r,i,a,o,s=!1)=>{if(s)throw Error(`onlyGasEstimate is not supported for Solana transfer`);let c=await b(e,t,n,r,i,a,o);return _.solanaTransactCallRelayer({chainId:c.chainId,relayAddress:c.relay,functionName:`transfer`,args:c.args,accounts:c.accounts,adminData:c.adminData,commitmentValidationData:c.commitmentValidationData})};exports.hinkalSolanaTransfer=x;
|
|
@@ -19,7 +19,7 @@ import { calculateTotalFee as g } from "../../functions/utils/fees.utils.mjs";
|
|
|
19
19
|
import { constructSolanaZkProof as _ } from "../../functions/snarkjs/constructSolanaZkProof.mjs";
|
|
20
20
|
import { solanaTransactCallRelayer as v } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
|
|
21
21
|
import { ethers as y } from "ethers";
|
|
22
|
-
//#region
|
|
22
|
+
//#region common/src/data-structures/Hinkal/hinkalSolanaTransfer.ts
|
|
23
23
|
var b = async (e, t, n, r, i, a) => {
|
|
24
24
|
let s = (await u(e, t, n, r, 6))[0], c = o().toString(), { outputUtxos: l } = d(e.userKeys, s, r[0], c, !0, i, a);
|
|
25
25
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(
|
|
1
|
+
require(`../../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`);require(`../../constants/protocol.constants.cjs`);const t=require(`../../error-handling/error-codes.constants.cjs`),n=require(`../../functions/web3/etherFunctions.cjs`),r=require(`../crypto-keys/keys.cjs`),i=require(`../../functions/utils/time.utils.cjs`),a=require(`../../types/external-action.types.cjs`);require(`../../types/index.cjs`);const 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/pre-transaction/constructAdminData.cjs`),d=require(`../../functions/pre-transaction/ensureAmountChanges.cjs`),f=require(`../../functions/pre-transaction/getFeeStructure.cjs`);require(`../../functions/pre-transaction/index.cjs`),require(`../../constants/index.cjs`);const p=require(`../../functions/utils/fees.utils.cjs`),m=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),h=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`);let g=require(`ethers`);var _=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}},v=async(i,s,c,v,y,b,x)=>{let S=o.validateAndGetChainId(s),C=s.map(e=>e.erc20TokenAddress),w=s[0];if(!w)throw Error(`Solana Withdraw: No Token Found`);let{originalDeployer:T}=e.networkRegistry[S].contractData;if(!T)throw Error(`missing data`);let{userKeys:E,merkleTreeHinkalByChain:D}=i,O=b??await f.getFeeStructure(S,y,C,a.ExternalActionId.Transact),k=await p.calculateModifiedFeeStructure(S,w,-c[0],O);c[0]-=k.flatFee;let[A,{inputUtxos:j,outputUtxos:M}]=await Promise.all([i.getRandomRelay(S,!0),_(i,S,C,c)]);if(!A)throw Error(t.transactionErrorCodes.RELAYER_NOT_AVAILABLE);if(C.length>1)throw Error(`Solana Withdraw: Only one mint address is supported`);let N=r.UserKeys.findCorrectRandomization(n.randomBigInt(31),i.userKeys.getShieldedPrivateKey()),P={tokenNumber:C.length,nullifierAmount:j.length,outputAmount:M.length},F=l.calcEncryptedOutputs([M])[0][0],I=Array.from(g.ethers.getBytes(F));d.ensureAmountChanges([j],[M],c);let{proofAArr:L,proofBArr:R,proofCArr:z,publicInputsArr:B,commitmentValidationData:V}=await m.constructSolanaZkProof(i.generateProofRemotely,D[S],E,[C[0]],[j],[M],N,k.flatFee,k.variableRate,v,A,P,[I],S),H={recipient:v,mint:C[0]===`11111111111111111111111111111111`?void 0:C[0]};return h.solanaTransactCallRelayer({chainId:S,relayAddress:A,functionName:`transact`,args:{proofAArr:L,proofBArr:R,proofCArr:z,publicInputsArr:B,encryptedOutputs:[I],relayerFee:k.flatFee.toString(),dimensions:P},accounts:H,commitmentValidationData:V,adminData:u.constructAdminData(x,S,C,c,await i.getEthereumAddress())})};exports.hinkalSolanaWithdraw=v;
|
|
@@ -19,7 +19,7 @@ import { calculateModifiedFeeStructure as p } from "../../functions/utils/fees.u
|
|
|
19
19
|
import { constructSolanaZkProof as m } from "../../functions/snarkjs/constructSolanaZkProof.mjs";
|
|
20
20
|
import { solanaTransactCallRelayer as h } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
|
|
21
21
|
import { ethers as g } from "ethers";
|
|
22
|
-
//#region
|
|
22
|
+
//#region common/src/data-structures/Hinkal/hinkalSolanaWithdraw.ts
|
|
23
23
|
var _ = async (e, t, n, r) => {
|
|
24
24
|
let a = [...await s(e, t, n, r, 6)][0], o = i().toString(), { outputUtxos: l } = c(e.userKeys, a, r[0], o);
|
|
25
25
|
return {
|
|
@@ -11,7 +11,7 @@ import { constructZkProof as s } from "../../functions/snarkjs/constructGeneralZ
|
|
|
11
11
|
import { transactCallRelayer as c } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
|
|
12
12
|
import { getExternalSwapAddress as l } from "../../functions/pre-transaction/getExternalSwapAddress.mjs";
|
|
13
13
|
import { mergeWithFeeStructure as u } from "../../functions/pre-transaction/merge-with-fee-structure.mjs";
|
|
14
|
-
//#region
|
|
14
|
+
//#region common/src/data-structures/Hinkal/hinkalSwap.ts
|
|
15
15
|
var d = async (e, n, a, o) => {
|
|
16
16
|
let s = [...await r(e, n, a, o)], c = [], l = t().toString();
|
|
17
17
|
for (let t = 0; t < a.length; t += 1) {
|
|
@@ -16,7 +16,7 @@ import { calculateModifiedFeeStructure as m } from "../../functions/utils/fees.u
|
|
|
16
16
|
import { constructZkProof as h } from "../../functions/snarkjs/constructGeneralZkProof.mjs";
|
|
17
17
|
import { transactCallRelayer as g } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
|
|
18
18
|
import { mergeWithFeeStructure as _ } from "../../functions/pre-transaction/merge-with-fee-structure.mjs";
|
|
19
|
-
//#region
|
|
19
|
+
//#region common/src/data-structures/Hinkal/hinkalTransfer.ts
|
|
20
20
|
var v = async (e, t, n, i, a, o) => {
|
|
21
21
|
let s = [...await l(e, t, n, i)], c = [], d = r().toString();
|
|
22
22
|
for (let t = 0; t < n.length; t += 1) {
|
|
@@ -18,7 +18,7 @@ import { transactCallDirect as g } from "../../functions/web3/functionCalls/tran
|
|
|
18
18
|
import { transactCallRelayer as _ } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
|
|
19
19
|
import { transactCallDirectTron as v } from "../../functions/web3/functionCalls/transactCallDirectTron.mjs";
|
|
20
20
|
import { mergeWithFeeStructure as y } from "../../functions/pre-transaction/merge-with-fee-structure.mjs";
|
|
21
|
-
//#region
|
|
21
|
+
//#region common/src/data-structures/Hinkal/hinkalWithdraw.ts
|
|
22
22
|
var b = async (e, t, n, r) => {
|
|
23
23
|
let a = [...await l(e, t, n, r)], o = [], s = i().toString();
|
|
24
24
|
for (let t = 0; t < n.length; t += 1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(
|
|
1
|
+
require(`../../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`);require(`../../constants/protocol.constants.cjs`);const t=require(`../../functions/utils/amounts.utils.cjs`),n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../../functions/web3/etherFunctions.cjs`),i=require(`../crypto-keys/keys.cjs`),a=require(`../../functions/utils/time.utils.cjs`),o=require(`../../functions/utils/encodeTokenWithId.cjs`),s=require(`../../types/external-action.types.cjs`),c=require(`../../functions/utils/tron.utils.cjs`),l=require(`../../functions/web3/events/getInputUtxoAndBalance.cjs`),u=require(`../../functions/utils/token-check.utils.cjs`),d=require(`../../functions/web3/events/getShieldedBalance.cjs`),f=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),p=require(`../../functions/snarkjs/common.snarkjs.cjs`),m=require(`../../functions/pre-transaction/getFeeStructure.cjs`),h=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),g=require(`../../functions/snarkjs/constructSolanaZkProof.cjs`),_=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),v=require(`../../functions/auto-deposit-back-helpers/update-hinkal.cjs`),y=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`);let b=require(`ethers`);var x=6,S=async(e,t,n,r)=>{let i=[...await d.addPaddingToUtxos(e,t,n,r,void 0,void 0,!1,!0)],o=[],s=a.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=f.outputUtxoProcessing(e.userKeys,i[t],r[t],s);o.push(n)}return{inputUtxosArray:i,outputUtxosArray:o}},C=async(e,t,n,r)=>{let i=[...await d.addPaddingToUtxos(e,t,n,r,6,void 0,!1,!0)][0],o=a.getCurrentTimeInSeconds().toString(),{outputUtxos:s}=f.outputUtxoProcessing(e.userKeys,i,r[0],o);return{inputUtxos:i,outputUtxos:s}},w=async(t,r,i,a,o)=>{let l=e.isTronLike(r),u=[i.erc20TokenAddress],d=i.erc20TokenAddress,[f,p]=await Promise.all([m.getFeeStructure(r,d,u,s.ExternalActionId.Transact),t.getRandomRelay(r,!0)]);if(!p)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let g=c.addressToHexFormat(o),b=a-f.flatFee;if(b<=0n)throw Error(`Insufficient balance to cover fee. Balance: ${a}, Fee: ${f.flatFee}`);let x=[-b];await y.mergeWithFeeStructure(r,u,x,f);let C={externalActionId:0n,externalAddress:g,externalActionMetadata:`0x00`},{inputUtxosArray:w,outputUtxosArray:T}=await S(t,r,u,x),{zkCallData:E,circomData:D,dimData:O,commitmentValidationData:k}=await h.constructZkProof(t.merkleTreeHinkalByChain[r],w,T,t.userKeys,C.externalActionId,C.externalAddress,C.externalActionMetadata,t.generateProofRemotely,f,p,r),A=await c.reorderZkCallData(l,E,O,D);return v.updateHinkal(r,t,D.inputNullifiers?.flat(),D.outCommitments?.flat(),D.encryptedOutputs?.flat()),{tx:await _.transactCallRelayer(r,E,O,D,k,void 0,void 0,void 0,A),amountToRecipient:b}},T=async(t,a,o,c,l,u)=>{let d=[o.erc20TokenAddress],{originalDeployer:f}=e.networkRegistry[a].contractData;if(!f)throw Error(`missing data`);let{userKeys:h,merkleTreeHinkalByChain:y}=t,x=o.erc20TokenAddress,[S,w]=await Promise.all([m.getFeeStructure(a,x,d,s.ExternalActionId.Transact,void 0,void 0,{mintTo:d[0],recipient:l,nullifierCount:u}),t.getRandomRelay(a,!0)]);if(!w)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let T=c-S.flatFee;if(T<=0n)throw Error(`Insufficient balance to cover fee. Balance: ${c}, Fee: ${S.flatFee}`);let E=[-T];E[0]-=S.flatFee;let{inputUtxos:D,outputUtxos:O}=await C(t,a,d,E),k=i.UserKeys.findCorrectRandomization(r.randomBigInt(31),t.userKeys.getShieldedPrivateKey()),A={tokenNumber:d.length,nullifierAmount:D.length,outputAmount:O.length},j=p.calcEncryptedOutputs([O])[0][0],M=Array.from(b.ethers.getBytes(j)),{proofAArr:N,proofBArr:P,proofCArr:F,publicInputsArr:I,commitmentValidationData:L}=await g.constructSolanaZkProof(t.generateProofRemotely,y[a],h,[d[0]],[D],[O],k,S.flatFee,S.variableRate,l,w,A,[M],a),R={recipient:l,mint:d[0]===`11111111111111111111111111111111`?void 0:d[0]},z={proofAArr:N,proofBArr:P,proofCArr:F,publicInputsArr:I,encryptedOutputs:[M],relayerFee:S.flatFee.toString(),dimensions:A};return v.updateHinkal(a,t,D.map(e=>e.getNullifier()),p.buildOutCommitments([O]).flat(),[j]),{tx:await _.solanaTransactCallRelayer({chainId:a,relayAddress:w,functionName:`transact`,args:z,accounts:R,commitmentValidationData:L}),amountToRecipient:T}},E=async(t,n,r,i,a,o)=>e.isSolanaLike(n)?T(t,n,r,i,a,o):w(t,n,r,i,a),D=async(e,n,r)=>{let i=[],a=u.validateAndGetChainId([n]),s=o.encodeTokenWithId(a,{erc20TokenAddress:n.erc20TokenAddress,tokenId:0});await e.resetMerkleTreesIfNecessary([a]);let c=((await l.getInputUtxoAndBalancePerToken({hinkal:e,sliceIfMore6:!1,useBlockedUtxos:!0,chainId:a,allowRemoteDecryption:e.generateProofRemotely}))?.get(s)??[]).filter(e=>e.amount>0n).sort((e,t)=>Number(t.amount-e.amount));for(let o=0;o<c.length;o+=x){let s=c.slice(o,o+x),{tx:l}=await E(e,a,n,t.countTotalAmountInUtxos(s),r,s.length);i.push(l)}return i};exports.hinkalWithdrawStuckUtxos=D;
|
|
@@ -20,7 +20,7 @@ import { solanaTransactCallRelayer as x, transactCallRelayer as S } from "../../
|
|
|
20
20
|
import { updateHinkal as C } from "../../functions/auto-deposit-back-helpers/update-hinkal.mjs";
|
|
21
21
|
import { mergeWithFeeStructure as w } from "../../functions/pre-transaction/merge-with-fee-structure.mjs";
|
|
22
22
|
import { ethers as T } from "ethers";
|
|
23
|
-
//#region
|
|
23
|
+
//#region common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.ts
|
|
24
24
|
var E = 6, D = async (e, t, n, r) => {
|
|
25
25
|
let i = [...await m(e, t, n, r, void 0, void 0, !1, !0)], a = [], o = s().toString();
|
|
26
26
|
for (let t = 0; t < n.length; t += 1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(
|
|
1
|
+
require(`../../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/hinkal.types.cjs`),r=require(`../../types/external-action.types.cjs`),i=require(`../../functions/web3/events/getShieldedBalance.cjs`),a=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),o=require(`../../functions/utils/fees.utils.cjs`),s=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`);let c=require(`ethers`);var l=async(l,u,d,f,p,m={})=>{let h=d.erc20TokenAddress,g=f.map(e=>e+o.calculateTotalFee(e,p)),_=g.reduce((e,t)=>e+t,0n),v=[h],y=[0n],b=[!0],x=c.ethers.AbiCoder.defaultAbiCoder().encode([`uint256[]`],[g]),{hinkalWrapperAddress:S,hinkalWrapperABI:C,depositOnChainUtxosExternalActionAddress:w,depositOnChainUtxosExternalActionABI:T}=e.networkRegistry[u].contractData;if(!S||!C||!w||!T)throw Error(`contract data not set in networkRegistry`);let E=[...await i.addPaddingToUtxos(l,u,v,y,2,void 0,!0)],D=[];for(let e=0;e<E.length;e+=1){let{outputUtxos:t}=a.outputUtxoProcessing(l.userKeys,E[e],y[e]);D.push(t)}let{zkCallData:O,circomData:k,dimData:A}=await s.constructZkProof(l.merkleTreeHinkalByChain[u],E,D,l.userKeys,r.ExternalActionId.DepositOnChainUtxos,w,x,l.generateProofRemotely,n.zeroFeeStructure,t.zeroAddress,u,b,m.hookData,S);return{zkCallData:O,circomData:k,dimData:A,utxoAmounts:g,totalAmount:_,hinkalWrapperAddress:S,depositOnChainUtxosExternalActionAddress:w,hinkalWrapperABI:C,depositOnChainUtxosExternalActionABI:T,inputUtxosArray:E}};exports.prepareDepositOnChainUtxosZkProof=l;
|
|
@@ -7,7 +7,7 @@ import { outputUtxoProcessing as a } from "../../functions/pre-transaction/outpu
|
|
|
7
7
|
import { calculateTotalFee as o } from "../../functions/utils/fees.utils.mjs";
|
|
8
8
|
import { constructZkProof as s } from "../../functions/snarkjs/constructGeneralZkProof.mjs";
|
|
9
9
|
import { ethers as c } from "ethers";
|
|
10
|
-
//#region
|
|
10
|
+
//#region common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.ts
|
|
11
11
|
var l = async (l, u, d, f, p, m = {}) => {
|
|
12
12
|
let h = d.erc20TokenAddress, g = f.map((e) => e + o(e, p)), _ = g.reduce((e, t) => e + t, 0n), v = [h], y = [0n], b = [!0], x = c.AbiCoder.defaultAbiCoder().encode(["uint256[]"], [g]), { hinkalWrapperAddress: S, hinkalWrapperABI: C, depositOnChainUtxosExternalActionAddress: w, depositOnChainUtxosExternalActionABI: T } = e[u].contractData;
|
|
13
13
|
if (!S || !C || !w || !T) throw Error("contract data not set in networkRegistry");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
require(
|
|
1
|
+
require(`../../../../../../_virtual/_rolldown/runtime.cjs`);const e=require(`../../constants/chains.constants.cjs`),t=require(`../../types/ethereum-network.types.cjs`),n=require(`../../types/balances.types.cjs`),r=require(`../../types/events.types.cjs`);require(`../../types/index.cjs`);const i=require(`../../functions/utils/map.utils.cjs`),a=require(`../../functions/utils/mutexes.utils.cjs`),o=require(`../../functions/utils/create-provider.cjs`),s=require(`../../functions/utils/getContractAddress.cjs`),c=require(`../private-balances/BalanceChangedHandler.cjs`),l=require(`../event-service/evm/ClientBlockchainEventEmitter.cjs`),u=require(`../event-service/solana/ClientSolanaBlockchainEventEmitter.cjs`);require(`../event-service/index.cjs`);const d=require(`../snapshot/SnapshotFetcherService.cjs`),f=require(`../snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.cjs`),p=require(`../snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.cjs`),m=require(`../snapshot/evm-snapshots/ClientCommitmentsSnapshotService.cjs`),h=require(`../snapshot/evm-snapshots/ClientNullifierSnapshotService.cjs`);require(`../snapshot/index.cjs`);let g=require(`@solana/web3.js`),_=require(`async-mutex`);var v=new Map,y=e=>i.getOrCreateMapValue(v,e,()=>new _.Mutex),b=async(i,_)=>{let v=(_??i.getSupportedChains()).map(_=>y(_).runExclusive(async()=>{i.commitmentsSnapshotServiceByChain[_]?.intervalClear(),i.nullifierSnapshotServiceByChain[_]?.intervalClear();let{maxPageSize:v,fetchRpcUrl:y,contractData:b}=e.networkRegistry[_],x;if(e.isSolanaLike(_)){let e=b.hinkalAddress;if(!y||!e)throw Error(`Fetch RPC URL or Solana program ID is not set`);x=new u.ClientSolanaBlockchainEventEmitter(_,o.createCustomSolanaConnection(y),new g.PublicKey(e),0,a.getChainBalanceFetchingMutex(_),v);let t=b.hinkalIdl;t&&x.setIdl(t);let n=new d.SnapshotFetcherService(_,e);i.commitmentsSnapshotServiceByChain[_]=new f.ClientSolanaCommitmentsSnapshotService(x,n),i.nullifierSnapshotServiceByChain[_]=new p.ClientSolanaNullifierSnapshotService(x,n)}else{let e=i.getContractWithFetcherByChainId(_,t.ContractType.HinkalContract),n=i.getContractWithFetcherByChainId(_,t.ContractType.DepositOnChainUtxos),o=a.getChainBalanceFetchingMutex(_);x=new l.ClientBlockchainEventEmitter(r.EventCategory.MainContractEvents,_,e,0,o,v,n);let c=new d.SnapshotFetcherService(_,s.getContractAddress(e));i.commitmentsSnapshotServiceByChain[_]=new m.ClientCommitmentsSnapshotService(x,c),i.nullifierSnapshotServiceByChain[_]=new h.ClientNullifierSnapshotService(x,c)}let S=i.commitmentsSnapshotServiceByChain[_],C=i.nullifierSnapshotServiceByChain[_];if(!S||!C)throw Error(`Missing snapshot service for chain ${_}`);await Promise.all([S.init(),C.init()]),await x.init(),i.merkleTreeHinkalByChain[_]=S.merkleTree,i.nullifiersByChain[_]=C.nullifiers,i.encryptedOutputsByChain[_]=S.encryptedOutputs,x.onEventsProcessed=e=>{e>0&&c.balanceChangedHandler.dispatch({updateType:n.PrivateBalanceUpdateType.FreshWithoutLoader,updateTokensListBefore:!0,chainIdToUpdate:_})}}));await Promise.allSettled(v)};exports.resetMerkleTrees=b;
|