@hinkal/common 0.3.1 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/common/src/API/API.cjs +1 -1
- package/common/src/API/API.d.ts +9 -34
- package/common/src/API/API.mjs +75 -100
- package/common/src/API/callOneInchAPI.cjs +1 -1
- package/common/src/API/callOneInchAPI.d.ts +6 -0
- package/common/src/API/callOneInchAPI.mjs +5 -2
- package/common/src/API/dashboardAccountMemberCalls.cjs +1 -1
- package/common/src/API/dashboardAccountMemberCalls.d.ts +15 -0
- package/common/src/API/dashboardAccountMemberCalls.mjs +5 -2
- package/common/src/API/dashboardPayoutCalls.cjs +1 -1
- package/common/src/API/dashboardPayoutCalls.d.ts +2 -1
- package/common/src/API/dashboardPayoutCalls.mjs +4 -1
- package/common/src/API/enclaveUtxoCalls.d.ts +9 -1
- package/common/src/API/getWebsiteURL.d.ts +1 -2
- package/common/src/API/index.cjs +1 -1
- package/common/src/API/index.d.ts +1 -2
- package/common/src/API/index.mjs +2 -3
- package/common/src/API/payoutNotificationStateCalls.cjs +1 -0
- package/common/src/API/payoutNotificationStateCalls.d.ts +10 -0
- package/common/src/API/payoutNotificationStateCalls.mjs +10 -0
- package/common/src/API/proxyAccountsCalls.cjs +1 -1
- package/common/src/API/proxyAccountsCalls.d.ts +2 -3
- package/common/src/API/proxyAccountsCalls.mjs +11 -10
- package/common/src/API/rewardsUserCalls.cjs +1 -1
- package/common/src/API/rewardsUserCalls.d.ts +1 -38
- package/common/src/API/rewardsUserCalls.mjs +2 -9
- package/common/src/API/scheduled-transactions-calls.d.ts +1 -0
- package/common/src/API/temporaryWalletCalls.cjs +1 -1
- package/common/src/API/temporaryWalletCalls.mjs +8 -8
- package/common/src/API/weeklyAnalyticCalls.cjs +1 -1
- package/common/src/API/weeklyAnalyticCalls.d.ts +1 -11
- package/common/src/API/weeklyAnalyticCalls.mjs +2 -5
- package/common/src/constants/chains.constants.cjs +1 -1
- package/common/src/constants/chains.constants.mjs +3 -10
- package/common/src/constants/contracts.constants.cjs +1 -1
- package/common/src/constants/contracts.constants.mjs +19 -32
- package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-arbMainnet.json.mjs +8 -9
- package/common/src/constants/deploy-data/deploy-data-base.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-base.json.mjs +8 -9
- package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-ethMainnet.json.mjs +8 -9
- package/common/src/constants/deploy-data/deploy-data-optimism.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-optimism.json.mjs +8 -9
- package/common/src/constants/deploy-data/deploy-data-optimismTest.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-optimismTest.json.mjs +8 -9
- package/common/src/constants/deploy-data/deploy-data-polygon.json.cjs +1 -1
- package/common/src/constants/deploy-data/deploy-data-polygon.json.mjs +8 -9
- package/common/src/constants/deploy-data/shared-deploy-data-evm.json.cjs +1 -1
- package/common/src/constants/deploy-data/shared-deploy-data-evm.json.mjs +19 -45
- package/common/src/constants/deploy-data/shared-deploy-data-solana.json.cjs +1 -1
- package/common/src/constants/deploy-data/shared-deploy-data-solana.json.mjs +1 -1
- package/common/src/constants/deploy-data/shared-deploy-data-tron.json.cjs +1 -1
- package/common/src/constants/deploy-data/shared-deploy-data-tron.json.mjs +7 -18
- package/common/src/constants/enclaveAuth.constants.d.ts +5 -0
- package/common/src/constants/index.cjs +1 -1
- package/common/src/constants/index.d.ts +1 -2
- package/common/src/constants/index.mjs +0 -1
- package/common/src/constants/mediaUrls.constants.d.ts +0 -1
- package/common/src/constants/pay.constants.d.ts +1 -0
- package/common/src/constants/protocol.constants.cjs +2 -1
- package/common/src/constants/protocol.constants.d.ts +7 -5
- package/common/src/constants/protocol.constants.mjs +4 -11
- package/common/src/constants/rewards.constants.d.ts +0 -13
- package/common/src/constants/server.constants.cjs +1 -1
- package/common/src/constants/server.constants.d.ts +5 -28
- package/common/src/constants/server.constants.mjs +10 -41
- package/common/src/crypto/ecdh.cjs +1 -1
- package/common/src/crypto/ecdh.mjs +2 -9
- package/common/src/crypto/index.cjs +1 -1
- package/common/src/crypto/index.mjs +1 -1
- package/common/src/data-structures/Hinkal/Hinkal.cjs +1 -1
- package/common/src/data-structures/Hinkal/Hinkal.d.ts +4 -8
- package/common/src/data-structures/Hinkal/Hinkal.mjs +83 -99
- package/common/src/data-structures/Hinkal/IHinkal.d.ts +5 -9
- package/common/src/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
- package/common/src/data-structures/Hinkal/handleAutoDepositBack.mjs +22 -22
- package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalBridgePrivateToPrivate.mjs +21 -21
- package/common/src/data-structures/Hinkal/hinkalClaimUtxo.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalClaimUtxo.mjs +6 -9
- package/common/src/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDeposit.mjs +4 -7
- package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDepositAndBridge.mjs +64 -66
- package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.d.ts +1 -1
- package/common/src/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +47 -51
- package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.d.ts +1 -1
- package/common/src/data-structures/Hinkal/hinkalDepositOnChainUtxos.mjs +33 -43
- package/common/src/data-structures/Hinkal/hinkalPalEvmDeposit.d.ts +1 -1
- package/common/src/data-structures/Hinkal/hinkalPalTronDepositPrepare.d.ts +2 -2
- package/common/src/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalPrivateWallet.mjs +6 -6
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.d.ts +2 -2
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.mjs +107 -94
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.d.ts +3 -0
- package/common/src/data-structures/Hinkal/hinkalProoflessDeposit.utils.mjs +26 -14
- package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalProxyToPrivate.mjs +4 -4
- package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaClaimUtxo.mjs +4 -9
- package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaDeposit.mjs +26 -32
- package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +43 -42
- package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalSolanaTransfer.mjs +4 -4
- package/common/src/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalTransfer.mjs +6 -6
- package/common/src/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalWithdraw.mjs +22 -26
- package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
- package/common/src/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +21 -24
- package/common/src/data-structures/Hinkal/index.d.ts +0 -1
- package/common/src/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
- package/common/src/data-structures/Hinkal/resetMerkleTrees.mjs +4 -4
- package/common/src/data-structures/IndexedDB/activity-db.cjs +1 -1
- package/common/src/data-structures/IndexedDB/activity-db.mjs +34 -34
- package/common/src/data-structures/IndexedDB/contact-db.cjs +1 -1
- package/common/src/data-structures/IndexedDB/contact-db.d.ts +0 -1
- package/common/src/data-structures/IndexedDB/contact-db.mjs +14 -28
- package/common/src/data-structures/IndexedDB/key-val-store.cjs +1 -1
- package/common/src/data-structures/IndexedDB/key-val-store.d.ts +2 -0
- package/common/src/data-structures/IndexedDB/key-val-store.mjs +14 -0
- package/common/src/data-structures/IndexedDB/private-balances-db.cjs +1 -1
- package/common/src/data-structures/IndexedDB/private-balances-db.d.ts +1 -0
- package/common/src/data-structures/IndexedDB/private-balances-db.mjs +3 -0
- package/common/src/data-structures/IndexedDB/signatures-db.cjs +1 -1
- package/common/src/data-structures/IndexedDB/signatures-db.mjs +11 -11
- package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.cjs +1 -1
- package/common/src/data-structures/MultiThreadedUtxoUtils/MultiThreadedUtxoUtils.mjs +25 -25
- package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/AlchemyPublicTokensDB.mjs +12 -12
- package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/ArcPublicTokensDB.mjs +12 -12
- package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/EventsPublicTokensDB.mjs +24 -24
- package/common/src/data-structures/TokenDBs/PrivateTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/PrivateTokensDB.mjs +14 -14
- package/common/src/data-structures/TokenDBs/TronPublicTokensDB.cjs +1 -1
- package/common/src/data-structures/TokenDBs/TronPublicTokensDB.mjs +14 -14
- package/common/src/data-structures/WalletManager/WalletManager.d.ts +1 -0
- package/common/src/data-structures/cacheDevices/BaseCacheDevice.cjs +1 -1
- package/common/src/data-structures/cacheDevices/BaseCacheDevice.d.ts +1 -0
- package/common/src/data-structures/cacheDevices/BaseCacheDevice.mjs +3 -0
- package/common/src/data-structures/cacheDevices/FileCacheDevice.cjs +1 -1
- package/common/src/data-structures/cacheDevices/FileCacheDevice.d.ts +3 -0
- package/common/src/data-structures/cacheDevices/FileCacheDevice.mjs +12 -3
- package/common/src/data-structures/crypto-keys/decodeUTXO.cjs +1 -1
- package/common/src/data-structures/crypto-keys/decodeUTXO.d.ts +8 -9
- package/common/src/data-structures/crypto-keys/decodeUTXO.mjs +38 -48
- package/common/src/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -1
- package/common/src/data-structures/crypto-keys/encryptDecryptUtxo.d.ts +2 -3
- package/common/src/data-structures/crypto-keys/encryptDecryptUtxo.mjs +26 -22
- package/common/src/data-structures/crypto-keys/keys.cjs +1 -1
- package/common/src/data-structures/crypto-keys/keys.d.ts +12 -27
- package/common/src/data-structures/crypto-keys/keys.mjs +61 -79
- package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
- package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +1 -2
- package/common/src/data-structures/event-service/evm/BlockchainEventEmitter.mjs +4 -10
- package/common/src/data-structures/event-service/evm/ClientBlockchainEventEmitter.cjs +1 -1
- package/common/src/data-structures/event-service/evm/ClientBlockchainEventEmitter.d.ts +1 -1
- package/common/src/data-structures/event-service/evm/ClientBlockchainEventEmitter.mjs +2 -2
- package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.cjs +1 -1
- package/common/src/data-structures/private-balances/HinkalPrivateBalanceController.mjs +40 -40
- package/common/src/data-structures/provider-adapter/IProviderAdapter.d.ts +0 -1
- package/common/src/data-structures/utxo/Utxo.cjs +1 -1
- package/common/src/data-structures/utxo/Utxo.d.ts +1 -4
- package/common/src/data-structures/utxo/Utxo.mjs +7 -17
- package/common/src/error-handling/error-codes.constants.cjs +2 -2
- package/common/src/error-handling/error-codes.constants.d.ts +0 -3
- package/common/src/error-handling/error-codes.constants.mjs +13 -18
- package/common/src/error-handling/index.cjs +1 -1
- package/common/src/error-handling/index.d.ts +1 -0
- package/common/src/error-handling/index.mjs +1 -0
- package/common/src/functions/auto-deposit-back-helpers/select-gas-token.cjs +1 -1
- package/common/src/functions/auto-deposit-back-helpers/select-gas-token.mjs +8 -8
- package/common/src/functions/index.cjs +1 -1
- package/common/src/functions/index.mjs +1 -1
- package/common/src/functions/pre-transaction/buildCommitmentValidationData.cjs +1 -1
- package/common/src/functions/pre-transaction/buildCommitmentValidationData.mjs +36 -38
- package/common/src/functions/pre-transaction/outputUtxoProcessing.cjs +1 -1
- package/common/src/functions/pre-transaction/outputUtxoProcessing.mjs +3 -5
- package/common/src/functions/pre-transaction/recipientUtxoProcessing.cjs +1 -1
- package/common/src/functions/pre-transaction/recipientUtxoProcessing.mjs +3 -5
- package/common/src/functions/pre-transaction/solana-public-signals.d.ts +1 -0
- package/common/src/functions/pre-transaction/solana.cjs +1 -1
- package/common/src/functions/pre-transaction/solana.mjs +5 -4
- package/common/src/functions/private-wallet/emporium.helpers.cjs +1 -1
- package/common/src/functions/private-wallet/emporium.helpers.d.ts +1 -2
- package/common/src/functions/private-wallet/emporium.helpers.mjs +83 -57
- package/common/src/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
- package/common/src/functions/private-wallet/emporium.swap.helpers.mjs +19 -19
- package/common/src/functions/snarkjs/common.snarkjs.cjs +1 -1
- package/common/src/functions/snarkjs/common.snarkjs.d.ts +2 -3
- package/common/src/functions/snarkjs/common.snarkjs.mjs +45 -47
- package/common/src/functions/snarkjs/constant.cjs +1 -1
- package/common/src/functions/snarkjs/constant.d.ts +151 -144
- package/common/src/functions/snarkjs/constant.mjs +151 -145
- package/common/src/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
- package/common/src/functions/snarkjs/constructGeneralZkProof.d.ts +1 -1
- package/common/src/functions/snarkjs/constructGeneralZkProof.mjs +59 -60
- package/common/src/functions/snarkjs/constructSignatureFromMnemonicProofInput.cjs +1 -0
- package/common/src/functions/snarkjs/constructSignatureFromMnemonicProofInput.d.ts +7 -0
- package/common/src/functions/snarkjs/constructSignatureFromMnemonicProofInput.mjs +2 -0
- package/common/src/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
- package/common/src/functions/snarkjs/constructSolanaZkProof.mjs +54 -58
- package/common/src/functions/snarkjs/fetchMerkleTreeSiblings.d.ts +1 -3
- package/common/src/functions/snarkjs/fetchOnChainRootHashes.cjs +1 -1
- package/common/src/functions/snarkjs/fetchOnChainRootHashes.d.ts +1 -0
- package/common/src/functions/snarkjs/fetchOnChainRootHashes.mjs +14 -5
- package/common/src/functions/snarkjs/generateCircomData.cjs +1 -1
- package/common/src/functions/snarkjs/generateCircomData.d.ts +1 -1
- package/common/src/functions/snarkjs/generateCircomData.mjs +35 -31
- package/common/src/functions/snarkjs/generateSignatureFromMnemonicProof.cjs +1 -0
- package/common/src/functions/snarkjs/generateSignatureFromMnemonicProof.d.ts +2 -0
- package/common/src/functions/snarkjs/generateSignatureFromMnemonicProof.mjs +3 -0
- package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.cjs +1 -1
- package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.d.ts +2 -0
- package/common/src/functions/snarkjs/getMerkleTreeSiblingsAndRootHashes.mjs +18 -12
- package/common/src/functions/snarkjs/getZKFiles.cjs +1 -1
- package/common/src/functions/snarkjs/getZKFiles.mjs +9 -3
- package/common/src/functions/snarkjs/index.cjs +1 -1
- package/common/src/functions/snarkjs/index.d.ts +2 -0
- package/common/src/functions/snarkjs/index.mjs +2 -0
- package/common/src/functions/snarkjs/signedMessageHash.cjs +1 -1
- package/common/src/functions/snarkjs/signedMessageHash.d.ts +1 -0
- package/common/src/functions/snarkjs/signedMessageHash.mjs +2 -0
- package/common/src/functions/utils/addresses.cjs +1 -1
- package/common/src/functions/utils/addresses.d.ts +0 -1
- package/common/src/functions/utils/addresses.mjs +10 -13
- package/common/src/functions/utils/bridge-flow.utils.d.ts +1 -1
- package/common/src/functions/utils/buildClaimableDepositPlan.d.ts +1 -0
- package/common/src/functions/utils/convertEmporiumOpToCallInfo.cjs +1 -1
- package/common/src/functions/utils/convertEmporiumOpToCallInfo.mjs +5 -10
- package/common/src/functions/utils/enclave-utxo-storage.d.ts +3 -0
- package/common/src/functions/utils/enclaveSessionSigning.cjs +1 -0
- package/common/src/functions/utils/enclaveSessionSigning.d.ts +16 -0
- package/common/src/functions/utils/enclaveSessionSigning.mjs +2 -0
- package/common/src/functions/utils/encodeTokenWithId.cjs +1 -1
- package/common/src/functions/utils/encodeTokenWithId.d.ts +1 -2
- package/common/src/functions/utils/encodeTokenWithId.mjs +2 -5
- package/common/src/functions/utils/fees.utils.cjs +1 -1
- package/common/src/functions/utils/fees.utils.d.ts +1 -0
- package/common/src/functions/utils/fees.utils.mjs +5 -1
- package/common/src/functions/utils/getDataFromTransaction.d.ts +4 -3
- package/common/src/functions/utils/getRecipientInfoFromUserKeys.cjs +1 -1
- package/common/src/functions/utils/getRecipientInfoFromUserKeys.mjs +2 -3
- package/common/src/functions/utils/getUtxosFromReceiptSolana.cjs +1 -1
- package/common/src/functions/utils/getUtxosFromReceiptSolana.mjs +16 -18
- package/common/src/functions/utils/index.cjs +1 -1
- package/common/src/functions/utils/index.d.ts +5 -1
- package/common/src/functions/utils/index.mjs +5 -1
- package/common/src/functions/utils/legacyKeys.cjs +1 -0
- package/common/src/functions/utils/legacyKeys.d.ts +10 -0
- package/common/src/functions/utils/legacyKeys.mjs +8 -0
- package/common/src/functions/utils/mnemonics.cjs +1 -1
- package/common/src/functions/utils/mnemonics.mjs +4 -6
- package/common/src/functions/utils/nearIntents.utils.cjs +1 -1
- package/common/src/functions/utils/nearIntents.utils.mjs +1 -1
- package/common/src/functions/utils/networks.utils.d.ts +1 -0
- package/common/src/functions/utils/prepareHinkal.cjs +1 -1
- package/common/src/functions/utils/prepareHinkal.d.ts +1 -3
- package/common/src/functions/utils/prepareHinkal.mjs +2 -1
- package/common/src/functions/utils/resolve-domain-address.cjs +1 -0
- package/common/src/functions/utils/resolve-domain-address.d.ts +4 -0
- package/common/src/functions/utils/resolve-domain-address.mjs +3 -0
- package/common/src/functions/utils/serialize-utxos.utils.cjs +1 -1
- package/common/src/functions/utils/serialize-utxos.utils.mjs +6 -4
- package/common/src/functions/utils/tron.utils.cjs +1 -1
- package/common/src/functions/utils/tron.utils.d.ts +1 -1
- package/common/src/functions/utils/tron.utils.mjs +14 -29
- package/common/src/functions/utils/validateWalletAddress.cjs +1 -0
- package/common/src/functions/utils/validateWalletAddress.d.ts +1 -0
- package/common/src/functions/utils/validateWalletAddress.mjs +2 -0
- package/common/src/functions/utils/voidWallets.utils.cjs +1 -0
- package/common/src/functions/utils/voidWallets.utils.d.ts +4 -0
- package/common/src/functions/utils/voidWallets.utils.mjs +1 -0
- package/common/src/functions/web3/etherFunctions.d.ts +1 -0
- package/common/src/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
- package/common/src/functions/web3/events/getInputUtxoAndBalance.d.ts +2 -4
- package/common/src/functions/web3/events/getInputUtxoAndBalance.mjs +9 -16
- package/common/src/functions/web3/events/getShieldedBalance.cjs +1 -1
- package/common/src/functions/web3/events/getShieldedBalance.d.ts +1 -1
- package/common/src/functions/web3/events/getShieldedBalance.mjs +21 -29
- package/common/src/functions/web3/functionCalls/approveToken.cjs +1 -1
- package/common/src/functions/web3/functionCalls/approveToken.d.ts +1 -1
- package/common/src/functions/web3/functionCalls/approveToken.mjs +21 -107
- package/common/src/functions/web3/functionCalls/constructBatchCall.cjs +1 -1
- package/common/src/functions/web3/functionCalls/constructBatchCall.d.ts +2 -2
- package/common/src/functions/web3/functionCalls/constructBatchCall.mjs +23 -18
- package/common/src/functions/web3/functionCalls/transactCallDirectTron.cjs +1 -1
- package/common/src/functions/web3/functionCalls/transactCallDirectTron.mjs +37 -3
- package/common/src/functions/web3/functionCalls/waitForErc20Approvals.cjs +1 -1
- package/common/src/functions/web3/functionCalls/waitForErc20Approvals.mjs +6 -6
- package/common/src/functions/web3/oneInchAPI.cjs +1 -1
- package/common/src/functions/web3/oneInchAPI.mjs +31 -21
- package/common/src/functions/web3/uniswapAPI.cjs +1 -1
- package/common/src/functions/web3/uniswapAPI.mjs +6 -6
- package/common/src/providers/EthersProviderAdapter.cjs +1 -1
- package/common/src/providers/EthersProviderAdapter.d.ts +0 -1
- package/common/src/providers/EthersProviderAdapter.mjs +0 -3
- package/common/src/providers/SolanaProviderAdapter.cjs +1 -1
- package/common/src/providers/SolanaProviderAdapter.d.ts +0 -1
- package/common/src/providers/SolanaProviderAdapter.mjs +0 -3
- package/common/src/providers/TronProviderAdapter.cjs +1 -1
- package/common/src/providers/TronProviderAdapter.d.ts +0 -1
- package/common/src/providers/TronProviderAdapter.mjs +0 -3
- package/common/src/providers/WagmiProviderAdapter.cjs +1 -1
- package/common/src/providers/WagmiProviderAdapter.d.ts +0 -1
- package/common/src/providers/WagmiProviderAdapter.mjs +5 -9
- package/common/src/types/API.types.d.ts +0 -4
- package/common/src/types/WeeklyAnalytics.types.d.ts +1 -26
- package/common/src/types/cache.types.cjs +1 -1
- package/common/src/types/cache.types.d.ts +2 -2
- package/common/src/types/cache.types.mjs +1 -1
- package/common/src/types/circom-data.types.cjs +1 -1
- package/common/src/types/circom-data.types.d.ts +26 -27
- package/common/src/types/circom-data.types.mjs +1 -1
- package/common/src/types/dashboard-account.d.ts +15 -0
- package/common/src/types/dashboard-payout.types.d.ts +1 -0
- package/common/src/types/enclaveApi.types.d.ts +78 -0
- package/common/src/types/ethereum-network.types.cjs +1 -1
- package/common/src/types/ethereum-network.types.d.ts +13 -23
- package/common/src/types/ethereum-network.types.mjs +1 -1
- package/common/src/types/external-action.types.cjs +1 -1
- package/common/src/types/external-action.types.d.ts +2 -3
- package/common/src/types/external-action.types.mjs +1 -1
- package/common/src/types/hinkal.types.cjs +1 -1
- package/common/src/types/hinkal.types.d.ts +8 -22
- package/common/src/types/hinkal.types.mjs +11 -19
- package/common/src/types/index.cjs +1 -1
- package/common/src/types/index.d.ts +3 -5
- package/common/src/types/index.mjs +0 -1
- package/common/src/types/new-rewards.type.d.ts +0 -70
- package/common/src/types/payout-notification.types.d.ts +11 -0
- package/common/src/types/proxy-progress.types.d.ts +5 -0
- package/common/src/types/snark.types.d.ts +1 -3
- package/common/src/types/token.types.cjs +1 -1
- package/common/src/types/token.types.mjs +1 -3
- package/common/src/types/transaction.types.d.ts +0 -1
- package/common/src/types/transactions.types.d.ts +0 -1
- package/common/src/webworker/logError-uy41lNp1.js +2 -0
- package/common/src/webworker/package.json +1 -1
- package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.cjs +1 -1
- package/common/src/webworker/snarkjsWorker/snarkjsWorkerLauncher.ts?worker&url.mjs +1 -1
- package/common/src/webworker/snarkjsWorkerNode.cjs +1 -1
- package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.cjs +1 -1
- package/common/src/webworker/utxoWorker/utxoWorkerLauncher.ts?worker&url.mjs +1 -1
- package/common/src/webworker/utxoWorkerNode.cjs +1 -1
- package/common/src/webworker/viteWorkerURL.constant.cjs +3 -3
- package/common/src/webworker/viteWorkerURL.constant.mjs +3 -3
- package/common/src/webworker/workerProxy-MheXtWa4.js +1 -0
- package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.cjs +1 -1
- package/common/src/webworker/zkProofWorker/zkProofWorkerLauncher.ts?worker&url.mjs +1 -1
- package/common/src/webworker/zkProofWorkerNode.cjs +1 -1
- package/package.json +1 -1
- package/services/Hinkal.cjs +1 -1
- package/services/Hinkal.d.ts +1 -2
- package/services/Hinkal.mjs +4 -7
- package/types/IHinkal.d.ts +1 -2
- package/common/src/API/accessCodeCalls.cjs +0 -1
- package/common/src/API/accessCodeCalls.d.ts +0 -23
- package/common/src/API/accessCodeCalls.mjs +0 -13
- package/common/src/API/brotherhoodCalls.cjs +0 -1
- package/common/src/API/brotherhoodCalls.d.ts +0 -82
- package/common/src/API/brotherhoodCalls.mjs +0 -17
- package/common/src/API/generate-trading-points.cjs +0 -1
- package/common/src/API/generate-trading-points.d.ts +0 -27
- package/common/src/API/generate-trading-points.mjs +0 -23
- package/common/src/API/leaderboardCalls.cjs +0 -1
- package/common/src/API/leaderboardCalls.d.ts +0 -14
- package/common/src/API/leaderboardCalls.mjs +0 -8
- package/common/src/API/referralsCalls.cjs +0 -1
- package/common/src/API/referralsCalls.d.ts +0 -22
- package/common/src/API/referralsCalls.mjs +0 -11
- package/common/src/API/send-telegram-callback.cjs +0 -1
- package/common/src/API/send-telegram-callback.d.ts +0 -7
- package/common/src/API/send-telegram-callback.mjs +0 -11
- package/common/src/constants/mystery-boxes.constants.d.ts +0 -0
- package/common/src/constants/price-impact.constants.d.ts +0 -2
- package/common/src/constants/tasks.constants.cjs +0 -1
- package/common/src/constants/tasks.constants.d.ts +0 -9
- package/common/src/constants/tasks.constants.mjs +0 -124
- package/common/src/data-structures/Hinkal/hinkalMultiSend.cjs +0 -1
- package/common/src/data-structures/Hinkal/hinkalMultiSend.d.ts +0 -3
- package/common/src/data-structures/Hinkal/hinkalMultiSend.mjs +0 -12
- package/common/src/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.cjs +0 -1
- package/common/src/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.d.ts +0 -6
- package/common/src/data-structures/Hinkal/hinkalProoflessDepositViaWrapper.mjs +0 -128
- package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.cjs +0 -1
- package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.d.ts +0 -22
- package/common/src/data-structures/Hinkal/prepareDepositOnChainUtxosZkProof.mjs +0 -34
- package/common/src/functions/utils/bit.operations.cjs +0 -1
- package/common/src/functions/utils/bit.operations.d.ts +0 -3
- package/common/src/functions/utils/bit.operations.mjs +0 -4
- package/common/src/types/brotherhood-user.types.d.ts +0 -11
- package/common/src/types/crypto.types.d.ts +0 -8
- package/common/src/types/generatePoints.d.ts +0 -14
- package/common/src/types/new-rewards.type.cjs +0 -1
- package/common/src/types/new-rewards.type.mjs +0 -10
- package/common/src/types/referral.types.d.ts +0 -12
- package/common/src/types/rewards.types.d.ts +0 -34
- package/common/src/types/token-with-id.types.d.ts +0 -4
- package/common/src/webworker/logError-BR5TJP6T.js +0 -2
- package/common/src/webworker/workerProxy-Ddzxn23N.js +0 -1
|
@@ -1 +1 @@
|
|
|
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
|
|
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(),spendingPublicKey:x.getSpendingKeyPair().pubSpendingBJJPoint}),L=new o.Utxo({amount:0n,erc20TokenAddress:w.erc20TokenAddress,mintAddress:w.mintAddress,nullifyingKey:x.getShieldedPrivateKey(),timeStamp:F,spendingPublicKey:x.getSpendingKeyPair().pubSpendingBJJPoint}),R=new o.Utxo({amount:k,erc20TokenAddress:w.erc20TokenAddress,mintAddress:w.mintAddress,timeStamp:F,H0:[BigInt(M),BigInt(N)],stealthAddress:j,encryptionKey:P}),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;
|
|
@@ -32,25 +32,21 @@ var h = async (h, g, _, v, y) => {
|
|
|
32
32
|
if (T.amount <= E.flatFee) throw Error(r.INSUFFICIENT_FUNDS_TO_TRANSACT);
|
|
33
33
|
let O = T.amount - E.flatFee, k = O * D / 10000n, A = O - k;
|
|
34
34
|
if (A <= 0n) throw Error(r.RECIPIENT_AMOUNT_INVALID);
|
|
35
|
-
let j = E.flatFee + k, [M, N, P, , F] = h.getRecipientInfo().split(",");
|
|
35
|
+
let j = E.flatFee + k, [M, N, P, , , F] = h.getRecipientInfo().split(",");
|
|
36
36
|
if (!N || !P || !M || !F) throw Error("Invalid recipient info");
|
|
37
37
|
let I = o().toString(), L = new s({
|
|
38
38
|
amount: 0n,
|
|
39
39
|
erc20TokenAddress: T.erc20TokenAddress,
|
|
40
40
|
mintAddress: T.mintAddress,
|
|
41
41
|
nullifyingKey: S.getShieldedPrivateKey(),
|
|
42
|
-
|
|
43
|
-
spendingPublicKey: S.getSpendingKeyPair().pubSpendingBJJPoint,
|
|
44
|
-
isNewStyle: !0
|
|
45
|
-
} : { isNewStyle: !1 }
|
|
42
|
+
spendingPublicKey: S.getSpendingKeyPair().pubSpendingBJJPoint
|
|
46
43
|
}), R = new s({
|
|
47
44
|
amount: 0n,
|
|
48
45
|
erc20TokenAddress: T.erc20TokenAddress,
|
|
49
46
|
mintAddress: T.mintAddress,
|
|
50
47
|
nullifyingKey: S.getShieldedPrivateKey(),
|
|
51
48
|
timeStamp: I,
|
|
52
|
-
spendingPublicKey: S.getSpendingKeyPair().pubSpendingBJJPoint
|
|
53
|
-
isNewStyle: !0
|
|
49
|
+
spendingPublicKey: S.getSpendingKeyPair().pubSpendingBJJPoint
|
|
54
50
|
}), z = new s({
|
|
55
51
|
amount: A,
|
|
56
52
|
erc20TokenAddress: T.erc20TokenAddress,
|
|
@@ -58,8 +54,7 @@ var h = async (h, g, _, v, y) => {
|
|
|
58
54
|
timeStamp: I,
|
|
59
55
|
H0: [BigInt(N), BigInt(P)],
|
|
60
56
|
stealthAddress: M,
|
|
61
|
-
encryptionKey: F
|
|
62
|
-
isNewStyle: !0
|
|
57
|
+
encryptionKey: F
|
|
63
58
|
}), B = [T, L], V = [R, z], H = await h.getRandomRelay(b, !0);
|
|
64
59
|
if (!H) throw Error(r.RELAYER_NOT_AVAILABLE);
|
|
65
60
|
let U = a.findCorrectRandomization(i(31), S.getShieldedPrivateKey()), W = {
|
|
@@ -1 +1 @@
|
|
|
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`)
|
|
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(`./hinkalProoflessDeposit.utils.cjs`);require(`../../functions/pre-transaction/solanaTransfer.utils.cjs`);let m=require(`@solana/web3.js`),h=require(`@coral-xyz/anchor`);var g=(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:h,wallet:g}=f.provider;if(!g)throw Error(`missing solana wallet`);let _=new m.PublicKey(d),v=new m.PublicKey(u),{mintPublicKey:y}=a.formatMintAddress(o),b=y.toString()===t.solanaNativeAddress;return{chainId:i,mintAddress:o,program:f,publicKey:p,connection:h,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,_)}},_=(e,t,n)=>{let r=n.map(e=>l.buildAnchorStealthAddressStructure(e));return e.program.methods.multiPaymentDeposit(t.map(e=>new h.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()},v=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 m.VersionedTransaction(new m.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``},y=(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`);p.assertNoDuplicateStealthAddressStructures(t)},b=async(e,t,n,r,i,a=!1)=>{y(n,r);let o=g(e,t),s=u.constructAdminData(i,o.chainId,Array(n.length).fill(o.mintAddress),n,await e.getEthereumAddress()),c=await _(o,n,r);if(a){let{blockhash:e}=await o.connection.getLatestBlockhash(),t=new m.Transaction().add(c);return t.recentBlockhash=e,t.feePayer=o.publicKey,Buffer.from(t.serialize({requireAllSignatures:!1})).toString(`base64`)}let l=await v(o.connection,o.wallet,o.publicKey,[c]);return await f.emitTxPublicData(s),l},x=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 b(e,n,[t],[s],void 0,a)},S=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 b(e,r,[t],[c],s,a)};exports.hinkalSolanaDeposit=x,exports.hinkalSolanaDepositForOther=S,exports.submitSolanaProoflessDeposit=b;
|
|
@@ -11,18 +11,18 @@ import { buildAnchorStealthAddressStructure as u, getMerkleAccountPublicKey as d
|
|
|
11
11
|
import { constructAdminData as m } from "../../functions/pre-transaction/constructAdminData.mjs";
|
|
12
12
|
import { shouldRetryForSolanaError as h } from "../../error-handling/retrySolanaError.mjs";
|
|
13
13
|
import { emitTxPublicData as g } from "../../API/admin-calls.mjs";
|
|
14
|
-
import {
|
|
15
|
-
import
|
|
16
|
-
import { PublicKey as
|
|
17
|
-
import { BN as
|
|
14
|
+
import { assertNoDuplicateStealthAddressStructures as _ } from "./hinkalProoflessDeposit.utils.mjs";
|
|
15
|
+
import "../../functions/pre-transaction/solanaTransfer.utils.mjs";
|
|
16
|
+
import { PublicKey as v, Transaction as y, TransactionMessage as b, VersionedTransaction as x } from "@solana/web3.js";
|
|
17
|
+
import { BN as S } from "@coral-xyz/anchor";
|
|
18
18
|
//#region libs/shared/common/src/data-structures/Hinkal/hinkalSolanaDeposit.ts
|
|
19
|
-
var
|
|
19
|
+
var C = (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");
|
|
22
22
|
if (!u) throw Error("missing original deployer");
|
|
23
23
|
let m = n.getSolanaProgram(s), h = n.getSolanaPublicKey(), { connection: g, wallet: _ } = m.provider;
|
|
24
24
|
if (!_) throw Error("missing solana wallet");
|
|
25
|
-
let
|
|
25
|
+
let y = new v(u), b = new v(l), { mintPublicKey: x } = a(o), S = x.toString() === t;
|
|
26
26
|
return {
|
|
27
27
|
chainId: i,
|
|
28
28
|
mintAddress: o,
|
|
@@ -30,17 +30,17 @@ var w = (n, r) => {
|
|
|
30
30
|
publicKey: h,
|
|
31
31
|
connection: g,
|
|
32
32
|
wallet: _,
|
|
33
|
-
originalDeployer:
|
|
33
|
+
originalDeployer: y,
|
|
34
34
|
mintPublicKey: x,
|
|
35
35
|
mint: S ? null : x,
|
|
36
36
|
atasValue: S ? null : void 0,
|
|
37
|
-
storageAccount: f(b,
|
|
38
|
-
storageVault: p(b,
|
|
39
|
-
merkleAccount: d(b,
|
|
37
|
+
storageAccount: f(b, y),
|
|
38
|
+
storageVault: p(b, y),
|
|
39
|
+
merkleAccount: d(b, y)
|
|
40
40
|
};
|
|
41
|
-
},
|
|
41
|
+
}, w = (e, t, n) => {
|
|
42
42
|
let r = n.map((e) => u(e));
|
|
43
|
-
return e.program.methods.multiPaymentDeposit(t.map((e) => new
|
|
43
|
+
return e.program.methods.multiPaymentDeposit(t.map((e) => new S(e.toString())), r, !1).accounts({
|
|
44
44
|
mint: e.mint,
|
|
45
45
|
signer: e.publicKey,
|
|
46
46
|
signerAta: e.atasValue,
|
|
@@ -50,11 +50,11 @@ var w = (n, r) => {
|
|
|
50
50
|
merkleAccount: e.merkleAccount,
|
|
51
51
|
storageVaultAta: e.atasValue
|
|
52
52
|
}).instruction();
|
|
53
|
-
},
|
|
53
|
+
}, T = async (e, t, n, r) => {
|
|
54
54
|
for (let i = 0; i < 10; i += 1) {
|
|
55
55
|
let a = i === 9;
|
|
56
56
|
try {
|
|
57
|
-
let { blockhash: i, lastValidBlockHeight: a } = await e.getLatestBlockhash(), o = new
|
|
57
|
+
let { blockhash: i, lastValidBlockHeight: a } = await e.getLatestBlockhash(), o = new x(new b({
|
|
58
58
|
payerKey: n,
|
|
59
59
|
recentBlockhash: i,
|
|
60
60
|
instructions: r
|
|
@@ -70,33 +70,27 @@ var w = (n, r) => {
|
|
|
70
70
|
}
|
|
71
71
|
}
|
|
72
72
|
return "";
|
|
73
|
-
},
|
|
73
|
+
}, E = (e, t) => {
|
|
74
74
|
if (e.length === 0) throw Error("amounts must not be empty");
|
|
75
75
|
if (e.length !== t.length) throw Error("amounts and stealthAddressStructures length mismatch");
|
|
76
76
|
if (e.some((e) => e <= 0n)) throw Error("all amounts must be positive");
|
|
77
|
-
|
|
78
|
-
},
|
|
79
|
-
|
|
80
|
-
let o =
|
|
77
|
+
_(t);
|
|
78
|
+
}, D = async (e, t, n, r, i, a = !1) => {
|
|
79
|
+
E(n, r);
|
|
80
|
+
let o = C(e, t), s = m(i, o.chainId, Array(n.length).fill(o.mintAddress), n, await e.getEthereumAddress()), c = await w(o, n, r);
|
|
81
81
|
if (a) {
|
|
82
|
-
let { blockhash: e } = await o.connection.getLatestBlockhash(), t = new
|
|
82
|
+
let { blockhash: e } = await o.connection.getLatestBlockhash(), t = new y().add(c);
|
|
83
83
|
return t.recentBlockhash = e, t.feePayer = o.publicKey, Buffer.from(t.serialize({ requireAllSignatures: !1 })).toString("base64");
|
|
84
84
|
}
|
|
85
|
-
let l = await
|
|
85
|
+
let l = await T(o.connection, o.wallet, o.publicKey, [c]);
|
|
86
86
|
return await g(s), l;
|
|
87
|
-
},
|
|
88
|
-
D(n, r);
|
|
89
|
-
let o = w(e, t), s = await e.getRandomRelay(o.chainId, !1);
|
|
90
|
-
if (!s) throw Error(`No relay available for chainId ${o.chainId}`);
|
|
91
|
-
let { instructions: c } = await _(o.connection, o.publicKey, new y(s), t, i), l = await T(o, n, r), u = m(a, o.chainId, Array(n.length).fill(o.mintAddress), n, await e.getEthereumAddress()), d = await E(o.connection, o.wallet, o.publicKey, [...c, l]);
|
|
92
|
-
return await g(u), d;
|
|
93
|
-
}, A = async (e, t, n, a = !1) => {
|
|
87
|
+
}, O = async (e, t, n, a = !1) => {
|
|
94
88
|
let o = e.userKeys.getShieldedPrivateKey(), s = l(i.findCorrectRandomization(r(31), o), o, e.userKeys.getSpendingKeyPair().pubSpendingBJJPoint);
|
|
95
|
-
return
|
|
96
|
-
},
|
|
89
|
+
return D(e, n, [t], [s], void 0, a);
|
|
90
|
+
}, k = async (e, t, r, i, a = !1, c) => {
|
|
97
91
|
if (!s(i)) throw Error(n.RECIPIENT_FORMAT_INCORRECT);
|
|
98
92
|
let l = o(i);
|
|
99
|
-
return
|
|
93
|
+
return D(e, r, [t], [l], c, a);
|
|
100
94
|
};
|
|
101
95
|
//#endregion
|
|
102
|
-
export {
|
|
96
|
+
export { O as hinkalSolanaDeposit, k as hinkalSolanaDepositForOther, D as submitSolanaProoflessDeposit };
|
|
@@ -1 +1 @@
|
|
|
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(`../../
|
|
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(`../../functions/utils/solanaMint.utils.cjs`),c=require(`../../functions/utils/addresses.cjs`),l=require(`../../types/external-action.types.cjs`),u=require(`../../types/scheduled-transactions.types.cjs`);require(`../../types/index.cjs`);const 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,c)=>{let{hinkalIdl:l,hinkalAddress:u,originalDeployer:d}=e.networkRegistry[a].contractData;if(!l)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(l),g=n.getSolanaPublicKey(),_=new w.PublicKey(d),v=new w.PublicKey(u),{mintPublicKey:y}=s.formatMintAddress(o.erc20TokenAddress),b=y.toString(),x=p.getStorageAccountPublicKey(v,_),S=p.getStorageVaultPublicKey(v,_),C=p.getMerkleAccountPublicKey(v,_),T=c.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:c,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 c=r.map(e=>e+y.calculateTotalFee(e,a)),l=E(e,t,n,c),d=(await S.updateDepositAndWithdrawStatus({chainId:t,hashedEthereumAddress:o,phase:u.DepositAndWithdrawPhase.BEFORE_DEPOSIT})).id??void 0,f=await D(l).rpc(),p=await l.program.provider.connection.getLatestBlockhash();await l.program.provider.connection.confirmTransaction({blockhash:p.blockhash,lastValidBlockHeight:p.lastValidBlockHeight,signature:f},`finalized`);let m=await h.fetchSolanaTransaction(l.program.provider.connection,f,`finalized`);if(!m)throw Error(`Transaction missing`);await S.safeUpdateDepositAndWithdrawStatus({id:d,chainId:t,hashedEthereumAddress:o,phase:u.DepositAndWithdrawPhase.AFTER_DEPOSIT,depositTxHash:f});let{compressedAddress:g}=s.formatMintAddress(n.erc20TokenAddress),_=v.getOnChainUtxosFromReceiptSolana(m,l.program,e.userKeys,g),b=[],x=[..._];return i.forEach((e,t)=>{let n=c[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(c,l,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[l].contractData;if(!A)throw Error(`missing data`);let j=await c.getRandomRelay(l,!0);if(!j)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let M=a.getCurrentTimeInSeconds().toString(),N=c.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:u}=s.formatMintAddress(t.solanaNativeAddress),p=new o.Utxo({amount:0n,mintAddress:k,erc20TokenAddress:u,nullifyingKey:c.userKeys.getShieldedPrivateKey(),timeStamp:M,spendingPublicKey:c.userKeys.getSpendingKeyPair().pubSpendingBJJPoint}),g=[n,p],v=[p],x=i.UserKeys.findCorrectRandomization(r.randomBigInt(31),c.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(l,d,_[a],h),A=m.constructAdminData(E,l,[k],[_[a]],await c.getEthereumAddress()),{proofAArr:N,proofBArr:P,proofCArr:F,publicInputsArr:I,commitmentValidationData:L}=await b.constructSolanaZkProof(c.generateProofRemotely,c.merkleTreeHinkalByChain[l],c.userKeys,[k],[g],[v],x,D.flatFee,D.variableRate,e,j,S,[T],l),R={recipient:e,mint:k===`11111111111111111111111111111111`?void 0:k};return{relayAddress:j,functionName:`transact`,chainId:l,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:l,hashedEthereumAddress:g,phase:u.DepositAndWithdrawPhase.BEFORE_SCHEDULE_WITHDRAW});let F=await x.solanaTransactCallRelayerBatch(l,P,g,w,T,D);return await S.safeUpdateDepositAndWithdrawStatus({id:v,chainId:l,hashedEthereumAddress:g,phase:u.DepositAndWithdrawPhase.AFTER_SCHEDULE_WITHDRAW,scheduleId:F}),F},A=async(e,t,n,r,i,a,o,s,u,f)=>{let p=d.validateAndGetChainId([t]),m=t.erc20TokenAddress,h=c.hashEthereumAddress(await e.getEthereumAddressByChain(p)),v=u?c.hashString(u):void 0,y=a??await g.getFeeStructure(p,m,[m],l.ExternalActionId.Transact,[],5n,{mintTo:m,recipient:r[0],nullifierCount:1}),{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,s,v,f)}};exports.hinkalSolanaDepositAndWithdraw=A;
|
|
@@ -5,11 +5,11 @@ import { randomBigInt as r } from "../../functions/web3/etherFunctions.mjs";
|
|
|
5
5
|
import { UserKeys as i } from "../crypto-keys/keys.mjs";
|
|
6
6
|
import { getCurrentTimeInSeconds as a } from "../../functions/utils/time.utils.mjs";
|
|
7
7
|
import { Utxo as o } from "../utxo/Utxo.mjs";
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
8
|
+
import { formatMintAddress as s } from "../../functions/utils/solanaMint.utils.mjs";
|
|
9
|
+
import { hashEthereumAddress as c, hashString as l } from "../../functions/utils/addresses.mjs";
|
|
10
|
+
import { ExternalActionId as u } from "../../types/external-action.types.mjs";
|
|
11
|
+
import { DepositAndWithdrawPhase as d } from "../../types/scheduled-transactions.types.mjs";
|
|
10
12
|
import "../../types/index.mjs";
|
|
11
|
-
import { formatMintAddress as l } from "../../functions/utils/solanaMint.utils.mjs";
|
|
12
|
-
import { hashEthereumAddress as u, hashString as d } from "../../functions/utils/addresses.mjs";
|
|
13
13
|
import { validateAndGetChainId as f } from "../../functions/utils/token-check.utils.mjs";
|
|
14
14
|
import { calcEncryptedOutputs as p, calcStealthAddressStructure as m } from "../../functions/snarkjs/common.snarkjs.mjs";
|
|
15
15
|
import { buildAnchorStealthAddressStructure as h, getMerkleAccountPublicKey as g, getStorageAccountPublicKey as _, getStorageVaultPublicKey as v } from "../../functions/pre-transaction/solana.mjs";
|
|
@@ -29,11 +29,11 @@ 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
31
|
//#region libs/shared/common/src/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.ts
|
|
32
|
-
var N = (n, a, o,
|
|
33
|
-
let { hinkalIdl:
|
|
34
|
-
if (!
|
|
32
|
+
var N = (n, a, o, c) => {
|
|
33
|
+
let { hinkalIdl: l, hinkalAddress: u, originalDeployer: d } = e[a].contractData;
|
|
34
|
+
if (!l) throw Error("No IDL configured for Solana program on this network");
|
|
35
35
|
if (!d) throw Error("missing original deployer");
|
|
36
|
-
let f = n.userKeys.getShieldedPrivateKey(), p = n.getSolanaProgram(
|
|
36
|
+
let f = n.userKeys.getShieldedPrivateKey(), p = n.getSolanaProgram(l), y = n.getSolanaPublicKey(), b = new j(d), x = new j(u), { mintPublicKey: S } = s(o.erc20TokenAddress), C = S.toString(), w = _(x, b), T = v(x, b), E = g(x, b), D = c.map(() => h(m(i.findCorrectRandomization(r(31), f), f, n.userKeys.getSpendingKeyPair().pubSpendingBJJPoint))), O = C === t;
|
|
37
37
|
return {
|
|
38
38
|
program: p,
|
|
39
39
|
publicKey: y,
|
|
@@ -43,7 +43,7 @@ var N = (n, a, o, s) => {
|
|
|
43
43
|
storageAccount: w,
|
|
44
44
|
storageVault: T,
|
|
45
45
|
merkleAccount: E,
|
|
46
|
-
amounts:
|
|
46
|
+
amounts: c,
|
|
47
47
|
anchorStealthStructures: D
|
|
48
48
|
};
|
|
49
49
|
}, P = (e) => e.program.methods.multiPaymentDeposit(e.amounts.map((e) => new M(e.toString())), e.anchorStealthStructures, !0).accounts({
|
|
@@ -56,28 +56,28 @@ var N = (n, a, o, s) => {
|
|
|
56
56
|
merkleAccount: e.merkleAccount,
|
|
57
57
|
storageVaultAta: e.atasValue
|
|
58
58
|
}), F = async (e, t, n, r, i, a, o) => {
|
|
59
|
-
let
|
|
59
|
+
let c = r.map((e) => e + T(e, a)), l = N(e, t, n, c), u = (await k({
|
|
60
60
|
chainId: t,
|
|
61
61
|
hashedEthereumAddress: o,
|
|
62
|
-
phase:
|
|
63
|
-
})).id ?? void 0, f = await P(
|
|
64
|
-
await
|
|
62
|
+
phase: d.BEFORE_DEPOSIT
|
|
63
|
+
})).id ?? void 0, f = await P(l).rpc(), p = await l.program.provider.connection.getLatestBlockhash();
|
|
64
|
+
await l.program.provider.connection.confirmTransaction({
|
|
65
65
|
blockhash: p.blockhash,
|
|
66
66
|
lastValidBlockHeight: p.lastValidBlockHeight,
|
|
67
67
|
signature: f
|
|
68
68
|
}, "finalized");
|
|
69
|
-
let m = await b(
|
|
69
|
+
let m = await b(l.program.provider.connection, f, "finalized");
|
|
70
70
|
if (!m) throw Error("Transaction missing");
|
|
71
71
|
await O({
|
|
72
|
-
id:
|
|
72
|
+
id: u,
|
|
73
73
|
chainId: t,
|
|
74
74
|
hashedEthereumAddress: o,
|
|
75
|
-
phase:
|
|
75
|
+
phase: d.AFTER_DEPOSIT,
|
|
76
76
|
depositTxHash: f
|
|
77
77
|
});
|
|
78
|
-
let { compressedAddress: h } =
|
|
78
|
+
let { compressedAddress: h } = s(n.erc20TokenAddress), g = C(m, l.program, e.userKeys, h), _ = [], v = [...g];
|
|
79
79
|
return i.forEach((e, t) => {
|
|
80
|
-
let n =
|
|
80
|
+
let n = c[t], r = v.find((e) => e.amount === n);
|
|
81
81
|
if (!r) throw Error(`Could not find newly created UTXO with amount ${n} for recipient ${e}.`);
|
|
82
82
|
_.push({
|
|
83
83
|
recipientAddress: e,
|
|
@@ -86,40 +86,37 @@ var N = (n, a, o, s) => {
|
|
|
86
86
|
}), {
|
|
87
87
|
userDepositedUtxos: _,
|
|
88
88
|
depositTxHash: f,
|
|
89
|
-
statusId:
|
|
89
|
+
statusId: u
|
|
90
90
|
};
|
|
91
|
-
}, I = async (
|
|
92
|
-
let T =
|
|
91
|
+
}, I = async (c, l, u, f, m, h, g, _, v, b, x, S, C) => {
|
|
92
|
+
let T = u.erc20TokenAddress;
|
|
93
93
|
if (f.length === 0) throw Error("userDepositedUtxos must not be empty");
|
|
94
|
-
let { originalDeployer: k } = e[
|
|
94
|
+
let { originalDeployer: k } = e[l].contractData;
|
|
95
95
|
if (!k) throw Error("missing data");
|
|
96
|
-
let j = await
|
|
96
|
+
let j = await c.getRandomRelay(l, !0);
|
|
97
97
|
if (!j) throw Error(n.RELAYER_NOT_AVAILABLE);
|
|
98
|
-
let M = a().toString(), N =
|
|
98
|
+
let M = a().toString(), N = c.generateProofRemotely ? 5 : 1, P = [];
|
|
99
99
|
for (let e = 0; e < f.length; e += N) {
|
|
100
100
|
let n = f.slice(e, e + N), a = await Promise.all(n.map(async ({ recipientAddress: e, utxo: n }, a) => {
|
|
101
|
-
let { compressedAddress:
|
|
101
|
+
let { compressedAddress: d } = s(t), f = new o({
|
|
102
102
|
amount: 0n,
|
|
103
103
|
mintAddress: T,
|
|
104
|
-
erc20TokenAddress:
|
|
105
|
-
nullifyingKey:
|
|
104
|
+
erc20TokenAddress: d,
|
|
105
|
+
nullifyingKey: c.userKeys.getShieldedPrivateKey(),
|
|
106
106
|
timeStamp: M,
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
isNewStyle: !0
|
|
110
|
-
} : { isNewStyle: !1 }
|
|
111
|
-
}), h = [n, f], _ = [f], v = i.findCorrectRandomization(r(31), s.userKeys.getShieldedPrivateKey()), b = {
|
|
107
|
+
spendingPublicKey: c.userKeys.getSpendingKeyPair().pubSpendingBJJPoint
|
|
108
|
+
}), h = [n, f], _ = [f], v = i.findCorrectRandomization(r(31), c.userKeys.getShieldedPrivateKey()), b = {
|
|
112
109
|
tokenNumber: 1,
|
|
113
110
|
nullifierAmount: h.length,
|
|
114
111
|
outputAmount: _.length
|
|
115
|
-
}, S = p([_])[0][0], D = Array.from(A.getBytes(S)), O = await w(
|
|
112
|
+
}, S = p([_])[0][0], D = Array.from(A.getBytes(S)), O = await w(l, u, g[a], m), k = y(x, l, [T], [g[a]], await c.getEthereumAddress()), { proofAArr: N, proofBArr: P, proofCArr: F, publicInputsArr: I, commitmentValidationData: L } = await E(c.generateProofRemotely, c.merkleTreeHinkalByChain[l], c.userKeys, [T], [h], [_], v, O.flatFee, O.variableRate, e, j, b, [D], l), R = {
|
|
116
113
|
recipient: e,
|
|
117
114
|
mint: T === "11111111111111111111111111111111" ? void 0 : T
|
|
118
115
|
};
|
|
119
116
|
return {
|
|
120
117
|
relayAddress: j,
|
|
121
118
|
functionName: "transact",
|
|
122
|
-
chainId:
|
|
119
|
+
chainId: l,
|
|
123
120
|
recipientAmount: g[a].toString(),
|
|
124
121
|
args: {
|
|
125
122
|
proofAArr: N,
|
|
@@ -140,23 +137,27 @@ var N = (n, a, o, s) => {
|
|
|
140
137
|
}
|
|
141
138
|
await O({
|
|
142
139
|
id: _,
|
|
143
|
-
chainId:
|
|
140
|
+
chainId: l,
|
|
144
141
|
hashedEthereumAddress: h,
|
|
145
|
-
phase:
|
|
142
|
+
phase: d.BEFORE_SCHEDULE_WITHDRAW
|
|
146
143
|
});
|
|
147
|
-
let F = await D(
|
|
144
|
+
let F = await D(l, P, h, v, b, S);
|
|
148
145
|
return await O({
|
|
149
146
|
id: _,
|
|
150
|
-
chainId:
|
|
147
|
+
chainId: l,
|
|
151
148
|
hashedEthereumAddress: h,
|
|
152
|
-
phase:
|
|
149
|
+
phase: d.AFTER_SCHEDULE_WITHDRAW,
|
|
153
150
|
scheduleId: F
|
|
154
151
|
}), F;
|
|
155
|
-
}, L = async (e, t, n, r, i, a, o,
|
|
156
|
-
let m = f([t]), h = t.erc20TokenAddress, g =
|
|
152
|
+
}, L = async (e, t, n, r, i, a, o, s, d, p) => {
|
|
153
|
+
let m = f([t]), h = t.erc20TokenAddress, g = c(await e.getEthereumAddressByChain(m)), _ = d ? l(d) : void 0, v = a ?? await x(m, h, [h], u.Transact, [], 5n, {
|
|
154
|
+
mintTo: h,
|
|
155
|
+
recipient: r[0],
|
|
156
|
+
nullifierCount: 1
|
|
157
|
+
}), { userDepositedUtxos: y, depositTxHash: b, statusId: C } = await F(e, m, t, n, r, v, g);
|
|
157
158
|
return await S(e, m, y), {
|
|
158
159
|
depositTxHash: b,
|
|
159
|
-
scheduleId: await I(e, m, t, y, v, g, n, C, i, o,
|
|
160
|
+
scheduleId: await I(e, m, t, y, v, g, n, C, i, o, s, _, p)
|
|
160
161
|
};
|
|
161
162
|
};
|
|
162
163
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
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
|
|
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(`../../functions/utils/addresses.cjs`),s=require(`../../types/external-action.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/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(!o.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,s.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;
|
|
@@ -4,9 +4,9 @@ import { transactionErrorCodes as r } from "../../error-handling/error-codes.con
|
|
|
4
4
|
import { randomBigInt as i } from "../../functions/web3/etherFunctions.mjs";
|
|
5
5
|
import { UserKeys as a } from "../crypto-keys/keys.mjs";
|
|
6
6
|
import { getCurrentTimeInSeconds as o } from "../../functions/utils/time.utils.mjs";
|
|
7
|
-
import {
|
|
7
|
+
import { isValidPrivateAddress as s } from "../../functions/utils/addresses.mjs";
|
|
8
|
+
import { ExternalActionId as c } from "../../types/external-action.types.mjs";
|
|
8
9
|
import "../../types/index.mjs";
|
|
9
|
-
import { isValidPrivateAddress as c } from "../../functions/utils/addresses.mjs";
|
|
10
10
|
import { validateAndGetChainId as l } from "../../functions/utils/token-check.utils.mjs";
|
|
11
11
|
import { addPaddingToUtxos as u } from "../../functions/web3/events/getShieldedBalance.mjs";
|
|
12
12
|
import { outputUtxoProcessing as d } from "../../functions/pre-transaction/outputUtxoProcessing.mjs";
|
|
@@ -28,12 +28,12 @@ var b = async (e, t, n, r, i, a) => {
|
|
|
28
28
|
recipientUtxo: l[1]
|
|
29
29
|
};
|
|
30
30
|
}, x = async (o, u, d, v, x, S, C) => {
|
|
31
|
-
if (!
|
|
31
|
+
if (!s(v)) throw Error(r.RECIPIENT_FORMAT_INCORRECT);
|
|
32
32
|
let w = l(u), T = [...d], { originalDeployer: E } = e[w].contractData;
|
|
33
33
|
if (!E) throw Error("missing data");
|
|
34
34
|
let { userKeys: D, merkleTreeHinkalByChain: O } = o, k = u.map((e) => e.erc20TokenAddress);
|
|
35
35
|
if (k.length > 1) throw Error("Solana Transfer: Only one mint address is supported");
|
|
36
|
-
let A = S ?? await h(w, x, k,
|
|
36
|
+
let A = S ?? await h(w, x, k, c.Transact, [], 5n);
|
|
37
37
|
A.variableRate ||= t;
|
|
38
38
|
let j = g(-T[0], A), M = -T[0];
|
|
39
39
|
T[0] -= j;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../../functions/utils/time.utils.cjs`),i=require(`../../
|
|
1
|
+
const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../error-handling/error-codes.constants.cjs`),r=require(`../../functions/utils/time.utils.cjs`),i=require(`../../functions/utils/addresses.cjs`),a=require(`../../functions/utils/tron.utils.cjs`),o=require(`../../types/external-action.types.cjs`),s=require(`../../functions/utils/token-check.utils.cjs`),c=require(`../../functions/web3/events/getShieldedBalance.cjs`),l=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),u=require(`../../functions/pre-transaction/getVolatileTransferAmount.cjs`),d=require(`../../functions/pre-transaction/constructAdminData.cjs`),f=require(`../../functions/pre-transaction/getFeeStructure.cjs`);require(`../../functions/pre-transaction/index.cjs`);const p=require(`../../functions/utils/fees.utils.cjs`),m=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),h=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),g=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`);var _=async(e,t,n,i,a,o)=>{let s=[...await c.addPaddingToUtxos(e,t,n,i)],u=[],d=r.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=l.outputUtxoProcessing(e.userKeys,s[t],i[t],d,!0,a,t===0?o:0n);u.push(n)}return{inputUtxosArray:s,outputUtxosArray:u}},v=async(r,c,l,v,y,b,x)=>{let S=s.validateAndGetChainId(c),C=e.isTronLike(S);if(!i.isValidPrivateAddress(v))throw Error(n.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);let w=a.addressToHexFormat(await r.getEthereumAddressByChain(S)),T=c.map(e=>e.erc20TokenAddress),E=await u.modifyVolatileTokenAmountChanges(S,c,l),D=b??await f.getFeeStructure(S,y,T,o.ExternalActionId.Transact,[],5n);D.variableRate||=t.HINKAL_PRIVATE_SEND_VARIABLE_RATE;let O=c[0];if(!O)throw Error(`Transfer Action: No Token Found`);let k=-E[0],A=await p.calculateModifiedFeeStructure(S,O,k,D);await g.mergeWithFeeStructure(S,T,E,A);let[j,{inputUtxosArray:M,outputUtxosArray:N}]=await Promise.all([r.getRandomRelay(S,!0),_(r,S,T,E,v,k)]);if(!j)throw Error(n.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let P={externalActionId:0n,externalAddress:j,externalActionMetadata:`0x00`},{zkCallData:F,circomData:I,dimData:L,commitmentValidationData:R}=await m.constructZkProof(r.merkleTreeHinkalByChain[S],M,N,r.userKeys,P.externalActionId,P.externalAddress,P.externalActionMetadata,r.generateProofRemotely,A,j,S),z=await a.reorderZkCallData(C,F,L,I);return await h.transactCallRelayer(S,F,L,I,R,void 0,void 0,d.constructAdminData(x,S,T,E,w),z)};exports.hinkalTransfer=v;
|
|
@@ -2,9 +2,9 @@ import { isTronLike as e } from "../../constants/chains.constants.mjs";
|
|
|
2
2
|
import { HINKAL_PRIVATE_SEND_VARIABLE_RATE as t } from "../../constants/protocol.constants.mjs";
|
|
3
3
|
import { transactionErrorCodes as n } from "../../error-handling/error-codes.constants.mjs";
|
|
4
4
|
import { getCurrentTimeInSeconds as r } from "../../functions/utils/time.utils.mjs";
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
5
|
+
import { isValidPrivateAddress as i } from "../../functions/utils/addresses.mjs";
|
|
6
|
+
import { addressToHexFormat as a, reorderZkCallData as o } from "../../functions/utils/tron.utils.mjs";
|
|
7
|
+
import { ExternalActionId as s } from "../../types/external-action.types.mjs";
|
|
8
8
|
import { validateAndGetChainId as c } from "../../functions/utils/token-check.utils.mjs";
|
|
9
9
|
import { addPaddingToUtxos as l } from "../../functions/web3/events/getShieldedBalance.mjs";
|
|
10
10
|
import { outputUtxoProcessing as u } from "../../functions/pre-transaction/outputUtxoProcessing.mjs";
|
|
@@ -29,8 +29,8 @@ var v = async (e, t, n, i, a, o) => {
|
|
|
29
29
|
};
|
|
30
30
|
}, y = async (r, l, u, y, b, x, S) => {
|
|
31
31
|
let C = c(l), w = e(C);
|
|
32
|
-
if (!
|
|
33
|
-
let T =
|
|
32
|
+
if (!i(y)) throw Error(n.RECIPIENT_FORMAT_INCORRECT);
|
|
33
|
+
let T = a(await r.getEthereumAddressByChain(C)), E = l.map((e) => e.erc20TokenAddress), D = await d(C, l, u), O = x ?? await p(C, b, E, s.Transact, [], 5n);
|
|
34
34
|
O.variableRate ||= t;
|
|
35
35
|
let k = l[0];
|
|
36
36
|
if (!k) throw Error("Transfer Action: No Token Found");
|
|
@@ -42,7 +42,7 @@ var v = async (e, t, n, i, a, o) => {
|
|
|
42
42
|
externalActionId: 0n,
|
|
43
43
|
externalAddress: M,
|
|
44
44
|
externalActionMetadata: "0x00"
|
|
45
|
-
}, { zkCallData: I, circomData: L, dimData: R, commitmentValidationData: z } = await h(r.merkleTreeHinkalByChain[C], N, P, r.userKeys, F.externalActionId, F.externalAddress, F.externalActionMetadata, r.generateProofRemotely, j, M, C), B = await
|
|
45
|
+
}, { zkCallData: I, circomData: L, dimData: R, commitmentValidationData: z } = await h(r.merkleTreeHinkalByChain[C], N, P, r.userKeys, F.externalActionId, F.externalAddress, F.externalActionMetadata, r.generateProofRemotely, j, M, C), B = await o(w, I, R, L);
|
|
46
46
|
return await g(C, I, R, L, z, void 0, void 0, f(S, C, E, D, T), B);
|
|
47
47
|
};
|
|
48
48
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/hinkal.types.cjs`),r=require(`../../error-handling/error-codes.constants.cjs`),i=require(`../../functions/utils/time.utils.cjs`),a=require(`../../
|
|
1
|
+
const e=require(`../../constants/chains.constants.cjs`),t=require(`../../constants/protocol.constants.cjs`),n=require(`../../types/hinkal.types.cjs`),r=require(`../../error-handling/error-codes.constants.cjs`),i=require(`../../functions/utils/time.utils.cjs`),a=require(`../../functions/utils/tron.utils.cjs`),o=require(`../../types/external-action.types.cjs`),s=require(`../../functions/utils/token-check.utils.cjs`),c=require(`../../functions/web3/events/getShieldedBalance.cjs`),l=require(`../../functions/pre-transaction/outputUtxoProcessing.cjs`),u=require(`../../functions/pre-transaction/getVolatileTransferAmount.cjs`),d=require(`../../functions/pre-transaction/constructAdminData.cjs`),f=require(`../../functions/pre-transaction/getFeeStructure.cjs`);require(`../../functions/pre-transaction/index.cjs`);const p=require(`../../functions/snarkjs/constructGeneralZkProof.cjs`),m=require(`../../functions/web3/functionCalls/transactCallDirect.cjs`),h=require(`../../functions/web3/functionCalls/transactCallRelayer.cjs`),g=require(`../../functions/pre-transaction/merge-with-fee-structure.cjs`),_=require(`../../functions/web3/functionCalls/transactCallDirectTron.cjs`);var v=async(e,t,n,r)=>{let a=[...await c.addPaddingToUtxos(e,t,n,r)],o=[],s=i.getCurrentTimeInSeconds().toString();for(let t=0;t<n.length;t+=1){let{outputUtxos:n}=l.outputUtxoProcessing(e.userKeys,a[t],r[t],s);o.push(n)}return{inputUtxosArray:a,outputUtxosArray:o}},y=async(i,c,l,y,b,x,S,C)=>{let w=s.validateAndGetChainId(c),T=e.isTronLike(w),E=a.addressToHexFormat(await i.getEthereumAddressByChain(w)),D=c.map(e=>e.erc20TokenAddress),O=await u.modifyVolatileTokenAmountChanges(w,c,l),k=c[0];if(!k)throw Error(`Deposit Action: No Token Found`);let A;b||(A=S??await f.getFeeStructure(w,x,D,o.ExternalActionId.Transact),await g.mergeWithFeeStructure(w,D,O,A));let j={externalActionId:0n,externalAddress:a.addressToHexFormat(y),externalActionMetadata:`0x00`},[M,{inputUtxosArray:N,outputUtxosArray:P}]=await Promise.all([i.getRandomRelay(w,!0),v(i,w,D,O)]);if(!b&&!M)throw Error(r.transactionErrorCodes.RELAYER_NOT_AVAILABLE);let{zkCallData:F,circomData:I,dimData:L,commitmentValidationData:R}=await p.constructZkProof(i.merkleTreeHinkalByChain[w],N,P,i.userKeys,j.externalActionId,j.externalAddress,j.externalActionMetadata,i.generateProofRemotely,A??n.zeroFeeStructure,b?t.zeroAddress:M,w,void 0,void 0,b?E:void 0),z=T&&b?void 0:await a.reorderZkCallData(T,F,L,I);if(b){if(!k)throw Error(`Withdraw Action: No Token Found`);return T?await _.transactCallDirectTron(i,w,O[0],k,F,I,L):await m.transactCallDirect(i,w,O[0],k,F,I,L)}return await h.transactCallRelayer(w,F,L,I,R,void 0,void 0,d.constructAdminData(C,w,D,O,E),z)};exports.hinkalWithdraw=y;
|
|
@@ -3,8 +3,8 @@ import { zeroAddress as t } from "../../constants/protocol.constants.mjs";
|
|
|
3
3
|
import { zeroFeeStructure as n } from "../../types/hinkal.types.mjs";
|
|
4
4
|
import { transactionErrorCodes as r } from "../../error-handling/error-codes.constants.mjs";
|
|
5
5
|
import { getCurrentTimeInSeconds as i } from "../../functions/utils/time.utils.mjs";
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
6
|
+
import { addressToHexFormat as a, reorderZkCallData as o } from "../../functions/utils/tron.utils.mjs";
|
|
7
|
+
import { ExternalActionId as s } from "../../types/external-action.types.mjs";
|
|
8
8
|
import { validateAndGetChainId as c } from "../../functions/utils/token-check.utils.mjs";
|
|
9
9
|
import { addPaddingToUtxos as l } from "../../functions/web3/events/getShieldedBalance.mjs";
|
|
10
10
|
import { outputUtxoProcessing as u } from "../../functions/pre-transaction/outputUtxoProcessing.mjs";
|
|
@@ -12,14 +12,13 @@ import { modifyVolatileTokenAmountChanges as d } from "../../functions/pre-trans
|
|
|
12
12
|
import { constructAdminData as f } from "../../functions/pre-transaction/constructAdminData.mjs";
|
|
13
13
|
import { getFeeStructure as p } from "../../functions/pre-transaction/getFeeStructure.mjs";
|
|
14
14
|
import "../../functions/pre-transaction/index.mjs";
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
15
|
+
import { constructZkProof as m } from "../../functions/snarkjs/constructGeneralZkProof.mjs";
|
|
16
|
+
import { transactCallDirect as h } from "../../functions/web3/functionCalls/transactCallDirect.mjs";
|
|
17
|
+
import { transactCallRelayer as g } from "../../functions/web3/functionCalls/transactCallRelayer.mjs";
|
|
18
|
+
import { mergeWithFeeStructure as _ } from "../../functions/pre-transaction/merge-with-fee-structure.mjs";
|
|
19
19
|
import { transactCallDirectTron as v } from "../../functions/web3/functionCalls/transactCallDirectTron.mjs";
|
|
20
|
-
import { mergeWithFeeStructure as y } from "../../functions/pre-transaction/merge-with-fee-structure.mjs";
|
|
21
20
|
//#region libs/shared/common/src/data-structures/Hinkal/hinkalWithdraw.ts
|
|
22
|
-
var
|
|
21
|
+
var y = async (e, t, n, r) => {
|
|
23
22
|
let a = [...await l(e, t, n, r)], o = [], s = i().toString();
|
|
24
23
|
for (let t = 0; t < n.length; t += 1) {
|
|
25
24
|
let { outputUtxos: n } = u(e.userKeys, a[t], r[t], s);
|
|
@@ -29,26 +28,23 @@ var b = async (e, t, n, r) => {
|
|
|
29
28
|
inputUtxosArray: a,
|
|
30
29
|
outputUtxosArray: o
|
|
31
30
|
};
|
|
32
|
-
},
|
|
33
|
-
let
|
|
34
|
-
if (!
|
|
35
|
-
let
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
M = await m(E, j, -A[0], e), await y(E, k, A, M);
|
|
39
|
-
}
|
|
40
|
-
let N = {
|
|
31
|
+
}, b = async (i, l, u, b, x, S, C, w) => {
|
|
32
|
+
let T = c(l), E = e(T), D = a(await i.getEthereumAddressByChain(T)), O = l.map((e) => e.erc20TokenAddress), k = await d(T, l, u), A = l[0];
|
|
33
|
+
if (!A) throw Error("Deposit Action: No Token Found");
|
|
34
|
+
let j;
|
|
35
|
+
x || (j = C ?? await p(T, S, O, s.Transact), await _(T, O, k, j));
|
|
36
|
+
let M = {
|
|
41
37
|
externalActionId: 0n,
|
|
42
|
-
externalAddress:
|
|
38
|
+
externalAddress: a(b),
|
|
43
39
|
externalActionMetadata: "0x00"
|
|
44
|
-
}, [
|
|
45
|
-
if (!
|
|
46
|
-
let { zkCallData:
|
|
47
|
-
if (
|
|
48
|
-
if (!
|
|
49
|
-
return
|
|
40
|
+
}, [N, { inputUtxosArray: P, outputUtxosArray: F }] = await Promise.all([i.getRandomRelay(T, !0), y(i, T, O, k)]);
|
|
41
|
+
if (!x && !N) throw Error(r.RELAYER_NOT_AVAILABLE);
|
|
42
|
+
let { zkCallData: I, circomData: L, dimData: R, commitmentValidationData: z } = await m(i.merkleTreeHinkalByChain[T], P, F, i.userKeys, M.externalActionId, M.externalAddress, M.externalActionMetadata, i.generateProofRemotely, j ?? n, x ? t : N, T, void 0, void 0, x ? D : void 0), B = E && x ? void 0 : await o(E, I, R, L);
|
|
43
|
+
if (x) {
|
|
44
|
+
if (!A) throw Error("Withdraw Action: No Token Found");
|
|
45
|
+
return E ? await v(i, T, k[0], A, I, L, R) : await h(i, T, k[0], A, I, L, R);
|
|
50
46
|
}
|
|
51
|
-
return await
|
|
47
|
+
return await g(T, I, R, L, z, void 0, void 0, f(w, T, O, k, D), B);
|
|
52
48
|
};
|
|
53
49
|
//#endregion
|
|
54
|
-
export {
|
|
50
|
+
export { b as hinkalWithdraw };
|