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