@hinkal/common 0.2.17 → 0.2.19
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/API/API.cjs +1 -1
- package/API/API.d.ts +8 -13
- package/API/API.mjs +86 -94
- package/API/admin-calls.cjs +1 -1
- package/API/admin-calls.d.ts +1 -1
- package/API/admin-calls.mjs +4 -4
- package/API/callLifiAPI.cjs +1 -1
- package/API/callLifiAPI.d.ts +1 -1
- package/API/callLifiAPI.mjs +5 -5
- package/API/callMonitor.cjs +1 -1
- package/API/callMonitor.d.ts +1 -1
- package/API/callMonitor.mjs +7 -7
- package/API/callOdosAPI.cjs +1 -1
- package/API/callOdosAPI.mjs +11 -11
- package/API/callOkxAPI.cjs +1 -1
- package/API/callOkxAPI.d.ts +1 -1
- package/API/callOkxAPI.mjs +5 -5
- package/API/callOneInchAPI.cjs +1 -1
- package/API/callOneInchAPI.mjs +10 -11
- package/API/callRelayer.cjs +1 -1
- package/API/callRelayer.d.ts +6 -3
- package/API/callRelayer.mjs +11 -11
- package/API/checkRisk.cjs +1 -1
- package/API/checkRisk.d.ts +1 -1
- package/API/checkRisk.mjs +4 -4
- package/API/fetchCommitmentsCache.cjs +1 -1
- package/API/fetchCommitmentsCache.mjs +9 -9
- package/API/get-token-data.cjs +1 -1
- package/API/get-token-data.d.ts +1 -1
- package/API/get-token-data.mjs +5 -5
- package/API/get-token-price-chart-data.cjs +1 -0
- package/API/get-token-price-chart-data.d.ts +16 -0
- package/API/get-token-price-chart-data.mjs +13 -0
- package/API/getGasEstimates.cjs +1 -1
- package/API/getGasEstimates.mjs +9 -9
- package/API/getServerURL.cjs +1 -1
- package/API/getServerURL.d.ts +3 -3
- package/API/getServerURL.mjs +51 -67
- package/API/getTokenPrice.cjs +1 -1
- package/API/getTokenPrice.d.ts +5 -0
- package/API/getTokenPrice.mjs +14 -7
- package/API/getWebsiteURL.d.ts +1 -1
- package/API/index.d.ts +0 -3
- package/API/is-tx-stateless.cjs +1 -1
- package/API/is-tx-stateless.d.ts +1 -1
- package/API/is-tx-stateless.mjs +10 -12
- package/API/kycCalls.cjs +1 -1
- package/API/kycCalls.d.ts +4 -8
- package/API/kycCalls.mjs +23 -26
- package/API/onrampCalls.cjs +1 -0
- package/API/onrampCalls.d.ts +20 -0
- package/API/onrampCalls.mjs +15 -0
- package/API/proxyAccountsCalls.cjs +1 -1
- package/API/proxyAccountsCalls.d.ts +2 -2
- package/API/proxyAccountsCalls.mjs +19 -19
- package/API/relayCalls.cjs +1 -1
- package/API/relayCalls.mjs +4 -4
- package/API/scheduled-transactions-calls.cjs +1 -1
- package/API/scheduled-transactions-calls.d.ts +1 -1
- package/API/scheduled-transactions-calls.mjs +4 -4
- package/API/simulate-batch-tx.cjs +1 -1
- package/API/simulate-batch-tx.d.ts +2 -2
- package/API/simulate-batch-tx.mjs +7 -6
- package/API/solana-calls.cjs +1 -1
- package/API/solana-calls.d.ts +6 -3
- package/API/solana-calls.mjs +15 -15
- package/API/token-calls.cjs +1 -1
- package/API/token-calls.mjs +6 -5
- package/API/unspent-utxos-calls.cjs +1 -1
- package/API/unspent-utxos-calls.d.ts +1 -1
- package/API/unspent-utxos-calls.mjs +15 -18
- package/README.md +237 -61
- package/constants/addresses.constants.cjs +1 -1
- package/constants/addresses.constants.d.ts +0 -1
- package/constants/addresses.constants.mjs +7 -8
- package/constants/chains.constants.cjs +1 -1
- package/constants/chains.constants.d.ts +0 -5
- package/constants/chains.constants.mjs +21 -26
- package/constants/coingecko.constants.cjs +1 -1
- package/constants/coingecko.constants.d.ts +1 -0
- package/constants/coingecko.constants.mjs +11 -10
- package/constants/contracts.constants.cjs +1 -1
- package/constants/contracts.constants.mjs +34 -41
- package/constants/function-signatures.constants.cjs +1 -1
- package/constants/function-signatures.constants.d.ts +0 -1
- package/constants/function-signatures.constants.mjs +3 -4
- package/constants/mediaUrls.constants.cjs +1 -1
- package/constants/mediaUrls.constants.d.ts +2 -0
- package/constants/mediaUrls.constants.mjs +3 -1
- package/constants/mystery-boxes.constants.d.ts +0 -0
- package/constants/permit2.constants.cjs +1 -1
- package/constants/permit2.constants.d.ts +0 -1
- package/constants/permit2.constants.mjs +10 -11
- package/constants/server.constants.cjs +1 -1
- package/constants/server.constants.d.ts +14 -122
- package/constants/server.constants.mjs +44 -152
- package/constants/token-data/ethMainnetRegistry.json.cjs +1 -1
- package/constants/token-data/ethMainnetRegistry.json.mjs +0 -24
- package/constants/token-data/ethMainnetRegistryFixed.json.cjs +1 -1
- package/constants/token-data/ethMainnetRegistryFixed.json.mjs +0 -24
- package/constants/token-data/index.d.ts +32 -88
- package/constants/token-data/localhostRegistry.json.cjs +1 -1
- package/constants/token-data/localhostRegistry.json.mjs +0 -26
- package/constants/token-data/popularTokens.constants.cjs +1 -1
- package/constants/token-data/popularTokens.constants.mjs +0 -1
- package/constants/vite.constants.cjs +1 -1
- package/constants/vite.constants.mjs +36 -13
- package/data-structures/Hinkal/Hinkal.cjs +1 -1
- package/data-structures/Hinkal/Hinkal.d.ts +34 -49
- package/data-structures/Hinkal/Hinkal.mjs +238 -301
- package/data-structures/Hinkal/IHinkal.d.ts +33 -48
- package/data-structures/Hinkal/handleAutoDepositBack.cjs +1 -1
- package/data-structures/Hinkal/handleAutoDepositBack.d.ts +1 -1
- package/data-structures/Hinkal/handleAutoDepositBack.mjs +42 -42
- package/data-structures/Hinkal/hinkalActionReceive.cjs +1 -1
- package/data-structures/Hinkal/hinkalActionReceive.mjs +25 -23
- package/data-structures/Hinkal/hinkalCheckTokenRegistry.cjs +1 -1
- package/data-structures/Hinkal/hinkalCheckTokenRegistry.mjs +9 -9
- package/data-structures/Hinkal/hinkalDeposit.cjs +1 -1
- package/data-structures/Hinkal/hinkalDeposit.mjs +95 -93
- package/data-structures/Hinkal/hinkalDepositAndWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalDepositAndWithdraw.mjs +147 -133
- package/data-structures/Hinkal/hinkalGetZkMeProvider.cjs +1 -1
- package/data-structures/Hinkal/hinkalGetZkMeProvider.mjs +1 -2
- package/data-structures/Hinkal/hinkalPrivateWallet.cjs +1 -1
- package/data-structures/Hinkal/hinkalPrivateWallet.d.ts +1 -1
- package/data-structures/Hinkal/hinkalPrivateWallet.mjs +107 -115
- package/data-structures/Hinkal/hinkalProoflessDeposit.cjs +1 -1
- package/data-structures/Hinkal/hinkalProoflessDeposit.mjs +36 -34
- package/data-structures/Hinkal/hinkalProxySwap.cjs +1 -1
- package/data-structures/Hinkal/hinkalProxySwap.mjs +34 -33
- package/data-structures/Hinkal/hinkalProxyToPrivate.cjs +1 -1
- package/data-structures/Hinkal/hinkalProxyToPrivate.d.ts +1 -1
- package/data-structures/Hinkal/hinkalProxyToPrivate.mjs +26 -24
- package/data-structures/Hinkal/hinkalSignSubAccount.cjs +1 -1
- package/data-structures/Hinkal/hinkalSignSubAccount.d.ts +1 -2
- package/data-structures/Hinkal/hinkalSignSubAccount.mjs +8 -9
- package/data-structures/Hinkal/hinkalSolanaDeposit.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaDeposit.d.ts +4 -3
- package/data-structures/Hinkal/hinkalSolanaDeposit.mjs +86 -97
- package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.d.ts +2 -1
- package/data-structures/Hinkal/hinkalSolanaDepositAndWithdraw.mjs +146 -146
- package/data-structures/Hinkal/hinkalSolanaProxySend.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaProxySend.d.ts +2 -3
- package/data-structures/Hinkal/hinkalSolanaProxySend.mjs +38 -38
- package/data-structures/Hinkal/hinkalSolanaProxyShield.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaProxyShield.mjs +57 -56
- package/data-structures/Hinkal/hinkalSolanaProxySwap.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaProxySwap.d.ts +1 -1
- package/data-structures/Hinkal/hinkalSolanaProxySwap.mjs +59 -58
- package/data-structures/Hinkal/hinkalSolanaSwap.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaSwap.d.ts +1 -1
- package/data-structures/Hinkal/hinkalSolanaSwap.mjs +83 -79
- package/data-structures/Hinkal/hinkalSolanaTransfer.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaTransfer.d.ts +1 -1
- package/data-structures/Hinkal/hinkalSolanaTransfer.mjs +49 -48
- package/data-structures/Hinkal/hinkalSolanaWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalSolanaWithdraw.d.ts +2 -1
- package/data-structures/Hinkal/hinkalSolanaWithdraw.mjs +67 -64
- package/data-structures/Hinkal/hinkalSwap.cjs +1 -1
- package/data-structures/Hinkal/hinkalSwap.d.ts +1 -1
- package/data-structures/Hinkal/hinkalSwap.mjs +75 -87
- package/data-structures/Hinkal/hinkalTransfer.cjs +1 -1
- package/data-structures/Hinkal/hinkalTransfer.d.ts +1 -1
- package/data-structures/Hinkal/hinkalTransfer.mjs +55 -58
- package/data-structures/Hinkal/hinkalWithdraw.cjs +1 -1
- package/data-structures/Hinkal/hinkalWithdraw.mjs +80 -82
- package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.cjs +1 -1
- package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.d.ts +2 -2
- package/data-structures/Hinkal/hinkalWithdrawStuckUtxos.mjs +87 -90
- package/data-structures/Hinkal/resetMerkleTrees.cjs +1 -1
- package/data-structures/Hinkal/resetMerkleTrees.d.ts +1 -1
- package/data-structures/Hinkal/resetMerkleTrees.mjs +105 -53
- package/data-structures/IndexedDB/activity-db.cjs +1 -1
- package/data-structures/IndexedDB/activity-db.mjs +7 -7
- package/data-structures/IndexedDB/balances-db.cjs +1 -1
- package/data-structures/IndexedDB/balances-db.mjs +8 -8
- package/data-structures/IndexedDB/contact-db.cjs +1 -1
- package/data-structures/IndexedDB/contact-db.mjs +10 -10
- package/data-structures/IndexedDB/signatures-db.cjs +1 -1
- package/data-structures/IndexedDB/signatures-db.mjs +25 -40
- package/data-structures/TokenDBs/EventsPublicTokensDB.cjs +1 -1
- package/data-structures/TokenDBs/EventsPublicTokensDB.mjs +10 -11
- package/data-structures/TokenDBs/token-visibility-db.cjs +1 -1
- package/data-structures/TokenDBs/token-visibility-db.mjs +22 -36
- package/data-structures/crypto-keys/encryptDecryptUtxo.cjs +1 -1
- package/data-structures/crypto-keys/encryptDecryptUtxo.d.ts +1 -1
- package/data-structures/crypto-keys/encryptDecryptUtxo.mjs +14 -14
- package/data-structures/event-service/evm/AbstractEventService.cjs +1 -1
- package/data-structures/event-service/evm/AbstractEventService.d.ts +1 -0
- package/data-structures/event-service/evm/AbstractEventService.mjs +7 -4
- package/data-structures/event-service/evm/AbstractSnapshotService.cjs +1 -1
- package/data-structures/event-service/evm/AbstractSnapshotService.d.ts +0 -1
- package/data-structures/event-service/evm/AbstractSnapshotService.mjs +3 -4
- package/data-structures/event-service/evm/BlockchainEventEmitter.cjs +1 -1
- package/data-structures/event-service/evm/BlockchainEventEmitter.d.ts +3 -1
- package/data-structures/event-service/evm/BlockchainEventEmitter.mjs +17 -14
- package/data-structures/event-service/solana/AbstractSolanaEventService.cjs +1 -1
- package/data-structures/event-service/solana/AbstractSolanaEventService.d.ts +1 -0
- package/data-structures/event-service/solana/AbstractSolanaEventService.mjs +9 -6
- package/data-structures/event-service/solana/AbstractSolanaSnapshotService.cjs +1 -1
- package/data-structures/event-service/solana/AbstractSolanaSnapshotService.d.ts +0 -1
- package/data-structures/event-service/solana/AbstractSolanaSnapshotService.mjs +1 -2
- package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.cjs +1 -1
- package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.d.ts +3 -2
- package/data-structures/event-service/solana/SolanaBlockchainEventEmitter.mjs +42 -45
- package/data-structures/provider-adapter/IProviderAdapter.d.ts +8 -13
- package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.cjs +1 -1
- package/data-structures/snapshot/evm-snapshots/ClientAccessTokenSnapshotService.mjs +3 -4
- package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.cjs +1 -1
- package/data-structures/snapshot/evm-snapshots/ClientApprovalsSnapshotService.mjs +3 -4
- package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.cjs +1 -1
- package/data-structures/snapshot/evm-snapshots/ClientCommitmentsSnapshotService.mjs +3 -4
- package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.cjs +1 -1
- package/data-structures/snapshot/evm-snapshots/ClientNullifierSnapshotService.mjs +3 -4
- package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.cjs +1 -1
- package/data-structures/snapshot/solana-snapshots/ClientSolanaAccessTokenSnapshotService.mjs +3 -4
- package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.cjs +1 -1
- package/data-structures/snapshot/solana-snapshots/ClientSolanaCommitmentsSnapshotService.mjs +2 -4
- package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.cjs +1 -1
- package/data-structures/snapshot/solana-snapshots/ClientSolanaNullifierSnapshotService.mjs +3 -4
- package/data-structures/utxo/Utxo.cjs +1 -1
- package/data-structures/utxo/Utxo.d.ts +1 -7
- package/data-structures/utxo/Utxo.mjs +26 -36
- package/error-handling/error-codes.constants.cjs +1 -1
- package/error-handling/error-codes.constants.d.ts +3 -0
- package/error-handling/error-codes.constants.mjs +5 -2
- package/error-handling/get-error.message.cjs +1 -1
- package/error-handling/get-error.message.mjs +21 -27
- package/error-handling/index.d.ts +0 -1
- package/functions/index.d.ts +0 -1
- package/functions/kyc/zkMeHelper.cjs +1 -1
- package/functions/kyc/zkMeHelper.mjs +18 -17
- package/functions/pre-transaction/constructAdminData.cjs +1 -1
- package/functions/pre-transaction/constructAdminData.d.ts +2 -2
- package/functions/pre-transaction/constructAdminData.mjs +12 -18
- package/functions/pre-transaction/getExternalSwapAddress.cjs +1 -1
- package/functions/pre-transaction/getExternalSwapAddress.d.ts +1 -2
- package/functions/pre-transaction/getExternalSwapAddress.mjs +8 -8
- package/functions/pre-transaction/getFlatFees.cjs +1 -1
- package/functions/pre-transaction/getFlatFees.mjs +22 -30
- package/functions/pre-transaction/getVolatileTransferAmount.cjs +1 -1
- package/functions/pre-transaction/getVolatileTransferAmount.mjs +21 -36
- package/functions/pre-transaction/merge-with-fee-structure-emporium.cjs +1 -1
- package/functions/pre-transaction/merge-with-fee-structure-emporium.d.ts +1 -1
- package/functions/pre-transaction/merge-with-fee-structure-emporium.mjs +17 -17
- package/functions/pre-transaction/outputApprovalDataProcessing.cjs +1 -1
- package/functions/pre-transaction/outputApprovalDataProcessing.d.ts +1 -9
- package/functions/pre-transaction/outputApprovalDataProcessing.mjs +19 -34
- package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.cjs +1 -1
- package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.d.ts +1 -1
- package/functions/pre-transaction/shouldPatchAccessTokenMerkleTree.mjs +4 -4
- package/functions/pre-transaction/solana-public-signals.cjs +1 -1
- package/functions/pre-transaction/solana-public-signals.d.ts +1 -0
- package/functions/pre-transaction/solana-public-signals.mjs +29 -26
- package/functions/pre-transaction/solana.cjs +1 -1
- package/functions/pre-transaction/solana.d.ts +2 -1
- package/functions/pre-transaction/solana.mjs +60 -51
- package/functions/private-wallet/emporium.helpers.cjs +1 -1
- package/functions/private-wallet/emporium.helpers.d.ts +3 -5
- package/functions/private-wallet/emporium.helpers.mjs +95 -135
- package/functions/private-wallet/emporium.swap.helpers.cjs +1 -1
- package/functions/private-wallet/emporium.swap.helpers.d.ts +1 -4
- package/functions/private-wallet/emporium.swap.helpers.mjs +100 -102
- package/functions/snarkjs/common.snarkjs.cjs +1 -1
- package/functions/snarkjs/common.snarkjs.d.ts +1 -1
- package/functions/snarkjs/common.snarkjs.mjs +64 -64
- package/functions/snarkjs/constructEmporiumProof.cjs +1 -1
- package/functions/snarkjs/constructEmporiumProof.d.ts +2 -2
- package/functions/snarkjs/constructEmporiumProof.mjs +1 -1
- package/functions/snarkjs/constructGeneralZkProof.cjs +1 -1
- package/functions/snarkjs/constructGeneralZkProof.d.ts +2 -3
- package/functions/snarkjs/constructGeneralZkProof.mjs +117 -121
- package/functions/snarkjs/constructSolanaZkProof.cjs +1 -1
- package/functions/snarkjs/constructSolanaZkProof.d.ts +1 -1
- package/functions/snarkjs/constructSolanaZkProof.mjs +54 -59
- package/functions/snarkjs/fetchMerkleTreeSiblings.cjs +1 -1
- package/functions/snarkjs/fetchMerkleTreeSiblings.mjs +11 -10
- package/functions/snarkjs/generateCircomData.d.ts +1 -1
- package/functions/utils/addresses.cjs +1 -1
- package/functions/utils/addresses.d.ts +1 -0
- package/functions/utils/addresses.mjs +13 -12
- package/functions/utils/cacheFunctions.cjs +1 -1
- package/functions/utils/cacheFunctions.mjs +2 -2
- package/functions/utils/enum.utils.cjs +1 -0
- package/functions/utils/enum.utils.mjs +14 -0
- package/functions/utils/erc20tokenFunctions.cjs +1 -1
- package/functions/utils/erc20tokenFunctions.d.ts +0 -1
- package/functions/utils/erc20tokenFunctions.mjs +22 -29
- package/functions/utils/get-hinkal-approvals.cjs +1 -1
- package/functions/utils/get-hinkal-approvals.d.ts +1 -1
- package/functions/utils/get-hinkal-approvals.mjs +16 -16
- package/functions/utils/getDataFromTransaction.d.ts +3 -3
- package/functions/utils/getUtxosFromReceipt.utils.cjs +1 -1
- package/functions/utils/getUtxosFromReceipt.utils.d.ts +1 -1
- package/functions/utils/getUtxosFromReceipt.utils.mjs +11 -11
- package/functions/utils/involves-permit2-op.cjs +1 -1
- package/functions/utils/involves-permit2-op.d.ts +0 -1
- package/functions/utils/involves-permit2-op.mjs +4 -6
- package/functions/utils/mutexes.utils.cjs +1 -1
- package/functions/utils/mutexes.utils.d.ts +1 -1
- package/functions/utils/mutexes.utils.mjs +3 -3
- package/functions/utils/nftTokenFunctions.cjs +1 -1
- package/functions/utils/nftTokenFunctions.mjs +8 -23
- package/functions/utils/prepareHinkal.cjs +1 -1
- package/functions/utils/prepareHinkal.d.ts +0 -6
- package/functions/utils/prepareHinkal.mjs +41 -60
- package/functions/utils/token-check.utils.cjs +1 -1
- package/functions/utils/token-check.utils.d.ts +3 -0
- package/functions/utils/token-check.utils.mjs +18 -7
- package/functions/utils/upToDateState.cjs +1 -1
- package/functions/utils/upToDateState.d.ts +1 -1
- package/functions/utils/upToDateState.mjs +4 -4
- package/functions/utils/walletBalances.utils.cjs +1 -1
- package/functions/utils/walletBalances.utils.d.ts +1 -16
- package/functions/utils/walletBalances.utils.mjs +4 -35
- package/functions/web3/events/getApprovedBalance.cjs +1 -1
- package/functions/web3/events/getApprovedBalance.d.ts +3 -4
- package/functions/web3/events/getApprovedBalance.mjs +39 -44
- package/functions/web3/events/getInputUtxoAndBalance.cjs +1 -1
- package/functions/web3/events/getInputUtxoAndBalance.d.ts +1 -1
- package/functions/web3/events/getInputUtxoAndBalance.mjs +114 -121
- package/functions/web3/events/getInputUtxosEnclave.d.ts +1 -1
- package/functions/web3/events/getShieldedBalance.cjs +2 -2
- package/functions/web3/events/getShieldedBalance.d.ts +1 -1
- package/functions/web3/events/getShieldedBalance.mjs +71 -70
- package/functions/web3/events/getTransactionLogEvents.cjs +1 -1
- package/functions/web3/events/getTransactionLogEvents.mjs +7 -7
- package/functions/web3/fetchSolanaMerkleTreeRootHash.cjs +1 -1
- package/functions/web3/fetchSolanaMerkleTreeRootHash.mjs +7 -7
- package/functions/web3/functionCalls/accessTokenCalls.cjs +1 -1
- package/functions/web3/functionCalls/accessTokenCalls.d.ts +1 -6
- package/functions/web3/functionCalls/accessTokenCalls.mjs +12 -21
- package/functions/web3/functionCalls/approveToken.cjs +1 -1
- package/functions/web3/functionCalls/approveToken.d.ts +1 -1
- package/functions/web3/functionCalls/approveToken.mjs +71 -63
- package/functions/web3/functionCalls/approveTokensToHinkal.cjs +1 -1
- package/functions/web3/functionCalls/approveTokensToHinkal.d.ts +1 -1
- package/functions/web3/functionCalls/approveTokensToHinkal.mjs +6 -6
- package/functions/web3/functionCalls/estimateGasRelayer.cjs +1 -1
- package/functions/web3/functionCalls/estimateGasRelayer.d.ts +1 -2
- package/functions/web3/functionCalls/estimateGasRelayer.mjs +10 -10
- package/functions/web3/functionCalls/recoverTransactionFromError.cjs +1 -0
- package/functions/web3/functionCalls/recoverTransactionFromError.d.ts +2 -0
- package/functions/web3/functionCalls/recoverTransactionFromError.mjs +23 -0
- package/functions/web3/functionCalls/transactCallDirect.cjs +1 -1
- package/functions/web3/functionCalls/transactCallDirect.d.ts +1 -1
- package/functions/web3/functionCalls/transactCallDirect.mjs +45 -36
- package/functions/web3/functionCalls/transactCallRelayer.cjs +1 -1
- package/functions/web3/functionCalls/transactCallRelayer.d.ts +1 -1
- package/functions/web3/functionCalls/transactCallRelayer.mjs +44 -43
- package/functions/web3/getPublicAddressBalance.cjs +1 -1
- package/functions/web3/getPublicAddressBalance.d.ts +1 -1
- package/functions/web3/getPublicAddressBalance.mjs +6 -6
- package/functions/web3/getTokenHolder.cjs +1 -1
- package/functions/web3/getTokenHolder.mjs +8 -8
- package/functions/web3/lifiAPI.cjs +1 -1
- package/functions/web3/lifiAPI.d.ts +1 -1
- package/functions/web3/lifiAPI.mjs +12 -12
- package/functions/web3/odosAPI.cjs +1 -1
- package/functions/web3/odosAPI.mjs +6 -19
- package/functions/web3/okxAPI.cjs +1 -1
- package/functions/web3/okxAPI.mjs +22 -22
- package/functions/web3/oneInchAPI.cjs +1 -1
- package/functions/web3/oneInchAPI.mjs +7 -20
- package/functions/web3/runContractFunction.cjs +1 -1
- package/functions/web3/runContractFunction.mjs +38 -56
- package/functions/web3/uniswapAPI.cjs +1 -1
- package/functions/web3/uniswapAPI.mjs +22 -34
- package/index.cjs +1 -1
- package/index.mjs +937 -967
- package/package.json +2 -2
- package/providers/EthersProviderAdapter.cjs +1 -1
- package/providers/EthersProviderAdapter.d.ts +10 -17
- package/providers/EthersProviderAdapter.mjs +48 -76
- package/providers/SolanaProviderAdapter.cjs +1 -1
- package/providers/SolanaProviderAdapter.d.ts +7 -11
- package/providers/SolanaProviderAdapter.mjs +16 -31
- package/providers/WagmiProviderAdapter.cjs +1 -1
- package/providers/WagmiProviderAdapter.d.ts +11 -17
- package/providers/WagmiProviderAdapter.mjs +86 -117
- package/providers/prepareEthersHinkal.cjs +1 -1
- package/providers/prepareEthersHinkal.mjs +6 -7
- package/providers/prepareWagmiHinkal.cjs +1 -1
- package/providers/prepareWagmiHinkal.mjs +5 -5
- package/types/TransactionSimulator.types.d.ts +2 -9
- package/types/admin.types.cjs +1 -1
- package/types/admin.types.d.ts +3 -7
- package/types/admin.types.mjs +2 -2
- package/types/balances.types.d.ts +0 -1
- package/types/cache.types.cjs +1 -1
- package/types/cache.types.d.ts +2 -3
- package/types/cache.types.mjs +1 -1
- package/types/coingecko.types.d.ts +5 -0
- package/types/ethereum-network.types.cjs +1 -1
- package/types/ethereum-network.types.d.ts +1 -8
- package/types/ethereum-network.types.mjs +1 -1
- package/types/external-action.types.cjs +1 -1
- package/types/external-action.types.d.ts +0 -1
- package/types/external-action.types.mjs +1 -1
- package/types/hinkal.types.cjs +1 -1
- package/types/hinkal.types.d.ts +1 -7
- package/types/hinkal.types.mjs +22 -23
- package/types/index.d.ts +1 -3
- package/types/onramp.types.cjs +1 -0
- package/types/onramp.types.d.ts +58 -0
- package/types/onramp.types.mjs +4 -0
- package/types/proxy.types.d.ts +1 -0
- package/types/sandbox.types.cjs +1 -1
- package/types/sandbox.types.d.ts +8 -39
- package/types/sandbox.types.mjs +2 -2
- package/types/session.types.d.ts +2 -0
- package/types/solana.types.d.ts +3 -0
- package/types/token-prices.types.cjs +1 -1
- package/types/token-prices.types.d.ts +7 -0
- package/types/token-prices.types.mjs +4 -2
- package/types/transactions.types.cjs +1 -1
- package/types/transactions.types.d.ts +6 -4
- package/types/transactions.types.mjs +4 -3
- package/webworker/snarkjsWorker/snarkjsWorkerLauncher.cjs +1 -1
- package/webworker/snarkjsWorker/snarkjsWorkerLauncher.mjs +1 -1
- package/webworker/utxoWorker/utxoWorkerLauncher.cjs +1 -1
- package/webworker/utxoWorker/utxoWorkerLauncher.mjs +1 -1
- package/webworker/zkProofWorker/zkProofWorkerLauncher.cjs +1 -1
- package/webworker/zkProofWorker/zkProofWorkerLauncher.mjs +1 -1
- package/API/ai-calls.cjs +0 -1
- package/API/ai-calls.d.ts +0 -17
- package/API/ai-calls.mjs +0 -21
- package/API/duneAPI.cjs +0 -1
- package/API/duneAPI.d.ts +0 -11
- package/API/duneAPI.mjs +0 -25
- package/API/getBridgeProtocols.cjs +0 -1
- package/API/getBridgeProtocols.d.ts +0 -7
- package/API/getBridgeProtocols.mjs +0 -8
- package/API/getLifiStatus.cjs +0 -1
- package/API/getLifiStatus.d.ts +0 -24
- package/API/getLifiStatus.mjs +0 -15
- package/API/getRelayerURL.cjs +0 -1
- package/API/getRelayerURL.d.ts +0 -1
- package/API/getRelayerURL.mjs +0 -10
- package/API/passwordCalls.cjs +0 -1
- package/API/passwordCalls.d.ts +0 -9
- package/API/passwordCalls.mjs +0 -13
- package/API/restoreSnapshots.cjs +0 -1
- package/API/restoreSnapshots.d.ts +0 -1
- package/API/restoreSnapshots.mjs +0 -10
- package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.cjs +0 -1
- package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.d.ts +0 -7
- package/data-structures/Hinkal/hinkalActionFundApproveAndTransact.mjs +0 -42
- package/data-structures/Hinkal/hinkalActionStake.d.ts +0 -3
- package/data-structures/Hinkal/hinkalApprove.cjs +0 -1
- package/data-structures/Hinkal/hinkalApprove.d.ts +0 -3
- package/data-structures/Hinkal/hinkalApprove.mjs +0 -115
- package/data-structures/Hinkal/hinkalInsideTransact.cjs +0 -1
- package/data-structures/Hinkal/hinkalInsideTransact.d.ts +0 -4
- package/data-structures/Hinkal/hinkalInsideTransact.mjs +0 -121
- package/error-handling/handleErrorRestore.cjs +0 -1
- package/error-handling/handleErrorRestore.d.ts +0 -2
- package/error-handling/handleErrorRestore.mjs +0 -11
- package/functions/staking/index.cjs +0 -1
- package/functions/staking/index.d.ts +0 -11
- package/functions/staking/index.mjs +0 -42
- package/functions/utils/replaceAddressInCalldata.cjs +0 -1
- package/functions/utils/replaceAddressInCalldata.d.ts +0 -1
- package/functions/utils/replaceAddressInCalldata.mjs +0 -7
- package/functions/web3/functionCalls/inHinkalApprovalCalls.cjs +0 -1
- package/functions/web3/functionCalls/inHinkalApprovalCalls.d.ts +0 -5
- package/functions/web3/functionCalls/inHinkalApprovalCalls.mjs +0 -32
- package/types/bridging.types.d.ts +0 -29
- package/types/duneAPI.types.d.ts +0 -9
- package/types/hinkal.stake.types.cjs +0 -1
- package/types/hinkal.stake.types.d.ts +0 -11
- package/types/hinkal.stake.types.mjs +0 -4
|
@@ -1,4 +1,3 @@
|
|
|
1
1
|
import { SubAccount } from '../../types/proxy.types';
|
|
2
2
|
import { type TypedData } from '../../types/circom-data.types';
|
|
3
|
-
|
|
4
|
-
export declare const hinkalSignSubAccount: (hinkal: IHinkal, messageToSign: string | undefined, typedData: TypedData | undefined, subAccount: SubAccount) => Promise<string>;
|
|
3
|
+
export declare const hinkalSignSubAccount: (chainId: number, messageToSign: string | undefined, typedData: TypedData | undefined, subAccount: SubAccount) => Promise<string>;
|
|
@@ -1,22 +1,21 @@
|
|
|
1
|
-
import { UserKeys as
|
|
2
|
-
const
|
|
3
|
-
const a = o.getCurrentChainId();
|
|
1
|
+
import { UserKeys as o } from "../crypto-keys/keys.mjs";
|
|
2
|
+
const n = async (i, t, e, a) => {
|
|
4
3
|
let r;
|
|
5
4
|
if (e)
|
|
6
|
-
r = await
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
r = await o.signTypedDataFromPrivateKey(
|
|
6
|
+
i,
|
|
7
|
+
a.privateKey,
|
|
9
8
|
e.domain,
|
|
10
9
|
e.types,
|
|
11
10
|
e.value
|
|
12
11
|
);
|
|
13
12
|
else {
|
|
14
|
-
if (!
|
|
13
|
+
if (!t)
|
|
15
14
|
throw Error("dataHash must be provided if typedData is not provided");
|
|
16
|
-
r = await
|
|
15
|
+
r = await o.signMessageFromPrivateKey(i, a.privateKey, t);
|
|
17
16
|
}
|
|
18
17
|
return r;
|
|
19
18
|
};
|
|
20
19
|
export {
|
|
21
|
-
|
|
20
|
+
n as hinkalSignSubAccount
|
|
22
21
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const V=require("../utxo/Utxo.cjs"),M=require("../../functions/utils/solanaMint.utils.cjs"),z=require("../../functions/web3/etherFunctions.cjs"),N=require("../../constants/chains.constants.cjs"),K=require("../../constants/protocol.constants.cjs"),d=require("@solana/web3.js"),_=require("../../functions/snarkjs/common.snarkjs.cjs"),G=require("@coral-xyz/anchor"),E=require("../../functions/utils/addresses.cjs"),H=require("../../error-handling/error-codes.constants.cjs"),i=require("../../functions/pre-transaction/solana.cjs");require("../../API/getServerURL.cjs");require("axios");require("../../constants/coingecko.constants.cjs");require("../../constants/server.constants.cjs");require("../http/HttpClient.cjs");const L=require("../../API/API.cjs");require("../../API/tenderly.api.cjs");require("../../constants/token-data/index.cjs");require("../../constants/contracts.constants.cjs");require("../../constants/kyc.constants.cjs");require("../../constants/vite.constants.cjs");require("../../constants/reorg-depths.constants.cjs");require("../../constants/addresses.constants.cjs");require("../../constants/token.limits.constants.cjs");require("../../constants/presale.constants.cjs");require("../../constants/activity.constants.cjs");require("../../constants/tasks.constants.cjs");require("../../constants/events.constants.cjs");const B=require("./hinkalCheckSolanaTokenRegistry.cjs"),O=require("../../functions/web3/signAndSendSerializedTransaction.cjs"),x=require("../../functions/utils/token-check.utils.cjs"),F=async(e,r,a,n)=>{const o=x.validateAndGetChainId([a]),c=a.erc20TokenAddress,{hinkalIdl:m,hinkalAddress:y,originalDeployer:g}=N.networkRegistry[o].contractData;if(!m)throw new Error("No IDL configured for Solana program on this network");if(!g)throw new Error("missing original deployer");const l=e.getSolanaProgram(m),D=e.getSolanaPublicKey(),t=new d.PublicKey(g),S=new d.PublicKey(y),{mintPublicKey:s}=M.formatMintAddress(c),u=s.toString(),h=i.getStorageAccountPublicKey(S,t),P=i.getStorageVaultPublicKey(S,t),f=i.getMerkleAccountPublicKey(S,t),p=i.buildAnchorStealthAddressStructure(n);if(await B.hinkalCheckSolanaTokenRegistry(l,new d.PublicKey(t),[c],[r])){const{serializedTransaction:q,blockhash:T,lastValidBlockHeight:I}=await L.API.generateProoflessDepositLimitless({amount:r.toString(),payer:e.getSolanaPublicKey().toBase58(),ethereumAddress:await e.getEthereumAddress(),mint:c,stealthAddressStructure:p,chainId:o}),{wallet:b}=l.provider;if(!b)throw new Error("missing wallet");return O.signAndSendSerializedTransaction(l.provider,q,T,I)}const k=i.getTokenLimitStorageAccountPublicKey(l.programId,t,s),v=u===K.solanaNativeAddress?null:s,w=u===K.solanaNativeAddress?null:void 0;return l.methods.prooflessDeposit(new G.BN(r.toString()),p).accounts({mint:v,signer:D,signerAta:w,originalDeployer:t,storageAccount:h,storageVault:P,merkleAccount:f,tokenLimitStorage:k,storageVaultAta:w,accessTokenOwner:null}).rpc()},$=async(e,r,a)=>{const n=e.userKeys.getShieldedPrivateKey(),o=V.Utxo.findCorrectRandomization(z.randomBigInt(31),n),c=_.calcStealthAddressStructure(o,n);return F(e,r,a,c)},J=async(e,r,a,n)=>{if(!E.isValidPrivateAddress(n))throw Error(H.transactionErrorCodes.RECIPIENT_FORMAT_INCORRECT);const o=E.constructStealthAddressStructure(n);return F(e,r,a,o)},Q=async(e,r,a)=>{const n=x.validateAndGetChainId([a]),o=a.erc20TokenAddress,{hinkalIdl:c,hinkalAddress:m,originalDeployer:y}=N.networkRegistry[n].contractData;if(!c)throw new Error("No IDL configured for Solana program on this network");if(!y)throw new Error("missing original deployer");const g=e.userKeys.getShieldedPrivateKey(),l=V.Utxo.findCorrectRandomization(z.randomBigInt(31),g),D=_.calcStealthAddressStructure(l,g),t=e.getSolanaProgram(c),S=e.getSolanaPublicKey(),s=new d.PublicKey(y),u=new d.PublicKey(m),{mintPublicKey:h}=M.formatMintAddress(o),P=h.toString(),f=i.getStorageAccountPublicKey(u,s),p=i.getStorageVaultPublicKey(u,s),C=i.getMerkleAccountPublicKey(u,s),k=i.buildAnchorStealthAddressStructure(D),v=r.reduce((A,R)=>A+R,0n),w=await B.hinkalCheckSolanaTokenRegistry(t,new d.PublicKey(s),[o],[v]),q=r.map(A=>`${A}`);if(w){const{serializedTransaction:A,blockhash:R,lastValidBlockHeight:j}=await L.API.generateMultiPaymentDepositLimitless({amounts:q,payer:e.getSolanaPublicKey().toBase58(),ethereumAddress:await e.getEthereumAddress(),mint:o,stealthAddressStructure:k,chainId:n}),{wallet:U}=t.provider;if(!U)throw new Error("missing wallet");return O.signAndSendSerializedTransaction(t.provider,A,R,j)}const T=i.getTokenLimitStorageAccountPublicKey(t.programId,s,h),I=P===K.solanaNativeAddress?null:h,b=P===K.solanaNativeAddress?null:void 0;return t.methods.multiPaymentDeposit(q,k).accounts({mint:I,signer:S,signerAta:b,originalDeployer:s,storageAccount:f,storageVault:p,merkleAccount:C,tokenLimitStorage:T,storageVaultAta:b,accessTokenOwner:null}).rpc()};exports.hinkalSolanaDeposit=$;exports.hinkalSolanaDepositForOther=J;exports.hinkalSolanaMultiPaymentDeposit=Q;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { IHinkal } from './IHinkal';
|
|
2
|
-
|
|
3
|
-
export declare const
|
|
4
|
-
export declare const
|
|
2
|
+
import { ERC20Token } from '../../types/token.types';
|
|
3
|
+
export declare const hinkalSolanaDeposit: (hinkal: IHinkal, amount: bigint, token: ERC20Token) => Promise<string>;
|
|
4
|
+
export declare const hinkalSolanaDepositForOther: (hinkal: IHinkal, amount: bigint, token: ERC20Token, recipientInfo: string) => Promise<string>;
|
|
5
|
+
export declare const hinkalSolanaMultiPaymentDeposit: (hinkal: IHinkal, amounts: bigint[], token: ERC20Token) => Promise<string>;
|
|
@@ -1,24 +1,25 @@
|
|
|
1
|
-
import { Utxo as
|
|
2
|
-
import { formatMintAddress as
|
|
3
|
-
import { randomBigInt as
|
|
4
|
-
import { networkRegistry as
|
|
5
|
-
import { solanaNativeAddress as
|
|
6
|
-
import { PublicKey as
|
|
7
|
-
import { calcStealthAddressStructure as
|
|
8
|
-
import { BN as
|
|
9
|
-
import { isValidPrivateAddress as
|
|
10
|
-
import { transactionErrorCodes as
|
|
11
|
-
import { getStorageAccountPublicKey as
|
|
1
|
+
import { Utxo as V } from "../utxo/Utxo.mjs";
|
|
2
|
+
import { formatMintAddress as C } from "../../functions/utils/solanaMint.utils.mjs";
|
|
3
|
+
import { randomBigInt as z } from "../../functions/web3/etherFunctions.mjs";
|
|
4
|
+
import { networkRegistry as L } from "../../constants/chains.constants.mjs";
|
|
5
|
+
import { solanaNativeAddress as K } from "../../constants/protocol.constants.mjs";
|
|
6
|
+
import { PublicKey as d } from "@solana/web3.js";
|
|
7
|
+
import { calcStealthAddressStructure as B } from "../../functions/snarkjs/common.snarkjs.mjs";
|
|
8
|
+
import { BN as J } from "@coral-xyz/anchor";
|
|
9
|
+
import { isValidPrivateAddress as Q, constructStealthAddressStructure as W } from "../../functions/utils/addresses.mjs";
|
|
10
|
+
import { transactionErrorCodes as X } from "../../error-handling/error-codes.constants.mjs";
|
|
11
|
+
import { getStorageAccountPublicKey as N, getStorageVaultPublicKey as M, getMerkleAccountPublicKey as O, buildAnchorStealthAddressStructure as x, getTokenLimitStorageAccountPublicKey as q } from "../../functions/pre-transaction/solana.mjs";
|
|
12
12
|
import "../../API/getServerURL.mjs";
|
|
13
13
|
import "axios";
|
|
14
14
|
import "../../constants/coingecko.constants.mjs";
|
|
15
15
|
import "../../constants/server.constants.mjs";
|
|
16
16
|
import "../http/HttpClient.mjs";
|
|
17
|
-
import "../../
|
|
18
|
-
import
|
|
17
|
+
import { API as F } from "../../API/API.mjs";
|
|
18
|
+
import "../../API/tenderly.api.mjs";
|
|
19
19
|
import "../../constants/token-data/index.mjs";
|
|
20
20
|
import "../../constants/contracts.constants.mjs";
|
|
21
21
|
import "../../constants/kyc.constants.mjs";
|
|
22
|
+
import "../../constants/vite.constants.mjs";
|
|
22
23
|
import "../../constants/reorg-depths.constants.mjs";
|
|
23
24
|
import "../../constants/addresses.constants.mjs";
|
|
24
25
|
import "../../constants/token.limits.constants.mjs";
|
|
@@ -26,108 +27,96 @@ import "../../constants/presale.constants.mjs";
|
|
|
26
27
|
import "../../constants/activity.constants.mjs";
|
|
27
28
|
import "../../constants/tasks.constants.mjs";
|
|
28
29
|
import "../../constants/events.constants.mjs";
|
|
29
|
-
import "
|
|
30
|
-
import {
|
|
31
|
-
import {
|
|
32
|
-
const
|
|
33
|
-
const {
|
|
34
|
-
|
|
35
|
-
hinkalAddress: c,
|
|
36
|
-
originalDeployer: d
|
|
37
|
-
} = z[t.getCurrentChainId()].contractData;
|
|
38
|
-
if (!s)
|
|
30
|
+
import { hinkalCheckSolanaTokenRegistry as H } from "./hinkalCheckSolanaTokenRegistry.mjs";
|
|
31
|
+
import { signAndSendSerializedTransaction as _ } from "../../functions/web3/signAndSendSerializedTransaction.mjs";
|
|
32
|
+
import { validateAndGetChainId as G } from "../../functions/utils/token-check.utils.mjs";
|
|
33
|
+
const U = async (t, o, s, e) => {
|
|
34
|
+
const n = G([s]), a = s.erc20TokenAddress, { hinkalIdl: h, hinkalAddress: S, originalDeployer: m } = L[n].contractData;
|
|
35
|
+
if (!h)
|
|
39
36
|
throw new Error("No IDL configured for Solana program on this network");
|
|
40
|
-
if (!
|
|
37
|
+
if (!m)
|
|
41
38
|
throw new Error("missing original deployer");
|
|
42
|
-
const
|
|
43
|
-
if (await
|
|
44
|
-
|
|
45
|
-
new
|
|
46
|
-
[
|
|
47
|
-
[
|
|
39
|
+
const c = t.getSolanaProgram(h), D = t.getSolanaPublicKey(), r = new d(m), u = new d(S), { mintPublicKey: i } = C(a), l = i.toString(), g = N(u, r), A = M(u, r), b = O(u, r), y = x(e);
|
|
40
|
+
if (await H(
|
|
41
|
+
c,
|
|
42
|
+
new d(r),
|
|
43
|
+
[a],
|
|
44
|
+
[o]
|
|
48
45
|
)) {
|
|
49
|
-
const { serializedTransaction:
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
), { wallet: A } = a.provider;
|
|
59
|
-
if (!A)
|
|
46
|
+
const { serializedTransaction: P, blockhash: E, lastValidBlockHeight: I } = await F.generateProoflessDepositLimitless({
|
|
47
|
+
amount: o.toString(),
|
|
48
|
+
payer: t.getSolanaPublicKey().toBase58(),
|
|
49
|
+
ethereumAddress: await t.getEthereumAddress(),
|
|
50
|
+
mint: a,
|
|
51
|
+
stealthAddressStructure: y,
|
|
52
|
+
chainId: n
|
|
53
|
+
}), { wallet: k } = c.provider;
|
|
54
|
+
if (!k)
|
|
60
55
|
throw new Error("missing wallet");
|
|
61
|
-
return
|
|
56
|
+
return _(c.provider, P, E, I);
|
|
62
57
|
}
|
|
63
|
-
const
|
|
64
|
-
return
|
|
65
|
-
mint:
|
|
66
|
-
signer:
|
|
67
|
-
signerAta:
|
|
58
|
+
const w = q(c.programId, r, i), v = l === K ? null : i, f = l === K ? null : void 0;
|
|
59
|
+
return c.methods.prooflessDeposit(new J(o.toString()), y).accounts({
|
|
60
|
+
mint: v,
|
|
61
|
+
signer: D,
|
|
62
|
+
signerAta: f,
|
|
68
63
|
originalDeployer: r,
|
|
69
64
|
storageAccount: g,
|
|
70
|
-
storageVault:
|
|
71
|
-
merkleAccount:
|
|
72
|
-
tokenLimitStorage:
|
|
73
|
-
storageVaultAta:
|
|
65
|
+
storageVault: A,
|
|
66
|
+
merkleAccount: b,
|
|
67
|
+
tokenLimitStorage: w,
|
|
68
|
+
storageVaultAta: f,
|
|
74
69
|
accessTokenOwner: null
|
|
75
70
|
}).rpc();
|
|
76
|
-
},
|
|
77
|
-
const
|
|
78
|
-
return
|
|
79
|
-
},
|
|
80
|
-
if (!
|
|
81
|
-
throw Error(
|
|
82
|
-
const
|
|
83
|
-
return
|
|
84
|
-
},
|
|
85
|
-
const {
|
|
86
|
-
|
|
87
|
-
hinkalAddress: s,
|
|
88
|
-
originalDeployer: c
|
|
89
|
-
} = z[t.getCurrentChainId()].contractData;
|
|
90
|
-
if (!n)
|
|
71
|
+
}, Tt = async (t, o, s) => {
|
|
72
|
+
const e = t.userKeys.getShieldedPrivateKey(), n = V.findCorrectRandomization(z(31), e), a = B(n, e);
|
|
73
|
+
return U(t, o, s, a);
|
|
74
|
+
}, Vt = async (t, o, s, e) => {
|
|
75
|
+
if (!Q(e))
|
|
76
|
+
throw Error(X.RECIPIENT_FORMAT_INCORRECT);
|
|
77
|
+
const n = W(e);
|
|
78
|
+
return U(t, o, s, n);
|
|
79
|
+
}, Ct = async (t, o, s) => {
|
|
80
|
+
const e = G([s]), n = s.erc20TokenAddress, { hinkalIdl: a, hinkalAddress: h, originalDeployer: S } = L[e].contractData;
|
|
81
|
+
if (!a)
|
|
91
82
|
throw new Error("No IDL configured for Solana program on this network");
|
|
92
|
-
if (!
|
|
83
|
+
if (!S)
|
|
93
84
|
throw new Error("missing original deployer");
|
|
94
|
-
const
|
|
85
|
+
const m = t.userKeys.getShieldedPrivateKey(), c = V.findCorrectRandomization(z(31), m), D = B(c, m), r = t.getSolanaProgram(a), u = t.getSolanaPublicKey(), i = new d(S), l = new d(h), { mintPublicKey: g } = C(n), A = g.toString(), b = N(l, i), y = M(l, i), T = O(l, i), w = x(D), v = o.reduce((p, R) => p + R, 0n), f = await H(
|
|
95
86
|
r,
|
|
96
|
-
new
|
|
97
|
-
[
|
|
98
|
-
[
|
|
99
|
-
),
|
|
100
|
-
if (
|
|
101
|
-
const { serializedTransaction: p, blockhash: R, lastValidBlockHeight:
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
), { wallet: $ } = r.provider;
|
|
111
|
-
if (!$)
|
|
87
|
+
new d(i),
|
|
88
|
+
[n],
|
|
89
|
+
[v]
|
|
90
|
+
), P = o.map((p) => `${p}`);
|
|
91
|
+
if (f) {
|
|
92
|
+
const { serializedTransaction: p, blockhash: R, lastValidBlockHeight: $ } = await F.generateMultiPaymentDepositLimitless({
|
|
93
|
+
amounts: P,
|
|
94
|
+
payer: t.getSolanaPublicKey().toBase58(),
|
|
95
|
+
ethereumAddress: await t.getEthereumAddress(),
|
|
96
|
+
mint: n,
|
|
97
|
+
stealthAddressStructure: w,
|
|
98
|
+
chainId: e
|
|
99
|
+
}), { wallet: j } = r.provider;
|
|
100
|
+
if (!j)
|
|
112
101
|
throw new Error("missing wallet");
|
|
113
|
-
return
|
|
102
|
+
return _(r.provider, p, R, $);
|
|
114
103
|
}
|
|
115
|
-
const
|
|
116
|
-
return r.methods.multiPaymentDeposit(
|
|
117
|
-
mint:
|
|
104
|
+
const E = q(r.programId, i, g), I = A === K ? null : g, k = A === K ? null : void 0;
|
|
105
|
+
return r.methods.multiPaymentDeposit(P, w).accounts({
|
|
106
|
+
mint: I,
|
|
118
107
|
signer: u,
|
|
119
|
-
signerAta:
|
|
108
|
+
signerAta: k,
|
|
120
109
|
originalDeployer: i,
|
|
121
|
-
storageAccount:
|
|
122
|
-
storageVault:
|
|
123
|
-
merkleAccount:
|
|
124
|
-
tokenLimitStorage:
|
|
125
|
-
storageVaultAta:
|
|
110
|
+
storageAccount: b,
|
|
111
|
+
storageVault: y,
|
|
112
|
+
merkleAccount: T,
|
|
113
|
+
tokenLimitStorage: E,
|
|
114
|
+
storageVaultAta: k,
|
|
126
115
|
accessTokenOwner: null
|
|
127
116
|
}).rpc();
|
|
128
117
|
};
|
|
129
118
|
export {
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
119
|
+
Tt as hinkalSolanaDeposit,
|
|
120
|
+
Vt as hinkalSolanaDepositForOther,
|
|
121
|
+
Ct as hinkalSolanaMultiPaymentDeposit
|
|
133
122
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const V=require("../../functions/web3/etherFunctions.cjs"),F=require("../utxo/Utxo.cjs"),W=require("../../error-handling/error-codes.constants.cjs"),$=require("ethers");require("idb-keyval");const L=require("../../constants/chains.constants.cjs");require("../crypto-keys/keys.cjs");require("node-forge");require("../../constants/vite.constants.cjs");require("libsodium-wrappers");require("../http/HttpClient.cjs");require("axios");const M=require("../../functions/utils/solanaMint.utils.cjs"),z=require("@solana/web3.js"),Z=require("../../functions/utils/addresses.cjs");require("../../constants/server.constants.cjs");require("../../API/getServerURL.cjs");require("../../constants/token-data/index.cjs");const B=require("../../constants/protocol.constants.cjs"),G=require("../../API/API.cjs"),X=require("../../functions/utils/token-check.utils.cjs");require("async-mutex");require("../../types/circom-data.types.cjs");const Y=require("../../types/external-action.types.cjs");require("../../types/transactions.types.cjs");require("../../types/activities.types.cjs");require("../../functions/web3/events/getApprovedBalance.cjs");require("../../constants/contracts.constants.cjs");require("../../constants/kyc.constants.cjs");require("../../constants/coingecko.constants.cjs");require("../../constants/reorg-depths.constants.cjs");require("../../constants/addresses.constants.cjs");require("../../constants/token.limits.constants.cjs");require("../../constants/presale.constants.cjs");require("../../constants/activity.constants.cjs");require("../../constants/tasks.constants.cjs");require("../../constants/events.constants.cjs");require("../../functions/utils/convertIntegrationProviderToExternalActionId.cjs");const x=require("../../functions/pre-transaction/solana.cjs");require("@solana/spl-token");const J=require("@coral-xyz/anchor");require("../../functions/utils/userAgent.cjs");const Q=require("../../functions/utils/time.utils.cjs");require("circomlibjs-hinkal-fork");require("multiformats");require("../../API/tenderly.api.cjs");require("process");require("buffer");require("../../providers/EthersProviderAdapter.cjs");const ee=require("../../functions/utils/fees.utils.cjs");require("../../functions/web3/getTokenHolder.cjs");const te=require("../../functions/web3/signAndSendSerializedTransaction.cjs"),H=require("../../functions/snarkjs/common.snarkjs.cjs"),re=require("./hinkalCheckSolanaTokenRegistry.cjs"),oe=require("../../functions/utils/getUtxosFromReceiptSolana.cjs"),ne=require("../../functions/snarkjs/constructSolanaZkProof.cjs"),se=require("../../functions/web3/functionCalls/transactCallRelayer.cjs"),ie=require("../../functions/pre-transaction/getFeeStructure.cjs"),ae=async(e,t,q,l,d,A)=>{const i=q.erc20TokenAddress,n=l.map(r=>r+ee.calculateTotalFee(r,A)),{hinkalIdl:m,hinkalAddress:g,originalDeployer:h}=L.networkRegistry[t].contractData;if(!m)throw new Error("No IDL configured for Solana program on this network");if(!h)throw new Error("missing original deployer");const y=e.userKeys.getShieldedPrivateKey(),C=F.Utxo.findCorrectRandomization(V.randomBigInt(31),y),K=H.calcStealthAddressStructure(C,y),o=e.getSolanaProgram(m),I=e.getSolanaPublicKey(),s=new z.PublicKey(h),w=new z.PublicKey(g),{mintPublicKey:S}=M.formatMintAddress(i),f=S.toString(),U=x.getStorageAccountPublicKey(w,s),D=x.getStorageVaultPublicKey(w,s),R=x.getMerkleAccountPublicKey(w,s),P=x.buildAnchorStealthAddressStructure(K),k=n.reduce((r,a)=>r+a,0n),_=await re.hinkalCheckSolanaTokenRegistry(o,new z.PublicKey(s),[i],[k]),b=n.map(r=>`${r}`);let p="";if(_){const{serializedTransaction:r,blockhash:a,lastValidBlockHeight:c}=await G.API.generateMultiPaymentDepositLimitless({amounts:b,payer:e.getSolanaPublicKey().toBase58(),ethereumAddress:await e.getEthereumAddress(),mint:i,stealthAddressStructure:P,chainId:t}),{wallet:u}=o.provider;if(!u)throw new Error("missing wallet");p=await te.signAndSendSerializedTransaction(o.provider,r,a,c)}else{const r=x.getTokenLimitStorageAccountPublicKey(o.programId,s,S),a=f===B.solanaNativeAddress?null:S,c=f===B.solanaNativeAddress?null:void 0;p=await o.methods.multiPaymentDeposit(b.map(O=>new J.BN(O)),P).accounts({mint:a,signer:I,signerAta:c,originalDeployer:s,storageAccount:U,storageVault:D,merkleAccount:R,tokenLimitStorage:r,storageVaultAta:c,accessTokenOwner:null}).rpc();const u=await o.provider.connection.getLatestBlockhash();await o.provider.connection.confirmTransaction({blockhash:u.blockhash,lastValidBlockHeight:u.lastValidBlockHeight,signature:p},"confirmed")}const T=await o.provider.connection.getTransaction(p,{commitment:"confirmed",maxSupportedTransactionVersion:0});if(!T)throw new Error("Transaction missing");const N=oe.getUtxosFromReceiptSolana(T,o,e.userKeys),E=[],v=[...N];return d.forEach((r,a)=>{const c=n[a],u=v.find(j=>j.amount===c);if(!u)throw new Error(`Could not find newly created UTXO with amount ${c} for recipient ${r}.`);E.push({recipientAddress:r,utxo:u});const O=v.indexOf(u);v.splice(O,1)}),E},ce=async(e,t,q,l,d,A,i)=>{const n=q.erc20TokenAddress;if(l.length===0)throw new Error("userDepositedUtxos must not be empty");const{hinkalIdl:m,originalDeployer:g}=L.networkRegistry[t].contractData;if(!g||!m)throw new Error("missing data");const h=e.getSolanaProgram(m),y=await e.getRandomRelay(t,!0);if(!y)throw new Error(W.transactionErrorCodes.RELAYER_NOT_AVAILABLE);const C=Q.getCurrentTimeInSeconds().toString(),K=e.generateProofRemotely?5:1,o=[];for(let s=0;s<l.length;s+=K){const w=l.slice(s,s+K),S=await Promise.all(w.map(async({recipientAddress:f,utxo:U})=>{const{compressedAddress:D}=M.formatMintAddress(B.solanaNativeAddress),R=new F.Utxo({amount:0n,mintAddress:n,erc20TokenAddress:D,shieldedPrivateKey:e.userKeys.getShieldedPrivateKey(),timeStamp:C,tokenId:0}),P=[U,R],k=[R],_=F.Utxo.findCorrectRandomization(V.randomBigInt(31),e.userKeys.getShieldedPrivateKey()),b={tokenNumber:1,nullifierAmount:P.length,outputAmount:k.length},p=H.calcEncryptedOutputs([k])[0][0],T=Array.from($.ethers.utils.arrayify(p)),{proofAArr:N,proofBArr:E,proofCArr:v,publicInputsArr:r}=await ne.constructSolanaZkProof(e.generateProofRemotely,g,e.merkleTreeHinkalByChain[t],e.merkleTreeAccessTokenByChain[t],e.userKeys,h,[n],[P],[k],_,d.flatFee,d.variableRate,f,y,b,[T],t,void 0,void 0,void 0,void 0,void 0,!1),a=n===B.solanaNativeAddress,c={recipient:f,mint:a?void 0:n};return{relayAddress:y,functionName:"transact",chainId:t,args:{proofAArr:N,proofBArr:E,proofCArr:v,publicInputsArr:r,encryptedOutputs:[T],relayerFee:d.flatFee.toString(),dimensions:b},accounts:c}}));o.push(...S)}return await se.solanaTransactCallRelayerBatch(t,o,A,i)},ue=async(e,t,q,l,d,A)=>{const i=X.validateAndGetChainId([t]),n=t.erc20TokenAddress,m=Z.hashEthereumAddress(await e.getEthereumAddress()),g=A??await ie.getFeeStructure(i,n,[n],Y.ExternalActionId.Transact,[],0n),h=await ae(e,i,t,q,l,g);return ce(e,i,t,h,g,m,d)};exports.hinkalSolanaDepositAndWithdraw=ue;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { FeeStructure } from '../../types/hinkal.types';
|
|
2
2
|
import { IHinkal } from './IHinkal';
|
|
3
|
-
|
|
3
|
+
import { ERC20Token } from '../../types/token.types';
|
|
4
|
+
export declare const hinkalSolanaDepositAndWithdraw: (hinkal: IHinkal, token: ERC20Token, recipientAmounts: bigint[], recipientAddresses: string[], txCompletionTime?: number, feeStructureOverride?: FeeStructure) => Promise<string>;
|